基于MATLAB的二进制移相键控(2PSK)调制与解调课程设计任务书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计任务书
学生姓名:专业班级:
指导教师:工作单位:
题目:信号分析处理课程设计
-基于MATLAB的二进制移相键控(2PSK)调制与解调分析
初始条件:
1.Matlab6.5以上版本软件;
2.先修课程:通信原理等;
要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体
要求)
1、利用MATLAB中的simulink工具箱中的模块进行二进制移相键控(2PSK)
调制与解调,观察波形变化;
2、画出程序设计框图,编写程序代码,上机运行调试程序,记录实验结果
(含计算结果和图表等),并对实验结果进行分析和总结;
3、课程设计说明书按学校统一规范来撰写,具体包括:
⑴目录;⑵理论分析;
⑶程序设计;⑷程序运行结果及图表分析和总结;
⑸课程设计的心得体会(至少800字,必须手写。
);
⑹参考文献(不少于5篇)。
时间安排:周一、周二查阅资料,了解设计内容;
周三、周四程序设计,上机调试程序;
周五、整理实验结果,撰写课程设计说明书。
指导教师签名:年月日
系主任(或责任教师)签名:年月日
目录
1 理论分析 (1)
1.1基础知识 (1)
1.2二进制相移键控基本原理 (1)
1.3二进制相移键控调制 (2)
1.4二进制相移键控解调 (4)
2 程序设计与仿真模型建立 (6)
2.1设计与仿真基础 (6)
2.2程序设计实现 (7)
2.3 Simulink仿真模型建立 (12)
3 程序运行结果与仿真结果 (19)
3.1程序运行结果与分析 (19)
3.2 Simulink仿真结果与分析 (20)
4 心得体会 (22)
参考文献 (24)
1 理论分析
1.1基础知识
数字信号的传输方式分为基带传输和带通传输。
然而,实际中的大多数信道(如无线信道)因具有带通特性而不能直接传送基带信号,这是因为数字基带信号往往具有丰富的低频分量。
为了使数字信号在带通信道中传输,必须用数字基带信号对载波进行调制,以使信号与信道的特性相匹配。
这种用数字基带信号控制载波,把数字基带信号变换为数字带通信号(已调信号)的过程称为数字调制。
在接收端通过解调器把带通信号还原成数字基带信号的过程称为数字解调。
通常把包括调制和解调过程的数字传输系统叫做数字带通传输系统。
1.2二进制相移键控基本原理
数字调制技术的两种方法:①利用模拟调制的方法去实现数字式调制,即把数字调制看成是模拟调制的一个特例,把数字基带信号当做模拟信号的特殊情况处理;②利用数字信号的离散取值特点通过开关键控载波,从而实现数字调制。
这种方法通常称为键控法,比如对载波的相位进行键控,便可获得相移键控(PSK)基本的调制方式。
1 0 1
相移键控是利用载波的相位变化来传递数字信息,而振幅和频率保持不变。
在2PSK中,通常利用初始相位0和π分别表示二进制“1”和“0”。
因此,2PSK 信号的时域表达式为:
e
2psk =Acos(ω
c
+) (式1.1)
其中,表示第n个符号的绝对相位:
0 发送“0”时
φn= (式1.2)π发送“1”时
因此,上式可以改写为
(式1.3)
就模拟调制法而言,与产生2ASK信号的方法比较,只是对基带信号要求不同,因此2PSK信号可以看作是双极性基带信号作用下的DSB调幅信号。
而就键控法来说,用数字基带信号控制开关电路,选择不同相位的载波输出,这时基带信号为单极性NRZ或双极性NRZ脉冲序列信号均可。
且 2PSK信号属于DSB信号,它的解调不再能采用包络检测的方法,只能进行相干解调。
1.3二进制相移键控调制
相移键控是利用载波的相位变化来传递数字信息,而振幅和频率保持不变。
在2PSK中,通常用初始相位为0和π表示二进制的“1”和“0”。
因此2PSK的信号的时域表达式为
e
2psk (t)=Acos(ω
c
t+φ
n
)
其中,φn 表示第n 个符号的绝对相位: 0 发送“0”时
φn =
π 发送“1”时
因此,上式可改写为
Acos ωc t 概率为P
e2psk
(t)= - Acos ωc t 概率为1-P
图2PSK 信号的时间波形
由于表示信号的两种码元的波形相同,记性相反,鼓2PSK 信号一般可以表述为一个双极性全占空矩形脉冲序列与一个正弦载波相乘,即
e2psk (t)=s(t)cos ωc t
其中
s(t)= ∑a n g(t-nT s )
这里,g(t)是脉宽为Ts 的单个矩形脉冲,而an 得统计特性为
1 概率为P
a n =
-1 概率为1-P
即发送二进制符号“0”时(an取+1),e
(t)取0相位;发送二进制符号“1”
2psk
时(an取-1),e
(t)取π相位。
2psk
1.4二进制相移键控解调
2PSK信号的解调通常都是采用相干解调, 解调器原理图如图所示。
在相干解调过程中需要用到与接收的2PSK信号同频同相的相干载波。
2PSK信号相干解调各点时间波形如图所示,当恢复的相干载波产生180°倒相时,解调出的数字基带信号将与发送的数字基带信号正好是相反,解调器输出数字基带信号全部出错。
图2PSK信号的解调原理图
图2PSK信号相干解调各点时间波形
是2PSK解调器在无噪声情况下能对2PSK信号的正确解调。
(a)是收到的2PSK信号;(b)是本地载波提取电路提取的同频同相载波信号;(c)是接收的2PSK 信号与本地载波相乘得到的波形示意图,此波形经过低通滤波器滤波后得到低通
信号;(d)是取样判决器在位定时信号;(e)是对(d)波形取样,再与门限进行比较,做出相应的判决得到恢复的信号;需要注意的是判决规则应与调制规则一致。
2 程序设计与仿真模型建立
2.1设计与仿真基础
MATLAB是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。
在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。
可以直接调用,用户也可以将自己编写的实用程序导入到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而独立工作。
2.2程序设计实现
该实现方法是利用matlab的M文件,编写程序并利用窗口显示出结果的方法。
2PSK信号与产生2ASK信号的方法比较,只是对s(t)要求不同,在2ASK 中s(t)是单极性的,而在2PSK 中s(t)是双极性的基带信号。
因此2PSK信号可以看作是双极性基带信号作用下的DSB调幅信号。
2PSK信号属于DSB信号,它的解调,不再能采用包络检测的方法,只能进行相干解调。
因此2PSK信号的调制与解调原理框图如下图。
)
e
2
PSK信号的解调原理框图
根据2PSK信号的调制与解调原理框图进行程序设计,首先对程序进行流程图设计,下图是本课程设计的程序设计框图:Array
然后根据程序流程图编写代码,代码分为各个功能模块,以下是程序的代码:%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 初始化参数%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clc;
clear all;
close all;
fs=8e5;%抽样频率
fm=20e3;%基带频率
n=2*(6*fs/fm);
final=(1/fs)*(n-1);
fc=2e5; % 载波频率
t=0:1/fs:(final);
Fn=fs/2;%耐奎斯特频率%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 信源信号%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% figure(1)
subplot(321);
plot(t,x);
axis([0 2e-4 -2 2]);
title('信源信号');
grid on %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 用正弦波产生方波%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 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; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % PSK调制信号%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% car=sin(2*pi*fc*t);%载波
ask=x.*car;%载波调制
subplot(322);
plot(t,ask);
axis([0 200e-6 -2 2]);
title('PSK信号');
grid on; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 带通滤波器%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% fBW=40e3;
f=[0:3e3:4e5];
w=2*pi*f/fs;
z=exp(w*j);
BW=2*pi*fBW/fs;
a=.8547;%BW=2(1-a)/sqrt(a)
p=(j^2*a^2);
gain=.135;
Hz=gain*(z+1).*(z-1)./(z.^2-(p));
subplot(325);
hh=abs(Hz);
plot(f,hh);
title('带通滤波器');
grid on;
Hz(Hz==0)=10^(8);%avoid log(0)
subplot(326);
hhb=20*log10(hh);
plot(f,hhb);
grid on;
title('Receiver -3dB Filter Response');
axis([1e5 3e5 -3 1]);
set (gcf, 'num', 'off', 'name', ['系统信号调制波形'... blanks(10)]);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 带通滤波后输出%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
a=[1 0 0.7305];%[1 0 p]
b=[0.135 0 -0.135];%gain*[1 0 -1]
faskn=filter(b,a,askn);
figure(2)
subplot(321);
plot(t,faskn);
axis([0 100e-6 -2 2]);
title('通过带通滤波后输出');
grid on;
cm=faskn.*car;%解调
subplot(322);
plot(t,cm);
axis([0 100e-6 -2 2]);
grid on;
title('通过相乘器后输出'); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 低通滤波器%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
p=0.72;
gain1=0.14;%gain=(1-p)/2
Hz1=gain1*(z+1)./(z-(p));
subplot(323);
Hz1(Hz1==0)=10^(-8);%avoid log(0)
plot(f,20*log10(abs(Hz1)));
grid on;
title('LPF -3dB response');
axis([0 5e4 -3 1]); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 滤波器系数%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
a1=[1 -0.72];%(z-(p))
b1=[0.14 0.14];%gain*[1 1]
so=filter(b1,a1,cm);
so=so*10;%add gain
so=so-mean(so);%removes DC component
subplot(324);
plot(t,so);
axis([0 8e-4 -3.5 3.5]);
title('通过低通滤波器后输出');
grid on;
%Comparator %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 判定并输出波形%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
High=2.5;
Low=-2.5;
vt=0;%设立比较标准
error=0;
len1=length(so);
for ii=1:len1
if so(ii) >= vt
Vs(ii)=High;
else
Vs(ii)=Low;
end
end
Vo=Vs;
subplot(325);
plot (t,Vo), title('解调后输出信号'),
axis([0 2e-4 -5 5])
grid on;
xlabel('时间 (s)'), ylabel('幅度(V)')
set (gcf, 'num', 'off', 'name', ['系统信号解调波形'... blanks(10)]); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 调制后加噪
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
askn=(ask+noise);%调制后加噪
subplot(324);
plot(t,askn);
axis([0 200e-6 -2 2]);
title('加噪后调制信号');
grid on;
2.3 Simulink仿真模型建立
(1)模型库
在MATLAB命令窗口输入“simulink”并回车,就可进入Simulink模型库,单击工具栏上的按钮也可进入。
Simulik模块库按功能进行分为以下8类子库:Continuous(连续模块)Discrete(离散模块)Function&Tables(函数和平台模块)Math(数学模块)Nonlinear(非线性模块)Signals&Systems(信号和系统模块)Sinks(接收器模块)Sources(输入源模块)用户可以根据需要混合使用歌库中的模块来组合系统,也可以封装自己的模块,自定义模块库、从而实现全图形化仿真。
Simulink模型库中的仿真模块组织成三级树结构Simulink子模型库中包含了Continous、Discontinus等下一级模型库Continous模型库中又包含了若干模块,可直接加入仿真模型。
(2)设计仿真模型
在MATLAB子窗口或Simulink模型库的菜单栏依次选择“File” | “New” | “Model”,即可生成空白仿真模型窗口
(3)运行仿真
两种方式分别是菜单方式和命令行方式,菜单方式:在菜单栏中依次选择"Simulation" | "Start" 或在工具栏上单击。
命令行方式:输入“sim”启动仿真进程
比较这两种不同的运行方式:菜单方式的优点在于交互性,通过设置示波器或显示模块即可在仿真过程中观察输出信号。
命令行方式启动模型后,不能观察仿真进程,但仍可通过显示模块观察输出,适用于批处理方式。
(4)2PSK信号调制与解调模型仿真
建立simulink模型方框图如下:
其中Bernoulli Binary Generator为伯努利二进制随机数产生器,Sine Wave为载波模块,Unipolar to Bipolar Converter为极性变换模块,Power Spectral Density是频谱仪Product为乘法器模块,Analog Filter Design为滤波器模块,QuantizingEncoder为量化编码器模块,Scope为示波器,Power Spectral Density1为频谱分析模块。
参数设置如下:
载波参数设置
武汉理工大学《信号分析处理》课程设计说明书
3 程序运行结果与仿真结果
3.1程序运行结果与分析
运行程序可得结果:
19
武汉理工大学《信号分析处理》课程设计说明书
调制之后信号变为双边带信号,加入噪声之后会干扰原信号。
说明:信道内的PSK信号经过带通滤波器过滤出有用信号,经过相乘器和载波信号相乘,所得信号通过低通滤波器得到低频信号,再经抽样判决得到基带信号。
经过带通滤波处理之后的信号是双边带信号,带通滤波增加了信号的信噪比。
通过低通滤波器后得到低频信息。
经过最后判决解调之后,与原信号很相近,说明仿真很理想。
3.2 Simulink仿真结果与分析
运行总体框图观察调制部分:
各点的时间波形如下所示,其中
第一路为基带信号;
第二路是经过极性转换的双极性码;
第三路是载波波形;
第四路是调制的2PSK波形,原来PN码的+1电平用表示,- 1电平用表示。
运行总体框图观察总体波形:
20
武汉理工大学《信号分析处理》课程设计说明书
各点的时间波形如图3.12所示,其中
第一路为载波信号;
第二路是基带信号;
第三路为调制的2PSK波形;
第四路是2PSK信号与载波相乘的波形,由于调制波形通过了带通滤波器,通过恢复载波,最后的波形就变成了下面的图形。
这是因为经过了恢复载波乘法器之后,2PSK波形与恢复载波相乘,正正得正,正负得负,所以才形成了上下不一的图形;
第五路是低通滤波后的波形,通过低通滤波器之后相当于载波提取后的波形与低通滤波器的波形相互卷积,最后得出了下图。
并且下图的大概包络与载波提取后的波形包络大概相同,而且还有噪声的滤波器的一些不理想因素造成了滤波后的波形出现了波纹幅度;
第六路为量化编码的波形,此图把滤波器输出波形大于0的部分判决成了+1电平,把小于0的判成了0电平;
通过波形对比分析可知2PSK信号解调很成功,但有一些延时,但这是在合理的范围内的。
21
武汉理工大学《信号分析处理》课程设计说明书
4 心得体会
22
武汉理工大学《信号分析处理》课程设计说明书
23
武汉理工大学《信号分析处理》课程设计说明书
参考文献
[1] 樊昌信,曹丽娜.通信原理.第6版.国防工业出版社,2010
[2] 谭杨林等编. 数字通信原理. 湖南大学出版社,2009
[3] 韩利竹,王华.MA TLAB电子仿真与应用.第2版.国防工业出版社,2003
[4] 吴玲达等编. 计算机通信原理与技术. 国防科技大学出版社,2008
[5] 陈永泰,刘泉.通信电子线路原理与应用.高等教育出版社,2011
24。