论文部分内容阅读
摘要:为了配合“通信原理”及“数字信号处理”课程的课堂教学和实践教学,设计出了一套集理论教学与实验教学于一体的软件平台,采用MATLAB/GUI开发工具,介绍了软件框架结构,实验文件打开、处理及显示等功能。实践证明:该平台能够有效改善教学效果,提高学生在数字通信方面的软件编程素质和实践应用能力,达到理论与实践相结合的教学目标。
关键词:通信;信息技术; 数字信号处理; GUI
作者简介:皮宇锋(1988-),男,湖南澧县人,湖南文理学院信息技术研究所,主要研究方向:电子电路仿真设计;郭杰荣(1973-),男,湖南汉寿人,湖南文理学院信息技术研究所,副教授,工学博士,主要研究方向:模拟集成电路设计与测试信号处理。(湖南 常德 415000)
基金项目:本文系湖南省2008年质量工程项目、湖南省教育厅科研项目(项目编号:08C587)的研究成果。
信息通信类课程是理论与实践、原理与应用紧密结合的课程。这类课程起点高、难度大,理论性和实践性很强,教学过程中,一方面要在课堂教学中引入适当的实例分析和编程处理实例,将复杂的算法直观地展现在学生面前,通过比较信号处理前后的效果和演示算法来提高学生对理论的直觉感受,使原本抽象的内容变得生动具体;另一方面要满足学生课后实践的要求,针对一些典型的处理方法开设实验,让学生应用平时所学的知识,通过软件编程实现和观察处理之后的效果,为其提供边学习边实践的平台。开发通信信息处理教学软件不但可以满足课堂教学演示理论的需要,还可以提高学生的动手能力。
本研究基于MATLAB/GUI开发了一套理论与实践相结合的通信信息处理教学软件。该平台具有操作方便、交互性强等特点,借助于系统平台,学生不需要掌握复杂的MATLAB程序设计知识就可以方便地实现各类信息通信实验仿真与设计。该平台可在课堂教学中与理论课程配套使用,促使学生加深对理论知识的理解,验证理论的作用,减少教师重复劳动。同时,软件还可为学生实验提供实验平台。
一、信息教学软件设计
1.开发工具选择
本研究开发的教学软件采用最常用的MATLAB/GUI的工具实现信息处理界面设计,GUI(Graphical User Interface)是图形用户界面的意思,在MATLAB环境中,GUI程序的界面其实就是一个或多个包含各种图形对象的图形窗;而GUI程序的具体功能由M文件实现,即需要为界面上的各个控件编写行为函数。所谓行为函数,就是当用户激活该控件时要执行的回调函数。因此理解句柄图形系统、控件的回调属性和回调函数是编写GUI程序的关键。回调属性(callback)是控件众多属性中的一个,它指定了在控件上发生特定事件时必须执行的函数。还有另外3个可以回调函数的属性:ButtonDownFcn,定义在控件上单击鼠标左键时执行的函数;CreateFcn,定义对象创建时执行的函数;DeleteFcn,定义对象被删除时执行的函数。图形界面可以利用MATLAB提供的GUIDE辅助工具来实现,也可以直接编写M文件的方式来实现。打开的MATLAB GUI设计界面如图1所示。
2.信息通信教学软件框架结构
在软件开发上,本研究充分考虑到学生的可接受性、软件的可扩充性和教学的实用性,将图像处理的理论与实际应用相结合,使抽象内容变为可视内容,图文并举,形象直观,具有良好的教学效果。
因此,本软件开发遵循以下原则:
(1)实例简单易懂,使读者学习起来轻松愉快,每章或一个相关内容提供一个编程实例,将不同的内容软件分别开发,避免变量过多,造成代码庞大。
(2)让学生把主要精力放在信息处理的算法实现上。系统结构简单明了,代码短小精练,干扰减少,使学生学习起来目标明确。
(3)所有实例的框架一致,如图2所示。
二、图形用户界面的设计
图形用户界面的设计步骤一般为三步。第一步:在图形窗口中布置控件。第二步:用位置调整器对控件的位置进行调整。第三步:打开对象属性编辑器设置控件的属性及控件的标志(Tag)。控件的标志用于对各控件的识别,以便于编辑、记忆和维护。本项目设计的图形用户界面如图3所示。
进入主界面后,最上面蓝色的为标题栏,标题栏下面为菜单栏,菜单栏下面的整个部分为主控面。标题栏:显示的是软件的名称和现在所做实验的名称。菜单栏:主要有选择实验、通信接口、帮助、关于。可以点击选择实验,从中选择要做的实验项目。通信接口是一个硬件接口,主要实现无线通信功能。点击帮助菜单后将弹出一个帮助对话框。主控面:左边为实验项目的名称,后面为相应实验项目的简介。单击左边的实验项目名称后,单击下面的START按钮,即可进入相应的实验项目。
选择一个实验项目并单击START按钮后,将打开一个新的界面,这就是选择的实验项目。
左边为图形显示部分,主要显示仿真出来的波形。右边为控制部分。左边最上面是一个下拉菜单,主要是用来选择要仿真的具体实验,下面的几个空是用来填写具体参数的,只要填入适当的数据,单击Plot按钮即可。比如在主界面选择的是“确定信号分析”,单击Start按钮,即可进入。然后在界面左上角选择周期信号的分析,然后输入参数,比如周期为5,N取100,采样点数为128,单击画图按钮Plot即可。可以看到左边的波形显示窗口,这个就是周期为5,N为100,采样点为128的确定信号分析图形。可以重新输入不同的数据,比如改变周期,改变N,或者改变采样点数都可以,然后按下Plot按钮就可以显示新的波形。可以从下拉菜单中选择不同的实验,也可以单击菜单栏中的选择实验来重新选择不同的实验项目。
三、仿真实验实例
下面以模拟调制为例来介绍信息通信软件仿真实验的制作方法。调制是一个将信号变换成适于信道传输的装置,由于信源的特性与信道的特性可能不匹配,直接传输可能严重影响传输质量。模拟调制针对的信源为模拟信号,常用的模拟调制有调幅、调相、调频。以双边带抑制载波调幅为例,设均值为零的模拟基带信号为m(t),双边带抑制载波调幅(DSB-SC)信号为
s(t)=m(t)cos2πfct (1)
当m(t)是随机信号,其功率谱密度为
(2)
当m(t)是确知信号,其频谱为
(3)
其中PM(f)是m(t)的功率谱密度,M(f)是m(t)的频谱。由于m(t)均值为0,因此调制后的信号不含离散的载波分量,若接收段能恢复出载波分量,则可以采用如下的相干解调:
r(t)=s(t)cos2πfct
=m(t)cos22πfct
= cos4πfct (4)
再用低通滤波器去高频分量,就恢复出了原始信息。主体程序如下:
close all;
clear all;
dt=0.001;%时间采样间隔
fm=1;%信源最高频率
fc=10;%载波中心频率
T=5;%信号时长
t=0:dt:T;
mt=sqrt(2)*cos(2*pi*fm*t); %信源
%N0=0.01;
%白噪单边功率谱密度
%DSB modulation
s_dsb=mt.*cos(2*pi*fc*t);
B=2*fm; %noise=noise_nb(fc,B,N0,t);
%s_dsb=s_dsb+noise;
figure(1)
subplot(311)
plot(s,s_dsb);
hold on; %画出DSB信号波形
plot(t,mt,'r--');
标示mt的波形
title(‘DSB调制信号’);
xlable(‘t’); %DSB demodulation
rt=s_dsb.*cos(2*pi*fc*t);
rt=rt-mean(rt);
[f,rf]=T2F(t,rt);
[r,rt]=lpf(f,rf,2*fm);
subplot(312)
plot(t,rt);
hold on;
plot(t,mt/2,'r--');
title(‘相干解调后的信号波形与输入信号的比较’);
xlable(‘t’)
subplot(313)
[f,sf]=T2F(t,s_dsb); %求调制信号的频谱
psf=(abs(sf).^2)/T; %求调制信号的功率谱密度
plot(f,psf); %画出波形
axis([-2*fc 2*fc max(psf)]); %显示波形
title(‘DSB信号功率谱’);
xlable(‘f’); %x轴坐标名称
Function[t st]=lpf(f,sf,B)
df=f(2)-f(1);
T=1/df;
hf=zeros(1,length(f));
bf=[-floor(B/df):floor(B/df)]+floor(length(f)/2;
hf(bf)=1;
yf=hf.*sf;
[t,st]=F2F(f,yf);
st=real(st);
若设模拟基带信号为m(t),调幅信号为:
s(t)=[A+m(t)]cos2πfct (5)
其中A是一个常数。可以将调幅信号看成一个余弦载波加抑制载波双边带调幅信号,当A>m(t)时,称此调幅信号欠调幅; A 四、结束语
本系统包含了大中院校“通信原理”课程的全部内容,包括确定信号、分析随机过程、模拟调制、数字基带传输、数字频带传输、模拟信号的数字化及编码系统,分为软件仿真部分和硬件接口部分,能够很好地满足各方面的需要。系统操作方便、实用性强、性能稳定。本系统适用于师生的教学学习,也适用于通信类专业技术人员和广大通信爱好者的学习研究。
参考文献:
[1]程卫国.MATLAB精要、编程及高级应用[M].北京:机械工业出版社,2000,(4).
[2]苏金明,阮沈勇.MATLAB实用指南[M].北京:电子工业出版社,2002,(1).
[3]尹泽明,丁春利.精通MATLAB6[M].北京:清华大学出版社,2002,(1).
(责任编辑:麻剑飞)
关键词:通信;信息技术; 数字信号处理; GUI
作者简介:皮宇锋(1988-),男,湖南澧县人,湖南文理学院信息技术研究所,主要研究方向:电子电路仿真设计;郭杰荣(1973-),男,湖南汉寿人,湖南文理学院信息技术研究所,副教授,工学博士,主要研究方向:模拟集成电路设计与测试信号处理。(湖南 常德 415000)
基金项目:本文系湖南省2008年质量工程项目、湖南省教育厅科研项目(项目编号:08C587)的研究成果。
信息通信类课程是理论与实践、原理与应用紧密结合的课程。这类课程起点高、难度大,理论性和实践性很强,教学过程中,一方面要在课堂教学中引入适当的实例分析和编程处理实例,将复杂的算法直观地展现在学生面前,通过比较信号处理前后的效果和演示算法来提高学生对理论的直觉感受,使原本抽象的内容变得生动具体;另一方面要满足学生课后实践的要求,针对一些典型的处理方法开设实验,让学生应用平时所学的知识,通过软件编程实现和观察处理之后的效果,为其提供边学习边实践的平台。开发通信信息处理教学软件不但可以满足课堂教学演示理论的需要,还可以提高学生的动手能力。
本研究基于MATLAB/GUI开发了一套理论与实践相结合的通信信息处理教学软件。该平台具有操作方便、交互性强等特点,借助于系统平台,学生不需要掌握复杂的MATLAB程序设计知识就可以方便地实现各类信息通信实验仿真与设计。该平台可在课堂教学中与理论课程配套使用,促使学生加深对理论知识的理解,验证理论的作用,减少教师重复劳动。同时,软件还可为学生实验提供实验平台。
一、信息教学软件设计
1.开发工具选择
本研究开发的教学软件采用最常用的MATLAB/GUI的工具实现信息处理界面设计,GUI(Graphical User Interface)是图形用户界面的意思,在MATLAB环境中,GUI程序的界面其实就是一个或多个包含各种图形对象的图形窗;而GUI程序的具体功能由M文件实现,即需要为界面上的各个控件编写行为函数。所谓行为函数,就是当用户激活该控件时要执行的回调函数。因此理解句柄图形系统、控件的回调属性和回调函数是编写GUI程序的关键。回调属性(callback)是控件众多属性中的一个,它指定了在控件上发生特定事件时必须执行的函数。还有另外3个可以回调函数的属性:ButtonDownFcn,定义在控件上单击鼠标左键时执行的函数;CreateFcn,定义对象创建时执行的函数;DeleteFcn,定义对象被删除时执行的函数。图形界面可以利用MATLAB提供的GUIDE辅助工具来实现,也可以直接编写M文件的方式来实现。打开的MATLAB GUI设计界面如图1所示。
2.信息通信教学软件框架结构
在软件开发上,本研究充分考虑到学生的可接受性、软件的可扩充性和教学的实用性,将图像处理的理论与实际应用相结合,使抽象内容变为可视内容,图文并举,形象直观,具有良好的教学效果。
因此,本软件开发遵循以下原则:
(1)实例简单易懂,使读者学习起来轻松愉快,每章或一个相关内容提供一个编程实例,将不同的内容软件分别开发,避免变量过多,造成代码庞大。
(2)让学生把主要精力放在信息处理的算法实现上。系统结构简单明了,代码短小精练,干扰减少,使学生学习起来目标明确。
(3)所有实例的框架一致,如图2所示。
二、图形用户界面的设计
图形用户界面的设计步骤一般为三步。第一步:在图形窗口中布置控件。第二步:用位置调整器对控件的位置进行调整。第三步:打开对象属性编辑器设置控件的属性及控件的标志(Tag)。控件的标志用于对各控件的识别,以便于编辑、记忆和维护。本项目设计的图形用户界面如图3所示。
进入主界面后,最上面蓝色的为标题栏,标题栏下面为菜单栏,菜单栏下面的整个部分为主控面。标题栏:显示的是软件的名称和现在所做实验的名称。菜单栏:主要有选择实验、通信接口、帮助、关于。可以点击选择实验,从中选择要做的实验项目。通信接口是一个硬件接口,主要实现无线通信功能。点击帮助菜单后将弹出一个帮助对话框。主控面:左边为实验项目的名称,后面为相应实验项目的简介。单击左边的实验项目名称后,单击下面的START按钮,即可进入相应的实验项目。
选择一个实验项目并单击START按钮后,将打开一个新的界面,这就是选择的实验项目。
左边为图形显示部分,主要显示仿真出来的波形。右边为控制部分。左边最上面是一个下拉菜单,主要是用来选择要仿真的具体实验,下面的几个空是用来填写具体参数的,只要填入适当的数据,单击Plot按钮即可。比如在主界面选择的是“确定信号分析”,单击Start按钮,即可进入。然后在界面左上角选择周期信号的分析,然后输入参数,比如周期为5,N取100,采样点数为128,单击画图按钮Plot即可。可以看到左边的波形显示窗口,这个就是周期为5,N为100,采样点为128的确定信号分析图形。可以重新输入不同的数据,比如改变周期,改变N,或者改变采样点数都可以,然后按下Plot按钮就可以显示新的波形。可以从下拉菜单中选择不同的实验,也可以单击菜单栏中的选择实验来重新选择不同的实验项目。
三、仿真实验实例
下面以模拟调制为例来介绍信息通信软件仿真实验的制作方法。调制是一个将信号变换成适于信道传输的装置,由于信源的特性与信道的特性可能不匹配,直接传输可能严重影响传输质量。模拟调制针对的信源为模拟信号,常用的模拟调制有调幅、调相、调频。以双边带抑制载波调幅为例,设均值为零的模拟基带信号为m(t),双边带抑制载波调幅(DSB-SC)信号为
s(t)=m(t)cos2πfct (1)
当m(t)是随机信号,其功率谱密度为
(2)
当m(t)是确知信号,其频谱为
(3)
其中PM(f)是m(t)的功率谱密度,M(f)是m(t)的频谱。由于m(t)均值为0,因此调制后的信号不含离散的载波分量,若接收段能恢复出载波分量,则可以采用如下的相干解调:
r(t)=s(t)cos2πfct
=m(t)cos22πfct
= cos4πfct (4)
再用低通滤波器去高频分量,就恢复出了原始信息。主体程序如下:
close all;
clear all;
dt=0.001;%时间采样间隔
fm=1;%信源最高频率
fc=10;%载波中心频率
T=5;%信号时长
t=0:dt:T;
mt=sqrt(2)*cos(2*pi*fm*t); %信源
%N0=0.01;
%白噪单边功率谱密度
%DSB modulation
s_dsb=mt.*cos(2*pi*fc*t);
B=2*fm; %noise=noise_nb(fc,B,N0,t);
%s_dsb=s_dsb+noise;
figure(1)
subplot(311)
plot(s,s_dsb);
hold on; %画出DSB信号波形
plot(t,mt,'r--');
标示mt的波形
title(‘DSB调制信号’);
xlable(‘t’); %DSB demodulation
rt=s_dsb.*cos(2*pi*fc*t);
rt=rt-mean(rt);
[f,rf]=T2F(t,rt);
[r,rt]=lpf(f,rf,2*fm);
subplot(312)
plot(t,rt);
hold on;
plot(t,mt/2,'r--');
title(‘相干解调后的信号波形与输入信号的比较’);
xlable(‘t’)
subplot(313)
[f,sf]=T2F(t,s_dsb); %求调制信号的频谱
psf=(abs(sf).^2)/T; %求调制信号的功率谱密度
plot(f,psf); %画出波形
axis([-2*fc 2*fc max(psf)]); %显示波形
title(‘DSB信号功率谱’);
xlable(‘f’); %x轴坐标名称
Function[t st]=lpf(f,sf,B)
df=f(2)-f(1);
T=1/df;
hf=zeros(1,length(f));
bf=[-floor(B/df):floor(B/df)]+floor(length(f)/2;
hf(bf)=1;
yf=hf.*sf;
[t,st]=F2F(f,yf);
st=real(st);
若设模拟基带信号为m(t),调幅信号为:
s(t)=[A+m(t)]cos2πfct (5)
其中A是一个常数。可以将调幅信号看成一个余弦载波加抑制载波双边带调幅信号,当A>m(t)时,称此调幅信号欠调幅; A
本系统包含了大中院校“通信原理”课程的全部内容,包括确定信号、分析随机过程、模拟调制、数字基带传输、数字频带传输、模拟信号的数字化及编码系统,分为软件仿真部分和硬件接口部分,能够很好地满足各方面的需要。系统操作方便、实用性强、性能稳定。本系统适用于师生的教学学习,也适用于通信类专业技术人员和广大通信爱好者的学习研究。
参考文献:
[1]程卫国.MATLAB精要、编程及高级应用[M].北京:机械工业出版社,2000,(4).
[2]苏金明,阮沈勇.MATLAB实用指南[M].北京:电子工业出版社,2002,(1).
[3]尹泽明,丁春利.精通MATLAB6[M].北京:清华大学出版社,2002,(1).
(责任编辑:麻剑飞)