廖湘萍 樂露露 胡世新
(湖南工業大學理學院 湖南 株洲 412007)
王詩龍
(株洲市第八中學 湖南 株洲 412007)
羅小剛
(邵陽縣巖口鋪鎮初級中學 湖南 邵陽 422106)
信息技術與物理教學的整合,符合新課程改革的要求,不僅體現了物理教學的現代化,而且是物理教學的改革方向之一.因此,如何將計算機技術方便、高效地滲透到中學物理教學之中,從而提高課堂效率、提高學生的認知和理解能力,成為新課改下一名物理教師所必須學習和研究的重要課題[1~4].
Guide(Graphical User Interface Development Environment) 可以實現用戶與計算機之間進行信息交流,是Matlab圖形用戶接口開發環境[5,6].這種用戶接口開發環境極大地簡化了設計和建立Gui的過程,因為它提供了一系列工具用于建立Gui對象,通過按鈕即可運行事先設計好的包含特定運算命令的文件.
“電磁波的發射傳播和接收”是高中物理的難點內容,其中信號的調制與解調過程抽象,難以在學生頭腦中構建出清晰的模型.同時,我國很多中學存在教學資源不足,因受實驗設備的限制,物理課堂上基本只憑教師講授進行教學.這正是本文利用Matlab Guide功能進行信號調制與解調演示實驗設計的目的.借助仿真將信號調制與解調的動態過程輕松、直觀地呈現在顯示窗口中,將抽象復雜的內容具體化、形象化、圖像化,為教學研究帶來便利.利用Matlab Guide功能輔助中學物理教學為教師教學提供了一定的方法和思路[7~9].
調幅(AM)是幅度調制,它使載波信號的振幅隨著調制信號的變化而規律變化.
設載波信號為
vc(t)=Vmcos(ωct)
(1)
調制信號為
vΩ(t)=VΩmcos(Ωt)
(2)
調幅信號的一般表達式為
vAM(t)=Vm[1+macos(Ωt)]cos (ωct)
(3)
式中ma為調幅指數.
調幅解調的功能是從調幅信號中不失真地解調出原信號.幅度調制的解調過程有相干解調與非相干解調兩種方式.程序編寫過程中采用Matlab通信工具箱提供的幅度調制函數ammod 對載波信號進行調幅,用幅度解調函數amdemod進行解調 ,調用格式如下:
at=ammod(et,Fc,fs)
et1=amdemod(at,Fc,fs)
其中,et為輸入的調制信號,at為輸入的調幅波,Fc,fs分別為載波頻率和采樣頻率.
調頻(FM)是頻率調制,它是使載波信號的頻率隨著調制信號的變化而規律變化.
設載波信號為
vc(t)=Vmcos(ωct)
調制信號為
vΩ(t)=VΩmcos(Ωt)
調頻信號的一般表達式為
(4)
式中,kf為比例常數,表示調制器的靈敏度.
頻率調制的解調過程采用鎖相環方法.本實驗編程采用Matlab通信工具箱提供的頻率調制函數fmmod對載波信號進行調頻,用頻率解調函數fmdemod進行解調,調用格式如下:
at=fmmod(et,Fc,fs,freqdev)
et2=fmdemod(at,Fc,fs,freqdev)
其中,et為輸入的調制信號,at為輸入的調頻波,Fc和fs分別為載波頻率和采樣頻率,freqdev為最大頻率偏移.
除了強大的數值計算、符號運算和圖形處理功能,Matlab還提供了圖形用戶界面的設計和開發功能,即Guide圖形用戶接口開發環境.圖形用戶界面包括4個部分:(1)對象選擇區;(2)工具欄;(3)布局區;(4)狀態欄.Guide提供的基本圖形用戶界面對象可分為:用戶界面控件對象(Uicontrol)、表格(Table)、 面板(Panel)、按鈕組(Button Group)、Activex控制(ActiveX Control).利用上述用戶界面對象,可以設計出界面良好、功能強大和操作簡便的圖形用戶界面.圖l是信號調制與解調演示實驗的設計界面圖.

圖1 演示實驗的Guide開發界面圖
界面圖中包括:(1)3個坐標軸對象,分別用于顯示載波信號、已調信號和解調信號的動態模擬圖形;(2)2個觸控按鈕,分別用于清空圖像和結束程序;(3)1個靜態文本標簽,用于顯示實驗名稱;(4)一個按鈕群,用于管理4個單選按鈕.(5)4個單選按鈕,分別用于控制正弦波和方波的調幅與調頻.
編寫回調函數之前,首先要對Guide界面對象根據需要進行布局,打開控件的屬性查看器,設置這些控件的屬性.然后編寫好每一個組件的回調程序來實現對組件的控制.用鼠標點擊時,組件完成相應的功能.
本實驗調制信號頻率為10 Hz的正弦波et=sin(2*pi*10*t)和頻率為10 Hz的方波,采樣頻率fs為1 000 Hz,載波頻率為100 Hz.
正弦波幅度調制與解調過程中,按鈕組(Button Group)的主要回調函數(SelectionChangeFcn)代碼如下:
switch str
fs=1000;
Fc=100;
N=1000;
t=linspace(0,0.5,fs);
et=sin(2*pi*10*t);
axes(handles.axes1)
comet(t,et)
plot(t,et)
axis([0,0.5,-1,1])
f=[-500:499]/N*fs;
yk=fft(et,N);
yw=abs(fftshift(yk))/N;
at=ammod(et,Fc,fs);
axes(handles.axes2)
comet(t,at)
plot(t,at)
axis([0,0.5,-1,1])
yk1=fft(at,1000);
yw1=abs(fftshift(yk1))/N;
et1=amdemod(at,Fc,fs);
axes(handles.axes3)
comet(t,et1)
plot(t,et1)
axis([0,0.5,-1,1])
回調程序中利用comet函數進行彗星動畫演示.程序動態地繪制了調制波、已調波和解調波的演化圖形,繪制結束后留下了運動的軌跡.
點擊4個單選按鈕,分別得到如下正弦波調幅、方波調幅、正弦波調頻和方波調頻的動態圖形.
圖2和圖3是幅度調制與解調的動態圖形.可以看出,載波的振幅隨著調制信號的規律而變化(但頻率保持不變).解調后的信號與調制信號頻率相同.

圖2 正弦波調幅信號圖

圖3 方波調幅信號圖
圖4和圖5是頻率調制與解調的動態圖形.可以看出,載波的頻率隨著調制信號幅度變化而變化(但幅度保持不變).與輸入的調制信號相比,解調后的信號與調制信號頻率相同, 實現了無失真解調.

圖4 正弦波調頻信號圖

圖5 方波調頻信號圖
以上所述調幅和調頻是兩種不同的信號調制方式,它們有各自不同的機理和特點,實際應用時可根據需要選擇其中一種調制方式.比如,為提高信號的抗干擾能力,可選擇調頻方式.
本文利用Matlab Guide功能,基于高中物理教學要求,分別對頻率調制與解調、幅度調制與解調過程進行仿真.點擊Matlab Guide界面按鈕可以分別將正弦波調幅、方波調幅、正弦波調頻和方波調頻過程動態地演示出來.本文所做的嘗試一方面幫助學生建立基本的調制與解調概念,理解基本的調制與解調原理,區分調頻與調幅的不同本質.另一方面,生動形象的教學內容有助于增強學生對抽象概念的深入理解,調動學生的學習興趣和積極性,提高課堂的教學效果.同時,借此實例讓學生真切地體會到信息技術在物理教學中的應用.