陳 杰,張樹艷
(塔里木大學 信息工程學院,新疆 阿拉爾 843300)
Matlab是一門強大的計算軟件,不僅具有強大的計算功能和豐富的圖形圖像顯示功能,還給用戶提供了交互式環(huán)境[1],被稱為三大數(shù)學軟件之一。它將數(shù)值分析、矩陣計算、科學數(shù)據(jù)可視化以及非線性動態(tài)系統(tǒng)的建模和仿真等諸多強大功能集成在一個易于使用的視窗環(huán)境中,為科學研究、工程設(shè)計以及必須進行有效數(shù)值計算的眾多科學領(lǐng)域提供了一種全面的解決方案,并在很大程度上擺脫了傳統(tǒng)非交互式程序設(shè)計語言(如C、Fortran)的編輯模式。另外它專門針對通信工程專業(yè)學科給出了專門的模塊和函數(shù),所以,這個軟件深受通信類專業(yè)教師和學生的喜愛。在通信工程專業(yè)中,專業(yè)核心課程“通信原理”和“信號系統(tǒng)”的課程設(shè)計以及部分實驗均采用Matlab軟件進行仿真和分析,專業(yè)必修課程“數(shù)字信號處理”“通信電子線路”“移動通信”和“數(shù)字圖像處理技術(shù)”等也采用Matlab進行輔助教學和實驗講解。畢業(yè)設(shè)計中,將近一半的同學使用Matlab進行編程設(shè)計,此門語言可謂是通信工程專業(yè)的一個法寶,所以“Matlab程序設(shè)計”課程在通信工程專業(yè)中很受重視。但是由于教學安排和課程壓縮,這門課的課時并不多,一般開設(shè)在第三學期,共40個學時左右。因此這門課授課內(nèi)容和授課安排至關(guān)重要,既要考慮到學生的學習深度,也要考慮到學生接觸面的廣度,更要考慮到學生的接受能力。
本文基于以上幾點,對整個課程做幾點改進,以此增強學生的掌握程度和知識量,讓學生在有限的課堂上掌握更多的知識。
對軟件做整體介紹,兩個理論學時,簡明扼要地講解各個窗口的作用、常用的菜單以及工具,不過多地占用時間。
矩陣知識,包括矩陣的定義、算術(shù)運算和關(guān)系運算。重點講述點運算,這種運算是在以往知識中沒有接觸過的,容易與普通算數(shù)運算混淆。矩陣的拆分和引用是一個難點,要詳細講述。通信工程專業(yè)的學生在大一的兩個學期會安排線性代數(shù)課程,這一部分內(nèi)容可以結(jié)合線性代數(shù)知識進行講解,這樣既激起學生對“Matlab程序設(shè)計”的興趣,又可以讓學生對數(shù)學知識有一個新的理解。安排4個學時。
矩陣分析主要包括常用矩陣的一些特殊矩陣,這些矩陣每個都有它的特別之處。本專業(yè)學生在第三學期一般會開設(shè)“信號與系統(tǒng)”課程,比如“ones”和“zeros”這兩個常用矩陣可以結(jié)合“信號與系統(tǒng)”中單位脈沖函數(shù)和單位階躍函數(shù)[2]進行講解,如圖1—3所示,降低了此部分內(nèi)容的枯燥程度,也能讓學生對專業(yè)知識之間的關(guān)系有個很好的認識。讓學生了解每個矩陣的特點對記憶這些矩陣有很大的幫助。魔方矩陣可以結(jié)合它的歷史進行講述,希爾伯特矩陣、三角陣及矩陣的特征分析均可結(jié)合線性代數(shù)上的實例進行講述,幫助學生理解。此處安排2個學時。

圖1 單位階躍函數(shù)

圖2 單位脈沖函數(shù)

圖3 信號調(diào)制和載波信號
單位階躍函數(shù)和單位脈沖函數(shù)代碼:
x=-5:5;
y=[zeros(1,5) 1 zeros(1,5)];
stem(x,y)
xlabel(‘時間');
ylabel(‘幅度');
title(‘單位脈沖函數(shù)')
x=-5:5;
y=[zeros(1,5) ones(1,6)];
stem(x,y)
xlabel(‘時間');
ylabel(‘幅度');
title(‘單位階躍函數(shù)')
程序設(shè)計語言結(jié)構(gòu)是整個教程中的重點,學生只有掌握了各種語言結(jié)構(gòu)才能著手寫程序。以往的教學中大部分是按照教程結(jié)構(gòu)進行授課,即先講授各種程序設(shè)計結(jié)構(gòu),然后講述函數(shù)文件和命令文件。這在一定程度上混淆了學生的理解,接受起來不那么容易。本文先采用一個簡單的學生能接受的編程例子講授命令文件和函數(shù)文件的區(qū)別,等學生理解這個概念之后再講函數(shù)語句,首先從順序結(jié)構(gòu)入手,然后循環(huán)語句,再次條件語句,每講完一個語句均出練習題讓學生自行練習,這樣起到加深理解和記憶的作用。本章安排6個學時。
用Matlab語言繪制各種圖形。這一部分學起來很簡單,但是函數(shù)語句特別多,而且同一種函數(shù)有若干種用法,這就要結(jié)合教程中的函數(shù)語句舉例給學生練習。在教學過程中,學生的練習和聽課一樣重要,很多程序語言,看似簡單,也很容易聽懂,但是學生一寫就出錯。所以一定采取各種方式讓學生練習編程。在編程的過程中教給學生怎樣尋找錯誤和改正錯誤,這才是學生從這門課程中最應(yīng)該學會的東西。這一部分的教學中要先歸類,二維和三維的圖形繪制分開講述。二維繪圖指令較多,可以采用子圖的形式同時繪制出來,讓學生在比較的情況下進行記憶和分析,這有利于掌握每種指令的特點。此處可以引入“通信原理”課程的各種調(diào)制方法給學生講解[3],如圖4所示,這對他們理解函數(shù)指令和通信專業(yè)術(shù)語都有幫助。三維繪圖中,分為三維曲面圖和三維曲線圖,采用子圖的方式繪制出mesh,surf和plot3三種三維曲面圖,把各自特點進行比較,便于學生分析和記憶。本章安排4個學時。
圖形用戶界面知識點對學生來講用處特別廣,傳統(tǒng)的教學方式就是從頭至尾把每個指令語句給學生講解一遍,再演示一下它的功能,但是由于課時有限,采用傳統(tǒng)的教學方式只會讓學生知難而退,不能起到預(yù)期的效果。因此可以用它來開發(fā)一個“信號與系統(tǒng)”課程的實驗平臺[4]的小程序給學生講授,如圖4所示。在小程序中給學生講解每一句的作用,這樣不僅加深學生的記憶,對學生學習積極性也有很好的調(diào)動。之后給學生布置一個課后作業(yè),比如給學生演示一個計算器的設(shè)計或者一個鋼琴鍵盤的設(shè)計,都能激發(fā)學生的好奇心,調(diào)動學生主動學習的興趣。本章安排2個學時。

圖4 信號與系統(tǒng)實驗平臺
數(shù)據(jù)處理和數(shù)據(jù)分析計劃兩個學時,主要講授數(shù)據(jù)插值和數(shù)據(jù)擬合部分,其他的數(shù)據(jù)處理函數(shù)可以讓學生簡單看一遍,用到時知道去哪里查找用法即可。數(shù)據(jù)插值部分可以分為一維插值和二維插值。一維插值根據(jù)每日天氣溫度隨時間的變化數(shù)據(jù)給學生當例題講授,學生對很多理論知識的理解借助于日常生活會更好地接受。二位插值使用溫室大棚的溫度、濕度隨時間變化的數(shù)據(jù)作為案例進行講述。數(shù)據(jù)擬合部分也使用溫度隨時間的變化數(shù)據(jù)進行講述,能用一個方程式表示一天溫度的變化情況,而且這個表達式是學生自己用程序語言編寫,相信每一個學生都會留下很深的印象。本章安排2個學時。
Simulink知識計劃2個學時。Simulink模塊較多,對于通信工程專業(yè)的學生,重點講授Simulink基本知識和通信模塊,如圖5所示,以搭建一個mimo通信系統(tǒng)為例進行課堂講述,由于課時有限,通信模塊原理性的東西不再贅述,主要講述模塊的使用和產(chǎn)生的信號種類以及參數(shù)的設(shè)置方法。剩余的時間讓學生多練習多分析,熟能生巧。

圖5 通信模塊
實驗課的安排如表1所示。

表1 實驗分配
根據(jù)“Matlab程序設(shè)計”課時被壓縮的現(xiàn)象進行教學計劃調(diào)整,通過把專業(yè)課知識引入課程的方法提高學生學習的興趣,在有限的課時里能讓學生掌握的知識量最大化。事實證明,這種安排是一種有效的教學方法。