离散正(余)弦信号的时域与FFT变换后所得频域之间的关系(幅值和相角)
?? 正弦信號(hào)在信號(hào)處理中是很常見的,比如通信領(lǐng)域的載波。由于正弦與余弦只是相差π/2的初相,因此這里統(tǒng)稱正弦信號(hào)。給出連續(xù)正弦信號(hào)的表達(dá)式:
式中,A為振幅,Ω為模擬角頻率(rad/s),φ為初相,f為模擬頻率(Hz),Ω=2πf?。
? ? ? ??在滿足奈奎斯特采樣定理?xiàng)l件下對(duì)信號(hào)x(t)進(jìn)行采樣得到離散正弦信號(hào)x(n)
式中,fs為采樣頻率,Ts為采樣間隔,Ts=1/fs,ω為數(shù)字角頻率(rad),ω=2πf/fs。
? ? ? ??根據(jù)ω可以判斷x(n)的周期性,若2π/ω為有理數(shù)則x(n)為周期信號(hào),周期為有理數(shù)的分母,詳情可參考數(shù)字信號(hào)處理類教科書。
? ? ? ??對(duì)N點(diǎn)長(zhǎng)的x(n)進(jìn)行FFT可得其N點(diǎn)長(zhǎng)的離散傅里葉變換(DFT),記為X(k)。注意,FFT只是DFT的快速算法的總稱。由于x(n)是實(shí)信號(hào),所以X(k)為對(duì)稱的,只須關(guān)注其前N/2點(diǎn)即可。
? ? ? ??今天要討論的問題來自一篇文檔《為什么要進(jìn)行傅里葉變換》,這是一篇網(wǎng)上很熱門文章,原文出處不詳,給出參考鏈接:網(wǎng)易博客,百度文庫,豆瓣。
? ? ? ??在原文第七部分“七、用Matlab實(shí)現(xiàn)快速傅立葉變換”中有一段話是這樣子寫的:
? ? ? ??假設(shè)FFT之后某點(diǎn)n用復(fù)數(shù)a+bi表示,那么這個(gè)復(fù)數(shù)的模就是An=根號(hào)a*a+b*b,相位就是Pn=atan2(b,a)。根據(jù)以上的結(jié)果,就可以計(jì)算出n點(diǎn)(n≠1,且n<=N/2)對(duì)應(yīng)的信號(hào)的表達(dá)式為:An/(N/2)*cos(2*pi*Fn*t+Pn),即2*An/N*cos(2*pi*Fn*t+Pn)。對(duì)于n=1點(diǎn)的信號(hào),是直流分量,幅度即為A1/N。
? ? ? ??這里用本文的符號(hào)翻譯一下:對(duì)于x(n)的離散傅里葉變換X(k)來說,X(k)一般為復(fù)數(shù),可設(shè)為X(k)=a(k)+ jb(k),其模值|X(k)|和相角arg[X(k)]分別為
對(duì)于任意一項(xiàng)X(k)(0<k<N/2),它所對(duì)應(yīng)的時(shí)域信號(hào)表達(dá)式為
其中。若k=0,即直流分量,其幅度為|X(k)|/N。
? ? ? ??有關(guān)模擬頻率f與離散頻率k的關(guān)系可參見數(shù)字信號(hào)處理類教科書,下面對(duì)時(shí)域信號(hào)幅度相角與離散頻域的幅值相角的關(guān)系結(jié)論進(jìn)證明。
? ? ? ??為了避免頻譜泄漏,取f、fs和N均為正整數(shù),且N=mfs,m為正整數(shù)。
? ? ? ??對(duì)離散正弦信號(hào)x(n)進(jìn)行DFT變換:
上面推導(dǎo)過程中使用了歐拉公式和三角函數(shù)積化和差公式。令
則? 。
? ? ? ??當(dāng)mf+k≠0時(shí),根據(jù)離散正弦信號(hào)的周期性判斷方法,我們知道XRe1(k)和XIm1(k)求和式中的正弦信號(hào)一定是以N為周期的,所以從0到N-1求和必為零;同理,當(dāng)mf-k≠0時(shí),XRe2(k)和XIm2(k)求和式中的正弦信號(hào)一定是以N為周期的,所以從0到N-1求和也必為零。若要使mf+k項(xiàng)為零,則必有f=k=0,若要使mf-k項(xiàng)為零,則要滿足mf=k。
? ? ? ??下面以文檔《為什么要進(jìn)行傅里葉變換》中的例子為例來說明:
? ? ? ??S=2+3*cos(2*pi*50*t-pi*30/180)+1.5*cos(2*pi*75*t+pi*90/180)。式中cos參數(shù)為弧度,所以-30度和90度要分別換算成弧度。我們以256Hz的采樣率對(duì)這個(gè)信號(hào)進(jìn)行采樣,總共采樣256點(diǎn)。
? ? ? ??我們?nèi)⌒盘?hào)S的50Hz成份。這里fs=256Hz,N=256,f=50Hz,m=1,代入得
可以通過周期性討論得知,若k≠50,則必有X(k)=0(當(dāng)然k=256-50時(shí)與k=50對(duì)稱,前面我們說了只討論前N/2=128個(gè)點(diǎn))。當(dāng)k=50時(shí)
因此可得時(shí)域幅值相角與頻域模擬相角的關(guān)系
這里模擬頻率f與離散頻率k的關(guān)系為
同理可以討論f=75Hz成份。對(duì)于直流成份,可以認(rèn)為是如下正弦信號(hào)
即f=0Hz,φ=0,代入得
可以通過周期性討論得知,若k≠0,則必有X(k)=0;當(dāng)k=0時(shí)
其實(shí)對(duì)于直流成分沒有必要這么復(fù)雜,直流成分就是一個(gè)常數(shù),對(duì)常數(shù)序列A做DFT
若k≠0,求和項(xiàng)復(fù)正弦序列以N為周期,求和后必為零;若k=0,求和通項(xiàng)等于1,則
? ? ? ??推導(dǎo)了半天,可能有些糊涂,最后再把結(jié)論清晰的給出來,以便查閱:
? ? ???【結(jié)論1】若有離散正弦信號(hào)
對(duì)x(n)做N點(diǎn)FFT得X(k),則在0<k<N/2范圍內(nèi)僅在k=f/(fs/N)處有值,若設(shè)此值為X=a+jb,則此值與離散正弦信號(hào)有如下關(guān)系
其中
結(jié)論中,為保證k=f/(fs/N)為整數(shù)(即不發(fā)生頻譜泄漏,要求f,fs,N均為正整數(shù),且N=mfs,m為正整數(shù),即N為整數(shù)倍的fs)
? ? ? ??【結(jié)論2】若有直流信號(hào)x(n)=A,對(duì)x(n)做N點(diǎn)FFT得X(k),則僅在k=0處有值,且此值X=AN,也可以寫為A=X/N。
?
附:三角函數(shù)積化和差公式
總結(jié)
以上是生活随笔為你收集整理的离散正(余)弦信号的时域与FFT变换后所得频域之间的关系(幅值和相角)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Qt::WindowFlags
- 下一篇: ctr 平滑_CTR预估中的贝叶斯平滑方