Comunicazione digitale - Codifica controllo errori
Il rumore o l'errore è il problema principale nel segnale, che disturba l'affidabilità del sistema di comunicazione. Error control codingè la procedura di codifica eseguita per controllare il verificarsi di errori. Queste tecniche aiutano nel rilevamento e nella correzione degli errori.
Esistono molti codici di correzione degli errori diversi a seconda dei principi matematici applicati. Ma, storicamente, questi codici sono stati classificati inLinear block codes e Convolution codes.
Codici blocco lineari
Nei codici a blocchi lineari, i bit di parità e i bit di messaggio hanno una combinazione lineare, il che significa che la parola di codice risultante è la combinazione lineare di due parole di codice qualsiasi.
Consideriamo alcuni blocchi di dati, che contiene kbit in ogni blocco. Questi bit sono mappati con i blocchi che hanbit in ogni blocco. Quin è più grande di k. Il trasmettitore aggiunge bit ridondanti che sono(n-k)bit. Il rapportok/n è il code rate. È indicato dar e il valore di r è r < 1.
Il (n-k) bit aggiunti qui, sono parity bits. I bit di parità aiutano nel rilevamento e nella correzione degli errori e anche nell'individuazione dei dati. Nei dati trasmessi, i bit più a sinistra della parola di codice corrispondono ai bit di messaggio, e i bit più a destra della parola di codice corrispondono ai bit di parità.
Codice sistematico
Qualsiasi codice a blocchi lineare può essere un codice sistematico, finché non viene alterato. Quindi, un codice a blocchi inalterato viene chiamato come filesystematic code.
Di seguito è riportata la rappresentazione del file structure of code word, secondo la loro assegnazione.
Se il messaggio non viene alterato, viene chiamato come codice sistematico. Significa che la crittografia dei dati non dovrebbe modificare i dati.
Codici di convoluzione
Finora, nei codici lineari, abbiamo discusso che è preferibile un codice sistematico inalterato. Di seguito i dati del totalen bit se trasmessi, k i bit sono bit di messaggio e (n-k) i bit sono bit di parità.
Nel processo di codifica, i bit di parità vengono sottratti da tutti i dati e i bit di messaggio vengono codificati. Ora, i bit di parità vengono nuovamente aggiunti e tutti i dati vengono nuovamente codificati.
La figura seguente cita un esempio per blocchi di dati e flusso di dati, utilizzati per la trasmissione di informazioni.
L'intero processo, sopra indicato, è noioso e presenta degli inconvenienti. L'assegnazione del buffer è un problema principale qui, quando il sistema è occupato.
Questo inconveniente viene eliminato nei codici di convoluzione. Dove all'intero flusso di dati vengono assegnati simboli e quindi trasmessi. Poiché i dati sono un flusso di bit, non è necessario un buffer per l'archiviazione.
Codici di Hamming
La proprietà di linearità della parola in codice è che anche la somma di due parole in codice è una parola in codice. I codici di Hamming sono il tipo dilinear error correcting codici, che possono rilevare fino a due errori di bit o possono correggere errori di un bit senza il rilevamento di errori non corretti.
Durante l'utilizzo dei codici hamming, vengono utilizzati bit di parità aggiuntivi per identificare un singolo errore di bit. Per passare da un pattern a un bit all'altro, è necessario modificare pochi bit nei dati. Tale numero di bit può essere definito comeHamming distance. Se la parità ha una distanza di 2, è possibile rilevare il ribaltamento di un bit. Ma questo non può essere corretto. Inoltre, non è possibile rilevare eventuali capovolgimenti di due bit.
Tuttavia, il codice di Hamming è una procedura migliore di quelle discusse in precedenza per il rilevamento e la correzione degli errori.
Codici BCH
I codici BCH prendono il nome dagli inventori Bose, Chaudari e Hocquenghem. Durante la progettazione del codice BCH, c'è il controllo sul numero di simboli da correggere e quindi è possibile la correzione di più bit. I codici BCH sono una tecnica potente per correggere i codici.
Per qualsiasi numero intero positivo m ≥ 3 e t < 2m-1esiste un codice binario BCH. Di seguito sono riportati i parametri di tale codice.
Lunghezza blocco n = 2m-1
Numero di cifre per il controllo di parità n - k ≤ mt
Distanza minima dmin ≥ 2t + 1
Questo codice può essere chiamato come t-error-correcting BCH code.
Codici ciclici
La proprietà ciclica delle parole in codice è che qualsiasi spostamento ciclico di una parola in codice è anche una parola in codice. I codici ciclici seguono questa proprietà ciclica.
Per un codice lineare C, se ogni parola in codice, ad esempio, C = (C1, C2, ...... Cn)da C ha uno spostamento ciclico a destra dei componenti, diventa una parola in codice. Questo spostamento di destra è uguale an-1turni ciclici a sinistra. Quindi, è invariante in ogni spostamento. Quindi, il codice lineareC, poiché è invariante in qualsiasi spostamento, può essere chiamato come a Cyclic code.
I codici ciclici vengono utilizzati per la correzione degli errori. Sono utilizzati principalmente per correggere errori doppi ed errori burst.
Quindi, questi sono alcuni codici di correzione degli errori, che devono essere rilevati nel ricevitore. Questi codici impediscono che vengano introdotti errori e disturbano la comunicazione. Impediscono inoltre che il segnale venga intercettato da ricevitori indesiderati. C'è una classe di tecniche di segnalazione per raggiungere questo obiettivo, che sono discusse nel prossimo capitolo.