Matlab的卷积码译码器的仿真要点

合集下载

基于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命令及其参数设置规则

卷积运算的matlab命令及其参数设置规则

卷积运算是数字信号处理和图像处理中常用的一种运算方式,它在图像滤波、特征提取等领域中发挥着重要作用。

在Matlab中,卷积运算可以通过一些内置的函数实现,同时可以通过设置不同的参数来实现不同的卷积操作。

本文将结合实际案例,介绍卷积运算在Matlab 中的常用命令及其参数设置规则。

一、卷积运算的基本概念在数字信号处理和图像处理中,卷积运算是一种重要的数学运算。

它通常用于图像滤波、特征提取等方面。

卷积运算的基本原理是将一个函数与另一个函数的翻转及平移进行积分。

在离散情况下,卷积运算可以用离散的形式来表示如下:\[y[n] = \sum_{k=-\infty}^{\infty} x[k] \cdot h[n-k]\]其中,\(x[k]\)和\(h[n]\)分别代表输入信号和卷积核,\(y[n]\)代表卷积运算的输出结果。

二、Matlab中的卷积运算函数在Matlab中,可以使用conv函数来进行一维和二维的卷积运算。

conv函数的基本语法如下:```y = conv(x, h)```其中,x和h分别代表输入信号和卷积核,y代表卷积运算的输出结果。

这里需要注意的是,x和h的长度必须是有限的,而且二者不能交换位置。

在进行二维卷积运算时,可以使用conv2函数。

conv2函数的基本语法如下:```y = conv2(x, h)```其中,x和h分别代表输入图像和卷积核,y代表二维卷积运算的输出结果。

三、卷积运算参数的设置规则在进行卷积运算时,需要注意一些参数的设置规则,以确保卷积运算的正确性和有效性。

以下是一些常见的参数设置规则:1. 卷积核的选择:卷积核的选择对卷积运算的结果影响很大。

通常情况下,可以根据具体的应用需求来选择合适的卷积核,例如高斯滤波、边缘检测等。

2. 边界处理:在进行卷积运算时,往往需要考虑图像或信号的边界处理。

常见的处理方式包括零填充、边界拓展、周期延拓等。

3. 步长和填充:在进行卷积运算时,可以通过设置步长和填充参数来控制输出结果的大小。

卷积码的编解码Matlab仿真与模拟讲解

卷积码的编解码Matlab仿真与模拟讲解

卷积码的编解码Matlab仿真摘要卷积码是一种性能优越的信道编码。

它的编码器和译码器都比较容易实现,同时它具有较强的纠错能力。

随着纠错编码理论研究的不断深入,卷积码的实际应用越来越广泛。

本文简明地介绍了卷积码的编码原理和译码原理。

并在SIMULINK模块设计中,完成了对卷积码的编码和译码以及误比特统计整个过程的模块仿真。

最后,通过在仿真过程中分别改变卷积码的重要参数来加深理解卷积码的这些参数对卷积码的误码性能的影响。

经过仿真和实测,并对测试结果作了分析。

得出了以下三个结论:(1)当改变卷积码的码率时,系统的误码性能也将随之发生变化。

(2)对于码率一定的卷积码,当约束长度N 发生变化时,系统的误码性能也会随之发生变化。

(3)回溯长度也会不同程度上地影响误码性能。

关键词:卷积码;码率;约束长度;回溯长度目录论文总页数:21页1 引言 (1)1.1 课题背景 (1)1.2 国内外研究现状 (1)1.3 本课题的意义 (1)1.4 本课题的研究方法 (1)2 卷积码的基本概念 (2)2.1 信道 (2)2.2 纠错编码 (2)2.3 卷积码的基本概念 (2)2.4 卷积码编码的概念 (2)2.4.1 卷积编码 (2)2.4.2 卷积码的树状图 (3)2.4.3 卷积码的网格图 (4)2.4.4 卷积码的解析表示 (5)3 卷积码的译码 (6)3.1 卷积码译码的概述 (6)3.2 卷积码的最大似然译码 (6)3.3 VITEBI 译码的关键步骤 (7)3.3.1 输入与同步单元 (7)3.3.2 支路量度计算 (7)3.3.3 路径量度的存储与更新 (7)3.3.4 信息序列的存储与更新 (8)3.3.5 判决与输出单元 (8)4 结论 (9)4.1 卷积码的仿真 (9)4.1.1 SIMULINK仿真模块的参数设置以及重要参数的意义 (9)4.2 改变卷积码的参数仿真以及结论 (12)4.2.1 不同回溯长度对卷积码性能的影响 (12)4.2.2 不同码率对卷积码误码性能的响 (14)4.2.3 不同约束长度对卷积码的误码性能影响 (15)结论 (17)参考文献 (18)致谢.................................................... 错误!未定义书签。

卷积码编码和维特比译码的原理、性能与仿真分析

卷积码编码和维特比译码的原理、性能与仿真分析

卷积码编码和维特比译码的原理、性能与仿真分析1.引言卷积码的编码器是由一个有k位输入、n位输出,且具有m位移位寄存器构成的有限状态的有记忆系统,通常称它为时序网络。

编码器的整体约束长度为v,是所有k个移位寄存器的长度之和。

具有这样的编码器的卷积码称作[n,k,v]卷积码。

对于一个(n,1,v)编码器,约束长度v等于存储级数m.卷积码是由k个信息比特编码成n(n>k)比特的码组,编码出的n比特码组值不仅与当前码字中的k个信息比特值有关,而且与其前面v个码组中的v*k个信息比特值有关。

卷积码有三种译码方式:序列译码、门限译码和概率译码。

其中,概率译码根据最大似然译码原理在所有可能路径中求取与接收路径最相似的一条路径,具有最佳的纠错性能,维特比译码是概率译码中极重要的一种方式。

序列译码和门限译码则不一定能找出与接收路径最相似的一条路径。

不同于维特比译码,门限译码与序列译码所需的计算量是可变的且对于给定信息分组的最终判决仅仅基于(m+1)个接收分组,而不是基于整个接收序列。

与维特比译码所使用的对数似然量度不同,序列译码所使用的量度为Fano量度。

在接收序列受扰严重的情况下,序列译码的计算量大于维特比译码所需的固定计算量,虽然序列译码要求的平均计算次数通常小于维特比译码。

在采用并行处理的情况下,维特比译码的速度会优于序列译码。

在同样码率和存储级数的条件下,门限译码的性能比维特比译码低大约3dB.维特比译码的数据输出方式有硬判决及软判决两种方式,本文选取生成多项式为561,753的(2,1,8)卷积码对硬判决的性能进行分析,并依据维特比译码的原理以及卷积码的特性,对卷积码编码和维特比译码过程在加性高斯白噪声(AWGN)信道下进行仿真,并且根据仿真结果对维特比译码(硬判决)的结果进行分析。

由于卷积码的生成可以看做一个马尔科夫过程,因此,不同状态间的转移概率对描述这个过程有极关键的作用。

本文则基于MATLAB对不同状态间的转移概率进行求解,从而更准确地分析维特比译码的性能。

matlab(n,k,m)卷积码原理及仿真

matlab(n,k,m)卷积码原理及仿真

matlab(n,k,m)卷积码原理及仿真====================卷积码是一种重要的纠错码,它在通信系统中扮演着重要的角色。

特别是在高噪环境下,卷积码具有较好的性能表现,因此被广泛用于卫星通信、光纤通信等领域。

本文将介绍Matlab中实现(n,k,m)卷积码的基本原理以及仿真过程。

一、卷积码原理-------卷积码是一种非线性编码技术,它通过将信息序列与多个冗余序列进行卷积运算,生成新的编码序列。

卷积码具有较高的编码增益,同时具有较低的编码复杂度。

在(n,k,m)卷积码中,n表示编码长度,k 表示信息比特数,m表示每个码字所包含的冗余比特数。

二、Matlab仿真环境---------Matlab是一种强大的数学计算和仿真软件,它提供了丰富的工具和函数库,可以方便地实现各种数字通信系统。

在Matlab中,我们可以利用卷积码工具箱实现(n,k,m)卷积码的编码、译码和仿真。

三、仿真步骤------1.定义系统参数:包括信息比特数k、编码长度n、冗余比特数m 等。

2.生成随机信息序列:在Matlab中,可以使用rand函数生成随机比特序列作为信息序列。

3.编码:使用卷积码工具箱中的函数实现编码过程,生成冗余比特序列。

4.添加噪声:在通信系统中,噪声是不可避免的。

为了模拟高噪环境,可以在编码后的数据上添加高斯噪声。

5.译码:使用卷积码工具箱中的函数实现译码过程,恢复原始信息序列。

6.仿真结果分析:通过比较译码结果和原始信息序列,可以评估卷积码的性能。

四、示例代码------以下是一个简单的Matlab代码示例,用于实现(7,4,3)卷积码的编码、译码和仿真:```matlab%定义系统参数k=4;%信息比特数n=7;%编码长度m=3;%冗余比特数data=randi([0k-1],n,1);%生成随机信息序列noise=sqrt(0.1)*data+sqrt(0.9)*(randn(n,1));%添加高斯噪声con_code=codegen(k,m);%编码encoded=conv_mat(data',con_code');%卷积码矩阵表示法decoded=indelcod(con_code);%译码%比较译码结果和原始信息序列ifall(decoded==data)disp('译码成功!')elsedisp('译码失败!')end```五、总结----Matlab作为一种强大的数学计算和仿真软件,提供了丰富的工具和函数库,可以方便地实现各种数字通信系统。

卷积码编译码matlab仿真

卷积码编译码matlab仿真

一、概述卷积码是一种常用的编码技术,用于提高数字通信系统的可靠性和抗干扰能力。

而编码的解码过程则需要运用编译码技术,以恢复原始数据。

Matlab作为一种强大的工程仿真软件,可以用来对卷积码编译码进行仿真分析,帮助工程师们更好地理解和优化卷积码系统,提高通信系统的性能。

二、卷积码原理1. 卷积码的概念卷积码是一种线性块码,它采用移位寄存器和模2加法器进行编码,通过引入冗余比特来提高信号的可靠性。

卷积码的编码过程可以简单描述为:将输入信息数据与特定的生成多项式进行卷积运算,得到编码后的输出数据。

2. 卷积码的特点卷积码具有较高的编码效率和能够很好地控制码长、纠错能力等特性,因此在实际通信系统中得到广泛应用。

三、编译码原理1. Viterbi算法卷积码的译码过程通常采用Viterbi算法,它是一种最大似然译码算法,通过计算最小距离路径的方式来进行译码。

Viterbi算法能够有效地对卷积码进行解码,提高译码的准确性。

2. 编译码的实现在Matlab中,编译码的实现通常是通过编写一定的程序来模拟Viterbi算法的译码过程。

通过仿真分析,可以评估不同的编码方案对通信系统性能的影响。

四、Matlab仿真环境1. Matlab的特点Matlab作为一种强大的仿真软件,具有丰富的工具和函数库,能够方便地进行数字通信系统设计与仿真分析。

Matlab提供了直观的图形界面和强大的数据处理能力,可用于展示仿真结果和进行数据分析。

2. 使用Matlab进行卷积码编译码仿真在Matlab环境中,可以编写程序来实现卷积码的编码和Viterbi算法的译码过程。

通过调用Matlab中的工具函数和绘图函数,可以直观地展示通信系统的性能指标,并对比不同编码方式的性能差异。

五、仿真实例分析1. 卷积码编码仿真我们可以编写Matlab程序,实现对卷积码的编码过程。

通过模拟不同的编码率和约束长度,可以观察到编码后的效果,并评估编码的性能。

卷积码编译码的Matlab仿真及其性能研究

卷积码编译码的Matlab仿真及其性能研究

卷积码编译码的Matlab仿真及其性能研究作者:吴亚婷来源:《电脑知识与技术》2010年第04期摘要:提出了一种(2,1,7)卷积编码及其维特比(Viterbi)译码的软件实现方案,在Matlab环境中应用软件技术实现了(2,1,7)卷积码的Viterbi译码器功能。

测试证明,该Viterbi译码算法在低信噪比下的误码率仍能达到10-6。

关键词:卷积编码;维特比译码;Matlab中图分类号:TP314文献标识码:A文章编号:1009-3044(2010)04-0878-02The Simulation and Capability Study of Convolutional Code Encoding and DecodingWU Ya-ting(School of Computer Science and Information, Guizhou University, Guiyang 550025, China)Abstract: A software scheme of (2,1,7) convolutional coding and Viterbi decoding technology is presented,which implements Viterbi decoder function of (2,1,7) convolutional code in theMatlab.According to the test,the BER(Bit Error Rate)of Viterbi algorithm can still reach 10-6 in the low SNR( Signal-to-Noise Ratio).Key words: convolutional coding; viterbi decoding; matlab卷积码是由Elias于1955年提出的。

卷积码在编码过程中,将一个码组中r个监督码与信息元的相关性从本码组扩展到以前若干段时刻的码组,在译码时不仅从此时刻收到的码组中提取译码信息,而且还可从与监督码相关的各码组中提取有用的译码信息。

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实现卷积码编译码-要点

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摘要在数字通信系统中,通常采用差错控制编码来提高系统的可靠性。

卷积码的编译码原理和仿真 论文

卷积码的编译码原理和仿真 论文

卷积码的编译原理及仿真摘 要 本课程设计主要解决对一个卷积码序列进行维特比(Viterbi)译码输出,并通过Matlab 软件进行设计与仿真,并进行误码率分析。

实验原理QPSK :QPSK 是英文QuadraturePhaseShiftKeying 的缩略语简称,意为正交相移键控,是一种数字调制方式。

四相相移键控信号简称“QPSK ”。

它分为绝对相移和相对相移两种。

卷积码:又称连环码,是由伊莱亚斯(P.elias)于1955年提出来的一种非分组码。

积码将k 个信息比特编成n 个比特,但k 和n 通常很小,特别适合以串行形式进行传输,时延小。

卷积码是在一个滑动的数据比特序列上进行模2和操作,从而生成一个比特码流。

卷积码和分组码的根本区别在于,它不是把信息序列分组后再进行单独编码,而是由连续输入的信息序列得到连续输出的已编码序列。

卷积码具有误码纠错的能力,首先被引入卫星和太空的通信中。

NASA 标准(2,1,6)卷积码生成多项式为:346134562()1()1g D D D D Dg D D D D D=++++=++++ 其卷积编码器为:输入序列++输出c1输出c2图1.1 K=7,码率为1/2的卷积码编码器维特比译码:采用概率译码的基本思想是:把已接收序列与所有可能的发送序列做比较,选择其中码距最小的一个序列作为发送序列。

如果接收到L 组信息比特,每个符号包括v 个比特。

接收到的Lv 比特序列与2L 条路径进行比较,汉明距离最近的那一条路径被选择为最有可能被传输的路劲。

当L 较大时,使得译码器难以实现。

维特比算法则对上述概率译码做了简化,以至成为了一种实用化的概率算法。

它并不是在网格图上一次比较所有可能的2kL 条路径(序列),而是接收一段,计算和比较一段,选择一段最大似然可能的码段,从而达到整个码序列是一个最大似然值得序列。

下面以图2.1的(2,1,3)卷积码编码器所编出的码为例,来说明维特比解码的方法和运作过程。

卷积码实验报告

卷积码实验报告

现代编码理论基于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编码与译码的设计与仿真

基于MATLAB的CRC编码与译码的设计与仿真

摘要通信是信息远距离的传送,是人类生产和生活的主要支撑。

通信的目的是要把信息及时可靠地传送给对方,在数据通信过程中,衰损、失真、和噪声会使通信线路上的信号发生错误。

差错控制可以减少错误、提高通信质量,可以改善传输信道的电气特性,使误码率达到要求。

CRC(Cyclical Redundancy Checking)循环冗余校验码是一种重要的线性分组码,通过多项式除法检测错误,是在数据通信和数据检测中广泛应用的检错校验的循环码。

本设计研究了CRC循环冗余校验码的原理,以及利用C语言对其进行了编程和编译仿真,实现了CRC循环冗余校验码的编码及校验,在接收端收到通过校验的码,从而确定传输过程是否出错,得到的结论和理论上是一致的。

关键词:检错码;CRC循环冗余校验码;C语言前言随着科学技术的进步, 人们对信息传递的要求逐渐提高。

但在通信系统中, 可靠性与有效性是对矛盾, 要求有效性提高, 必然使每个码元所占的时间缩短, 从而受干扰和产生错误的可能性增大, 可靠性降低了; 要提高信息的可靠性,又使信息速率变慢有效性降低。

在实际信道上传输数字信号时,由于信道传输特性不理想及加性噪声的影响,所收到的数字信号不可避免的会发生错误。

为了加强通信系统的可靠性,除了合理设计基带信号,选择调制、解调方式,采用频域均衡、时域均衡之外,还需要采用信道编码,即差错控制编码,使误码率进一步降低,来满足指标要求。

循环冗余校验码CRC(Cyclical Redundancy Checking)是目前通信系统中最常用的一种差错控制编码。

循环冗余校验码是一种高效率且可靠的方法, 由线性分组码分支而来的, 是一种通过多项式除法检测错误的很不寻常而又巧妙的方法, 一方面它有很强的检测能力, 二是它的编码器电路及错误检测器电路都很容易实现, 它的优点使它在通信系统中得到了广泛的应用。

利用CRC进行检错的过程可简单描述为:在发送端根据要传送的二进制码序列,以一定的规则产生一个校验用的监督码(CRC码),附在原始信息后边,构成一个新的二进制码序列数,然后发送出去。

MATLAB实现卷积码编译码

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的卷积码编译器设计

基于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的卷积码编译器设计仿真引言由于数字信号在传输过程中受到干扰的影响。

34卷积码编码原理分析与建模仿真

34卷积码编码原理分析与建模仿真

3/4卷积码编码原理分析与建模仿真一、摘要卷积码是一种性能优越的信道编码。

它的编码器和译码器都比较容易实现,同时它具有较强的纠错能力。

随着纠错编码理论研究的不断深入,卷积码的实际应用越来越广泛。

本文简明地介绍了卷积码的编码原理和Viterbi译码原理。

并在SIMULINK模块设计中,完成了对卷积码的编码和译码以及误比特统计整个过程的模块仿真。

最后,通过在仿真过程中分析了卷积码误比特率与信噪比之间的关系,及卷积码与非卷积码的对比。

经过仿真和实测,并对测试结果作了分析。

关键词:卷积码编码建模 SIMULINK仿真目录一、摘要 ................................................................................................................................................................. - 1 -二、设计目的和意义 ............................................................................................................................................. - 2 -三、设计原理 ......................................................................................................................................................... - 3 -3.1 卷积码基本概念 ...................................................................................................................................... - 3 -3.2 卷积码的结构 .......................................................................................................................................... - 3 -3.3 卷积码的解析表示 .................................................................................................................................. - 4 -3.4 卷积码的译码 .......................................................................................................................................... - 4 -3.4.1 卷积码译码的方式........................................................................................................................ - 4 -3.5.2 卷积码的Viterbi译码 .................................................................................................................. - 5 -四、详细设计步骤 ................................................................................................................................................. - 6 -4.1 卷积码的仿真 .......................................................................................................................................... - 6 -4.1.1 SIMULINK仿真模块的参数设置及意义 ................................................................................. - 6 -五、设计结果及分析 ........................................................................................................................................... - 11 -5.1不同信噪比对卷积码的影响.................................................................................................................. - 11 -5.2卷积码的对比 ........................................................................................................................................ - 12 -六、总结 ............................................................................................................................................................... - 14 -七、体会 ............................................................................................................................................................... - 14 -八、参考文献 ....................................................................................................................................................... - 14 -二、设计目的和意义因为信道中信号不可避免会受到干扰而出错。

MATLAB实现卷积码编译码要点总结计划

MATLAB实现卷积码编译码要点总结计划

本科生毕业论文(设计)题目:MATLAB 实现卷积码编译码专业代码:作者姓名:学号:单位:指导教师:年代日聊城大学本科毕业论文(设计)目录序言-----------------------------------------------------11 .纠错码基本理论----------------------------------------2纠错码基本理论-----------------------------------------------2纠错码观点-------------------------------------------------2基来源理和性能参数-----------------------------------------2几种常用的纠错码---------------------------------------------62 .卷积码的基本理论--------------------------------------8卷积码介绍---------------------------------------------------8卷积码的差错控制原理-----------------------------------8卷积码编码原理----------------------------------------------10卷积码分析表示法--------------------------------------10卷积码图形表示法--------------------------------------11卷积码译码原理----------------------------------------------15卷积码三种译码方式------------------------------------15V ITERBI译码原理----------------------------------------163.卷积码编译码及MATLAB仿真----------------------------18M概括--------------------------------------------------18ATLABM ATLAB的特色------------------------------------------19M工具箱和内容------------------------------------19ATLAB卷积码编码及仿真--------------------------------------------20编码程序----------------------------------------------20信道传输过程仿真--------------------------------------------21维特比译码程序及仿真----------------------------------------22维特比译码算法分析------------------------------------23V ITERBI译码程序---------------------------------------25VITERBI 译码仿真-----------------------------------28 MATLAB信噪比对卷积码译码性能的影响--------------------------282聊城大学本科毕业论文(设计)码率对卷积码译码性能的影响----------------------------30拘束长度对卷积码误码性能的影响------------------------31回溯长度对卷积码误码性能的影响------------------------32裁决方式对卷积码误码性能的影响------------------------324.结论及展望------------------------------------------34结论--------------------------------------------------------34展望--------------------------------------------------------355.结束语-----------------------------------------------36参照文件------------------------------------------------37道谢----------------------------------------------------38附录----------------------------------------------------393聊城大学本科毕业论文(设计)纲要在数字通讯系统中,往常采纳差错控制编码来提升系统的靠谱性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于Matlab的卷积码译码器的设计与仿真学生姓名:指导老师:**摘要本课程设计主要解决对一个卷积码序列进行维特比(Viterbi)译码输出,并通过Matlab软件进行设计与仿真,并进行误码率分析。

在课程设计中,系统开发平台为Windows Vista Ultimate,程序设计与仿真均采用Matlab R2007a(7.4),最后仿真详单与理论分析一致。

关键词课程设计;卷积码译码器;Matlab;Simulink;设计与仿真1引言本课程设计主要解决对一个卷积码序列进行维特比(Viterbi)译码输出,并通过Matlab软件进行设计与仿真。

卷积码的译码有两种方法——软判决和硬判决,此课程设计采用硬判决的维特比译码。

1.1课程设计目的卷积码是一种向前纠错控制编码。

它将连续的信息比特序列映射为连续的编码器输出符号。

这种映射是高度结构化的,使得卷积码的译码方法与分组码译码所采用的方法完全不同。

可以验证的是在同样复杂度情况下,卷积码的编码增益要大于分组码的编码增益。

对于某个特定的应用,采用分组编码还是采用卷积编码哪一种更好则取决于这一应用的具体情况和进行比较时可用的技术[1]。

本课程设计便是通过Matlab设计一个硬判决维特比译码输出的完整电路,并进行误码率分析。

1.2 课程设计的原理卷积码,又称连环码,是由伊莱亚斯(P.elias)于1955年提出来的一种非分组码。

卷积编码的最佳译码准则为:在给定已知编码结构、信道特性和接收序列的情况下,译码器将把与已经发送的序列最相似的序列作为传送的码字序列的估值。

对于二进制对称信道,最相似传送序列就是在汉明距离上与接收序列最近的序列。

卷积码的译码方法有两大类:一类是大数逻辑译码,又称门限译码(硬判决,编者注);另一种是概率译码(软判决,编者注),概率译码又分为维特比译码和序列译码两种。

门限译码方法是以分组码理论为基础的,其译码设备简单,速度快,但其误码性能要比概率译码法差[2]。

当卷积码的约束长度不太大时,与序列译码相比,维特比译码器比较简单,计算速度快。

维特比译码算法是1967年由Viterbi提出,近年来有大的发展。

目前在数字通信的前向纠错系统中用的较多,而且在卫星深空通信中应用更多,该算法在卫星通信中已被采用作为标准技术。

2维特比译码原理采用概率译码的基本思想是:把已接收序列与所有可能的发送序列做比较,选择其中码距最小的一个序列作为发送序列。

如果发送L组信息比特,那么对于(n,k)卷积码来说,可能发送的序列有2kL个,计算机或译码器需存储这些序列并进行比较,以找到码距最小的那个序列。

当传信率和信息组数L较大时,使得译码器难以实现。

维特比算法则对上述概率译码做了简化,以至成为了一种实用化的概率算法。

它并不是在网格图上一次比较所有可能的2kL条路径(序列),而是接收一段,计算和比较一段,选择一段最大似然可能的码段,从而达到整个码序列是一个最大似然值得序列。

下面以图2.1的(2,1,3)卷积码编码器所编出的码为例,来说明维特比解码的方法和运作过程。

为了能说明解码过程,这里给出该码的状态图,如图2.2所示。

维特比译码需要利用图来说明移码过程。

根据卷积码画网格的方法,我们可以画出该码的网格图,如图2.3所示。

该图设输入信息数目L=5,所以画L+N=8个时间单位,图中分别标以0至7。

这里设编码器从a 状态开始运作。

该网格图的每一条路径都对应着不同的输入信息序列。

由于所有可能输入信息序列共有2kL 个,因而网格图中所有可能的路径也为2kL 条。

这里节点a=00,b=01,c=10,d=11。

设输入编码器的信息序列为(11011000),则由编码器对应输出的序列为Y=(1101010001011100),编码器的状态转移路线为abdcbdca 。

若收到的序列R=(0101011001011100),对照网格图来说明维特比译码的方法。

由于该卷积码的约束长度为6位,因此先选择接收序列的前6位序列R 1=(010101)同到达第3时刻的可能的8个码序列(即8条路径)进行比较,并计算出码距。

该例中到达第3时刻a 点的路径序列是(000000)和(111011),他们与R 1ba bc d节点号1234567图2.1 (2,1,3)卷积码编码器图2.2 (2,1,3)卷积码状态图图2.3 (2,1,3)卷积码网格图的距离分别为3和4;到达第3时刻b 点的路径序列是(000011)和(111000),他们与R 1的距离分别为3和4;到达第3时刻c 点的路径序列是(001110)和(110101),他们与R 1的距离分别为4和1;到达第3时刻d 点的路径序列是(001101)和(110110),他们与R 1的距离分别为2和3。

上述每个节点都保留码距较小的路径作为幸存路径,所以幸存路径码序列是(000000)、(000011)、(1101001)和(001101),如图2.4所示。

用于上面类似的方法可以得到第4、5、6、7时刻的幸存路径。

需要指出的是,对于某个节点,如果比较两条路径与接收序列的累计码距值相等时,则可以任意选者一条路径作为幸存路径,吃时不会影响最终的译码结果。

在码的终了时刻a 状态,得到一条幸存路径。

如果2.5所示。

由此可看到译码器a b c d节点号123a b c d节点号1234567 8图2.4 维特比译码第3时刻幸存路径图2.5 第8时刻幸存路径输出是R’=(1101010001011100),即可变换成序列(11011000),恢复了发端原始信息。

比较R’和R序列,可以看到在译码过程中已纠正了在码序列第1和第7位上的差错。

当然如果差错出现太频繁,以致超出卷积码的纠错能力,还是会发生纠误的。

3 Matlab中卷积码译码器的设计与仿真3.1 Matlab维特比译码器模块介绍在Matlab软件的Simulink组件库中包含有的两种卷积码译码模块,即后验概率卷积译码器和维特比译码器。

图3.1,图3.2所示是维特比译码器参数设置对话框和模块,它通过维特比译码还原出二进制信号序列。

图3.1 维特比译码器参数设置图3.2 维特比译码器模块如果卷积编码器的输入长度为k,输出信号的长度为n,则维特比译码器的输入好输出信号长度分别是n和k的整数倍。

维特比译码器模块主要有以下几个参数:(1)Trellis structure(Trellis结构)与维特比一冒起相对应的卷积编码器的Trellis结构。

它既可以是Matlab工作区中的一个Trellis变量,也可以是通过poly2trellis()函数产生的Trellis结构。

(2)Decision Type(判决类型)维特比译码器德判决类型有3种:Unquantized(非量化)、Hard Decision(硬判决)和Soft Decision(软判决),如表3.1所示。

表3.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。

(6)Enable rest input port(启用复位信号端口)当Operation mode参数设置为Continuous并且选中了本选项前面的复选框之后,维特比译码器增加一个输出信号端口Rst。

同时当Rst的输入信号不等于0时,维特比译码器复位到初始状态。

[3]3.2 Matlab中卷积码维特比译码器的设计整个设计的结构框图如图3.3信源模块信宿模块图3.3 整体设计结构模块框图可见,本设计由3个子系统组成:信源模块对随机二进制信号进行卷积码和二进制相位调制,输出基带调制信号;信道模块是一个有噪声信道;信宿模块对调制信号进行软判决译码,得到原始信息序列,并且计算调制信号的误码率。

信源模块由贝努利二进制序列产生器、卷积码编码器以及二进制相位调制3个模块组成,如图3.4所示图3.4信源模块系统框图各个模块的参数设置分别如表3.2~表3.4所示。

表3.3 Convolutional Encoder(卷积码编码器)的参数设置表3.4 BPSK Modulator Baseband(二进制相位调制模块)的参数设置本设计使用相对较简单的一个加性高斯白噪声信道作为噪声信道,它在二进制相位调制信号中叠加高斯白噪声。

加性高斯白噪声模块的参数设置如表3.5。

表3.5 AWGN Channel(加性高斯白噪声模块)的参数设置信道模块如下图3.6所示。

图3.6信道模块示意图信宿模块在接收到二进制相位调制信号后,首先由BPSK Demodulator Baseband (二进制相位解调模块)对信号进行量化,得到硬判决量化信号,然后通过Viterbi Decoder(维特比译码器)对软判决信号实施译码。

译码输出信号和信源模块产生的原始信号输入到Error Rate Calculator(误比特率统计模块)中,统计得到的数据一方面通过Display(显示模块)显示出来,另一方面通过一个Selector(选择器)把其中的第一个元素(即编码信号的误比特率)保存到工作区变量BitErrorRate中。

信宿模块如下图3.7所示。

图3.7信宿模块Sink各关键模块参数设置如表3.7、表3.8所示。

表3.7 BPSK Demodulator Baseband(二进制相位解调模块)的参数设置Array表3.7 Viterbi Decoder(维特比译码器)的参数设置将此完整设计保存,命名为convh.mdl。

3.3简化维特比译码器的仿真为了验证译码模块的正确性,便让其进行最简模式运行,为此,临时设计一个简化信号系统,关闭信道噪声,不进行二进制相位的调制与解调,去掉误比特率统计模块。

相关文档
最新文档