李其旺 郗思敏 夏清華
摘 要:數(shù)字信號處理是一門理論性強(qiáng)、內(nèi)容多、教學(xué)難度大、解起來困難的學(xué)科, Matlab作為一種工具,在數(shù)字信號處理發(fā)揮了巨大的作用。這篇文章簡單的談了Matlab在數(shù)字信號處理教學(xué)中的應(yīng)用,并介紹了抽樣定理和信號加窗截斷的方法,繪制頻譜圖和系統(tǒng)仿真等功能,使教學(xué)過程更加直觀、生動、形象,以便加深學(xué)生對理論知識的理解。
關(guān)鍵詞:數(shù)字信號處理;Matlab;教學(xué)
中圖分類號:TN911.72 文獻(xiàn)標(biāo)志碼:A 文章編號:2095-2945(2018)34-0180-03
Abstract: Digital signal processing is a subject with strong theory, many contents, difficult teaching and difficult to solve. As a tool, Matlab plays an important role in digital signal processing. This paper briefly discusses the application of Matlab in the teaching of digital signal processing, and introduces the sampling theorem, the method of signal truncation by adding windows, drawing spectrum chart and system simulation, which makes the teaching process more direct, interesting and vivid, so as to deepen the students' understanding of theoretical knowledge.
Keywords: digital signal processing; Matlab; teaching
1 概述
數(shù)字信號處理主要學(xué)習(xí)時域離散信號和系統(tǒng)的描述方法、頻域分析、離散傅里葉變換(DFT)、快速傅里葉變換(FFT)、時域離散系統(tǒng)的網(wǎng)絡(luò)結(jié)構(gòu)、無限和有限脈沖響應(yīng)數(shù)字濾波器的設(shè)計等知識。隨著數(shù)字電路與系統(tǒng)技術(shù)的不斷豐富和完善,新的理論新技術(shù)層出不窮。數(shù)字信號處理是發(fā)展最快、應(yīng)用最廣泛、成效最顯著的學(xué)科之一,目前廣泛應(yīng)用于語音、圖像處理、遙感檢測、人工智能等方面。
Matlab具有強(qiáng)大的數(shù)值計算和圖形處理頻譜分析等能力,在進(jìn)行數(shù)字信號處理時,可以借助Matlab進(jìn)行實(shí)例仿真,將一些復(fù)雜的知識點(diǎn)用圖像給同學(xué)們進(jìn)行解讀。它作為一種工具,剛好彌補(bǔ)了數(shù)字信號處理教學(xué)枯燥而又難以理解的特點(diǎn)。Matlab操作簡單,得到的仿真圖像通俗易懂,便于理解。在數(shù)字信號處理教學(xué)中的應(yīng)用,不僅有利于當(dāng)代大學(xué)生對數(shù)學(xué)信號處理這門課的學(xué)習(xí)和理解,更有利于老師們對于這堂課的教學(xué),使這門課開展起來更加的順暢,也使相關(guān)的實(shí)驗課程和課設(shè)項目能夠正常的開展。
2 基于Matlab的教學(xué)輔助軟件設(shè)計與實(shí)現(xiàn)
Matlab在信號處理中的應(yīng)用主要包括符號運(yùn)算和信號的時域分析、函數(shù)運(yùn)算、函數(shù)波形繪制、信號的頻譜分析等數(shù)值計算的仿真分析,可以將一些復(fù)雜抽象的問題簡單形象化。整個系統(tǒng)的功能模塊框圖如圖1。
從圖1可以看出,數(shù)字信號處理主要由濾波器設(shè)計、序列變換和序列及其運(yùn)算組成。其中最重要的是濾波器設(shè)計,通過對序列的加法、減法、乘法、移位、翻轉(zhuǎn)等尺度變換運(yùn)算和各種序列變換,達(dá)到設(shè)計濾波器的最終目的。濾波器包括無限長脈沖響應(yīng)濾波器(IIR)和無限長脈沖響應(yīng)濾波器(FIR)兩種,每種濾波器設(shè)計方法不同,且各有其優(yōu)點(diǎn)和缺點(diǎn)。
2.1 抽樣定理模塊的實(shí)現(xiàn)
抽樣定理是通信理論中的一個重要定理,是模擬信號數(shù)字化的理論依據(jù),包括時域抽樣定理和頻域抽樣定理兩部分。采樣過程就是將模擬信號轉(zhuǎn)換為數(shù)字信號的過程。在采樣過程中,當(dāng)采樣頻率的最大值大于信號中最高頻率的二倍時,采樣過后的數(shù)字信號會保留初始信號的完整性,在實(shí)際應(yīng)用中,應(yīng)當(dāng)保證采樣頻率為信號最高頻率的5-10倍,這個過程稱為采樣定理(奈奎斯特抽樣定理)。抽樣定理的重點(diǎn)是理解抽樣頻率fs對理想抽樣信號頻普的影響,明白fs≥2fH的真正含義。根據(jù)采樣定理的定義,可分為fs≥2fH和fs<2fH兩種情況。由于fs=2fH是臨界頻率,又可將 fs≥2fH又分為:fs=2fH和 fs>2fH兩種情況。分析如圖2。
2.2 信號加窗截斷
窗就是濾波器,低通,帶通等,加窗就是對信號進(jìn)行處理,使信號能順利通過系統(tǒng)。理論上就是信號和窗函數(shù)的頻域表達(dá)式相乘,時域表達(dá)式求卷積等。對模擬信號進(jìn)行數(shù)字處理時,先對模擬信號進(jìn)行采樣,然后將得到的數(shù)字信號進(jìn)行DTFT變換以得到其頻譜。下面通過Matlab的例子,對這些知識有個更好的學(xué)習(xí)。例如:信號為x(t)=cos(2f1t)+cos(2f2t)+cos(2f3t),
f1=2KHz,f2=2.5KHz,f3=3KHz,采樣頻率取fs=10KHz。先運(yùn)行出無限長x(n)的理想頻譜X(w)。
下面我們看下時域采樣點(diǎn)數(shù)分別取L=10,L=20,L=40,L=100,x(n)加矩形窗及加Hamming窗時DTFT頻譜X(w)。
運(yùn)行結(jié)果如圖3。
由圖3可看出,當(dāng)L〉40時,Hamming窗才可以分辨出三個峰值,而矩形窗只要L〉20就實(shí)現(xiàn)預(yù)期結(jié)果。通過此類仿真圖,可以幫助同學(xué)們很直觀的理解矩形窗和Hamming窗的概念和區(qū)別,讓數(shù)字信號處理這門課學(xué)起來更輕松,更有樂趣,為同學(xué)們減輕了負(fù)擔(dān)。也讓數(shù)字信號處理這門課的教學(xué)能夠更順暢的進(jìn)行,使教學(xué)直觀生動形象加深學(xué)生對理論知識的理解。
下面我們觀察改變N和L值,頻譜分別發(fā)生的變化。對比當(dāng)N=32、L取不同值時的圖像(圖4)和當(dāng)N=64、L取不同值時的圖像(圖5)可知,若 L較小(如10),此時N的增加不會產(chǎn)生影響,因為物理分辨率由L決定。此外N可以看成頻域采樣密度,決定了計算分辨率。通過利用Matlab這一工具,將復(fù)雜抽象的數(shù)字信號知識點(diǎn)化為簡單形象的圖片,簡單明了,極大的方便了同學(xué)們對這門課的深入學(xué)習(xí)和理解。
3 結(jié)束語
在數(shù)字信號處理的實(shí)際教學(xué)中使用Matlab作為實(shí)驗工具,將這門學(xué)科比較復(fù)雜抽象的模塊進(jìn)行仿真分析,使其知識點(diǎn)簡單形象化。經(jīng)過實(shí)踐表明, 將Matlab應(yīng)用到數(shù)字信號處理實(shí)踐教學(xué)中,不僅僅可以保證了學(xué)生在規(guī)定的實(shí)驗學(xué)時內(nèi)按時完成要求的實(shí)驗內(nèi)容,同時提高了學(xué)生們對于這門復(fù)雜學(xué)科學(xué)習(xí)的興趣以及動手做相關(guān)項目的能力,讓數(shù)學(xué)信號處理這門課不再成為教學(xué)和學(xué)生學(xué)習(xí)的難題。
參考文獻(xiàn):
[1]薛年喜.MATLAB在數(shù)字信號處理中的應(yīng)用[M].北京:清華大學(xué)出版,2003.
[2]Sophocles J.Orfanidis.Introduction to Signal Processing[M].北京:清華大學(xué)出版社,2003.
[3]張志涌.精通MATLAB6.5版[M].北京:北京航空航天大學(xué)出版社,2006.
[4]劉順蘭,吳杰.數(shù)字信號處理[M].西安:西安電子科技大學(xué)出版社,2003.
[5]唐建鋒,游開明,陳列尊.基于MATLAB的數(shù)字信號處理綜合性設(shè)計性實(shí)驗探討[J].衡陽師范學(xué)院學(xué)報,2006,27(3).
[6]汪治華,朱海波,胡順仁.基于Matlab Web服務(wù)器的數(shù)字信號處理遠(yuǎn)程仿真[J].電氣電子教學(xué)學(xué)報,2007,29(4):66-67.
[7]李強(qiáng),明艷,吳坤君.基于MATLAB的《數(shù)字信號處理》輔助教學(xué)方法[J].重慶郵電大學(xué)學(xué)報,2007,S1:152.
[8]沈捷,王莉.基于MATLAB的圖形交互式數(shù)字信號處理教學(xué)實(shí)驗系統(tǒng)[J].電腦開發(fā)與設(shè)計,2007,20(9):59-61.
[9]朱冰蓮.數(shù)字信號處理精品課程建設(shè)的探索[J].高等建筑教育,2007,12:152.