?? matlab.txt
字號:
其中的數據文件a2550.txt根據自己的仿真需要可以自己添加
%設定分析頻率,分析點數
N=1024;n=0:N-1;fs=5000;
%載入數據
Load d:\matlab7\signalinput\4a\a2550.txt;s=a2550;sdata=(s-mean(s))/std(s,1);
%頻譜分析傅立葉變換
sf=fft(s);msf=abs(sf(1:N/2));
figure(1);
subplot(211);plot(n,s);xlabel('n');
Ylabel('s');
title('原始信號');
k=(0:N/2-1)*fs/N;
subplot(212);plot(k*32/fs,msf);
xlabel('倍頻率');ylabel('幅值');title('magnitude of s');
%對信號進行小波包4尺度分解
T=wpdec(s,4,'db4');
%對小波包分解后的各頻段分別重構
s400=wprcoef(T,[4,0]);
s401=wprcoef(T,[4,1]);
s402=wprcoef(T,[4,2]);
s403=wprcoef(T,[4,3]);
s404=wprcoef(T,[4,4]);
s405=wprcoef(T,[4,5]);
s406=wprcoef(T,[4,6]);
s407=wprcoef(T,[4,7]);
s408=wprcoef(T,[4,8]);
s409=wprcoef(T,[4,9]);
s410=wprcoef(T,[4,10]);
s411=wprcoef(T,[4,11]);
s412=wprcoef(T,[4,12]);華北電力大學碩士學位論文
s413=wprcoef(T,[4,13]);
s414=wprcoef(T,[4,14]);
s415=wprcoef(T,[4,15]);
%求各頻段的能量
s00=sqrt(norm(s400,2));s01=sqrt(norm(s401,2));
s02=sqrt(norm(s402,2));s03=sqrt(norm(s403,2));
s04=sqrt(norm(s404,2));s05=sqrt(norm(s405,2));
s06=sqrt(norm(s406,2));s07=sqrt(norm(s407,2));
s08=sqrt(norm(s408,2));s09=sqrt(norm(s409,2));
s10=sqrt(norm(s410,2));s11=sqrt(norm(s411,2));
s12=sqrt(norm(s412,2));s13=sqrt(norm(s413,2));
s14=sqrt(norm(s414,2));s15=sqrt(norm(s415,2));
ss=[s00,s01,s02,s03,s04,s05,s06,s07,s08,s09,s10,s11,s12,s13,s14,s15]
m=1:16;
figure(2);
bar(m,ss);
xlabel('頻帶');ylabel('頻帶能量');
title('頻帶能量圖');
%各頻段能量歸一化
sss=norm(ss,2);
es00=s00/sss;es01=s01/sss;
es02=s02/sss;es03=s03/sss;
es04=s04/sss;es05=s05/sss;
es06=s06/sss;es07=s07/sss;
es08=s08/sss;es09=s09/sss;
es10=s10/sss;es11=s11/sss;
es12=s12/sss;es13=s13/sss;
es14=s14/sss;es15=s15/sss;
ess=[es00,es01,es02,es03,es04,es05,es06,es07,es08,es09,es10,es11,es12,es13,es14,es15]
figure(3);
plot(m,ess);
xlabel('頻帶');ylabel('頻帶能量百分比');
title('頻帶能量百分比特征圖');
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -