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('通过相乘器后输出');
%低通滤波器
%=============================================== ========
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 2e400 -63 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 2e-3 -4 4]);
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
V o=Vs;
subplot(325);
plot (t,V o),title('解调后输出信号') axis([0 2e-4 -5 5])
grid on;
xlabel('时间(s)'),ylabel('幅度(V)')
三,2PSK调制解调仿真效果图
四,总结
这次使用MATLAB的数字调制信号仿真分析课程设计让我受益匪浅,更加深入的掌握了MATLAB软件的使用方法,了解了数字调制数字调制的基本原理和主要过程,进一步学习了信号传输的有关内容。
通过这两周的自主课程设计,我明白了自己平时上课所学的知识十分有限,仅仅靠这些是不够的。
为了完成这次的设计,我要在图书馆和网上查找很多相关的资料,在遇到不会的以及无法解决的问题时,我就和同学讨论交流,请教一些学长,最终完成这次设计。
这次课程设计让我明白了课下自主学习实践的重要性,也让我认识到了自己知识的不足。
但是,最终,我还是完成了这次的课程设计,这让我充满信心,也让我对自己专业产生更加浓厚的兴趣。