程俊
摘要:數(shù)字信號處理是一門理論性強(qiáng)、教學(xué)難度大、學(xué)習(xí)難度大的學(xué)科,Matlab具有強(qiáng)大的信號處理功能。本文將Matlab引入到教學(xué)中,給出了利用DFT分析連續(xù)非周期信號頻譜的分析實例,通過仿真圖形不但提高了學(xué)生的學(xué)習(xí)興趣,幫助學(xué)生更好理解原理和相關(guān)概念,還能提高學(xué)生分析問題和解決問題的能力。
關(guān)鍵詞:數(shù)字信號處理;DFT;頻譜分析
中圖分類號:TP37 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2016)09-0241-02
Application of MATLAB in Digital Signal Processing Teaching
CHENG Jun
(College of Physical and Information Science, Hunan Normal University, Changsha 410081, China)
Abstract: Digital signal processing is a subject with strong theory and great difficulty in teaching and learning. Matlab has powerful signal processing function. This paper gives an example of using DFT to analyze the spectrum of continuous non periodic signals.Analyzing examples by Matlab simulation in teaching not only can improve the students' interest in learning, help students better understanding the principles and related concepts, and still can improve students' ability analysis to analyze and solve problems.
Key words: digital signal processing; DFT; spectrum analysis
《數(shù)字信號處理》是通信專業(yè)和電子技術(shù)專業(yè)的專業(yè)基礎(chǔ)課。該課程介紹了數(shù)字信號處理的基本理論、基本概念和基本方法,主要討論了時域離散信號和系統(tǒng)的時域和頻域分析、離散傅里葉變換及其快速算法、IIR和FIR數(shù)字濾波器的設(shè)計。使學(xué)生掌握離散系統(tǒng)處理連續(xù)信號,利用DFT對信號進(jìn)行譜分析,數(shù)字濾波器的設(shè)計和實現(xiàn)。為進(jìn)一步學(xué)習(xí)有關(guān)通信、電子技術(shù)等方面的課程打下良好的基礎(chǔ)。
本文以采用DFT分析連續(xù)非周期信號的頻譜為教學(xué)實例,對Matlab在數(shù)字信號處理教學(xué)中的仿真應(yīng)用進(jìn)行探討。由于連續(xù)非周期信號x(t)的頻譜是連續(xù)函數(shù),需要對其進(jìn)行時域和頻域的離散化處理以近似分析對應(yīng)的頻譜,掌握整個過程中出現(xiàn)的現(xiàn)象是該門課程的一個難點內(nèi)容,通過Matlab仿真將頻譜分析現(xiàn)象運用圖形來講解,便于學(xué)生理解其物理含義,從而達(dá)到事半功倍的教學(xué)效果。
1 混疊現(xiàn)象
對于連續(xù)信號x(t),DFT計算出的頻譜是連續(xù)信號頻譜周期化后在[0,2π)范圍的抽樣值,如果抽樣頻率不滿足抽樣定理,或者連續(xù)信號不是帶限信號,就會出現(xiàn)信號頻譜的混疊。 對連續(xù)信號[xt=e-1000t],在10-5精度下,x(t)為fmax=2000Hz的帶限信號,若取時間段t≤|0.05|s,Δt=5*10-5時間間隔時,可在Matlab中產(chǎn)生平滑的時域波形和頻譜圖,對該連續(xù)信號進(jìn)行時域抽樣,分別選擇抽樣頻率為fsam=1kHz、5kHz,所得頻譜如圖1(a)所示。從圖可見fsam=1kHz時出現(xiàn)嚴(yán)重頻譜混疊,fsam=5kHz時沒有出現(xiàn)頻譜混疊。
對x(t)信號采用fsam=5000Hz、1000Hz頻率抽樣后的時域離散序列x1[k]和x2[k]分別采用sinc和3次樣條內(nèi)插函數(shù)重構(gòu)x(t),如圖1(b)所示,對于x1[k]采用sinc函數(shù)和3次樣條函數(shù)時重構(gòu)信號與原信號的最大誤差分別為0.0363和0.0317,說明重構(gòu)的精度相當(dāng)不錯。對于x2[k]采用sinc函數(shù)和3次樣條函數(shù)時重構(gòu)信號與原信號的最大誤差分別為0.1852和0.1679,說明重構(gòu)的誤差很大,這時已不能從x2[k]中恢復(fù)原信號x(t)了。
2 泄漏現(xiàn)象
如果連續(xù)信號x(t)時域無限長,則離散化后的序列x[k]也是無限長,需要進(jìn)行加窗截短處理后成為有限長序列才能進(jìn)行DFT分析??紤]x(t)=cos2πft,f=200Hz,以抽樣頻率fsam=600Hz對該信號進(jìn)行抽樣,并分別用N=32和64的矩形窗分別進(jìn)行截短,將N點截短信號補(bǔ)0后做512點DFT分析,結(jié)果如圖2(a)所示。從圖可見,加窗處理對頻譜分析造成了兩個影響:頻譜中出現(xiàn)了多余的頻率分量,稱為頻率泄漏。譜線變成了具有一定寬度的譜峰,譜峰的寬度與信號的長度成反比。針對影響,比較圖2(a)中N=32和64點情況,增加窗口的長度N并不能減少頻率泄漏,必須通過選擇不同的窗函數(shù)來改善。圖2(b)采用漢明窗對無限長序列進(jìn)行N=32和64點的截短處理再補(bǔ)零做512點的DFT變換,可見旁瓣泄漏大大減少了。對于影響,可通過增加窗口的長度N來減少主瓣寬度,從而改善頻率分辨率??紤]x(t)=cos2πf1t+0.15cos2πf2t,f1=100Hz,f2=150Hz,以抽樣頻率fsam=600Hz對該
信號進(jìn)行抽樣,分別用矩形窗和漢明窗取N=25和50點進(jìn)行截短,通過補(bǔ)零進(jìn)行512點的
DFT結(jié)果如圖3所示。可見矩形窗旁瓣泄漏大,難以檢測幅度較小的頻率分量f2,因而采用漢明窗,當(dāng)N=25時,頻率分辨率低,仍難以檢測f2,當(dāng)N=50時,頻率分辨率提高,能很清楚顯示出幅度較小的頻率分量。3 柵欄現(xiàn)象
對連續(xù)信號進(jìn)行時域抽樣和加窗處理后得到有限長序列,利用N點的DFT計算有限長序列的頻譜也是長度為N的序列,實際上是周期化后的連續(xù)頻譜在[0,2π)范圍內(nèi)的等間隔采樣。由于頻譜是離散序列,因而無法反映抽樣點之間的頻譜細(xì)節(jié),導(dǎo)致了柵欄現(xiàn)象。柵欄現(xiàn)象是利用DFT對連續(xù)信號譜分析中無法克服的現(xiàn)象??紤]x(t)=cos2πf1t+cos2f2t, f1=100Hz, f2=120Hz,以抽樣頻率fsam=600Hz對該信號進(jìn)行抽樣,用長度為30點的矩形窗進(jìn)行截短處理,通過補(bǔ)零進(jìn)行32點和128點的DFT結(jié)果如圖4所示。通過比較可知補(bǔ)零減小了頻譜分析時的譜線間隔,使計算出的頻譜出現(xiàn)更多的細(xì)節(jié),隨著補(bǔ)零的增加,顯示的頻譜信息也更多。
在教學(xué)過程中,通過Matlab設(shè)計具體的仿真實例,運用圖形化的方式來講解抽象的理論知識和技術(shù)理論,使學(xué)生更好的理解數(shù)字信號處理課程中的概念和設(shè)計方法,從而提高學(xué)生的應(yīng)用能力。
參考文獻(xiàn):
[1] 陳后金,薛健,胡健. 數(shù)字信號處理[M]. 高等教育出版社,2008.
[2] 樓順天,李博菡. 基于MATLAB的系統(tǒng)分析與設(shè)計[M]. 西安電子科技大學(xué)出版社,2001.
[3] 高西全,丁玉美. 數(shù)字信號處理[M]. 西安電子科技大學(xué)出版社,2008.