基于软译码的Hamming信道编译码误码率matlab仿真

本文介绍了基于软译码的汉明码在MATLAB中的编译码实现,详细阐述了汉明码的原理,包括码长、信息位长度和监督位长度的关系,以及如何通过监督关系计算监督位。通过MATLAB仿真展示了汉明码的纠错能力,并提供了相应的源代码。

目录

1.算法概述

2.仿真效果

3.MATLAB仿真源码


1.算法概述

      “汉明码是一种常用的纠错码,具有纠一位错误能力。本实验使用Matlab平台,分别用程序语言和simulink来实现汉明码的编译码。用程序语言实现就是从原理层面,通过产生生成矩阵,错误图样,伴随式等一步步进行编译码。汉明码是一种线性分组码。线性分组码是指将信息序列划分为长度为k的序列段,在每一段后面附加r位的监督码,且监督码和信息码之间构成线性关系,即它们之间可由线性方程组来联系。这样构成的抗干扰码称为线性分组码。

       汉明码是一种线性分组码。线性分组码是指将信息序列划分为长度为k的序列段,在每一段后面附加r位的监督码,且监督码和信息码之间构成线性关系,即它们之间可由线性方程组来联系。这样构成的抗干扰码称为线性分组码。

设码长为n,信息位长度为k,监督位长度为r=n-k。如果需要纠正一位出错,因为长度为n的序列上每一位都可能出错,一共有n种情况,另外还有不出错的情况,所以我们必须用长度为r的监督码表示出n+1种情况。而长度为r的监督码一共可以表示2^r种情况。因此

2^r >= n + 1, 即r >= log(n+1)

我们以一个例子来说明汉明码。假设k=4,需要纠正一位错误,则

2^r >= n + 1 = k + r + 1 = 4 + r + 1

解得r >= 3。我们取r=3,则码长为3+4=7。用a6,a5,...a0表示这7个码元。用S1,S2,S3表示三个监关系式中的校

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

仿真时间123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值