姜恩華,楊一軍,竇德召,汪徐德,陳得寶
(淮北師范大學(xué),安徽 淮北 235000)
數(shù)字信號處理課程中的傅里葉變換教學(xué)探索
姜恩華,楊一軍,竇德召,汪徐德,陳得寶
(淮北師范大學(xué),安徽 淮北 235000)
詳細分析了非周期信號的傅里葉變換和周期信號的傅里葉級數(shù)。借助時域采樣定理和頻域采樣定理,推導(dǎo)了連續(xù)非周期信號的傅里葉變換、序列的傅里葉變換和離散傅里葉變換X(k)之間的關(guān)系。借助X(k)計算非周期信號的頻譜,分析了連續(xù)周期信號的傅里葉級數(shù)和周期序列的傅里葉級數(shù)的差別。借助頻域采樣定理,推導(dǎo)了周期序列傅里葉級數(shù)與離散傅里葉變換X(k)之間的關(guān)系。借助X(k)計算周期序列的頻譜,在CCStudiov3.3軟件開發(fā)環(huán)境下,編寫C語言程序,實現(xiàn)快速傅里葉變換(FFT)算法,計算出X(k)。以矩形序列和正弦序列為例,借助X(k),求得矩形脈沖信號和正弦序列的頻譜結(jié)構(gòu)。
傅里葉變換;序列的傅里葉變換;離散傅里葉變換;傅里葉級數(shù)
傅里葉變換是信號與系統(tǒng)、數(shù)字信號處理課程的重要核心內(nèi)容之一,主要包括非周期信號的傅里葉變換和周期信號的傅里葉級數(shù)。非周期信號的傅里葉變換主要分為:連續(xù)非周期信號的傅里葉變換、序列的傅里葉變換和離散傅里葉變換;周期信號的傅里葉級數(shù)主要分為:連續(xù)周期信號的傅里葉級數(shù)和周期序列的傅里葉級數(shù)[1-3]。本文結(jié)合時域采樣定理和頻域采樣定理,歸納了非周期信號的傅里葉變換之間的關(guān)系和周期信號傅里葉級數(shù)之間的差別。可以看出,通過離散傅里葉變換X(k)能夠表示出非周期信號和周期序列的頻譜。X(k)可以通過快速傅里葉變換FFT算法計算[4-6]。理順非周期信號的傅里葉變換之間的關(guān)系和周期信號傅里葉級數(shù)之間的差別,對于如何開展這部分內(nèi)容的教學(xué),有極大的幫助[7,8]。
1.1 非周期信號的傅里葉變換
非周期信號的傅里葉變換主要分為:連續(xù)非周期信號的傅里葉變換、序列的傅里葉變換和離散傅里葉變換。在時域?qū)B續(xù)非周期信號xa(t)進行等間隔采樣,得到序列x(n);對序列x(n)截斷得到有限長的序列,其長度為M。連續(xù)非周期信號xa(t)的傅里葉變換公式為積分公式,其中模擬角頻率Ω和時間t都是連續(xù)變化的量,通過時域采樣把時間t離散化,若xa(t)為帶限信號,采樣頻率fs≥2fc,結(jié)合t=nTs和ω=ΩTs公式,可以根據(jù)連續(xù)非周期信號xa(t)的傅里葉變換的正變換公式推導(dǎo)出序列x(n)的傅里葉變換的正變換公式,如圖1所示。若在時域?qū)B續(xù)非周期信號xa(t)進行等間隔采樣,根據(jù)時域采樣定理,xa(t)的頻譜以Ωs為周期做周期延拓,結(jié)合t=nTs和ω=ΩTs公式,可以根據(jù)xa(t)的傅里葉變換的逆變換公式推導(dǎo)出序列x(n)的傅里葉變換的逆變換公式,如圖1所示。在序列的傅里葉變換公式中,由于數(shù)字域頻率ω仍然是連續(xù)變化的量,所以計算序列x(n)的傅里葉變換的逆變換公式仍要通過積分計算。若對X(ejω)的數(shù)字域頻率ω在一個周期[0,2π]內(nèi),等間隔采樣N個點,把數(shù)字域頻率ω離散化,即ωk=(2π/N)k,只要滿足頻域采樣定理即N≥M,可以根據(jù)序列x(n)的傅里葉變換公式推導(dǎo)出有限長序列的離散傅里葉變換公式,如圖1所示。
1.2 借助X(k)計算非周期信號的頻譜
根據(jù)離散傅里葉變換X(k)的第一層物理含義[4],X(k)是對X(ejω)在數(shù)字域頻率ω的一個周期[0,2π]內(nèi)等間隔采樣N個點得到的值。若頻域采樣點數(shù)N≥M,可以通過N個X(k)表示X(ejω),從而表示出非周期信號xa(t)的頻譜。
求非周期信號xa(t)的頻譜,可以對非周期信號xa(t)時域采樣,得到有限長序列x(n),只要時域采樣滿足時域采樣定理,有限長序列x(n)的離散傅里葉變換X(k)就可以表示非周期信號xa(t)的頻譜,如(1)式所示[4],其中Fs為對xa(t)時域采樣時的采樣頻率,N為在X(ejω)的數(shù)字域頻率ω的一個周期[0,2π]內(nèi)的采樣點數(shù),F(xiàn)為頻率分辨率,F(xiàn)=Fs/N。由于X(k)為離散值,采用(1)式計算非周期信號xa(t)的頻譜,只需計算出xa(t)的頻譜的N個值,即柵欄效應(yīng)。
Xa(kF)=TsX(k),k=0,1,2,3,…N-1
(1)
離散傅里葉變換X(k)通常使用快速傅里葉變換FFT算法計算,把X(k)代入(1)式,計算出非周期信號xa(t)的頻譜。
2.1 周期信號的傅里葉級數(shù)
2.2 借助X(k)計算周期序列的頻譜
3.1 離散傅里葉變換DFT的快速算法
離散傅里葉變換DFT的快速算法主要包括時域抽取法和頻域抽取法,本文以基2FFT算法為例,在CCStudiov3.3軟件集成開發(fā)環(huán)境下[9],采用C語言編寫程序[10],實現(xiàn)DFT的快速算法,計算出離散傅里葉變換X(k)。
3.2 應(yīng)用DFT求非周期信號的頻譜
采用基2FFT時域抽取法計算X(k),采用C語言編寫程序,步驟如下。
(1)旋轉(zhuǎn)因子WNk的生成
采用遞推方法求解旋轉(zhuǎn)因子WNk,如(2)式所示,先求出旋轉(zhuǎn)因子WN0和WN1作為遞推的初始條件。
(2)
(2)倒位序列的生成
根據(jù)倒序的樹狀圖,第n個葉子節(jié)點到根節(jié)點的分支標(biāo)號為把n逐次除以2取余數(shù),自下而上依次標(biāo)號。倒序數(shù)為從葉子節(jié)點到根節(jié)點對應(yīng)的二進制數(shù)轉(zhuǎn)化的十進制數(shù)。假設(shè)求得的倒序數(shù)為m,若n (3)時域抽取算法DIT-FFT程序設(shè)計 根據(jù)時域抽取算法DIT-FFT運算流圖,采用3層循環(huán)結(jié)構(gòu)計算出X(k)。有多少級蝶形運算,外層循環(huán)就執(zhí)行幾次;每級蝶形有幾個蝶形分組,中層循環(huán)就執(zhí)行幾次;每個蝶形分組包含幾個蝶形,內(nèi)層循環(huán)就執(zhí)行幾次;內(nèi)層循環(huán)的循環(huán)體為計算一個基2FFT的時域抽取蝶形運算流圖的過程。 在CCStudio v3.3軟件集成開發(fā)環(huán)境下,采用C語言編寫程序,實現(xiàn)了基2FFT的時域抽取算法DIT-FFT,以矩形序列R10(n)為例,計算其X(k),通過CCStudio v3.3軟件的view/graph觀察,矩形序列的時域波形如圖(4)所示,其頻譜如圖(5)所示,基2FFT的時域抽取算法DIT-FFT計算出的X(k)如圖(6)所示。 比較圖(5)和圖(6)可知,X(k)與矩形序列的傅里葉變換X(ejω)是一致的,與矩形脈沖信號的傅里葉變換F(jΩ)也是一致的,即通過X(k)可以表示矩形脈沖信號的頻譜。 3.3 應(yīng)用DFT求周期序列的頻譜 采用基2FFT頻域抽取法計算X(k),采用C語言編寫程序,步驟如下。 (1)旋轉(zhuǎn)因子WNk的生成 旋轉(zhuǎn)因子WNk可以按照式(3)直接計算。 (3) (2)頻域抽取算法DIF-FFT程序設(shè)計 根據(jù)頻域抽取算法DIF-FFT運算流圖,采用3層循環(huán)結(jié)構(gòu)計算出X(k)。有多少級蝶形運算,外層循環(huán)就執(zhí)行幾次;每級蝶形有幾個旋轉(zhuǎn)因子WNk,中層循環(huán)就執(zhí)行幾次;每個旋轉(zhuǎn)因子WNk對應(yīng)幾個蝶形,內(nèi)層循環(huán)就執(zhí)行幾次;內(nèi)層循環(huán)的循環(huán)體為計算一個基2FFT的頻域抽取蝶形運算流圖的過程。 (3)計算出X(k) 根據(jù)倒序的樹狀圖,第n個葉子節(jié)點到根節(jié)點的分支標(biāo)號為把第n個葉子節(jié)點對應(yīng)的倒序數(shù)逐次除以2取余數(shù),自下而上依次標(biāo)號。正常順序數(shù)為從葉子節(jié)點到根節(jié)點對應(yīng)的二進制數(shù)轉(zhuǎn)化的十進制數(shù)。假設(shè)求得的正常順序數(shù)為m,若n 在CCStudio v3.3集成開發(fā)環(huán)境下,采用C語言編寫程序,實現(xiàn)了基2FFT的頻域抽取算法DIF-FFT,以正弦序列sin(π/32*n)為例,計算其X(k),通過CCStudio v3.3的view/graph觀察,正弦序列的時域波形如圖(7)所示,其頻譜如圖(8)所示,基2FFT的頻域抽取算法DIF-FFT計算出的X(k)如圖(9)所示。比較圖(8)和圖(9)可知,在主值區(qū)間內(nèi),X(k)與正弦序列的傅里葉變換是相同的,可見X(k)與正弦序列的傅里葉級數(shù)的系數(shù)也是相同的。由于正弦序列被截斷為256點,在觀察X(k)時,能夠觀察到截斷效應(yīng),離散譜線向附近展寬。 本文詳細分析了非周期信號的傅里葉變換和周期信號的傅里葉級數(shù)。對于非周期信號的傅里葉變換,結(jié)合時域采樣定理,推導(dǎo)了連續(xù)非周期信號的傅里葉變換與序列傅里葉變換之間的關(guān)系;結(jié)合頻域采樣定理,推導(dǎo)了序列傅里葉變換與離散傅里葉變換之間的關(guān)系。對于周期信號傅里葉級數(shù),指出了連續(xù)周期信號傅里葉級數(shù)與周期序列傅里葉級數(shù)的區(qū)別;結(jié)合頻域采樣定理,推導(dǎo)了周期序列傅里葉級數(shù)與離散傅里葉變換之間的關(guān)系。可以看出,借助離散傅里葉變換X(k)可以求得非周期信號的頻譜和周期序列的頻譜。在CCStudio v3.3軟件集成開發(fā)環(huán)境下,編寫實現(xiàn)FFT快速算法的C語言程序,以矩形序列和正弦序列為例,計算其X(k),通過CCStudio v3.3軟件的view/graph觀察,得到了矩形脈沖信號的頻譜結(jié)構(gòu)圖和正弦序列的頻譜結(jié)構(gòu)圖,并觀察到了柵欄效應(yīng)和截斷效應(yīng)。 [1] 奧本海姆,威爾斯基,納瓦布.信號與系統(tǒng)[M].劉樹棠,譯.西安:西安交通大學(xué)出版社,2004. [2] 鄭君里,應(yīng)啟珩,楊為理.信號與系統(tǒng)(第三版)[M].北京:高等教育出版社,2011. [3] 陳生譚,郭寶龍,李學(xué)武,高建寧.信號與系統(tǒng)(第三版)[M].西安:西安電子科技大學(xué)出版社,2014. [4] 高西全,丁玉美.數(shù)字信號處理(第四版)[M].西安:西安電子科技大學(xué)出版社,2016. [5] A.V.奧本海姆,R.W.謝弗,J.R.巴克.離散時間信號處理(第二版)[M].劉樹棠,黃建國,譯.西安:西安交通大學(xué)出版社,2004. [6] 程佩青.數(shù)字信號處理教程(第四版)[M].北京:清華大學(xué)出版社,2013. [7] 雷大軍,黃鐵鐵,姚敏,等.傅里葉變換教學(xué)方法探討[J].湘南學(xué)院學(xué)報,2015,(2):75-77. [8] 丹梅,曹聚亮,吳京,等.關(guān)于傅里葉變換性質(zhì)教學(xué)方法的探討[J].電氣電子教學(xué)學(xué)報,2013,35(2):66-68. [9] CCStudio v3.3[EB/OL].http://www.ti.com.cn/tool/cn/ccstudio,2014-4. [10] Rulph Chassaing.DSP原理及其C編程開發(fā)技術(shù)[M].韓月秋,譯.北京:電子工業(yè)出版社,2005. Teaching Research of the Fourier Transform in the Digital Signal Processing JIANGEn-hua,YANGYi-jun,DOUDe-zhao,WANGXu-de,CHENDe-bao (HuaibeiNormalUniversity,Huaibei235000,China) In the paper,the Fourier transformation of the Non-periodic signal and the Fourier series of periodic signal were analyzed in detail.By using the time domain sampling theorem and the frequency domain sampling theorem,the relationship of the Fourier transformation of the Non-periodic signal,the sequences Fourier transform and the discrete Fourier transform X(k) were deduced.The frequency spectrum of the non-periodic signal was calculated by using X(k).The difference between the Fourier series of the continuous periodic signal and the Fourier series of the periodic sequences is analyzed.By using the frequency domain sampling theorem, the relationship of the Fourier series of the periodic sequences and the discrete Fourier transform X(k) were deduced.The frequency spectrum of the periodic sequences was calculated by using X(k).Using the CCStudio v3.3 software,the fast Fourier transform algorithm(FFT) was implemented by the C language program,the X(k) was calculated by the FFT algorithm. Using the example of the Rectangular sequence and the Sine sequence,the frequency spectrum of Rectangular pulse signal and the Sine sequence were obtained by using X(k). Fourier transformation; sequences Fourier transform; discrete Fourier transform; Fourier series 2016-12-05 安徽省高校自然科學(xué)研究重點項目(KJ2016A628);安徽省教育廳名師工作室(2015msgzs138);安徽省高等教育振興計劃項目(2014zdjy060) 姜恩華(1974-),男,碩士,淮北師范大學(xué)物理與電子信息學(xué)院副教授,研究方向:數(shù)字信號處理與DSP技術(shù)。 TN911.72 A 1674-3229(2017)01-0052-054 結(jié)論