通信原理的课程设计数字调制GUI仿真平台的设计.docx
- 文档编号:29602789
- 上传时间:2023-07-25
- 格式:DOCX
- 页数:19
- 大小:210.74KB
通信原理的课程设计数字调制GUI仿真平台的设计.docx
《通信原理的课程设计数字调制GUI仿真平台的设计.docx》由会员分享,可在线阅读,更多相关《通信原理的课程设计数字调制GUI仿真平台的设计.docx(19页珍藏版)》请在冰豆网上搜索。
通信原理的课程设计数字调制GUI仿真平台的设计
一、数字调制系统原理分析
在数字基带传输系统中,为了使数字基带信号能够在信道中传输,要求信道应具有低通形式的传输特性。
然而,在实际信道中,大多数信道具有带通传输特性,数字基带信号不能直接在这种带通传输特性的信道中传,因此,必须用数字基带信号对载波进行调制,产生各种已调数字信号。
与模拟调制相同,可以用数字基带信号改变正弦载波的幅度、频率或相位中的某个参数,产生相应的数字振幅调制、数字频率调制和数字相位调制,也可以用数字基带信号同时改变正弦型载波幅度、频率或相位中的几个参数,产生新型的数字调制。
调制系统的基本结构图如图1所示:
图1数字调制系统的基本结构图
数字调制与模拟调制原理是相同的,一般可以采用模拟调制的方法实现数字调制信号,但是,数字基带信号具有与模拟信号基带信号不同的特点,其取值是有限的离散状态。
这样,可以用载波的某些离散状态来表示数字基带信号的离散状态。
采用数字键控的方法来实现数字调制信号称为键控法。
基本的三种数字调制方式是:
振幅键控(2ASK)、频移键控(2FSK)和相移键控(2PSK).
二、二进制数字调制系统原理分析
2.1二进制振幅键控(2ASK)
振幅键控是利用载波的幅度变化来传递数字信息,而其频率和初始相位保持不变。
在2ASK中,载波的幅度只有两种变化状态,分别对应二进制信息“0”或“1”。
就是有载波输出或者没有载波输出。
有载波输出时表示发送“1”,没有载波输出是表示发送“0”。
一种常用的、也是最简单的二进制振幅键控方式称为通-断键控(OnOffKeying,OOK),其表达式为
式中,ω0=2πf0为载波的角频率;
二进制振幅键控信号时间波型图如下:
调制方法:
1、相乘电路:
包络可以是非矩形的
2、开关电路:
包络是矩形的
相乘电路图开关电路图
2.2二进制频移键控(2FSK)
频移键控是利用载波的频率变化来传递数字信息。
在2FSK中,载波的频率随二进制基带信号在f1和f2两个频率点间变化,则产生二进制移频键控信号(2FSK信号)。
其表示式为
二进制频移键控信号时间波型图如下:
调制方法:
1、调频法:
相位连续
2、开关法:
相位不连续
2.3二进制相移键控(2PSK)
在二进制数字调制中,当正弦载波的相位随二进制数字基带信号离散变化时,则产生二进制移相键控(2PSK)信号。
通常用已调信号载波的0°和180°分别表示二进制数字基带信号的1和0。
二进制移相键控信号的时域表达式为
式中,
或
二进制频移键控信号时间波型图如下:
调制方法:
1、相乘法:
用二进制基带不归零矩形脉冲信号A(t)去和载波相乘。
2、选择法:
用开关电路去选择相位相差π的同频载波。
三、数字调制系统仿真过程
3、1应用MATLAB进行数字调制系统仿真实验过程
a.对实验原理进行分析,选择调制的方式。
b.根据调制方式和调制原理图编写MATLAB程序,并运行得出调制仿真的图像。
c.根据实验程序和仿真图像对数字调制系统仿真性能进行分析。
3、2应用MATLAB进行编写的程序实现数字调制系统的程序段和仿真图
程序如下:
functionvarargout=ASK(varargin)
%ASKM-fileforASK.fig
%ASK,byitself,createsanewASKorraisestheexisting
%singleton*.
%
%H=ASKreturnsthehandletoanewASKorthehandleto
%theexistingsingleton*.
%
%ASK('CALLBACK',hObject,eventData,handles,...)callsthelocal
%functionnamedCALLBACKinASK.Mwiththegiveninputarguments.
%
%ASK('Property','Value',...)createsanewASKorraisesthe
%existingsingleton*.Startingfromtheleft,propertyvaluepairsare
%appliedtotheGUIbeforeASK_OpeningFunctiongetscalled.An
%unrecognizedpropertynameorinvalidvaluemakespropertyapplication
%stop.AllinputsarepassedtoASK_OpeningFcnviavarargin.
%
%*SeeGUIOptionsonGUIDE'sToolsmenu.Choose"GUIallowsonlyone
%instancetorun(singleton)".
%
%Seealso:
GUIDE,GUIDATA,GUIHANDLES
%EdittheabovetexttomodifytheresponsetohelpASK
%LastModifiedbyGUIDEv2.530-Jun-201120:
15:
23
%Begininitializationcode-DONOTEDIT
gui_Singleton=1;
gui_State=struct('gui_Name',mfilename,...
'gui_Singleton',gui_Singleton,...
'gui_OpeningFcn',@ASK_OpeningFcn,...
'gui_OutputFcn',@ASK_OutputFcn,...
'gui_LayoutFcn',[],...
'gui_Callback',[]);
ifnargin&&ischar(varargin{1})
gui_State.gui_Callback=str2func(varargin{1});
end
ifnargout
[varargout{1:
nargout}]=gui_mainfcn(gui_State,varargin{:
});
else
gui_mainfcn(gui_State,varargin{:
});
end
%Endinitializationcode-DONOTEDIT
%---ExecutesjustbeforeASKismadevisible.
functionASK_OpeningFcn(hObject,eventdata,handles,varargin)
%Thisfunctionhasnooutputargs,seeOutputFcn.
%hObjecthandletofigure
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
%varargincommandlineargumentstoASK(seeVARARGIN)
%ChoosedefaultcommandlineoutputforASK
handles.output=hObject;
%Updatehandlesstructure
guidata(hObject,handles);
%UIWAITmakesASKwaitforuserresponse(seeUIRESUME)
%uiwait(handles.figure1);
%---Outputsfromthisfunctionarereturnedtothecommandline.
functionvarargout=ASK_OutputFcn(hObject,eventdata,handles)
%varargoutcellarrayforreturningoutputargs(seeVARARGOUT);
%hObjecthandletofigure
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
%Getdefaultcommandlineoutputfromhandlesstructure
varargout{1}=handles.output;
%---Executesonbuttonpressinpushbutton1.
functionpushbutton1_Callback(hObject,eventdata,handles)
%hObjecthandletopushbutton1(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
t=0:
1/1e3:
0.999;
a=randint(1,10,2);
g=ones(1,100);
g=[g,g,g,g,g,g,g,g,g,g];
s=a(ceil(10*t+0.01)).*g.*cos(2*pi*100*t);
subplot(211);
plot(t,a(ceil(10*t+0.01)));
axis([0,1,0,1.2]);
subplot(212);
plot(t,s);
%---Executesonbuttonpressinpushbutton2.
functionpushbutton2_Callback(hObject,eventdata,handles)
%hObjecthandletopushbutton2(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
fs=8e5;%³éÑùƵÂÊ
fm=20e3;%»ù´øƵÂÊ
n=2*(6*fs/fm);
final=(1/fs)*(n-1);
fc=2e5;%Ôز¨ÆµÂÊ
t=0:
1/fs:
(final);
Fn=fs/2;%ÄÍ¿ü˹ÌØƵÂÊ
%ÓÃÕýÏÒ²¨²úÉú·½²¨
twopi_fc_t=2*pi*fm*t;
A=1;
phi=0;
x=A*cos(twopi_fc_t+phi);
%·½²¨
am=1;
x(x>0)=am;
x(x<0)=-1;
subplot(211);
plot(t,x);
axis([02e-4-22]);
title('µÈ¸Å¶þ½øÖÆÐÅÔ´');
gridon;
car=sin(2*pi*fc*t);%Ôز¨
psk=x.*car;%Ôز¨µ÷ÖÆ
subplot(212);
plot(t,psk);
axis([0200e-6-22]);
title('2PSKÐźÅ');
gridon;
%---Executesonbuttonpressinpushbutton3.
functionpushbutton3_Callback(hObject,eventdata,handles)
%hObjecthandletopushbutton3(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
t=0:
1/1e3:
0.999;
df=10;
a=randint(1,10,2);
m=2*a(ceil(10*t+0.01))-1;
s=cos(2*pi*(100+m*df).*t);
f=1000*(0:
256)/512;
S=fft(s,512);
Pss=S.*conj(S)/512;
subplot(211);
plot(t,a(ceil(10*t+0.01)));
axis([0,1,0,1.2]);
subplot(212);
plot(t,s);
%---Executesonbuttonpressinpushbutton4.
functionpushbutton4_Callback(hObject,eventdata,handles)
%hObjecthandletopushbutton4(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
clc
clear
close
程序结果:
2ASK图
2FSK图
2PSK图
四、仿真结果分析
二进制振幅键控(ASK)采用模拟相乘的方法来实现的,通过模拟幅度调制来实现。
通过数字基带信号和正弦载波信号相乘得出载波。
仿真结果与原理相符。
在二进制数字调制中每个符号只能表示0和1(+1或-1)。
但在许多实际的数字传输系统中却往往采用多进制的数字调制方式。
与二进制数字调制系统相比,多进制数字调制系统具有如下两个特点:
第一:
在相同的信道码源调制中,每个符号可以携带log2M比特信息,因此,当信道频带受限时可以使信息传输率增加,提高了频带利用率。
但由此付出的代价是增加信号功率和实现上的复杂性。
第二,在相同的信息速率下,由于多进制方式的信道传输速率可以比二进制的低,因而多进制信号码源的持续时间要比二进制的宽。
加宽码元宽度,就会增加信号码元的能量,也能减小由于信道特性引起的码间干扰的影响等。
二进制频率键控(2FSK)的产生方法主要有两种。
一种可以采用模拟调制电路来实现;另一种是采用键控法来实现。
这两种方法的主要区别在于:
由调制法产生的2FSK信号在相邻码元之间的相位是连续变化的。
而键控法产生的2FSK信号,是由电子开关在两个独立的频率源之间的转换形成的,故相邻码元之间的相位不一定连续。
本次实验采用的是模拟电路来实现。
所谓FSK就是用数字信号去调制载波的频率。
实现起来较容易,抗噪声与抗衰减的性能较好。
在中低速数据传输中得到了广泛的应用。
二进制相移键控(2PSK)根据数字基带信号的两个电平使载波相位在两个不同的数值之间切换的一种相位调制方法。
实验所得仿真波形与理论相符。
它的优点是幅度恒定,传播速率快,抗噪声和抗衰减能力较好。
在中高速数据传输中用到。
三种调制方式相比,从数据传播速率来说PSK>FSK>ASK。
ASK抗噪声性能最差,抗衰落能力不强,因而一般适宜在恒参信道中使用。
比如:
电话传输。
FSK抗噪声能力较强,抗衰减能力,实现起来容易,适合中低输数据传输。
PSK在有线信道上能实现高速传播,但要求接收机上有稳定的参考相位来分辨所使用各种相位。
抗噪声性能最好,抗衰减能力也强。
实现起来较为复杂。
五、总结与体会
通过两周的课程设计我从中学到了很多东西,对调制与解调部分的原理又加深了理解,最主要的是学习了GUI的使用。
任务布置下来的时候没有什么头绪,后来去图书馆和网下找了一些资料,虽然这学期开了MATLAB的课程,但是老师并没有讲解MATLAB的GUI部分,所以我们还得学习如何使用它。
通过老师给我们的电子书以及自己借的书,慢慢的就学会了如何使用GUI画图。
我们应该好好的学习如何使用GUI画图,用GUI画图非常的方便,它不像有些画图工具那样要自己要线条一根一根的连起来,而GUI是对它进行编程,就是对它进行写程序,然后点击运行,它自己会出图形。
GUI最重要的部分就是写程序,要是你的程序写的不对,那么你的图形就会出错。
用GUI画的图也便于我们修改,还有我们可以自己设计它的坐标,以及对它的图像颜色进行设置。
在进行原理分析的时候,我们应该要理解三种调制方式的性能,例如2ASK、2FSK、2PSK它们的有效性,可靠性,以及稳定性。
还有它们的调制方式和解调方式。
这样就有助于你如何编写程序。
两周的课程设计很快就结束了,虽然有点累,但是通过这次课程设计我有了很多收获,学会了如何使用MATLAB这个软件的GUI部分,我不仅巩固了书本上的知识,即时对不懂的地方进行了查漏补缺,而且通过这次课程设计,我懂的了如何去发现问题,解决难题,学会了如何排除不同的故障。
总之,我们的课程设计不仅让我学会了知识,也让我学会了做事的态度,做人的道理,没有成功是不经过努力得来的。
所以我们应该珍惜这次的课程设计,当做自己一次实践的机会。
六、参考文献
1、樊昌信主编,通信原理,国防工业出版社。
2、南利平主编,通信原理简明教程,清华大学出版社。
3、浣喜明,通信原理实验指导书,湖南工程学院。
4、施晓红,周佳.精通GUI图形界面编程,北京大学出版社。
5、李建新,刘乃安,刘继平,现代通信系统分析与仿真,西安电子科技大学出版社。
6、阮沈勇,王永利,桑群芳,MATLAB程序设计,电子工业出版社。
电气与信息工程系课程设计评分表
项目
评价
优
良
中
及格
差
设计方案的合理性与创造性(10%)
硬件设计或软件编程完成情况(10%)
硬件测试或软件调试结果*(10%)
设计说明书质量(10%)
设计图纸质量(10%)
答辩汇报的条理性和独特见解(10%)
答辩中对所提问题的回答情况(10%)
完成任务情况(10%)
独立工作能力(10%)
出勤情况(10%)
综合评分
指导教师签名:
________________
日期:
________________
注:
①表中标*号项目是硬件制作或软件编程类课题必填内容;
②此表装订在课程设计说明书的最后一页。
课程设计说明书装订顺序:
封面、任务书、目录、正文、评分表、附件(非16K大小的图纸及程序清单)。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 通信 原理 课程设计 数字 调制 GUI 仿真 平台 设计