(最新整理)MATLAB中fft函數(shù)用法、性質(zhì)、特性、缺陷全面深入解析(含程序)_第1頁
(最新整理)MATLAB中fft函數(shù)用法、性質(zhì)、特性、缺陷全面深入解析(含程序)_第2頁
(最新整理)MATLAB中fft函數(shù)用法、性質(zhì)、特性、缺陷全面深入解析(含程序)_第3頁
(最新整理)MATLAB中fft函數(shù)用法、性質(zhì)、特性、缺陷全面深入解析(含程序)_第4頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、(完整)matlab中fft函數(shù)用法、性質(zhì)、特性、缺陷全面深入解析(含程序)(完整)matlab中fft函數(shù)用法、性質(zhì)、特性、缺陷全面深入解析(含程序) 編輯整理:尊敬的讀者朋友們:這里是精品文檔編輯中心,本文檔內(nèi)容是由我和我的同事精心編輯整理后發(fā)布的,發(fā)布之前我們對文中內(nèi)容進(jìn)行仔細(xì)校對,但是難免會有疏漏的地方,但是任然希望((完整)matlab中fft函數(shù)用法、性質(zhì)、特性、缺陷全面深入解析(含程序))的內(nèi)容能夠給您的工作和學(xué)習(xí)帶來便利。同時也真誠的希望收到您的建議和反饋,這將是我們進(jìn)步的源泉,前進(jìn)的動力。本文可編輯可修改,如果覺得對您有幫助請收藏以便隨時查閱,最后祝您生活愉快 業(yè)績進(jìn)步,以下

2、為(完整)matlab中fft函數(shù)用法、性質(zhì)、特性、缺陷全面深入解析(含程序)的全部內(nèi)容。matlab中fft函數(shù)用法、性質(zhì)、特性、缺陷全面深入解析(含程序)前言目前網(wǎng)絡(luò)上在信號處理方面對fft函數(shù)使用泛濫,但大多數(shù)人根本就不了解它的性能,使用方法也是千奇百怪,各種程序代碼魚龍混雜,亂七八糟,誤導(dǎo)了很多人,所以我在這里進(jìn)行一下全面的演示說明,希望后來人能夠少走彎路。fft信號處理中獲得時域信號的頻域的方法叫做傅里葉變換,但教材上的變換都是理論推導(dǎo)的理想、連續(xù)、無限情況,在實際的matlab計算中,必須是實際、離散、有限的計算,所以實現(xiàn)起來比較麻煩,需要各種轉(zhuǎn)換。fft函數(shù)就是為了實現(xiàn)快速傅里葉

3、變換而設(shè)計的計算機(jī)算法,與傳統(tǒng)傅里葉變換的步驟不完全一樣,但通過適當(dāng)?shù)淖儞Q也能夠獲得時域信號的頻域圖形。fft只是數(shù)值計算,不是理論推導(dǎo),所以頻域圖形肯定有誤差,但我們能夠通過適當(dāng)調(diào)整變換參數(shù)來提高頻域圖形的精確性。建議大家能夠理論推導(dǎo)的傅里葉變換就直接在紙上推導(dǎo)好了再用matlab直接畫出來就是了。所以不是因為fft精確,而是因為fft能夠?qū)Υ髷?shù)據(jù)復(fù)雜信號變換計算快,自由度可控制性高,所以使用的人才多.fft(x)圖示fft的一些定性問題解析時域信號x有多少個點,fft(x)就有多少個點,這時的fft(x)之所以是對稱的,是因為fft的方法是進(jìn)行周期計算從-2,2,所以后面的一半要翻轉(zhuǎn)到負(fù)半

4、軸,是負(fù)頻率.所以有用的是fft(x)的前一半的點.我是經(jīng)過各項測試實驗,才完全明白fft的性能。利用程序解釋如下:這里的fft變換有補(bǔ)零clear all;fs = 1e3; %這是原始時域信號x的采樣頻率multiple=0.6; x進(jìn)行fft前的補(bǔ)零倍數(shù),可以增加頻率分辨率time=2;t = 0:1/fs:time1/fs; 這個會影響x的采樣點數(shù),當(dāng)然點數(shù)越多,頻域越精確越平滑%x = 1。5cos(2pi*100t)+3sin(2*pi202.5*t)+2*sin(2*pi*1250t);x = 1.5*cos(2*pi*100*t)+3sin(2*pi201。25t);頻率最小分

5、辨率-x=x,zeros(1,length(x)*multiple); %注意可以通過對x進(jìn)行補(bǔ)零來增加頻率分辨率,只是因為fft的周期性計算方法,需要在后面對fft(x)后的數(shù)據(jù)進(jìn)行幅度值重新計算時,乘以多的零點的倍數(shù),見后面的幅度值計算。freqres = fs/length(x); freqres =1/time;%x的頻率必須是freqres的整數(shù)倍時,x的頻率才能被正確分辨,也就是相應(yīng)頻域值才能夠正常,比如freqres=1,在頻率202.5處的幅度就不正常,當(dāng)freqres=2時,在頻率1001處的幅度就不正常.%-%x有多少個點,fft(x)就有多少個點,這時的fft(x)之所以

6、是對稱的,-是因為fft的方法是進(jìn)行周期計算從-2,2,所以后面的一半要翻轉(zhuǎn)到負(fù)半軸,是負(fù)頻率.所以有用的是fft(x)的前一半的點再加上0點.%xdft = fft(x); xdft = xdft(1:length(x)/2+1);%-這與fft方法的周期計算方法相關(guān),也就是幅度值要重新計算一下-xdft = 1/length(x).*xdft;xdft(2:end1) = (1+multiple)*2xdft(2:end1);幅度值首先由于周期對稱性,需要乘以2,然后由于補(bǔ)零的倍數(shù)是multiple,所以是(1+multiple)*2%重新計算頻率橫坐標(biāo)-freq = 0:fs/lengt

7、h(x):fs/2;%fs/2就是最高能夠顯示出來的頻率,但要注意實際上,fft(x)實際是計算出了任何頻率,但是在fs/2,fs這個區(qū)間的頻率,是關(guān)于fs/2這里對稱的,也就是正負(fù)的頻率開始混合或者混疊在一起。而超出了fs的頻率則會由于周期性,它的值先減去fs后,重新從0點開始.所以這個程序并不是說畫出了在0,fs/2的一定正確的頻率,而是可能會出現(xiàn)頻率的混合和混疊,一定要先預(yù)判一下頻率的區(qū)間范圍后,再使用fft這個函數(shù)。-plot(freq,abs(xdft));畫頻域幅度譜title(頻域圖);fft的一些定量詳細(xì)解析與測試?yán)贸绦蚪忉屓缦拢?為了更好的展示,這里信號沒有補(bǔ)零clear

8、all;clc;fs = 1e3; %這是原始時域信號x的采樣頻率multiple=0; %x進(jìn)行fft前的補(bǔ)零倍數(shù),可以增加頻率分辨率,也會影響信號頻域值time=10;t = 0:1/fs:time1/fs; %這個會影響x的采樣點數(shù),當(dāng)然點數(shù)越多,頻域越精確越平滑%x = 1.5*cos(2pi100t)+3*sin(2pi202。5*t)+2sin(2*pi1450*t);%x = 1。5cos(2*pi100t)+3*sin(2*pi*200t)+2*cos(2pi100000.1*t);x = 1.5cos(2pi*100*t)+3sin(2pi*200t)+2cos(2*pi0.

9、1t);頻率最小分辨率-x=x,zeros(1,length(x)*multiple); %注意可以通過對x進(jìn)行補(bǔ)零來增加頻率分辨率,只是因為fft的周期性計算方法,需要在后面對fft(x)后的數(shù)據(jù)進(jìn)行幅度值重新計算時,乘以多的零點的倍數(shù),見后面的幅度值計算。%freqres = fs/length(x); %x的頻率必須是freqres的整數(shù)倍時,x的頻率才能被正確分辨,也就是幅度值才能夠正常,比如freqres=1,在頻率202.5處的幅度就不正常,當(dāng)freqres=2時,在頻率1001處的幅度就不正常。%-%有多少個點,fft(x)就有多少個點,這時的fft(x)之所以是對稱的,-是因為

10、fft的方法是進(jìn)行周期計算從2,2,所以后面的一半要翻轉(zhuǎn)到負(fù)半軸,是負(fù)頻率。所以有用的是fft(x)的前一半的點再加上0點。%xdft = fft(x); subplot(3,1,1);plot(0:length(xdft)1,abs(xdft);title(abs);title(頻域圖);subplot(3,1,2);plot(0:length(xdft)1,real(xdft);title(real);subplot(3,1,3);plot(0:length(xdft)1,imag(xdft));title(imag);back=ifft(xdft);error=xback;for i=2

11、:length(xdft)/2 store(i)=abs(xdft(i)abs(xdft(length(xdft)i+2); 這時的誤差為0,%store(i)=real(xdft(i+1))-real(xdft(length(xdft)-i+1)); %這時的誤差為0,store(i)=imag(xdft(i+1)+imag(xdft(length(xdft)i+1); %這時的誤差為0,注意這時是加號endfigure;plot(store);title(正負(fù)頻率誤差);首先如上面程序所示,xdft=fft(x),頻率分辨率是freqres,設(shè)l=length(xdft)=length(x

12、),顯示的頻率范圍是0:freqres:fs-freqres,點數(shù)范圍是1,l。xdft的幅度譜在頻率范圍1*freqres,l2-1*freqres,也就是點數(shù)范圍2,l2內(nèi),是與右邊點數(shù)范圍l,l2+2內(nèi)的頻率的實部是完全對稱的,虛部是正負(fù)對稱的,所以幅度譜是完全對稱的。xdft的幅度譜在頻率范圍l2+1*freqres,l-1*freqres,也就是點數(shù)范圍l2+2,l,是與左邊邊點數(shù)范圍l2,2內(nèi)的頻率的實部是完全對稱的,虛部是正負(fù)對稱的,所以幅度譜是完全對稱的,但是這時候左右的正負(fù)頻率是混疊的,這就是奈奎斯特準(zhǔn)則的限制,采樣率要大于信號的最高頻率才不會出現(xiàn)混疊,因此只有0,fs2的頻

13、率是準(zhǔn)確可用的。然后是缺的幾個特征點,在頻率為0,也就是第1個點的地方,頻率虛部為0,實部為實際振幅值的兩倍;在頻率為l2*freqres=fs2,也就是點數(shù)為l2+1的地方,頻率虛部為0,實部為實際振幅值的兩倍;在頻率為fs的地方,也就是超出了頻率范圍,那么這個點的頻率值變?yōu)閒s-fs=0,與頻率為0時的情況一致;同理,在頻率為fs+freqres的地方,那么這個點的頻率值變?yōu)閒s+freqres-fs=freqres,與前面的情況一致,又是一個循環(huán)。橫軸必須是以hz單位進(jìn)行轉(zhuǎn)換.fft變換存在的缺陷與問題有人問,為什么我畫的頻域圖與書上的不一樣啊,這就是你在對參數(shù)進(jìn)行設(shè)置時,沒有考慮到它們

14、對于fft變換后的結(jié)果的影響,或者根本就沒設(shè)置正確.不要直接就進(jìn)行fft變換,變換前必須先估計信號的頻率范圍,和你想要獲得的圖形精確程度,然后適當(dāng)改變參數(shù),確定不會發(fā)生下面這些問題。1。 混疊效應(yīng)如果x(t)的頻譜是帶限的,x(f)=0, f| fm,則由抽樣定理,抽樣間隔最大滿足ts=1/2fm如果f(t)的頻譜不是帶限的,則抽樣后頻譜總要發(fā)生混疊,減小抽樣間隔ts,fs增大,可減小混疊,但工作量增加。解決辦法:預(yù)濾波,再抽樣,或者一般選擇ts1/(35)fm。2。 泄漏(leakage)若x(f)為有限帶寬頻譜,則x(t)為時間無限的。為利用fft分析x(t)的頻譜,必須截取x(t) 有限

15、范圍,即加窗.頻域卷積后,使原頻帶受限的頻譜擴(kuò)展開來(有限帶寬拖了尾巴),這種現(xiàn)象稱為泄漏。解決方法:改善窗的形狀或長度。3。柵欄效應(yīng)(picket fence effect)n點序列的dft只能在有限的n個頻點上觀察頻譜,這相當(dāng)于從柵欄的縫隙中觀察景色,對于了解信號在整個頻域上的特性是不夠的。為了觀察到其他頻率的信息,需要對原信號xn做一些處理,以便在不同的頻點上采樣.解決方法:增加采樣點數(shù),信號補(bǔ)零.4.補(bǔ)零與fft分辨率通過補(bǔ)零觀察到更多的頻點,但是這并不意味著補(bǔ)零能夠提高真正的頻譜分辨率。這是因為xn 實際上是x(t)采樣的主值序列,而將xn補(bǔ)零得到的xn 周期延拓之后與原來的序列并不相同,也不是x(t)的采樣。因此 與 是不同離散信號的頻譜.對于補(bǔ)零至m點的x的dft,只能說它的分辨率2/m僅具有計算上的意義, 并不是真正的、物理意義上的頻譜.物理頻譜分辨率的提高只能在滿足采樣定理的條件下增加時域采樣長度來實現(xiàn)。5.物理分辨率與計算分辨率頻率分辨率是指所用的算法能將信

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論