Notas del código Hamming

Codificación de corrección de errores: código Hamming

Código Hamming: puede detectar errores de doble bit y corregir errores de un solo bit.

Proceso de trabajo

  1. Confirme el número de dígitos del código de verificación r
  2. Determinar la ubicación de la suma de verificación y los datos.
  3. Encuentra el valor del código de verificación.
  4. Detectar y corregir errores

01 Confirmar el número de dígitos del código de verificación r

Desigualdad de Hamming: 2 r ≥ k + r + 1 k es el bit de información, r es el bit de información redundante\text{Desigualdad de Hamming:} 2^r \geq k + r + 1 \\ k es el bit de información, r es bits de información redundantesDesigualdad de Hamming: 2rk+r+1k es el bit de información , r es el bit de información redundante

Principio :

Hay un total de r bits de bits de información redundantes 2 r 2^r2r combinaciones, excepto 1 cuya información de identificación es correcta, hay2 r − 1 2^r-12r1 combinación para identificar2 r − 1 2^r - 12r1 error de posición. Entonces debería haber un número de combinaciones de errores de identificación >= el número total de bits transmitidos, es decir,2 r − 1 ≥ k + r 2^r - 1 \geq k + r2r1k+r

02 Determinar la ubicación del código de verificación y los datos.

Supongamos datos D = 101101 D = 101101D=1 0 1 1 0 1

Entonces según la desigualdad de Hamming, r = 4 r = 4r=4

Sean los dígitos de control de izquierda a derecha P 1 , P 2 , P 3 , P 4 P_1, P_2, P_3, P_4PAG1PAG2PAG3PAG4, los datos de izquierda a derecha son D 1 , D 2 , D 3 , D 4 , D 5 , D 6 D_1, D_2, D_3, D_4, D_5, D_6D1D2D3D4D5D6

Los dígitos de control se colocan en varias potencias de 2 y los bits de datos se completan con los bits vacíos de izquierda a derecha.

Ubicación 1 2 3 4 5 6 7 8 9 10
código P 1 P_1PAG1 P 2 P_2PAG2 D 1 D_1D1 P3P_3PAG3 D 2 D_2D2 D 3 D_3D3 D 4 D_4D4 P 4 P_4PAG4 D 5 D_5D5 D 6 D_6D6
valor actual 1 0 1 1 0 1

03 Encuentra el valor del código de verificación.

Cada dígito de control se completa en una posición potencia de 2, por lo que su "representación binaria de posición" tiene solo un 1, que se establece en la posición r-ésima desde la derecha. Este dígito de control verifica los datos cuyo bit r desde la derecha de la "representación binaria de posición" es 1.

Por ejemplo: P 1 P_1PAG1En la representación binaria posicional, 1 está en el primer dígito desde la derecha, luego verifica todos los datos cuyo primer dígito desde la derecha en la "representación binaria posicional" es 1, es decir, el 3.º, 5.º, 7.º, 9.º. .3, 5, 7, 9 puntos3 , 5 , 7 , 9... bits,P 2 P_2PAG2Marque el 3, 6, 7, 10... 3, 6, 7, 10 \ldots3 6 7 1 0... bits,P 3 P_3PAG3Marque el 5, 6, 7... 5, 6, 7 \ldots5 , 6 , 7... bits,P 4 P_4PAG4Comprueba los puntos 9, 10... 9, 10 \ldots9 1 0... un poco.

El bit de paridad debe hacer que los datos en todas las posiciones de paridad XOR consigo mismos sean 0 (puede entenderse como paridad par).
P 1 ⊕ D 1 ⊕ D 2 ⊕ D 4 ⊕ D 5 = 0 ⟹ P 1 ⊕ 1 ⊕ 0 ⊕ 1 ⊕ 0 = 0 ⟹ P 1 = 0 P 2 ⊕ D 1 ⊕ D 3 ⊕ D 4 ⊕ D 6 = 0 ⟹ P 2 ⊕ 1 ⊕ 1 ⊕ 1 ⊕ 1 = 0 ⟹ P 2 = 0 P 3 ⊕ D 2 ⊕ D 3 ⊕ D 4 = 0 ⟹ P 3 ⊕ 0 ⊕ 1 ⊕ 1 = 0 ⟹ P 3 = 0 P 4 ⊕ D 5 ⊕ D 6 = 0 ⟹ P 4 ⊕ 0 ⊕ 1 = 0 ⟹ P 4 = 1 \begin{aligned} & P_1 \oplus D_1 \oplus D_2 \oplus D_4 \oplus D5 = 0 & \implica & P_1 \oplus 1 \oplus 0 \oplus 1 \oplus 0 = 0 & \implica P_1 = 0 \\ & P_2 \oplus D_1 \oplus D_3 \oplus D_4 \oplus D6 = 0 & \implica & P_2 \oplus 1 \oplus 1 \oplus 1 \ oplus 1 = 0 & \implica P_2 = 0 \\ & P_3 \oplus D_2 \oplus D_3 \oplus D_4 = 0 & \implica & P_3 \oplus 0 \oplus 1 \oplus 1 = 0 & \implica P_3 = 0 \\ & P_4 \oplus D_5 \oplus D_6 = 0 & \implica & P_4 \oplus 0 \oplusPAG1D1D2D4D 5=0PAG2D1D3D4D6 _=0PAG3D2D3D4=0PAG4D5D6=0PAG11010=0PAG21111=0PAG3011=0PAG401=0PAG1=0PAG2=0PAG3=0PAG4=1

Complete el valor del dígito de control resultante

Ubicación 1 2 3 4 5 6 7 8 9 10
representación binaria 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010
código P 1 P_1PAG1 P 2 P_2PAG2 D 1 D_1D1 P3P_3PAG3 D 2 D_2D2 D 3 D_3D3 D 4 D_4D4 P 4 P_4PAG4 D 5 D_5D5 D 6 D_6D6
valor actual 0 0 1 0 0 1 1 1 0 1

Es decir, los datos transmitidos son 0010 0111 01

04 Detección y corrección de errores

Supongamos que el quinto bit durante la transmisión es D 2 D_2D2Ocurrió un error, el resultado recibido fue 0010 1 111 01

Realice el cálculo XOR de acuerdo con el método del valor de verificación
P 1 ⊕ D 1 ⊕ D 2 ⊕ D 4 ⊕ D 5 = 0 ⊕ 1 ⊕ 1 ⊕ 1 ⊕ 0 = 1 P 2 ⊕ D 1 ⊕ D 3 ⊕ D 4 ⊕ D 6 = 0 ⊕ 1 ⊕ 1 ⊕ 1 ⊕ 1 = 0 P 3 ⊕ D 2 ⊕ D 3 ⊕ D 4 = 0 ⊕ 1 ⊕ 1 ⊕ 1 = 1 P 4 ⊕ D 5 ⊕ D 6 = 1 ⊕ 0 ⊕ 1 = 0 \ comenzar {alineado} & P_1 \oplus D_1 \oplus D_2 \oplus D_4 \oplus D5 & = & 0 \oplus 1 \oplus 1 \oplus 1 \oplus 0 & = 1 & \\ & P_2 \oplus D_1 \oplus D_3 \oplus D_4 \oplus D6 & = & 0 \oplus 1 \oplus 1 \oplus 1 \oplus 1 & = 0 \\ & P_3 \oplus D_2 \oplus D_3 \oplus D_4 & = & 0 \oplus 1 \oplus 1 \oplus 1 & = 1 \\ & P_4 \oplus D_5\oplus D_6 & = & 1 \oplus 0 \oplus 1 & = 0 \end{alineado}PAG1D1D2D4D 5PAG2D1D3D4D6 _PAG3D2D3D4PAG4D5D6====01110011110111101=1=0=1=0
El resultado de ordenar de abajo hacia arriba es 0101, que corresponde al decimal 5, es decir, el quinto bit está mal, simplemente cámbielo de 1 a 0.

Nota: Se pueden detectar errores de un solo bit y de doble bit, pero solo se pueden corregir errores de un solo bit. Si ocurre un error de doble bit, el resultado de la verificación del código Hamming solo puede indicar un error, es decir, el resultado de la verificación no es todo 0, pero la posición correspondiente no es necesariamente incorrecta. En este caso, el código Hamming por defecto es un único -bit error y se corrige. , habrá corrección de errores y problemas de error.

Principio : Cuando una determinada salida XOR de detección de error de bit de verificación es 1, significa que la posición de la "representación binaria de posición" del bit de error debe ser 1. Si la salida XOR es 0, significa que la posición de la "posición La representación binaria" del bit de error debe ser 1. La posición es 0. Luego, los resultados de la verificación ordenados de abajo hacia arriba representan exactamente la "representación binaria de posición" del bit de error.

Mi comprensión personal. Si hay algún error o si lo comprende mejor, corríjame.

Lo anterior son notas de estudio personales, enlace de video de estudio Estación B-Examen de ingreso de posgrado de Wangdao-Red informática

Supongo que te gusta

Origin blog.csdn.net/qq_44856695/article/details/105350019
Recomendado
Clasificación