李秀梅 董文 賈中云
[摘要]:信號與系統課程在電子工程專業人才培養中具有重要作用。針對信號與系統課程概念抽象、理論推導較多等特點,本文基于Matlab軟件,搭建了信號與系統課程的GUI演示系統,并以信號與系統課程中的“信號卷積”和“周期信號的傅里葉級數展開”為例,說明了該演示系統的使用。該GUI演示系統將抽象的概念形象化,將枯燥的理論可視化,有助于幫助學生更好地理解和掌握課程內容。
[關鍵詞]信號與系統GUI演示系統卷積傅里葉級數
[中圖分類號]TP319;G642[文獻標識碼]A[文章編號]2095-3437(2014)09-0078-02一、引言
信號與信息處理學科是國內眾多院校多年來重點建設的學科,對人才培養和科學研究都起著不可或缺的作用。而信號與系統是學科建設發展的基礎支撐,對電子工程專業的發展起著重要的作用。信號與系統課程作為電子信息工程、通信工程、自動化等專業的一門重要的專業基礎主干課程,與后續的許多專業課,例如數字信號處理、通信原理、圖像處理等,有很強的聯系,它也是電子信息類研究生入學考試的必考課程之一。
但是由于信號與系統課程知識點多,概念比較抽象,公式和理論推導相對較多,學生學習這門課程的時候感到有一定的難度,學習的積極性和學習質量都受到一定的影響。如何將信號與系統課程中抽象的概念、原理及分析方法設計成便于學生學習和理解的可視化演示系統,是信號與系統課程教學中值得探討的重要課題。[1][2][3]
本文將在Matlab 開發環境下,完成信號與系統課程的可視化GUI演示系統設計,包括前臺界面設計和后臺算法程序設計。通過將信號與系統課程中的理論交互式地演示給學生,幫忙學生對課程中的抽象概念和定理有直觀的認識和深入的理解。
二、基于Matlab的信號與系統課程GUI演示系統框架
Matlab 是一種高級技術計算語言和交互式環境,廣泛應用于算法開發、數據可視化、數據分析以及數值計算等領域。它將高性能的數值計算和可視化集成在一起,并提供了大量的內置函數。MatIab中圖形用戶界面GUI具有強大的功能,由窗口、光標、按鍵、菜單和文本等對象構成,可以通過編程控制各個控件之間協調工作。圖形用戶界面開發環境(GUIDE)提供了一系列創建GUI的工具,極大簡化了GUI設計和生成的過程。
本信號與系統課程GUI演示系統主要包括信號與系統課程中的以下內容:信號的基本運算(相加、相乘、微分、積分、反轉、平移、尺度變換等)、信號的卷積運算(包括連續信號的卷積積分運算和離散信號的卷積和運算)、連續及離散時間線性時不變系統LTI、采樣定理、周期的連續信號和離散信號的傅里葉級數的展開、數字信號處理中的濾波器設計。系統框架圖如圖1所示。
■
圖1基于Matlab的信號與系統課程GUI演示系統框架圖
基于Matlab的信號與系統課程GUI系統的主界面如圖2所示。
■
圖2 基于Matlab的信號與系統課程GUI演示系統主界面
三、基于Matlab的信號與系統課程GUI演示系統實例
下面將以GUI系統中信號的卷積運算和周期信號的傅里葉級數表示為例,介紹該系統的使用。
(一)信號的卷積運算
卷積運算是計算LTI系統零狀態響應的基本工具,是分析線性系統的基礎。針對連續時間信號,卷積積分的定義式為:
f(t)*h(t)=■ f(τ)h(t-τ)dτ (1)
針對離散時間序列,卷積和的定義式為:
f [k]*h[k]=■ f [n]h[k-n] (2)
可見,卷積積分/卷積和的運算可以分解為反轉、平移、相乘、積分/相加。
通過點擊主界面上的“signal convolution”按鈕,可以進行卷積積分和卷積和的演示。
首先,在“select signal types”的下拉框中可以選擇信號的模式:連續信號或離散信號,并選擇信號的輸入模式:選擇模式或輸入模式。我們這里選擇了離散信號和選擇f [k]=k(u[k]-u[k-6]和h[k]=u[k]-u[k-6]模式。然后點擊“update the data and model”就可以在“select f(t)”和“select h(t)”中選擇f(t)和h(t)的表達式,我們這里選擇了和。點擊“convolution result”按鈕后,在右下角的“convolution result y(t)”中將出現卷積的結果。通過選擇右上角的平移的數值,我們可以根據卷積運算的每一步及每一步所對應的結果。信號的卷積運算的界面如圖3所示。
■
圖3信號卷積運算界面
(二)周期信號的傅里葉級數表示
任何周期函數都可以用正弦函數和余弦函數構成的無窮級數來表示,并稱之為傅里葉級數表示,將周期信號進行傅里葉級數表示是分析周期信號的基礎。傅里葉級數在信號處理、概率論、聲學等領域都有著廣泛的應用。
通過點擊主界面上的“Continuous-time Fourier series”按鈕,可以進行連續時間周期信號的傅里葉級數表示的演示。
首先,在“choose the signal type”的下拉框中選擇信號的模式:方波、鋸齒波、三角波,選擇后右上角的“waveform of the signal”中就會顯示出所選擇的波形。然后通過選擇傅里葉級數系數的個數,來利用有限個正/余弦信號完成對周期信號的重建。同時顯示出重建信號的幅度頻譜和相位頻譜。我們可以觀察到,隨著所選系數個數的增加,傅里葉級數部分和對原始波形的近似程度不斷提高,但在不連續點處,存在起伏,且起伏的幅度不隨所選系數的個數的多少而發生變化,即吉布斯現象。此外,還可以觀察到當周期信號的波形具有某種對稱性時,其相應的傅里葉級數的系數所呈現出的特征。例如,當周期信號為奇對稱信號時,其幅度頻譜為偶對稱,而相位頻譜為奇對稱。即傅里葉級數的系數為純虛數,虛部為奇對稱的。周期信號的傅里葉級數表示的界面如圖4所示。
■
圖4周期信號傅里葉級數表示界面
四、結論
本文構建了基于Matlab的信號與系統課程的GUI演示系統,以交互的方式對信號與系統中的重要內容進行了可視化仿真。該系統有助于幫助學生將抽象的概念形象化,將枯燥的理論可視化,易于學生的理解和接受,對提供課程的教學效果有著積極的作用。
[參考文獻]
[1]林霖,楊豐,張志德. 基于Matlab的“信號與系統”課程演示軟件的應用[J].電氣電子教學學報, 2009(5):98-100.
[2]杜世民,楊潤萍.基于Matlab GUI的“信號與系統”教學仿真平臺開發[J].實驗技術與管理, 2012(3):87-90.
[3]陳瑞峰,左曙光,郭偉.基于MATLAB GUI的信號分析系統[J].佳木斯大學學報,2009(5):645-647.
[責任編輯:黃緊德]