基于Matlab Guide的信号调制与解调演示实验设计*

2020-12-02 07:29廖湘萍乐露露胡世新
物理通报 2020年12期
关键词:调幅方波正弦波

廖湘萍 乐露露 胡世新

(湖南工业大学理学院 湖南 株洲 412007)

王诗龙

(株洲市第八中学 湖南 株洲 412007)

罗小刚

(邵阳县岩口铺镇初级中学 湖南 邵阳 422106)

1 引言

信息技术与物理教学的整合,符合新课程改革的要求,不仅体现了物理教学的现代化,而且是物理教学的改革方向之一.因此,如何将计算机技术方便、高效地渗透到中学物理教学之中,从而提高课堂效率、提高学生的认知和理解能力,成为新课改下一名物理教师所必须学习和研究的重要课题[1~4].

Guide(Graphical User Interface Development Environment) 可以实现用户与计算机之间进行信息交流,是Matlab图形用户接口开发环境[5,6].这种用户接口开发环境极大地简化了设计和建立Gui的过程,因为它提供了一系列工具用于建立Gui对象,通过按钮即可运行事先设计好的包含特定运算命令的文件.

“电磁波的发射传播和接收”是高中物理的难点内容,其中信号的调制与解调过程抽象,难以在学生头脑中构建出清晰的模型.同时,我国很多中学存在教学资源不足,因受实验设备的限制,物理课堂上基本只凭教师讲授进行教学.这正是本文利用Matlab Guide功能进行信号调制与解调演示实验设计的目的.借助仿真将信号调制与解调的动态过程轻松、直观地呈现在显示窗口中,将抽象复杂的内容具体化、形象化、图像化,为教学研究带来便利.利用Matlab Guide功能辅助中学物理教学为教师教学提供了一定的方法和思路[7~9].

2 信号调制与解调的原理

2.1 幅度调制与解调的原理

调幅(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分别为载波频率和采样频率.

2.2 频率调制与解调的原理

调频(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为最大频率偏移.

3 基于Matlab Guide 的演示实验设计

3.1 界面的设计

除了强大的数值计算、符号运算和图形处理功能,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个单选按钮,分别用于控制正弦波和方波的调幅与调频.

3.2 回调函数的编写

编写回调函数之前,首先要对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函数进行彗星动画演示.程序动态地绘制了调制波、已调波和解调波的演化图形,绘制结束后留下了运动的轨迹.

3.3 动态图形的演示

点击4个单选按钮,分别得到如下正弦波调幅、方波调幅、正弦波调频和方波调频的动态图形.

图2和图3是幅度调制与解调的动态图形.可以看出,载波的振幅随着调制信号的规律而变化(但频率保持不变).解调后的信号与调制信号频率相同.

图2 正弦波调幅信号图

图3 方波调幅信号图

图4和图5是频率调制与解调的动态图形.可以看出,载波的频率随着调制信号幅度变化而变化(但幅度保持不变).与输入的调制信号相比,解调后的信号与调制信号频率相同, 实现了无失真解调.

图4 正弦波调频信号图

图5 方波调频信号图

以上所述调幅和调频是两种不同的信号调制方式,它们有各自不同的机理和特点,实际应用时可根据需要选择其中一种调制方式.比如,为提高信号的抗干扰能力,可选择调频方式.

4 小结

本文利用Matlab Guide功能,基于高中物理教学要求,分别对频率调制与解调、幅度调制与解调过程进行仿真.点击Matlab Guide界面按钮可以分别将正弦波调幅、方波调幅、正弦波调频和方波调频过程动态地演示出来.本文所做的尝试一方面帮助学生建立基本的调制与解调概念,理解基本的调制与解调原理,区分调频与调幅的不同本质.另一方面,生动形象的教学内容有助于增强学生对抽象概念的深入理解,调动学生的学习兴趣和积极性,提高课堂的教学效果.同时,借此实例让学生真切地体会到信息技术在物理教学中的应用.

猜你喜欢
调幅方波正弦波
便携式多功能频率计的设计与实现
运动晶界与调幅分解相互作用过程的相场法研究*
基于MATLAB调幅包络检波和相干解调性能设计与比较
采用BC5016S的纯正弦波逆变器设计及制作
超音频正弦波电子管放大器灯丝伺服电路的设计
心肺复苏通气时呼吸机送气流速模式选用方波和减速波对患者气道压力的影响
调频广播对民航甚高频频段的干扰分析
基于STM32的风力摆控制系统的设计
一种防垢除垢的变频电磁场发生装置
Matlab环境下基于遗传算法的正弦波信号参数提取