1 《數字信號處理》課程的特點 《數字信號處理》課程是一門理論和技術發展十分迅速、應用非常廣泛的前沿性學科,他的理論性和實踐性都很強,他的特點是: (1)要求的數學知識多,包括高等代數、數值分析、概率統計、隨機過程等。 (2)要求掌握的基礎知識強,網絡理論、信號與系統是本課程的理論基礎。 (3)與其他學科密切相關,即與通信理論、計算機、微電子技術不可分,又是人工智能、模式識別、神經網絡等新興學科的理論基礎之一。 學生在學習這門課程時,普遍感到數字信號處理的概念抽象,對其中的分析方法與基本理論不能很好地理解與掌握。因此,如何幫助學生理解與掌握課程中的基本概念、基本原理、基本分析方法以及綜合應用所學知識解決實際問題的能力,是本課程教學中所要解決的關鍵問題。為了配合《數字信號處理》專業基礎課的理論教學,我們在電子信息工程專業教學計劃中安排了二周的《數字信號處理》課程設計,他是針對《數字信號處理》的基礎理論和算法進行實踐環節的一個綜合訓練,以便學習鞏固所學的知識,加強理論和實際結合的能力,培養學生的綜合設計能力與實際工作能力。 Matlab語言是一種廣泛應用于工程計算及數值分析 領域的新型高級語言,Matlab功能強大、簡單易學、編程效率高,深受廣大科技工作者的歡迎。特別是Matlab還具有信號分析工具箱,不需具備很強的編程能力,就可以很方便地進行信號分析、處理和設計。因此,選擇用Matlab進行課程設計。 2 基于Matlab的課程設計 為了鞏固所學的數字信號處理理論知識,使學生對信號的采集、處理、傳輸、顯示和存儲等有一個系統的掌握和理解,精心地安排了課程設計的內容:錄制一段個人自己的語音信號,并對錄制的信號進行采樣;畫出采樣后語音信號的時域波形和頻譜圖;給定濾波器的性能指標,采用窗函數法和雙線性變換設計濾波器,并畫出濾波器的頻率響應;然后用自己設計的濾波器對采集的信號進行濾波,畫出濾波后信號的時域波形和頻譜,并對濾波前后的信號進行對比,分析信號的變化;回放語音信號;最后,設計一個信號處理系統界面。下面對各步驟加以具體說明。 2.1 語音信號的采集 要求學生利用Windows下的錄音機,錄制一段自己的話音,時間在1 s內。然后在Matlab軟件平臺下,利用函數wavread對語音信號進行采樣,記住采樣頻率和采樣點數。通過wavread函數的使用,學生很快理解了采樣頻率、采樣位數等概念。 2.2 語音信號的頻譜分析 要求學生首先畫出語音信號的時域波形;然后對語音號進行快速傅里葉變換,得到信號的頻譜特性,從而加深學生對頻譜特性的理解。其程序如下: 2.3 設計數字濾波器和畫出其頻率響應 給出各濾波器的性能指標: (1)低通濾波器性能指標 fb=1 000 Hz,fc=1 200 Hz,As=100 dB,Ap=1 dB。 (2)高通濾波器性能指標 fc=4 800 Hz,fb=5 000 Hz As=100 dB,Ap=1 dB。 (3)帶通濾波器性能指標 fb1=1 200 Hz,fb2=3 000 Hz,fc1=1 000 Hz,fc2=3 200 Hz,As=100 dB,Ap=1 dB。 要求學生用窗函數法和雙線性變換法設計上面要求的3種濾波器。在Matlab中,可以利用函數fir1設計FIR濾波器,可以利用函數butte, cheby1和ellip設計IIR濾波器;利用Matlab中的函數freqz畫出各濾波器的頻率響應。程序如下: 2.4 用濾波器對信號進行濾波 要求學生用自己設計的各濾波器分別對采集的信號進行濾波,在Matlab中,FIR濾波器利用函數fftfilt對信號進行濾波,IIR濾波器利用函數filter對信號進行濾波。 2.5 比較濾波前后語音信號的波形及頻譜 要求學生在一個窗口同時畫出濾波前后的波形及頻 譜。其程序如下: 2.6 回放語音信號 在Matlab中,函數sound可以對聲音進行回放。其調用格式:sound(x,fs,bits);可以感覺濾波前后的聲音有變化。 2.7 設計系統界面 為了使編制的程序操作方便,要求有能力的學生,設計處理系統的用戶界面。在所設計的系統界面上可以選擇濾波器的類型,輸入濾波器的參數,顯示濾波器的頻率響應,選擇信號等。 3 結語 筆者在電信97,98,99,00四屆學生中,采用Matlab進行數字信號處理課程設計,實踐證明,使學生加深了對課堂抽象概念的理解,鞏固了課堂上所學的理論知識,并能很好地理解與掌握數字信號處理中的基本概念、基本原理、基本分析方法。在課程設計中,讓學生錄制自己的聲音,設計濾波器對聲音進行處理,大大激發了同學們的學習興趣,使學生很快地掌握編程方法和解決實際問題的技巧,取得了良好的教學效果。 |