2PSK调制解调系统的设计与仿真
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
郑州航空工业管理学院
《电子信息系统仿真》课程设计
13 级电子信息工程专业81 班级
题目2PSK调制解调系统设计与仿真
姓名韩啟典学号131308109
指导教师王丹
二О一五年12 月10 日
一,MATLAB软件简介
MATLAB(矩阵实验室)是一种专业的计算机程序,它是美国MathWorks公司出品的商业数学软件,用于算法开发,数据可视化,数据分析以及工程科学的矩阵数学运算。在以后几年里,逐渐发展为一种极其灵活的计算体系,用于解决各种重要的技术问题。它Mathematica以及Maple并称为三大数学软件。Matlab程序执行MATLAB语言,并提供了一个极其广泛的预定义函数库,这样就使得技术工作变的简单高效。
MATLAB是一个庞大的程序,拥有难以置信的各种丰富的函数,基本的MATLAB语言已经拥有了超过1000多个函数,而它的工具包带有更多的函数,由此扩展了它在许多专业领域的能力。
二,理论分析
2.1,2PSK调制解调系统设计与仿真的原理
调制原理:2PSK调制器可以采用相乘器,也可以采用相位选择器。
开关电路
2PSK信号的调制原理框图
解调原理:2PSK信号的解调方法是相干解调法。由于PSK信号本身就是利用相位传递信息的,所以在接收端必须利用信号的相位信息来解调信号。经过带通滤波的信号在相乘器中与本地载波相乘,然后用低通滤波器滤除高频分量,再进行抽样判决。
2psk信号的解调原理框图
2.2,程序清单
clear all;
close all;
fs=7e4;%抽样频率
fm=14e3;%基带频率
n=3*(7*fs/fm);
final=(1/fs)*(n-1);
fc=3e4;%载波频率
t=0:1/fs:(final);
Fn=fs/2;%奈奎斯特频率
%用正弦波产生方波
%================================= twopi_fc_t=2*pi*fm*t;
A=2;
phi=0;
x=A*cos(twopi_fc_t+phi);%方波
am=3;
x(x>0)=am;
x(x<0)=-3;
figure(1)
subplot(321);
plot(t,x);
axis([0 2e-4 -5 5]);
title('基带信号');
grid on
car=cos(2*pi*fc*t);%载波
ask=x.*car;%载波调制
subplot(322);
plot(t,ask);
axis([0 20e-5 -3 3]);
title('PSK信号');
grid on;
%======================================== vn=0.1;
noise=vn*(randn(size(t)));%产生噪音
subplot(323);
plot(t,noise);
grid on;
title('噪音信号');
axis([0 0.1e-2 -0.3 0.3]);
askn=(ask+noise);%调制后加噪
subplot(324);
plot(t,askn);
axis([0 20e-5 -3 3]);
title('加噪后信号');
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-(pi));
subplot(325);
plot(f,abs(Hz));
title('带通滤波器');
axis([0 25e4 0 70]);
grid on;
Hz(Hz==0)=10^(8);%avoid log(0)
subplot(326);
plot(f,20*log10(abs(Hz)));
grid on;
title('Receiver -3dB Filter Response');
axis([0 25e4 10 38]);
%滤波器系数
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 200e-5 -1.5 1.5]);
title('通过带通滤波后输出');
grid on;
cm=faskn.*car;%解调
subplot(322);
plot(t,cm);
axis([0 200e-5 -1.5 1.5]);
grid on;
title('通过相乘器后输出');
%低通滤波器
%============================================ ===========