官术网_书友最值得收藏!

  • 數字信號處理
  • 姚劍清編著
  • 1559字
  • 2024-05-17 09:30:22

1.3 離散傅里葉變換(DFT)舉例

圖1.3a表示任意一個數字信號xanT)。雖然信號xanT)是從n=-∞變化到+∞的(任何時域信號,包括模擬信號和數字信號,在時間上都是從t=-∞變化到t=+∞的),但實際上只能取它的一小部分,比如圖1.3a中從xa(0)至xa(3T)的4個樣點(這里的4個樣點只是舉例,DFT的實際樣點數可以很大,比如32768個樣點)。

有了這4個樣點,就可以分析數字信號xanT)在t=0~3T區間內的頻率組成。具體方法是,把這4個樣點向兩側周期性地無限延伸,以得到一個時間上從-∞變化到+∞的數字信號xnT),如圖1.3b所示。現在的任務也就變成了對圖1.3b中的周期信號xnT)計算頻率組成。

由于xnT)是周期信號,就可以展開為傅里葉級數[此時的xnT)可看作是連續時域信號,并假設在t=nT以外所有時間點上的幅度處處為零]。而傅里葉級數中每一項的系數Xk)表示信號xnT)中包含的頻率分量。根據傅里葉級數展開的計算規則,系數Xk)可計算為

對于式(1.2),暫時不必關心計算細節(后面的第12章將具體說明)。只需知道,從式(1.2)可以算出從X(0)~X(3)的4個傅里葉級數的系數。在具體計算時,先令k=0,由于e-jnkπ/2=e0=1,所以X(0)=x(0)+xT)+x(2T)+x(3T)。這實際上是在計算xnT)的直流分量(還應除以4,這在后面第12章說明)。然后令k=1,就可算得X(1)=x(0)×e0+xT)×e-jπ/2+x(2T)×e-jπ+x(3T)×e-j3π/2。再令k=2,3,就可分別算得X(2)和X(3)。這就得到了數字信號xnT)的4個頻率分量X(0)、X(1)、X(2)和X(3)。這4個頻率分量就是圖1.3a中從x(0)~x(3T)的4個樣點序列的離散傅里葉變換,可以用來估算信號xanT)在t=0~3T時間區間內的頻率組成。

圖1.3 用數字信號中的部分樣點組成周期信號

a)數字信號xanT) b)周期信號xnT

根據式(1.2)的計算方法,可以畫出相應的DFT計算圖,如圖1.4a所示。圖中,當k=0時,只需把x(0)~x(3T)加起來,就得到X(0)。當k=1時,需將x(0)~x(3T)分別與1、e-jπ/2、e-jπ、e-j3π/2相乘,然后把它們加起來,就得到X(1)。當k=2(或3)時,需將x(0)~x(3T)分別與1、e-jπ/2、e-jπ、e-j3π/2的平方(或立方)相乘,再把乘積項加起來就得到X(2)[或X(3)]。對于圖1.4a中DFT計算圖的正確性,可以用圖1.4b和c中的兩個信號序列來測試。下面來說明。

圖1.4b左邊的x1n)是一個直流信號。用圖1.4a中的結構算出的結果為X1(0)=4和X1(1)=X1(2)=X1(3)=0,如圖1.4b右邊所示。這表示輸入信號中只有直流分量,其他頻率分量都為零。這當然是對的。

圖1.4c左邊的x2n)是一個頻率等于fS/4的零相位余弦信號。由于信號頻率為采樣率fS的1/4,所以每個信號周期內被采得4個樣點,如圖1.4c左邊所示。用圖1.4a中的結構算出的結果為X2(1)=X2(3)=2.0和X2(0)=X2(2)=0,如圖1.4c右邊所示。這表示輸入信號中只有頻率為fS/4的分量,其他頻率分量都為零。這當然也是對的。這就完成了用信號序列x1n)和x2n)對圖1.4a中DFT計算圖的驗證[在圖1.4c的右邊,fS為采樣率,X2(1)和X2(3)都表示頻率等于fS/4的分量,而且兩者是同一個頻率分量,X(0)表示直流分量,X(2)表示位于fS/2的頻率分量。后面第3章將詳細說明這些概念]。

圖1.4a中計算圖的要點是,圖中的大多數乘法計算都是重復的(樣點數越多越明顯)。利用這一特點,可以使計算量大為節省,這就是所謂的快速傅里葉變換(Fast Fourier Transform,FFT)。此外,圖1.4b和圖1.4c中右側的頻率譜應該看成是以采樣率fS為周期向兩側無限重復的,這是數字信號處理中最基本的概念。或者說,任何一個數字信號的頻率譜都是以采樣率fS為周期而向兩側無限重復的。

圖1.4 有限長信號序列的DFT

a)DFT計算圖 b)輸入為直流信號 c)輸入為零相位余弦信號

小測試復指數e-jπ/2、e-jπ和e(2-j3π/2)的模各是多少?答:前兩個是1,后一個是e2≈7.3。

主站蜘蛛池模板: 金阳县| 什邡市| 呼伦贝尔市| 曲周县| 闸北区| 新兴县| 民和| 永和县| 博野县| 彭山县| 大化| 页游| 祥云县| 黑龙江省| 杨浦区| 徐闻县| 阜宁县| 棋牌| 虎林市| 乌恰县| 无为县| 彩票| 华宁县| 舒兰市| 开阳县| 富平县| 花莲市| 民和| 弥渡县| 丹凤县| 镇沅| 宜兴市| 青海省| 泗水县| 郓城县| 宣汉县| 霍州市| 洛南县| 孟连| 苍溪县| 武威市|