74汉明码编码原理及其c++实现

本文介绍了汉明码的编码原理,包括其由来、性质和计算方式。通过一个1010信息码的例子详细阐述了如何确定校验码位数、编码规则以及异或运算在汉明码中的应用。同时提到了汉明码的两种校验方式——奇校验和偶校验,并给出了一段C++代码实现的提示。
摘要由CSDN通过智能技术生成

前段时间做了信号处理的一系列过程,从编码、生成载波、调制、加噪到解调滤波解码等等一系列从matlab转c++的操作,这里记点当时学的东西。

首先摘抄一下[维基百科的官方释义]
维基百科
在電信領域中,漢明碼(英語:hamming code),也称为海明码,是(7,4)汉明码推广得到的一種线性纠错码,由理查德·衛斯里·漢明于1950年發明。相比而言,簡單的奇偶檢驗碼除了不能糾正錯誤之外,也只能偵測出奇數個的錯誤。汉明码是完备码,它在于它分组长度相同、最小距离为3的码中能达到最高的码率。

下面以1010作为信息码来举例说明
首先记住一个公式,即 2 r 2^r 2r r + k + 1 r+k+1 r+k+1,其中 k k k为信息码长度, r r r为校验码长度,最后编码的长度记为 n n n,则有 n = r + k n=r+k n=r+k,即编码后的长度为校验码位数加上原信息码长度(废话吗这不是
以1010来作为信息码举例的话:首先1010是4位数字,因此 k = 4 k=4 k=4,我们需要根据k来求的 r r r的长度,根据上面的公式,取 k = 4 k=4 k=4,则有 2 r ≥ 5 + r 2^r≥5+r 2r5+r,当 r = 3 r=3 r=3

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值