Maximum likelihood (ML) og Turbo-utjevning Roald Otnes 23. februar 2012 Unik4180
Hvem er jeg? (kortversjon) Doktorgrads-stipendiat, 2000-2002 UniK / NTNU / FFI / Kongsberg Tema: Turbo-utjevning for HF radiokommunikasjon Forsker FFI, 2003 2003-04: Kjeller, Turbo-utjevning for HF radiokommunikasjon 2004- : Horten, Undervannsteknologi Akustisk kommunikasjon, sensorer, sensornettverk Bor i Engelsviken
Innhold Del 1: ML og MAP Sammenhengen mellom ML og MAP estimering Viterbi-algoritmen Hard vs soft desisjon Del 2: Turbo-koding og turbo-utjevning Grunnleggende begreper Turbo-koding Kort teori Parallell og seriell konkatenering Turbo-utjevning Innledning til utjevning Kort teori om turbo-utjevning Iterativ kanalestimering Eksempel: HF-kommunikasjon Eksempel: Undervannsakustisk kommunikasjon EXIT-kart Andre anvendelser av Turbo-prinsippet
ML og MAP X y Sekvens av observasjoner: y Sekvens som skal estimeres: x ML: Maximum likelihood p(y x) MAP: Maximum a posteriori probability p(x y) Bayes teorem: p(x y)=p(y x)p(x)/p(y) Ved optimalisering mhp x kan vi se bort fra p(y), og MAP-estimatet maksimerer p(y x)p(x) Dersom vi ikke har noe a priori informasjon om x, er p(x) den samme for alle x, og MAP reduseres til ML (som er enklere)
ML og MAP: Eksempler på system X y Feilrettende kode, additiv støy Kommunikasjonskanal med flerbaner og additiv støy x kan være en sekvens med bits y kan være harde desisjoner (bits), eller y kan være soft informasjon (analogt signal)
Viterbi-algoritmen for ML-dekoding av konvolusjonskode Bruker lysark fra Internett (Carnegie Mellon School of Computer Science), basert på en tutorial fra Chip Fleming ved Netcom: http://www.cs.cmu.edu/afs/cs/project/pscicoguyb/realworld/www/slidesf05/ecc4.ppt
Hard og soft desisjon Hard desisjon: Demodulatoren gjør en terskling og sier om den tror at 0 eller 1 ble sendt. Dekoderen vet ingenting om hvor pålitelig deteksjonen er. Viterbi-algoritmen minimerer Hamming-distanse, Σe (feilsignalet e er 0 eller 1) Soft desisjon: Demodulator gir også dekoderen informasjon om hvor pålitelig deteksjonen er. Viterbi-algoritmen minimerer Euklidsk distanse, Σe 2 (feilsignalet e er analogt)
Hard vs soft desisjon Figur fra: http://www.dsplog.com/2009/01/14/soft-viterbi/ Rate-1/2 konvolusjonskode, generatorpolynom [7,5] (oktal)
Innhold Del 1: ML og MAP Sammenhengen mellom ML og MAP estimering Viterbi-algoritmen Hard vs soft desisjon Del 2: Turbo-koding og turbo-utjevning Grunnleggende begreper Turbo-koding Kort teori Parallell og seriell konkatenering Turbo-utjevning Innledning til utjevning Kort teori om turbo-utjevning Iterativ kanalestimering Eksempel: HF-kommunikasjon Eksempel: Undervannsakustisk kommunikasjon EXIT-kart Andre anvendelser av Turbo-prinsippet
Grunnleggende begreper Feilrettende koding Forkortes FEC (Forward Error Correction) eller ECC (Error-Correcting Code) Introduksjon av redundans som gjør at mottakeren klarer å korrigere bitfeil introdusert av kanalen Eksempler: Konvolusjons-kode, blokk-kode, turbo-kode Antar at kanalen kun innfører additiv (gaussisk) støy; ingen ISI Intersymbol-interferens (ISI) Kanalen har flere propagasjonsveier, med en forskjell i tidsforsinkelse større enn symbol-perioden Eksempel TV med feiljustert antenne: Skygge-bilder Utjevning (equalization): Reduksjon av ISI Eksempler: Lineær utjevner (LE), decision feedback equalizer (DFE), maximum likelihood sequence estimation (MLSE) Interleaver Omstokking av bits, fjerner burst-feil slik at ECC fungerer bedre Log-likelihood ratio (LLR) Soft informasjon, hvor sikker man er på verdien til en bit L(c)=ln(Pr[c=+1]/Pr[c=-1])
Soft informasjon, LLRs LLR: log-likelihood ratio Soft informasjon, hvor sikker man er på verdien til en bit L(c)=ln(Pr[c=+1]/Pr[c=-1]) Eksempel: BPSK i en AWGN-kanal y = c + n, c ±1, n normalfordelt med varians σ 2 L(c)= ln(p[y c=+1] /Pr[y c=-1] ) blir proporsjonal med y Øvelse: Vis dette SISO: Soft-in/soft-out Soft informasjon om kodebits inn Soft informasjon om kodebits ut
Turbo-koding Introdusert ved en konferanse i 1993 av Berrou et al. Parallell konkatenering av to koder, separert av en interleaver (Π) som stokker om på en blokk av bits Komponent-kodene er rekursive systematiske konvolusjonskoder (RSC-koder) Rekursiv vil si uendelig impulsrespons (IIR); informasjonen i en bit spres over resten av interleaver-blokken Det revolusjonerende var den relativt enkle dekodingen Iterasjon av soft informasjon mellom to komponent-dekodere
Berrou s originale Turbo-kode
Komponentdekoderne SISO-dekoder Soft In Soft Out Inputs: Soft informasjon (LLRs) om databits Soft informasjon fra kanalen, gitt av mottatt signal og SNR Output: Soft informasjon om databits Trellis-basert algoritme MAP (Maximum A posteriori Probability); BCJR (Bahl, Cocke, Jelinek og Raviv, 1974) Går gjennom trellisen for en blokk i begge retninger Suboptimale versjoner med lavere kompleksitet eksisterer også SOVA (Soft Output Viterbi Algorithm); Hagenauer 1989 Suboptimal algoritme; går gjennom trellisen kun i en retning
Interleaveren Bitfeil ut fra dekoderne kommer oftest i burst Ekvivalent: LLRs som ligger nær hverandre i tid er korrelerte SISO-dekoderen antar at LLRs inn som ligger nær hverandre i tid er ukorrelerte Dette sørger interleaveren / deinterleaveren for 2 nærliggende feil ut fra den ene dekoderen gir 2 feil som er langt fra hverandre inn til den andre dekoderen Interleaver-design for turbo-koder er et eget fagfelt Tilfeldig interleaver er bra, regulær (f.eks. skriv rad og les kolonne) er dårlig Jo større interleaver, jo bedre ytelse og jo mer tjener man på iterasjoner Effektiv kodelengde = interleaver-størrelsen
Seriell-konkatenert turbo-kode Kan bruke seriell konkatenering istedenfor parallell Kan gi like bra eller bedre ytelse Ikke like godt beskyttet av patent Nå er det soft informasjon om kodebits som itereres Ytre dekoder har ingen informasjon fra kanalen Seriell Parallell
Eksempel seriell-konkatenert kode ten Brink, 2000: Veldig enkel struktur Ytelse 0,1 db dårligere enn Shannon s teoretiske grense (etter 300 iterasjoner) Teoretisk resultat: Man kan komme nær Shannon s grense med seriell konkatenering dersom den indre koden er rekursiv og har koderate 1
Oppsummering turbo-koder 2 komponent-koder, separert av en interleaver Parallell eller seriell konkatenering Iterativ dekoding vha. soft informasjon (LLRs) Kan oppnå ytelse nær Shannon s grense
Utjevning (equalization) Problemet: Intersymbol-interferens (ISI) Utsendt signal Mottatt signal Kan skyldes flere transmisjonsveier, eller filtrering Utjevning: Estimere de sendte symbolene, når det mottatte signalet og kanalens impulsrespons er gitt Ekvivalent: Gjøre frekvensresponsen så flat som mulig
Konvensjonell mottaker System: ECC og interleaver, transmisjon over kanal med ISI Mottaker: Utjevner tar hånd om ISI, etterfulgt av deinterleaver og dekoder Suboptimalt fordi utjevneren ikke gjør bruk av redundansen innført av ECC
Turbo-utjevning Gjør iterasjoner, med feedback-loop fra dekoder til utjevner Soft informasjon om kode-bits Utjevner og dekoder er SISO-moduler Kan sammenliknes med seriell-konkatenert turbokode Indre kode har blitt erstattet av ISI-kanal Indre kode ikke rekursiv Kan også brukes med høyere ordens konstellasjoner (8-PSK, QAM) Ikke nødvendigvis Turbo-kode
SISO-utjevnere I motsetning til i en konvensjonell mottaker, må utjevneren ta hensyn til soft informasjon inn og gi soft informasjon ut Ulike algoritmer: MAP: Best ytelse. Trellis-basert, ofte for kompleks DFE: Velegnet i konvensjonell mottaker, ikke spesielt egnet som SISOutjevner LE (f.eks MMSE) kombinert med soft ISI-kansellering
Iterativ kanalestimering Når kanalens impulsrespons (CIR) er ukjent og/eller tidsvarierende, må den estimeres Gjøres i utgangspunktet vha. trenings-sekvenser Estimatet kan forbedres fra iterasjon til iterasjon, ved hjelp av soft informasjon matet tilbake fra dekoderen Genererer soft trenings-symboler mellom de ordinære treningssekvensene
Eksempel: HF-kommunikasjon HF-båndet: 3-30 MHz Kanal-båndbredde (militært): 3 khz Radio-kanalen er preget av flerbaner (delay spread opp mot 10 ms) og tidsvariasjoner (fading, Doppler spread opp mot flere titalls Hz) Typisk testkanal: ITU-R poor, 2 ms og 1 Hz, to baner Vanlig militær bølgeform: Rate ½ konvolusjonskode Interleaver 8-PSK signal-konstellasjon Kjente symboler Symbol-rate 2400 baud
Foreslått mottaker-struktur
Simuleringsresultater (1) 2,0dB 2,5dB 3,3dB 3,5dB Datarate 2400 bps (8-PSK) Tilnærmet ITU-R poor kanal 2,1 ms (eksakt 5 symboler) delay spread, 1 Hz Doppler spread
Simuleringsresultater (2) Datarate 2400 bps (8-PSK) Kanal som varierer 6 ganger raskere enn ITU-R poor 2,9 ms delay spread, 6 Hz Doppler spread
Eksempel: Undervannskommunikasjon Inner harbor of Horten Moderate shipping activity Distance: 850 m Depth: 5-12 m Transducer depth: 2 m Kongsberg TD342 transducers, beamwidth 35 RX TX
Experiment setup TX signal Serial-tone PSK communications waveform: (PSK = phase shift keying) Signal constellations: QPSK and 8-PSK Rate ½ convolutional code, memory 3, for error-correction Symbol rate 4167 baud, center frequency 31,25 khz BPSK M-sequences (pseudo-random) included for synchronization and channel estimation Frame structure (S = sync, D = data): 511 S, 512 D, 63 S, 512 D, 63 S, 512 D, 63 S, 512 D, 63 S In total 2811 symbols = 675 ms QPSK: 2045 data bits/block => ca 3 kbps 8-PSK: ca 4,5 kbps
Overview of campaign 10 db impulse response length varies between 0,5 and 3,5 ms 30 db impulse response length (not shown) between 60 and 100 ms SNR > 40 db => reverberation-limited No obvious correlation between impulse response length and wind speed A weak trend showing shorter impulse responses towards summer?
Overall performance The proposed receiver is compared to a conventional DFE-based receiver for reference Turbo equalization with iterations outperforms DFE significantly Figures show frame error rate Fraction of transmitted frames (675 ms) containing one or more bit errors Bit error rate is irrelevant due to varying channel conditions The same receiver parameters were used throughout entire campaign!
Impulse response throughout frame example 1 (May 4th) Top panel: Matched filter estimate (dashed lines showing tracker window) Bottom panel: Variation throughout frame of each filter tap in tracker Impulse response stable throughout frame
Impulse response throughout frame example 2 (May 25th) Top panel: Matched filter estimate (dashed lines showing tracker window) Bottom panel: Variation throughout frame of each filter tap in tracker Varying impulse response Wind speed double of May 4th
Impulse response throughout frame example 3 (March 15th) Top panel: Matched filter estimate (dashed lines showing tracker window) Bottom panel: Variation throughout frame of each filter tap in tracker Severe variations (no environmental data available)
Oppsummering turbo-utjevning En måte å sørge for at utjevneren gjør bruk av redundansen innført ved ECC Iterasjon av soft informasjon mellom utjevner og dekoder Kan sammenliknes med dekoding av seriell-konkatenert turbo-kode Kan kombineres med iterativ kanalestimering Kan brukes i systemer som ble designet før turbo-utjevning ble kjent Eneste krav: Interleaver mellom ECC og kanal
EXIT-kart Vanskelig å finne ytelsen til iterative mottakere analytisk Simulering for å lage bitfeilrate-kurver er tidkrevende Kan bruke en semianalytisk metode kalt EXIT-kart EXtrinsic Information Transfer chart Introdusert av ten Brink Prinsipp: Undersøk hvordan mutual information, en parameter til fordelingen av LLRs, utvikler seg med iterasjonene Mutual information transfer functions genereres ved å simulere hver SISO-modul separat Plotter begge kurvene i samme diagram, og kan forutsi ytelsen til den iterative mottakeren ved å trekke streker mellom kurvene
EXIT-kart for turbo-koder (fra ten Brink) Parallell Seriell
EXIT-kart for turbo-utjevning HF-eksempelet fra tidligere Stiplede kurver: Utjevner Heltrukne kurver: Dekoder Stiplede linjer: Prediksjon Heltrukne linjer: Simulering
Oppsummering EXIT-kart En metode for å forstå hvordan iterative mottakere konvergerer Ikke helt eksakt Forutsetter uendelig lang interleaver og en spesiell statistisk fordeling av LLRs Kan se hvor godt de to kodene (eller kode og utjevner) er matchet til hverandre
Andre anvendelser av Turbo-prinsippet Iterativ demapping og dekoding Iterativ multiuser detection og dekoding i CDMA-systemer Iterativ kilde- og kanal-dekoding Turbo trellis-kodet modulasjon (Turbo TCM) Også relatert til iterativ dekoding av LDPC-koder (Low Density Parity Check)...
Mine artikler om temaet Roald Otnes and Michael Tüchler, Iterative channel estimation for turbo equalization of time-varying frequency-selective channels, IEEE Trans Wireless Communications, vol. 3, no. 6, Nov. 2004 Roald Otnes and Trym H. Eggen, Underwater acoustic communications: Long-term test of turbo equalization in shallow water, IEEE Journal of Oceanic Engineering, vol. 33, no. 3, July 2008 + doktorgradsavhandling og konferanseartikler
Forslag til pensumlitteratur Viterbi-algoritmen: The Viterbi Algorithm, G. D. Forney, Jr., Proceedings of the IEEE, Vol. 61, No. 3, March 1973, pp. 268-278 How I learned to love the trellis, Bernard Sklar, IEEE Signal Processing Magazine, May 2003, pp. 87-102 Turbo-utjevning: Turbo equalization, Ralf Koetter, Andrew C. Singer, and Michael Tüchler, IEEE Signal Processing Magazine, Jan. 2004, pp. 67-80