李小光+鄭鵬
【摘要】本文介紹了MATLAB的特點(diǎn)及信號(hào)與系統(tǒng)教學(xué)的難點(diǎn),探討了“信號(hào)與系統(tǒng)”課程教學(xué)中引入MATLAB軟件,將使信號(hào)與系統(tǒng)中繪圖和復(fù)雜理論計(jì)算等抽象問題通過編程變得簡(jiǎn)單而直觀,改善了教學(xué)方法和手段,豐富了教學(xué)內(nèi)容,取得良好的教學(xué)效果,為課程教學(xué)方法和手段的改革探索了新的思路。
【關(guān)鍵詞】MATLAB 信號(hào)與系統(tǒng) 教學(xué)
【中圖分類號(hào)】TP319 【文獻(xiàn)標(biāo)識(shí)碼】A 【文章編號(hào)】2095-3089(2016)10-0013-03
信號(hào)與系統(tǒng)是信息工程、計(jì)算機(jī)技術(shù)、自動(dòng)控制等專業(yè)的一門重要專業(yè)基礎(chǔ)課,通過該課程的學(xué)習(xí),使學(xué)生牢固掌握信號(hào)與系統(tǒng)的基本原理和基本分析方法與應(yīng)用。該課程具有內(nèi)容繁多,涉及面廣,理論性、系統(tǒng)性、抽象性強(qiáng)的特點(diǎn),學(xué)生理解起來困難,教師教學(xué)效果較差,那么如何才能使教師容易“教”和學(xué)生喜歡“學(xué)”,則成為一項(xiàng)非常值得探索的教學(xué)課題。
1.開發(fā)基于MATLAB的互補(bǔ)教學(xué)平臺(tái)的必要性
《信號(hào)與系統(tǒng)》課程全是數(shù)學(xué)理論分析,學(xué)生學(xué)習(xí)起來較為枯燥,學(xué)習(xí)起來興趣不大。而MATLAB是一個(gè)多領(lǐng)域、多學(xué)科、多功能的優(yōu)秀科技應(yīng)用軟件,《MATLAB語(yǔ)言》因其通俗易用和強(qiáng)有力的科學(xué)計(jì)算能力等優(yōu)點(diǎn)已成為工程師和科研工作者的首選工具軟件。此課程雖然基本內(nèi)容簡(jiǎn)單易學(xué),但是如果不將其用于解決實(shí)際問題 ,可以說是一種 “教” 、“學(xué)” 的資源浪費(fèi) 。因此,在目前《信號(hào)與系統(tǒng)》缺少科學(xué)的教學(xué)工具和《MATLAB語(yǔ)言》沒有合適的應(yīng)用對(duì)象的情況下,將兩者有機(jī)結(jié)合起來進(jìn)行組合式互補(bǔ)教學(xué),合理安排教學(xué)內(nèi)容與學(xué)時(shí),實(shí)現(xiàn)手段和內(nèi)容上的互補(bǔ),既可以用全新的表述、分析和計(jì)算教學(xué)方法實(shí)現(xiàn)《信號(hào)與系統(tǒng)》課程的講授,生動(dòng)地演示以往枯燥的數(shù)學(xué)理論知識(shí),還可以讓學(xué)生更深入地了解《MATLAB語(yǔ)言》及編程技巧,鍛煉并提高其運(yùn)用所學(xué)的理論知識(shí)及軟件工具解決實(shí)際問題的能力,達(dá)到事半功倍的效果。
2.基于MATLAB 的信號(hào)與系統(tǒng)互補(bǔ)教學(xué)研究
基于《信號(hào)與系統(tǒng)》課程內(nèi)容 ,將其分為連續(xù)時(shí)間系統(tǒng)的時(shí)域分析、 傅里葉變換及系統(tǒng)的頻域分析、 拉普拉斯變換及系統(tǒng)的復(fù)頻域分析、 離散時(shí)間系統(tǒng)的時(shí)域分析和Z變換及離散時(shí)間系統(tǒng)的Z域分析等幾大模塊,整合教學(xué)內(nèi)容,利用計(jì)算機(jī)、 PowerPoint、Flash及MATLAB 語(yǔ)言等工具制作 CAI課件,適當(dāng)?shù)償?shù)學(xué)推導(dǎo)證明過程,利用具有代表性的實(shí)例實(shí)時(shí)動(dòng)態(tài)地演示《信號(hào)與系統(tǒng)》的課堂講授內(nèi)容。這樣不僅可以增加學(xué)生的學(xué)習(xí)興趣,還能提高其理解能力,實(shí)現(xiàn)最佳教學(xué)效果。
2.1 時(shí)域分析的MATLAB實(shí)現(xiàn)
信號(hào)時(shí)域分析中經(jīng)常用到信號(hào)的數(shù)學(xué)解析式和信號(hào)的波形,若不能精確的畫出信號(hào)的波形,學(xué)生理解較為困難,若在教學(xué)中引入MATLAB,則可以利用簡(jiǎn)單的編程語(yǔ)句實(shí)現(xiàn)信號(hào)圖像的可視化,如需要畫出指數(shù)信號(hào)波形,則通過編程很容易得到。
2.2 頻域分析的MATLAB實(shí)現(xiàn)
系統(tǒng)的頻域分析教學(xué)中,三角脈沖的頻域理論講解較為抽象,特別是系統(tǒng)的幅頻特性和相頻特性圖形較為難畫,若利用MATLAB,則能很好的解決這些問題。能夠起到教師易教、學(xué)生易學(xué)的效果。
利用MATLAB的數(shù)值方法近似計(jì)算三角波信號(hào)頻譜。設(shè)信號(hào)
為了利用quad8函數(shù)計(jì)算f(t)頻譜,先定義如下函數(shù):
function y=M(t,w) y=( abs(t)<=1).?鄢(1-abs(t)).?鄢exp(-j?鄢w?鄢t);
對(duì)于不同的參數(shù)ω,函數(shù)M將計(jì)算出Fourier變換中被積函數(shù)的值。注意,要將上面的MATLAB函數(shù)以文件名M.m進(jìn)行保存。近似計(jì)算該三角波信號(hào)頻譜的源程序如下:
ω=linspace(-6?鄢pi,6?鄢pi,512);
N=length(ω);
F=zeros(1,N);
for k=1:N
F(k)= quad8(M,-1,1,[ ] , [ ],ω(k));
end
figure(1);
plot(ω,real(F));
xlabel(\omega);
ylabel(F(j\omega));
title(三角波信號(hào)近似頻譜);
figure(2);
plot(ω,real(F)-sinc(ω/2/pi).^2);
xlabel(\omega);
ylabel(error);
title(計(jì)算誤差);
運(yùn)行結(jié)果如圖1、圖2所示。
系統(tǒng)的頻率特性分析,假設(shè)有低通濾波器頻率特性函數(shù)如下,用MATLAB方法得到幅頻特性H(jω)和相頻特性φ(ω)
對(duì)于有理分H(jω),MATLAB提供freqs函數(shù)處理方法,程序如下:
w=linspace(0,5,200);
b=[1];
a=[1 2 2 1];
H=freqs(b,a,w);
subplot(2,1,1);
plot(w,abs(H));
set(gca, xtick,[0 1 2 3 4 5]);
set(gca,ytick,[0 0.4 0.707 1]);
xlabel(\omega(rad/s));
ylabel(|H(j\omega)|) ;
grid on;
subplot(2,1,2);
plot(w,angle(H));
set(gca,xtick,[0 1 2 3 4 5]);
xlabel(\omega(rad/s));
ylabel(\phi(rad));
grid on;
輸出圖形如圖3所示。
2.3復(fù)頻域分析的MATLAB實(shí)現(xiàn)
求解連續(xù)系統(tǒng)的沖激響應(yīng)h(t)和判斷系統(tǒng)的穩(wěn)定性對(duì)于系統(tǒng)分析具有十分重要的意義,以往學(xué)生解題時(shí)只是求出h(t)和H(s)的解析表達(dá)式,而對(duì)于二者的圖形是怎樣的,以及它們的區(qū)別是怎樣的,缺乏直觀的認(rèn)識(shí),而利用MATLAB可以很方便的繪出圖形,進(jìn)而使學(xué)生有直觀的認(rèn)識(shí),有助于他們的理解。
設(shè)有系統(tǒng)函數(shù)H(s),可以應(yīng)用MATLAB決定它的零、極點(diǎn)圖和沖激響應(yīng),進(jìn)而分析其穩(wěn)定性,其調(diào)用的是roots函數(shù)。當(dāng)畫零、極點(diǎn)圖時(shí),直接應(yīng)用pzmap函數(shù),調(diào)用形式為pzmap(sys),借助tf又可獲得sys,即sys=tf(b,a),式中,b和a分別為H(s)分子和分母多項(xiàng)式的系數(shù)。
設(shè)有系統(tǒng)函數(shù),試?yán)肕ATLAB畫出該系統(tǒng)的零極點(diǎn)圖;畫出該系統(tǒng)的單位沖激響應(yīng)h(t)和幅頻響應(yīng)H(jω),并判斷系統(tǒng)是否穩(wěn)定。
源程序如下:
den=[1 2 2 1];
sys=tf(num,den);
poles=roots(den)
figure(1);
pzmap(sys);
t=0:0.02:10;
h=impulse(num,den,t);
figure(2);
plot(t,h);
xlabel('t(s)');
ylabel('h(t)');
title('Impulse Respone');
[H,w]=freqs(num,den);
figure(3);
plot(w,abs(H));
xlabel('ang.freq.\omega(rad/s)');
ylabel('|H(j\omega)|');
title('Magnitude Respone')
運(yùn)行結(jié)果為:poles =
-1.0000
-0.5000 + 0.8660i
-0.5000 - 0.8660i
同時(shí)得該系統(tǒng)的單位沖激響應(yīng)h(t)和幅頻響應(yīng)H(jω)分別如圖4、圖5所示。
2.4離散時(shí)間Z域分析的MATLAB實(shí)現(xiàn)
對(duì)于離散系統(tǒng)分析缺乏有效的方法,學(xué)生學(xué)習(xí)只能從簡(jiǎn)單的概念以及數(shù)學(xué)表達(dá)式理解,缺乏直觀性,引入MATLAB分析直觀易懂。如某離散系統(tǒng)的差分方程為:
y(k)-0.3y(k-1)+0.7y(k-2)=f(k)-2f(k-1)+3f(k-2)分析系統(tǒng)的單位樣值響應(yīng)h(k)及當(dāng)激勵(lì)信號(hào)時(shí),系統(tǒng)的輸出響應(yīng)y(k),并繪制出波形圖。
MATLAB參考代碼如下:
k=0:40;
arg=(pi/5)?鄢k;
x=2?鄢sin(arg);
num=[1 -2 3];
den=[1 -0.3 0.7];
y=impz(num,den,k);
subplot(2,1,1)
stem(y,.);
xlabel(‘時(shí)間序號(hào)k);
ylabel(‘信號(hào)幅度);
title(‘單位樣值響應(yīng))
y1=filter(num,den,x);
subplot(2,1,2);
stem(k,y1,.);
xlabel(時(shí)間序號(hào)k);
ylabel(信號(hào)幅度);
title(輸出響應(yīng)y(k))
結(jié)果如圖6所示:
3.基于MATLAB教學(xué)平臺(tái),開發(fā)設(shè)計(jì)性實(shí)驗(yàn),增強(qiáng)趣味性
通過工程實(shí)例實(shí)現(xiàn)《信號(hào)與系統(tǒng)》與《MATLAB語(yǔ)言》組合互補(bǔ)式教學(xué),實(shí)現(xiàn)課程整合;結(jié)合《信號(hào)與系統(tǒng)》課程內(nèi)容和特點(diǎn),完成應(yīng)用實(shí)例題目的設(shè)計(jì)并給出參考答案。工程實(shí)例用MATLAB語(yǔ)言開發(fā)實(shí)現(xiàn) ,具備現(xiàn)場(chǎng)計(jì)算、動(dòng)態(tài)演示的功能。還可以利用學(xué)校便利的計(jì)算機(jī)網(wǎng)絡(luò)資源將工程實(shí)例擴(kuò)展為軟件實(shí)驗(yàn)平臺(tái),以補(bǔ)充硬件實(shí)驗(yàn)資源的不足。這樣學(xué)生可以將 MATLAB作為學(xué)習(xí)工具,以積極主動(dòng)的學(xué)習(xí)者角色開展研究型學(xué)習(xí)。教師也可以通過網(wǎng)絡(luò)的平臺(tái)發(fā)揮主導(dǎo)作用,與學(xué)生互動(dòng)。
4.信號(hào)與系統(tǒng)課程其他方面的教學(xué)研究
針對(duì)信號(hào)與系統(tǒng)課程的特點(diǎn),建立自測(cè)題庫(kù)和模擬測(cè)試題庫(kù),通過試題庫(kù)的建立,學(xué)生可以及時(shí)對(duì)知識(shí)點(diǎn)進(jìn)行梳理,對(duì)沒有掌握的重點(diǎn)內(nèi)容加強(qiáng)鞏固;同時(shí)題庫(kù)還可以幫助學(xué)生對(duì)本課程學(xué)習(xí)過程進(jìn)行有效評(píng)估。
網(wǎng)站課程建設(shè),建設(shè)《信號(hào)與系統(tǒng)》網(wǎng)站,并及時(shí)將課程大綱、授課計(jì)劃、樣卷、習(xí)題自測(cè)、作業(yè)布置與提交等資料充實(shí)到網(wǎng)站。網(wǎng)站上制作答疑互動(dòng)模塊,開通互動(dòng)交流平臺(tái),方便學(xué)生在線學(xué)習(xí)與教師釋疑。網(wǎng)站提供動(dòng)漫課件,針對(duì)該課程理論性強(qiáng)、概念抽象的特點(diǎn),增強(qiáng)趣味性,減少學(xué)生的學(xué)習(xí)難度。
5.結(jié)論
筆者將兩個(gè)有關(guān)但又無法合并成一門進(jìn)行教學(xué)的課程有機(jī)地結(jié)合起來,提出“組合互補(bǔ)式”的教學(xué)新模式,取得了比較好的教學(xué)效果。通過兩門課互補(bǔ)學(xué)習(xí),學(xué)生不但較好地掌握了基礎(chǔ)知識(shí),而且對(duì)高難度題目也能夠靈活運(yùn)用所學(xué)知識(shí)進(jìn)行解答。通過具有綜合性、實(shí)踐性工程實(shí)例的設(shè)計(jì)開發(fā),學(xué)生在枯燥的理論學(xué)習(xí)同時(shí),知道了這門課的理論用在哪里,如何運(yùn)用,對(duì)這兩門課程學(xué)習(xí)的興趣有較大提高。希望這種“整合模式”的教學(xué)方法能從理論上豐富高校教學(xué)的基本理論,找出一條適應(yīng)新知識(shí)經(jīng)濟(jì)時(shí)代、培養(yǎng)新型人才的新方法。
參考文獻(xiàn):
[1]吳大正.信號(hào)與系統(tǒng)[M],高等教育出版社。
[2]劉樹棠.信號(hào)與系統(tǒng)[M],西安交通大學(xué)出版社。