通信原理课程设计2ASK.docx
《通信原理课程设计2ASK.docx》由会员分享,可在线阅读,更多相关《通信原理课程设计2ASK.docx(11页珍藏版)》请在冰豆网上搜索。
通信原理课程设计2ASK
摘要:
本课程设计实现对2ASK理想信号调制与解调,信号的产生有调频法和键控法,解调有相干法和非相干法。
设计使用MATLAB的SIMULINK作为仿真平台,通过对设计的仿真电路进行调试发现,经过调制和解调还原后的信号波形和原始输入信号波形一致。
关键字:
MATLAB2ASK
1引言
1.1课程设计目的
通过利用matlabsimulink,熟悉matlabsimulink仿真工具,并且通过课程设计来更好地掌握课本相关知识,熟悉2ASK的调制与解调,从而更好地了解通信原理的相关知识,磨练自己分析问题、查阅资料、巩固知识、创新等各方面能力。
1.2课程设计内容
利用MATLAB集成环境下的Simulink仿真平台,设计一个2ASK调制与解调系统.用示波器观察调制前后的信号波形;用频谱分析模块观察调制前后信号频谱的变化;加上各种噪声源,用误码测试模块测量误码率;最后根据运行结果和波形来分析该系统性能。
2MATLAB简介
美国Mathworks公司于1967年推出了矩阵实验室“MatrixLaboratory”(缩写为Matlab)这就是Matlab最早的雏形。
开发的最早的目的是帮助学校的老师和学生更好的授课和学习。
从Matlab诞生开始,由于其高度的集成性及应用的方便性,在高校中受到了极大的欢迎。
由于它使用方便,能非常快的实现科研人员的设想,极大的节约了科研人员的时间,受到了大多数科研人员的支持,经过一代代人的努力,目前已发展到了7.X版本。
Matlab是一种解释性执行语言,具有强大的计算、仿真、绘图等功能。
由于它使用简单,扩充方便,尤其是世界上有成千上万的不同领域的科研工作者不停的在自己的科研过程中扩充Matlab的功能,使其成为了巨大的知识宝库。
可以毫不夸张的说,哪怕是你真正理解了一个工具箱,那么就是理解了一门非常重要的科学知识。
科研工作者通常可以通过Matlab来学习某个领域的科学知识,这就是Matlab真正在全世界推广开来的原因。
目前的Matlab版本已经可以方便的设计漂亮的界面,它可以像VB等语言一样设计漂亮的用户接口,同时因为有最丰富的函数库(工具箱),所以计算的功能实现也很简单,进一步受到了科研工作者的欢迎。
另外,,Matlab和其他高级语言也具有良好的接口,可以方便的实现与其他语言的混合编程,进一步拓宽了Matlab的应用潜力。
可以说,Matlab已经也很有必要成为大学生的必修课之一,掌握这门工具对学习各门学科有非常重要的推进作用。
Simulink是MATLAB中的一种可视化仿真工具,也是目前在动态系统的建模和仿真等方面应用最广泛的工具之一。
确切的说,Simulink是一个用来对动态系统进行建模、仿真和分析的软件包,它支持线性和非线性系统,连续、离散时间模型,或者是两者的混合。
系统还可以使多种采样频率的系统,而且系统可以是多进程的。
Simulink工作环境进过几年的发展,已经成为学术和工业界用来建模和仿真的主流工具包。
在Simulink环境中,它为用户提供了方框图进行建模的图形接口,采用这种结构画模型图就如同用手在纸上画模型一样自如、方便,故用户只需进行简单的点击和拖动就能完成建模,并可直接进行系统的仿真,快速的得到仿真结果。
它的主要特点在于:
1、建模方便、快捷;2、易于进行模型分析;3、优越的仿真性能。
它与传统的仿真软件包微分方程和差分方程建模相比,具有更直观、方便、灵活的优点。
Simulink模块库(或函数库)包含有Sinks(输出方式)、Sources(输入源)、Linear(线性环节)、Nonlinear(非线性环节)、Connection(连接与接口)和Extra(其他环节)等具有不同功能或函数运算的Simulink库模块(或库函数),而且每个子模型库中包含有相应的功能模块,用户还可以根据需要定制和创建自己的模块。
用Simulink创建的模型可以具有递阶结构,因此用户可以采用从上到下或从下到上的结构创建模型。
用户可以从最高级开始观看模型,然后用鼠标双击其中的子系统模块,来查看其下一级的内容,以此类推,从而可以看到整个模型的细节,帮助用户理解模型的结构和各模块之间的相互关系。
在定义完一个模型后,用户可以通过Simulink的菜单或MATLAB的命令窗口键入命令来对它进行仿真。
菜单方式对于交互工作非常方便,而命令行方式对于运行仿真的批处理非常有用。
采用Scope模块和其他的显示模块,可以在仿真进行的同时就可立即观看到仿真结果,若改变模块的参数并再次运行即可观察到相应的结果,这适用于因果关系的问题研究。
仿真的结果还可以存放到MATLAB的工作空间里做事后处理。
模型分析工具包括线性化和整理工具,MATLAB的所有工具及Simulink本身的应用工具箱都包含这些工具。
由于MATLAB和SIMULINK的集成在一起的,因此用户可以在这两种环境下对自己的模型进行仿真、分析和修改模型。
但是Simulink不能脱离MATLAB而独立工作。
32ASK调制与解调原理
振幅键控是利用载波的幅度变化来传递数字信息,而其频率和初始相位保持不变。
在2ASK中,载波的幅度只有两种变化状态,分别对应二进制信息“0”或“1”。
一种常用的也是最简单的二进制振幅键控方式称为通—断键控(OOK),其表达式为:
(3-1)
典型波形如图3-1所示:
图3-1
(1)2ASK信号的产生方法通常有两种,如下图:
2AS信号的产生方法通常有两种:
模拟调制法(相乘器法)和键控法,相应的调制器如图3.2。
图(a)就是一般的模拟幅度调制的方法,用乘法器实现;图(b)是一种数字键控法,其中的开关电路受s(t)控制。
(a)模拟相乘法
(b)数字键控法
图3.2
(1)与AM信号的解调方法一样。
2ASK/OOK有两种基本的解调方法:
非相干解调(包络检波法)和相干解调(同步检测法),相应的接收系统方框图如图:
(a)非相干解调(包络检波)
(b)相干解调图3.3
4模块设计与仿真图形分析
4.12ASK调制与解调系统电路图
4.2参数设置
输入载波和相干解调时的正弦波参数
带通滤波器参数
相干解调和非相干解调时低通滤波器的参数
4.3输出波形
示波器1的输出波形
输出波形由上至下分别为:
1、伯努利随机二进制数
2、输入载波
3、产生的调制信号
4、加入高斯白噪声之后的信号
5、通过带通滤波器之后的波形
示波器2的输出波形
输出波形由上至下分别为
1、调制信号通过带通滤波器之后的波形
2、通过全波整流器之后的波形
3、通过低通滤波器之后的波形
4、经过抽样判决器解调之后的波形
示波器3的输出波形
输出波形由上至下分别为
1、经过抽样判决器解调之后的波形
2、通过低通滤波器之后的波形
3、经过相乘器与正弦波相乘之后的波形
4、通过带通滤波器之后的波形
5Matlab仿真(M文件)
4.1程序
>>clear;%清空Workspace
clc;%清空CommandWindow
closeall;%关闭所有窗口
%--------------------------------------
%信号以及仿真相关参数的设置
%--------------------------------------
dt=0.001;%时间采样间隔,即仿真步长
fc=10;%载波中心频率
B_number=10;%设码元数目为10个
T=5;%信号时长
N=T/dt;%采样点数,即仿真点数
B_Sample_Point=N/B_number;%一个码元所对应的采样点数
B_Sample_array=zeros(1,N);%建立一个码元采样的空数组
t=0:
dt:
(N-1)*dt;%所有采样点数的时间组成的数组,即模型中函数的自变量
random_buffer=rand(1,B_number);%生成10个随机数组
fori=1:
1:
B_number%将10个码元进行归一成二进制0、1
ifrandom_buffer(i)<0.5
random_buffer(i)=0;
else
random_buffer(i)=1;
end
end
fori=1:
1:
B_number%产生基带信号
forj=1:
1:
B_Sample_Point
B_Sample_array((i-1)*B_Sample_Point+j)=random_buffer(i);
end
end
CarrySignal=cos(2*pi*fc*t);%载波信号表达式
%--------------------------------------
%2ASK调制信号的产生
%--------------------------------------
Signal_2ASK=CarrySignal.*B_Sample_array;
%--------------------------------------
%进行绘制调制曲线
%--------------------------------------
figure('toolbar','none',...%设置是否显示工具栏:
否
'menu','none',...%设置是否显示菜单栏:
否
'name','2ASK调制过程',...%设置对话框名称
'NumberTitle','off',...%设置是否显示图形窗口编号,否
'color','w',...%设置背景颜色
'Resize','on');%设置是否可以改变窗口大小
subplot(6,1,1);%图形分为6行1列,目前画第一个
plot(t,B_Sample_array,'r','linewidth',3);%画出二进制基带信号
holdon;gridon;%保持图像,使其能和下一个图像一起显示
xlabel('时间/s');ylabel('幅值/v');title('二进制基带信号');%简单的配置
axis([0,5,-0.2,1.2]);%定义坐标区间
subplot(6,1,2);%图形分为6行1列,目前画第二个
plot(t,CarrySignal,'r','linewidth',2);%画出载波信号
holdon;%保持图像,使其能和下一个图像一起显示
xlabel('时间/s');ylabel('幅值/v');title('载波信号');%简单的配置
axis([0,5,-1.2,1.2]);%定义坐标区间
subplot(6,1,3);%图形分为6行1列,目前画第三个
plot(t,Signal_2ASK,'r','linewidth',1.5);%画出调制信号
holdon;%保持图像
gridon;%显示格点
xlabel('时间/s');ylabel('幅值/v');title('调制信号');%简单的配置
axis([0,5,-1.2,1.2]);%定义坐标区间
4.2仿真波形
6参考文献
【1】樊昌信,曹丽娜,通信原理,国防工业出版社,2008
【2】邵玉斌,Matlab/Simulink通信原理建模与仿真实例分析,清华大学出版社,2008
7心得体会
本次通信原理课设,所设计的是用MATLEB来模拟2ASK的调制。
通过对模拟框图、编程语言的理解和通信原理中的知识运用,近似的完成了整个过程的仿真波形并达到了预期的效果。
在实验中,也遇到了一些困难,比如取样个数的选择,判决语句的编写等等问题。
通过同学的帮助,圆满的解决了这些困难。
在实验中,不仅仅使我复习了MATLEB语句,而且还巩固了我通信原理的知识,自己动手,更加直观地看到了这些现象,更加深刻地记忆了这些要点,更加灵活地掌握了这些方法。