何其銳,唐普英,吳援明,蔣亞東
(電子科技大學光電信息學院,四川成都610054)
“信號與系統”是一門知識覆蓋面大的專業基礎課程,其應用領域涵蓋了電子、機械、金融、生物、醫學、地質等多種專業。因此,在課堂教學中,面對各專業研究不同的物理對象,需要把具體信號抽象為一維的連續時間信號或離散時間信號,把具體的系統抽象為微分方程或差分方程,從而對信號與系統的知識體系進行講述。同時,由于“信號與系統”是專業基礎課程,開課時間較早,在本校是大二第一學期開課,此時,學生對相關專業知識接觸較少。因此,在課堂教學中,會有學生提出疑問:“這門課程有什么用?能用在哪些方面?該如何運用這門課程的知識?”面對學生強烈的求知欲望,讓學生能把課程中學習的數學公式與實際的應用緊密結合起來,各學校在“信號與系統”這門課程都做了大量的實驗教學改革探索[1-4],利用 Matlab、LabVIEW 等軟件開設了許多綜合實驗[5-7]。
本?!靶盘柵c系統”課程選用文獻[8]作為教材,在講授完第二章“線性時不變系統”的內容后,學生對卷積的知識有了初步的掌握。因此,選擇的綜合訓練的題目為“回音信號的產生和消除”。要求:
(1)利用聲卡錄取音頻信號;
(2)利用Matlab將該音頻信號產生帶回音的音頻信號;
(3)消除帶回音的音頻信號中的回音。
回音信號處理綜合訓練系統框圖如圖1所示。
圖1 回音信號的產生和消除系統框圖
聲卡錄取的音頻信號為x[n],通過系統S1產生帶回音的音頻信號為y[n],y[n]通過系統S2消除回音后的信號為w[n]。系統S1單位沖激響應函數為h1[n],系統 S2單位沖激響應函數為 h2[n]。系統S1要具有可逆性,才能設計出逆系統S2,因此系統S1與系統S2級聯后構成的系統應為恒等系統,滿足
即系統S2的輸出信號w[n]與系統S1的輸入信號 x[n]相等。
根據題目要求可知,若要產生m次回音信號,則有
其中,m 為正整數,0<αm<… <α0=1,αk為實數,0=N0<… <Nm,Nk為正整數。αk為回音衰減系數,Nk為回音延遲時間。
調整系數m、ak和Nk則可以調整回音產生的次數、各次回音幅度大小及各次回音間隔時間。
系統S1的差分方程為
在Matlab中,調用conv函數或者直接按式(3)編程對x[n]數據進行處理,可以產生帶回音的音頻信號 y[n]。
系統S2的差分方程為
當 y[n]=δ[n]時,根據上式,系統 S2 的單位沖激響應函數h2[n]的方程為
整個系統的單位沖激響應函數h[n]為
根據式(5)則有
顯然,比較式(1)與式(7),驗證了式(4)的差分方程是S2系統方程。在Matlab中,可以設置初始條件 w[n]=0,n<0,根據式(4)進行編程就可以得到消除回音的音頻信號w[n]。
利用聲卡進行數據采集的時候,會遇到采樣頻率的設置問題。在采樣頻率設置過低的情況下,會出現音頻質量較差的狀況;設置較高采樣頻率后,音頻質量才會較好。由于有這個采樣頻率設置的經驗,在第7章學習采樣定理的時候,對采樣頻率大于2倍信號帶寬、實際工程使用中為獲得較好效果要求采樣頻率大于8倍信號帶寬知識的理解,學生掌握起來就比較輕松容易。
學生大多都可以設計出式(2)所示h1[n]的單位沖激響應函數,通過Matlab調用conv函數或直接編程,產生帶回音的音頻信號,對所學卷積知識能獲得良好的感性認識。在與學生討論時,可以讓學生對用conv函數計算的結果和直接編程計算的結果做比較,了解conv函數運算過程是如何實現的,并且對直接編程方法的掌握也有利于學生在以后利用嵌入式系統進行數字信號處理的編程。
部分學生會通過各種方式查找相關知識,利用Matlab的filter函數來消除回音。filter函數的使用,是根據Z變換的理論實現的。但在做這個題目時,尚未講授Z變換的相關知識,因此學生對用filter函數消除回音是知其然而不知其所以然。
對式(3)做Z變換有
對應S1系統函數
對于系統S2,因輸入信號為y[n],輸出信號為w[n],因此 S2 系統函數
顯然有
再次對系統S1與系統S2級聯為恒等系統做了驗證,filter函數的調用是根據式(10)的系數來對信號進行濾波處理的。
在Z變換章節授課時,將此題目所涉及的這些內容再與學生講解時,學生會有一種恍然大悟的感覺,這對于學生掌握Z變換的內容,了解數字濾波器的工作原理都有很好的幫助。
對于要求(3),有的學生設計系統S2的差分方程為
根據上式對回音信號處理,學生會得到對衰減系數小及回聲次數多的信號濾波效果較好、而當衰減系數大及回聲次數少時濾波效果相當差的結論。在與學生討論時可以指出,要從系統可逆性來驗證他們的解決方案是否正確。這樣他們會對自己的解決方案提出改進,得到合理的解決方案,并且知道了對設計的系統該如何去驗證是否正確的方法。
這個綜合訓練將采樣、卷積、濾波器設計、恒等系統和系統可逆性等相關知識有機的結合在一起,不僅有利于學生對卷積、恒等系統和系統可逆性等已學過的知識加深了理解,對采樣、濾波器設計等知識也有了一個先期從實踐角度的感性認識,在后續課程的學習中,學生對這些知識的理論學習掌握就會輕松容易。
從學生提交的綜合訓練報告中可以看到,學生的自學能力是很有潛力的,即使Matlab中的函數使用尚未講授,他們也能通過各種途徑自學來解決綜合訓練中需要用到的Matlab編程問題。
綜合訓練的練習,就是讓學生進行理論結合實踐的學習活動。在完成綜合訓練題目的過程中,學生既把已學的理論應用到實際中去,也對一些未學的知識有了初步感性認識,對后續內容學習奠定了良好的基礎,對啟發學生創新性思維起到積極的幫助作用。
[1]畢萍,劉毓.“Matlab工程應用基礎”課程新模式的教學改革[J].上海:實驗室研究與探索,2012,31(12):145-147.
[2]吳濤,徐春燕,彭宏.基于FPGA的信號與系統實驗箱信號源設計[J].上海:實驗室研究與探索,2009,28(6):44-47.
[3]王土央,高原.信號與系統分析課程實驗教學改革探索[J].北京:實驗技術與管理,2011,28(12):11-14.
[4]易昆南,于菲菲.在綜合性、設計性實驗中培養學生的創新能力[J].北京:實驗技術與管理,2007,24(8):8-9,14.
[5]倪振文,聶榮華,沈洪遠,等.運用Matlab軟件改革信息類實驗教學的探討[J].上海:實驗室研究與探索,2001,20(4):19-20.
[6]劉舒帆,張曉虹,任姝婕.虛擬儀器與仿真軟件在電路信號實驗中的運用[J].上海:實驗室研究與探索,2009,28(10):78-81.
[7]杜世民,楊潤萍.基于MatlabGUI的“信號與系統”教學仿真平臺開發[J].北京:實驗技術與管理,2012,29(3):87-90.
[8]Alan V.Oppenheim,Alan S.Willsky,S.Hamid Nawab.Signals and Systems[M].Beijing:Publishing House of Electronics Industry,2009.