clc;/nclear all; /nclose all;/nload('exam_ts.mat');/nx=h_ts_data;/nx_1st=x(1,:);/nx_3rd=x(3,:);/nNdot=length(x_1st);/nfs=max(freq_axis)2;/nNfft=512;/n%1 /n[PXX_1ST,F]=periodogram(x_1st,rectwin(Ndot),Ndot,fs);/n[PXX_3RD,F]=periodogram(x_3rd,rectwin(Ndot),Ndot,fs);/n%2 design a filter/nfcuts=[0.05fs/2 0.1fs/2];/nmags=[0 1];/ndevs=[0.01 0.02];/n%2.1 kasier window/n[Nfilter1,wn,beta,ftype]=kaiserord(fcuts,mags,devs,fs);/nh_kaiser=fir1(Nfilter1,wn,ftype,kaiser(Nfilter1+1,beta),'noscale');/n%2.2 Min-Max design /ndevs=[0.02 0.01];/n[Nfilter2,fpts,mag,wt]=remezord(fcuts,mags,devs,fs);/nb=remez(Nfilter2,fpts,mag,wt);/n%3.filter/ny_1st_ka=filter(h_kaiser,1,x_1st);/ny_1st_re=filter(b,1,x_1st);/ny_3rd_ka=filter(h_kaiser,1,x_3rd);/ny_3rd_re=filter(b,1,x_3rd);/n%3.1 spectrum/n[PXX_Y_1ST_ka,F]=periodogram(y_1st_ka,rectwin(Ndot),Ndot,fs);/n[PXX_Y_1ST_re,F]=periodogram(y_1st_re,rectwin(Ndot),Ndot,fs);/n[PXX_Y_3RD_ka,F]=periodogram(y_3rd_ka,rectwin(Ndot),Ndot,fs);/n[PXX_Y_3RD_re,F]=periodogram(y_3rd_re,rectwin(Ndot),Ndot,fs);/n%3.2 TDFT/nFT_Y_1ST_ka=fftshift(fft(y_1st_ka,Nfft));/nFT_Y_1ST_re=fftshift(fft(y_1st_re,Nfft));/nFT_Y_3RD_ka=fftshift(fft(y_3rd_ka,Nfft));/nFT_Y_3RD_re=fftshift(fft(y_3rd_re,Nfft));/n/nfigure(1)/nplot(freq_axis,10log10(fftshift(PXX_1ST)),'b',freq_axis,10log10(fftshift(PXX_3RD)),'r');/nlegend('spectra of 1st range samples','spectra of 3rd range samples')/ngrid;/nxlabel('frequency(Hz)');/nylabel('power spectrum density(dB)');/nvelocity=150nyquist_velocity/max(freq_axis)/n/nfigure(2)/nfreqz(h_kaiser);/ntitle([num2str(Nfilter1),'th notch filter based on kaiser window'])/n/nfigure(3)/nfreqz(b);/ntitle([num2str(Nfilter2),'th notch filter based on Min-max design'])/n/nfigure(4)/nsubplot(411)/nplot(F,10log10(fftshift(PXX_Y_1ST_ka)),'b',F,10log10(fftshift(PXX_Y_3RD_ka)),'r');/nlegend('spectra of 1st range samples filterd','spectra of 3rd range samples filterd')/ntitle('spectra of 1st and 3rd range samples after kasier filter')/ngrid;/nxlabel('frequency(Hz)');/nylabel('PSD(dB)');/nsubplot(412)/nplot(F,10log10(fftshift(PXX_Y_1ST_re)),'b',F,10log10(fftshift(PXX_Y_3RD_re)),'r');/nlegend('spectra of 1st range samples filterd','spectra of 3rd range samples filterd')/ntitle('spectra of 1st and 3rd range samples after Min-max filter')/ngrid;/nxlabel('frequency(Hz)');/nylabel('PSD(dB)');/n/nsubplot(413)/nplot((-Nfft/2:Nfft/2-1)*fs/Nfft,abs(FT_Y_1ST_ka),'b',(-Nfft/2:Nfft/2-1)*fs/Nfft,abs(FT_Y_3RD_ka),'r');/nlegend('TDFT of 1st range samples filterd','TDFT of 3rd range samples filterd')/ntitle('TDFT of 1st and 3rd range samples after kasier filter')/ngrid;/nxlabel('frequency(Hz)');/nylabel('H(e^{j{/omega}})'); /nsubplot(414)/nplot((-Nfft/2:Nfft/2-1)*fs/Nfft,abs(FT_Y_1ST_re),'b',(-Nfft/2:Nfft/2-1)*fs/Nfft,abs(FT_Y_3RD_re),'r');/nlegend('TDFT of 1st range samples filterd','TDFT of 3rd range samples filterd')/ntitle('TDFT of 1st and 3rd range samples after Min-max filter')/ngrid;/nxlabel('frequency(Hz)');/nylabel('H(e^{j{/omega}})');/n

MATLAB代码修改:矩形窗、Min-Max参数优化

原文地址: https://www.cveoy.top/t/topic/nvLp 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录