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