汉明码实现编码译码c语言,汉明码编码译码实验报告(信息论与编码)及源程序.doc...

本文介绍了汉明码的基本原理,用于在随机信道中进行检错和纠错。通过添加监督位来创建编码,确保信息传输的准确性。文章详细阐述了汉明码的构造步骤,并给出了一个7位汉明码的编码和校验矩阵。同时,提供了一个C语言实现汉明码的源程序,用于编码和译码操作。
摘要由CSDN通过智能技术生成

1、原理与步骤

在随机信道中,错码的出现是随机的,且错码之间是统计独立的。例如,由高斯白噪声引起的错码就具有这种性质。因此,当信道中加性干扰主要是这种噪声时,就称这种信道为随机信道。由于信息码元序列是一种随机序列,接收端是无法预知的,也无法识别其中有无错码。为了解决这个问题,可以由发送端的信道编码器在信息码元序列中增加一些监督码元。这些监督码元和信息码元之间有一定的关系,使接收端可以利用这种关系由信道译码器来发现或纠正可能存在的错码。在信息码元序列中加入监督码元就称为差错控制编码,有时也称为纠错编码。不同的编码方法有不同的检错或纠错能力。有的编码就只能检错不能纠错。

?汉明码是一种能够纠正一位错码且编码效率较高的线性分组码。

汉明码是一种多重(复式)奇偶检错系统。它将信息用逻辑形式编码,以便能够检错和纠错。用在汉明码中的全部传输码字是由原来的信息和附加的奇偶监督位组成的。每一个这种奇偶位被编在传输码字的特定比特位置上。

推导并使用长度为m位的码字的汉明码,所需步骤如下:

1、确定最小的监督位数k,将它们记成D1、D2、…、Dk,每个监督位符合不同的奇偶测试规定。

2、原有信息和k个监督位一起编成长为m+k位的新码字。选择k监督位(0或1)以满足必要的奇偶条件。 3、对所接收的信息作所需的k个奇偶检查。

4、如果所有的奇偶检查结果均为正确的,则认为信息无错误。

如果发现有一个或多个错了,则错误的位由这些检查的结果来唯一地确定。

2、算法描述

一个二元(7,4)汉明码的系统码形式的矩阵和校验矩阵分别为

1 0 0 0 1 0 1 1 1 1 0 1 0 0

G= 0 1 0 0 1 1 1 H= 0 1 1 1 0 1

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值