D
Dimaa
Guest
Sono la simulazione di un modem in Matlab.
Il disegno è una scrambler dati, ho notato che introduce errori al sistema.
Se un bit nel flusso di dati in input descrambler è sbagliato ('0 'al posto di '1' o viceversa), ci sono 3 bit di errore in uscita di descrambler.It significa che scrambler aggiunge due bit di errore del sistema.A causa di questo, vi è grave degrado delle prestazioni del sistema, circa 2 dB.Nessun codice di correzione di errore viene utilizzato.
È questa situazione okey?E 'davvero necessario aggiungere i bit di errore se si verifica un errore in ingresso?
Questi sono i miei codice per scrambler e descrambler:
scrambler:
Codice:scramler% in base al primitivo 1 polynome x ^ 14 x ^ 15
function out = scrambler (x)
N = length (x);Sezione di inizializzazione% Scrambler
se x (1:2) == [0 0], y (1:15) = [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]; fine;
se x (1:2) == [0 1], y (1:15) = [0 1 1 1 0 0 0 0 1 1 1 1 1 1 1]; fine;
se x (1:2) == [1 0], y (1:15) = [0 1 1 1 1 1 1 1 0 0 0 0 0 0 0]; fine;
se x (1:2) == [1 1], y (1:15) = [0 1 1 1 1 0 0 0 0 0 0 0 1 1 1]; fine;uscita (1: N) = 0;
per i = 1: N
output (I) = XOR (x (i), XOR (y (15), Y (14)));
y (15: -1:2) y = (14: -1:1);% registro a scorrimento
y (1) = output (I);end;
out = output;
Il disegno è una scrambler dati, ho notato che introduce errori al sistema.
Se un bit nel flusso di dati in input descrambler è sbagliato ('0 'al posto di '1' o viceversa), ci sono 3 bit di errore in uscita di descrambler.It significa che scrambler aggiunge due bit di errore del sistema.A causa di questo, vi è grave degrado delle prestazioni del sistema, circa 2 dB.Nessun codice di correzione di errore viene utilizzato.
È questa situazione okey?E 'davvero necessario aggiungere i bit di errore se si verifica un errore in ingresso?
Questi sono i miei codice per scrambler e descrambler:
scrambler:
Codice:scramler% in base al primitivo 1 polynome x ^ 14 x ^ 15
function out = scrambler (x)
N = length (x);Sezione di inizializzazione% Scrambler
se x (1:2) == [0 0], y (1:15) = [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]; fine;
se x (1:2) == [0 1], y (1:15) = [0 1 1 1 0 0 0 0 1 1 1 1 1 1 1]; fine;
se x (1:2) == [1 0], y (1:15) = [0 1 1 1 1 1 1 1 0 0 0 0 0 0 0]; fine;
se x (1:2) == [1 1], y (1:15) = [0 1 1 1 1 0 0 0 0 0 0 0 1 1 1]; fine;uscita (1: N) = 0;
per i = 1: N
output (I) = XOR (x (i), XOR (y (15), Y (14)));
y (15: -1:2) y = (14: -1:1);% registro a scorrimento
y (1) = output (I);end;
out = output;