Turbo codici: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Funzionalità collegamenti suggeriti: 3 collegamenti inseriti.
Corretto: "concatenate"
 
(4 versioni intermedie di 3 utenti non mostrate)
Riga 23:
Oltre all'invenzione dei turbo codici, Claude Berrou ha anche sviluppato i [[codici ricorsivi sistematici convoluzionali]] (RSC), utilizzati nell'esempio di implementazione dei turbo codici descritti nel brevetto (i turbo codici che usano i codici RSC sembrano funzionare meglio di quelli che non li usano).
 
Prima dei codici turbo, le migliori implementazioni FEC erano costituite da codifiche seriali concatenaticoncatenate basate su un codice di correzione degli errori esterno [[Reed-Solomon]] combinato con un codice interno convoluzionale a lunghezza corta [[algoritmo di Viterbi]], noto anche come codice RSV.
 
In un saggio successivo, Berrou ha generosamente riconosciuto l'intuizione di "G. Battail, J. Hagenauer e P. Hoeher, che, alla fine degli anni '80, hanno acceso l'interesse per l'elaborazione probabilistica". Aggiungendo che " R. Gallager e M. Tanner avevano già immaginato tecniche di codifica e decodifica i cui principi generali erano strettamente correlati," anche se i calcoli necessari erano impraticabili a quel tempo.<ref>{{Cita pubblicazione|nome=Claude|cognome=Berrou|titolo=The ten-year-old turbo codes are entering into service|città=Bretagne, France|accesso=11 febbraio 2010|url=http://www-elec.enst-bretagne.fr/equipe/berrou/com_mag_berrou.pdf}}</ref>
Riga 45:
 
==Il decoder==
Il decodificatore è costruito in modo simile all'encoder. Due decodificatori elementari sono interconnessi tra loro ma in modo seriale non in parallelo. Il decodificatore <math>\scriptstyle DEC_1</math> funziona a bassa velocità (es. <math>\scriptstyle R_1</math>) quindi è riferito al codificatore <math>\scriptstyle C_1</math> e corrispondentemente <math>\scriptstyle DEC_2</math> sta per il <math>\scriptstyle C_2</math>. <math>\scriptstyle DEC_1</math> produce una decisione di tipo ''soft decision'' che causa un ritardo <math>\scriptstyle L_1</math>. Lo stesso ritardo prodotto dalla linea di ritardo nell'encoder. L'operazione <math>\scriptstyle DEC_2</math> causa un ritardo <math>\scriptstyle L_2</math>.
 
[[File:turbo decoder.svg]]
Riga 66:
:<math>\Lambda(d_k) = \log\frac{p(d_k = 1)}{p(d_k = 0)}</math>
 
e la consegna a <math>\scriptstyle DEC_2</math>. <math>\scriptstyle \Lambda(d_k)</math> è il codiddettocosiddetto ''logaritmo del rapporto di verosimiglianza'' (LLR). <math>\scriptstyle p(d_k \;=\; i),\, i \,\in\, \{0,\, 1\}</math> è la ''è la probabilità a posteriori'' (APP) del <math>\scriptstyle d_k</math> bit di dati, cioè la probabilità nell'interpretare un bit ricevuto <math>\scriptstyle d_k</math> come <math>\scriptstyle i</math>. Prendendo in considerazione l'''LLR'', <math>\scriptstyle DEC_2</math> produce una decisione ''hard''; cioè un bit decodificato.
 
L'[[Algoritmo di Viterbi]] non è in grado di calcolare l'APP, quindi non può essere utilizzato in <math>\scriptstyle DEC_1</math>. Qui può essere usato utilizzato un algoritmo BCJR modificato [[BCJR algorithm]]. Per <math>\scriptstyle DEC_2</math> invece l'algoritmo di Viterbi è appropriato.
Riga 112:
|volume=16
|numero=2
|pp=140–152140-152
|anno=1998
| issn=0733-8716
Riga 130:
==Collegamenti esterni==
* [https://web.archive.org/web/20180113202924/https://www.spectrum.ieee.org/computing/software/closing-in-on-the-perfect-code "Closing In On The Perfect Code"], IEEE Spectrum, March 2004
* [http://www.csee.wvu.edu/~mvalenti/documents/valenti01.pdf "The UMTS Turbo Code and an Efficient Decoder Implementation Suitable for Software-Defined Radios"] {{Webarchive|url=https://web.archive.org/web/20161020193559/http://www.csee.wvu.edu/~mvalenti/documents/valenti01.pdf |date=20 ottobre 2016 }} (''International Journal of Wireless Information Networks'')
* {{Cita pubblicazione|autore=Dana Mackenzie |titolo=Take it to the limit |url=https://archive.org/details/sim_new-scientist_2005-07-09_187_2507/page/n39 |rivista=New Scientist |volume=187 |numero=2507 |anno=2005 |pp=38–4138-41 | postscript=. | issn=0262-4079 }} ([https://www.newscientist.com/article.ns?id=mg18725071.400 preview], [https://web.archive.org/web/20060902150939/http://geilenkotten.homeunix.org/TC_NS_09072005.pdf copy])
* [https://www.sciencenews.org/articles/20051105/bob8.asp "Pushing the Limit"] {{Webarchive|url=https://web.archive.org/web/20080423213747/http://www.sciencenews.org/articles/20051105/bob8.asp |date=23 aprile 2008 }}, a ''[[Science News]]'' feature about the development and genesis of turbo codes
* [http://www-turbo.enst-bretagne.fr/ International Symposium On Turbo Codes]
* [http://www.iterativesolutions.com/Matlab.htm Coded Modulation Library], an open source library for simulating turbo codes in matlab
* [http://www.ifp.uiuc.edu/~singer/journalpapers/tuchler_2002a.pdf "Turbo Equalization: Principles and New Results"] {{Webarchive|url=https://web.archive.org/web/20090227062216/http://www.ifp.uiuc.edu/~singer/journalpapers/tuchler_2002a.pdf |date=27 febbraio 2009 }}, an ''[[IEEE Transactions on Communications]]'' article about using convolutional codes jointly with channel equalization.
* [http://itpp.sourceforge.net IT++ Home Page] The [[IT++]] is a powerful C++ library which in particular supports turbo codes
* [http://www.inference.phy.cam.ac.uk/mackay/CodesTurbo.html Turbo codes publications by David MacKay]