《通信原理》课程设计

更新时间:2024-03-14 12:04:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

数字传输系统误码率测试器的MATLAB实现及性能分析

数字传输系统误码率测试器的MATLAB实

现及性能分析

学生姓名: 指导老师:

摘 要 本课程设计主要运用MATLAB集成环境下的Simulink仿真平台设计进行数字传输系统误码率测试器的实现及性能分析。其主要目的是仿真数字传输系统误码率测试器。从Simulink工具箱中找所到该设计所需的各元件,设计m序列产生器,产生信号送入含噪信道,在接收端与相同m序列再进行异或运算来检测误码。通过改变信道误码率大小,测试接收信号与发送信号之间的误码率,以及合理设置好参数可改变误码率与 系统的抗噪声性能,从而改善了该种数字传输系统误码率测试器的抗噪声性能。

关键词 Simulink;数字系统;m序列;误码率测试器

1引言

本次课程设计主要运用MATLAB软件,在Simulink平台下建立仿真模型。通过发送伪随机序列,并在信道加入噪声,测试收信号与发送信号之间的误码率大小,分析比较,改变参数设置,实现数字传输系统误码率计算过程。观察输入与输出波形的变化以及误码率的大小,并对其进行分析总结。

1.1 课程设计的目的

通信原理课程设计是重要的实践性教学环节,通信原理是通信工程专业的一门骨干的专业课,是通信工程专业后续专业课的基础。在进行了专业基础课和《通信原理》课程教学的基础上,设计或分析一个简单的通信系统,有助于加深对通信系统原理及组成的理解。掌握通信原理课程的知识可使学生打下一个坚实的专业基础,可提高处理通信系统问题能力和素质,同时也了解本通信专业的新发展。并可综合运用这些知识解决一

第 1 页 共 20 页

数字传输系统误码率测试器的MATLAB实现及性能分析

定的实际问题,使我们在所学知识的综合运用能力上以及分析问题、解决问题能力上得到一定的提高。同时通过课程设计培养学生严谨的科学态度,认真的工作作风和团队协作精神。为我们以后做数字通信系统方面提供了更多的基础知识和经验。

1.2 课程设计的基本任务和要求

本次课程设计的基本任务:

(1)掌握MATLAB中的Simulink仿真平台。

(2)利用m序列模拟测试信号,送入含噪及延时信道,在接收端与相同m序列再进行异或运算以测试误码率。

(3)改变信道误码率或信噪比大小,测试接收信号与发送信号之间的误码率。 (4)分析该种数字传输系统误码率测试器的抗噪声性能。 (5) 按要求认真编写并按时完成报告。 课程设计中必须遵循下列要求:

(1)本设计开发平台为MATLAB中的Simulink。

(2)模型设计应该符合工程实际,模块参数设置必须与原理相符合。 (3)处理结果和分析结论应该一致,而且应符合理论。 (4)独立完成课程设计并按要求编写课程设计报告书。

1.3 设计基本思路

首先熟悉MATLAB软件系统中Simulink模块库,生成空白仿真模型窗口;其次在空白仿真模型窗口产生一个n级m序列。确定本次设计产生一个15级的m序列,将设计好的m序列输出端送入含噪信道中(可通过加入高斯噪声来实现),然后在接收端用相同m序列(称本地序列)与它进行异或运算,即将接收端序列与本地序列进行比较,从而检测出误码。 设置各模块参数,改变信道误码率大小,测试接收信号与发送信号之间的误码率,分析该种数字传输系统误码率测试器的抗噪声性能。

1.4设计平台

MATLAB 集成环境下的Simulink平台。

第 2 页 共 20 页

数字传输系统误码率测试器的MATLAB实现及性能分析

2设计原理

2.1 Simulink工作环境

Simulink是MATLAB最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。Simulink是MATLAB中的一种可视化仿真工具, 是一种基于MATLAB的框图设计环境,是实现动态系统建模、仿真和分析的一个软件包。Simulink可以用连续采样时间、离散采样时间或两种混合的采样时间进行建模,它也支持多速率系统,也就是系统中的不同部分具有不同的采样速率。为了创建动态系统模型,Simulink提供了一个建立模型方块图的图形用户接口(GUI) ,这个创建过程只需单击和拖动鼠标操作就能完成,它提供了一种更快捷、直接明了的方式,而且用户可以立即看到系统的仿真结果。

Simulink是MATLAB软件的扩展,它与MATLAB语言的主要区别在于,其与用户交互接口是基于Windows的模型化图形输入,其结果是使得用户可以把更多的精力投入到系统模型的构建,而非语言的编程上。

设计仿真模型时,从模型库中选中模块,单击鼠标右键,选择\,或直接把模块拖到仿真模型中,即可加入模块。Simulink模型库窗口还提供了查找功能,,在查找对话框中输入模块名称关键字,单击

按钮或按回车键,即可自动搜索到所需

的模型库。可以用Simulink轻松的搭建一个系统模型,并设置模型参数和方针参数,并且立即观察到改变后的仿真结果,进而进行分析。

2.2数字传输系统误码率测试器原理

(1)m序列产生原理

m序列是最长线性移位寄存器序列的简称。它是由多级移位寄存器或其他延迟元件通过线性反馈产生的最长的码序列。由于m序列容易产生、规律性强、有许多优良的性能。特别是由于m序列的均衡性、游程分布和自相关特性与伪随机序列的这些性质极相似,所以伪随机序列可由线性反馈移位寄存器网络产生,如图2-1所示。改变反馈逻辑的位置及数量还可以得到更多不同的序列输出。 线性反馈移位寄存器的相关特性如下:

第 3 页 共 20 页

数字传输系统误码率测试器的MATLAB实现及性能分析

①线性移位寄存器的输出序列是一个周期序列,对于级数为r的线性移位寄存器,最长周期N=2r-1。

②当初始状态是0状态时,线性移位寄存器的输出全0序列。 ③级数相同的线性移位寄存器的输出序列和反馈逻辑有关。 ④同一个线性移位寄存器的输出序列还和起始状态有关。

⑤对于级数为r的线性移位寄存器,当周期N=2r-1时,改变移位寄存器初始状态只改变序列的初相。

图2-1 线性反馈移位寄存器原理框图

(2) 数字信号误码率测量原理

误码率是数字通信系统中一项主要的质量指标,也就是数字系统的可靠性主要用误码率来衡量。在实际测量数字通信系统的误码率时,一般说来,测量结果与信源送出信号的统计特性有关。通常认为二进制信号中“0” 和“1”是以等概率随机出现的。所以测量误码率时最理想的信源应是随机序列产生器。

用真正随机序列产生器进行测量时,只适用于闭环线路测试。但是闭环测试法所用的信道不符合情况。因此,在实际过程中采用单程测试法。在测量单程数字通信误码率时,就不能利用随机序列,而只好利用相近的伪随机序列代替它。图2-2示出这种情况。这时,发送设备和接收设备分出两地。由于发送端用的是伪随机序列,而且通常是m序列,接收端可以用同样的m序列产生器,由同步信号控制,产生出相同的本地序列。本地序列和接收序列相比较,就可检测误码。

信源 发送 信道 接收 同步信号 比较 记录 伪随机序列 图2-2 误码率单程测试法

第 4 页 共 20 页

数字传输系统误码率测试器的MATLAB实现及性能分析

3 设计步骤

3.1 熟悉MATLAB系统中Simulink模型库

(1)打开MATLAB软件,单击工具栏上的 按钮,即可进入斯Simulink工具箱,如图3-1所示。查看Simulink模块库中的每个模块,通过查阅资料弄清楚每个模块的功能和用法。用同样的方法熟悉communication模块库中的常用模块。

图3-1 Simulink工具箱

Simulink图库目录,如图3-2所示。

图3-2 Simulink图库目录

第 5 页 共 20 页

数字传输系统误码率测试器的MATLAB实现及性能分析

(2)设计仿真模型

在MATLAB子窗口或Simulink模型库的菜单栏依次选择“File” | “New” | “Model”,即可生成空白仿真模型窗口,如图3-3所示。

图3-3 新建仿真模型窗口

3.2绘制电路级框图

(1)15级m序列的绘制

根据一个线性反馈移存器能产生m序列的充要条件为:反馈移存器的特征方程为本原多项式。换言之,本原多项式对应的反馈移存器产生的序列称为m序列。通过查表[1]得15级的m序列的本原多项式为:x15+x+1。由于本原多项式的逆多项式也是本原多项式,x15+x+1的逆多项式为:x15+x14+1。.

ITU建议用于数字传输系统测量的m序列周期是215-1=32767,其特征多项式建议采用x15+x14+1。[1]

所以本设计为15级m序列,本原多项式选用x15+x14+1,因此把第14和第15个延时单元的输出端进行异或运算,然后送入第一个延时单元。

m序列所需要的模块:延时模块和异或模块,如图3-4所示。

图3-4 m序列所需模块

在图3-2中绘制框图,绘制好的框图如图3-5所示:

图3-5 15级m序列的绘制

第 6 页 共 20 页

数字传输系统误码率测试器的MATLAB实现及性能分析

(2)在含噪信道中传输过程的绘制

选出此过程称所要用到的模块,包括:高斯噪声模块、抽样判决器、示波器。如图3-6所示。

图3-6 信号在含噪信道传输过程中需要用到的模块

把加m序列与高斯噪声相加,表示送入含噪信道。从加法器输出的信号由于加入了噪声,因此会存在一定程度的干扰,这时为了最大程度的减小噪声的干扰,应在加法器后加一个抽样判决器,用中间电平值代替实际电平,加入噪声过程如图3-7所示:

图3-7 信号在含噪信道中传输

接着,对输出的信号进行抽样判决,把抽样判决后的信号与同样的15级m序列(与加密所用的m序列初值应相同)进行异或运算,即相当于将输出信号与原信号进行比较,如图3-8所示:

图3-8 输出信号与输入信号比较模块图

第 7 页 共 20 页

数字传输系统误码率测试器的MATLAB实现及性能分析

(3)误码率测量和控制部分的绘制

选出此过程称所要用到的模块,包括:数据类型转换器、误码率测试器模块、显示器,如图3-9所示。其中,数据类型转换模块是把数据类型由boolean转换成double型;误码率计算模块即是计算出输入两端的数字信号的误码率;显示器是用来显示误码率大小。

图3-9 误码率测试部分用到的模块

误码率计算部分的模型图如图3-10所示。首先,进行数据类型转换。由于原输入m序列信号和通过信道后输出的数字信号的数据类型都是boolean,而误码率计算模块的输入应是double型的,所以需要加入一个数据类型转换器,通过它输出的数据类型就是double型的。

然后便把转换过数据类型的两路数字信号分别与误码率计算器模块的两个输入端相连,再把计算出的误码率输出到一个显示器上。

最后,由于信号在经过传输以后有可能出现延时现象,而误码率计算器是一对对码元分别输入进行比较的,那么若有延时,则误码率增大很多,因此查看系统是否有延时必不可少。在经过find delay模块后同样接一个显示模块,把延时个数显示出来,再作为依据设置误码率计算模块的延时接收参数。

图3-10 误码率测量部分框图

(4)总体整合框图

把三个部分的电路级框图按顺序连好,在需要观察数字信号波形的地方加上示波器以观察波形变化和误码变化,得到图3-11。

第 8 页 共 20 页

数字传输系统误码率测试器的MATLAB实现及性能分析

图3-11 总体框图

4

模块仿真及分析

4.1 模块参数设置

电路级框图完成后,需要对每个模块的参数进行合理的设置,这样仿真出的结果才更加正确、合理。 (1) m序列参数设置

延时单元的设置如图4-1所示,所有延时单元的sample time都取“1”,表示延时一个时间间隔,而Initial conditions表示所给的初值,此项设置为:从第一到第十三个延时单元初值都为“0”。而第十四和第十五个延时单元初值为“1”。接收端同步信号时用到的m序列同样进行此步的设置,且对应的参数设置与输入时的相同。

第 9 页 共 20 页

数字传输系统误码率测试器的MATLAB实现及性能分析

图4-1 延时单元参数

(2)噪声信号模块进行参数设置

双击高斯噪声信号模块,出现如图4-2的窗口,此时将Variance设置为0,以便产生无噪信道。

图4-2 噪声信号模块进行参数设置

(3)示波器参数设置,如图4-3所示:

第 10 页 共 20 页

数字传输系统误码率测试器的MATLAB实现及性能分析

F=0.5/10^(0.1*x(i)); sim('G:\\m2014.mdl'); y(i)=ErrorVec(1); end

semilogy(x,y)

xlabel('信噪比');ylabel('误码率Pe'); title('误码率曲线图'); grid;

再在信号的整体框图中做以下修改:

①高斯噪声模块的参数Variance窗口中改为F;

②误码率计算Error Rate Calculation中的Output Date设置为Workspace。 保存以上修改。

保存好M文件后,单击M文件窗口中的

图标运行,运行结果生产图如4-12所示:

图4-12 误码率曲线图(1)

分析:由于信噪比与噪声功率关系为:噪声功率增加,信噪比减小;又由于噪声功率增

加,误码率也增加。因此误码率增加,信噪比减小;或者信噪比增加,误码率减小。由图4-12可知,该曲线符合相关理论,但曲线不光滑,为了更明显说明问题,所以要继续修改。

第 16 页 共 20 页

数字传输系统误码率测试器的MATLAB实现及性能分析

将Simulation stop time 作以下修改,如图4-13

图4-13 Simulation stop time 参数修改图

再次运行,结果如图4-14所示:

图4-14 误码率曲线图(1)

由仿真所得的误码率曲线图4-14可以看出,该曲线符合相关理论,误码率随信噪比增加而减小,同时也说明了信号在信道中传输会受到噪声的干扰而使接受端受到错误信息,所以在实际应用中,我们设计好信道,尽量减少噪声的干扰。

5出现的问题及解决方法

在本次课程设计过程中遇到了不少问题,不过通过自己的努力探索,以及在老师和同学的帮助下都一一解决了,总结如下:

首先,由于对m序列不是很了解,不知道它的哪个特征多项式是能产生m序列的,后来通过看书和查找相关资料得知:一个线性反馈移存器能产生m序列的充要条件为:反馈移存器的特征方程为本原多项式。而且一般的n级m序列的本原多项式都可以查表

第 17 页 共 20 页

数字传输系统误码率测试器的MATLAB实现及性能分析

可知。

其次,在仿真及生成曲线时出现的问题及解决方法:

(1)运行后如示波器没有出现完整波形或波形不清晰等,可以点击scope菜单栏的

图标,再单击右键,选择Axes properties即可出现清晰波形。

(2)在整个仿真过程中,各模块的参数设置十分重要,一定要设置合适的参数,才会得出所需要的信号。

(3)修改示波器参数时,title不能为中文名,否则将出错,用英文字母表示即可。 (4)若出现波形很差,可以把修正因子(默认为1)加大,具体步骤为选择模型菜单中的“Simulink|configuration parameters|Data import/export”修改Decimation中数据,可加大。

(5) 生成误码率曲线时若高斯噪声模块参数的没有修改,则误码率曲线是一条直线;但将Variance改为F时,运行即可完成。

解决了上述问题后,就能顺利完成设计任务了。

第 18 页 共 20 页

数字传输系统误码率测试器的MATLAB实现及性能分析

结束语

通过这两周的通信原理课程设计实践,它使我加深了对课堂知识的理解,更加熟

悉了MATLAB里的Simulink工具箱,重温了模拟调制系统和相干解调等知识,同时掌握了一般的课程设计的基本思路和方法,更加注重实践能力,为我以后各方面提供了更多的基础知识和经验。

因为是以所学理论为基础,所以在课程设计的过程中,我学会了独立建立模型,分析无噪信道的结果,和加入噪声之后的情况,通过自己不断的修改参数值,更好的理解加入噪声对信道的影响。在设计的过程中遇到不少问题,在自己的努力和与同学的交流中一一解决。

通过这次课程设计,我拓宽了知识面,锻炼了实际操作能力,综合素质也得到了提高。我觉得安排课程设计的基本目的,在于通过理论与实际的结合、人与人的沟通,进一步提高思想觉悟。尤其是观察、分析和解决问题的实际工作能力。

并且它的一个重要功能,就是在于运用学习成果,检验学习成果。运用学习成果:把课堂上学到的系统化的理论知识,应用于实际设计操作中,并学会理论结合实际来分析结果。检验学习成果:看一看课堂学习与实际到底有多大距离,并通过这次课程设计,找出学习中存在的不足,完善所学知识。在做课程设计的过程中,我也认识到实际能力的培养至关重要,而这种实际能力的培养单靠课堂教学是远远不够的,必须从课堂走向实践。这一次的学习也是为以后的毕业设计工作打下基础。

在课程设计结束之后,我感到不仅实际动手能力有所提高,进一步激发了我们对专业知识的兴趣,并能够结合实际存在的问题在专业领域内进行更深入的学习。使我在所学知识的综合运用能力上以及分析问题、解决问题能力上得到一定的提高。在这一过程中,从最初的原理框图绘制仿真模型图,到最终的信号比较,我借助老师和同学的帮助,通过自己的独立思考,遇到问题再解决问题然后再发现问题再解决,在这一过程的循环往复中我发现了思考和学习的乐趣,明白了任何问题只要自己敢于去发现,敢于去面对就没有困难了,问题也将会得到解决。

在设计中遇到了许多问题,老师和同学热心的给我提供了帮助,解决了许多问题,在此深表感谢。

第 19 页 共 20 页

数字传输系统误码率测试器的MATLAB实现及性能分析

参考文献

[1] 樊昌信,曹丽娜. 通信原理(第6版). 北京:国防工业出版社,2006

[2] 张威. MATLAB基础与编程入门(第2版). 西安:西安电子科技大学出版社,2008 [3] 孙祥,徐流美,吴清. MATLAB7.0基础教程.北京:清华大学出版社,2005 [4] 姚俊,马松辉.Simulink建模与仿真基础. 北京:西安电子科技大学出版社,2002 [5] 邓华.MATLAB通信仿真及应用实例详解.北京:国防工业出版社,2003

第 20 页 共 20 页

本文来源:https://www.bwwdw.com/article/tee8.html

Top