循环码的编译码方法..(3)

2018-12-22 23:36

3.2 循环码编译码实现过程

循环码的编码和解码设备都不太复杂,检、纠错能力强,而且性能好。它不但可以检测随机的错误,还可以检测突发的错误。(n,k)循环码可以检测长为n-k或更短的任何突发错误,包括首尾相接突发错误。

循环码最大的特点就是码字的循环特性,所谓循环特性是指:循环码中任一许用码组经过循环移位后,所得到的码组仍然是许用码组,也就是说,不论是左移还是右移,也不论移多少位,仍然是许用的循环码组。

首先根据给定的(n,k)值以及给定的生成多项式g(x),求出生成矩阵以及监督矩阵。利用MATLAB软件编写循环码的编码器以及译码器,根据要求输入消息序列,从仿真图形中观察分析编译码是否正确,讨论循环码的纠检错能力及高斯信道下的误码性能。

(1)循环码编码实现流程如图3-2所示

图3-2循环码编码流程图

开 始 输入消息m(x)如[1 1 1 0 0 0 1] 确定余式r(x): r(x)?m(x)xn?kg(x) 确定c(x): c(x)?m(x)xn?k?r(x) 输出码字C(x) 结 束 (2)循环码译码实现流程如图3-3所示:

8

纠错开 始 由接收信号r确定伴随式s:s=r*h 是 S是否为0 否 由S确定错误图样e c?e?r 输出码字c 结 束 图3-3循环码译码流程图

(3)循环码误码性能实现框图如图3-4所示:

图3-4循环码误码性能实现框图图

信号源 (15,7)循环码编码 加入不 同 信 噪比 的 高斯 白 噪声 误码分析 (15,7)循环码译码

9

四 系统设计

4.1生成矩阵和监督矩阵

已知(15,7)循环码的生成多项式为g(x)=x+x+x+x+1,由其生成多项式求出其生成矩阵G(X)为:

8

7

6

4

?1?0??0?G??0?0??0?0?11000001110000011100010111000101110001011100010111000101010001000100010001000000010000000100?0??0??0? ?0?0?1??由于h(x)·g(x)=x

n

+1,求出的h(x)=x7+x6+x4+1,进而得到监督矩阵H(X)为:

0010110000010110100010110100010100100010000100010000100000000100000000100?0??0??0? 0??0?0??1???1?0??0?0?H=?0??0?0??0?110000000110000010110000010110004.2循环码的编码

encode函数 功能:编码函数

语法:code=encode(msg,N,K,method,opt)

说明:用method指定的方法完成纠错编码。其中msg代表信息码元,是一个K列矩阵,N是编码后的码字长度;K是信息位的长度;opt是有些编码方式需要的参数。

运行编码程序,在工作窗口内按照文字提示输入消息序列,本次设计中需要输入的消息

10

序列是一串长为7为的二进制码字。运行结果如图4-1所示:

图4-1循环码的编码

从图中可以看出,当输入消息序列为:1110001时,编码结果为:01110111111000。输入信号经过编码,增加了校验位,使信号变得复杂,提高了通信的可靠性。

4.3循环码的的译码

decode函数 功能:译码函数

语法:msg=decode(code,N,K,method,opt1,opt2,opt3,opt4);

说明:这个函数对接收到的码字进行译码,恢复出原始的信息,译码参数和方式必须和编码时采用的严格相同。它对接收到的码字,按method指定的方式进行译码;opt1,…,opt4是可选项的参数。

(1)使用编出的码字去执行译码程序,译码结果如图4-2所示:

11

图4-2 循环码的译码

由上图可以看出,用编出的码字去执行译码程序,译出的码字为:1110001,与输入的码字完全一致,没有发现错误。验证了译码程序的正确性。

(2)将4-1中编出的码字改变一位作为译码程序的输入,译码程序输出中如图4-3所示:

图4-3循环码的检纠错

12


循环码的编译码方法..(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:【备战2019】2018年全国各地中考语文试题分类汇编:实用类文体阅

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: