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 |
|
|
|