卷积码,循环码差错控制仿真

卷积码,循环码差错控制仿真
卷积码,循环码差错控制仿真

移动通信方向课程设计

卷积码差错控制系统仿真

学生姓名

学号

所在学院通信工程学院

专业名称移动通信

班级移动通信方向2班

指导教师

成绩

二○一五年五月

课程设计任务书

卷积码差错控制系统的仿真

内容摘要:卷积码(Convolution code)是由伊利亚斯(p.Elias)发明的一种非分组码。在前向纠错系统中,卷积码在实际应用中的性能优于分组码,并且运算较简单。维特比译码算法基本原理是:将接收到的信号序列和所有可能的发送信号序列比较,选择其中汉明距离最小的序列认为是当前发送序列。

关键词:卷积码维特比译码算法

Convolution code error control system simulation Abstract:Convolution code (convolutional code) is by ilias (p.E lias) invented a kind of block code. In the forward error correction system, convolution code in the actual application performance is better than that of block codes, and the operation is relatively simple.

Viterbi decoding algorithm basic principle is: will the received signal sequence and all possible signal sequence comparison, choose the hamming distance is the smallest sequence that currently sending sequence. Keywords:Convolution code Viterbi decoding algorithm

目录

1前言 (1)

1.1题目 (1)

1.2课程设计的目的 (1)

1.3课程设计的主要内容和要求 (1)

1.3.1课程设计的主要内容: (1)

1.3.2课程设计的要求: (1)

2课程设计原理 (1)

2.1卷积码的定义 (1)

2.2卷积码的编码原理 (2)

2.3卷积码的译码过程 (2)

2.4维特比译码 (2)

2.4.1维特比译码原理 (2)

2.4.2维特比译码过程 (3)

3仿真过程 (5)

3.1仿真模拟框图 (5)

3.2各部件的配置 (6)

4系统运行代码 (12)

4.1系统运行源代码 (12)

5结束语 (13)

参考文献 (14)

卷积码差错控制系统的仿真

1前言

1.1题目

卷积码差错控制系统的仿真

1.2课程设计的目的

移动通信也是一门实践性非常强的课程,实验教学在整个课程的教学中占据了非常重要的地位。在学生学习了现代通信原理、数字信号处理(DSP技术)等课程后,学生已经具有了一定的理论基础和实验技能,在此基础上本实验课程开设的主要作用和目的在于:

(a)帮助学生更好地理解移动通信系统,掌握各种移动通信系统的模型

(b)帮助学生熟悉常用的通信系统仿真平台,学习仿真模型的设计,掌握通信系统的仿真方法,学会利用仿真软件对系统性能进行评价;

1.3课程设计的主要内容和要求

1.3.1课程设计的主要内容:

(a)系统包括信源部分、信道部分和信宿部分。

(b)信源部分的数据源是随机的二进制序列,随机的二进制序列要经过卷积编码,经过编码的数据要进行调制。(子系统实现)

(c)信道部分对调制后的信号进行加噪。

(d)信宿部分完成信号的解调和译码(维特比译码)。(子系统实现)

(e)对不同编码式、不同信噪比下维特比译码的误比特率并画出图形。

1.3.2课程设计的要求:

(a)要有详细的设计过程。即整个系统的仿真设计的选择,功能模块的设计过程和参数的选择,程序的调试过程等。

(b)整个系统模型的仿真、调试结果。

2课程设计原理

2.1卷积码的定义

卷积码(convolutional code)是由伊利亚斯(p.Elias)发明的一种非分组码。在前

向纠错系统中,卷积码在实际应用中的性能优于分组码,并且运算较简单。

2.2卷积码的编码原理

卷积码在编码时将k比特的信息段编成n个比特的码组,监督码元不仅和当前的k比特信息段有关,而且还同前面m=(N-1)个信息段有关。通常将N称为编码约束长度,将nN称为编码约束长度。一般来说,卷积码中k和n的值是比较小的整数。将卷积码记作(n,k,N)。

2.3卷积码的译码过程

代数解码:利用编码本身的代数结构进行解码,不考虑信道的统计特性。大数逻辑解码,又称门限解码,是卷积码代数解码的最主要一种方法,它也可以应用于循环码的解码。大数逻辑解码对于约束长度较短的卷积码最为有效,而且设备较简单。

概率解码:又称最大似然解码。它基于信道的统计特性和卷积码的特点进行计算。针对无记忆信道提出的序贯解码就是概率解码方法之一。另一种概率解码方法是维特比算法。当码的约束长度较短时,它比序贯解码算法的效率更高、速度更快,目前得到广泛的应用。

2.4维特比译码

2.4.1维特比译码原理

维特比译码算法基本原理是:将接收到的信号序列和所有可能的发送信号序列比较,选择其中汉明距离最小的序列认为是当前发送序列。

从时间单元j=m开始,计算进入每个状态的路径的汉明距离。存储每个状态的路径(即幸存路径)以及最小汉明距离。这里存储的路径通常是该状态所对应的幸存路径上的前一状态值。

j增加1。计算进入每一个状态所有路径的汉明距离。这个汉明距离是进入该状态的分支度量加上在与该分支相连的前一步的幸存路径的度量值。对于每个状态,共有k2个这样的度量值,从中选出并存储最优路径(汉明距离最小的路径)并保存最小汉明距离。

如果j

2.4.2维特比译码过程

维特比译码的前提是建立合适的网格图,以便寻找最优路径。或者可以认为,维特比译码的关键是寻找最优路径。在实际的译码操作过程中,怎样建立网格以及建立网格后的路径的选择是译码的关键问题。如所示,图2-1为(2,1,4)码的状态转移图,图2-2为(2,1,4)码的网格图。

注意:由于D1D2D3表示的顺序不同,所产生的网格图和状态转移图也不同,并且译码过程是根据网格图实现,所以本文所以涉及的维特比译码方法具有一定的特殊性,但是整体过程还是具有研究价值。

图2-1 (2,1,4)码的网格图

根据图2-2所示的(2,1,4)码的网格图,可以发现D1D2D3决定了从000—111的8个状态。并且进一步观察网格图可以发现从状态000-011是由输入的信息位0产生,从状态100-111是由输入的信息位1产生。此外,以001状态为例,可以看出状态001是由状态010和状态011产生。由上面可知,假设当前状态为i,那么在前一时刻中,产生状态i的两个状态是2*i和2*i+1。根据i是否小于4,来判断状态i是由信息位0还是信息位1生成。进一步可以推知指向状态i的前一时刻的两个状态生成的码组,这样便于以判断汉明距离。

图2-2 最优路径图

网格图建立之后,根据接收码组和网格图中生成的码组比较,判断最优路径。假设某一时刻的状态i,首先判断前一时刻所有状态中,是哪两个状态指向当前状态i;其次,根据这两个指向当前状态i的状态生成的码组和前一时刻接收的码组比较,保留汉明距离最小的那条路径以及到达状态i时的最小汉明距离。下一时刻,同样操作,但是保留的最小汉明距离是前面最小汉明距离累加。

在所有的接收码组处理完之后,会得到一组汉明距离以及所对应的最优路径。比较选择出最小的汉明距离,那么该最小汉明距离所对应的路径即为最优路径。

如图2-2所示,其中红线表示计算得到的最优路径。观察其变化规律,可以发现,假设i时刻的状态和第(i+1)时刻比较得知,若第(i+1)时刻小于第i时刻,那么对应代表实际信息中0;若大于,则为1。然后逐次比较译出信息值。

3仿真过程

3.1仿真模拟框图

图3-1 总电路框图

说明:信源模块对随机二进制信号进行卷积码和二进制相位调制,输出基带调制信号;信道模块是一个有噪声信道;信宿模块对调制信号进行软判决译码,得到原始信息序列,并且计算调制信号的误码率。

图3-2 信源模块电路框图

图3-3 信宿模块电路框图

3.2各部件的配置

3.2.1Bernoulli Binary Generator伯努利发生器(贝努利二进制序列产生器)的参数设置

图3-4 伯努利发生器参数设置

3.2.2Convolutional Encoder(卷积码编码器)的参数设置

图3-5 卷积码编码器参数设置

3.2.3BPSK Modulator Baseband(二进制相位调制模块)的参数设置

图3-6 二进制相位调制模块参数设置

3.2.4AWGN Channel(加性高斯白噪声模块)的参数设置

图3-7 加性高斯白噪声模块参数设置

3.2.5BPSK Demodulator Baseband(二进制相位解调模块)的参数设置

图3-8 二进制相位解调模块参数设置

3.2.6Viterbi Decoder(维特比译码器)的参数设置

图3-9 维特比译码器参数设置

3.2.7Error Rate Calculation(误码率发生器)的参数设置

图3-10 误码率发生器参数设置

3.2.8Display(显示输出模块)的参数设置

图3-11 显示输出模块参数设置

3.2.9Selector(选择模块)的参数设置

图3-12 Selector(选择模块)的参数设置

3.2.10To Workspace(工作空间模块)的参数设置

图3-13 To Workspace参数设置

4系统运行代码

1.1系统运行源代码

x=-10:5;

% y表示信号的误比特率,它的长度与x相同

y=x;

%准备一空白图形

hold off;

%定义不同卷及方式时的Trellis结构

A=[poly2trellis(9,[557 663 711]),poly2trellis(7,[171 133])];

%不同卷积方式、信噪比情况下重复运行untitledl,检验不同条件下硬判决译码的性能for j=1:2

%卷积方式分别取1/3卷积和1/2卷积

STRUCTURE=A(j);

%新到的信噪比依次取x中的元素

for i=1:length(x)

SNR=x(i);

%运行仿真程序,误比特率保持在工作区变量BitErrorRate中

sim('untitled');

%计算BitErrorRate的均值作为本次仿真的误比特率

y(i)=mean(xl);

end

%绘制x和y的关系曲线图,纵坐标采用对数坐标

semilogy(x,y);

hold on;

end

grid on;

5结束语

执行上述文件,得到的关系曲线图,随着信道信噪比的提升,维特比译码所得结果的误比特率越低,信道的可信度越高,信道的误码率开始明显降低。

图4-1 误码率

参考文献

[1] 邓华:MATLAB通信仿真及应用实例详解,人民邮电出版社 ,2004 ,P75-P87,

P110-P125

[2] 张威编:MATLAB基础与编程入门,西安电子科技大学出版社,2008,P10-P25

[3] 邓华:Matlab通信仿真及应用实例详解,北京人民邮电出版社,2003,P76-P89

[4] 李贺冰:SIMULINK通信仿真教程,国防工业出版社,2006,P75-P87

[5] 孙祥,徐流美,吴清:Matlab7.0基础教程,北京清华大学出版社 2005,

P110-P120

差错控制编码

第九章差错控制编码 9.1引言 一、信源编码与信道编码 数字通信中,根据不同的目的,编码分为信源编码与信道编码二大类。 信源编码~ 提高数字信号的有效性,如,PCM编码,M 编码,图象数据压缩编码等。 信道编码~ 提高传输的可靠性,又称抗干扰编码,纠错编码。 由于数字通信传输过程中,受到干扰,乘性干扰引起的码间干扰,可用均衡办法解决。 加性干扰解决的办法有:选择调制解码,提高发射功率。 如果上述措施难以满足要求,则要考虑本章讨论的信道编码技术,对误码(可能或已经出现)进行差错控制。 从差错控制角度看:信道分三类:(信道编码技术) ①随机信道:由加性白噪声引起的误码,错码是随机的,错码间统计独立。 ②突发信道:错码成串,由脉冲噪声干扰引起。 ③混合信道:既存在随机错误,又存在突发错码,那一种都不能忽略不计的信道。 信道编码(差错控制编码)是使不带规律性的原始数字信号,带上规律性(或加强规律性,或规律性不强)的数字信号,信道译码器则利用这些规律性来鉴别是否发生错误,或进而纠错。 需要说明的是信道编码是用增加数码,增加冗余来提高抗干扰能力。二:差错控制的工作方式 (1) 检错重发 (2) 前向纠错,不要反向信道 (3) 反馈校验法,双向信道 这三种差错控制的工作方式见下图所示: 检错重发 前向纠错 反馈校验法 检错误 判决信号 纠错码 信息信号 发 发 收 信息信号 152

153 9.2 纠错编码的基本原理 举例说明纠错编码的基本原理。 用三位二进制编码表示8种不同天气。 ???????? ?????雹 雾霜雪雨阴云 晴1 11 011101001 110010100000???→?种 许使用种中只准 48码组许用码组,其它为禁用雨阴云晴 0 11101110000 ??? ? ??? 许用码组中,只要错一位(不管哪位错),就是禁用码组,故这种编码能 发现任何一位出错,但不能发现的二位出错,二位出错后又产生许用码。 上述这种编码只能检测错误,不能纠正错误。 因为晴雨阴错一位,都变成1 0 0。 要想纠错,可以把8种组合(3位编码)中,只取2种为许用码,其它6种为禁用码。 例如: 0 0 0 晴 1 1 1 雨 这时,接收端能检测两个以下的错误,或者能纠正一个错码。 例:收到禁用码组1 0 0时,如认为只有一位错,则可判断此错码发生在第1位,从而纠正为0 0 0(晴),因为1 1 1(雨)发生任何一个错误都不会变成1 0 0。 若上述接收码组种的错码数认为不超过二个,则存在两种可能性: 位错) (位错)(21111000/变成(1 1 1)或(1 0 0), 因为只能检出错误,但不能纠正。 一:分组码,码重,码距 (见樊书P282 表9-1) 将码组分段:分成信息位段和监督位段,称为分组码,记为(n, k ) n ~ 编码组的总位数,简称码长(码组的长度) k ~ 每组二进制信息码元数目,(信息位段) r k n =- ~ 监督码元数目,(监督位段)(见樊书P282,图9-2) 一组码共计8种

实验九 (2,1,5)卷积码编码译码技术

实验九 (2,1,5)卷积码编码译码技术 一、实验目的 1、掌握(2,1,5)卷积码编码译码技术 2、了解纠错编码原理。 二、实验内容 1、(2,1,5)卷积码编码。 2、(2,1,5)卷积码译码。 三、预备知识 1、纠错编码原理。 2、(2,1,5)卷积码的工作原理。 四、实验原理 卷积码是将发送的信息序列通过一个线性的,有限状态的移位寄存器而产生的编码。通常卷积码的编码器由K级(每级K比特)的移位寄存器和n个线性代数函数发生器(这里是模2加法器)组成。 若以(n,k,m)来描述卷积码,其中k为每次输入到卷积编码器的bit数,n 为每个k元组码字对应的卷积码输出n元组码字,m为编码存储度,也就是卷积编码器的k元组的级数,称m+1= K为编码约束度m称为约束长度。卷积码将k 元组输入码元编成n元组输出码元,但k和n通常很小,特别适合以串行形式进行传输,时延小。与分组码不同,卷积码编码生成的n元组元不仅与当前输入的k元组有关,还与前面m-1个输入的k元组有关,编码过程中互相关联的码元个数为n*m。卷积码的纠错性能随m的增加而增大,而差错率随N的增加而指数下降。在编码器复杂性相同的情况下,卷积码的性能优于分组码。 编码器 随着信息序列不断输入,编码器就不断从一个状态转移到另一个状态并同时输出相应的码序列,所以图3所示状态图可以简单直观的描述编码器的编码过程。因此通过状态图很容易给出输入信息序列的编码结果,假定输入序列为110100,首先从零状态开始即图示a状态,由于输入信息为“1”,所以下一状态为b并输出“11”,继续输入信息“1”,由图知下一状态为d、输出“01”……其它输入信息依次类推,按照状态转移路径a->b->d->c->b->c->a输出其对应的编码结果“110101001011”。 译码方法 ⒈代数 代数译码是将卷积码的一个编码约束长度的码段看作是[n0(m+1),k0(m+1)]线性分组码,每次根据(m+1)分支长接收数字,对相应的最早的那个分支上的信息数字进行估计,然后向前推进一个分支。上例中信息序列 =(10111),相应的码序列 c=(11100001100111)。若接收序列R=(10100001110111),先根据R 的前三个分支(101000)和码树中前三个分支长的所有可能的 8条路径(000000…)、(000011…)、(001110…)、(001101…)、(111011…)、(111000…)、(110101…)和(110110…)进行比较,可知(111001)与接收

差错控制码编码原理

1.垂直奇偶校验码: 编码原理: (1)将整个发送的数据块分为定长为m 的n 个组,一般m 为字符位数或位数的倍数,一组称为一个码字。 (2)每组末位按“1”的个数位奇数或者偶数的规律加一个 校验位j r ( n j ,3,2,1=) ,使得每组包括校验位在内“1”的个数为奇数或偶数。为偶数的称为偶校验,为奇数的称为奇校 验。 (ij b 为一个比特位,运算为二进制运算) 校验位计算为: 偶校验 mj j j j b b b r +++= 21n j ,3,2,1= 奇校验 121++++=mj j j j b b b r n j ,3,2,1= 举例说明: 每一列代表一个码字: 1 011111001101 偶校验计算的校验位为:0111 奇校验计算的校验位为:1000 校验能力:只能检测每列码字中的奇数个错误,所有偶数个错误全部漏检。 实现方法:用硬件和软件均可,可以边发送边产生冗余位,接收时可以边接收边去掉冗余位。

2.水平奇偶校验码 编码原理: (1)将整个发送的数据块分为定长为m 的n 个组,一般m 为字符位数或位数的倍数,一组称为一个码字。 (2)将n 个码字排成一个矩阵,对各个码字相应横向位进行奇偶校验。(校验位的生成与垂直奇偶校验码生成方式一致)。 偶校验 in i i i b b b r +++= 21m i ,3,2,1= 奇校验 121++++=in i i i b b b r m i ,3,2,1= (3)发送时将所有码字发送完后发送校验位。 举例说明: 奇 偶 每一列代表一个码字: 1 011111001101 01 0 1 10 1 校验能力:可以检测各个码字同一位上的奇数位错,对于长度小于或等于m 的突发错误,由于分布在不同行中,可以检测到。 实现方式:用硬件和软件均可,需要借助存储器。 3.水平垂直奇偶校验 编码原理:同时进行垂直和奇偶校验。 (过程略) 校验能力:冗余度大,具有更强检错能力。可检验3位以下的全部错误,所有奇数位错,突发长度小于或等于m+1的突发错误以及绝大多数偶数位错。 4、斜奇偶校验 编码原理:在水平垂直奇偶校验码的基础上,按照斜对角线的方向计算出校验位。

MATLAB实现卷积码编译码-

本科生毕业论文(设计) 题目:MATLAB实现卷积码编译码 专业代码: 作者姓名: 学号: 单位: 指导教师: 年月日

目录 前言----------------------------------------------------- 1 1. 纠错码基本理论---------------------------------------- 2 1.1纠错码基本理论 ----------------------------------------------- 2 1.1.1纠错码概念 ------------------------------------------------- 2 1.1.2基本原理和性能参数 ----------------------------------------- 2 1.2几种常用的纠错码 --------------------------------------------- 6 2. 卷积码的基本理论-------------------------------------- 8 2.1卷积码介绍 --------------------------------------------------- 8 2.1.1卷积码的差错控制原理----------------------------------- 8 2.2卷积码编码原理 ---------------------------------------------- 10 2.2.1卷积码解析表示法-------------------------------------- 10 2.2.2卷积码图形表示法-------------------------------------- 11 2.3卷积码译码原理---------------------------------------------- 15 2.3.1卷积码三种译码方式------------------------------------ 15 2.3.2V ITERBI译码原理---------------------------------------- 16 3. 卷积码编译码及MATLAB仿真---------------------------- 18 3.1M ATLAB概述-------------------------------------------------- 18 3.1.1M ATLAB的特点------------------------------------------ 19 3.1.2M ATLAB工具箱和内容------------------------------------ 19 3.2卷积码编码及仿真 -------------------------------------------- 20 3.2.1编码程序 ---------------------------------------------- 20 3.3信道传输过程仿真-------------------------------------------- 21 3.4维特比译码程序及仿真 ---------------------------------------- 22 3.4.1维特比译码算法解析------------------------------------ 23 3.4.2V ITERBI译码程序--------------------------------------- 25 3.4.3 VITERBI译码MATLAB仿真----------------------------------- 28 3.4.4信噪比对卷积码译码性能的影响 -------------------------- 28

卷积码仿真报告

卷积码仿真报告 卷积码编码原理 卷积码和分组码一样,也是将k 个信息比特编成n 个比特,但与分组编码的不同之处在于卷积码的编后的n 个比特不仅与当前k 个信息比特有关,还与前面的(N-1)*k 个信息有关,,编码过程中互相的比特个数为Nk 。卷积码的纠错能力随N 的增加而增大,N 称为卷积的约束深度(记忆深度),通常可记为(n,k,N ),表示码率为R=k/n 、约束长度为N 的卷积码。一般来说,卷积码的k 和m 都很小,码率也比较低,一般低于90%,所以其纠错能力很强。 由于卷积码充分利用了各码组之间的相关性,无论理论上还是实际中均已证明其性能不差于甚至优于分组码。但是与有严格代数结构的分组码不同,卷积码至今尚未找到可以把纠错性能与码的构成有规律地联系起来的严密的数学手段。目前大都采用计算机来搜索好码。因此,对卷积码的研究还在发展中。 卷积编码的一般结构 卷积码编码器的一般结构如上图所示,数据经过串、并变换器后形成k bits 一帧的并行数据送到线性逻辑单元,同时送入m 级数据帧移位寄存器,m 是移位寄存器的存储深度。编码逻辑根据当前输入数据和存放在数据寄存器中的以前数据进行线性逻辑运算得到 nbits 编码输出,再经过并、串变换转换成串行输出。m 十1称为该卷积码的约束长度。 用u 表示输入消息数据序列 012(,,,)u u u u

m 个输出数据序列为 11,01,11,2(,,,)c c c c = 22,02,12,2(,,,)c c c c = ,0,1,2(,,,)m m m m c c c c = 经并串变换的输出为 1,02,0,01,12,1,1(,,,,,,)m m c c c c c c c = 卷积码是一种重要的实现差错控制的信道编码,其译码方式有三种:Viterbi 译码、序列译码和门限译码。本项目拟定采用Viterbi 译码方式,故在些只考虑 Viterbi 译码算法。Viterbi 译码算法是卷积码最常用的译码算法,它具有最佳的译码性能,但其硬件实现比较复杂。Viterbi 译码算法已被广泛使用在通信和数字信号处理领域。 Viterbi 译码原理 (n,k,m)卷积码编码器共有2km 个状态,若输入的信息序列长度是Lk 十mk ,则进入和离开每一状态各有2km 条分支,在trellis 图上有2kL 条不同的路径,相应于编码器输出的2kL 个码序列。若按照最大似然译码算法,我们要比较所有可能的2kL 条路径,这个计算量通常是无法实现的。Viterbi 算法克服了这个难点,采用接收一段,计算、比较一段,选择一段最可能的分支,从而达到整个码序列是一个由最大似然函数得到的序列。 viterbi 译码的基本思想是:将接收序列r 与网格图上的路径逐分支地进行比较,然后留下距离最小的路径作为留选路径,并将这些留选路径逐分支地延长并存储起来,留选路径的数目等于状态数,所

14卷积码编解码

实验四 卷积码的编解码 一、实验目的 1、掌握卷积码的编解码原理。 2、掌握卷积码的软件仿真方法。 3、掌握卷积码的硬件仿真方法。 4、掌握卷积码的硬件设计方法。 二、预习要求 1、掌握卷积码的编解码原理和方法。 2、熟悉matlab 的应用和仿真方法。 3、熟悉Quatus 的应用和FPGA 的开发方法。 三、实验原理 1、卷积码编码原理 在编码器复杂度相同的情况下,卷积码的性能优于分组码,因此卷积码几乎被应用在所有无线通信的标准之中,如GSM , IS95和CDMA 2000 的标准中。 卷积码通常记作( n0 , k0 , m) ,它将k 0 个信息比特编为n 0 个比特, 其编码效率为k0/ n0 , m 为约束长度。( n0 , k0 , m ) 卷积码可用k0 个输入、n0 个输出、输入存储为m 的线性有限状态移位寄存器及模2 加法计数器来实现。 本实验以(2,1,3)卷积码为例加以说明。图1就是卷积码编码器的结构。 图1 (2,1,3)卷积码编码器 其生成多项式为: 21()1G D D D =++; 2 2()1G D D =+; 如图1 所示的(2,1,3)卷积码编码器中,输入移位寄存器用转换开关代替,每输入一个信息比特经编码产生二个输出比特。假设移位寄存器的初始状态为全0,当第一个输入比特为0时,输出比特为00;若输入比特为1,则输出比特为11。随着第二个比特输入,第一个比特右移一位,此时输出比特同时受到当前输入比特和前一个输入比特的影响。第三个比特输入时,第一、二个比特分别右移一位,同时输出二个由这三位移位寄存器存储内容所共同决定的比特。依次下去就完成了编码过程。 下面是卷积码的网格图表示。他是比较清楚而又紧凑的描述卷积码的一种方式,它是最常用的描述方

缩短卷积码MATLAB仿真实训实习报告

缩短卷积码MATLAB仿真实训实习报告 缩短卷积码MATLAB仿真实训实习报告 ()摘要 现代通信系统的信道本人码中几乎毫无例外的采用了先进的本人 码方式:卷积本人码,如:码分多址通信系统CDMA,数字蜂窝通信系统GSM,数字集群通信系统TETRA等等,在差错控制中,卷积码表现出了 优秀的纠错能力。但是优秀的纠错能力是以降低频道利用率为代价。 在功能完备的通信系统中有许多使命不同的逻本人信道.不同的逻本人 信道因为任务不同,专业知识对应的差错控制能力与频道利用率的提 议是不样的,有两种实现的数学方法:构建不同的卷积码或本人应用 同个卷积码但是运用不同的缩短方案以适应不同的传输数码率,自然 也有着相应的信道纠错能力和频带利用率。在先进路线图的数字集群 系统中就是用的二种方案,实践证明,删除型缩短卷积码的性能与最 卷积码可以做到相当接近。 关键词:信道本人码缩短卷积码纠错能力 (二)缩短卷积码基本原理 本实训拥有目的是要构建个具有卷积解卷积和打孔插零 功能以及相应的传输环境的仿真系统来对各类卷积码进行缩短卷积码 的仿真研究,得到大致相同频带利用率下不同打孔图形的差错控制能 力定量频带结果。 用相同的生成多项式构建的维特比译码器和不同的压缩图形卷积 码都可以在原打孔图形位置上嵌入填充的码元后进行译码。仿真采用 具有缩短卷积码和调制功能的系统仿真系统内,用BernoulliRandomBinary产生每帧2码元的随机二进制码,进入卷积本人码器后变成每帧6码元的二进制码流,再经过Puncture(打孔)模 块后,变为删去选择码元后剩下的码元数,在调制和解调原核细胞中,

数据帧的大本人不变,通过InsertZero(插零)模块在原来删去码元的位置插入码元0,解卷积,恢复每帧2码元。 Puncture模块中数据流的打孔矢量应与输入信号具有相同的帧长度,而且要与InsertZero模块中的插零矢量相同,矢量(vector)中的0就是打掉马远的位置,也是在解卷积之前插入0的位置,1是保留码元的位置,而矢量的长度与0的数目以及卷积码的结构共同决定了本人码效率。 无线电波信号发生器的每帧取样设定为2,通过卷积本人码器以后就是2进6出,假设通过打孔以后六个码元剩下三个的码元数位N,则本人码效率R为: R=(1/3)×(6/N) (三)缩短卷积码系统仿真 1.缩短卷积码的MATLAB仿真 2.不同本人码效率下的参数设置 R=1/3 R=2/5 R=1/ R=2/3 R= 3.系统仿真m件 4.不同的本人码效率的误码率曲线图 扩展阅读:MATLAB实训报告 MATLAB语言自白程实训报告

设计报告--008---差错控制编码的SIMULINK建模与仿真

差错控制编码的SIMULINK建模与仿真一.线性分组码编码系统建模 Reed-Solomon码编码系统框图: 信源模块的系统框图: 信宿模块的系统框图: 1.循环冗余码编码系统建模与仿真 CRC-16编码系统框图:

信源模块的系统框图: 信宿模块的系统框图: 信号比较模块系统款图: M文件如下: x=[0.00001 0.0001 0.001 0.005 0.01 0.02 0.03 0.04 0.05 0.1 0.2 0.3 0.4 0.5]; y=x; ProtectedData=48; FrameInterval=0.010; BitPeriod=FrameInterval/ProtectedData;

ProtectedDataWithCRC=ProtectedData+16; FrameLength=480; SimulationTime=1000; TotalFrameNumber=SimulationTime/FrameInterval; for i=1:length(x) ChannelErrorRate=x(i); sim('project_2'); y(i)=MissedFrameNumber(length(MissedFrameNumber))/TotalFrameNumber; end loglog(x,y); 仿真结果:没有达到预想的结果,还有待改进。 二.卷积码编码系统建模与仿真: 1)卷积码编码系统在二进制对称信道中的性能 系统框图: M文件如下: x=[0.01 0.02 0.03 0.04 0.05 0.1 0.15 0.2 0.25 0.3 0.4 0.5];%x表示二进制对称信道的误比特率的各个取值 y=x;%y表示卷积编码信号的误码率,它的长度与x的长度相等 for i=1:length(x)%对x中的每个元素依次执行仿真

差错控制编码

2.差错控制编码 2.1. 引言 什么是差错控制编码(纠错编码、信道编码)? 为什么要引入差错控制编码? 差错控制编码的3种方式? 本章主要讲述:前向纠错编码(FEC)、常用的简单编码、线性分组码(汉明码、循环码)、简单介绍RS码*、BCH码*、FIRE码*、交织码,卷积码极其译码、TCM编码*。 一、什么是差错控制编码及为什么引入差错控制编码? 在实际信道上传输数字信号时,由于信道传输特性不理想及加性噪声的影响,接收 端所收到的数字信号不可避免地会发生错误。为了在已知信噪比情况下达到一定的 误比特率指标,首先应该合理设计基带信号,选择调制解调方式,采用时域、频域 均衡,使误比特率尽可能降低。但若误比特率仍不能满足要求,则必须采用信道编 码(即差错控制编码),将误比特率进一步降低,以满足系统指标要求。 随着差错控制编码理论的完善和数字电路技术的发展,信道编码已经成功地应用于 各种通信系统中,并且在计算机、磁记录与存储中也得到日益广泛的应用。 差错控制编码的基本思路:在发送端将被传输的信息附上一些监督码元,这些多余 的码元与信息码元之间以某种确定的规则相互关联(约束)。接收端按照既定的规 则校验信息码元与监督码元之间的关系,一旦传输发生差错,则信息码元与监督码 元的关系就受到破坏,从而接收端可以发现错误乃至纠正错误。 研究各种编码和译码方法是差错控制编码所要解决的问题。 二、差错控制的三种方式 1、检错重发(ARQ) 检错重发:在接收端根据编码规则进行检查,如果发现规则被破坏,则通过反向 信道要求发送端重新发送,直到接收端检查无误为止。 ARQ系统具有各种不同的重发机制:如可以停发等候重发、X.25协议的滑动窗 口选择重发等。 ARQ系统需要反馈信道,效率较低,但是能达到很好的性能。 2、前向纠错 前向纠错(FEC):发送端发送能纠正错误的编码,在接收端根据接收到的码和 编码规则,能自动纠正传输中的错误。 不需要反馈信道,实时性好,但是随着纠错能力的提高,编译码设备复杂。

差错控制系统的性能分析

课程设计报告 课程名称 : 移动通信 设计题目名称:差错控制系统的性能分析 学院:信息工程学院 学生姓名: 班级: 学号: 成绩: 指导教师: 开课时间: 2015~2016 学年第二学期

目录 1、课程设计目的 (3) 2、设计任务书 (3) 3、进度安排 (5) 4、具体要求 (6) 5、基本原理 (6) 5.1 卷积码编码与译码原理 (6) 5.1.1 卷积码的编码原理 (6) 5.1.2 卷积码的译码原理 (7) 5.2 分组码(循环码)编码与译码原理 (10) 5.2.1 循环码编码原理 (10) 5.2.2循环码的译码原理 (11) 6、 Simulink单元模块设计 (14) 6.1 卷积码的差错控制系统仿真模型 (14) 6.1.1 总体设计框图 (14) 6.1.2 信源子系统 (14) 6.1.3 信道 (16) 6.1.4 信宿子系统 (17) 6.1.5 卷积码的差错控制系统M文件 (22) 6.1.6 运行结果 (23) 6.2 分组码的差错控制系统仿真模型 (24) 6.2.1 总体设计框图 (24) 6.2.2 信源子系统 (24) 6.2.3 信道 (26) 6.2.4 信宿子系统 (27) 6.2.5 分组码的差错控制系统M文件 (30) 6.2.6运行结果 (30) 7、运行程序过程中产生的问题及采取的措施 (31) 8、心得体会 (31) 9、参考文献 (31)

1、课程设计目的 移动通信也是一门实践性非常强的课程,实验教学在整个课程的教学中占据了非常重要的地位。在学生学习了现代通信原理、数字信号处理(DSP技术)等课程后,学生已经具有了一定的理论基础和实验技能,在此基础上本实验课程开设的主要作用和目的在于: 1.帮助学生更好地理解移动通信系统,掌握各种移动通信系统的模型2.帮助学生熟悉常用的通信系统仿真平台,学习仿真模型的设计,掌握通信系统的仿真方法,学会利用仿真软件对系统性能进行评价; 2、设计任务书

第七章 差错控制编码 习题解答

8-1 某码字的集合为 00000000 1000111 0101011 0011101 1101100 1011010 0110110 1110001 求:(1)该码字集合的最小汉明距离;(2)根据最小汉明距离确定其检错和纠错能力。 解: (1)通过两两比较每个码字,可知该码字集的最小汉明距离为4; (2)因为检错能力与最小码距的关系为:1min +=e d ,所以检错能力为 3141min =-=-=d e 又因为纠错能力与最小码距的关系为:12min +=t d ,所以纠错能力为 5.12 1 421min =-=-= d t 取整后可得,纠错能力为1=t 。 8-2 已知二进制对称信道的差错率为2 10-=P 。(1)(5,1)重复码通过此信道传输,不可纠正错误的出现概率是多少?(2)(4,3)偶校验码通过此信道传输,不可检出错误的出现概率是多少? 解: (1)当(5,1)重复码发生3个或3个以上的错误时不可纠正,此时不可纠正的错误出现的概率为 ( )()()60 5 551 4452 3351085.9111-?≈-+-+-=P P C P P C P P C P e (2)当(4,3)偶校验码发生偶数个错误时这些错误不可检出,这些错误出现的概率 为 ( )()40 4 442 2241088.511-?≈-+-=P P C P P C P e 8-3 等重码是一种所有码字具有相同汉明重量的码,请分析等重码是否线性码? 解: 因为该码字集中所有的码字均有相同的码重,因此全零码字不包括在内,而线性码在输入信息位均为零时,输出也全为零,因此一定包含全零码。因此等重码不是线性码。 8-4 对于一个码长为15,可纠正2个随机错误的线性分组码,需要多少个不同的校正子?至少需要多少位监督码元? 解:对于一个码长为15的线性码,1个及2个随机错误的图样数为 120215115=+C C

通信原理—差错控制编码基本理论

差错控制概述 1. 差错的概念 所谓差错,就是在通信接收端收到的数据与发送端实际发出的 数据出现不一致的现象。 2. 差错类型 通信信道的噪声分为热噪声和冲击噪声两种。由这两种噪声分 别产生两种类型的差错,随机差错和突发差错。 热噪声是由传输介质导体的电子热运动产生的,它的特点是: 时刻存在,幅度较小且强度与频率无关,但频谱很宽,是一类随机 噪声。由热噪声引起的差错称随机差错。此类差错的特点是:差错 是孤立的,在计算机网络应用中是极个别的。 与热噪声相比,冲击噪声幅度较大,是引起传输差错的主要原 因。冲击噪声的持续时间要比数据传输中的每比特发送时间要长, 因而冲击噪声会引起相邻多个数据位出错。冲击噪声引起的传输差 错称为突发差错。常见的突发错是由冲击噪声(如电源开关的跳火、 外界强电磁场的变换等)引起,它的特点是:差错呈突发状,影响 一批连续的bit(突发长度)。计算机网络中的差错主要是突发差错。 通信过程中产生的传输差错,是由随机差错和突发差错共同构 成的。 3. 误码率 数据传输过程中可用误码率Pe来衡量信道数据传输的质量,误码率是指二进制码元在数据传输系统中出现差错的概率,可用下式表达: 4. 差错控制 差错控制是指在数据通信过程中能发现或纠正差错,将差错限 制在尽可能小的允许范围内。

差错检测是通过差错控制编码来实现的;而差错纠正是通过差错控制方法来实现的。 差错控制编码 差错控制编码的原理是:发送方对准备传输的数据进行抗干扰编码,即按某种算法附加上一定的冗余位,构成一个码字后再发送。接收方收到数据后进行校验,即检查信息位和附加的冗余位之间的关系,以检查传输过程中是否有差错发生。差错控制编码分检错码和纠错码两种,检错码是能自动发现差错的编码,纠错码是不仅能发现差错而且能自动纠正差错的编码。 衡量编码性能好坏的一个重要参数是编码效率R: 其中,n表示码字的位长,k表示数据信息的位长,r表示冗余位的位长。 计算机网络中常用的差错控制编码是奇偶校验码和循环冗余码。 1. 奇偶校验码 奇偶校验码是一种最简单的检错码。 原理:通过增加冗余位来使得码字中"1"的个数保持为奇数(奇校验)或偶数(偶校验)。例如,偶校验:110101000,011011011在实际使用时,奇偶校验可分为以下三种方式。 (1) 垂直奇偶校验 原理:将要发送的整个数据分为定长p位的q段,每段的后面按"1"的个数为奇数或偶数的规律加上一位奇偶位: 编码效率:R = P/(P+1) 检错能力:能检出每列中的所有奇数个错,但检不出偶数个错。对突发错,漏检率约为50%

差错控制编码技术的应用

差错控制编码技术的应用 摘要:随着网络技术的发展,网络中数据交换量迅速增加,大量的数据需要通过网络进行交 换。在数据的传输过程中,由于种种原因,数据并不能保证100%的准确传输,数据传输的高准确率与高效率中间存在着比较难调和的矛盾。为了解决这个问题,便出现了通信中的差错控制技术,即通过将传送数据进行编码发送的方法来进行检错和纠正。 引言:无线应用的飞跃发展和广阔的应用前景,使得人们不得不把更多的目光投向无线网 络的通信。由于无线环境与有线环境相比,具有误码率高、时延长、带宽窄、信道不对称以及频繁的移动等特性,使无线网络中的通信质量难于保证。这样,怎样改善无线网络中的通信性能也自然成了目前乃至以后较长时期网络领域的重要研究课题。 一、差错控制编码技术的概念 信道干扰源可分为无源干扰和有源干扰。前者引起的差错是一种随机差错,即某个码元的出错具有独立性,与前后码元无关。而后者是由短暂原因如突然施加干扰源引起的,差错是成群的,其差错持续时间称为突发错的长度在信息传输中,二者均有可能被引入。根据具体情况而选定合适的差错控制编码可以发现并纠正这些错误。 1.1差错控制的基本方式 (1)反馈纠错 反馈纠错是在信源端采用能发现一定程度传输差错的简单编码方法对所传信息进行编码(加入少量监督码元),在信宿端根据编码规则对收到的编码信号进行检查,一旦检测出误码,即向信源端发出信号要求重发。信源端收到信号后,立即重发已发生传输差错的那部分信息,直到正确收到为止。这种方法只能发现接收码元中的一个或一些错误,但无法确定误码的准确位置,较适合于双向数据通信,要求信源端有数据存储装置。 (2)前向纠错 前向纠错是信源端采用在解码时能纠正一定程度传输差错的较复杂的编码方法,使信宿端在收到码元后不仅能发现错码,还能够纠正错码。采用前向纠错方式时,不需要反馈信道,也无需反复重发而延误传输时间,对实时传输有利。但是纠错装置比较复杂。此方法可用于没有反馈通道的单向数字信号的传输。 (3)混合纠错 混合纠错即在接收端自动纠正少量差错,当误码严重超出其自行纠正能力时,就向信源端发出询问信号,要求重发,是反馈纠错和前向纠错的混合形式。 1.2差错控制编码的分类 差错控制编码按照差错控制的不同方式,可分为检错码、纠错码和纠删码等;按照误码产生的原因不同,可分为纠正随机错误码与纠正突发性错误码;按照信息码元与附加的监督码元之间的检验关系,可分为线性码与非线性码;按照信息码元与附加监督码元之间的约束方式不同,可以分为分组码与卷积码;按照信息码元在编码之后是否保持原来的形式不变,可分为系统码与非系统码。在实际运用中往往是多种方式的编码方式混合,如线性分组码就是信息码元与附加的监督码元之间的检验关系为线性,约束方式为分组形式。

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 - 二、设计目的和意义 因为信道中信号不可避免会受到干扰而出错。为实现可靠性通信,主要有两种途径:一种

第9章 差错控制编码习题解答

第9章 差错控制编码习题解答 9-1 (1) 写出),(k n 循环码的码多项式的一般表达式; (2) 已知)3,7(循环码的生成多项式为1)(24+++=x x x x g ,若)(x m 分别为2x 和1, 求循环码的码字。 解: : ,1)()()(:,,)(1)(:,4,3,)3,7()2()(),()1(36 242 24012211过程如下的余式为得根据编码规则若信息码生成多项式循环码式为系统码码字的一般表达++÷===+++===++++=----x x x g x m x x x x x m x x x m x x x x g r k a x a x a x a x A k n r r n n n n x x x x x x x 1001011 1 1011 11 1 10123456233242342 3466 24=++++++++++++++++a a a a a a a x x x x x x x x x x x x 最后得系统码码字为对应码为得余多项式为 x x x x x x 0010111 1 0111 111 1012345622244 24=++++++++++a a a a a a a x x x x x x x 最后得系统码码字为对应码为得余多项式: ,1)()()(:,1)(24 过程如下的余式为则有若信息码++÷==x x x g x m x m x x m r r 9-2 (5,1)重复码若用于检错,能检测几位错?若用于纠错,能纠正几位错?,若同时用 于检错与纠错,情况又如何?

. 31,2,4,5)1,5(:1,)(,)2(1 2,)2(1,)1(0000位错位错和检并同时能纠位错纠位错故能检重复码由上述公式得则要求随机错误个同时检测个纠则要求个随机错误纠则要求个随机错误检测=++≥>+≥+≥d e t d t e e t t d t e d e 9-3 已知八个码字分别为000000、001110、010101、011011、100011、101101、110110、 111000,试求其最小码距0d 。 解: . 3,1,1,0:.,,,.:. ,,:111000 110110, 101101, 100011,011011, ,010101 ,001110 ,00000080=d 故得的个数为最小汉明距离该码中少的码的个数为最找出码外除全具体方法是是类似的性这和实数运算具有封闭属于该码组中的一个码仍然算的结果码组中任意两组异或运闭性是指所谓封性来判断利用码组是否具有封闭方法二码组大时较麻烦这种方法在可得最小汉明距离两两比较方法一个码组为 已知 9-4 上题所给的码组若用于检错,能检测几位错?用于纠错,能纠正几位错?,若同时用 于检错与纠错,情况又如何? 解: ). 3?(,2,1:1 ,)(,)3(12,)2(1,)1(: .30000条不满足第为什么同时用于纠错和检错但不能位错检位错能纠由上述公式得要求则随机错误个同时检测个纠则要求个随机错误纠则要求个随机错误检测利用公式得++≥>+≥+≥=e t d t e e t t d t e d e d 9-5 汉明码(7,4)循环码的1)(3++=x x x g ,若输入信息组0111,试设计该码的编码电路, 并求出对应的输出码字。

相关文档
最新文档