資源描述:
《FFT和功率譜估計(jì)》由會(huì)員上傳分享,免費(fèi)在線(xiàn)閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、FFT和功率譜估計(jì)1.用Fourier變換求取信號(hào)的功率譜---周期圖法clf;Fs=1000;N=256;Nfft=256;%數(shù)據(jù)的長(zhǎng)度和FFT所用的數(shù)據(jù)長(zhǎng)度n=0:N-1;t=n/Fs;%采用的時(shí)間序列xn=sin(2*pi*50*t)+2*sin(2*pi*120*t)+randn(1,N);Pxx=10*log10(abs(fft(xn,Nfft).^2)/N);%Fourier振幅譜平方的平均值,并轉(zhuǎn)化為dBf=(0:length(Pxx)-1)*Fs/length(Pxx);%給出頻率序列subplot(2,1,1),plot(f,Pxx);%繪制功率譜曲線(xiàn)xlabel('頻率/
2、Hz');ylabel('功率譜/dB');title('周期圖N=256');gridon;Fs=1000;N=1024;Nfft=1024;%數(shù)據(jù)的長(zhǎng)度和FFT所用的數(shù)據(jù)長(zhǎng)度n=0:N-1;t=n/Fs;%采用的時(shí)間序列xn=sin(2*pi*50*t)+2*sin(2*pi*120*t)+randn(1,N);Pxx=10*log10(abs(fft(xn,Nfft).^2)/N);%Fourier振幅譜平方的平均值,并轉(zhuǎn)化為dBf=(0:length(Pxx)-1)*Fs/length(Pxx);%給出頻率序列subplot(2,1,2),plot(f,Pxx);%繪制功率譜曲線(xiàn)xl
3、abel('頻率/Hz');ylabel('功率譜/dB');title('周期圖N=256');gridon;2.用Fourier變換求取信號(hào)的功率譜---分段周期圖法%思想:把信號(hào)分為重疊或不重疊的小段,對(duì)每小段信號(hào)序列進(jìn)行功率譜估計(jì),然后取平均值作為整個(gè)序列的功率譜clf;Fs=1000;N=1024;Nsec=256;%數(shù)據(jù)的長(zhǎng)度和FFT所用的數(shù)據(jù)長(zhǎng)度n=0:N-1;t=n/Fs;%采用的時(shí)間序列randn('state',0);xn=sin(2*pi*50*t)+2*sin(2*pi*120*t)+randn(1,N);Pxx1=abs(fft(xn(1:256),Nsec).^2
4、)/Nsec;%第一段功率譜Pxx2=abs(fft(xn(257:512),Nsec).^2)/Nsec;%第二段功率譜Pxx3=abs(fft(xn(513:768),Nsec).^2)/Nsec;%第三段功率譜Pxx4=abs(fft(xn(769:1024),Nsec).^2)/Nsec;%第四段功率譜Pxx=10*log10(Pxx1+Pxx2+Pxx3+Pxx4/4);%Fourier振幅譜平方的平均值,并轉(zhuǎn)化為dBf=(0:length(Pxx)-1)*Fs/length(Pxx);%給出頻率序列subplot(2,1,1),plot(f(1:Nsec/2),Pxx(1:Nse
5、c/2));%繪制功率譜曲線(xiàn)xlabel('頻率/Hz');ylabel('功率譜/dB');title('平均周期圖(無(wú)重疊)N=4*256');gridon;%運(yùn)用信號(hào)重疊分段估計(jì)功率譜Pxx1=abs(fft(xn(1:256),Nsec).^2)/Nsec;%第一段功率譜Pxx2=abs(fft(xn(129:384),Nsec).^2)/Nsec;%第二段功率譜Pxx3=abs(fft(xn(257:512),Nsec).^2)/Nsec;%第三段功率譜Pxx4=abs(fft(xn(385:640),Nsec).^2)/Nsec;%第四段功率譜Pxx5=abs(fft(xn(51
6、3:768),Nsec).^2)/Nsec;%第四段功率譜Pxx6=abs(fft(xn(641:896),Nsec).^2)/Nsec;%第四段功率譜Pxx7=abs(fft(xn(769:1024),Nsec).^2)/Nsec;%第四段功率譜Pxx=10*log10(Pxx1+Pxx2+Pxx3+Pxx4+Pxx5+Pxx6+Pxx7/7);%Fourier振幅譜平方的平均值,并轉(zhuǎn)化為dBf=(0:length(Pxx)-1)*Fs/length(Pxx);%給出頻率序列subplot(2,1,2),plot(f(1:Nsec/2),Pxx(1:Nsec/2));%繪制功率譜曲線(xiàn)xla
7、bel('頻率/Hz');ylabel('功率譜/dB');title('平均周期圖(重疊1/2)N=1024');gridon;1.用Fourier變換求取信號(hào)的功率譜---welch方法%思想:welch法采用信號(hào)重疊分段,加窗函數(shù)和FFT算法等計(jì)算一個(gè)信號(hào)序列的自功率譜(PSD)和兩個(gè)信號(hào)序列的互功率譜(CSD),采用MATLAB自%帶的函數(shù)psdclf;Fs=1000;N=1024;Nfft=256;