查文庫>論文> 模擬軟體在《數字訊號處理》教學中的應用探討性論文

模擬軟體在《數字訊號處理》教學中的應用探討性論文

模擬軟體在《數字訊號處理》教學中的應用探討性論文

  摘要:數字訊號處理課程概念抽象,理論性很強,演算法的推導和證明比較繁瑣,在教與學方面都有很大的難度。本文提出了將Matlab與Labview模擬軟體應用於數字訊號處理課堂教學之中,介紹了Matlab與Labview模擬軟體的特點,給出了Matlab與Labview在數字訊號處理教學中的應用例項,闡述了提高教學質量的改進方法。實踐表明,將模擬軟體用在數字訊號處理教學改革中,提高了學生的學習興趣和能力,取得了較好的效果。

  關鍵詞:數字訊號處理 Matlab Labview 教學改革

  數字訊號處理是電子、通訊專業一門重要的專業基礎課。這門課程概念抽象、理論性很強,教師在課堂上講授抽象的理論知識很難給學生留下深刻的印象,更談不上學以致用的能力。因此,對於現在培養應用型、技術技能型人才來說,迫切需要改變傳統的教學模式。本文提出一種基Matlab和Labview的輔助教學方法,課堂上採用PowerPoint和模擬軟體相互結合的多媒體教學方法,將抽象的理論知識用生動有趣的圖形介面來驗證和演示,加深學生對理論問題的理解;在教學內容上試著採用模組化教學方法,將枯燥的理論逐漸滲入到日常實際應用中,從而提高學生的學習興趣和學習效率[1]。

  1 提高教學質量的改進方法

  本課程是一門理論性和技術性都很強的課程。數字訊號處理本質上是利用數學的方法和數字系統來實現對訊號的處理,它主要研究兩個方面的問題:一是研究訊號處理的各種演算法,即建立數學模型;二是演算法的實現,包括採用計算機軟體實現,和採用專用的電子系統實現[2]。因此,從教學的角度來說,必須既強調理論教學,使學生掌握基本的概念和分析方法,也要加強實驗教學,強調理論聯絡,使學生具有一定動手能力、程式設計能力和解決一些簡單問題的實際能力。針對該課程的特點,藉助模擬軟體進行課堂教學是十分必要的。

  在應用型人才的培養過程中,應以學生為中心,在課程教學過程中,對於重點知識設定專案教學環節。比如,取樣定理的驗證、傅立葉變換、FFT的應用、數字濾波器的設計及應用等設定具體專案,然後學生以4~6人組成一個學習小組,利用課餘時間去查閱資料和模擬,對完成的結果製作成PPT進行彙報,彙報完後進行交流總結,並對專案內容和結果進行點評,專案討論部分列入期末考核成績。這樣可以培養學生的團隊協作精神和創新能力,提高學生的綜合素質,有效的來提高教學質量。

  1.1 Matlab模擬軟體的應用

  學生普遍反映難是因為數字訊號處理涉及較深的數學功底,其內容以傅立葉變換、拉普拉斯變換、Z變換、複變函式的環路積分為數學基礎,這些內容對數學基礎比較薄弱的人來說掌握起來有一定的困難。為了使學生既能掌握足夠的數字訊號處理技能,又不致陷入繁瑣的數學推導之中,以大量的數字訊號處理例項訓練他們數字訊號處理的技能是一種可行的思路。而Matlab是一種面向科學和工程計算的高階語言,它具有強大的計算功能、計算結果和程式設計視覺化一體及較高的效率,已經成為科學研究和工程計算不可缺少的工具軟體,因此Matlab軟體的引入使得透過實踐掌握數字訊號處理技術的學習方式變得非常容易,比如離散卷積的計算、FFT的應用和濾波器的設計等,都可以藉助Matlab模擬來實現。

  1.2 Labview軟體

  Labview軟體是一種基於“圖形”化方式的`虛擬儀器開發環境,具有豐富的函式、數值分析、訊號處理和裝置驅動等優點,利用它可以方便的建立自己的虛擬儀器,其圖形化的介面使得程式設計及使用過程都生動有趣[3]。目前,利用計算機模擬技術模擬一些實驗現象的虛擬技術已成為一種趨勢,圖形化的使用者介面,點選滑鼠,輸入資料即能完成,使學生能直觀地領會和理解訊號處理課程的分析方法和處理結果。例如模擬訊號的取樣、濾波器的濾波技術等。這些重要的理論如果在講解的時候加以逼真的演示,會給同學們留下深刻的印象,加深對知識點的理解。

  2 模擬軟體的具體應用

  訊號可以從時域和頻域兩個方面來描述,有的訊號時域波形雜亂無章,但是轉換到頻域會變得很簡單,比如說不同頻率的正弦訊號疊加在一起,時域表現的很複雜,轉換到頻域卻是簡單的幾根譜線。因此,訊號的頻譜分析在數字訊號處理中具有很重要的作用。而離散傅立葉變換是分析數字頻譜的重要工具,意義在於人們能夠從頻域中觀察訊號的特徵。對連續訊號進行譜分析時,採用離散傅立葉變換。離散傅立葉變換的公式如下:

  可以看出,該公式比較抽象,學生很難理解頻域形式。而此時,可以藉助Matlab使公式更形象化,便於理解。設序列x(n)=[0 1 2 3],則傅立葉變換公式寫為 計算可得根據該例的解法,可以將傅立葉變換寫成下面的程式: function[XK]=dfs(xn,N)

  n=[0:1:N-1];

  k=[0:1:N-1];

  WN=exp(-j*2*pi/N);

  nk=n’*k;

  WNnk=WN.^nk;

  XK=xn*WNnk;

  這裡巧妙的利用Matlab中矩陣相乘的概念可以使程式簡化,式中

  也是一個4*4的矩陣。利用矩陣xn=[0 1 2 3]與矩陣WNnk相乘中的相加,即相加的運算蘊含在矩陣相乘的運算中。