資源描述:
《matlab的FFT函數(shù)介紹》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、matlab的FFT函數(shù)2010-04-2622:16相關(guān)語(yǔ)法:Y=fft(X)Y=fft(X,n)Y=fft(X,[],dim)Y=fft(X,n,dim)定義如下:相關(guān)的一個(gè)例子:Fs=1000;%采樣頻率T=1/Fs;%采樣時(shí)間L=1000;%總的采樣點(diǎn)數(shù)t=(0:L-1)*T;%時(shí)間序列(時(shí)間軸)%產(chǎn)生一個(gè)幅值為0.7頻率為50HZ正弦+另外一個(gè)信號(hào)的幅值為1頻率為120Hz的正弦信號(hào)x=0.7*sin(2*pi*50*t)+sin(2*pi*120*t);y=x+2*randn(size(t));%混入噪聲信號(hào)plot(Fs*t(1:50),y(1:50))%畫(huà)
2、出前50個(gè)點(diǎn)title('SignalCorruptedwithZero-MeanRandomNoise')xlabel('time(milliseconds)')NFFT=2^nextpow2(L);%求得最接近總采樣點(diǎn)的2^n,這里應(yīng)該是2^10=1024Y=fft(y,NFFT)/L;%進(jìn)行fft變換(除以總采樣點(diǎn)數(shù),是為了后面精確看出原始信號(hào)幅值)f=Fs/2*linspace(0,1,NFFT/2+1);%頻率軸(只畫(huà)到Fs/2即可,由于y為實(shí)數(shù),后面一半是對(duì)稱的)%畫(huà)出頻率幅度圖形,可以看出50Hz幅值大概0.7,120Hz幅值大概為1.plot(f,2*ab
3、s(Y(1:NFFT/2+1)))title('Single-SidedAmplitudeSpectrumofy(t)')xlabel('Frequency(Hz)')ylabel('
4、Y(f)
5、')PS:前段時(shí)間,只是為了自己看明白,沒(méi)有管太多,剛才上空間發(fā)現(xiàn)幾位的留言,感覺(jué)慚愧。其實(shí)要掌握matlab中fft的用法,主要有兩點(diǎn)注意的地方:1、從公式上看,matlab的fft序號(hào)是從1到N,但是絕大多數(shù)教材上是從0到N-1。2、Y=fft(x)之后,這個(gè)Y是一個(gè)復(fù)數(shù),它的模值應(yīng)該除以(length(x)2),才能得到各個(gè)頻率信號(hào)實(shí)際幅值。