信息论实验 您所在的位置:网站首页 汉明码信道编码是什么 信息论实验

信息论实验

2024-07-17 00:26| 来源: 网络整理| 查看: 265

实验目的

加深理解Hamming(7,4)码的编码方法和抗干扰性能。通过编程实现Hamming (7,4)码的便拿码算法,进一步掌握按位二进制加法的实现原理。

实验要求

输入:长度为4的任意二进制序列 输出:输入数据经Hamming(7,4)编码器编码之后,通过作业3(2)二元对称信道模拟器 (错误概率为0.1)传输后,再经过Hamming(7,4)译码器输出得到新宿的长度为4的二进制 序列。

实验原理 基本定义

定义1:设一个D元(N, L)线性分组码的生成矩阵G,校验矩阵H。则H是一个D源(N,N-L) 线性分组码的生成矩阵,G是此码的一个校验矩阵。称这两个码互为对偶码。

定义2:一个N维向量的Hamming重量为它的对应位置值不等于0的位数。

定义3:两个N维向量的Hamming距离定义为他们的对应位置不同的位数。

信道的输入为码字U,信道的输出为向量Y,称向量 e=Y−U 为差错向量。

设H是校验矩阵,对于N维行向量t,记 s=tHT 为向量t的伴随式。

基本定理

定理1:设信道输入码字U,输出向量为Y,差错向量 e=Y−U ,则e的伴随式等于Y的 伴随式。

定理2:设输出向量为Y,并计算出了Y的伴随式 s=YHT 。则此时所有可能的差错向量 恰好就是任何一个可能的差错向量加上全体码字。即此时所有可能的差错向量恰好就是方程 s=tHT 的任何一个固定解t加上全体码字。 实现原理

二元码和非二元码都存在汉明码,我们以二元汉明码为例。汉明码不是一个码,而是一类码, 凄惨数具有下列形式

(n,k)=(2m−1,2m−m−1) 其中m为正整数。例如当 m=3 时,就得到了(7,4)汉明码。汉明码的校验矩阵具有特殊的性质 ,对于二元码,它的 2m−1 个列包含了除0之外的所有 n−k=m 维向量。通过观察可以发现, 校验矩阵 H 中任何两个列矢量是线性独立的,但是可以找到3个列矢量之和为0.所以对于所有的 汉明码器最小汉明距离dmin=3。

由于汉明码的校验矩阵 包含了所有非零m维向量,通过编排列矢量的顺序可以很容易地得到具有 式

H=[−PT|In−k] 形式的系统汉明码的校验矩阵 H ,进而可以得到系统汉明码的生成 矩阵。例如观察如下校验矩阵,其列矢量为(001),(010),(011),(100),(101),(110),(111)。  A=⎡⎣⎢⎢⎢1000010000100001111001111101⎤⎦⎥⎥⎥=[I4|P] 

算法实现

汉明码的定义是一个线性分组码,它的最小Hamming距离为3,能纠正全部一位错误。 而且编码译码都非常简单,接收矢量的伴随式等于校验矩阵H中与出错位对应的矢之和。 \subsection{算法步骤} 1. 通过线性变换由信源端产生的L长的信号x生成信道编码后的N长的信号Y,

Y=XG 其中G是生成矩阵。 2. 将步骤1产生的信号Y通过二元对称信道,二元对称信道需设置错误概率。通过 二元对称信道的信号计为 Y′ 3.由公式 s=Y′HT 计算出 Y′ 的伴随式s,根据定理可知信道输出 Y′ 的伴随式 和差错向量e的伴随式相等,将 Y′ 产生的伴随式当作差错向量e产生的伴随式进一步 找到可能的差错向量。 4. 在以s为伴随式的全体“可能的差错向量中”,取一个Hamming重量最小的向量作为 s的培集首,记为 e(s) 。 5. 计算通过信道前的信号Y, U=Y′−e(s) 。 6. 输出线性U的线性逆变换即为经过信道传输并经过Hamming编码译码的信号。

算法程序实现 主函数部分依次执行各个模块的功能 int main() { int n; cout


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有