Scrambler.c

Attenzione: Post per veri Ingegneri! 

Se non lo sapete io e Fox stiamo progettando in C un modulatore DAB ( Radio digitale ),sistema pressochè molto simile al DVB-T.Una delle operazioni principali è quella dello scrambler che serve per una dispersione dell’energia del segnale.Non entrando nei dettagli tecnici un modo semplice e veloce per implementarlo in C è quello di utilizzare delle parole char e fare degli shift oppurtuni…

Beh non sto qui a spiegarlo perkè sarebbe lunga la cosa, vi dico solo che il tutto è fatto con un registro a scorrimento e che gli shift usati nella funzione derivano dal polinomio generatore associato allo standard DAB.

Per chi è interessato ecco il codice:

void scrambler (unsigned short int seed, char *data, int scr_length)

{
unsigned short int x;
unsigned short int scrambler_bit;
int i;

x=seed;

for (i=0;i

scrambler_bit=((x>>8) & 1)^((x>>4) & 1);
x=(x<<1)+scrambler_bit; *(data+i)=((*(data+i)) & 1)^(scrambler_bit & 1);}}

5 risposte a “Scrambler.c”

I commenti sono chiusi