資源描述:
《FFT和功率譜估計》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、FFT和功率譜估計1.用Fourier變換求取信號的功率譜---周期圖法clf;Fs=1000;N=256;Nfft=256;%數(shù)據(jù)的長度和FFT所用的數(shù)據(jù)長度n=0:N-1;t=n/Fs;%采用的時間序列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);%繪制功率譜曲線xlabel('頻率/
2、Hz');ylabel('功率譜/dB');title('周期圖N=256');gridon;Fs=1000;N=1024;Nfft=1024;%數(shù)據(jù)的長度和FFT所用的數(shù)據(jù)長度n=0:N-1;t=n/Fs;%采用的時間序列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);%繪制功率譜曲線xl
3、abel('頻率/Hz');ylabel('功率譜/dB');title('周期圖N=256');gridon;2.用Fourier變換求取信號的功率譜---分段周期圖法%思想:把信號分為重疊或不重疊的小段,對每小段信號序列進(jìn)行功率譜估計,然后取平均值作為整個序列的功率譜clf;Fs=1000;N=1024;Nsec=256;%數(shù)據(jù)的長度和FFT所用的數(shù)據(jù)長度n=0:N-1;t=n/Fs;%采用的時間序列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));%繪制功率譜曲線xlabel('頻率/Hz');ylabel('功率譜/dB');title('平均周期圖(無重疊)N=4*256');gridon;%運用信號重疊分段估計功率譜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));%繪制功率譜曲線xla
7、bel('頻率/Hz');ylabel('功率譜/dB');title('平均周期圖(重疊1/2)N=1024');gridon;1.用Fourier變換求取信號的功率譜---welch方法%思想:welch法采用信號重疊分段,加窗函數(shù)和FFT算法等計算一個信號序列的自功率譜(PSD)和兩個信號序列的互功率譜(CSD),采用MATLAB自%帶的函數(shù)psdclf;Fs=1000;N=1024;Nfft=256;