- %%%%%谐波小波变换的FFT实现方法%%%%%%%%%%
- clear
- fs=1024;
- dett=1/fs;%采样周期
- nx=512;%采样点数
- tp=nx*dett;%采样时间长度
- t=0:dett:(nx-1)*dett;%时间向量
- detf=1/tp;%频率间隔
- f=0:detf:(nx-1)*detf;%频率向量
- x=2*sin(20*pi*t);
- %c1=ones(1,nx/2-16);
- %c2=0.998*ones(1,nx/2+16);
- %c=[c1,c2];
- %x=x.*c;
- x(96:160)=1.5*x(96:160);
- subplot(411);plot(t,x);
- fft_x=fft(x);
- subplot(412);stem(f,abs(fft_x));
- km=log2(nx)-1;%谐波小波最高分解层为n-2
- for i=1:km
- k=pow2(i-1)+1:pow2(i);
- fft_x1{i}=fft_x(k);
- a{i}=ifft(fft_x1{i});
- end
- [ca,cd]=dwt(x,'db3');
- t1=0:4*dett:(nx-1)*dett;
- subplot(413);stem(t1,abs(a{km}));
- subplot(414);stem(abs(cd));
复制代码 |