mykaie 发表于 2007-4-9 17:01

求助 fft 画频谱图出错!

load s;
ls=length(s);
%信号的一步小波分解
=dwt(s,'db6');
%由小波系数构造一步近似与细节
A1=upcoef('a',cA1,'db6',1,ls);
D1=upcoef('d',cD1,'db6',1,ls);
%通过小波逆变换重新构造信号
A0=idwt(A1,D1,'db4');
%显示一步近似与细节
figure;
subplot(2,1,1);
plot(A1);title('近似A1');
subplot(2,1,2);
plot(D1);title('细节D1');
%信号的多步小波分解
=wavedec(s,5,'db4');
%
= wenergy(C,L)
%提取近似与细节系数
cA5=appcoef(C,L,'db6',5);
cD5=detcoef(C,L,5);
cD4=detcoef(C,L,4);
cD3=detcoef(C,L,3);
cD2=detcoef(C,L,2);
cD1=detcoef(C,L,1);
%
%重构第五层近似和各层细节
A5=wrcoef('a',C,L,'db6',5);
D5=wrcoef('D',C,L,'db6',5);
D4=wrcoef('D',C,L,'db6',4);
D3=wrcoef('D',C,L,'db6',3);
D2=wrcoef('D',C,L,'db6',2);
D1=wrcoef('D',C,L,'db6',1);
%显示信号多层分解结果
figure;
subplot(3,2,1);plot(A5);title('近似A5');
subplot(3,2,2);plot(D5);title('细节D5');
subplot(3,2,3);plot(D4);title('细节D4');
subplot(3,2,4);plot(D3);title('细节D3');
subplot(3,2,5);plot(D2);title('细节D2');
subplot(3,2,6);plot(D1);title('细节D1');
%由5层小波分解重构信号与原始信号
A0=waverec(C,L,'db6');
%
y=D4+D5;
figure;
subplot(1,1,1);
plot(y);
title('D4 D5重构信号')
%显示重构信号与原始信号
figure;
subplot(2,1,1);plot(A0);title('重构信号A0');
subplot(2,1,2);plot(s);title('原始信号');
%信号除噪
figure;
=ddencmp('den','wv',s);
de_noise=wdencmp('gbl',C,L,'db6',5,thr,sorh,keepapp);
subplot(2,1,1);plot(s);title('原始信号s');
subplot(2,1,2);plot(de_noise);title('除噪后信号');
fft=(s);
fs=100000;
y=hilbert(D5);
ydata=abs(y);
y=y-mean(y);
nfft=1024;
Y=abs(fft(ydata,nfft));
figure;
plot((0:nfft/2-1)/nfft*fs,Y(1:nfft/2));
xlabel('频率 f/Hz');
ylabel('功率谱 P/W');
title('频谱图');

画频谱图的时候提示错误!??? Subscript indices must either be real positive integers or logicals.
怎么办啊?求助高手!!急用!!

[ 本帖最后由 eight 于 2007-4-9 17:06 编辑 ]

eight 发表于 2007-4-9 17:08

原帖由 mykaie 于 2007-4-9 17:01 发表
load s;
ls=length(s);
%信号的一步小波分解
=dwt(s,'db6');
%由小波系数构造一步近似与细节
A1=upcoef('a',cA1,'db6',1,ls);
D1=upcoef('d',cD1,'db6',1,ls);
%通过小波逆变换重新构造信号
A0=idwt(A1 ...


访问数组或矩阵时其索引应该是正整数,你自己调试一下看哪里出问题了

mykaie 发表于 2007-4-9 19:46

求助!!!!急! fft 画频谱图出错!

如果不是正整数怎么办呢?不会改.
:'(
页: [1]
查看完整版本: 求助 fft 画频谱图出错!