FI101759B - Muunnettu viterbidekoodausmenetelmä - Google Patents
Muunnettu viterbidekoodausmenetelmä Download PDFInfo
- Publication number
- FI101759B FI101759B FI964477A FI964477A FI101759B FI 101759 B FI101759 B FI 101759B FI 964477 A FI964477 A FI 964477A FI 964477 A FI964477 A FI 964477A FI 101759 B FI101759 B FI 101759B
- Authority
- FI
- Finland
- Prior art keywords
- decoding
- path
- decoded
- bit
- metric
- Prior art date
Links
Landscapes
- Error Detection And Correction (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
101759
Muunnettu viterbidekoodausmenetelmä - Förändrad viterbidekoderingsmetod
Keksintö koskee menetelmää konvoluutiokoodatun digitaalisen bittisekvenssin de-5 koodaamiseksi.
Konvoluutiokoodaus ja sen käänteisoperaationa käytettävä viterbidekoodaus ovat yleisesti tunnettuja menetelmiä, joilla pyritään parantamaan digitaalisen tiedonsiirron luotettavuutta. Lähetyslaitteessa on konvoluutiokoodauksen tekevä lohko eli 10 konvoluutiokooderi, joka saa käsiteltäväkseen tietyn bittisekvenssin. Koodauksessa kyseinen lohko tuottaa uuden bittisekvenssin, jonka muoto riippuu sekä alkuperäisestä bittisekvenssistä että kooderin rakenteesta ja jossa tietyn alkuperäisen bitin vaikutus jakaantuu useamman peräkkäisen bitin tai bittikombinaation alueelle. Vas-taanottimessa tehtävä viterbidekoodaus kuuluu ns. suurimman todennäköisyyden 15 menetelmiin (engl. maximum likelyhood methods) ja siinä vastaanottimen dekooderi pyrkii muuttamaan konvoluutiokoodatun bittisekvenssin takaisin alkuperäiseksi sekvenssiksi. Lähettävän ja vastaanottavan laitteen välillä on voinut tapahtua siirtovirheitä, joten viterbidekooderi valitsee dekoodatuksi tiedoksi sen bitin tai bittisekvenssin, joka suurimmalla todennäköisyydellä vastaa sen saamaa koodatun sekvenssin 20 osaa. Keksinnön taustan selvittämiseksi seuraavassa selostetaan erästä yksinkertaista esimerkkitapausta, jossa konvoluutiokoodauksen ns. sidepituus (engl. constraint length) on kolme.
Kuvassa 1 on esitetty konvoluutiokooderi, joka saa syöttötietona kerrallaan yhden 25 bitin ja muodostaa siitä ja sisältämiensä rekisterien sisällöstä kahden bitin pituisen lähtötietokombinaation. Rekisterit 12 ja 14 edustavat kumpikin yhden bitin pituista viivettäjayhdistinportit 16 ja 18 ovat poissulkeva-TAI-tyyppisiä (engl. XOR, exclusive OR). Alussa kummankin rekisterin 12 ja 14 sisältö on nolla. Esimerkiksi bittisekvenssin 011011 koodaaminen kuvan 1 mukaisella kooderilla antaa tulokseksi 3 0 bittiparit (00), (11), (10), (11), (01) ja (10), mikä voidaan tulkita lähtötietosekvens- .· siksi (engl. output sequence) eli -vektoriksi 001110110110. Monissa sovelluksissa lähtötietosekvenssi punkturoidaan eli siitä poistetaan tunnetun kuvion eli punktu-rointivektorin mukaiset bitit. Jos esimerkin lähtötietosekvenssi punkturoidaan vektorilla 111111101010, lopulliseksi lähtötietosekvenssiksi muodostuu bittijono 35 001110101. Punkturointivektoria käytetään siten, että alkuperäisestä (punkturoimat- tomasta) bittisekvenssistä poistetaan ne bitit, joiden kohdalla punkturointivektorissa on nolla.
101759 2
Vastaanotin, joka vastaanottaa ja ilmaisee siirtotien yli välitettyä signaalia, voi soveltaa joko ehdotonta tai liukuvaa ilmaisua. Ehdoton ilmaisu (engl. hard decision detection) tarkoittaa, että vastaanottimen ilmaisinosa tulkitsee jokaisen vastaanotetun bitin joko ykköseksi tai nollaksi. Liukuvassa ilmaisussa (engl. soft decision de-5 tection) vastaanottimen ilmaisinosa tuottaa kutakin vastaanotettua bittiä kohti näytteen, jossa on useita bittejä ja joka vastaa sitä todennäköisyyttä, millä vastaanotettu bitti on nolla tai ykkönen. Jos näytteessä on esimerkiksi neljä bittiä, sillä voidaan ilmaista 16 eri todennäköisyysarvoa, jotka yleensä kuvataan tietyksi kymmenjärjes-telmän kokonaislukualueeksi, joka voi olla esimerkiksi [-8, 7]. Nelibittisen näytteen 10 arvojen kuvaamiseksi mainitulle alueelle voidaan käyttää esimerkiksi kahden komplementti -menetelmää, jolloin näytteen arvo "0000" vastaa kymmenjäijestelmän lukua 0, näytteen arvo "0111" vastaa kymmenjäijestelmän lukua 7 ja näytteen arvo "1000" vastaa kymmenjäijestelmän lukua -8. Lyhyyden vuoksi seuraavassa käytetään mainittuja kymmenjäijestelmän lukuarvoja eikä näytteiden nelibittisiä arvoja.
15
Erään yleisen toteutusmuodon mukaan näytteen arvo 7 vastaa tilannetta, jossa vastaanotettu bitti on ilmaisimen mielestä hyvin suurella todennäköisyydellä ykkönen. Vastaavasti näytteen arvo -8 vastaa tilannetta, jossa vastaanotettu bitti on ilmaisimen mielestä hyvin suurella todennäköisyydellä nolla. Arvot -1 ja 0, jotka sijoittuvat 20 näytevälin keskikohdalle, tarkoittavat, ettei ilmaisin osaa tulkita vastaanotettua bittiä sen paremmin ykköseksi kuin nollaksikaan kovin suurella varmuudella. Viterbide-kooderin tehtävä on rekonstruoida alkuperäinen bittisekvenssi siten, että se on mahdollisimman suurella todennäköisyydellä oikein. Dekooderin toiminta eroaa jonkin verran sen mukaan, saako se ilmaisimelta tuloporttiinsa bittejä (ehdoton ilmaisu) vai 25 näytteitä (liukuva ilmaisu).
Viterbidekooderi hyödyntää toiminnassaan tietoa, jonka mukaan lähettimen konvo-luutiokooderissa voi tapahtua vain tiettyjä sallittuja siirtymiä eri tilojen välillä. Kuva 2a esittää ns. trelliskarttaa, jossa on kuvattu kuvan 1 mukaisen konvoluutiokooderin 30 kaikki mahdolliset tilat. Trelliskartan jokainen sarake vastaa yhtä kooderin kellojak-.: soa, jonka aikana kooderi saa yhden syöttötietobitin ja antaa tulokseksi vastaavan lähtötietokombinaation. Trelliskartan riveillä olevat kaksibittiset arvot vastaavat kooderin rekistereiden sisältöä siten, että kunkin kaksibittisen arvon vasen bitti vastaa rekisterin 12 sisältöä ja oikea bitti vastaa rekisterin 14 sisältöä. Alussa kumman-35 kin rekisterin sisältö on nolla. Seuraavassa sarakkeessa rekisterin 14 sisältö on nolla, mutta rekisterin 12 sisältö voi olla nolla tai yksi sen mukaan, minkä bitin kooderi on saanut syöttötietona. Tämän jälkeen rekistereillä on aina neljä mahdollista tilaa.
101759 3
Tiettyä konvoluutiokoodattavaa bittisekvenssiä vastaa trelliskartalla yksikäsitteinen polku, joka alkaa vasemmanpuoleisesta sarakkeesta ja kulkee vasemmalta oikealle käyden kussakin sarakkeessa tasan yhden tilan kautta. Kuva 2b esittää edellä mainitun bittisekvenssin 011011 tuottamaa polkua. Viterbidekoodaus on prosessina ns.
5 trellishaku, jossa dekooderi yrittää löytää oikean polun ja seurata sitä koko trellis-kartan läpi. Etsimistä helpottaa tieto siitä, että tietystä kooderin rekisterien tilasta on vain rajallinen määrä mahdollisia siirtymiä seuraavaan tilaan. Kooderi saa edellä esitetyssä suoritusmuodossa syöttötietona vain yhden bitin kerrallaan, ja koska yhdellä bitillä voi olla vain kaksi mahdollista arvoa, se voi aiheuttaa kustakin tilasta 10 kaksi mahdollista siirtymää. Kuva 3 esittää mahdollisia siirtymiä tilojen välillä koo-derissa, joka on kuvan 1 mukainen. Jos rekisterien sisällöt ovat esimerkiksi "01", missä rekisterin 12 sisältö on nolla ja rekisterin 14 sisältö on 1, seuraava tila voi olla vain "10" tai "00". Kustakin tilasta lähtee tasan kaksi mahdollista siirtymää esittävää nuolta, jolloin symmetrian mukaisesti kuhunkin uuteen tilaan saapuu tasan kaksi 15 nuolta.
Kuva 4a esittää edelleen saman esimerkkisekvenssin tuottamaa polkua trelliskartal-la. Kuvaan on lisätty konvoluutiokooderin tuottama lähtötietokombinaatio kunkin siirtymän aikana. Esimerkkisekvenssin ensimmäinen bitti on nolla, jolloin konvoluu-20 tiokooderi siirtyy tilasta "00" (vasemmanpuoleisin sarake) tilaan "00" (toiseksi vasemmanpuoleisin sarake) ja sen tuottama lähtötietokombinaatio on "00". Toinen bitti on ykkönen, jolloin konvoluutiokooderi siirtyy tilasta "00" (toiseksi vasemmanpuoleisin sarake) tilaan "10" (kolmanneksi vasemmanpuoleisin sarake) ja sen tuottama lähtötietokombinaatio on "11". Samanlaiset merkinnät jatkuvat polun loppuun 25 saakka. Kuvassa 4b oikean polun rinnalle on piirretty katkoviivanuolilla toinen, mielivaltainen polku, jolla ei ole mitään tekemistä alkuperäisen bittisekvenssin kanssa mutta jossa kaikki siirtymät ovat kuvan 3 mukaisia sallittuja siirtymiä. Myös mielivaltaisen polun siirtymiä kuvaaville nuolille on merkitty vastaavat lähtötietokombi-naatiot.
30 ·: Kuva 4c vastaa kuvaa 4b siten, että siirtymiä vastaavat lähtötietokombinaatiot on korvattu tietyllä metriikalla eli mittaluvulla, joka ilmaisee, kuinka monta oikeaa bittiä lähtötietokombinaatiossa on alkuperäiseen verrattuna. Oikealla polulla kunkin siirtymän metriikka on luonnollisesti 2, koska kaikki bitit ovat oikein. Mielivaltaisel-35 la polulla tietyn siirtymän mittaluku voi olla 0, 1 tai 2 sen mukaan, onko lähtötieto-kombinaatio täysin väärin, puoliksi oiken vai kokonaan oikein. Mielivaltaisellakin polulla tietty siirtymä voi saada satunnaisesti metriikakseen 2. Dekoodauksessa tarkastellaan erityisesti tietyn polun yhteenlaskettua metriikkaa, jolloin kuvan 4c tilan- 101759 4 teessä oikean polun yhteenlaskettu metriikka on 12 ja väärän polun yhteenlaskettu metriikka on 5. Mikään polku ei voi saada suurempaa metriikkasummaa kuin oikea polku. Jos konvoluutiokooderin rakenne on valittu sopivasti, jokaisen väärän polun metriikkasumma on pienempi kuin oikean polun. Näin ollen oikean polun haku on 5 sama asia kuin sen polun haku, joka antaa suurimman metriikkasumman.
Vastaanottimessa metriikan laskeminen yksittäiselle siirtymälle riippuu siitä, onko ilmaisuna ehdoton vai liukuva ilmaisu. Ehdottomassa ilmaisussa vastaanotin vertaa edellä kuvatulla tavalla siirtymää vastaavaa bittiparia vastaanotettuun bittipariin. On 10 huomattava, että tässä yhteydessä "bittipari" on esimerkinomainen käsite ja tarkas telu voidaan helposti yleistää tapauksiin, joissa konvoluutiokooderi tuottaa yksittäisiä bittejä, bittikolmikkoja, -nelikkoja jne. Liukuvan ilmaisun tapauksessa vastaanotin laskee metriikan sen perusteella, kuinka todennäköisesti näyte vastaa oikeaa bittiparia. Edellä mainitussa tapauksessa, jossa näytteet kuvataan välille [-8,7] ja 15 jossa -8 vastaa varmaa nollaa ja 7 varmaa ykköstä, näytepari voi olla esimerkiksi -4,2 ja siirtymää vastaava bittipari "01". Metriikan laskukaavan tulee olla sellainen, että se antaa suurimman metriikan näyteparille -8,7 ja pienimmän näyteparille 7,-8. Eräs tällainen laskukaava on laskea kumpikin näyte erikseen yhteen varmaa oikeaa bittiä vastaavan kuvausarvon kanssa, ottaa tuloksesta itseisarvo ja laskea näyteparin 20 tuottamat kaksi itseisarvoa yhteen. Tässä tapauksessa näyteparin -4,2 metriikka on | (-8)+(-4) | +1 (7)+(2) I —21. Jos jossakin siirtymässä bittiparin toinen bitti on punktu-roitu, vastaanotin laskee metriikan vain jäljellä olevan bitin osalta, mikä menettely on yhteistä sekä ehdottoman että liukuvan ilmaisun tapauksille.
25 Koska metriikan laskenta perustuu vastaanotettiin ja ilmaistuun bittipariin, jotkut siirtymät voivat bittivirheiden vuoksi saada virheellisen metriikan. Jos esimerkin tapauksessa pukturoimaton, ehdottomalla ilmaisulla tuotettu bittisekvenssi on 111110111110 sisältäen kolme bittivirhettä, oikean polun metriikka on kuvan 4d mukainen. Virheetön bittisekvenssi oli siis 001110110110. Kuvasta 4d nähdään, että 30 yhteenlaskettu metriikka oikealla polulla on 9, joten vastaanotin ei voi olla varma, • että kyseessä on oikea polku. Jokin toinen, suuremman metriikan antava polku saat taa haarautua kuvan mukaisesta polusta niiden siirtymien kohdalla, joihin liittyvä metriikan arvo on pienempi kuin 2. Kuvassa 4e mahdollisiin haarautumiskohtiin on piirretty katkoviivanuolella toinen mahdollinen siirtymä ja siihen liittyvä metriikka. 35 On huomattava, että yhdestä tilasta lähtee aina vain kaksi mahdollista siirtymää, joten haarautumiskohdissa on vain yksi muu vaihtoehto oikean polun lisäksi. Kuvan 4e mukaisesti ensimmäinen oikealta polulta poikkeava siirtymä antaa metriikan ar- 101759 5 voksi 2 kun oikea polku antaa 0. Toisessa haarautumiskohdassa molemmat siirtymät (sekä oikea että väärä) antavat metriikan arvoksi 1.
Kuvassa 4f ensimmäisessä haarautumiskohdassa ylöspäin haarautuvaa polkua on 5 jatkettu sallittujen siirtymien mukaisesti siten, että se yhtyy oikeaan polkuun neljännessä sarakkeessa vasemmalta lukien. Väärä polku ei voi yhtyä oikeaan polkuun ennen kuin väärän siirtymän aiheuttanut bitti on kulkenut konvoluutiokooderin siirto-rekisterin eli kuvassa 1 peräkkäisten rekisterien 12 ja 14 läpi. Siirtorekisterin pituus on sama kuin konvoluutiokooderin sidepituus (constraint length). Mitä pitempi siir-10 torekisteri konvoluutiokooderissa on, sitä pitemmän matkan väärän polun on kuljettava erillisenä ennen kuin se voi yhtyä oikeaan polkuun. Vaikka haarautumiskohdassa väärän siirtymän metriikka olisi suurempi kuin oikean, väärä polku yleensä menettää erillisenä kulkiessaan metriikkasummastaan enemmän kuin se haarautumiskohdassa voittaa (edellyttäen, että bittivirheitä ei ole monta peräkkäin). Esimerkki-15 tapauksessa väärän polun yhteenlaskettu metriikka on 9 eli sama kuin oikean polun. Jos siirtorekisteri on pitkä, suurimman metriikkasumman antava polku on mitä todennäköisimmin oikea polku.
Teoriassa vastaanotin voi hakea maksimipolun tutkimalla trelliskartan kaikki mah-20 dolliset polut ja laskemalla niiden metriikkasummat. Erilaisten polkujen lukumäärä kasvaa kuitenkin nopeasti trelliskartan tilojen ja sarakkeiden määrän funktiona, joten kaikkien mahdollisten polkujen tutkiminen vaatisi kohtuuttomasti laskentakapasiteettia. Kuvassa 5a on esitetty kaavamaisesti erääseen trelliskartan tilasarakkeeseen päättyvät osittaispolut (yhtenäiset nuolet) ja eteenpäin jatkuvat haarautumismahdol-• 25 lisuudet (katkoviivanuolet). Yhtenäisiin viivoihin liittyvä metriikka ei ole yksittäisen siirtymän metriikka vaan koko osittaispolun yhteenlaskettu metriikka trelliskartan alusta esitettyyn tilaan asti. Maksimipolkua etsittäessä kuhunkin tilaan saapuvista kahdesta osittaispolusta voidaan karsia pois se, jolla on pienempi yhteenlaskettu metriikka. Jos yhteen tilaan tulee kaksi samanarvoista osittaispolkua, toinen polku 30 voidaan karsia mielivaltaisesti pois, jolloin oikean arvauksen todennäköisyys on •: 50%. Kuva 5b esittää samaa tilasaraketta, jossa karsimisen jälkeen kuhunkin tilaan tulee vain yksi nuoli. Samaten kustakin tilasta lähtee vain yksi nuoli, koska samanlainen karsinta on tehty myös seuraavassa tilasarakkeessa, jota ei ole esitetty kuvassa.
35 Tähän mennessä esitetty tekniikan tason mukainen viterbidekoodausalgoritmi voidaan esittää seuraavien neljän askeleen mukaisena yhteenvetona: 101759 6 1. Laske jokaiselle trelliskartan nykyisen sarakkeen tilalle (4 kpl) seuraavia siirtymiä vastaavat metriikat (kaksi mahdollista siirtymää kustakin tilasta).
2. Summaa siirtymien metriikat kussakin tilassa nykyiseen sarakkeeseen päät- 5 tyvän osittaispolun metriikkasumman kanssa. Tuloksena saadaan nykyistä seu- raavaan trellis-sarakkeeseen päättyvien osittaispolkujen (tässä vaiheessa 8 kpl) metnikkasummat.
3. Karsi seuraavan sarakkeen tiloihin päättyvistä polkupareista pois ne, joiden 10 metriikkasumma on pienempi.
4. Tallenna jäljelle jääneiden polkujen metriikkasumma muistiin yhdessä sen tiedon kanssa, mistä edellisen sarakkeen tilasta tallennettu polku on tullut. Tämä tieto tarvitaan, jotta lopuksi voidaan jäljittää maksimipolku taaksepäin 15 trelliskartan alkuun saakka.
Tämä algoritmi vaatii kuitenkin muistitilan, joka on yhtä suuri kuin trelliskartan pituus kerrottuna sen yhdessä sarakkeessa olevien tilojen lukumäärällä. Algoritmiin tunnetaan eräs parannus, jota selostetaan seuraavaksi.
20
Kuvassa 6a on esitetty muutamia mahdollisia polkuja tietyssä trelliskartassa. Polku, joka alkaa kohdasta B ja päättyy kohtaan C on oikea polku. Polku AF on rinnakkainen polku. Kolmen oikeanpuoleisimman sarakkeen välillä on lisäksi muutamia oikean polun haarautumia. Koska yhteenlaskettu metriikka kasvaa oikealla polulla 25 huomattavasti nopeammin kuin muilla poluilla, oikean polun yhteenlaskettu metriikka pisteessä D on todennäköisesti huomattavasti suurempi kuin rinnakkaisen polun yhteenlaskettu metriikka pisteessä E. Osapolut DF ja EF ovat molemmat poissa oikealta polulta, joten niiden yhteenlasketut metriikat ovat todennäköisesti samaa suuruusluokkaa. Jos kuitenkin välin BD yhteenlaskettu metriikka on riittävän paljon 30 suurempi kuin välin AE yhteenlaskettu metriikka, voidaan melko turvallisesti olettaa, että tehtäessä karsintaa pisteessä F polku AF karsiutuu ja polku BDF jää jäljelle. Koska polkujen BD ja AE yhteenlaskettujen metriikkojen ero on todennäköisesti sitä suurempi, mitä enemmän tilasarakkeita tällä välillä on, voidaan päätellä, että ennemmin tain myöhemmin A:sta alkanut polku, joka on kulkenut pitkän matkan si-35 vussa oikealta polulta, karsiutuu pois. Kuva 6b esittää tilannetta karsinnan jälkeen. Muistitilaa tarvitaan siis vain nykyisen tilasarakkeen ja joidenkin aikaisempien tila-sarakkeiden verran. Tätä edeltävässä trelliskartan osassa on vain yksi polku, joka voidaan antaa viterbidekooderista ulos.
101759 7
Edellä esitetyt, tekniikan tason mukaiset viterbidekoodausalgoritmit ovat suhteellisen tehottomia tilanteessa, jossa lähetetty signaali sisältää yhtenä ryöppynä useita peräkkäisiä bittivirheitä. Trelliskartalla tarkasteltuna peräkkäiset bittivirheet aiheuttavat useita peräkkäisiä kohtia, joissa oikea polku voi haarautua, jolloin algortimin 5 on käsiteltävä suuri joukko rinnakkaisia polkuvaihtoehtoja, joiden yhteenlaskettu metriikka on samaa suuruusluokkaa.
Esillä olevan keksinnön tarkoituksena on esittää konvoluutiokoodatun digitaalisen bittisekvenssin dekoodausmenetelmä, joka eliminoi purskeisesta bittivirhejakaumas-10 ta johtuvat dekoodausvirheet tehokkaasti ja muistia ja laskentakapasiteettia säästävällä tavalla. Keksinnön tavoitteena on lisäksi esittää digitaalinen vastaanotin, joka soveltaa keksinnön mukaista konvoluutiokoodatun digitaalisen bittisekvenssin de-koodausmenetelmää.
15 Keksinnön tavoitteet saavutetaan hyödyntämällä lähetetyn informaation toistuvuutta ja jakamalla viterbidekoodaus sidepituuden mukaisiin jaksoihin, joiden välillä voidaan vaihtaa sitä lähetetyn informaation toistokertaa, josta lopullinen dekoodattu bittisekvenssi muodostetaan.
20 Keksinnön mukaiselle menetelmälle on tunnusomaista, että siinä tuotetaan ainakin ensimmäinen ja toinen versio dekoodattavasta tietosekvenssistäja dekoodataan versiot oleellisesti yhtäaikaa yhden dekoodatun sekvenssin muodostamiseksi.
Keksintö kohdistuu myös laitteeseen konvoluutiokoodatun digitaalisen bittisekvens-25 sin dekoodaamiseksi. Keksinnön mukaiselle laitteelle on tunnusomaista, että se käsittää muistin dekoodattavan tietosekvenssin tallentamiseksi ainakin kahtena eri de-koodaamattomana versiona ja syöttämiseksi viterbidekooderiin ja viterbidekooderi käsittää välineet mainittujen versioiden käsittelemiseksi samanaikaisesti yhden dekoodatun sekvenssin muodostamiseksi.
30 ' Tekniikan tason mukaisille viterbidekoodausalgoritmeille on luonteenomaista, että dekooderi saa syöttötietonaan yhden bittivirran ja muodostaa lähtötietonaan yhden bittivirran. Keksintö eroaa tällaisesta ratkaisusta jo periaatteellisella tasolla, koska keksinnön mukaiseen dekooderiin menee syöttötietona ainakin kaksi bittivirtaa, 35 vaikka se antaa lähtötietonaan vain yhden bittivirran. Syöttötietoina olevat bittivirrat ovat informaatiosisällöltään identtisiä, mutta virhejakaumaltaan erilaisia. Esimerkiksi voidaan tarkastella tilannetta, jossa lähetin lähettää saman datatiedoston tai muun informaatiosekvenssin kahdesti. Vastaanottimeen saapuessaan nämä informaatiosek- 101759 8 venssit eli saman datatiedoston toistokerrat ovat kulkeneet saman siirtotien läpi, mutta eri aikana. Tämän vuoksi siirtotien aiheuttamien bittivirheiden paikat eivät korreloi keskenään toistokertojen välillä. Lyhyyden vuoksi seuraavassa kuvataan virhejakaumaltaan erilaisia syöttötietosekvenssejä eri värien nimityksillä, jolloin 5 sekvenssejä voidaan nimittää eri värisiksi sekvensseiksi ja koko menetelmää värilliseksi viterbidekoodausmenetelmäksi. Syöttötietosekvenssit, jotka ovat samanvärisiä, ovat sekä informaatiosisällöltään että virhejakaumaltaan identtisiä.
Edellä tekniikan tason selostuksessa on todettu, että virheellisen siirtymän vaikutus 10 ulottuu trelliskartassa matkalle, joka on yhtä pitkä kuin lähettimen konvoluutiokoo-derin sidepituus. Keksinnön mukainen menetelmä hyödyntää eri värien erilaista vir-hejakaumaa edullisimmin siten, että siinä eriväriset bittivirrat dekoodataan toisistaan riippumatta sidepituuden mittaisen matkan, minkä jälkeen kuhunkin trellis-sarak-keen tilaan tulevien eriväristen polkujen metriikkasummaa verrataan keskenään. Sa-15 maan tilaan tulevista erivärisistä poluista valitaan se, jolla on suurin metriikkasum-ma ja muut samaan tilaan tulevat polut karsitaan pois. Kun karsinnan jälkeen aloitetaan uusi riippumaton sidepituuden mittainen viterbidekoodaus eri väreille, käytetään tarkasteltavan sarakkeen jokaisessa tilassa kaikkia värejä. Tällöin väri, jonka perusteella lopullinen lähtötietosekvenssi muodostuu, voi vaihtua tasan sidepituuden 20 välein.
Seuraavassa selostetaan keksintöä yksityiskohtaisemmin viitaten esimerkkinä esitettyihin edullisiin suoritusmuotoihin ja oheisiin kuviin, joissa 25 kuva 1 esittää tunnettua yksinkertaista konvoluutiokooderia, kuva 2a esittää tunnettua trelliskartan periaatetta, kuva 2b esittää erästä polkua kuvan 2a trelliskartassa, kuva 3 esittää tunnetulla tavalla sallittuja tilasiirtymiä kuvan 1 konvoluutiokoo-derissa, 30 kuvat 4a - 4f esittävät eräitä polkuja ja niihin liittyviä ominaisuuksia kuvan 2a trel-« , liskartassa, kuvat 5a ja 5b esittävät tunnettua polkujen karsimista trelliskartan tilasarakkeessa, kuvat 6a ja 6b esittävät toista tunnettua polkujen karsimista trelliskartassa, kuva 7a esittää keksinnön mukaisen menetelmän kulkua trelliskartassa, 35 kuva 7b esittää tilasiirtymiin liittyviä lähtöbittejä kuvan 7a lukemisen helpottamiseksi, kuva 8a esittää erästä keksinnön sovellusesimerkkiä, 101759 9 kuva 8b esittää vertailuesimerkkiä, jossa käytetään bittisekvenssien keskiarvoisesta ja kuva 9 esittää kaavamaisesti vastaanotinlaitetta, jossa sovelletaan keksinnön mukaista dekoodausta.
5
Edellä tekniikan tason selostuksen yhteydessä on viitattu kuviin 1 - 6b, joten seuraa-vassa keksinnön ja sen edullisten suoritusmuotojen selostuksessa viitataan lähinnä kuviin 7a - 9.
10 Oletetaan, että lähetin lähettää informaatiosekvenssin, joka koostuu 12:sta peräkkäisestä nollasta. Oletetaan lisäksi, että lähetin sisältää edellä tekniikan tason selostuksen yhteydessä kuvatun, kuvan 1 mukaisen konvoluutiokooderin, jolla se koodaa mainitun sekvenssin ennen sen lähettämistä. Kooderi antaa 12:n nollan muodostamasta syöttötietosekvenssistä koodatun lähtötietosekvenssin, joka on myös pelkkää 15 nollaa eli 00 00 00 00 00 00 00 00 00 00 00 00.
Oletetaan vielä, että tämä koodattu ja lähetetty sekvenssi on kulkenut siirtotien läpi 20 kahdesti ja vastaanottimen ehdotonta ilmaisua soveltava ilmaisin on tuottanut eri toistokerroilla seuraavat sekvenssit: 00 00 10 01 11 01 00 00 10 00 00 00 (vihreä sekvenssejä 25 00 00 00 10 00 00 00 10 01 11 00 00 (keltainen sekvenssi).
Yksinkertaisuuden takia tässä käytetään vain kahta eriväristä sekvenssiä. Keksintö on kuitenkin helposti yleistettävissä useampien värien käsittelemiseen samanaikaisesti. Vihreän sekvenssin hamming-etäisyys (engl. hamming distance) eli niiden bit-30 tipaikkojen määrä, joissa se eroaa virheettömästä sekvenssistä, on 6 ja keltaisen sekvenssin 5. Vihreän sekvenssin alkuosassa on virhepurske, jota edellä kuvattu tekniikan tason mukainen viterbidekoodausmenetelmä ei pysty kolaamaan. Myös keltaisen sekvenssin loppuosassa on samankaltainen virhepurske.
35 Tässä yhteydessä voidaan todeta, että edellä esitelty konvoluutiokooderi on valittu selostusesimerkiksi yksinkertaisuutensa takia ja sen rakenne on siinä mielessä puutteellinen, että alkuperäisen bittisekvenssin mahdollisesti sisältämä pitkä sarja ykkösiä tuottaa koodattuun sekvenssiin peräkkäisiä nollapareja aivan samalla tavalla kuin 101759 10 pitkä sarja nollia. Minkä tahansa dekooderin olisi näin ollen vaikea tehdä eroa nolla-sekvenssin ja ykkössekvenssin välillä.
Kuva 7a esittää trelliskarttaa, jossa on 13 saraketta ja neljä tilariviä. Selostuksen sel-5 ventämiseksi sarakkeet on numeroitu viitenumeroilla 21-33. Viterbidekoodaus ete-nee sarakkeesta 21 sarakkeeseen 33 edellä esitetyn värialgoritmin mukaisesti, eli eriväriset bittisekvenssit dekoodataan toisistaan riippumatta sidepituuden mittaisen matkan, minkä jälkeen kuhunkin trellis-sarakkeen tilaan tulevien eriväristen polkujen metriikkasummaa verrataan keskenään. Samaan tilaan tulevista erivärisistä po-10 luista valitaan se, jolla on suurin metriikkasumma ja muut samaan tilaan tulevat polut karsitaan pois. Kun karsinnan jälkeen aloitetaan uusi riippumaton sidepituuden mittainen viterbidekoodaus eri väreille, käytetään tarkasteltavan sarakkeen jokaisessa tilassa kaikkia värejä. Sarakkeet numero 21, 24, 27, 30 ja 33 ovat sidepituuden välein. Kutakin siirtymää kuvaavalle nuolelle on merkitty kyseistä siirtymää vastaa-15 va metriikan arvo siten, että Kx (x e [0,1,2]) vastaa keltaisen bittisekvenssin metriik kaa x ja Vy (ye [0,1,2]) vastaa vihreän bittisekvenssin metriikkaa y. Tietyt siirtymät ovat yhteisiä molemmille väreille, jolloin siirtymää kuvaavalle nuolelle on merkitty molempia värejä vastaavat metriikat.
20 Kuvassa 7b on esitetty konvoluutiokooderin sallitut tilasiirtymät ja niihin liittyvät lähtötietobitit, jotta metriikkojen seuraaminen trelliskarttaan piirretyissä siirtymissä olisi helpompaa. Kummankin värisessä vastaanotetussa bittisekvenssissä ensimmäinen bittipari on "00", jolloin siirryttäessä sarakkeesta 21 sarakkeeseen 22 tilasiirty-män "00"-»"00" metriikka on molemmilla väreillä 2 ja tilasiirtymän "00"-»"10" 25 metriikka on molemmilla väreillä 0. Molemmissa väreissä toinenkin bittipari on "00", jolloin sarakkeesta 22 sarakkeeseen 23 tilasiirtymän "00"-»"00" metriikka on molemmilla väreillä 2 ja tilasiirtymän "00"-*" 10" metriikka on molemmilla väreillä 0. Tilasiirtymä " 10"-»"01" vastaa lähtötietobittejä "01" ja tilasiirtymä " 10"-»" 11" vastaa lähtötietobittejä "10", jolloin näitä siirtymiä vastaava metriikka on kummal-30 lakin värillä 1.
Sarakkeiden 23 ja 24 välillä tapahtuu ensimmäinen karsinta. Vihreän sekvenssin kolmas bittipari on " 10" ja keltaisen sekvenssin kolmas bittipari on "00", jolloin sallittujen siirtymien metriikat ovat seuraavan taulukon mukaiset: 35 101759 11 siirtymä; vastaava lähtö- vihreä keltainen bittipari metriikka metriikka "ir->"ir ; "oo" ι__2
"11"->"01" ; ”11” 0__O
"ΟΓ'->" 10" ; "OI"__1__1 "01"—>"00" ; "10" 2__1 "10"->"11" ; "ΙΟ" 2__1 "10"—>"01" ; "OI"__1__1
"00"->" 10" ; "11" O__O
,,00"->"00" ; "00"__1__2
Kuhunkin sarakkeen 24 tilaan tulisi ennen minkäänlaisen karsinnan suorittamista kaksi vihreää ja kaksi keltaista polkua, joita voidaan kuvata peräkkäin kirjoitettujen tilojen Saijoina. Esimerkiksi tilaan "11" tulisi ennen karsintaa sekä vihreät että kel-5 täiset polut 00-10-11-11 ja 00-00-10-11. Vihreän polun 00-10-11-11 metriikkasum-ma olisi 2 ja vihreän polun 00-00-10-11 metriikkasumma olisi 4, joten vihreän värin sisäinen karsinta jättää jäljelle vain jälkimmäisen polun. Keltaisen polun 00-10-11-11 metriikkasumma olisi 3 ja keltaisen polun 00-00-10-11 metriikkasumma olisi 3, joten keltaisen värin sisäinen karsinta jättää mielivaltaisesti toisen näistä poluista 10 jäljelle. Keksinnön mukaisesti tehdään lisäksi karsinta värien kesken, jolloin tilaan "11" tulevista poluista jää jäljelle vain suurimman metriikkasumman omaava polku, joka on vihreä polku 00-00-10-11. Kuvassa 7 tämä nähdään siten, että sarakkeen 24 tilaan "11" tulee vain yksi nuoli, joka tulee sarakkeen 23 tilasta "10" ja edustaa ; vihreää väriä (V). Samankaltainen tarkasteluja karsinta voidaan tehdä sarakkeen 24 15 kaikissa tiloissa ja niiden tuloksena sarakkeeseen 24 tulevista poluista jää jäljelle vain yksi polku tilaa kohti, nimittäin vihreät polut 00-00-10-11 ja 00-00-00-10 sekä keltaiset polut 00-00-10-01 ja 00-00-00-00.
Sarakkeiden 24 ja 27 välillä kunkin värin dekoodaus etenee aluksi itsenäisesti, jol-20 loin kunkin värin sisäinen karsinta jättää sarakkeissa 25 ja 26 tiettyyn tilaan tulevista samanvärisistä poluista jäljelle vain sen, jolla on suurempi metriikkasumma. On huomattava, että tiettyyn tilaan tulevan tietynvärisen polun metriikkasumma jakaantuu kahteen osaan. Ensimmäinen osa on metriikkasumma siinä edellisen värikarsin-tasarakkeen (tässä sarakkeen 24) tilassa, josta kyseinen polku saa alkunsa, riippu-25 matta siitä, minkävärisen siirtymän kautta kyseiseen tilaan on tultu. Toinen osa on vain tarkasteltavaan väriin liittyvä metriikkasumma mainitusta värikarsintasarakkeen tilasta eteenpäin. Sarakkeessa 24 tilan "11" metriikkasumma on edelläolevan selos- 101759 12 tuksen mukaisesti 4 (laskettuna vihreää polkua 00-00-10-11 pitkin) ja samankaltainen tarkastelu antaa tiloille "01", "10" ja "00" vastaavasti metriikkasummat 3, 5 ja 6.
Tarkastellaan esimerkkinä sarakkeen 25 tilaa "00". Keltaisen värin kannalta siihen 5 tulisi kaksi mahdollista siirtymää, nimittäin sarakkeen 24 tiloista "01" ja "00". Siirtymiä vastaavat konvoluutiokooderin lähtöbitit olisivat "10" ja "00". Keltaisen bitti-sekvenssin vastaava bittipari on "10", joten sarakkeen 24 tilasta "01" tulevan siirtymän metriikka on 2 ja tilasta "00" tulevan siirtymän metriikka on 1. Suora vertailu näiden välillä jättäisi jäljelle ensimmäisen siirtymän. Koska kuitenkin sarakkeessa 10 24 tilan "01" metriikkasumma, joka ei riipu väristä, on 3 ja tilan "00" vastaava met- riikkasumma on 6, keltaisen värin sisäinen karsinta vertaakin siirtymän "01 "—>"00" metriikkasw/wmcrar, joka on 5, siirtymän "00"->"00" meUiikkasummaan, joka on 7, ja valitsee jälkimmäisen siirtymän. Samanlainen tarkastelu voidaan tehdä kummankin värin osalta kaikissa sarakkeiden 25 ja 26 tiloissa. Sarakkeen 27 käsittelyssä tehdään 15 myös ensin värien sisäinen karsinta, mutta sen lisäksi tehdään karsinta värien välillä samaan tapaan kuin sarakkeessa 24.
Vihreän ja keltaisen bittisekvenssin dekoodaus jatkuu edellä esitetyllä tavalla koko trelliskartan läpi vasemmalta oikealle. Kuvassa 7a on esitetty vain ne siirtymät, jotka 20 jäävät karsintaoperaatioiden jälkeen jäljelle. Katkoviivalla ympäröidyissä, sidepituu-den välein sijaitsevissa sarakkeissa kuhunkin tilaan tulee vain yksi väri. Muihin tiloihin tulee kaksi väriä. Joistakin tiloista ei lähde eteenpäin yhtään siirtymää. Tämä osoittaa, että kaikkiin niihin seuraavan sarakkeen tiloihin, joihin kyseisestä tilasta olisi mahdollista siirtyä, tulee jostakin muusta tilasta metriikkasummaltaan suurempi ; 25 polku.
Sarakkeen 33 tilojen viereen on merkitty sen polun metriikkasumma, joka viimeisen karsinnan jälkeen jää jäljelle päättyen kyseiseen tilaan. Kun polkuja jäljitetään näistä tiloista taaksepäin, on huomattava, että polun väri voi vaihtua vain värikarsintasa-30 rakkeiden 24, 27 ja 30 kohdalla. Esimerkiksi sarakkeen 33 tilaan "11" tulee vain i · vihreä siirtymä. Tästä tiedetään, että sarakkeiden 30 ja 33 välillä kyseinen polku voi * · koostua vain vihreistä siirtymistä, joten sarakkeen 31 tila "11" ei tuota ongelmaa: vaikka kyseiseen tilaan tulee kaksi siirtymää, taaksepäin jäljittävä prosessi tietää, että jäljitettävä polku tulee sarakkeen 30 tilasta "11", koska tämä siirtymä on väril-35 tään vihreä. Sarakkeen 33 tiloihin päättyvät polut ja niihin liittyvät metriikkasummat ovat seuraavat: 101759 13 -tilaan "11" päättyvä polku: 00-00-00-10-11-11-11-11-11-11-11-11-11, metriikka-summa 22, -tilaan "01" päättyvä polku: 00-00-00-10-11-11-11-11-11-11-11-11-01, metriikka-summa 20, 5 - tilaan "10" päättyvä polku: 00-00-00-00-00-00-00-00-00-00-10-01-10, metriikka- summa 20, - tilaan "00" päättyvä polku: 00-00-00-00-00-00-00-00-00-00-00-00-00, metriikka-summa 22.
10 Nähdään, että sekä tilaan "11" että tilaan "00" päättyvän polun metriikkasumma on 22. Vastaanottimen on päätettävä, kumman polun se valitsee oikeaksi poluksi.
Ylempi polku edustaa enimmäkseen peräkkäisiä ykkösiä ja alempi peräkkäisiä nollia. Tässä tapauksessa tiedetään edellä selostetut puutteet konvoluutiokooderin rakenteessa, joten vastaanotin voi arvioida, että peräkkäisistä nollista koostuva sek-15 venssi on todennäköisempi, jolloin se valitsee alemman polun oikeaksi poluksi.
Tämä polku antaa alkuperäisen informatiosekvenssin virheettömänä. Jos konvoluu-tiokooderin rakenne on valittu paremmin, tasapelitilanteiden syntyminen eri polkujen kesken on varsin epätodennäköistä.
20 Eräs ehdotus vaihtoehtoiseksi dekoodausmenetelmäksi keksinnön mukaisen värillisen dekoodausmenetelmän asemesta on toisiaan vastaavien bittien keskiarvoistami-nen samaa informaatiosekvenssiä kuvaavissa, erikseen vastaanotetuissa ("erivärisissä") bittisekvensseissä. Seuraavassa esitetään lyhyt esimerkki, joka vertaa keskiar-voistuksen ja värillisen menetelmän toimintaa. Oletetaan, että konvoluutiokooderi ; · 25 on edelleen sama kuin edellä ja että vastaanotin on vastaanottanut bittisekvenssit 00 01 00 (väri A) ja 11 10 01 (väri B). Kuva 8a esittää trelliskartan muodossa bitti-sekvenssien dekoodausta samalla tavalla kuin edellä on selostettu viitaten kuvaan 7a. Sarake 50 on alkusarake, jossa on vain yksi tila, ja sarake 53 on siitä sidepituu-den päässä oleva sarake, johon lyhyen esimerkin mukainen dekoodaus päättyy. Kek-30 sinnön mukainen värillinen dekoodausmenetelmä tuottaa neljä polkua, joista sarak-' · keen 53 tilaan "10" päättyvän polun metriikkasumma on 4 ja muiden polkujen met riikkasumma on 5.
Jos värien A ja B mukaiset bittisekvenssit keskiarvoistetaan biteittäin, saadaan luku-35 sekvenssi 0.5 0.5 0.5 0.5 0.0 0.5. Sekvenssin lukuja voidaan käsitellä välille [0,1] sijoittuvina näytteinä, jolloin kullekin näytteelle laskettava metriikka on esimerkiksi kaavan l-|b-n| arvo, missä b on metriikan laskennassa käytettävän "oikean" bitin arvoja n on kyseisen näytteen arvo. Kun lukusekvenssin dekoodaus tekniikan tason 101759 14 mukaisella viterbialgoritmilla kuvataan trelliskartassa, saadaan kuvan 8b mukainen kuvio. Tuloksena on neljä polkua, joilla on kaikilla sama metriikkasumma (3.5) ja jotka voidaan nimetä niin, että tilaan "11" päättyvä polku on Pl, tilaan "01" päättyvä polku on P2, tilaan " 10" päättyvä polku on P3 ja tilaan "00" päättyvä polku on P4.
5 Näitä polkuja vastaavat bittisekvenssit konvoluutiokooderin lähdössä olisivat seu-raavat:
Pl 11 10 00 P2 00 11 01 10 P3 110101 P4 00 00 00
Edellä ei ole vielä otettu kantaa siihen, mikä edellä mainituista poluista edustaa oikeaa, alkuperäistä bittidekvenssiä, jonka vastaanoton toistokertoja värit A ja B 15 edustavat. Jos oletetaan, että tietty polku on oikea, ja lasketaan sitä vastaavan kon-voluutiokoodatun sekvenssin ja molempien värisekvenssien hamming-etäisyydet, saadaan seuraava taulukko: oikeaa polkua A:n hamming- B:n hamming- vastaava etäisyys etäisyys sekvenssi _P1_4_J_ P2_2_3_ P3_3_2_ |P4 [1 \4 20 Kun verrataan keskiarvoistukseen ja tavalliseen viterbidekoodaukseen perustuvaa tulosta keksinnön mukaiseen tulokseen, havaitaan, että keksinnön mukainen menetelmä antaa myös polut Pl ja P4, mutta karsii polut P2 ja P3 pois. Keksintöön johta-: neessa tutkimustyössä on todettu, että keksinnön mukainen "värillinen" dekoodaus- menetelmä karsii pois polkuja, joita vastaavien bittisekvenssien hamming-etäisyydet 25 oikeaan sekvenssiin nähden tietyssä sidepituuden mittaisessa bittijaksossa ovat lähellä toisiaan (eli värit ovat yhtä virheellisiä samalla kohtaa) ja suosia polkuja, joita vastaavien bittisekvenssien hamming-etäisyydet oikeaan sekvenssiin nähden tietyssä sidepituuden mittaisessa bittijaksossa eroavat toisistaan merkittävästi (eli yksi väri on kyseisen bittijakson kohdalla lähes virheetön muihin väreihin verrattuna). Sen 30 sijaan keskiarvoistukseen ja tavalliseen viterbidekoodaukseen perustuva menettely 101759 15 suosii yhtä paljon kaikkia polkuja, joita vastaavien bittisekvenssien hamming-etäi-syyksien summa on sama. Käytännössä tämä tarkoittaa, että keksinnön mukainen menetelmä toimii paremmin kuin keskiarvoistus ja tavallinen viterbialgoritmi, jos eri värien sisältämät virhepurskeet ovat ero kohdassa kyseistä bittisekvenssiä. Tämä pi-5 tää yleensä paikkansa, kun tiedonsiirtoyhteyden bittivirhesuhde (BER, Bit Error Ratio) on riittävän pieni.
Edellä on todettu, että keksinnön mukaisessa menetelmässä värien välinen polkujen karsinta tapahtuu edullisimmin sidepituuden välein. Tämä johtuu siitä tosiasiasta, 10 että virheellisen bitin vaikutus ulottuu konvoluutiokoodatussa bittisekvenssissä sidepituuden pituiselle matkalle. Keksinnön mukaista menetelmää voidaan muuttaa siten, että karsinta tapahtuu esimerkiksi kahden sidepituuden välein tai muulla tiheydellä, mutta se mitä todennäköisimmin kasvattaa tarvittavaa muistitilaa ja laskentakapasiteettia sekä huonontaa menetelmän toimivuutta.
15
Seuraavaksi käsitellään keksinnön mukaisen menetelmän soveltamista digitaalisessa yleisradiovastaanottimessa. Euroopan yleisradiojärjestön (EBU, European Broadcasting Union) ja Eurooppalaisen televiestinnän standardointi-instituutin (ETSI, European Telecommunications Standards Institute) standardissa 20 ETS 300 401 on määritelty DAB-järjestelmä (Digital Audio Broadcasting), jossa siirretään digitaalisessa muodossa erityisesti audiodataa mutta myös muuta tietoa, joka voi olla järjestetty tiedostoiksi. Tiedoston siirto tapahtuu segmentti kerrallaan. Standardin mukaisesti segmentti on mielivaltaisen kokoinen tiedoston yhtenäinen pala. Lähettävä laitteisto paloittelee tiedoston segmentteihin, jotka se numeroi järjes-25 tyksessä siten, että kukin segmentti on yksikäsitteisesti tunnistettavissa. Kuhunkin segmenttiin liittyy lisäksi 16-bittinen CRC-tarkistussumma (Cyclic Redundancy Check), johon vertaamalla vastaanotin voi päätellä, onko tiedoston siirrossa tapahtunut virheitä. Tiedostot lähetetään yleensä useammin kuin kerran, jotta vastaanotin voi yrittää saada myöhemmillä toistokerroilla vastaanotetuiksi ne segmentit, jotka se 30 on aiemmilla kerroilla hylännyt CRC:n ilmaisemien virheiden takia.
•
Jotta radiokanavan kapasiteetti tulisi optimaalisesti hyödynnetyksi, tiedoston toisto-kertoja tulisi olla mahdollisimman vähän. Seuraavassa esitellään menetelmä, joka perustuu keksinnön mukaiseen "värillisen" dekoodausmenetelmän käyttöön ja jossa 35 oletetaan, että kukin lähetetty tiedosto toistetaan vain kerran. Esitetty tarkastelu ei rajoitu pelkästään DAB-järjestelmän yhteyteen, vaan sitä voidaan soveltaa kaikissa tiedonsiirtojärjestelmissä, joissa lähettävä laite käyttää konvoluutiokoodausta ja jois- 101759 16 sa tiedostomuotoinen tieto siirretään segmentteinä tai niitä vastaavina osina. Menetelmän vaiheet on numeroitu selostuksen havainnollistamiseksi.
1. Vastaanotin vastaanottaa tiedoston ensimmäisen lähetyskerran tiedostosegmentte-5 jä ja dekoodaa ne käyttämällä sinänsä tekniikan tason mukaista viterbidekoodausta. Se yrittää koota lähetetyn tiedoston niistä segmenteistä, joiden CRC-tarkistussumma ilmaisee, etteivät ne sisällä virheitä. Vastaanotin tallentaa virheellisiksi havaittujen segmenttien numerot eli niiden paikan tiedostossa.
10 2. Samanaikaisesti 1-vaiheen kanssa vastaanotin tallentaa vastaanotetut segmentit näytejonoina, joiden näytteet se lukee vastaanotetusta tietovirrasta ennen viterbidekoodausta. Jos viterbidekoodattu segmentti ei läpäise CRC-tarkistusta, vastaanotin tallentaa segmenttiä vastaavat näytejonon ja viterbidekoodatun bittisekvenssin muistiin. Koska segmentti sisältää bittivirheitä, siinä oleva segmenttinumero voi olla vir-15 heellinen, joten vastaanotin tarkistaa segmentin numeron vertaamalla sitä tähän mennessä vastaanotettujen segmenttien määrään (segmentit on numeroitu juoksevalla järjestysnumerolla alkaen nollasta). Koska konvoluutiokoodaus ja viterbide-koodaus jakavat alkuperäisten bittien vaikutusta useiden bittien alueelle, vastaanotin tallentaa näytejonon lopussa ainakin viterbidekooderin katkaisupituuden (engl. trun-20 cation length) verran "ylimääräisiä" näytteitä, jotta koko segmentti on mahdollista dekoodata tallennettujen näytteiden avulla. Jos segmentin otsikko tai muut vastaanottimen saamat tiedot eivät ilmaise konvoluutiokoodauksen alustustietoja, myös segmentin alkuun on tallennettava "ylimääräisiä" näytteitä, jotta dekoodattavan segmentin alkuun ei generoituisi väärästä alkutilasta johtuvia virheitä. Näytejonojen 25 lisäksi vastaanottimen on tallennettava tieto segmentin paikasta DAB-järjestelmän loogiseen kehykseen tai muuhun punkturointivektorin käyttöä säätelevään rakenteeseen nähden, jotta se tietää, miten depunkturointi tulee suorittaa.
3. Vastaanotin odottaa tiedoston toistokertaa.
30 4. Tiedoston toiston yhteydessä vastaanotin vastaanottaa ne segmentit, jotka ensimmäisellä kerralla on havaittu virheellisiksi. Vastaanotin tallentaa jälleen sekä viterbidekoodatun segmentin että segmenttiä ennen dekoodausta kuvaavan näytejonon. Jos dekoodattu segmentti läpäisee tällä kertaa CRC-tarkistuksen, se voidaan tallen- 35 taa osaksi tiedostoa ja vastaavat näytejonot ja ensimmäisen vastaanottokerran tallennettu bittisekvenssi voidaan poistaa muistista.
17 101759 5. Jos myös toisella kerralla CRC-tarkistus ilmaisee, että segmentissä on virheitä, vastaanotin menettelee seuraavasti: 5a. Vastaanotin tekee keksinnön mukaisen värillisen viterbidekoodauksen.
5 Ensimmäisellä ja toisella vastaanottokerralla tallennetut näytejonot toimivat erivärisinä syöttötietosekvensseinä.
5b. Vastaanotin tarkistaa, ilmaiseeko värillisen dekoodauksen antamaan bittisek-venssiin sisältyvä CRC-tarkistussumma virheitä. Jos segmentti on virheetön, 10 vastaanotin menettelee kuten kohdassa 4.
5c. Jos segmentti on edelleen virheellinen, vastaanotin vertaa tavallisen viterbidekoodauksen tuottamia kahta segmenttiä keskenään ja merkitsee ne kohdat, joissa kyseisten segmenttien bitit poikkeavat toisistaan. Se merkitsee lisäksi yhden bitin eroa-15 vien kohtien kummaltakin puolelta. Jos merkintöjä tulee suhteellisen vähän (esimerkiksi alle 10; sopiva rajaehto voidaan etsiä kokeilemalla), vastaanotin kokeilee kaikkien merkittyjen bittien mahdolliset kombinaatiot ja laskee kulloinkin saadun segmentin tarkistussumman. Jos jokin muunneltu segmentti läpäisee CRC-tarkistuksen, se oletetaan virheettömäksi ja menetellään kuten kohdassa 4.
20 5d. Jos mikään edelläolevista kohdista ei tuota virheetöntä segmenttiä, vastaanotin odottaa tiedoston kolmatta toistokertaa. Jos tällöin löytyy vielä segmenttejä, jotka on vastaanotettu virheellisinä kaikilla kolmella toistokerralla, vastaanotin voi käsitellä kaikki kolme tallennettua segmenttiversiota samanaikaisesti kohtien 5a - 5c esittä-• 25 mällä tavalla. Ennen sitä se voi kuitenkin suorittaa ns. enemmistöäänestyksen eli verrata tallennettuja, viterbidekoodattuja sekvenssejä biteittäni keskenään ja valita kuhunkin bittipositioon sen bittiarvon, joita on enemmän. Jos tuloksena on virheetön segmentti, menetellään kuten kohdassa 4. Muussa tapauksessa se voi tehdä enemmistöäänestyksen näytejonoille esimerkiksi siten, että se valitsee kussakin näytepo-30 sitiossa kaksi eniten samaan suuntaan osoittavaa näytettä (tai kaikki näytteet, jos ne : · ovat hyvin lähellä toisiaan) ja keskiarvoistaa ne, minkä jälkeen se dekoodaa muo dostetun keskiarvoisen näytejonon käyttämällä tavallista viterbidekoodausta. Keksinnön mukainen värillinen dekoodausmenetelmä toimii tavallisena viterbidekoo-dausmenetelmänä, jos värejä on vain yksi.
Vaikka edellä on nimitetty dekoodaavaa laitetta vastaanottimeksi, alan ammattimiehelle on selvää, että sama toiminta koskee kaikkia laitteita, jotka dekoodaavat kon-voluutiokoodattua digitaalista tietoa.
35 101759 18
Kuva 9 esittää yksinkertaisena lohkokaaviona digitaalista vastaanotinta 60, joka soveltuu keksinnön mukaisen menetelmän toteuttamiseen. Siinä on dekoodauselin 61, joka on varustettu käsittelemään ainakin kahta dekoodattavaa näyte- tai bittijonoa samanaikaisesti tavalla, jota on selostettu edellä viitaten erityisesti kuvaan 7a. Ennen 5 dekoodauselintä käsiteltävä signaali on kulkenut sinänsä tekniikan tason mukaisten vastaanotto-osien 62 läpi, jolloin se on muunnettu sähkömagneettisena säteilynä etenevästä radiotaajuisesta värähtelystä biteiksi (ehdoton ilmaisu) tai näytteiksi (liukuva ilmaisu). Jotta bitti- tai näytejonot voitaisiin vastaanottaa eri aikaan ja syöttää dekoodauselimeen 61 oleellisesti samanaikaisesti, vastaanotin käsittää ainakin kaksi 10 muistilohkoa 63 ja 64, jotka pystyvät tallentamaan tietoa ennen dekoodauselintä.
Muistilohkot voivat sijaita fyysisesti samassa muistipiirissä tai niitä varten voi olla useita erillisiä muistiyksiköitä. Dekoodauselimen jälkeen vastaanottimessa on edullisesti virheentarkistuslohko 65, joka on varustettu tutkimaan, onko dekoodattu tieto virheetöntä vai onko sitä käsiteltävä edelleen virheettömyyden parantamiseksi esi-15 merkiksi odottamalla toistoa ja soveltamalla alkuperäiseen ja toistettuun sekvenssiin värillistä dekoodausmenetelmää. Dekoodatun tiedon linjasta on edullisesti myös yhteys muistiin 66, jotta dekoodatut sekvenssit voidaan tallentaa myöhempää käsittelyä varten. Dekoodausosan jälkeinen osuus vastaanottimesta on tekniikan tason mukainen ja sitä on merkitty numerolla 67. Ohjauslohko, joka ohjaa dekoodaustoi-20 mintaa, on esitetty numerolla 68.
Keksintö esittää ensimmäistä kertaa menetelmän, joka hyödyntää kahta erilaisen virhejakauman sisältävää saman konvoluutiokoodatun informaatiojakson versiota dekoodauksen toteuttamiseksi tavalla, joka poistaa virheitä. Koska keksinnössä hyö-25 dynnetään trelliskartan polkujen karsimista sekä "värien" sisällä että niiden välillä, se edellyttää vain suhteellisen pientä muistitilaa ja laskentakapasiteettia verrattuna menetelmään, jossa vastaanottimen on tallennettava suuri määrä trelliskartan polkuja vertailua varten. Keksinnön mukainen menetelmä toimii paremmin kuin rinnakkaisten bittisekvenssien keskiarvoistus erityisesti, jos bittisekvenssien sisältämät virhe-30 purskeet eivät ole kohdakkain.
Claims (9)
1. Menetelmä konvoluutiokoodatun tietosekvenssin dekoodaamiseksi, tunnettu siitä, että siinä tuotetaan ainakin ensimmäinen ja toinen versio mainitusta tietosek-venssistä ja dekoodataan versiot oleellisesti yhtäaikaa yhden dekoodatun sekvenssin 5 muodostamiseksi.
2. Patenttivaatimuksen 1 mukainen menetelmä, tunnettu siitä, että siinä dekoo-dausoperaatio jaetaan jaksoiksi (21-24; 24-27; 27-30; 30-33), joiden pituus - mitattuna dekoodauksessa käytettyinä, konvoluutiokooderin oletettuina tilasiirtyminä - on 10 sama kuin konvoluutiokoodatun tietosekvenssin koodauksessa käytetyn konvoluutiokooderin sidepituus.
3. Patenttivaatimuksen 2 mukainen menetelmä, tunnettu siitä, että se sisältää vaiheet, joissa 15. dekoodataan viterbimenetelmällä sekä ensimmäinen että toinen tietosekvenssin versio jakson alusta (21) loppuun (24) riippumatta muista versioista ja siten, että löydettyjen trelliskartan samaan tilaan päättyvien polkujen joukosta karsitaan aina pois muut kuin metriikkasummaltaan suurin polku, - jakson lopussa karsitaan niistä löydetyistä trelliskartan poluista, jotka päättyvät 20 samaan tilaan ja jotka ovat muodostuneet eri versioiden dekoodaamisen tuloksena, pois muut paitsi metriikkasummaltaan suurin polku, -jakson loputtua seuraavan jakson alkaessa aloitetaan sekä ensimmäisen että toisen tietosekvenssin version dekoodaus kaikista trelliskartan tiloista, jolloin polun, joka alkaa tietystä trelliskartan tilasta, metriikkasummaan lasketaan kyseisen tilan tähän-;: 25 astinen metriikkasumma, ja - dekoodauksen lopuksi (33) valitaan oikeaksi poluksi se löydetty trelliskartan polku, jolla on suurin metriikkasumma, ja muodostetaan dekoodattu tietosekvenssi jäljittämällä valittu oikea polku trelliskartan läpi.
4. Patenttivaatimuksen 1 mukainen menetelmä, tunnettu siitä, että mainitut en- ;; simmäinen ja toinen versio mainitusta tietosekvenssistä tuotetaan radiovastaanotti- messa vastaanottamalla sama tieto kahdella eri toistokerralla.
5. Menetelmä segmentoidun, konvoluutiokoodatun ja lähetyksessä toistuvasti 35 esiintyvän digitaalisen tiedoston vastaanottamiseksi ja dekoodaamiseksi radiovas-taanottimessa, tunnettu siitä, että virheellisenä vastaanotetun segmentin virheiden korjaamiseksi vastaanotetaan ainakin ensimmäinen ja toinen versio kyseisestä seg- 101759 mentistä ja dekoodataan ne oleellisesti yhtäaikaa yhden virheettömän dekoodatun segmentin muodostamiseksi.
6. Patenttivaatimuksen 5 mukainen menetelmä, tunnettu siitä, että se käsittää 5 vaiheet, joissa - vastaanotetaan tiedoston kaikki segmentit tiedoston ensimmäisellä toistokerralla, - tallennetaan virheettöminä vastaanotetut segmentit dekoodattuina ja virheellisinä vastaanotetut segmentit dekoodaamattomina, - vastaanotetaan tiedoston toisella toistokerralla ainakin ne segmentit, jotka ensim-10 mäisellä toistokerralla vastaanotettiin virheellisinä, - tallennetaan toisella toistokerralla virheettöminä vastaanotetut segmentit dekoodattuina ja - dekoodataan ne segmentit, jotka vastaanotettiin sekä ensimmäisellä että toisella toistokerralla virheellisinä, käyttäen dekoodauksessa samanaikaisesti sekä ensim- 15 mäisellä että toisella toistokerralla vastaanotettua segmentin versiota.
7. Patenttivaatimuksen 6 mukainen menetelmä, tunnettu siitä, että se käsittää lisäksi vaiheet, joissa - niistä segmenteistä, jotka vastaanotettiin sekä ensimmäisellä että toisella toistoker- 20 ralla virheellisinä ja joiden dekoodaus käyttäen samanaikaisesti sekä ensimmäisellä että toisella toistokerralla vastaanotettua segmentin versiota ei tuota virheetöntä segmenttiä, tuotetaan kolmas versio vastaanottamalla kyseinen segmentti tiedoston kolmannella toistokerralla, - tallennetaan kolmannella toistokerralla virheettöminä vastaanotetut segmentit de- : 25 koodattuina ja - dekoodataan ne segmentit, jotka vastaanotettiin ensimmäisellä, toisella ja kolmannella toistokerralla virheellisinä, käyttäen dekoodauksessa samanaikaisesti kaikilla toistokerroilla vastaanotettuja segmentin versioita.
8. Patenttivaatimuksen 6 mukainen menetelmä, tunnettu siitä, että se käsittää li säksi vaiheet, joissa - niistä segmenteistä, jotka vastaanotettiin sekä ensimmäisellä että toisella toistokerralla virheellisinä ja joiden dekoodaus käyttäen samanaikaisesti sekä ensimmäisellä että toisella toistokerralla vastaanotettua segmentin versiota ei tuota virheetöntä se- 35 gmenttiä, tuotetaan kolmas versio vastaanottamalla kyseinen segmentti tiedoston kolmannella toistokerralla, - tallennetaan kolmannella toistokerralla virheettöminä vastaanotetut segmentit dekoodattuina ja 101759 - muodostetaan niiden segmenttien dekoodaamattomista muodoista, jotka vastaanotettiin ensimmäisellä, toisella ja kolmannella toistokerralla virheellisinä, uusi de-koodaamaton muoto bittipaikkakohtaisena enemmistöäänestyksenä ja - dekoodataan enemmistöäänestyksenä muodostettu dekoodaamaton muoto. 5
9. Laite (60) konvoluutiokoodatun tietosekvenssin dekoodaamiseksi, joka laite käsittää viterbidekooderin (61), tunnettu siitä, että se käsittää muistin (63, 64) mainitun tietosekvenssin tallentamiseksi ainakin kahtena eri dekoodaamattomana versiona ja syöttämiseksi viterbidekooderiin (61) ja mainittu viterbidekooderi käsittää 10 välineet mainittujen versioiden käsittelemiseksi samanaikaisesti yhden dekoodatun sekvenssin muodostamiseksi.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FI964477A FI101759B1 (fi) | 1996-11-07 | 1996-11-07 | Muunnettu viterbidekoodausmenetelmä |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FI964477 | 1996-11-07 | ||
FI964477A FI101759B1 (fi) | 1996-11-07 | 1996-11-07 | Muunnettu viterbidekoodausmenetelmä |
Publications (4)
Publication Number | Publication Date |
---|---|
FI964477A0 FI964477A0 (fi) | 1996-11-07 |
FI964477A FI964477A (fi) | 1998-05-08 |
FI101759B true FI101759B (fi) | 1998-08-14 |
FI101759B1 FI101759B1 (fi) | 1998-08-14 |
Family
ID=8547025
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FI964477A FI101759B1 (fi) | 1996-11-07 | 1996-11-07 | Muunnettu viterbidekoodausmenetelmä |
Country Status (1)
Country | Link |
---|---|
FI (1) | FI101759B1 (fi) |
-
1996
- 1996-11-07 FI FI964477A patent/FI101759B1/fi active
Also Published As
Publication number | Publication date |
---|---|
FI964477A0 (fi) | 1996-11-07 |
FI101759B1 (fi) | 1998-08-14 |
FI964477A (fi) | 1998-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5349589A (en) | Generalized viterbi algorithm with tail-biting | |
KR100554322B1 (ko) | 복수의 코딩 버스트내에 배치된 crc 비트에 의해 종료 상태가결정되는 컨벌루셔널 디코딩 | |
US4606027A (en) | Error correction apparatus using a Viterbi decoder | |
US6148431A (en) | Add compare select circuit and method implementing a viterbi algorithm | |
US5436918A (en) | Convolutional encoding/decoding apparatus with fixed bit insertion | |
US5331665A (en) | Decoder device for decoding convolutionally encoded message | |
EP0355850B1 (en) | Sequential decoder | |
CN1355979A (zh) | 用于接收并译码由不同调制方法调制的信号的方法和接收机 | |
US20030188248A1 (en) | Apparatus for iterative hard-decision forward error correction decoding | |
KR20010033503A (ko) | 버터플라이 동작을 이용한 비-이진 비터비 디코더 | |
EP3996285A1 (en) | Parallel backtracking in viterbi decoder | |
EP0603824B1 (en) | Method of and circuit for detecting synchronism in viterbi decoder | |
US5657333A (en) | Method and apparatus for error-control coding in a digital data communication system | |
FI101759B (fi) | Muunnettu viterbidekoodausmenetelmä | |
US7035356B1 (en) | Efficient method for traceback decoding of trellis (Viterbi) codes | |
EP1024603A2 (en) | Method and apparatus to increase the speed of Viterbi decoding | |
CN101411071A (zh) | 具有双向滑动窗口体系结构的map译码器 | |
US6578119B2 (en) | Method and device for memory management in digital data transfer | |
US20020116682A1 (en) | Subtraction in a viterbi decoder | |
KR100324066B1 (ko) | 비터비 복호기 | |
CN108809335B (zh) | 译码方法与装置 | |
JP5370487B2 (ja) | 復号方法および復号装置 | |
KR100213038B1 (ko) | 바이터비 복호기의 가산비교 선택장치 | |
KR100240868B1 (ko) | 다중비율 전송 시스템 | |
KR0170199B1 (ko) | 순환길쌈부호의 복호방법 |