Hamming码编译码理论

Hamming码编译码理论与MATLAB实现

1、线性码与非线性码

\qquad根据纠错码各码组信息和监督元的函数关系,可分为线性码和非线性码。如果函数关系为线性的,即满足一组线性方程式,则称为线性码,否则称为非线性码。

2、分组码与卷积码

\qquad根据码组中监督码元与信息码元相互的关联的长度,可分为分组码和卷积码。分组码的各码元仅与本组的信息元有关;卷积码中的码元不仅与本组的信息码元相关,而且还与前面若干组的信息码元有关。
\qquad分组码把信息序列以k个码元分组,通过编码器将每组的k元信息按一定的规律产生r个多余码元(称为校验元或监督元)输出长为n=k+r的一个码字(码组)。分组码用(n,k)表示,n表示码长,k代表信息位的数目。
\qquad卷积码将信息序列以k 0 k_0k0个码元分段,通过编码器输出长为为n 0 n_0n0的一段码组。但是该码的n 0 n_0n0 - k 0 k_0k0个校验元不仅与本段的信息源有关,而且也与其前m_0段的信息源有关,故卷积码用(n 0 n_0n0k 0 k_0k0m 0 m_0m0)表示。

3、检错码与纠错码

\qquad根据码的用途,可分为检错码和纠错码。检错码以检错为目的,不一定能纠错;而纠错码以纠错为目的,一定能检错。

4、Hamming码、循环码、BCH码、RS码、CRC校验码

\qquadHamming码具有的共同特点是:
\qquad\qquad\qquad(n,k)=(2 m 2^m2m-1,2 m 2^m2m-1-m)
式中,m是大于等于3的正整数。
\qquadMATLAB提供了生成Hamming码的函数hammgen,以及用Hamming码编码、解码的code和decode函数。
\qquad 1、h = hammgen(m)
\qquadh = hammgen(m)产生一个m × n m\times nm×n的Hamming校验矩阵h,其中,n= 2 m 2^m2m -1.
\qquad2、[h.g]=hammgen(m)
\qquad[h.g]=hammgen(m)产生一个m × n m\times nm×n的Hamming校验矩阵h和与h相对应的生成矩阵g。其中,n= 2 m 2^m2m -1。h = [I P], I是一个m × m m\times mm×m的单位矩阵。而g=[p I],其中,I是一个( n − m ) × ( n − m ) (n-m)\times (n-m)(nm)×(nm)的单位矩阵。

Himming编码案例:
1)仿真(7,4)Hamming码的编码及硬判决译码过程。
2)仿真未编码和进行(7,4)Hamming码的编码的QPSK调制通过AWGN信道后的误比特性能比较。
程序代码请转:
https://editor.csdn.net/md/?articleId=111461175


版权声明:本文为qq_43520653原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。