www.pudn.com > harmonic_wavelet.rar > harwav_win.m, change:2008-05-25,size:1908b
%%%%%%%谐波小波频域加窗算法改进时域定位性能%%%%%%%%%%% clear fs=4000; fn=fs/2;%奈奎斯特频率 dett=1/fs;%采样周期 nx=400;%采样点数 tp=nx*dett;%采样时间长度 detf=1/tp;%频率分辨率 t=0:dett:(nx-1)*dett;%时间向量 f=0:detf:(nx-1)*detf;%频率向量 %%%各种窗函数定义%%%% %x1=1-cos(2*pi*t);%hanning %plot(x1) %hold on %x2=1.08-0.92*cos(2*pi*t);%hamming %plot(x2,'r') %x3=0.84-cos(2*pi*t)+0.16*cos(4*pi*t);%blackman %plot(x3,'g') %%%%%%%%%%%%%%%%%%%%%%%% x=sin(100*pi*t); x(90:170)=0.9*x(90:170); %subplot(411);plot(t,x); fft_x=fft(x); %subplot(412);stem(f,abs(fft_x)); fmin=1000; fmax=2000; m=fmin; n=fmax; p=floor(fmin/detf);%由于软件数据标识的关系,不进行减1操作 q=ceil(fmax/detf); %%%构造谐波小波频域序列采样点%%% c1=zeros(1,p); c2=ones(1,q-p); c3=zeros(1,nx-q); c=[c1,c2,c3]; har_mol=1/((n-m)*2*pi);%谐波小波频域幅值 %%%加窗算法%%% k=0:q-p-1;%窗长q-p个点 w=k/(q-p); win_han=1-cos(2*pi*w);%hanning窗函数 win_ham=1.08-0.92*cos(2*pi*w);%hamming win_black=0.84-cos(2*pi*w)+0.16*cos(4*pi*w);%blackman %%%%hanning窗结果%%%%% harwin_han=har_mol*win_han;%加窗后频域幅值 harfre_han=[c1,harwin_han,c3];%谐波小波频率特性 aw_han=fft_x.*harfre_han;%频域小波系数 a_han=ifft(aw_han); signal_han=real(a_han)*4*pi*(n-m); subplot(411);plot(t,signal_han);% %%%%%hamming窗结果%%%%% harwin_ham=har_mol*win_ham;%加窗后频域幅值 harfre_ham=[c1,harwin_ham,c3]; aw_ham=fft_x.*harfre_ham;%频域小波系数 a_ham=ifft(aw_ham); signal_ham=real(a_ham)*4*pi*(n-m); subplot(412);plot(t,signal_ham);% %%%%blackman窗结果%%%% harwin_black=har_mol*win_black;%加窗后频域幅值 harfre_black=[c1,harwin_black,c3]; aw_black=fft_x.*harfre_black;%频域小波系数 a_black=ifft(aw_black); signal_black=real(a_black)*4*pi*(n-m); subplot(413);plot(t,signal_black);% %%%%不加窗结果%%%%% harfre=har_mol*c; aw=fft_x.*harfre;%频域小波系数 a=ifft(aw); signal=real(a)*4*pi*(n-m); subplot(414);plot(t,signal);%