最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

matlab的fft函數(shù)

2023-07-23 23:11 作者:臺榭如富貴時至則有  | 我要投稿

1.基本功能

FFT是離散傅立葉變換的快速算法,可以將一個信號變換到頻域。通過FFT變換可以對信號進(jìn)行頻譜分析,其對應(yīng)的數(shù)學(xué)表達(dá)式如下:

X(k)%3D%5Csum_%7Bn%3D1%7D%5ENx(n)%5Ccdot%20e%5E%5Cfrac%7B-2%5Cpi%20j(k-1)(n-1)%20%7D%7BN%7D%20(1%5Cleq%20k%5Cleq%20N%20%20)%20%20%20%20

在MATLAB對信號的頻譜分析中,模擬信號X(t)經(jīng)過采樣后得到含有N個采樣點的數(shù)字信號X(n),取N點進(jìn)行FFT變換后,可以得到對應(yīng)數(shù)量的FFT結(jié)果。

2.函數(shù)調(diào)用

Y = fft(X,n,dim)

其中,X為輸入離散信號的序列,參數(shù)n(可省略)表示采樣點數(shù)量,參數(shù)dim(可省略)影響X中向量的取法,fft函數(shù)將返回快速傅里葉變換結(jié)果Y。

輸入的離散信號X可取向量、矩陣、多維數(shù)組,其在MATLAB中的具體取法如下。

  • 當(dāng)X為向量時,fft(X)將返回該向量的傅里葉變換。

  • 當(dāng)X為矩陣時,fft(X)將在指定的dim維上進(jìn)行傅里葉變換,其中dim=1表示按列,dim =2表示按行。省略dim的情況下,fft(X)將把x的各列視為向量,并返回每列的傅里葉變換。

  • 當(dāng)X為一個多維數(shù)組時,fft(X)將把大小不等于1的第一個數(shù)組維度的值視為向量,并返回每個向量的傅里葉變換。

參數(shù)n為進(jìn)行FFT變換的點數(shù),與X的信號長度關(guān)系如下。

  • 當(dāng)X的長度小于n時,則為 X 補上尾零以達(dá)到長度 n。

  • 當(dāng)X的長度大于n時,則對 X 進(jìn)行截斷以達(dá)到長度 n。

3.參數(shù)n對頻譜分析的影響

  1. 幅值:根據(jù)采樣定理,fft能分辨的最高頻率為采樣頻率的一半(即Nyquist頻率),函數(shù)fft返回值Y以Nyqusit頻率為軸對稱的,Y的前一半與后一半是復(fù)數(shù)共軛關(guān)系。將進(jìn)行FFT變換的點數(shù)取做n,F(xiàn)FT后得到為n個復(fù)數(shù),每一個點就對應(yīng)著一個頻率點,只有在有頻率分量處才能在頻譜圖中畫出對應(yīng)的線;該復(fù)數(shù)的模值不等于信號的幅值,n值越大,F(xiàn)FT結(jié)果的模值越大,二者間數(shù)量關(guān)系將在下一部分介紹;不同模值間的比例代表了不同頻率含量的比例,與FFT數(shù)量n無關(guān)。

  2. 頻率分辨率:當(dāng)采樣個數(shù)超過FFT變換的個數(shù)時,F(xiàn)FT會自動切斷數(shù)據(jù),此時n值越大,頻率分辨率越高,如果采樣數(shù)據(jù)比較少或n取值較小,則FFT變換后不能很準(zhǔn)確的分辨出其中的頻率成分;當(dāng)采樣個數(shù)低于FFT變換的個數(shù)時,信號在時間域內(nèi)加零,致使振幅譜中出現(xiàn)很多其他成分,其振幅將因此減小。添加零可增加進(jìn)行FFT的數(shù)量,譜的密度增高了,但仍不能分辨其中的頻率成分,還會導(dǎo)致振幅波動,譜的分辨率沒有提高。

4.編程實現(xiàn)

以信號x(n)為例,通過編程可得到該信號的頻譜圖。完整代碼見文末,此處對求頻譜過程的代碼進(jìn)行一些說明。

x(n)%3D%5Ccos%20(2%5Cpi%5Ccdot%2050n%5CDelta%20t%20%2B%5Cpi%2F4)%20%2B0.5%5Ccos%20(2%5Cpi%5Ccdot%20150n%5CDelta%20t%20%2B%5Cpi%2F2)%20

  • FFT模值與信號幅值關(guān)系:

FFT幅值與信號幅值關(guān)系:假設(shè)原始信號的幅值為A,窗長取N,F(xiàn)FT輸出的模值為Y,則除了第一個點外的點,信號幅值與FFT模值有如下對應(yīng)關(guān)系:A=2/N*Y,第一個點為直流分量,它的模值就是直流分量的N倍。

原因: FFT結(jié)果除以N得到雙邊譜,再乘以2得到單邊譜。零頻在雙邊譜中本沒有被一分為二,故只需要除N即可。

  • ?fftshift:

對于FFT得到的頻譜,橫軸顯示順序為:由0開始的由小到大的正頻率、0、絕對值由大到小的負(fù)頻率。故要得到正確的結(jié)果,需要以0hz為中心,將右半邊的負(fù)頻率平移至左半邊。通過函數(shù)fftshift可以實現(xiàn)上述變化。

即:為得到與橫坐標(biāo)軸對應(yīng)的頻譜,需要將fft后的結(jié)果通過函數(shù)fftshift進(jìn)行處理。

fftshift后的fft結(jié)果

5.fft相位問題

1.噪聲信號過濾

為了避免輸入信號s(n)經(jīng)matlab求取FFT后,引入的一些幅值極小但對相位有影響的計算量,需要在相位分析前引入如下代碼,實現(xiàn)對FFT結(jié)果的過濾。濾除前后對比圖如下。

濾波前
濾波后


2.初相位設(shè)置

x(n)%3D%5Ccos%20(2%5Cpi%5Ccdot%2050n%5CDelta%20t%20%2B%5Cpi%2F4)%20%2B0.5%5Ccos%20(2%5Cpi%5Ccdot%20150n%5CDelta%20t%20%2B%5Cpi%2F2)%20

中n的取值從1開始時,50Hz信號的初相位為%5Cpi%2F4%2B100%5Cpi%5Ccdot%20%5CDelta%20t,相位結(jié)果如下圖:

n取值從0開始時,50Hz信號的初相位才是%5Cpi%2F4,即:


matlab的fft函數(shù)的評論 (共 條)

分享到微博請遵守國家法律
永州市| 监利县| 稷山县| 巴里| 武山县| 荥阳市| 苍南县| 武强县| 石狮市| 无锡市| 赣州市| 当阳市| 崇明县| 将乐县| 靖宇县| 肥西县| 泸西县| 繁昌县| 柘城县| 石景山区| 双桥区| 泗洪县| 江孜县| 宝山区| 元阳县| 尖扎县| 衡水市| 北辰区| 新绛县| 阳谷县| 安化县| 聂荣县| 微博| 乳山市| 延津县| 宣武区| 沐川县| 福海县| 留坝县| 仁布县| 蓬安县|