嫒美直播免费版app下载-嫒美直播永久免费版下载-嫒美直播最新下载安装

當(dāng)前位置:首頁 > 教育綜合 > 正文

FFT:如果信號序列長度N=16,求:(1)x3(2)和x2(9)的對偶節(jié)點(diǎn);(2)x2(4)和x

快速傅里葉變換的計(jì)算方法

計(jì)算離散傅里葉變換的快速方法,有按時間抽取的FFT算法和按頻率抽取的FFT算法。前者是將時域信號序列按偶奇分排,后者是將頻域信號序列按偶奇分排。它們都借助于的兩個特點(diǎn):一是周期性;二是對稱性,這里符號*代表其共軛。這樣,便可以把離散傅里葉變換的計(jì)算分成若干步進(jìn)行,計(jì)算效率大為提高。
時間抽取算法  令信號序列的長度為N=2,其中M是正整數(shù),可以將時域信號序列x(n)分解成兩部分,一是偶數(shù)部分x(2n),另一是奇數(shù)部分x(2n+1),于是信號序列x(n)的離散傅里葉變換可以用兩個N/2抽樣點(diǎn)的離散傅里葉變換來表示和計(jì)算。考慮到和離散傅里葉變換的周期性,式⑴可以寫成
⑶其中(4a)(4b)由此可見,式⑷是兩個只含有N/2個點(diǎn)的離散傅里葉變換,G(k)僅包括原信號序列中的偶數(shù)點(diǎn)序列,H(k)則僅包括它的奇數(shù)點(diǎn)序列。雖然k=0,1,2,…,N-1,但是G(k)和H(k)的周期都是N/2,它們的數(shù)值以N/2周期重復(fù)。
因?yàn)橛谑怯墒舰呛褪舰鹊玫剑?a)(5b)
因此,一個抽樣點(diǎn)數(shù)為N 的信號序列x(n)的離散傅里葉變換,可以由兩個 N/2抽樣點(diǎn)序列的離散傅里葉變換求出。依此類推,這種按時間抽取算法是將輸入信號序列分成越來越小的子序列進(jìn)行離散傅里葉變換計(jì)算,最后合成為N點(diǎn)的離散傅里葉變換。
通常用圖1中蝶形算法的信號流圖來表示式⑸的離散傅里葉變換運(yùn)算。例如,N=8=2的抽樣點(diǎn)的信號序列x(n)的離散傅里葉變換,可用如圖2所示的FET算法的信號流圖來計(jì)算。
① N=2點(diǎn)的離散傅里葉變換的計(jì)算全由蝶形運(yùn)算組成,需要M級運(yùn)算,每級包括N/2個蝶形運(yùn)算,總共有 個蝶形運(yùn)算。所以,總的計(jì)算量為次復(fù)數(shù)乘法運(yùn)算和N log2N次復(fù)數(shù)加法運(yùn)算。
② FFT算法按級迭代進(jìn)行,計(jì)算公式可以寫成
⑹N抽樣點(diǎn)的輸入信號具有N個原始數(shù)據(jù)x0(n),經(jīng)第一級運(yùn)算后,得出新的N個數(shù)據(jù)x1(n),再經(jīng)過第二級迭代運(yùn)算,又得到另外N個數(shù)據(jù)x2(n),依此類推,直至最后的結(jié)果x(k)=xM(k)=X(k)在逐級迭代計(jì)算中,每個蝶形運(yùn)算的輸出數(shù)據(jù)存放在原來存貯輸入數(shù)據(jù)的單元中,實(shí)行所謂“即位計(jì)算”,這樣可以節(jié)省大量存放中間數(shù)據(jù)的寄存器。
③ 蝶形運(yùn)算中加權(quán)系數(shù)隨迭代級數(shù)成倍增加。由圖2可以看出系數(shù)的變化規(guī)律。對于N=8,M=3情況,需進(jìn)行三級迭代運(yùn)算。在第一級迭代中,只用到一種加權(quán)系數(shù);蝶形運(yùn)算的跨度間隔等于1。在第二級迭代中,用到兩種加權(quán)系數(shù)即、;蝶形運(yùn)算的跨度間隔等于2。在第三級迭代中,用到4種不同的加權(quán)系數(shù)即、、、;蝶形運(yùn)算的跨度間隔等于4??梢?,每級迭代的不同加權(quán)系數(shù)的數(shù)目比前一級迭代增加一倍;跨度間隔也增大一倍。
④ 輸入數(shù)據(jù)序列x(n)需重新排列為x(0)、x⑷、x⑵、x⑹、x⑴、x⑸、x⑶、x⑺,這是按照二進(jìn)制數(shù)的碼位倒置所得到的反序數(shù),例如N=8中數(shù)“1”的二進(jìn)制數(shù)為“001”,將其碼位倒轉(zhuǎn)變?yōu)椤?00”,即為十進(jìn)制數(shù)“4”。
頻率抽取算法 按頻率抽取的 FFT算法是將頻域信號序列X(k)分解為奇偶兩部分,但算法仍是由時域信號序列開始逐級運(yùn)算,同樣是把N點(diǎn)分成N/2點(diǎn)計(jì)算FFT,可以把直接計(jì)算離散傅里葉變換所需的N次乘法縮減到次。
在N=2的情況下,把N點(diǎn)輸入序列x(n)分成前后兩半

時間序列x1(n)±x2(n)的長度為N/2,于是N點(diǎn)的離散傅里葉變換可以寫成
(8a)
(8b)
頻率信號序列X(2l)是時間信號序列x1(n)+x2(n)的N/2點(diǎn)離散傅里葉變換,頻率信號序列X(2l+1)是時間信號序列【x1(n)-x2(n)】的N/2點(diǎn)離散傅里葉變換,因此,N點(diǎn)離散傅里葉變換的計(jì)算,通過兩次加(減)法和一次乘法,從原來序列獲得兩個子序列,所以,頻率抽取算法也具有蝶形運(yùn)算形式。以2為基數(shù)的FFT基本蝶形運(yùn)算公式為

其計(jì)算量完全和時間抽取算法一樣,即只需次乘法運(yùn)算和Nlog2N次加(減)法運(yùn)算。圖3 表示N=8=2點(diǎn)的離散傅里葉變換的信號流圖。由圖可見,它以三級迭代進(jìn)行即位計(jì)算,輸入數(shù)據(jù)是按自然次序存放,使用的系數(shù)也是按自然次序,而最后結(jié)果則以二進(jìn)制反序存放。
實(shí)際上,頻率抽取算法與時間抽取算法的信號流圖之間存在著轉(zhuǎn)置關(guān)系,如將流圖適當(dāng)變形,可以得出多種幾何形狀。
除了基2的FFT算法之外,還有基4、基8等高基數(shù)的FFT算法以及任意數(shù)為基數(shù)的FFT算法。

MATLAB中的FFT的采樣頻率和采樣點(diǎn)怎樣確定?

在MATLAB中做FFT,首先編寫函數(shù),對不同的采樣頻率和采樣點(diǎn)數(shù),計(jì)算FFT后的頻率序列及其對應(yīng)的幅值:

function[f amplitude]=yopheeFFT(sampleRate,FFT_points)  

n=0:FFT_points-1;  

t=n/sampleRate;%采樣時間序列  

f_All=n*sampleRate/FFT_points;%頻率序列 %構(gòu)造混有噪聲的周期信號并采樣

signal=2*sin(2*pi*10*t)+1*sin(2*pi*20.25*t)+0.2*randn(size(t));  %對信號進(jìn)行快速Fourier變換,并求振幅  

amplitude_All=abs(fft(signal,FFT_points))*2/FFT_points;  

f=f_All(1:FFT_points/2);  

amplitude=amplitude_All(1:FFT_points/2);

擴(kuò)展資料

MATLAB中FFT函數(shù)的意義:

FFT是離散傅立葉變換的快速算法,可以將一個信號變換到頻域。有些信號在時域上是很難看出什么特征的,但是如果變換到頻域之后,就很容易看出特征了。這就是很多信號分析采用FFT變換的原因。另外,F(xiàn)FT可以將一個信號的頻譜提取出來,這在頻譜分析方面也是經(jīng)常用的。

模擬信號經(jīng)過ADC采樣之后變成數(shù)字信號,可對此數(shù)字信號做FFT變換。N個采樣點(diǎn)經(jīng)過FFT之后就可以得到N個點(diǎn)的FFT結(jié)果。為了方便進(jìn)行FFT運(yùn)算,通常N取2的整數(shù)次冪。

假設(shè)采樣頻率為Fs,信號頻率為F,采樣點(diǎn)數(shù)為N。則FFT之后結(jié)果為N點(diǎn)復(fù)數(shù),其中每一個點(diǎn)對應(yīng)著一個頻率點(diǎn),該點(diǎn)復(fù)數(shù)的模值為原始信號在該頻率值下的幅度特性。

具體為:假設(shè)原始信號在某頻率點(diǎn)的幅值為A,則該頻點(diǎn)對應(yīng)的FFT點(diǎn)復(fù)數(shù)的模值為A的N/2倍。而FFT第一點(diǎn)為原始信號的直流分量,其模值為原始信號模值的N倍。對于相位,F(xiàn)FT復(fù)數(shù)的相位即為原始信號在該頻率點(diǎn)處的相位。

MATLAB中的FFT的采樣頻率和采樣點(diǎn)怎樣確定

采樣頻率就是準(zhǔn)備進(jìn)行fft變換的時間序列數(shù)據(jù)的頻率,如數(shù)據(jù)間隔為0.01s,采樣頻率就為100Hz,這是確定的;采樣點(diǎn)則根據(jù)時間序列數(shù)據(jù)長度確定,fft即快速傅里葉變換,采樣點(diǎn)數(shù)是2的整數(shù)倍,才能實(shí)現(xiàn)快速計(jì)算,所以如果序列長度為3,采樣長度就設(shè)為4,數(shù)據(jù)會自動補(bǔ)0,如果序列長度為63,采樣長度可設(shè)為64,即最接近的2的整數(shù)次冪。

快速傅立葉變換 matlab-fft實(shí)現(xiàn)的問題?50分求助!

t=0:2.5e-6:5.0e-3 %時域點(diǎn) y=2.0e7*sin(2*pi*25000*t) %正弦信號 yf=fft(y)%快速傅立葉變換 magf=abs(yf)*2/2001%幅值 fs=(0:2000)*400000/2001%頻率 plot(fs,magf)%繪圖 %%%%%%%%你的程序大大的有問題 你求的是正弦信號抽樣序列的fft,首先要整周期采樣,然后如果想求單邊譜的話,fft后要乘以2/N,如果是雙邊譜的話除以N,另外fft點(diǎn)數(shù)最好是以2為基底的,這樣才能突出fft的效率,給個典型程序你去自己看: fs=1024; %采樣頻率 N=1024; %采樣點(diǎn)數(shù) t=(0:N-1

信號功率譜怎么計(jì)算

用FFT求取信號頻譜的實(shí)部和虛部,實(shí)部的平方價虛部的平方就是功率譜。周期性連續(xù)信號x(t)的頻譜可表示為離散的非周期序列Xn,它的幅度頻譜的功率譜平方│Xn│2所排成的序列,就被稱之為該周期信號的“功率譜”。

對信號進(jìn)行傅里葉變換,取sin部分為實(shí)部,cos部分為虛部,直接算實(shí)部和虛部的平方和,得到的就是頻域功率譜的分布 推薦使用matlab計(jì)算,因?yàn)橐粋€函數(shù)FFT就可以算出來。

信號x(t)的功率譜密度計(jì)算方法:

1、先計(jì)算x(t)的傅立葉變換:X(jw),

2、取模:|X(jw)|,再平方:|X(jw)|^2,再除以樣本長度: |X(jw)|^2/T

3、就得到: x(t)的功率譜密度函數(shù): Gxx(w)= |X(jw)|^2/T

擴(kuò)展資料:

周期運(yùn)動在功率譜中對應(yīng)尖鋒,混沌的特征是譜中出現(xiàn)"噪聲背景"和寬鋒。它是研究系統(tǒng)從分岔走向混沌的重要方法。 在很多實(shí)際問題中(尤其是對非線性電路的研究)常常只給出觀測到的離散的時間序列X1, X2, X3,Xn,那么如何從這些時間序列中提取前述的四種吸引子(零維不動點(diǎn)、一維極限環(huán)、二維環(huán)面、奇怪吸引子)的不同狀態(tài)的信息。

可以運(yùn)用數(shù)學(xué)上已經(jīng)嚴(yán)格證明的結(jié)論,即擬合。我們將N個采樣值加上周期條件Xn+i=Xi,則自關(guān)聯(lián)函數(shù)(即離散卷積)為 然后對Cj完成離散傅氏變換,計(jì)算傅氏系數(shù)。 Pk說明第k個頻率分量對Xi的貢獻(xiàn),這就是功率譜的定義。

參考資料來源:百度百科-功率譜

展開全文閱讀