实数序列频谱的共轭对称性(DFT与IDFT仿真实现)
一、基礎知識
1、傅里葉變換:通俗來講,是以時間為自變量的信號與以頻率為自變量的“頻譜函數”之間的某種轉換關系。
DFT:即離散傅里葉變換,對離散序列進行傅里葉變換。設x(n)為長度為M的有限長序列,其N點DFT定義(公式):
?
?其中? ? ? ? ?N 是DFT變換區間長度,其中X(0)和X(N/2)應為實數。
?說明:
1.兩個定義式均出現兩個變量k,n。
n為變量時,對所有的n加權求和得到一個X(k),共N個;
k為變量時,對所有的k加權求和得到一個x(n),共N個;
2.DFT的變換結果與變換長度N有關。
?2、實數序列的頻譜應當是共軛對稱的
設X(K)為序列頻譜,N為總點數,則應滿足X(K) = X(N - K) 或者? X*(jw) = X(-jw)
證明:
實信號x(t) 等于它的共軛x*(t)
所以x(t) 的傅氏變換X(f)等于
x*(t)的傅氏變換X*(-f)
所以X*(-f)等于X(f)
二、問題描述
描述問題:
剛開始構造實數序列頻譜時,頻譜序列共計N個點,舉例:N=8;
設a為實數序列頻譜,b為實數序列,利用構造好的頻譜序列a通過IDFT(逆離散傅里葉變換)得到實數序列。
這里需要注意:頻譜序列特點:
1.必須是共軛對稱性,X(k) = X*(N-k)
2.當k=0或N/2時,必須為實數,物理意義代表實數序列的求和。
注:剛開始時我以為只要符合共軛對稱就行,所以構造的a頻譜序列是對稱且共軛,沒有考慮到k=0和k=N/2的情況!因此,導致IDFT后得到的序列并不是實數序列。
a = [1+5j 2+4j 3-5j 3-5j 3+5j 3+5j 2-4j 1-5j] b = ifft(fftshift(a))?
三、原因分析:
實數序列的頻譜滿足的條件:
1.共軛對稱性。
2.k=0和k=N/2時頻譜值為實數,物理意義為序列的和。
四、解決方案:
a = [2 1+5j 2+4j 3-5j 6 3+5j 2-4j 1-5j]b = ifft(fftshift(a))b =2.5000 1.8536 -2.0000 -0.8536 0.5000 1.1464 3.0000 -0.1464?
總結
以上是生活随笔為你收集整理的实数序列频谱的共轭对称性(DFT与IDFT仿真实现)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MFC创建模式对话框与非模式对话框
- 下一篇: PyTorch框架学习十六——正则化与D