Precedente :: Successivo |
Autore |
Messaggio |
Andrea Moderatore

Registrato: 23/12/03 13:10 Messaggi: 5200
|
Inviato: Lun Mar 15, 2004 7:50 pm Oggetto: [Reti e S.O.] Tecnica Code Division Multiplex |
|
|
Visto che mi ha incuriosito molto la spiegazione di oggi, ho cercato di capire l'algoritmo del CDM e ho preparato questo: critiche e consigli sono bene accetti!
Questo tipo di multiplazione permette di trasmettere N segnali (s1,s2,s3,...,sN) con banda c in un canale con banda pari a C=c*N.
Il tutto parte dal fatto che il prodotto scalare di due o pi� vettori ortogonali � uguale a 0.
Proviamo a trasmettere sullo stesso canale 4 dati (s1, s2, s3, s4) da 4 bit l'uno , multiplexandoli con tecnica CDM.
s1=[1 1 0 1]
s2=[0 1 0 1]
s3=[0 0 0 1]
s4=[0 0 0 1]
1) Dobbiamo definire 4 parole di chip (una per canale), ortogonali tra di loro. Usiamo allora la regola di Hadamart, da cui otteniamo le quattro righe:
c1=[1 1 1 1]
c2=[1 -1 1 -1]
c3=[1 1 -1 -1]
c4=[1 1 -1 1]
2) L'algoritmo di CDM � un algoritmo sincrono al bit: iniziamo con il primo bit di ogni dato
s1(1)=1 s1(1).*c1=[1 1 1 1]
s2(1)=0 s2(1).*c2=[0 0 0 0]
s3(1)=0 s3(1).*c3=[0 0 0 0]
s4(1)=0 s4(1).*c4=[0 0 0 0]
Sommo tutti vettori ottenuti e ottengo
R(1)=\sum(s_i(1).*c_i)=[1 1 1 1]
Questi saranno i 4 valori trasmessi sulla linea in modo seriale (la linea � 4 volte pi� veloce dei miei messaggi s) al primo ciclo.
continuiamo con il secondo bit di ogni dato
s1(2)=1 s1(2).*c1=[1 1 1 1]
s2(2)=1 s2(2).*c2=[1 -1 1 -1]
s3(2)=0 s3(2).*c3=[0 0 0 0]
s4(2)=0 s4(2).*c4=[0 0 0 0]
Sommo tutti vettori ottenuti e ottengo
R(2)=\sum(s_i(2).*c_i)=[2 0 2 0]
poi il terzo bit
s1(3)=0 s1(3).*c1=[0 0 0 0]
s2(3)=0 s2(3).*c2=[0 0 0 0]
s3(3)=0 s3(3).*c3=[0 0 0 0]
s4(3)=0 s4(3).*c4=[0 0 0 0]
Sommo tutti vettori ottenuti e ottengo
R(3)=\sum(s_i(3).*c_i)=[0 0 0 0]
ed il quarto
s1(4)=1 s1(4).*c1=[1 1 1 1]
s2(4)=1 s2(4).*c2=[1 -1 1 -1]
s3(4)=1 s3(4).*c3=[1 1 -1 -1]
s4(4)=1 s4(4).*c4=[1 -1 -1 1]
Sommo tutti vettori ottenuti e ottengo
R(4)=\sum(s_i(4).*c_i)=[4 0 0 0]
3) Ricezione e decodifica dei chips
Ecco le parole di chip inviate e ricevute dal ricevitore nei 4 cicli
R(1)=\sum(s_i(1).*c_i)=[1 1 1 1]
R(2)=\sum(s_i(2).*c_i)=[2 0 2 0]
R(3)=\sum(s_i(3).*c_i)=[0 0 0 0]
R(4)=\sum(s_i(4).*c_i)=[4 0 0 0]
Per andare a decodificare le parole, baster� moltiplicarle scalarmente per la proiezione ortogonale dei vettori.
Decodifichiamo R(1). Ci aspettiamo:
s1(1)=1 ? R(1).*((c1)/|c1|)=[1 1 1 1].*[1 1 1 1]/4= 1 OK!
s2(1)=0 ? R(1).*((c2)/|c2|)=[1 1 1 1].*[1 -1 1 -1]/4= 0 OK!
s3(1)=0 ? R(1).*((c3)/|c3|)=[1 1 1 1].*[1 1 -1 -1]/4= 0 OK!
s4(1)=0 ? R(1).*((c4)/|c4|)=[1 1 1 1].*[1 -1 -1 1]/4= 0 OK!
Decodifichiamo R(2). Ci aspettiamo:
s1(2)=1 ? R(2).*((c1)/|c1|)=[2 0 2 0].*[1 1 1 1]/4= 1 OK!
s2(2)=1 ? R(2).*((c2)/|c2|)=[2 0 2 0].*[1 -1 1 -1]/4= 1 OK!
s3(2)=0 ? R(2).*((c3)/|c3|)=[2 0 2 0].*[1 1 -1 -1]/4= 0 OK!
s4(2)=0 ? R(2).*((c4)/|c4|)=[2 0 2 0].*[1 -1 -1 1]/4= 0 OK!
Decodifichiamo R(3). Ci aspettiamo:
s1(3)=0 ? R(3).*((c1)/|c1|)=[0 0 0 0].*[1 1 1 1]/4= 0 OK!
s2(3)=0 ? R(3).*((c2)/|c2|)=[0 0 0 0].*[1 -1 1 -1]/4= 0 OK!
s3(3)=0 ? R(3).*((c3)/|c3|)=[0 0 0 0].*[1 1 -1 -1]/4= 0 OK!
s4(3)=0 ? R(3).*((c4)/|c4|)=[0 0 0 0].*[1 -1 -1 1]/4= 0 OK!
Decodifichiamo R(4). Ci aspettiamo:
s1(4)=1 ? R(4).*((c1)/|c1|)=[4 0 0 0].*[1 1 1 1]/4= 1 OK!
s2(4)=1 ? R(4).*((c2)/|c2|)=[4 0 0 0].*[1 -1 1 -1]/4= 1 OK!
s3(4)=1 ? R(4).*((c3)/|c3|)=[4 0 0 0].*[1 1 -1 -1]/4= 1 OK!
s4(4)=1 ? R(4).*((c4)/|c4|)=[4 0 0 0].*[1 -1 -1 1]/4= 1 OK!
Chiaramente la cosa imporantante � osservare che il canale non solo deve essere in grado di trasmettere ad una velocit� N volte superiore a quella di ciascuno dei N canali codificati, ma deve anche essere in grado di saper trasmettere e ricevere valori da 0 a N (in questo caso magari 4 livelli di tensione diversi).
L'ultima modifica di Andrea il Lun Mar 15, 2004 9:50 pm, modificato 1 volta |
|
Top |
|
 |
vinz Amministratore


Registrato: 12/12/03 12:56 Messaggi: 6648 Residenza: San Pellegrino Terme (Bergamo)
|
Inviato: Lun Mar 15, 2004 8:07 pm Oggetto: |
|
|
Bravo Andrea!
Me lo stampo e me lo guardo per bene...
Intanto pubblico il pdf che mi hai mandato: sempre per quanto riguarda il CDM, andate senza passare dal via, a pag. 25.
http://www.vincenzomanzoni.com/pdf/Fisico_DataLink.pdf (~1 MByte) _________________ Let the future tell the truth and evaluate each one according to his work and accomplishments. The present is theirs; the future, for which I really worked, is mine.
Nikola Tesla |
|
Top |
|
 |
Andrea Moderatore

Registrato: 23/12/03 13:10 Messaggi: 5200
|
Inviato: Lun Mar 15, 2004 8:16 pm Oggetto: Dimenticavo |
|
|
Problemi di Spread Spectrum? Ecco la soluzione...
Ed ecco il perch�: ecco a voi la Diva Hedy Lamarr (ad averla all'universit� una cos�! vabb�, a me basta gi� la Divina!) |
|
Top |
|
 |
Endless Utente adulto


Registrato: 23/12/03 18:06 Messaggi: 2905 Residenza: Bergamo (provincia)
|
Inviato: Lun Mar 15, 2004 9:53 pm Oggetto: |
|
|
bella trattazione Andrea, non ho capito molto la parte iniziale dove hai usato al regola di Hadamart (forse perch� era la prima volta oggi che la vedevo in vita mia!), magari la stampo anche io e domani mi dai qualche delucidazione..!
Bellissimo il .pdf e interessante collegamento con la Lamarr, peraltro donna di grande fascino! L'unica macchiolina del tuo intervento � la credibilit� dell'autore dell'articolo,mi sa tanto di Mago ?don?Asimiento? (mi scuso per aver scritto come si legge ma dopo tutto faccio solo il secondo anno di ingegneria..! )
DATE UN'OCCHIATA ALLE DATE: Federico Peiretti ha scritto: | Lamarr � scomparsa il 18 gennaio del 2000, poche settimane dopo aver festeggiato il suo ottantaseiesimo compleanno, il 9 novembre 1999.
Federico Peiretti
LA STAMPA, 25/03/98 |  _________________
Training autogeno: in caso di stress, eseguite il movimento in figura e ripetete:
"Amo il mio lavoro! Amo il mio lavoro! Amo il mio lavoro!" |
|
Top |
|
 |
Endless Utente adulto


Registrato: 23/12/03 18:06 Messaggi: 2905 Residenza: Bergamo (provincia)
|
Inviato: Lun Mar 15, 2004 10:07 pm Oggetto: |
|
|
Endless ha scritto: | bella trattazione Andrea, non ho capito molto la parte iniziale dove hai usato al regola di Hadamart | Come non "scritto"! L'ho riletto (il tuo appunto intendo, Andrea) e l'ho capito! Adesso dormir� sonni pi� quieti..  _________________
Training autogeno: in caso di stress, eseguite il movimento in figura e ripetete:
"Amo il mio lavoro! Amo il mio lavoro! Amo il mio lavoro!" |
|
Top |
|
 |
Andrea Moderatore

Registrato: 23/12/03 13:10 Messaggi: 5200
|
Inviato: Lun Mar 15, 2004 10:14 pm Oggetto: |
|
|
Endless ha scritto: | EVENTO! L'ho riletto (il tuo appunto intendo, Andrea) |
E' una regola ricorsiva per creare N vettori ortogonali tra loro. Io ho usato N=4, ma in realt� se usano molti di pi�, in modo tale da creare un rumore pi� simile al rumore di fondo.
Sarebbe molto bello fare la trasformata di Fourier su un segnale puro e poi vedere come diventa in spread spectrum... |
|
Top |
|
 |
Omino Na Utente maturo


Registrato: 27/12/03 12:27 Messaggi: 1321 Residenza: Seriate (BG)
|
Inviato: Lun Mar 15, 2004 11:28 pm Oggetto: |
|
|
Andrea ha scritto: | E' una regola ricorsiva per creare N vettori ortogonali tra loro. Io ho usato N=4 |
Premetto che non ho letto tutto il post precedenteme (troooooppo ingegneristico!! ), ma visto che mi avevi chiesto degli ortogonali: stai parlando dell'ortogonalizzazione di Gram-Schmidt, vero? _________________ "Se un matematico e un fisico riescono a mettersi d'accordo su una cosa � molto ma molto probabile che questa sia vera." (Wiso, da it.scienza.matematica) |
|
Top |
|
 |
vinz Amministratore


Registrato: 12/12/03 12:56 Messaggi: 6648 Residenza: San Pellegrino Terme (Bergamo)
|
Inviato: Lun Mar 15, 2004 11:30 pm Oggetto: |
|
|
Endless ha scritto: | DATE UN'OCCHIATA ALLE DATE |
Mi ero accorto anche io...
Probabilmente il pezzo riguardo alla morte � stato scritto dopo il 1998... o almeno spero!  _________________ Let the future tell the truth and evaluate each one according to his work and accomplishments. The present is theirs; the future, for which I really worked, is mine.
Nikola Tesla |
|
Top |
|
 |
Andrea Moderatore

Registrato: 23/12/03 13:10 Messaggi: 5200
|
Inviato: Lun Mar 15, 2004 11:58 pm Oggetto: Aggiungendo... |
|
|
Volevo aggiungere che nella realt� non si fanno tutti questi conti... semplicemente (direct spread spectrum signal) si mette una trama di chip in XOR con i dati da trasmettere.
Niente ortogonalizzazioni (non so chi sono i tipi che hai detto... )! |
|
Top |
|
 |
Omino Na Utente maturo


Registrato: 27/12/03 12:27 Messaggi: 1321 Residenza: Seriate (BG)
|
Inviato: Mar Mar 16, 2004 12:26 am Oggetto: Re: Aggiungendo... |
|
|
Andrea ha scritto: | Niente ortogonalizzazioni (non so chi sono i tipi che hai detto... )! |
Ah, ok... scusa!  _________________ "Se un matematico e un fisico riescono a mettersi d'accordo su una cosa � molto ma molto probabile che questa sia vera." (Wiso, da it.scienza.matematica) |
|
Top |
|
 |
|