基于matlab的卷积码译码器的仿真设计
基于Matlab的卷积码译码器的设计与仿真
基于Matlab的卷积码译码器的设计与仿真作者:曹亚陆来源:《硅谷》2011年第15期摘要:主要解决对一个卷积码序列进行维特比(Viterbi)译码输出,并通过Matlab软件进行设计与仿真,并进行误码率分析。
系统开发平台为Windows Vista Ultimate,程序设计与仿真均采用Matlab R2007a(7.4),最后仿真详单与理论分析一致。
关键词:卷积码译码器;Matlab;Simulink;设计与仿真中图分类号:TP314 文献标识码:A 文章编号:1671-7597(2011)0810049-011 概述设计主要解决对一个卷积码序列进行维特比(Viterbi)译码输出,并通过Matlab软件进行设计与仿真。
卷积码的译码有两种方法——软判决和硬判决,此课程设计采用硬判决的维特比译码。
1.1 设计目的。
卷积码是一种向前纠错控制编码。
它将连续的信息比特序列映射为连续的编码器输出符号。
这种映射是高度结构化的,使得卷积码的译码方法与分组码译码所采用的方法完全不同。
可以验证的是在同样复杂度情况下,卷积码的编码增益要大于分组码的编码增益。
对于某个特定的应用,采用分组编码还是采用卷积编码哪一种更好则取决于这一应用的具体情况和进行比较时可用的技术[1]。
本设计便是通过Matlab设计一个硬判决维特比译码输出的完整电路,并进行误码率分析。
1.2 设计的原理。
卷积码,又称连环码,是由伊莱亚斯(P.elias)于1955年提出来的一种非分组码。
卷积编码的最佳译码准则为:在给定已知编码结构、信道特性和接收序列的情况下,译码器将把与已经发送的序列最相似的序列作为传送的码字序列的估值。
对于二进制对称信道,最相似传送序列就是在汉明距离上与接收序列最近的序列。
2 维特比译码原理采用概率译码的基本思想是:把已接收序列与所有可能的发送序列做比较,选择其中码距最小的一个序列作为发送序列。
如果发送L组信息比特,那么对于(n,k)卷积码来说,可能发送的序列有2kL个,计算机或译码器需存储这些序列并进行比较,以找到码距最小的那个序列。
基于Matlab的卷积码编译器设计
1本科生毕业论文(设计)题目:基于Matlab 的卷积码编译器设计仿真专业代码: 080603作者姓名:张倍红学号: **********单位:物理科学与信息工程学院指导教师:***2010年 5 月 20日目录引言 (1)1.系统仿真 (1)1.1系统仿真的定义 (1)1.2仿真模型与仿真研究 (1)2.MATLAB仿真 (3)3.差错控制编码 (4)3.1差错控制编码 (4)3.1.1 概述 (4)3.1.2 差错控制编码方法 (4)4.卷积码编译器设计仿真 (5)4.1卷积码 (5)4.2卷积码的编码 (6)4.3卷积码的译码 (8)4.4相关参数 (11)4.5程序设计 (11)4.5.1 卷积码编码函数 (11)4.5.2 维特比译码函数 (12)4.6卷积码的性能分析和仿真测试 (13)4.6.1 理论计算 (13)4.6.2 仿真结果与理论 (14)结束语 (17)参考文献 (19)致谢 (20)摘要本文通过对卷积码的研究,用Matlab实现了卷积码的冲击响应编码和Viterbi译码,通过一系列的仿真实验进一步证明了卷积码的特性,从而说明卷积码是一种非常有前途的、能达到信道编码定理所提出的码类。
最后通过 Matlab仿真,对卷积码的性能进行了理论分析和实验仿真。
关键词:卷积码;Viterbi;Matlab;误比特率AbstractIt makes a deeply analytical study about convolution code in this article and it makes a convolution impact response coding & Viterbi decoding also, the characteristics of convolution code was fully proved by a series of simulated experiment, it shows that convolution code is a perfect code style which is promising & fitting. In the end, the performance of convolution code is analyzed and simulated based on Matlab Keywords: convolution code; Viterbi; Matlab; bit error rate基于Matlab的卷积码编译器设计仿真引言由于数字信号在传输过程中受到干扰的影响。
基于Matlab编译码器的仿真与设计
摘要摘要本课程设计主要解决信源编码和信道编码中的卷积码的数字调制,信源输出的模拟信号要转换成数字信号,就需要对信源信道进行编码译码操作,并通过Simulink软件进行设计与仿真,进行误码率分析。
卷积码是一种性能优越的信道编码。
它的编码器和译码器都比较容易实现,同时它具有较强的纠错能力。
随着纠错编码理论研究的不断深入,卷积码的实际应用越来越广泛。
本文简明地介绍了卷积码的编码原理和译码原理。
并在SIMULINK模块设计中,完成了对卷积码的编码和译码以及误比特统计整个过程的模块仿真。
最后,通过在仿真过程中分别改变卷积码的重要参数来加深理解卷积码的这些参数对卷积码的误码性能的影响。
经过仿真和实测,并对测试结果作了分析。
得出了以下三个结论:(1)当改变卷积码的码率时,系统的误码性能也将随之发生变化。
(2)对于码率一定的卷积码,当约束长度N 发生变化时,系统的误码性能也会随之发生变化。
(3)回溯长度也会不同程度上地影响误码性能。
关键词:编译码器;simulink;设计与仿真卷积码;码率ABSTRACTABSTRACTThis course is designed to solve source coding and channel coding convolutional codes in the digital modulation, the source output analog signals into digital signals to be converted to the need for the source and channel coding and decoding operations, and through the Simulink software design and simulation, and the bit error rate analysis. Convolutional code is a superior performance of channel coding. Its encoder and decoder are relatively easy to implement, and it has a strong error correction capability. Error-correcting coding theory research with the deepening of the practical application of convolutional codes more widely. This concise introduction to the principles of convolutional coding and decoding principles. SIMULINK module in the design, completed the coding and decoding convolutional code and bit error statistics of the whole process simulation module. Finally, changes in the simulation process of convolutional codes, respectively, to deepen our understanding of the important parameters of these parameters on convolutional codes convolutional codes error performance. The simulation and measurement, and test results are analyzed. Reached the following three conclusions:(1) When the change rate convolutional code, the system error performance will subsequently change.(2) For a certain rate convolutional codes, when the constraint length N changes, the system BER performance also will be changed.(3) back length will be affected to varying degrees, error performance. Keywords: codec; simulink;design and simulation of convolutional code目录第1章引言 (1)1.1 课题背景 (1)1.2 国内外研究现状 (1)1.3 本课题的意义 (1)1.4 本课题的研究方法 (2)第2章 MATLAB组件介绍及通信系统概述 (3)2.1 MATLAB与通信仿真的发展现状及应用 (3)2.2 通信系统概述与组成 (3)2.3 通信仿真 (4)2.4 Simulink仿真及工作原理 (6)第3章信源编码 (8)3.1 A律μ律编码特性 (8)3.1.1 A律编码 (8)3.1.2 μ律编码 (8)3.1.3 A律13折线 (9)3.2 A律、μ律的特性比较 (11)第4章信道编码及译码 (15)4.1 卷积码的概念介绍 (15)4.2 卷积码的编码过程介绍 (15)4.3 卷积码译码过程的概述 (16)4.4 卷积码的最大似然译码 (19)4.5 输入与同步单元 (21)第5章卷积码的仿真 (22)5.1 Simulink仿真模块的参数设置以及重要参数的意义 (22)5.2 简化维特比译码器的仿真 (26)第6章卷积码译码器的误码率分析 (28)6.1信噪比与误码率的关系 (28)6.2.不同回溯长度对卷积码性能的影响 (29)6.3 不同码率对卷积码误码性能的响 (31)6.4 不同约束长度对卷积码的误码性能影响 (32)第7章结论 (35)参考文献 (36)致谢 (37)第1章引言第1章引言1.1 课题背景随着现代通信的发展,高速信息传输和高可靠性传输成为信息传输的两个主要方面,而可靠性尤其重要。
基于 MATLAB 的卷积码硬判决及软判决仿真
基于 MATLAB 的卷积码硬判决及软判决仿真
周芸;张华
【期刊名称】《科技创新与应用》
【年(卷),期】2012(000)026
【摘要】随着现代通信的快速发展,高速信息传输和传输的高可靠性成为信息传输的两个主要研究方面,其中可靠性尤其重要。
卷积码以其高速性和高可靠性在实际应用中得到越来越广泛的应用。
卷积码译码器是卷积编码器的逆过程,用于从卷积编码器的输出信号中恢复出原始的信息序列,MATLAB 有两种类型的卷积译码器,软判决译码器和硬判决译码器,本文要求建立仿真系统,模拟系统在高斯白噪声信道的环境下,卷积译码器的两种判决过程。
并讨论误比特率和信噪比之间的关系。
【总页数】1页(P93-93)
【作者】周芸;张华
【作者单位】辽宁师范大学物理与电子技术学院,辽宁大连116021;辽宁师范大学物理与电子技术学院,辽宁大连116021
【正文语种】中文
【相关文献】
1.基于MATLAB的卷积码硬判决及软判决仿真 [J], 周芸;张华
2.基于软判决的(n,1,m)卷积码盲识别 [J], 蒋飘蓬;刘杰;马超
3.基于分段抽取软判决加权Walsh Hadamard变换的卷积码识别算法 [J], 张岱;张玉;杨晓静;樊斌斌
4.基于FPGA的删除卷积码Viterbi软判决译码器的研究 [J], 熊磊;姚冬苹;谈振辉;
牟丹
5.基于卷积码和软判决的图像水印盲检算法 [J], 陈禧
因版权原因,仅展示原文概要,查看原文内容请购买。
MATLAB实现卷积码编译码
本科生毕业论文(设计)题目:MATLAB实现卷积码编译码专业代码:作者姓名:学号:单位:指导教师:年月日目录前言----------------------------------------------------- 1 1. 纠错码基本理论---------------------------------------- 21.1纠错码基本理论 ----------------------------------------------- 21.1.1纠错码概念 ------------------------------------------------- 21.1.2基本原理和性能参数 ----------------------------------------- 21.2几种常用的纠错码 --------------------------------------------- 62. 卷积码的基本理论-------------------------------------- 82.1卷积码介绍 --------------------------------------------------- 82.1.1卷积码的差错控制原理----------------------------------- 82.2卷积码编码原理 ---------------------------------------------- 102.2.1卷积码解析表示法-------------------------------------- 102.2.2卷积码图形表示法-------------------------------------- 112.3卷积码译码原理---------------------------------------------- 152.3.1卷积码三种译码方式------------------------------------ 152.3.2V ITERBI译码原理---------------------------------------- 163. 卷积码编译码及MATLAB仿真---------------------------- 183.1M ATLAB概述-------------------------------------------------- 183.1.1M ATLAB的特点------------------------------------------ 193.1.2M ATLAB工具箱和内容------------------------------------ 193.2卷积码编码及仿真 -------------------------------------------- 203.2.1编码程序 ---------------------------------------------- 203.3信道传输过程仿真-------------------------------------------- 213.4维特比译码程序及仿真 ---------------------------------------- 223.4.1维特比译码算法解析------------------------------------ 233.4.2V ITERBI译码程序--------------------------------------- 253.4.3 VITERBI译码MATLAB仿真----------------------------------- 283.4.4信噪比对卷积码译码性能的影响 -------------------------- 283.4.5码率对卷积码译码性能的影响 ---------------------------- 303.4.6约束长度对卷积码误码性能的影响------------------------ 313.4.7回溯长度对卷积码误码性能的影响 ------------------------ 323.4.8判决方式对卷积码误码性能的影响------------------------ 324. 结论及展望------------------------------------------ 344.1结论-------------------------------------------------------- 344.2展望 -------------------------------------------------------- 355. 结束语----------------------------------------------- 36参考文献------------------------------------------------ 37致谢---------------------------------------------------- 38附录---------------------------------------------------- 39摘要在数字通信系统中,通常采用差错控制编码来提高系统的可靠性。
基于MATLAB的CRC编码与译码的设计与仿真
*******************实践教学*******************兰州理工大学计算机与通信学院2012年春季学期《计算机通信与网络》课程设计题目:差错控制编码的编译码设计与仿真专业班级:09级通信工程(4)班姓名:杜春娟学号:09250436指导教师:彭铎成绩:通信是信息远距离的传送,是人类生产和生活的主要支撑。
通信的目的是要把信息及时可靠地传送给对方,在数据通信过程中,衰损、失真、和噪声会使通信线路上的信号发生错误。
差错控制可以减少错误、提高通信质量,可以改善传输信道的电气特性,使误码率达到要求。
CRC(Cyclical Redundancy Checking)循环冗余校验码是一种重要的线性分组码,通过多项式除法检测错误,是在数据通信和数据检测中广泛应用的检错校验的循环码。
本设计研究了CRC循环冗余校验码的原理,以及利用C语言对其进行了编程和编译仿真,实现了CRC循环冗余校验码的编码及校验,在接收端收到通过校验的码,从而确定传输过程是否出错,得到的结论和理论上是一致的。
关键词:检错码;CRC循环冗余校验码;C语言随着科学技术的进步, 人们对信息传递的要求逐渐提高。
但在通信系统中, 可靠性与有效性是对矛盾, 要求有效性提高, 必然使每个码元所占的时间缩短, 从而受干扰和产生错误的可能性增大, 可靠性降低了; 要提高信息的可靠性,又使信息速率变慢有效性降低。
在实际信道上传输数字信号时,由于信道传输特性不理想及加性噪声的影响,所收到的数字信号不可避免的会发生错误。
为了加强通信系统的可靠性,除了合理设计基带信号,选择调制、解调方式,采用频域均衡、时域均衡之外,还需要采用信道编码,即差错控制编码,使误码率进一步降低,来满足指标要求。
循环冗余校验码CRC(Cyclical Redundancy Checking)是目前通信系统中最常用的一种差错控制编码。
循环冗余校验码是一种高效率且可靠的方法, 由线性分组码分支而来的, 是一种通过多项式除法检测错误的很不寻常而又巧妙的方法, 一方面它有很强的检测能力, 二是它的编码器电路及错误检测器电路都很容易实现, 它的优点使它在通信系统中得到了广泛的应用。
最新卷积编码与解码的MATLAB实现及能分析
卷积编码与解码的M A T L A B实现及能分析长沙理工大学《通信原理》课程设计报告王情学院城南学院专业通信工程班级通信1102 学号 201185250230 学生姓名王情指导教师曹敦课程成绩完成日期 2014年1月9日课程设计成绩评定学院城南学院专业通信工程班级通信1102 学号 201185250230 学生姓名王情指导教师曹敦课程成绩完成日期 2014年1月9日指导教师对学生在课程设计中的评价指导教师对课程设计的评定意见卷积编码与解码的MATLAB实现及性能分析学生姓名:王情指导老师:曹敦摘要本课程设计主要解决通信系统中卷积编码与解码技术在Matlab中实现以及对其性能进行分析。
用贝努利二进制序列产生器作为信号源,产生基带信号,对其中的卷积进行编码,调制解调,然后采用Viterbi译码输出,最后计算误码率,对其性能进行分析。
关键词卷积码;卷积编码器;Viterbi译码器;BSK调制与解调;约束长度。
目录1引言 (4)1.1课程设计的目的 (4)1.2 课程设计的基本任务和要求 (4)1.2.1本次课程设计的基本任务 (4)1.2.2课程设计中的要求 (5)1.3设计平台 (5)2设计原理 (5)2.1卷积码的基本概念 (5)2.2卷积码的编码 (5)2.2.1卷积编码 (5)2.2.2卷积码的树状图 (6)2.2.3卷积码的网格图 (7)2.2.4卷积码的状态图 (8)2.3卷积码的解码 (8)3卷积码的仿真与性能分析 (9)3.1 卷积码的仿真 (9)3.1.1卷积码的设计框图 (9)3.1.2Simulink仿真模块的参数设置 (9)3.2 卷积码的波形输出 (15)3.2.1输入信号波形 (15)3.2.2输入信号与解码输出波形 (16)3.3卷积码的性能分析 (17)4出现的问题及解决方法 (19)5 结束语 (19)6参考文献 (20)1 引言本课程设计主要解决基于Matlab的Simulink下的模块对卷积编码与解码进行仿。
卷积码的MATLAB仿真设计
卷积码的MATLAB仿真设计
安妮
【期刊名称】《科技与生活》
【年(卷),期】2012(004)013
【摘要】本论文介绍了卷积码的概念和编译码原理,介绍了卷积码的部分并利用Systemview软件将卷积码实现.仿真运行后参考纠错理论对波形图进行分析.【总页数】2页(P104-105)
【作者】安妮
【作者单位】德州职业技术学院,山东德州253000
【正文语种】中文
【中图分类】TN911
【相关文献】
1.基于EDA技术的卷积码编码器的设计与仿真
2.吉比特里所码和卷积码级联译码器设计
3.基于(2,1,7)卷积码实现低误码率通信的DSP设计
4.卷积码的Matlab 仿真及其性能研究
5.卷积码编译码的Matlab仿真及其性能研究
因版权原因,仅展示原文概要,查看原文内容请购买。
Matlab的卷积码译码器的设计与仿真
Matlab的卷积码译码器的设计与仿真540802 112008111郭林《基于Matlab的卷积码译码器的设计与仿真》第1页共17页Matlab**本课程设计主要解决对一个输入信号进行卷积码编码,以及维特比(Viterbi)译码输出,并通过Matlab软件进行设计与仿真,并进行误码率分析。
程序设计与仿真均采用Matlab R2007a(7.4),最后仿真详单与理论分析一致。
卷积码编码器;卷积码译码器;Matlab;设计与仿真1本课程设计主要解决对一个信号进行信道编解码,采用卷积码编码,维特比(Viterbi)译码输出,并通过Matlab软件进行设计与仿真。
卷积码的译码有两种方法——软判决和硬判决,此课程设计采用硬判决的维特比译码。
1.1卷积码是一种向前纠错控制编码。
它将连续的信息比特序列映射为连续的编码器输出符号。
这种映射是高度结构化的,使得卷积码的译码方法与分组码译码所采用的方法完全不同。
可以验证的是在同样复杂度情况下,卷积码的编码增益要大于分组码的编码增益。
对于某个特定的应用,采用分组编码还是采用卷积编码哪一种更好则取决于这一应用的具体情况和进行比较时可用的技术。
本课程设计便是通过Matlab,构造了一个卷积码编码后,通过产生加性高斯白噪声的信道,再进行译码的过程,译码后计算误码率,并进行分析。
郭林《基于Matlab的卷积码译码器的设计与仿真》第2页共17页 1.2 2卷积码,又称连环码,是由伊莱亚斯(P.elias)于1955年提出来的一种非分组码。
卷积编码的最佳译码准则为:在给定已知编码结构、信道特性和接收序列的情况下,译码器将把与已经发送的序列最相似的序列作为传送的码字序列的估值。
对于二进制对称信道,最相似传送序列就是在汉明距离上与接收序列最近的序列。
卷积码的译码方法有两大类:一类是大数逻辑译码,又称门限译码(硬判决,编者注);另一种是概率译码(软判决,编者注),概率译码又分为维特比译码和序列译码两种。
MATLAB实现卷积码编译码-学习资料
M A T L A B实现卷积码编译码-本科生毕业论文(设计)题目:MATLAB实现卷积码编译码专业代码:作者姓名:学号:单位:指导教师:年月日目录前言----------------------------------------------------- 0 1. 纠错码基本理论---------------------------------------- 11.1纠错码基本理论 ----------------------------------------------- 11.1.1纠错码概念 ------------------------------------------------- 11.1.2基本原理和性能参数 ----------------------------------------- 11.2几种常用的纠错码 --------------------------------------------- 62. 卷积码的基本理论-------------------------------------- 72.1卷积码介绍 --------------------------------------------------- 82.1.1卷积码的差错控制原理----------------------------------- 82.2卷积码编码原理 ----------------------------------------------- 92.2.1卷积码解析表示法-------------------------------------- 102.2.2卷积码图形表示法-------------------------------------- 112.3卷积码译码原理---------------------------------------------- 142.3.1卷积码三种译码方式------------------------------------ 142.3.2V ITERBI译码原理---------------------------------------- 153. 卷积码编译码及MATLAB仿真---------------------------- 183.1M ATLAB概述-------------------------------------------------- 183.1.1M ATLAB的特点------------------------------------------ 183.1.2M ATLAB工具箱和内容------------------------------------ 193.2卷积码编码及仿真 -------------------------------------------- 193.2.1编码程序 ---------------------------------------------- 203.3信道传输过程仿真-------------------------------------------- 213.4维特比译码程序及仿真 ---------------------------------------- 223.4.1维特比译码算法解析------------------------------------ 233.4.2V ITERBI译码程序--------------------------------------- 253.4.3 VITERBI译码MATLAB仿真----------------------------------- 283.4.4信噪比对卷积码译码性能的影响 -------------------------- 293.4.5码率对卷积码译码性能的影响 ---------------------------- 313.4.6约束长度对卷积码误码性能的影响------------------------ 313.4.7回溯长度对卷积码误码性能的影响 ------------------------ 323.4.8判决方式对卷积码误码性能的影响------------------------ 334. 结论及展望------------------------------------------ 344.1结论-------------------------------------------------------- 344.2展望 -------------------------------------------------------- 355. 结束语----------------------------------------------- 36参考文献------------------------------------------------ 37致谢---------------------------------------------------- 38附录---------------------------------------------------- 39摘要在数字通信系统中,通常采用差错控制编码来提高系统的可靠性。
卷积码实验报告
现代编码理论基于MATLAB的卷积码编码及译码仿真姓姓名名:闫嘉川学学号号:1433170所在院系:电子与信息工程学院实验名称:基于MAATLAB的卷积码编码及译码仿真实验目的:卷积码是一种性能优越的信道编码。
它的编码器和译码器都比较容易实现,同时它具有较强的纠错能力。
随着纠错编码理论研究的不断深入,卷积码的实际应用越来越广泛。
本实验简明地介绍了卷积码的编码原理和Viterbi译码原理。
并在SIMULINK模块设计中,完成了对卷积码的编码和译码以及误比特统计整个过程的模块仿真。
最后,通过在仿真过程中分别改变卷积码的重要参数来加深理解卷积码的这些参数对卷积码的误码性能的影响。
经过仿真和实测,并对测试结果作了分析。
实验原理:1、卷积码编码原理卷积码是一种性能优越的信道编码,它的编码器和解码器都比较易于实现,同时还具有较强的纠错能力,这使得它的使用越来越广泛。
卷积码一般表示为(n,k,K)的形式,即将 k个信息比特编码为 n 个比特的码组,K 为编码约束长度,说明编码过程中相互约束的码段个数。
卷积码编码后的 n 各码元不经与当前组的 k 个信息比特有关,还与前 K-1 个输入组的信息比特有关。
编码过程中相互关联的码元有 K*n 个。
R=k/n 是编码效率。
编码效率和约束长度是衡量卷积码的两个重要参数。
典型的卷积码一般选 n,k 较小,K 值可取较大(>10),但以获得简单而高性能的卷积码。
卷积码的编码描述方式有很多种:冲激响应描述法、生成矩阵描述法、多项式乘积描述法、状态图描述,树图描述,网格图描述等。
2、卷积码Viterbi译码原理卷积码概率译码的基本思路是:以接收码流为基础,逐个计算它与其他所有可能出现的、连续的网格图路径的距离,选出其中可能性最大的一条作为译码估值输出。
概率最大在大多数场合可解释为距离最小,这种最小距离译码体现的正是最大似然的准则。
卷积码的最大似然译码与分组码的最大似然译码在原理上是一样的,但实现方法上略有不同。
基于MATLAB的CRC编码与译码的设计与仿真
摘要通信是信息远距离的传送,是人类生产和生活的主要支撑。
通信的目的是要把信息及时可靠地传送给对方,在数据通信过程中,衰损、失真、和噪声会使通信线路上的信号发生错误。
差错控制可以减少错误、提高通信质量,可以改善传输信道的电气特性,使误码率达到要求。
CRC(Cyclical Redundancy Checking)循环冗余校验码是一种重要的线性分组码,通过多项式除法检测错误,是在数据通信和数据检测中广泛应用的检错校验的循环码。
本设计研究了CRC循环冗余校验码的原理,以及利用C语言对其进行了编程和编译仿真,实现了CRC循环冗余校验码的编码及校验,在接收端收到通过校验的码,从而确定传输过程是否出错,得到的结论和理论上是一致的。
关键词:检错码;CRC循环冗余校验码;C语言前言随着科学技术的进步, 人们对信息传递的要求逐渐提高。
但在通信系统中, 可靠性与有效性是对矛盾, 要求有效性提高, 必然使每个码元所占的时间缩短, 从而受干扰和产生错误的可能性增大, 可靠性降低了; 要提高信息的可靠性,又使信息速率变慢有效性降低。
在实际信道上传输数字信号时,由于信道传输特性不理想及加性噪声的影响,所收到的数字信号不可避免的会发生错误。
为了加强通信系统的可靠性,除了合理设计基带信号,选择调制、解调方式,采用频域均衡、时域均衡之外,还需要采用信道编码,即差错控制编码,使误码率进一步降低,来满足指标要求。
循环冗余校验码CRC(Cyclical Redundancy Checking)是目前通信系统中最常用的一种差错控制编码。
循环冗余校验码是一种高效率且可靠的方法, 由线性分组码分支而来的, 是一种通过多项式除法检测错误的很不寻常而又巧妙的方法, 一方面它有很强的检测能力, 二是它的编码器电路及错误检测器电路都很容易实现, 它的优点使它在通信系统中得到了广泛的应用。
利用CRC进行检错的过程可简单描述为:在发送端根据要传送的二进制码序列,以一定的规则产生一个校验用的监督码(CRC码),附在原始信息后边,构成一个新的二进制码序列数,然后发送出去。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字通信原理课程设计报告书基于matlab的卷积码译码器的仿真设计)1设计目的卷积码是一种向前纠错控制编码。
它将连续的信息比特序列映射为连续的编码器输出符号。
这种映射是高度结构化的,使得卷积码的译码方法与分组码译码所采用的方法完全不同。
可以验证的是在同样复杂度情况下,卷积码的编码增益要大于分组码的编码增益。
对于某个特定的应用,采用分组编码还是采用卷积编码哪一种更好则取决于这一应用的具体情况和进行比较时可用的技术。
本课程设计便是通过Matlab设计一个硬判决维特比译码输出的完整电路,并进行误码率分析。
2设计的主要内容和要求(1)要求能熟练地运用Matlab技术对卷积码译码器进行仿真。
(2)运用Matlab中Simulink单元来创建信源模块、信道模块、信宿模块、简易译码器模块等,并运用所有设计的模块来进行仿真。
3 设计原理3.1卷积码卷积码,又称连环码,是由伊莱亚斯(P.elias)于1955年提出来的一种非分组码。
卷积编码的最佳译码准则为:在给定已知编码结构、信道特性和接收序列的情况下,译码器将把与已经发送的序列最相似的序列作为传送的码字序列的估值。
对于二进制对称信道,最相似传送序列就是在汉明距离上与接收序列最近的序列。
卷积码的译码方法有两大类:一类是大数逻辑译码,又称门限译码(硬判决,编者注);另一种是概率译码(软判决,编者注),概率译码又分为维特比译码和序列译码两种。
门限译码方法是以分组码理论为基础的,其译码设备简单,速度快,但其误码性能要比概率译码法差。
当卷积码的约束长度不太大时,与序列译码相比,维特比译码器比较简单,计算速度快。
维特比译码算法是1967年由Viterbi 提出,近年来有大的发展。
目前在数字通信的前向纠错系统中用的较多,而且在卫星深空通信中应用更多,该算法在卫星通信中已被采用作为标准技术。
3.2 维特比译码原理采用概率译码的基本思想是:把已接收序列与所有可能的发送序列做比较,选择其中码距最小的一个序列作为发送序列。
如果发送L 组信息比特,那么对于(n,k )卷积码来说,可能发送的序列有2kL 个,计算机或译码器需存储这些序列并进行比较,以找到码距最小的那个序列。
当传信率和信息组数L 较大时,使得译码器难以实现。
维特比算法则对上述概率译码做了简化,以至成为了一种实用化的概率算法。
它并不是在网格图上一次比较所有可能的2kL 条路径(序列),而是接收一段,计算和比较一段,选择一段最大似然可能的码段,从而达到整个码序列是一个最大似然值得序列。
下面以图3.2.1的(2,1,3)卷积码编码器所编出的码为例,来说明维特比解码的方法和运作过程。
为了能说明解码过程,这里给出该码的状态图,如图3.2.2示。
维特比译码需要利用图来说明移码过程。
根据卷积码画网格的方法,我们可以画出该码的网格图,如图3.2.3所示。
该图设输入信息数目L=5,所以画L+N=8个时间单位,图中分别标以0至7。
这里设编码器从a 状态开始运作。
该网格图的每一条路径都对应着不同的输入信息序列。
由于所有可能输入信息序列共有2kL 个,因而网格图中所有可能的路径也为2kL 条。
这里节点a=00,b=01,c=10,b图3.2.1 (2,1,3)卷积码编码器图3.2.2 (2,1,3)卷积码状态图d=11。
图3.2.3 (2,1,3)卷积码网格图设输入编码器的信息序列为(11011000),则由编码器对应输出的序列为Y=(1101010001011100),编码器的状态转移路线为abdcbdca。
若收到的序列R=(0101011001011100),对照网格图来说明维特比译码的方法。
由于该卷积码的约束长度为6位,因此先选择接收序列的前6位序列R1=(010101)同到达第3时刻的可能的8个码序列(即8条路径)进行比较,并计算出码距。
该例中到达第3时刻a点的路径序列是(000000)和(111011),他们与R1的距离分别为3和4;到达第3时刻b点的路径序列是(000011)和(111000),的距离分别为3和4;到达第3时刻c点的路径序列是(001110)和他们与R1(110101),他们与R1的距离分别为4和1;到达第3时刻d点的路径序列是(001101)的距离分别为2和3。
上述每个节点都保留码距较小的路和(110110),他们与R1径作为幸存路径,所以幸存路径码序列是(000000)、(000011)、(1101001)和(001101),如图3.2.4所示。
用于上面类似的方法可以得到第4、5、6、7时刻的幸存路径。
图3.2.4 维特比译码第3时刻幸存路径需要指出的是,对于某个节点,如果比较两条路径与接收序列的累计码距值相等时,则可以任意选者一条路径作为幸存路径,吃时不会影响最终的译码结果。
在码的终了时刻a状态,得到一条幸存路径。
如果3.2.5所示。
由此可看到译码器图3.2.5 第8时刻幸存路径输出是R’=(1101010001011100),即可变换成序列(11011000),恢复了发端原始信息。
比较R’和R序列,可以看到在译码过程中已纠正了在码序列第1和第7位上的差错。
当然如果差错出现太频繁,以致超出卷积码的纠错能力,还是会发生纠误的。
4 整体设计方案4.1整个设计的结构框图图4.1.1 整体设计结构模块框图可见,本设计由3个子系统组成:信源模块对随机二进制信号进行卷积码和二进制相位调制,输出基带调制信号;信道模块是一个有噪声信道;信宿模块对调制信号进行软判决译码,得到原始信息序列,并且计算调制信号的误码率。
信源模块由贝努利二进制序列产生器、卷积码编码器以及二进制相位调制3个模块组成,如图4.1.2所示图4.1.2 信源模块系统框图各个模块的参数设置分别如下表。
表4.1.1 Bernoulli Binary Generator(贝努利二进制序列产生器)的参数设置表4.1.2 Convolutional Encoder(卷积码编码器)的参数设置表4.1.3 BPSK Modulator Baseband(二进制相位调制模块)的参数设置本设计使用相对较简单的一个加性高斯白噪声信道作为噪声信道,它在二进制相位调制信号中叠加高斯白噪声。
加性高斯白噪声模块的参数设置如表4.1.4。
表4.1.4 AWGN Channel(加性高斯白噪声模块)的参数设置信道模块如下图4.1.3所示。
图4.1.3 信道模块示意图信宿模块在接收到二进制相位调制信号后,首先由BPSK Demodulator Baseband (二进制相位解调模块)对信号进行量化,得到硬判决量化信号,然后通过Viterbi Decoder(维特比译码器)对软判决信号实施译码。
译码输出信号和信源模块产生的原始信号输入到Error Rate Calculator(误比特率统计模块)中,统计得到的数据一方面通过Display(显示模块)显示出来,另一方面通过一个Selector(选择器)把其中的第一个元素(即编码信号的误比特率)保存到工作区变量BitErrorRate中。
信宿模块如下图4.1.4所示。
图4.1.4 信宿模块Sink各关键模块参数设置如表4.1.5、表4.1.6所示。
表4.16 Viterbi Decoder(维特比译码器)的参数设置Array将此完整设计保存,命名为convh.mdl。
4.2简化维特比译码器的仿真为了验证译码模块的正确性,便让其进行最简模式运行,为此,临时设计一个简化信号系统,关闭信道噪声,不进行二进制相位的调制与解调,去掉误比特率统计模块。
为了能看到输入二进制码和译码输出二进制码,增加了两个To Workspace(结果输入到工作区模块),整个系统模块框图如图4.2.1所示。
图4.2.1 简化译码模块框图同时,为了便于观察,将Bernoulli Binary Generator(贝努利二进制序列产生器)的参数设置为如表4.2.1所示,以产生简单的15位二进制随机码,也将Viterbi Decoder的Trceback depth值改为5。
将To Workspace1模块和To Workspace模块的变量名分别设置为pdata和data。
运行仿真,在matlab的命令窗口中输入pdata和data分别得到相应的二进制序列。
对所得序列分别截图,可得如图4.2.2所示结果。
可见,译码器能够正确进行译码,所设计简化译码器正确,因而,从理论上可推导,原设计正确。
图4.2.2 简化译码器仿真结果通过对c onvh.mdl文件进行仿真,证明设计正确,但因所得二进制码太多,此处便不进行截图证明。
5 硬件电路的设计在Matlab软件的Simulink组件库中包含有的两种卷积码译码模块,即后验概率卷积译码器和维特比译码器。
图5.1.1,图5.1.2所示是维特比译码器参数设置对话框和模块,它通过维特比译码还原出二进制信号序列。
图5.1.1 维特比译码器参数设置图5.1.2 维特比译码器模块如果卷积编码器的输入长度为k,输出信号的长度为n,则维特比译码器的输入好输出信号长度分别是n和k的整数倍。
维特比译码器模块主要有以下几个参数:(1)Trellis structure(Trellis结构)与维特比一冒起相对应的卷积编码器的Trellis结构。
它既可以是Matlab工作区中的一个Trellis变量,也可以是通过poly2trellis()函数产生的Trellis结构。
(2)Decision Type(判决类型)维特比译码器德判决类型有3种:Unquantized(非量化)、Hard Decision(硬判决)和Soft Decision(软判决),如表5.1所示。
表5.1维特比译码器的判决类型(3)Number of soft decision bits(软判决的个数)当Decision type设置为Soft Decision时,本参数有效,并且当它的取值为b时,维特比译码器的输出是介于0和2b-1之间的一个整数。
(4)Traceback depth(反馈深度)反馈深度D影响着维特比译码的精度,同时也影响着解码的时延(即在输出第一个解码数据之前输出的0的个数)。
(5)Operation mode(操作模式)维特比译码器有3种操作模式:Continuous、Terminated或Truncated。
如果维特比译码器德输出信号是抽样信号,则应该把本参数设置为Continuous模式;当输入信号时帧数据时,操作模式可以是Continuous、Terminated或Truncated。
对于Continuous模式,维特比译码器在每帧数据结束时保存译码器的内部状态,用于对下一帧实施解码;在Truncated 模式下,解码器在每帧数据结束的时候总能恢复到全零状态,它对应于卷积编码器的On each frame复位方式;Terminated模式适用于卷积编码器的每帧输入信号的末尾有足够多的零,能够把卷积编码器在完成一帧数据的编码之后把内部状态恢复为0。