基于MATLAB/Simulink的PSK频带传输系统
仿真与性能分析
摘 要 本课程设计主要是设计一个PSK频带传输系统并对其进行仿真与性能分析。本课程设计仿真平台为MATLAB/Simulink。在设计此频带传输系统时,首先对信号进行PSK调制,再通过加入高斯白噪声传输信道,接着在接收端对信号进行PSK解调,最后把输出的信号和输入的信号进行比较。通过最后仿真结果可知,该模拟信号频带传输通信系统已初步实现了设计指标并可用于解决一些实际性的问题。
关键词 PSK调制解调;高斯白噪声;MATLAB/Simulink
1 引 言
通信(Communication)就是信息的传递,是指由一地向另一地进行信息的传输与交换,其目的是传输消息。然而,随着社会生产力的发展,人们对传递消息的要求也越来越高。在各种各样的通信方式中,利用“电”来传递消息的通信方法称为电信(Telecommunication),这种通信具有迅速、准确、可靠等特点,且几乎不受时间、地点、空间、距离的限制,因而得到了飞速发展和广泛应用。
目前,无论是模拟通信还是数字通信,在不同的通信业务中都得到了广泛的应用。但是,数字通信的发展速度已明显超过了模拟通信,成为当代通信技术的主流。与模拟通信相比,数字通信具有以下一些优点:抗干扰能力强,且噪声不积累;传输差错可控;便于用现代数字信号处理技术对数字信息进行处理、变换、存储;易于集成,使通信设备微型化,重量轻;易于加密处理,且保密性好。数字通信的缺点是,一般需要较大的带宽。另外,由于数字通信对同步要求高,因而系统设备复杂。但是,随着微电子技术、计算机技术的广泛应用以及超大规模集成电路的出现,数字系统的设备复杂程度大大降低。同时高效的数据压缩技术以及光纤等大容量传输媒质的使用正逐步使带宽问题得到解决。因此,数字通信的应用必将越来越广泛。本课程设计主要是设计一个PSK频带传输系统并对其进行仿真与性能分析[1]。在设计此频带传输系统时,首先对输入信号利
《基于MATLAB/Simulink的PSK频带传输系统仿真与性能分析》 第 2 页 共 24 页
用相关的模块进行PSK调制,再通过加入高斯白噪声传输信道,接着在接收端对信号进行PSK解调,最后把输出的信号和输入的信号进行比较。
1.1 设计目的
本课程设计的目的主要是仿真通信系统中频带传输技术中的PSK调制。首先产生一段随机的二进制非归零码的基带信号,对其进行PSK调制后再送入加性高斯白噪声(AWGN)信道传输,在接收端对其进行PSK解调以恢复原信号,观察还原是否成功,改变AWGN信道的信噪比,计算传输前后的误码率,绘制信噪比-误码率曲线,并与理论曲线比较进行说明。
1.2 设计要求
(1)本设计开发平台为MATLAB中的Simulink。
(2)模型设计应该符合工程实际,模块参数设置必须与原理相符合。 (3)处理结果和分析结论应该一致,而且应符合理论。 (4)独立完成课程设计并按要求编写课程设计报告书。
1.3 设计平台
MATLAB/Simulink
1.4 设计步骤
(1)根据课题任务书要求结合教材上讲授的原理,在纸质文档上画出课题的电路级框图。
(2)从设计平台上找到实现框图中每个方框对应的功能实现模块,并按图连接方式进行连接。
(3)按照通信原理教材介绍的原理进行每个模块的参数设置。
(4)运行模块,根据模型的运行结果或出错提示,不断地修改模型和仿真参数,直至仿真成功。
《基于MATLAB/Simulink的PSK频带传输系统仿真与性能分析》 第 3 页 共 24 页
2 基本原理
2.1设计平台简介
MATLAB集成环境下的Simulink:MATLAB是一种功能强大的科学计算和工程仿真软件,它的交互式集成界面能够帮助用户快速地完成数值分析、矩阵运算、数字信号处理、仿真建模、系统控制和优化等功能。MATLAB语言采用与数学表达相同的形式,不需要传统的程序设计语言,由于MATLAB的这些特性,它已经成为科研工作和工程仿真中的高效助手。
Simulink是MATLAB最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。Simulink具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵活等优点,并基于以上优点Simulink已被广泛应用于控制理论和数字信号处理的复杂仿真和设计。同时有大量的第三方软件和硬件可应用于或被要求应用于Simulink。
Simulink的储存模块,仿真数据可以方便地以各种形式保存到工作区或文件中,供用户在仿真结束之后对数据进行分析和处理。另外Simulink把具有特定功能的代码组织成模块的方式,并且这些模块可以组织成具有等级结构的子系统,因此具有内在的模块化设计要求。
Simulink是MATLAB中的一种可视化仿真工具, 是一种基于MATLAB的框图设计环境,是实现动态系统建模、仿真和分析的一个软件包,被广泛应用于线性系统、非线性系统、数字控制及数字信号处理的建模和仿真中。Simulink可以用连续采样时间、离散采样时间或两种混合的采样时间进行建模,它也支持多速率系统,也就是系统中的不同部分具有不同的采样速率。为了创建动态系统模型,Simulink提供了一个建立模型方块图的图形用户接口(GUI) ,这个创建过程只需单击和拖动鼠标操作就能完成,它提供了一种更快捷、直接明了的方式,而且用户可以立即看到系统的仿真结果[2]。Simulink工作对话框如图2-1所示:
《基于MATLAB/Simulink的PSK频带传输系统仿真与性能分析》 第 4 页 共 24 页
图2-1 Simulink工作对话框
2.2 PSK调制原理
相移键控是利用载波的相位变化来传递数字信息的,而振幅和频率保持不变。在PSK
中,通常用初始相位0和分别表示二进制“1”和“0”。因此,PSK信号的时域表达式为式(2-1)。
ePSK(t)Acosct (2-1)
其中,n表示第n个符号大的绝对相位。当发送“0”时,n为0; 当发送“1”时,n为。因此式(2-2)可改写为式(2-5)。
AcosctePSK(t) (2-2)
Acostc其中 Acosct的概率为P,Acosct的概率为-P。由于表示信号的两种码元的波形相同,极性相反,故PSK信号一般可以表述为一个双极性全占空矩形脉冲序列与一个正弦载波的相乘,即式(2-3)。
ePSK(t)s(t)cosct (2-3)
《基于MATLAB/Simulink的PSK频带传输系统仿真与性能分析》 第 5 页 共 24 页
其中s(t)的表达式为式(2-4)。
s(t)aig(tnTs) (2-4)
i1n这里,g(t)是脉宽为Ts的单个矩形脉冲。发送二进制符号“0”时(ai取1),ePSK(t)取0相位;发送二进制符号“1”时(ai取-1),ePSK(t)取相位。这种以载波的不同相位直接去表示二进制数字信号的调制方式,称为二进制绝对相移方式。
PSK信号模拟调制方法图如下图2-2所示:
S(t) 码型变换 双极性不归零 乘法器 epsk(t) 载波
图2-2 PSK信号模拟调制方法图
PSK信号键控法调制图如下图2-3所示:
0 载波 180度 开关电路 epsk(t) 180度移相S(t)
图2-3 PSK信号键控法调制图
《基于MATLAB/Simulink的PSK频带传输系统仿真与性能分析》 第 6 页 共 24 页
PSK信号的解调通常采用相干解调法,如图2-4所示:
epsk(t) BPF 相乘器 LPF 抽样判决器 输出 载波 定时脉冲
图2-4 PSK信号相干解调法
3 系统设计
3.1 PSK调制与解调
在本设计中采用的是模拟调制法和相干解调法。整个PSK的仿真系统的调制与解调过程为:首先将信号源的输出信号经过码型变换后与载波通过相乘器进行相乘,送入加性高斯白噪声(AWGN)信道中传输。在接收端通过带通滤波器后再次与载波相乘,接着通过低通滤波器、抽样判决器,最后由示波器显示出各阶段波形,并用误码器观察误码率。
PSK调制与解调仿真电路图如图3-1所示:
图3-1 PSK调制与解调仿真电路图
载波模块参数设置如下图3-2所示:
《基于MATLAB/Simulink的PSK频带传输系统仿真与性能分析》 第 7 页 共 24 页
图3-2 载波模块参数设置
说明:将载波频率设置为5Hz,由于在载波参数设置里,频率的单位是rad/sec,所以这里5Hz即为10*pi,对话框中“Frequency(rad/sec):”中应填“10*pi”。
信号源参数设置如下图3-3所示:
《基于MATLAB/Simulink的PSK频带传输系统仿真与性能分析》 第 8 页 共 24 页
图3-3 信号源的参数设置
说明:对话框中“Sample time:”为抽样时间,其倒数就是信号源的频率,设信号源的数码率为1bit/s,所以“Sample time:”中应填“1”。
码变换器参数设置如下图3-4所示:
图3-4码变换器参数设置
说明:根据PSK调制解调原理,要将输入的单极性码转换为双极性码,且是二进制非归零码。对话框中“M-ary number:”即为进制数,所以应填“2”。
《基于MATLAB/Simulink的PSK频带传输系统仿真与性能分析》 第 9 页 共 24 页
低通滤波器参数设置如图3-5所示:
图3-5 低通滤波器参数设置
说明:低通滤波器的截止频率等于信号源频率。前面设置信号源频率为1Hz,所以对话框中“Passband edge frequency (rads/sec):”应填“2*pi”。
抽样判决器参数设置如下图3-6所示:
图3-6 抽样判决器参数设置
说明:在PSK系统中,当发送不同符号的概率相等时,判决器的最佳判决门限为零,与接收机输入信号的幅度无关。所以对话框中“Quantization partition”为“0”。
《基于MATLAB/Simulink的PSK频带传输系统仿真与性能分析》 第 10 页 共 24 页
量化器参数设置如图3-7所示:
图3-7 量化器参数设置
说明:量化器抽样频率等于信号源频率。前面已经设置信号源频率为1Hz,即抽样频率为1Hz,所以对话框中“Sample time (-1 for inherited):”应填“1”。
误码器的参数设置如下图3-8所示:
《基于MATLAB/Simulink的PSK频带传输系统仿真与性能分析》 第 11 页 共 24 页
图3-8 误码器的参数设置
说明:根据示波器上的波形图可以看出,最后输出的波形入输入波形之间存在一个码元的延时,所以对话框中“Receive delay:”应填“1”。
PSK调制与解调波形如图3-9所示:
图3-9 PSK调制与解调波形
由上图可知:第一路为信号源模块波形图,第二路为双极性码波形图,第三路为PSK调制后波形图,第四路为调制信号与载波相乘后波形图,第五路为经过低通滤波器后波形图,第六路为PSK解调波形图。由各波形可看出该PSK调制解调系统符合设计要求。
3.2 加入高斯白噪声后的PSK调制与解调
加入高斯白噪声后的PSK调制与解调仿真电路图如图3-10所示:
《基于MATLAB/Simulink的PSK频带传输系统仿真与性能分析》 第 12 页 共 24 页
图3-10 PSK调制与解调中加入高斯白噪声仿真图
带通滤波器参数设置如图3-11所示:
图3-11 带通滤波器参数设置
说明:带通滤波器的上截止频率和下截止频率分别等于载波频率与信号源频率的和与差。前面已设置信号源频率为1Hz,载波频率为5Hz,计算得上、下截止频率分别为6Hz、4Hz,转换成以rads/sec为单位即为12*pi 、8*pi。所以“Lower passband edge frequency (rads/sec) Upper passband edge frequency (rads/sec)”应填“8*pi 、12*pi”。
高斯白噪声的参数设置如下图3-12所示:
《基于MATLAB/Simulink的PSK频带传输系统仿真与性能分析》 第 13 页 共 24 页
图3-12 高斯白噪声的参数设置
加入高斯白噪声后误码器的参数设置如下图3-13所示:
《基于MATLAB/Simulink的PSK频带传输系统仿真与性能分析》 第 14 页 共 24 页
图3-13 加入高斯白噪声后误码器的参数设置
说明:根据示波器上的波形图可以看出,最后输出的波形入输入波形之间存在两个码元的延时,所以对话框中“Receive delay:”应填“2”。
PSK调制与解调中加入高斯白噪声后示波波形如图3-14所示:
图3-14 PSK调制与解调中加入高斯白噪声仿真图
由上图可知:第一路为信号源模块波形图,第二路为双极性码波形图,第三路为PSK调制后的波形图,第四路为加入高斯白噪声后的波形图,第五路为经过带通滤波器后的波形图,第六路为经过带通滤波器后与载波相乘后的波形图,第七路为经过低通滤波器后的波形图,第八路为PSK解调后的波形图。在PSK调制与解调中加入高斯白噪声后,波形出现了失真,解调也有误码存在,系统基本符合设计要求。
3.3 误码率的计算
《基于MATLAB/Simulink的PSK频带传输系统仿真与性能分析》 第 15 页 共 24 页
误码率是衡量一个数字通信系统性能的重要指标。在信道高斯白噪声的干扰下,各种二进制数字调制系统的误码率取决于解调器输入信噪比,而误码率表达示的形式则取决于解调方式。
理论上误码率计算M文件如图3-15所示:
图3-15 理论上误码率计算M文件
计算误码率时,高斯白噪声的参数设置如图3-16所示:
图3-16 高斯白噪声参数设置图
说明:将对话框中“Variance(vector or matriz)”的参数改为“var”,对应于绘制信噪比-
《基于MATLAB/Simulink的PSK频带传输系统仿真与性能分析》 第 16 页 共 24 页
误码率图程序中的参数设置。程序内容见附录。
误码器参数设置如图3-17所示:
图3-17 误码器参数设置
说明:将对话框中的“Output data”的参数改为“Workspace”。
理论上误码率与信噪比关系曲线图如图3-18所示:
《基于MATLAB/Simulink的PSK频带传输系统仿真与性能分析》 第 17 页 共 24 页
图3-18 理论上误码率与信噪比关系曲线图
实际上误码率计算M文件如图3-19所示:
图3-19 实际上误码率计算M文件
实际上误码率与信噪比关系曲线图如图3-20所示:
《基于MATLAB/Simulink的PSK频带传输系统仿真与性能分析》 第 18 页 共 24 页
图3-20 实际上误码率与信噪比关系曲线图
由上图可知,信噪比越大,误码率越小,与理论知识吻合。系统基本符合设计要求。
《基于MATLAB/Simulink的PSK频带传输系统仿真与性能分析》 第 19 页 共 24 页
4出现的问题及解决方法
4.1 出现的问题
第一:示波器图形显示不全。第二:信号在经过所设计的带通通信仿真系统后波形出现失真。第三:在没有加入高斯白噪声的情况下解调误码率不为0。第四:加入噪声之后,误码率显著提高。第五:解调波形时无失真,但解码后波形严重失真。
4.2 解决办法
第一:在示波器图中修改data history中的limit data points to last的数据再重新运行simulink观察示波器即可看到准确图形。第二:这是因为信号进行抽样时没有满足奈奎斯特定理。为了能从取样信号中恢复原信号,抽样必须满足奈奎斯特定理,即抽样频率应大于或等于两倍的原始信号频率[3]。第三:在出现误码数据时,我们可以通过修改error rate calculation中receive delay的数据这种手段直到误码数据为零。在本设计中我们将receive delay设为2即可解决此种情况[4]。第四:在本课程设计中通过提高载波的频率,并相应的改变带通滤波器的参数设置来解决此种情况的发生。第五:这是由于信号经过低通滤波器后会产生时延,而本次课程设计中信号是以帧的形式进行传输,因而在解调输出端若直接使用解调信号,将会产生波形失真。因此我们在解调输出端加入相对应的延时模块即可解决此种问题[5]。
《基于MATLAB/Simulink的PSK频带传输系统仿真与性能分析》 第 20 页 共 24 页
结束语
此次通信原理课程设计只有短短的两周时间,在这两周时间里,我学会了用MATLAB/Simulink仿真系统初步的设计方法。初步了解了如何用MATLAB/Simulink这个仿真软件进行PSK系统的调制和解调的设计。并且明白了如何实现信号的频带传输。虽然在课程设计过程中遇到了不少的麻烦和困难,与此同时也深刻认识到自己存在的许多不足,理论知识的学习有待加强,实践的能力有所欠缺,遇到困难自己独立处理有待努力。
在课程设计之前,我到图书馆借阅了相关书籍,但是理论的学习并没有让我体会到课程设计的真谛,光凭理论实在无法实现书中所要表达的内容,因此上机实践很关键。通过理论知识的初步学习,加上上机的实践,我渐渐地对Simulink有了一定的认识,但是在将书上的理论方框图转换为Simulink模块的过程中出现了很大的困难,因为对软件不熟悉的缘故,许多模块都没有找到,因此也大大延误了设计的完成时间。但是在同学和老师的帮助指点下,许多问题得到了解决,同时也让我对此次设计产生了浓厚的兴趣,遇到问题也有了钻研的精神。这次课程设计不仅巩固我们在书上学习的基本内容,还在一定程度上提高了我们的动手能力。同时也让我懂得依靠团队的力量才能使我们更快更好的将各种工作和任务完成好。
在这次课程设计中,我不仅巩固了过去学过的知识,同时还学到了许多书本上没有学到的知识培养了我对系统的分析能力。通过这次课程设计,我深刻的了解到,理论与实际的结合是十分重要的,单纯的理论知识学习无法培养我们实际动手能力。只有把理论和实践结合起来,把理论作为实践的基础,把实践作为理论的延伸,使两者有机的结合在一起,才能提高自己的实际动手能力和独立思考的能力,
两周的时间很快就过去了,但是这段时间里的收获和感触却是我的一大笔财富。在此我衷心感谢同学们在课程设计中给予我的无私帮助,共同学习。也衷心感谢指导老师不辞辛苦指导我们课程设计的支持和辅导,感谢大家!
《基于MATLAB/Simulink的PSK频带传输系统仿真与性能分析》 第 21 页 共 24 页
致 谢
经过这次的课程设计,我了解到了做任何事都要有耐心、更是要细心做事。这次的课程设计让意识到自己的原理知识还是不够好,在今后的学习中我们需要更努力的学习课本的专业知识,才能更好的服务于实践中。课程设计不仅是对前面所学知识的一种检验,而且也是对自己能力的一种提高。在设计中遇到了很多问题,最后在老师的辛勤的指导下,终于游逆而解,有点小小的成就感,终于觉得平时所学的知识有了实用的价值,达到了理论与实际相结合的目的,不仅学到了不少知识,而且锻炼了自己的能力,使自己对以后的路有了更加清楚的认识。
在这次课程设计中也使我们的同学关系更进一步了,同学之间互相帮助,有什么不懂的大家在一起商量,听听不同的看法对我们更好的理解知识,所以在这里非常感谢帮助我的同学。最后,在这里,我要感谢老师悉心指导和无私地帮助,感谢我们的老师,同时也感谢同学们对我的耐心指导,在今后的学习中我也一定倍加努力。
(本报告只作为参考,禁止抄袭)
《基于MATLAB/Simulink的PSK频带传输系统仿真与性能分析》 第 22 页 共 24 页
参考文献
[1] 孙屹,戴妍峰. SystemView通信仿真开发手册. 北京:国防工业出版社,2004 [2] 桑林,郝建军,刘丹谱.数字通信. 北京:北京邮电大学出版社,2002 [3] 樊昌信,曹丽娜. 通信原理(第6版). 北京:国防工业出版社,2008
[4] 康华光,邹寿彬.电子技术基础(数字部分) .北京:高等教育出版社,2004 [5] 樊昌信,曹丽娜.通信原理.北京:国防工业出版社,2007
《基于MATLAB/Simulink的PSK频带传输系统仿真与性能分析》 第 23 页 共 24 页
附录Ⅰ:误码率计算(理论值)
% 程序名称:zhenque.m
% 程序功能:绘制理论信噪比-误码率曲线。 % 程序作者:贺健 % 最后修改日期:2011-1-6
x=-6:18; for i=1:length(x);
snr=x(i); var=0.5/(10.^(0.1*snr)); sim('zhenque.mdl'); ebr(i)=ErrorVec(1); i end
ebr_th=erfc(sqrt((-1/3).^10));
semilogy(x,ebr,x,ebr_th) xlabel('信噪比r/dB'); ylabel('误码率Pe');
title('误码率与信噪比关系曲线');
% 定义信噪比范围 % 每次运行信噪比增加1dB % 计算对应的噪声功率 % 运行模型文件 % 保存当次运行误码率 % 绘制信噪比-误码率曲线,纵坐标为对数坐标
《基于MATLAB/Simulink的PSK频带传输系统仿真与性能分析》 第 24 页 共 24 页
附录Ⅱ:误码率计算(实际值)
% 程序名称:hj.m
% 程序功能:绘制实际信噪比-误码率曲线。 % 程序作者:贺健 % 最后修改日期:2011-1-6
x=-6:18; % 定义信噪比范围 for i=1:length(x);
snr=x(i); % 每次运行信噪比增加1dB var=0.5/(10.^(0.1*snr)); % 计算对应的噪声功率 sim('zhenque.mdl'); % 运行模型文件 ebr(i)=ErrorVec(1); % 保存当次运行误码率 end i
semilogy(x,ebr) % 绘制信噪比-误码率曲线,纵坐标为对数坐标 xlabel('信噪比r/dB'); ylabel('误码率Pe');
title('误码率与信噪比关系曲线'); grid on;
因篇幅问题不能全部显示,请点此查看更多更全内容