实践教学
*******************
兰州理工大学
计算机与通信学院
2013年春季学期
通信系统仿真 课程设计
题 目:2DPSK载波调制信号的调制解调与性能分析
专业班级: 通信工程
* ** ***
学 号: ********
***** * *
成 绩:
摘要
设计了差分编码移相键控(2DPSK)调制解调系统的工作流程图,并利用 MATLAB 软件对该系统的动态进行了模拟仿真。利用仿真的结果,从基带信号的波形图可以衡量数字信号的传输质量;由系统的输入和输出波形图可以看出,仿真实验良好 。2DPSK调制解调系统的仿真设计,为以后进一步研究基于MATLAB的通信实验仿真系统奠定了坚实的基础。
关键字:2DPSK ; 差分移相编码 ; 仿真设计
第1章 2DPSK原理介绍
1.1 2DPSK的基本原理
说到2DPSK,就不得不说一下二进制移相键控(2PSK)。所谓二进制移相键控(2PSK)方式是指受键控的载波相位按基带脉冲而改变的一种数字调制方式。即若发送二进制符号0则载波初始相位取0,若发送二进制符号1 则载波初始相位取,如图1所示(假设一个码元用一个周期的正弦波表示)。这种移相通常被称为绝对移相方式,如果采用绝对移相方式,由于发送端是以某一个相位作基准的,因而在接收系统中也必须有这样一个固定基准相位作参考。如果这个参考相位发生变化(0相位变相位或相位变0相位),则恢复的数字信息就会由0变为1或由1变为0,从而造成错误。这种现象常称为2PSK 方式的“倒”现象或“反向工作”现象。为此实际中一般采用一种所谓的差分移相键控(2DPSK)方式。2DPSK方式是利用前后相邻码元的相对载波相位值去表示数字信息的一种方式。例如,假设相位值用相位偏移表示(定义为本码元初相与前一码元初相之差),设编码结果如图1.1所示。这样就避免了2PSK中的倒现象。产生2DPSK信号时,先将输入的绝对码转换成相对码,然后再用相对码用二进制绝对移相方式对载波进行调相。
2DPSK方式是用前后相邻码元的载波相对相位变化来表示数字信息。即本码元初相与前一码元初相之差。假设前后相邻码元的载波相位差为,可定义一种数字信息与之间的关系为:
下面将为大家介绍一下2DPSK的调制与解调原理。
1.2 2DPSK的调制原理
众所周知2PSK调制是将传输的数字码元“1”用初始相位为180°的正弦波表示,而数字码元“0”用初始相位为0°的正弦波表示。若设是传输数字码元的绝对码,则2PSK已调信号在任一个码元时间内的表达式为
(1)
若将传输数字码元的绝对码先进行差分编码得相对码,其差分编译码如下:
差分编码为 (2)
差分译码为 (3)
再将相对码进行2PSK调制,则所得到的即是2DPSK已调信号,其在任一码元时间内的表达式为
(4)
差分编码移相2DPSK在数字通信系统中是一种重要的调制方式,其抗噪性能和信道频带利用率均优于移幅键控(ASK)和移频键控(FSK),因而在实际的数据传输系统中得到广泛的应用。2DPSK调制解调系统的原理框图如图1.2所示。
2DPSK调制原理是指载波的相位受数字信号的控制而改变,通常用相位0°来表示“1”,而用180°来表示“0”。差分移相键控2DPSK信号的参考相位不是未调波的相位,而是相邻的前一位码元的载波相位。2DPSK信号的产生只需要在二相调制前加一套相对码变换电路就可以实现,2DPSK 的调制方框图见图1.3,其中为载波,为已调信号。
1.3 2DPSK的解调原理
基于DFT 的2DPSK 解调算法实际中接收到的2DPSK 信号在经过带通滤波后,由于码元跳变处的高频分量被过滤掉,滤波后的2DPSK信号波形分为稳定区和过渡区,码元中间部分是稳定区,前、后部分为过渡区。稳定区内的信号基本无损失,波形近似为正弦波,而过渡区内的波形则不是正弦波,并且幅度明显降低。调制信息基本上只存在于码元稳定区。从上述分析出发,可以得到基于DFT的数字解调方案。
具体解调方法:对每个码元稳定区内的采样点按照公式(5)做DFT:
(5)
其中,代表每个载波周期的采样点个数,代表做DFT时使用的稳定区内的采样点个数(通常取多个载波整周期)。然后,提取出前后码元的相位跳变信息来进行解调判决:计算, 并根据和的正负情况确定的取值范围。把本码元的相位记为,前一码元的相位记为,则
(6)
其中是进行了位同步点调整时附加的相位。
可见,在每个码元周期只需要计算一次相位值即本码元的相位,然后相减得到跳变相位,就可以依据判决条件恢复原始数据,而不需要像文献中所提到的对每个码元要随着窗函数的移动多次计算谱值,因而大大减轻了计算量,非常适合于软件无线电的数字化实时解调。
当调频信号不包括载波分量时,必须采用相干解调,2DPSK的解调可采用两种方法。其一是极性比较法,然后再用码变换器变为绝对码。另外还有一种实用的方法叫做差分相干解调法,二者的原理框图分别如图1.4,图1.5。
1.3.1 极性比较法
信号可以采用相干解调方式(极性比较法),其原理框图见图1.4。其解调原理是:对2DPSK 信号进行相干解调,恢复出相对码,再通过码反变换器变换为绝对码,从而恢复出发送的二进制数字信息。在解调过程中,若相干载波产生180°相位模糊,解调出的相对码将产生倒置现象,但是经过码反变换器后,输出的绝对码不会发生任何倒置现象,从而解决了载波相位模糊度的问题。
1.3.2 相位比较法
2DPSK信号也可以采用差分相干解调方式(相位比较法),其原理框图见图1.5。其解调原理是:直接比较前、后码元的相位差,从而恢复发送的二进制数字信息。由于解调的同时完成了码反变换作用,故解调器中不需要码反变换器。由于差分相干解调方式不需要专门的相干载波,因此是一种非相干解调方法。
1.3.3 带通滤波器和低通滤波器的模型
带通滤波器模型的作用是只允许通过(fl,fh)范围内的频率分量、但将其他范围的频率分量衰减到极低水平。低通滤波器模型的作用是只允许通过(0,fh)范围内的频率分量,并且将其他范围的频率分量衰减到极低水平。在Matlab中带通滤波器和低通滤波器的模型可以用编写程序来模拟。
第2章 系统仿真
2.1 2DPSK调制和差分相干解调法仿真图
图2.1 2DPSK模拟调制和差分相干解调法仿真图
2.1.1调试过程及结论
2DPSK信号经相关模块调试后的波形图如图2.2:
调制过后加入高斯白噪声,连接到带通滤波器,去除调制信号以外的在信道中混入的噪声,再连接到相乘器。此相乘器是一路延时一个码元时间后与另一路信号相乘。作用是去除调制信号中的载波成分。信号经过低通滤波器后,去除高频成分,得到包含基带信号的低频信号。经过抽样判决,便还原成原始信号。
图2.2 调制解调过程仿真图
由于信道中引入了适当的高斯白噪声,还有接收端带通滤波器的参数设置问题,它使解调后的输出波形与信号源产生的波形相比有一定的畸变和时延。为了更好地改善系统的传输性能,在设置每个模块的参数时都须经过严密计算得出确切的值。此外,同步也是该通信系统中一个重要的研究问题。本设计中采用了差分相干解调的设计方式,接收端需要提供一个与发射端调制载波同频同相的相干载波,这样才能保证载波同步。解调出的基带信号要经过抽样判决器。抽样判决的时刻应位于每个码元的终止时刻,因此,在接收端必须产生一个用作抽样判决的定时脉冲序列,它和码元接收的终止时刻应对齐,还应与系统输入的时钟信号相一致,这样就保证了系统的位同步。解决了以上几点问题后,系统的输出波形得以改善,误码率降低,信息传输的质量更为可靠,基本达到的设计要求。
总 结
通过这次课程设计还让我们知道了,我们平时所学的知识如果不加以实践的话等于纸上谈兵。课程设计主要是我们理论知识的延伸,它的目的主要是要在设计中发现问题,并且自己要能找到解决问题的方案,形成一种的意识。我们还能从设计中检验我们所学的理论知识到底有多少,巩固我们已经学会的,不断学习我们所遗漏的新知识,把这门课学的扎实。
当然在做课程设计的过程中总会出现各种问题,在这种情况下我们都会努力寻求最佳路径解决问题,无形间提高了我们的动手,动脑能力,并且同学之间还能相互探讨问题,研究解决方案,增进大家的团队意识。
总的来说,这次课程设计让我们收获颇多,不仅让我们更深一步理解书本的知识,提高我们分析问题和解决问题的能力,而且让我们体会到团队的重要性。
。
参考文献
[1] 樊昌信,张甫翊,徐炳祥等.通信原理[M].第5版.北京:国防工业出版社,2002:12~13.
[2] 杜武林.高频电路原理与分析[M].西安:西安电子科技大学出版社,2000:24~25.
[3] 张会生.现代通信系统原理[M].北京:高等教育出版社,2005:34~35.
[4] 胡庆.电信传输原理[M].北京:电子工业出版社,2004:32~33.
[5] 孙学军等.通信原理[M].北京:电子工业出版社,2003:35~36.
[6] 曹志刚等.现代通信原理[M].北京:清华大学出版社,2000:12~13.
[7] 郭梯云等.移动通信[M].西安:西安电子科技大学出版社,2000:27~28.
[8] 李宗豪.基本通信原理[M].北京:北京邮电大学出版社,2006:38~39.
[9] 张宇伟,王耀明.基于MATLAB的调制解调系统仿真设计.上海电机学院学报[N].2005:35~36.
[10] 徐明远,邵玉彬.MATLAB仿真在通信与电子工程中应用[M].西安:西安电子科技大学出版社,2005:45~46.
[11] 欧阳喜,葛临东.一种利用短时DFT分析实现全数字2DPSK接收机解调的新算法.电讯技术[J].2001:59~62.
[12] 樊昌信,张甫翊,徐丙祥等.通信原理[M].北京:国防工业出版社,2001:8~11.
附录
程序源代码
%- 2DPSK 调制与解调
%---------------------------------------------------
%>>>>>>>>>>>>>>>>>>Initial_Part>>>>>>>>>>>>>>>>>>>>>
%---------------------------------------------------
function y=dpsk2()
fs = 30000;
Time_Hold_On = 0.1;
Num_Unit = fs * Time_Hold_On;
High_Level = ones ( 1, Num_Unit );
Low_Level = zeros ( 1, Num_Unit );
w = 300;
A = 1;
%---------------------------------------------------
%>>>>>>>>>>>>>>>>>>Initial_The_Signal>>>>>>>>>>>>>>>
%---------------------------------------------------
Sign_Set = [0,1,1,0,1,0,0,1]
Lenth_Of_Sign = length ( Sign_Set );
st = zeros ( 1, Num_Unit * Lenth_Of_Sign );
sign_orign = zeros ( 1, Num_Unit * Lenth_Of_Sign );
sign_result = zeros ( 1, Num_Unit * Lenth_Of_Sign );
t = 0 : 1/fs : Time_Hold_On * Lenth_Of_Sign - 1/fs;
%---------------------------------------------------
%>>>>>>>>>>>Generate_The_Original_Signal>>>>>>>>>>>>
%---------------------------------------------------
for I = 1 : Lenth_Of_Sign
end
%---------------------------------------------------
%>>>>>>>>>>>>>>>>>>Modulation_Part>>>>>>>>>>>>>>>>>>
%---------------------------------------------------
for I = 1 : Lenth_Of_Sign
end
figure
subplot ( 2, 1, 1 )
plot(t, sign_orign);
axis( [ 0 , Time_Hold_On *( Lenth_Of_Sign + 1), - (A / 2), A + (A / 2) ] );
title ( '原始信号' );
grid
subplot ( 2, 1, 2 );
plot ( t, st );
axis( [ 0 , Time_Hold_On *( Lenth_Of_Sign + 1), - 3*(A / 2), 3*(A / 2) ] );
title ( '调制后的信号' );
grid
%---------------------------------------------------
%>>>>>>>>>>>>>>>>>>相乘>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
%---------------------------------------------------
dt = st .* cos ( 2 * pi * w * t );
figure
subplot(2,1,1)
plot ( t, dt );
axis( [ 0 , Time_Hold_On *( Lenth_Of_Sign + 1), - 3*(A / 2), 3*(A / 2) ] );
title ( '相乘后的波形' );
grid
%---------------------------------------------------
%>>>>>>>>>>>>>>>>>>>低通滤波部分>>>>>>>>>>>>>>>>>>>>
%---------------------------------------------------
[N,Wn] = buttord( 2*pi*50, 2*pi*150,3,25,'s'); %临界频率采用角频率表示
[b,a]=butter(N,Wn,'s');
[bz,az]=impinvar(b,a,fs); %映射为数字的
dt = filter(bz,az,dt);
subplot(2,1,2)
plot ( t, dt );
axis( [ 0 , Time_Hold_On *( Lenth_Of_Sign + 1), - 3*(A / 2), 3*(A / 2) ] );
title ( '低通滤波后的波形' );
grid
%---------------------------------------------------
%>>>>>>>>>>>>>抽样判决 & 逆码变换部分>>>>>>>>>>>>>>>
%---------------------------------------------------
for I = 1 : Lenth_Of_Sign
end
figure
plot ( t, sign_result );
axis( [ 0 , Time_Hold_On *( Lenth_Of_Sign + 1), - 3*(A / 2), 3*(A / 2) ] );
title ( '逆码变换后的波形' );
grid下载本文