2PSK调制与解调系统的仿真,电子通信类课程设计报告
- 格式:doc
- 大小:270.00 KB
- 文档页数:16
电子信息与电气工程系课程设计报告
设计类型:
设计题目:2PSK数字传输系统的设计
系别:电子系
年级专业:08级通信工程
学号:
学生姓名:
指导教师:
目录
1 摘要: (4)
2 2PSK工作原理 (4)
2.1 2PSK数字调制 (4)
2.2 调制原理 (5)
2.3 解调原理 (6)
3 方案选择 (6)
3.1 信号调制结构图 (6)
3.2 信号解调结构图 (7)
4 实验仿真 (9)
4.1 调制仿真图 (9)
4.2 解调仿真图 (10)
5 实验总结 (10)
参考文献 (11)
附:程序清单 (12)
2PSK调制与解调系统的仿真
1 摘要:
用数字基带信号控制载波,把数字基带信号变换为数字带通信号的过程称为数字调制。
键控法,即对载波的相位进行键控,便可获得相移键控(PSK)基本的调制方式。
由于PSK在生活中有着广泛的应用,本论文详细介绍了PSK波形的产生和仿真过程。
我们可以系统的了解基本原理,以及得到数字调制波形和解调波形的方法。
利用MATLAB仿真可更好的认识2PSK信号波形调制和解调的过程。
关键词:数字调制、2PSK、调制与解调、Matlab仿真
2 2PSK工作原理
2.1 2PSK数字调制
数字信号的传输方式分为基带传输和带通传输,在实际应用中,大多数信道具有带通特性而不能直接传输基带信号。
为了使数字信号在带通信道中传输,必须使用数字基带信号对载波进行调制,以使信号与信道的特性相匹配。
这种用数字基带信号控制载波,把数字基带信号变换为数字带通信号的过程称为数字调制。
数字调制技术的两种方法:
①用模拟调制的方法去实现数字式调制,即把数字调制看成是模拟调制的一个特例,把数
字基带信号当做模拟信号的特殊情况处理;
②利用数字信号的离散取值特点通过开关键控载波,从而实现数字调制。
这种方法通常称
为键控法,比如对载波的相位进行键控,便可获得相移键控(2PSK)基本的调制方式。
图1相应的信号波形的示例
数字调相:如果两个频率相同的载波同时开始振荡,这两个频率同时达到正最大值,同时达到零值,同时达到负最大值,它们应处于"同相"状态;如果其中一个开始得迟了一点,就可能不相同了。
如果一个达到正最大值时,另一个达到负最大值,则称为"反相"。
一般把信号振荡一次(一周)作为360度。
如果一个波比另一个波相差半个周期,我们说两个波的相位差180度,也就是反相。
当传输数字信号时,"1"码控制发0度相位,"0"码控制发180度相位。
载波的初始相位就有了移动,也就带上了信息。
相移键控是利用载波的相位变化来传递数字信息,而振幅和频率保持不变。
在2PSK中,通常用初始相位0和π分别表示二进制“1”和“0”。
因此,2PSK信号的时域表达式为:
(t)=Acos错误!未找到引用源。
t+错误!未找到引用源。
)
其中,表示第n个符号的绝对相位:
错误!未找到引用源。
=错误!未找到引用源。
因此,上式可以改写为:
图2 2PSK信号波形
2PSK信号的解调方法是相干解调法。
由于PSK信号本身就是利用相位传递信息的,所以在接收端必须利用信号的相位信息来解调信号。
方案原理中给出了一种2PSK信号相干接收设备的原理框图。
图中经过带通滤波的信号在相乘器中与本地载波相乘,然后用低通滤波器滤除高频分量,在进行抽样判决。
判决器是按极性来判决的。
即正抽样值判为1,负抽样值判为0.
2PSK信号相干解调各点时间波形如图所示. 当恢复的相干载波产生180°倒相时,解调出的数字基带信号将与发送的数字基带信号正好是相反,解调器输出数字基带信号全部出错.
图3 2PSK信号相干解调各点时间波形
这种现象通常称为"倒π"现象.由于在2PSK信号的载波恢复过程中存在着180°的相位模糊,所以2PSK信号的相干解调存在随机的"倒π"现象,从而使得2PSK方式在实际中很少采用.
3 方案选择
3.1 信号调制结构图
图4 2PSK信号采用乘法器的调制原理框图
图5 2PSK 信号采用相位选择器的调制原理框图
结构图分析:
2PSK 调制器可以采用相乘器,也可以采用相位选择器就模拟调制法而言,与产生2ASK 信号的方法比较,只是对s(t)要求不同,故2PSK 信号可以看作是双极性基带信号作用下的DSB 调幅信号。
而就键控法来说,用数字基带信号s(t)控制开关电路,选择不同相位的载波输出,这时s(t)为单极性NRZ 或双极性NRZ 脉冲序列号均可,2PSK 信号于DSB 信号只进行相干载波。
3.2 信号解调结构图
图6 信号解调原理图
结构图分析:
信号的解调原解调的过程,实质上是接收的已调信号与本地载波信号进行极性比较的过程。
不考虑噪声时,带通滤波器输出点波形与输入端2PSK 波形相同,2PSK 信号与本地恢复的同步载波相乘,得到波形其表达式为:()()t t t z k 00cos cos ωϕω+=;经低通滤波器滤掉高频分量输出为:
()⎪⎪⎩⎪⎪⎨⎧=-===πϕϕϕk k k t x 21
02
1cos 21 得到波形,经抽样判决,恢复出原数字信号{}
'n a ,如图(b)所示。
x 为抽样时刻的值,判别规则为x>0,判为0,x<0,判为1。
在相干解调中,要求本地恢复的相干载波相位与接收的2PSK信号同频同相,由于本地恢复的载波相位有随机性,当恢复的载波产生1800倒相时,如图(c)中波形b,解调出的数字基带信号将与发送的数字基带信号“1”和“0”正好相反,解调器输出的数字基带信号全部出错。
这种现象通常称为“倒л”现象或称反向工作,也称相位模糊。
这对数字传输来说是不能允许的。
克服相位模糊最常用的办法是,采用相对相移键控技术(DPSK)。
由于2PSK信号属于DSB信号,PSK信号的功率谱中无载波分量,它的解调,不再能采用包络检测的方法,只能进行相干解调,在相干解调中,如何得到同频同相的本地载波是个关键问题,只有对PSK 信号进行非线性变换,才能产生载波分量。
常用的载波恢复电路有两种:一种是平方环电路,另一种是科斯塔斯(Costas)环电路。
平方环提取载波:
图7 平方环提取载波结构图
锁相环除了具有窄带滤波和记忆功能外,还有良好的跟踪性能,即相位锁定功能。
因此,二者相比,平方环法提取的载波信号和接收的载波信号之间的相位差更小,载波质量更好。
故通常情况下平方环法的性能优于平方变换法,其应用也比平方变换法更为广泛。
科斯塔斯环提取载波:
图8 科斯塔斯环提取载波结构图
两种恢复载波方式的比较:
同相正交环与平方环都利用锁相环(PLL)提取载波,由于锁相环电路的相位跟踪锁定能力强,故两种方式提取的载波质量都比较好。
相比之下,虽然Costas环在电路上要复杂一些,但它的工作频率就是载波频率,而平方环的工作频率则是载频的两倍,当载波频率很高时,Costas环由于工作频率较低而更易于实现;当环路正常锁定后,由于载波提取电路和解调电路合二为一,Costas环可以直接获得解调输出,而平方环却不行。
4 实验仿真
4.1 调制仿真图
图9 matlab调制仿真图
仿真分析:
基带信号对载波进行调制,使基带信号的功率谱搬到较高的载波频率上。
且相移键控是用二进制数字信号控制载波的两个相位,这两个相位通常相隔180度,二进制经过调制系统后生成PSK信号,信道中可能会有噪音干扰,经过带通滤波器过滤出有用信号,发送出去。
4.2 解调仿真图
图10 Matlab解调仿真图
仿真分析:
信道内的PSK信号经过带通滤波器过滤出有用信号,经过相乘器和载波信号相乘,所得信号通过低通滤波器得到低频信号,再经抽样判决得到基带信号,通过比较原始的基带信号和所得的信号,我们可以发现并无太大的失真,实验比较成功。
5 实验总结
这是我们第一次做课程设计,我们要在两个星期内完成两个课程设计和一个能力拓展训练,在同学帮助,图书馆借阅相关书籍,网上查阅资料和自己努力下,就2PSK设计而言,我成功实现了使用Matlab编程,收获很大。
这次课程设计,给我影响最深的就是Matlab的强大功能和广泛应用。
无论是学习信号与系统,通信原理,数字信号处理,数字图像处理,发现这些课程的应用都要大力借助于Matlab 来实现。
可以说没学好Matlab对于我这种准备往信息发面发展的人来说就跟没有轮子的汽车一样,是个摆设。
经过这次学习,我略通Matlab的使用,对信号处理常用的函数和基本的编程思想有了一定的认识和提高。
参考文献
[1]樊昌信《通信原理》电子工业出版社
[2]王秉军等《通信原理》清华大学出版社
[3]曹志刚等《现代通信原理》清华大学出版社
[4]刘卫国《MATLAB程序设计与应用(第二版)》高等教育出版社
[5]王嘉梅《基于MATLAB的数字信号处理与时间开发》西安电子科技大学出版社
附:程序清单
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;
figure(1)
subplot(321);
plot(t,x);
axis([0 2e-4 -2 2]);
title('基带信号');
grid on
car=sin(2*pi*fc*t);%载波
ask=x.*car;%载波调制
subplot(322);
plot(t,ask);
axis([0 200e-6 -2 2]);
title('PSK信号');
grid on;
%===================================================== vn=0.1;
noise=vn*(randn(size(t)));%产生噪音
subplot(323);
plot(t,noise);
grid on;
title('噪音信号');
axis([0 .2e-3 -1 1]);
askn=(ask+noise);%调制后加噪
subplot(324);
plot(t,askn);
axis([0 200e-6 -2 2]);
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-(p));
subplot(325);
plot(f,abs(Hz));
title('带通滤波器');
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([1e5 3e5 -3 1]);
%滤波器系数
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);
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;
plot (t,Vo), title('解调后输出信号'), axis([0 2e-4 -5 5])
grid on;
xlabel('时间 (s)'), ylabel('幅度(V)'),
课程设计评语。