姜恩華,楊一軍,竇德召,汪徐德,陳得寶
(淮北師范大學(xué),安徽 淮北 235000)
數(shù)字信號(hào)處理課程中的傅里葉變換教學(xué)探索
姜恩華,楊一軍,竇德召,汪徐德,陳得寶
(淮北師范大學(xué),安徽 淮北 235000)
詳細(xì)分析了非周期信號(hào)的傅里葉變換和周期信號(hào)的傅里葉級(jí)數(shù)。借助時(shí)域采樣定理和頻域采樣定理,推導(dǎo)了連續(xù)非周期信號(hào)的傅里葉變換、序列的傅里葉變換和離散傅里葉變換X(k)之間的關(guān)系。借助X(k)計(jì)算非周期信號(hào)的頻譜,分析了連續(xù)周期信號(hào)的傅里葉級(jí)數(shù)和周期序列的傅里葉級(jí)數(shù)的差別。借助頻域采樣定理,推導(dǎo)了周期序列傅里葉級(jí)數(shù)與離散傅里葉變換X(k)之間的關(guān)系。借助X(k)計(jì)算周期序列的頻譜,在CCStudiov3.3軟件開(kāi)發(fā)環(huán)境下,編寫(xiě)C語(yǔ)言程序,實(shí)現(xiàn)快速傅里葉變換(FFT)算法,計(jì)算出X(k)。以矩形序列和正弦序列為例,借助X(k),求得矩形脈沖信號(hào)和正弦序列的頻譜結(jié)構(gòu)。
傅里葉變換;序列的傅里葉變換;離散傅里葉變換;傅里葉級(jí)數(shù)
傅里葉變換是信號(hào)與系統(tǒng)、數(shù)字信號(hào)處理課程的重要核心內(nèi)容之一,主要包括非周期信號(hào)的傅里葉變換和周期信號(hào)的傅里葉級(jí)數(shù)。非周期信號(hào)的傅里葉變換主要分為:連續(xù)非周期信號(hào)的傅里葉變換、序列的傅里葉變換和離散傅里葉變換;周期信號(hào)的傅里葉級(jí)數(shù)主要分為:連續(xù)周期信號(hào)的傅里葉級(jí)數(shù)和周期序列的傅里葉級(jí)數(shù)[1-3]。本文結(jié)合時(shí)域采樣定理和頻域采樣定理,歸納了非周期信號(hào)的傅里葉變換之間的關(guān)系和周期信號(hào)傅里葉級(jí)數(shù)之間的差別??梢钥闯?,通過(guò)離散傅里葉變換X(k)能夠表示出非周期信號(hào)和周期序列的頻譜。X(k)可以通過(guò)快速傅里葉變換FFT算法計(jì)算[4-6]。理順?lè)侵芷谛盘?hào)的傅里葉變換之間的關(guān)系和周期信號(hào)傅里葉級(jí)數(shù)之間的差別,對(duì)于如何開(kāi)展這部分內(nèi)容的教學(xué),有極大的幫助[7,8]。
1.1 非周期信號(hào)的傅里葉變換
非周期信號(hào)的傅里葉變換主要分為:連續(xù)非周期信號(hào)的傅里葉變換、序列的傅里葉變換和離散傅里葉變換。在時(shí)域?qū)B續(xù)非周期信號(hào)xa(t)進(jìn)行等間隔采樣,得到序列x(n);對(duì)序列x(n)截?cái)嗟玫接邢揲L(zhǎng)的序列,其長(zhǎng)度為M。連續(xù)非周期信號(hào)xa(t)的傅里葉變換公式為積分公式,其中模擬角頻率Ω和時(shí)間t都是連續(xù)變化的量,通過(guò)時(shí)域采樣把時(shí)間t離散化,若xa(t)為帶限信號(hào),采樣頻率fs≥2fc,結(jié)合t=nTs和ω=ΩTs公式,可以根據(jù)連續(xù)非周期信號(hào)xa(t)的傅里葉變換的正變換公式推導(dǎo)出序列x(n)的傅里葉變換的正變換公式,如圖1所示。若在時(shí)域?qū)B續(xù)非周期信號(hào)xa(t)進(jìn)行等間隔采樣,根據(jù)時(shí)域采樣定理,xa(t)的頻譜以Ωs為周期做周期延拓,結(jié)合t=nTs和ω=ΩTs公式,可以根據(jù)xa(t)的傅里葉變換的逆變換公式推導(dǎo)出序列x(n)的傅里葉變換的逆變換公式,如圖1所示。在序列的傅里葉變換公式中,由于數(shù)字域頻率ω仍然是連續(xù)變化的量,所以計(jì)算序列x(n)的傅里葉變換的逆變換公式仍要通過(guò)積分計(jì)算。若對(duì)X(ejω)的數(shù)字域頻率ω在一個(gè)周期[0,2π]內(nèi),等間隔采樣N個(gè)點(diǎn),把數(shù)字域頻率ω離散化,即ωk=(2π/N)k,只要滿足頻域采樣定理即N≥M,可以根據(jù)序列x(n)的傅里葉變換公式推導(dǎo)出有限長(zhǎng)序列的離散傅里葉變換公式,如圖1所示。
1.2 借助X(k)計(jì)算非周期信號(hào)的頻譜
根據(jù)離散傅里葉變換X(k)的第一層物理含義[4],X(k)是對(duì)X(ejω)在數(shù)字域頻率ω的一個(gè)周期[0,2π]內(nèi)等間隔采樣N個(gè)點(diǎn)得到的值。若頻域采樣點(diǎn)數(shù)N≥M,可以通過(guò)N個(gè)X(k)表示X(ejω),從而表示出非周期信號(hào)xa(t)的頻譜。
求非周期信號(hào)xa(t)的頻譜,可以對(duì)非周期信號(hào)xa(t)時(shí)域采樣,得到有限長(zhǎng)序列x(n),只要時(shí)域采樣滿足時(shí)域采樣定理,有限長(zhǎng)序列x(n)的離散傅里葉變換X(k)就可以表示非周期信號(hào)xa(t)的頻譜,如(1)式所示[4],其中Fs為對(duì)xa(t)時(shí)域采樣時(shí)的采樣頻率,N為在X(ejω)的數(shù)字域頻率ω的一個(gè)周期[0,2π]內(nèi)的采樣點(diǎn)數(shù),F(xiàn)為頻率分辨率,F(xiàn)=Fs/N。由于X(k)為離散值,采用(1)式計(jì)算非周期信號(hào)xa(t)的頻譜,只需計(jì)算出xa(t)的頻譜的N個(gè)值,即柵欄效應(yīng)。
Xa(kF)=TsX(k),k=0,1,2,3,…N-1
(1)
離散傅里葉變換X(k)通常使用快速傅里葉變換FFT算法計(jì)算,把X(k)代入(1)式,計(jì)算出非周期信號(hào)xa(t)的頻譜。
2.1 周期信號(hào)的傅里葉級(jí)數(shù)
2.2 借助X(k)計(jì)算周期序列的頻譜
3.1 離散傅里葉變換DFT的快速算法
離散傅里葉變換DFT的快速算法主要包括時(shí)域抽取法和頻域抽取法,本文以基2FFT算法為例,在CCStudiov3.3軟件集成開(kāi)發(fā)環(huán)境下[9],采用C語(yǔ)言編寫(xiě)程序[10],實(shí)現(xiàn)DFT的快速算法,計(jì)算出離散傅里葉變換X(k)。
3.2 應(yīng)用DFT求非周期信號(hào)的頻譜
采用基2FFT時(shí)域抽取法計(jì)算X(k),采用C語(yǔ)言編寫(xiě)程序,步驟如下。
(1)旋轉(zhuǎn)因子WNk的生成
采用遞推方法求解旋轉(zhuǎn)因子WNk,如(2)式所示,先求出旋轉(zhuǎn)因子WN0和WN1作為遞推的初始條件。
(2)
(2)倒位序列的生成
根據(jù)倒序的樹(shù)狀圖,第n個(gè)葉子節(jié)點(diǎn)到根節(jié)點(diǎn)的分支標(biāo)號(hào)為把n逐次除以2取余數(shù),自下而上依次標(biāo)號(hào)。倒序數(shù)為從葉子節(jié)點(diǎn)到根節(jié)點(diǎn)對(duì)應(yīng)的二進(jìn)制數(shù)轉(zhuǎn)化的十進(jìn)制數(shù)。假設(shè)求得的倒序數(shù)為m,若n (3)時(shí)域抽取算法DIT-FFT程序設(shè)計(jì) 根據(jù)時(shí)域抽取算法DIT-FFT運(yùn)算流圖,采用3層循環(huán)結(jié)構(gòu)計(jì)算出X(k)。有多少級(jí)蝶形運(yùn)算,外層循環(huán)就執(zhí)行幾次;每級(jí)蝶形有幾個(gè)蝶形分組,中層循環(huán)就執(zhí)行幾次;每個(gè)蝶形分組包含幾個(gè)蝶形,內(nèi)層循環(huán)就執(zhí)行幾次;內(nèi)層循環(huán)的循環(huán)體為計(jì)算一個(gè)基2FFT的時(shí)域抽取蝶形運(yùn)算流圖的過(guò)程。 在CCStudio v3.3軟件集成開(kāi)發(fā)環(huán)境下,采用C語(yǔ)言編寫(xiě)程序,實(shí)現(xiàn)了基2FFT的時(shí)域抽取算法DIT-FFT,以矩形序列R10(n)為例,計(jì)算其X(k),通過(guò)CCStudio v3.3軟件的view/graph觀察,矩形序列的時(shí)域波形如圖(4)所示,其頻譜如圖(5)所示,基2FFT的時(shí)域抽取算法DIT-FFT計(jì)算出的X(k)如圖(6)所示。 比較圖(5)和圖(6)可知,X(k)與矩形序列的傅里葉變換X(ejω)是一致的,與矩形脈沖信號(hào)的傅里葉變換F(jΩ)也是一致的,即通過(guò)X(k)可以表示矩形脈沖信號(hào)的頻譜。 3.3 應(yīng)用DFT求周期序列的頻譜 采用基2FFT頻域抽取法計(jì)算X(k),采用C語(yǔ)言編寫(xiě)程序,步驟如下。 (1)旋轉(zhuǎn)因子WNk的生成 旋轉(zhuǎn)因子WNk可以按照式(3)直接計(jì)算。 (3) (2)頻域抽取算法DIF-FFT程序設(shè)計(jì) 根據(jù)頻域抽取算法DIF-FFT運(yùn)算流圖,采用3層循環(huán)結(jié)構(gòu)計(jì)算出X(k)。有多少級(jí)蝶形運(yùn)算,外層循環(huán)就執(zhí)行幾次;每級(jí)蝶形有幾個(gè)旋轉(zhuǎn)因子WNk,中層循環(huán)就執(zhí)行幾次;每個(gè)旋轉(zhuǎn)因子WNk對(duì)應(yīng)幾個(gè)蝶形,內(nèi)層循環(huán)就執(zhí)行幾次;內(nèi)層循環(huán)的循環(huán)體為計(jì)算一個(gè)基2FFT的頻域抽取蝶形運(yùn)算流圖的過(guò)程。 (3)計(jì)算出X(k) 根據(jù)倒序的樹(shù)狀圖,第n個(gè)葉子節(jié)點(diǎn)到根節(jié)點(diǎn)的分支標(biāo)號(hào)為把第n個(gè)葉子節(jié)點(diǎn)對(duì)應(yīng)的倒序數(shù)逐次除以2取余數(shù),自下而上依次標(biāo)號(hào)。正常順序數(shù)為從葉子節(jié)點(diǎn)到根節(jié)點(diǎn)對(duì)應(yīng)的二進(jìn)制數(shù)轉(zhuǎn)化的十進(jìn)制數(shù)。假設(shè)求得的正常順序數(shù)為m,若n 在CCStudio v3.3集成開(kāi)發(fā)環(huán)境下,采用C語(yǔ)言編寫(xiě)程序,實(shí)現(xiàn)了基2FFT的頻域抽取算法DIF-FFT,以正弦序列sin(π/32*n)為例,計(jì)算其X(k),通過(guò)CCStudio v3.3的view/graph觀察,正弦序列的時(shí)域波形如圖(7)所示,其頻譜如圖(8)所示,基2FFT的頻域抽取算法DIF-FFT計(jì)算出的X(k)如圖(9)所示。比較圖(8)和圖(9)可知,在主值區(qū)間內(nèi),X(k)與正弦序列的傅里葉變換是相同的,可見(jiàn)X(k)與正弦序列的傅里葉級(jí)數(shù)的系數(shù)也是相同的。由于正弦序列被截?cái)酁?56點(diǎn),在觀察X(k)時(shí),能夠觀察到截?cái)嘈?yīng),離散譜線向附近展寬。 本文詳細(xì)分析了非周期信號(hào)的傅里葉變換和周期信號(hào)的傅里葉級(jí)數(shù)。對(duì)于非周期信號(hào)的傅里葉變換,結(jié)合時(shí)域采樣定理,推導(dǎo)了連續(xù)非周期信號(hào)的傅里葉變換與序列傅里葉變換之間的關(guān)系;結(jié)合頻域采樣定理,推導(dǎo)了序列傅里葉變換與離散傅里葉變換之間的關(guān)系。對(duì)于周期信號(hào)傅里葉級(jí)數(shù),指出了連續(xù)周期信號(hào)傅里葉級(jí)數(shù)與周期序列傅里葉級(jí)數(shù)的區(qū)別;結(jié)合頻域采樣定理,推導(dǎo)了周期序列傅里葉級(jí)數(shù)與離散傅里葉變換之間的關(guān)系??梢钥闯?,借助離散傅里葉變換X(k)可以求得非周期信號(hào)的頻譜和周期序列的頻譜。在CCStudio v3.3軟件集成開(kāi)發(fā)環(huán)境下,編寫(xiě)實(shí)現(xiàn)FFT快速算法的C語(yǔ)言程序,以矩形序列和正弦序列為例,計(jì)算其X(k),通過(guò)CCStudio v3.3軟件的view/graph觀察,得到了矩形脈沖信號(hào)的頻譜結(jié)構(gòu)圖和正弦序列的頻譜結(jié)構(gòu)圖,并觀察到了柵欄效應(yīng)和截?cái)嘈?yīng)。 [1] 奧本海姆,威爾斯基,納瓦布.信號(hào)與系統(tǒng)[M].劉樹(shù)棠,譯.西安:西安交通大學(xué)出版社,2004. [2] 鄭君里,應(yīng)啟珩,楊為理.信號(hào)與系統(tǒng)(第三版)[M].北京:高等教育出版社,2011. [3] 陳生譚,郭寶龍,李學(xué)武,高建寧.信號(hào)與系統(tǒng)(第三版)[M].西安:西安電子科技大學(xué)出版社,2014. [4] 高西全,丁玉美.數(shù)字信號(hào)處理(第四版)[M].西安:西安電子科技大學(xué)出版社,2016. [5] A.V.奧本海姆,R.W.謝弗,J.R.巴克.離散時(shí)間信號(hào)處理(第二版)[M].劉樹(shù)棠,黃建國(guó),譯.西安:西安交通大學(xué)出版社,2004. [6] 程佩青.數(shù)字信號(hào)處理教程(第四版)[M].北京:清華大學(xué)出版社,2013. [7] 雷大軍,黃鐵鐵,姚敏,等.傅里葉變換教學(xué)方法探討[J].湘南學(xué)院學(xué)報(bào),2015,(2):75-77. [8] 丹梅,曹聚亮,吳京,等.關(guān)于傅里葉變換性質(zhì)教學(xué)方法的探討[J].電氣電子教學(xué)學(xué)報(bào),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編程開(kāi)發(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é)研究重點(diǎn)項(xiàng)目(KJ2016A628);安徽省教育廳名師工作室(2015msgzs138);安徽省高等教育振興計(jì)劃項(xiàng)目(2014zdjy060) 姜恩華(1974-),男,碩士,淮北師范大學(xué)物理與電子信息學(xué)院副教授,研究方向:數(shù)字信號(hào)處理與DSP技術(shù)。 TN911.72 A 1674-3229(2017)01-0052-054 結(jié)論