Torna in homepage www.vincenzomanzoni.com
Homepage personale e blog di Vincenzo Manzoni
 
 FAQFAQ   CercaCerca   Cerca con GoogleCerca con Google   Lista utentiLista utenti   GruppiGruppi   RegistratiRegistrati   Feed AtomFeed
 ProfiloProfilo   Messaggi privatiMessaggi privati   Log inLog in 

[Reti e S.O.] Tecnica Code Division Multiplex

 
Questo forum è chiuso: Non puoi inserire, rispondere o modificare gli argomenti.   Quest'argomento è chiuso: Non puoi inserire, rispondere o modificare i messaggi.    Indice del forum -> Men at work
Precedente :: Successivo  
Autore Messaggio
Andrea
Moderatore
Moderatore


Registrato: 23/12/03 13:10
Messaggi: 5200

MessaggioInviato: Lun Mar 15, 2004 7:50 pm    Oggetto: [Reti e S.O.] Tecnica Code Division Multiplex Rispondi citando

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
Profilo Invia messaggio privato MSN
vinz
Amministratore
Amministratore


Registrato: 12/12/03 12:56
Messaggi: 6648
Residenza: San Pellegrino Terme (Bergamo)

MessaggioInviato: Lun Mar 15, 2004 8:07 pm    Oggetto: Rispondi citando

Bravo Andrea! Cool

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.

https://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
Profilo Invia messaggio privato HomePage
Andrea
Moderatore
Moderatore


Registrato: 23/12/03 13:10
Messaggi: 5200

MessaggioInviato: Lun Mar 15, 2004 8:16 pm    Oggetto: Dimenticavo Rispondi citando

Problemi di Spread Spectrum? Ecco la soluzione...



Ed ecco il perché: ecco a voi la Diva Hedy Lamarr (ad averla all'università una così! Wink vabbè, a me basta già la Divina!)
Top
Profilo Invia messaggio privato MSN
Endless
Utente adulto
Utente adulto


Registrato: 23/12/03 18:06
Messaggi: 2905
Residenza: Bergamo (provincia)

MessaggioInviato: Lun Mar 15, 2004 9:53 pm    Oggetto: Rispondi citando

bella trattazione Andrea, non ho capito molto la parte iniziale dove hai usato al regola di Hadamart Rolling Eyes (forse perchè era la prima volta oggi che la vedevo in vita mia!), magari la stampo anche io e domani mi dai qualche delucidazione..! Wink
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..! Very Happy )

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
Shocked Shocked Shocked Confused Rolling Eyes Wink
_________________

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
Profilo Invia messaggio privato Invia e-mail HomePage MSN
Endless
Utente adulto
Utente adulto


Registrato: 23/12/03 18:06
Messaggi: 2905
Residenza: Bergamo (provincia)

MessaggioInviato: Lun Mar 15, 2004 10:07 pm    Oggetto: Rispondi citando

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.. Cool
_________________

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
Profilo Invia messaggio privato Invia e-mail HomePage MSN
Andrea
Moderatore
Moderatore


Registrato: 23/12/03 13:10
Messaggi: 5200

MessaggioInviato: Lun Mar 15, 2004 10:14 pm    Oggetto: Rispondi citando

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
Profilo Invia messaggio privato MSN
Omino Na
Utente maturo
Utente maturo


Registrato: 27/12/03 12:27
Messaggi: 1321
Residenza: Seriate (BG)

MessaggioInviato: Lun Mar 15, 2004 11:28 pm    Oggetto: Rispondi citando

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!! Very Happy Very Happy ), 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
Profilo Invia messaggio privato HomePage
vinz
Amministratore
Amministratore


Registrato: 12/12/03 12:56
Messaggi: 6648
Residenza: San Pellegrino Terme (Bergamo)

MessaggioInviato: Lun Mar 15, 2004 11:30 pm    Oggetto: Rispondi citando

Endless ha scritto:
DATE UN'OCCHIATA ALLE DATE

Mi ero accorto anche io... Shocked
Probabilmente il pezzo riguardo alla morte è stato scritto dopo il 1998... o almeno spero! Rolling Eyes
_________________
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
Profilo Invia messaggio privato HomePage
Andrea
Moderatore
Moderatore


Registrato: 23/12/03 13:10
Messaggi: 5200

MessaggioInviato: Lun Mar 15, 2004 11:58 pm    Oggetto: Aggiungendo... Rispondi citando

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... Rolling Eyes )!
Top
Profilo Invia messaggio privato MSN
Omino Na
Utente maturo
Utente maturo


Registrato: 27/12/03 12:27
Messaggi: 1321
Residenza: Seriate (BG)

MessaggioInviato: Mar Mar 16, 2004 12:26 am    Oggetto: Re: Aggiungendo... Rispondi citando

Andrea ha scritto:
Niente ortogonalizzazioni (non so chi sono i tipi che hai detto... Rolling Eyes )!

Ah, ok... scusa! Wink
_________________
"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
Profilo Invia messaggio privato HomePage
Mostra prima i messaggi di:   
Questo forum è chiuso: Non puoi inserire, rispondere o modificare gli argomenti.   Quest'argomento è chiuso: Non puoi inserire, rispondere o modificare i messaggi.    Indice del forum -> Men at work Tutti i fusi orari sono GMT 1 ora
Pagina 1 di 1

 
Vai a:  
Non puoi inserire nuovi argomenti
Non puoi rispondere a nessun argomento
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi votare nei sondaggi


Powered by phpBB © 2001, 2005 phpBB Group
phpbb.it