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