基于Simulink的卷积码编码技术仿真与性能分析Word下载.docx
- 文档编号:18128185
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:19
- 大小:532.32KB
基于Simulink的卷积码编码技术仿真与性能分析Word下载.docx
《基于Simulink的卷积码编码技术仿真与性能分析Word下载.docx》由会员分享,可在线阅读,更多相关《基于Simulink的卷积码编码技术仿真与性能分析Word下载.docx(19页珍藏版)》请在冰豆网上搜索。
指导教师对学生在课程设计中的评价
评分项目
优
良
中
及格
不及格
课程设计中的创造性成果
学生掌握课程内容的程度
课程设计完成情况
课程设计动手能力
文字表达
学习态度
规范要求
课程设计论文的质量
指导教师对课程设计的评定意见
综合成绩指导教师签字年月日
基于Simulink的卷积码编码技术
仿真与性能分析
学生姓名:
***指导老师:
摘要本课程设计主要解决通信系统中基带传输信道纠错编码技术中的卷积码编码技术。
产生一段随机的二进制非归零码的基带信号,对其进行卷积编码,而后采用维特比(Viterbi)译码输出,并通过Matlab软件进行设计与仿真,并进行差错率-误码率曲线绘制和性能分析。
关键词卷积码编码器;
维特比译码器,Simulink;
设计与仿真,性能分析
1引言
本课程设计主要解决信号传输过程中的卷积编码和卷积解码的问题。
对一个串非归零二进制信号卷积码序列进行维特比(Viterbi)译码输出,并通过Matlab软件进行设计与仿真。
1.1课程设计目的
本课程设计的目的主要是仿真通信系统中基带传输信道纠错编码技术中的卷积码编码技术。
产生一段随机的二进制非归零码的基带信号,对其进行卷积码编码后再送入二进制对称信道传输,在接收端对其进行卷积解码以恢复原信号,观察还原是否成功,改变二进制对称信道的差错率,计算传输前后的误码率,绘制信道差错率-误码率曲线,并与理论曲线比较进行说明。
卷积码是一种向前纠错控制编码。
它将连续的信息比特序列映射为连续的编码器输出符号。
这种映射是高度结构化的,使得卷积码的译码方法与分组码译码所采用的方法完全不同。
可以验证的是在同样复杂度情况下,卷积码的编码增益要大于分组码的编码增益。
对于某个特定的应用,采用分组编码还是采用卷积编码哪一种更好则取决于这一应用的具体情况和进行比较时可用的技术。
1.2课程设计要求
本设计开发平台为MATLAB中的Simulink。
模型设计应该符合工程实际,模块参数设置必须与原理相符合。
处理结果和分析结论应该一致,而且应符合理论。
独立完成课程设计并按要求编写课程设计报告书。
1.3课程设计原理
卷积编码的最佳译码准则为:
在给定已知编码结构、信道特性和接收序列的情况下,译码器将把与已经发送的序列最相似的序列作为传送的码字序列的估值。
对于二进制对称信道,最相似传送序列就是在汉明距离上与接收序列最近的序列。
卷积码的编码器一般都比较简单。
如下图1-1是一般情况下的卷积码编码器框图。
它包括NK级的输入移位器,一组n个模2和加法器和n级的输出移位寄存器。
对应于每段k比特的输入序列,输出n个比特。
由图可知,n个输出比特不但与当前的k个输入比特有关,而且与以前的(N-1)k个输入信息比特有关。
整个编码过程可以看成是输入信息序列与由移位寄存器和模2加法器的连接方式所决定的另一个序列的卷积,卷积码由此得名。
本文采用的是冲击响应描述法编码思想。
图1-1卷积码编码器原理框图
图1-2卷积编码器
如上图1-2是卷积码(2,1,3)卷积编码器的一个框图。
左边是信息的输入。
下面分别是系统位输出和校验位输出。
其中间是3个移位寄存器和一个模2加法器。
简单的说就是信息位经过移位寄存器和一个模2加法器产生一个系统位和校验位加在一起输出。
可以看出:
每输入一个比特,移位寄存器中就向右移动一个位子。
原来的第三个寄存器就被移出。
可见卷积编码不只与现在的输入比特有关还与前面的3-1个比特有关。
所以约束长度是3。
在这里,其中K=1,n=2所以码率R=K/n=1/2。
卷积码的译码方法有两大类:
一类是大数逻辑译码,又称门限译码(硬判决);
另一种是概率译码(软判决),概率译码又分为维特比译码和序列译码两种。
门限译码方法是以分组码理论为基础的,其译码设备简单,速度快,但其误码性能要比概率译码法差。
当卷积码的约束长度不太大时,与序列译码相比,维特比译码器比较简单,计算速度快。
维特比译码算法是1967年由Viterbi提出,近年来有大的发展。
目前在数字通信的前向纠错系统中用的较多,而且在卫星深空通信中应用更多,该算法在卫星通信中已被采用作为标准技术。
采用概率译码的基本思想是:
把已接收序列与所有可能的发送序列做比较,选择其中码距最小的一个序列作为发送序列。
如果发送L组信息比特,那么对于(n,k)卷积码来说,可能发送的序列有2kL个,计算机或译码器需存储这些序列并进行比较,以找到码距最小的那个序列。
当传信率和信息组数L较大时,使得译码器难以实现。
维特比算法则对上述概率译码做了简化,以至成为了一种实用化的概率算法。
它并不是在网格图上一次比较所有可能的2kL条路径(序列),而是接收一段,计算和比较一段,选择一段最大似然可能的码段,从而达到整个码序列是一个最大似然值得序列。
下面以图1-3的(2,1,3)卷积码编码器所编出的码为例,来说明维特比解码的方法和运作过程。
为了能说明解码过程,这里给出该码的状态图1-4。
图1-4(2,1,3)卷积码状态图
图1-3卷积码编码器
如上图所示,维特比译码需要利用图来说明移码过程。
根据卷积码画网格的方法,我们可以画出该码的网格图,如下图1-5所示。
该图设输入信息数目L=5,所以画L+N=8个时间单位,图中分别标以0至7。
这里设编码器从a状态开始运作。
该网格图的每一条路径都对应着不同的输入信息序列。
由于所有可能输入信息序列共有2kL个,因而网格图中所有可能的路径也为2kL条。
这里节点a=00,b=01,c=10,d=11。
图1-5卷积码网格图
设输入编码器的信息序列为(11011000),则由编码器对应输出的序列为Y=(1101010001011100),编码器的状态转移路线为abdcbdca。
若收到的序列R=(0101011001011100),对照网格图来说明维特比译码的方法。
由于该卷积码的约束长度为6位,因此先选择接收序列的前6位序列R1=(010101)同到达第3时刻的可能的8个码序列(即8条路径)进行比较,并计算出码距。
该例中到达第3时刻a点的路径序列是(000000)和(111011),他们与R1的距离分别为3和4;
到达第3时刻b点的路径序列是(000011)和(111000),他们与R1的距离分别为3和4;
到达第3时刻c点的路径序列是(001110)和(110101),他们与R1的距离分别为4和1;
到达第3时刻d点的路径序列是(001101)和(110110),他们与R1的距离分别为2和3。
上述每个节点都保留码距较小的路径作为幸存路径,所以幸存路径码序列是(000000)、(000011)、(1101001)和(001101),如下图1-6所示。
用于上面类似的方法可以得到第4、5、6、7时刻的幸存路径。
图1-6维特比译码第3时刻幸存路径
需要指出的是,对于某个节点,如果比较两条路径与接收序列的累计码距值相等时,则可以任意选者一条路径作为幸存路径,吃时不会影响最终的译码结果。
在码的终了时刻a状态,得到一条幸存路径。
如下图1-7所示,由此可看到译码器
图1-7第8时刻幸存路径
输出是R’=(1101010001011100),即可变换成序列(11011000),恢复了发端原始信息。
比较R’和R序列,可以看到在译码过程中已纠正了在码序列第1和第7位上的差错。
当然如果差错出现太频繁,以致超出卷积码的纠错能力,还是会发生纠误的。
2Simulink中卷积码编码器和译码器的设计与仿真
2.1Simulink卷积码编码及模块参数设置
本设计是采用正弦波作为信源,整个信源模块如下图2-1所示:
图2-1信源模块
其中,各个元件具体参数如下各图所示:
图2-2正弦波参数设置
图2-3zero-orderhold参数设置
图2-4Gain1参数设置
将所得到的采样信号进行PCM编码,PCM编码模块如下图2-5所示,再通过并串转换,如下图2-6所示:
图2-5PCM编码模块
图2-6并串转换模块
具体参数设置如下列各图所示:
图2-7Saturation参数设置
图2-8Relay参数设置
图2-9A-LawCompressor参数设置
图2-10Buffer参数设置
在正弦波信号经过信源上述模块后,模拟信号将会变为非归零二进制基带信号,接着就可以进行本次设计的关键步骤了——卷积编码。
2.2Simulink卷积码编码解码及参数设置
在得到二进制非归零信号后,为了增加数据的可靠性,就可以进行卷积编码了。
卷积码编码模块设计如下图2-11所示。
图2-11卷积编码,卷积解码模块
此模块分别由ConvolutionalEncoder(卷积码编码器),BSC信道,ViterbiDecoder(维特比译码器)。
其各元件具体参数设置如下列各图所示:
图2-12卷积编码器参数设置
图2-13BSC信道参数设置
图2-14维特比译码器参数设置
信道中差错率可以人为修改,这里暂时设为0。
通过示波器观测,如下图2-15所示,可以看出延时34个码元。
故Tracebackdepth参数设置为34。
图2-15卷积编码,卷积解码
2.3Simulink卷积码编码还原及参数设置
为了得到完整的正弦波信号,就得接受到的信号进行延时补偿,PCM解码,串并转换,最后对信号还原,接入示波器中观察。
其原理图如下图2-16所示:
图2-16信宿模块
各元件参数设置均和编码时参数相同,接入信号还原元件,再接一个示波器观察原正弦波和还原后的正弦波的区别。
BittoIntegerConverter和前面图2-5中的IntegertoBitConverter参数设置一样,参数设置如下图2-17所示:
图2-16BittoIntegerConverter参数设置
2.4Simulink卷积编码——维特比译码系统测试
完成上述三大步骤后,再接入ErrorRateCalculation进行误码率统计。
整个原理图如下图2-18所示:
图2-18卷积编码——维特比译码系统
由图2-2至2-6可知,本系统延时34,故如下图2-19所示参数设置。
图2-19ErrorRatecalculation参数设置
完成上述参数设置后点击运行。
运行结束后,观察示波器,所得信号和原信号一样,说明该设计成功。
各示波器显示如下图2-20所示:
图2-20卷积编码输入,维特比译码输出
由图2-18可以看出,输入和输出对比,除了在时间上有34个码元的延迟以外,波形是一样的,所以此卷积编码,维特比译码正确。
如下图2-21所示:
图2-21输入波形和输出波形对比
由上图2-21所示,输入波形和输出波形基本上一样,这是因为信道的差错率为0,改变信道的差错率为0.1。
输入输出波形对比如下图2-22所示
图2-22加入噪声的输入波形和输出波形
由此可知,信道的特性是影响信息传输的一大因素,只有信道的差错率在一定范围内,才能保证信息的正确传输。
3Matlab中卷积码差错率——误码率分析
执行M文件,随着信道差错率的提升,维特比译码所得结果的误码率升高,信道的可信度降低,本应该得出关系曲线图,但是由于部分原因并经查找资料都无法出现关系曲线图。
4出现的问题及解决办法
1、加入声源的问题及解决办法
最初本课程设计采用声源作为信源,要求采用8000HZ的声源,但是MATLAB总是无法调用声源文件。
解决办法:
把声源换成正弦波作为信源,成功解决信源问题。
2、各模块参数设置的问题及解决办法
该课程设计是采用的声源作为信源,因此前期各模块的参数是基于声源的前提下设置的,但是后面把信源修改为正弦波时需要修改各模块的参数,就需要对部分模块的参数进行设置。
首先设置正弦波的参数,把正弦波的频率设置为3000。
其次设置数字转换器(Quantizer)的量化区间(Quantizationinterval)设置为7位二进制,故设置为7。
最后设置BSC信道的参数,误差为0的时候,还原后的图像基本上与原正弦波吻合;
改变信道的误差为0.1,以便观察原正弦波和加入噪声的输出波形进行对比。
3、误码率分析的问题及解决办法
设计的最后步骤需要对误码率进行分析,但是无法产生关系曲线图。
我们后期MATLAB学习中关注并解决该问题。
5结束语
此课程设计对整个通信系统包含的编码、传输和译码都进行了设计与仿真,从这些过程中我们看到了通信系统的基本工作原理。
通过整个卷积码系统的设计与仿真,使我们加深了对卷积码的理解,掌握维特比译码的基本思路,知道如何进行误码率分析从而选者合适的信道传输信号,更重要的是学会了使用Matlab作为学习工具来对我们的通信系统进行设计和仿真等操作,这对我们以后的学习和工作有着重要意义。
参考文献:
[1]仇佩亮,《信息论与编码》,高等教育出版社
[2]约翰·
G·
普罗克斯,马苏德·
萨勒赫编,刘树棠译,《现代通信系统—使用MATLAB》,西安交通大学出版社
[3]主编李贺冰,副主编袁杰萍孔俊霞,《SIMULINK通信仿真教程》,国防工业出版社
[4]邓华等编著,《MATLAB通信仿真及应用实例详解》,人民邮电出版社
[5]张威编,《MATLAB基础与编程入门》,西安电子科技大学出版社
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Simulink 卷积码 编码 技术 仿真 性能 分析
![提示](https://static.bdocx.com/images/bang_tan.gif)