趙杰,李亞文,吳曉云
(商洛學院 電子信息與電氣工程學院,陜西 商洛 726000)
信號與系統(tǒng)課程是電子信息等專業(yè)的一門重要的專業(yè)基礎(chǔ)課,與數(shù)字信號處理、數(shù)字圖像處理、DSP技術(shù)等課程緊密相關(guān)[1].涉及的內(nèi)容繁多,而且對微積分、數(shù)值分析、復變函數(shù)等很多數(shù)學方面的內(nèi)容要求較高,需要學生熟悉信號與系統(tǒng)的基本知識,如連續(xù)信號與系統(tǒng)的時域分析、信號與系統(tǒng)的變換域分析等.該課程概念繁雜、數(shù)學推導多,較為晦澀難懂,學生在學習時,常常會覺得枯燥乏味,不僅覺得概念抽象,而且對基本理論與分析方法也很難理解與掌握.傳統(tǒng)的教學主要依靠教師的課堂講解,其方法單調(diào)枯燥,學生學習興趣不高[2-4].隨著計算機的迅速發(fā)展,圖形用戶界面可以以交互的形式進行輔助教學,應用廣泛[5-9].本文利用MATLAB 設計信號與系統(tǒng)GUI 仿真平臺,對基本理論知識進行圖形化直觀演示,同時展示設計案例,有助于學生理論聯(lián)系實際,加深對基礎(chǔ)理論的掌握.
基于GUI 的信號與系統(tǒng)仿真平臺設計的內(nèi)容主要分為基礎(chǔ)信號實驗、語音信號實驗2大模塊.基礎(chǔ)信號實驗模塊包括:連續(xù)信號實驗和離散信號實驗,其中連續(xù)信號實驗有連續(xù)信號的表示、時域運算以及基礎(chǔ)連續(xù)信號的傅里葉變換、拉普拉斯變換的表示等.時域運算的連續(xù)信號有單邊指數(shù)信號、沖激信號、Sinc函數(shù)信號(抽樣信號)、矩形脈沖信號和正弦信號,這些信號可以選擇實現(xiàn)的運算有平移、尺度變換、折疊和倒相.離散信號實驗有離散信號的表示、時域運算、序列相加、序列相乘以及傅里葉變換和Z變換表示等.時域運算的序列有單邊序列、階躍序列、矩形序列、指數(shù)序列和正弦序列,這些序列可以選擇的運算方式有移位、尺度變換、折疊,還可實現(xiàn)2 個序列的相加和相乘.語音信號實驗模塊包括:語音合成和語音濾波2個基礎(chǔ)性實驗,語音合成中有3 段語音鏈接合成、實現(xiàn)簡易版電子琴、合成音樂變聲;語音濾波實驗中可以給音樂加噪、使用FIR 等波紋法實現(xiàn)濾波.仿真平臺基本結(jié)構(gòu)見圖1.
圖1 系統(tǒng)基本結(jié)構(gòu)
如果選擇基礎(chǔ)信號實驗,則需要在連續(xù)信號和離散信號之間選擇,若選擇連續(xù)信號實驗則可以實現(xiàn)對常見基礎(chǔ)信號的顯示、信號基本運算以及傅里葉變換和拉普拉斯變換,其GUI 構(gòu)建界面見圖2a;若選擇離散信號,則會顯示常見離散序列、基本運算和基本的離散變換,其GUI 構(gòu)建界面見圖2b.部分功能的運行結(jié)果見圖3.
圖2 GUI 構(gòu)建基礎(chǔ)信號實驗界面
圖3 基礎(chǔ)信號實驗界面
語音信號實驗中展示了語音合成與語音濾波2 個綜合實例.
該部分可以實現(xiàn)對3 段音樂的串燒,其中增加了變聲功能,可以實現(xiàn)男聲女聲變換和電子琴運行.對應的界面中有3 個播放音樂鍵、1 個合成音樂鍵、1 個變聲鍵、1 個坐標軸、9 個白鍵、6 個黑鍵以及返回和退出按鈕,GUI 構(gòu)建界面見圖4a.
點擊相應按鍵,均可得到其相應的功能界面.將3 個音頻信號讀入并打開后,可將3 個音頻信號在時域進行混合,形成一個新的語音信號(見圖4b).還可以對合成聲音的頻率進行改變,實現(xiàn)男聲變?yōu)榕暎ㄒ妶D4c).基于數(shù)字發(fā)生器的電子琴設計由不同頻率的正弦波信號作為發(fā)聲及顯示波形,由控件對應的回調(diào)函數(shù)和數(shù)字信號發(fā)生器結(jié)合起來,實現(xiàn)對波形的調(diào)用.每個鍵對應相應的頻率,在各個鍵的回調(diào)函數(shù)中設置好頻率及頻譜.由于電子琴運行界面圖片過多,此處僅選取其中一個結(jié)果呈現(xiàn)(見圖4d).
圖4 語音合成實驗
語音濾波選用了等波紋濾波法,可更改濾波器的參數(shù)以及噪音的大小.在播放音樂之后還可以看到相應的時域波形圖和頻譜圖,用來更好地分析語音,GUI 構(gòu)建界面見圖5a.
語音濾波時,噪聲信號通常為一隨機序列,噪聲信號構(gòu)建命令為noise=C*randn(L,W),C 為常數(shù),再對加噪音信號進行頻譜變換得到其頻譜圖和加噪音后信號時域波形圖.濾波器設計、語音加噪及濾波結(jié)果界面見圖5b~d.其中濾波器的參數(shù)可更改,自行設計濾波器,噪聲的大小也可修改.
圖5 語音濾波實驗
本文利用MATLAB 設計了針對信號與系統(tǒng)課程的仿真平臺,對常見的基礎(chǔ)型號、信號的基本代數(shù)運算與幾何運算、傅里葉變換、拉普拉斯變換、Z變換與離散傅里葉變換等基本內(nèi)容進行演示.同時提供了語音合成與語音濾波2個綜合應用實例,具有一定交互性,操作方便,設計內(nèi)容豐富,實驗項目較多.學生可以在此基礎(chǔ)上對界面進行改進,如增加設計信號的功能,添加綜合實例等,有利于加深學生對理論知識的掌握,提高學生的編程實踐能力.