Hamming码编译码理论

Hamming码编译码理论与MATLAB实现

1、线性码与非线性码

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

2、分组码与卷积码

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

3、检错码与纠错码

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

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

\qquad Hamming码具有的共同特点是:
\qquad \qquad \qquad (n,k)=( 2 m 2^m 2m-1, 2 m 2^m 2m-1-m)
式中,m是大于等于3的正整数。
\qquad MATLAB提供了生成Hamming码的函数hammgen,以及用Hamming码编码、解码的code和decode函数。
\qquad 1、h = hammgen(m)
\qquad h = hammgen(m)产生一个 m × n m\times n m×n的Hamming校验矩阵h,其中,n= 2 m 2^m 2m -1.
\qquad 2、[h.g]=hammgen(m)
\qquad [h.g]=hammgen(m)产生一个 m × n m\times n m×n的Hamming校验矩阵h和与h相对应的生成矩阵g。其中,n= 2 m 2^m 2m -1。h = [I P], I是一个 m × m m\times m m×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

你可能感兴趣的:(通信原理,信息论与编码,数字通信,信息传输)