FI106416B - Menetelmä ja laite dekoodatun symbolisarjan luotettavuuden määrittämiseksi - Google Patents

Menetelmä ja laite dekoodatun symbolisarjan luotettavuuden määrittämiseksi Download PDF

Info

Publication number
FI106416B
FI106416B FI990249A FI990249A FI106416B FI 106416 B FI106416 B FI 106416B FI 990249 A FI990249 A FI 990249A FI 990249 A FI990249 A FI 990249A FI 106416 B FI106416 B FI 106416B
Authority
FI
Finland
Prior art keywords
reliability
state
qualified
trellis
characteristic
Prior art date
Application number
FI990249A
Other languages
English (en)
Swedish (sv)
Other versions
FI990249A (fi
FI990249A0 (fi
Inventor
Kari Kalliojaervi
Original Assignee
Nokia Mobile Phones Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nokia Mobile Phones Ltd filed Critical Nokia Mobile Phones Ltd
Priority to FI990249A priority Critical patent/FI106416B/fi
Publication of FI990249A0 publication Critical patent/FI990249A0/fi
Priority to JP2000029335A priority patent/JP2000244336A/ja
Priority to PCT/FI2000/000086 priority patent/WO2000048324A2/en
Priority to AU25509/00A priority patent/AU2550900A/en
Priority to US09/500,170 priority patent/US6507927B1/en
Priority to EP00903722A priority patent/EP1151543A2/en
Publication of FI990249A publication Critical patent/FI990249A/fi
Application granted granted Critical
Publication of FI106416B publication Critical patent/FI106416B/fi

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • H03M13/4138Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors soft-output Viterbi algorithm based decoding, i.e. Viterbi decoding with weighted decisions
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • H03M13/4138Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors soft-output Viterbi algorithm based decoding, i.e. Viterbi decoding with weighted decisions
    • H03M13/4146Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors soft-output Viterbi algorithm based decoding, i.e. Viterbi decoding with weighted decisions soft-output Viterbi decoding according to Battail and Hagenauer in which the soft-output is determined using path metric differences along the maximum-likelihood path, i.e. "SOVA" decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/6306Error control coding in combination with Automatic Repeat reQuest [ARQ] and diversity transmission, e.g. coding schemes for the multiple transmission of the same information or the transmission of incremental redundancy

Description

106416
Menetelmä ja laite dekoodatun symbolisarjan luotettavuuden määrittämiseksi -Metod och apparat for att uppskatta pälitligheten av en avkodad symbolsekvens
Keksintö koskee yleisesti häiriöllisen siirtokanavan kautta lähetetyn koodatun digi-5 taalisen signaalin koodauksen purkua eli dekoodausta. Erityisesti keksintö koskee tietyn dekoodatun digitaalisen symbolisarjan virheettömyyden arvioinnin ongelmaa.
Yleisesti tunnettua konvoluutiokoodausta ja siitä kehitettyjä turbokoodausta ja ketjutettua konvoluutiokoodausta käytetään yleisesti suojaamaan digitaalista siirtoa häiriöllisen siirtokanavan haitallisilta, virheitä tuottavilta vaikutuksilta. Koodausta so-10 velletaan tyypillisesti digitaalisesta tiedosta muodostuviin erillisiin sekvensseihin, kuten kehyksiin tai protokollatietoyksiköihin (PDU). Vastaanotin, joka on järjestetty vastaanottamaan tällaisen koodatun lähetyssekvenssin, käyttää nk. Viterbi-dekoo-dausalgoritmia purkaakseen koodauksen ja rekonstruoidakseen alkuperäisen digitaalisen sekvenssin. Taustaksi esillä olevalle keksinnölle esitetään seuraavassa eräitä 15 Viterbi-dekoodauksen tunnettuja piirteitä.
Pohjimmiltaan jonkinlaisella konvoluutiokooderilla konstruoitu symbolisarja koostuu joukosta erillisiä symboleja. Kunkin symbolin voidaan katsoa edustavan k bittiä. Useimmissa käytännön toteutuksissa käytetään binaarista konvoluutiokoodausta, jossa symbolipituus on yksi bitti, joskin peräkkäisiä symboleja voidaan yhdistellä 20 tilojen muodostamiseksi. Kuva la esittää yksinkertaista konvoluutiokooderia, joka tuottaa 1/4 nopeuden konvoluutiokoodia. Tulobitit A(t) syötetään vasemmalta nopeudella yksi bitti aikayksikköä kohti, ja oikealta saadaan kaksi lähtöbittiä X(t) ja Y(t) aikayksikköä kohti. Konvoluutiokooderin muistina 101 toimii siirtorekisteri tai sarjaan ketjutetuista yksibittisistä muistisoluista (esimerkiksi D-tyypin kiikuista) koos-25 tuva matriisi. Kooderin tilaa edustaa sen muistisisältö, joten kuvan la kooderin mahdolliset tilat ovat 00, 01, 10 ja 11. Siirtorekisterin pituus määrää, kuinka moneen yhden lähtölinjan lähtöbittiin yhdellä tulobitillä on vaikutusta: mainittu lähtöbittien määrä on ns. vaikutuspituus, joka kuvan la tapauksessa on kolme. Lähtöbitti voidaan laskea tulobitin ja kooderin tunnetun tilan perusteella. Esimerkiksi kuvassa la, 30 Y(t) = A(t) + A(t-1) + Ä(t-2) ja bitti, joka hetkellä t on A(t), vaikuttaa myös lähtö-bittien Y(t+1) ja Y(t+2) arvoon.
Kuvassa Ib on tilamatriisi, jossa on esitetty kaikki mahdolliset kuvan la kooderin tilat kahdeksalla peräkkäisellä ajanhetkellä. Dekoodauksella saatava oikea sarja vastaa tilamatriisin läpi vasemmalta oikealle kulkevaa polkua siten, että kussakin 2 106416 sarakkeessa polku kulkee täsmälleen yhden tilan kautta. Kuvassa Ib on esitetty esi-merkkipolku yhtenäisellä viivalla. Tiloja ja niiden kautta kulkevia polkuja esittävää graafia kutsutaan trellis-kuvioksi ja polku tunnetaan myös nimellä trellis-polku.
Konvoluutiokoodauksen ja Viterbi-dekoodauksen periaatteisiin kuuluu, että jokai-5 sesta tunnetusta tilasta on vain tietty määrä sallittuja siirtymisiä seuraaviin tiloihin. Viterbi-dekooderi löytää joukon mahdollisia polkuja trellis-kuvion läpi aloittamalla tietystä ensimmäisestä tilasta ja etenemällä sallittujen siirtymisten kautta tilasta tilaan. Havaitut siirtymät vastaanotetussa virheitä sisältävässä symbolisarjassa ovat harvoin yksikäsitteisiä vaan antavat mahdollisuuden erilaisille tulkinnoille, joissa eri 10 siirtymillä on tietyt todennäköisyydet. Viterbi-dekooderi rakentaa mahdolliset trel-lis-polut sallittuja tilasiirtymiä koskevien tietojen ja havaittujen siirtymätodennäköi-syyksien perusteella. Teoriassa olisi mahdollista simuloida jokainen mahdollinen trellis-polku vastaanottimessa ja laskea sen todennäköisyysarvo vastaanotetun sarjan avulla; käytännön sarjat ovat kuitenkin niin pitkiä ja aikarajoitukset niin tiukkoja, 15 että mahdollisten polkujen eksponentiaalisesti kasvava määrä tekisi pian ongelmasta laskennallisesti ylivoimaisen monimutkaisen. Käytännön Viterbi-algoritmit käyttävät tiettyä luotettavuusmetriikkaa valitakseen kussakin tilassa yhden ’’kelpuutetun” . polun tai rajallisen määrän polkuehdokkaita jatkoa varten. Polku, jolla on viimeises- sä tilassa paras arvioitu luotettavuus logaritmisessa todennäköisyysmielessä, vali-20 taan edustamaan dekoodattua digitaalista sarjaa.
Joissakin tapauksissa Viterbi-algoritmilla ei pystytä löytämään yhtä kaikkein todennäköisintä polkua trellis-kuvion läpi tai kaikkein todennäköisin polku sisältää yhä virheitä. Tällaisen tilanteen hoitamiseksi on ehdotettu useita menetelmiä, joista yksi on julkaistu H. Yamamoton ja K. Itohin artikkelissa ’’Viterbi Decoding Algorithm 25 for Convolutional Codes with Repeat Request”, IEEE Transactions on Information Theoiy, vol. IT-26, no. 5, ss. 540-547, syyskuu 1980, joka on sisällytetty tähän hakemukseen viitteenä. Ehdotetussa menetelmässä jonkin i:nnen tilan kelpuutettu polku julistetaan epäluotettavaksi, jos tilaan johtavan kahden parhaan polun metriikka-. ero on pienempi kuin tietty kynnysarvo tai jos voittava kelpuutettu polku on jossakin :·. 30 aikaisemmassa vaiheessa julistettu epäluotettavaksi. Jos jossakin vaiheessa kaikkiin tiloihin johtavat kelpuutetut polut julistetaan epäluotettaviksi, koko vastaanotettu sarja merkitään epäluotettavaksi ja tiedot ilmoitetaan poistettaviksi. Ehdotetun menetelmän etuna on, että se kuluttaa vain vähän prosessointi- tai muistikapasiteettia tavalliseen Viterbi-dekoodaukseen verrattuna. A. R. Raghavanin ja C. W. Baumin 35 artikkelissa ”A Reliability Output Viterbi Algorithm with Applications to Hybrid ARQ”, IEEE Transactions on Information Theory, voi. IT-44, no. 3, ss. 1214-1216, 3 106416 toukokuu 1998, joka myös on sisällytetty tähän hakemukseen viitteenä, ehdotetaan toista menetelmää, jossa dekoodatun sarjan virheille lasketaan ehdollinen todennäköisyys a posteriori. Viimemainitun menetelmän teoreettinen suorituskyky on hyvä, mutta sen käytännön soveltaminen nykyaikaisiin viestimiin edellyttää kohtuuttoman ' 5 monimutkaista laskentajärjestelyä.
Tekniikan tasosta tunnetaan myös nk. luettelopohjainen dekoodaus, jossa Viterbi-dekoodausalgoritmi ei anna tulokseksi yhtä lähtösarjaa, jolla on suurin logaritminen todennäköisyys, vaan keskenään vaihtoehtoisten sarjojen luettelon alenevassa toden-näköisyysjärjestyksessä. CRC-tarkistussummaan perustuvaa laskentaa tai muuta 10 vastaavaa dekoodausmenetelmää käytetään tutkimaan, sisältääkö luettelon n:s sarja virheitä, alkaen arvosta n = 1. Jos tietyssä sarjassa luettelon paikassa n esiintyy virheitä, kokeillaan seuraavaksi paikassa n+1 sijaitsevaa sarjaa, kunnes joko löydetään virheetön sarja tai kaikki luettelon sarjat on käyty läpi. Tällainen menettelytapa tunnetaan mm. patenttijulkaisusta EP 0 606 724 AI sekä artikkelista Nill ym.: ’’List and 15 Soft Symbol Output Viterbi Algorithms: Extensions and Comparisons”, IEEE Transactions on Communications, Vol. 43, No. 2/3/4, hehnikuu/maaliskuu/huhtikuu 1995. Luettelopohjaisen dekoodausmenetelmän etuna on se, että monessa tapauk-/ sessa se säästää aikaa: vastaanotetun sarjan oikeaa muotoa koskevan uuden ’’arvauk sen” esittäminen (ottamalla seuraava sarja luettelosta) ja CRC-tarkistuksen suorit-20 taminen on valtavan paljon nopeampaa kuin uudelleenlähetyksen pyytäminen ja saaminen lähettävältä laitteelta, joten vaikka joissakin tapauksissa olisi käytävä läpi koko luetteloja sittenkin pyydettävä uudelleenlähetystä, niin riittää kun merkittävässä määrässä tapauksia uudelleenlähetys voidaan välttää löytämällä oikea virheetön • sarja luettelosta.
25 Luettelopohjaisen dekoodausperiaatteen haittana on, että se vaatii paljon muistia: joukko keskenään vaihtoehtoisia sarjoja (ja myös niihin liittyvät tilakohtaiset luotettavuusarvot) on tilapäisesti tallennettava vastaanottavaan laitteeseen, ja lopulta vain yhtä tallennetuista sarjoista käytetään. Tarvittavan muistikapasiteetin vähentämi-seksi patenttijulkaisussa WO 97/43834 ehdotetaan ns. päätösikkunan käyttöä. Pää- • 30 tösikkuna on vakiomäärän trellis-kuvion sarakkeita sisältävä rakenne. Aluksi päätö- sikkuna asetetaan siten, että jonkin symbolin kohdalla päätösikkunan keskikohdan ympärillä kaikki polkuehdokkaat konvergoivat yhteen tilaan. Trellis-poluilla on se tunnettu ominaisuus, että luotettavimpana pidetyn sarjan lähin vaihtoehto (logaritmisessa todennäköisyysmielessä) loittonee siitä tietyllä ensimmäisellä ajanhetkellä 35 tai tietyssä ensimmäisessä tilamatriisin sarakkeessa ja konvergoi jälleen sen kanssa tietyllä myöhemmällä hetkellä tai tietyssä myöhemmässä sarakkeessa. Päätösikku- 4 106416 naan perustuva luettelopohjainen dekoodausmenetelmä hyödyntää tätä tunnettua ominaisuutta rakentamalla vaihtoehtoiset sarjat etenemällä taaksepäin päätösikkunan yhteisestä tilasta. Vaikka päätösikkuna auttaakin pitämään luettelodekoodauksen muistivaatimukset kohtuullisissa niitoissa, se on kuitenkin melko monimutkainen ja 5 paljon laskentakapasiteettia vaativa menetelmä.
Esillä olevan keksinnön tavoitteena on toteuttaa menetelmä ja laite dekoodauksen luotettavuuden arvioimiseksi tehokkaasti Viterbi-tyyppisessä dekoodausjärjestelys-sä, missä prosessoinnin ja laitteiston monimutkaisuus on vähäinen.
Keksinnön tavoitteet saavutetaan tarkastelemalla kelpuutetun polun ja parhaan kil-10 pailevan polun välistä pienintä metriikkaeroa koko kelpuutetun polun matkalta. Tarkastelu suoritetaan erikseen kullekin kelpuutetulle polulle.
Keksinnön mukaiselle menetelmälle on tunnusomaista, että se käsittää vaiheet, joissa - tietyssä Viterbi-dekoodauksen vaiheessa päivitetään erikseen kuhunkin valittuun 15 kelpuutettuun trellis-polkuun liittyvä ominaisluotettavuusmetriikka ja - kun lopullinen kelpuutettu trellis-polku on valittu, muunnetaan sen ominaisluotet- \ tavuusmetriikka dekoodatun datasaijan arvioitua luotettavuutta vastaavaksi sarjan luotettavuuden tunnusluvuksi.
Keksintö koskee myös dekoodauslaitetta, jolle on tunnusomaista, että se käsittää 20 välineet erikseen kuhunkin valittuun kelpuutettuun trellis-polkuun liittyvän ominais-luotettavuusmetriikan päivittämiseksi kussakin Viterbi-dekoodauksen välissä ole-• vaan tai viimeiseen ajanhetkeen liittyvässä tilassa sekä välineet valitun lopullisen kelpuutetun trellis-polun ominaisluotettavuusmetriikan muuntamiseksi dekoodatun datasarjan arvioitua luotettavuutta vastaavaksi sarjan luotettavuuden tunnusluvuksi.
25 Lisäksi keksintö koskee vastaanottolaitetta, jolle on tunnusomaista, että se käsittää - välineet alayksiköiden dekoodamiseksi Viterbi-menetelmällä muodostamalla tietty . määrä trellis-polkuja joukosta sallittuja tiloja, jotka liittyvät tiettyyn alkuajanhetkeen tietyssä alayksikössä, joukkoon sallittuja tiloja, jotka liittyvät tiettyyn viimeiseen ajanhetkeen samassa alayksikössä, niin että polut kulkevat tiettyihin välissä oleviin 30 ajanhetkiin liittyvien sallittujen tilojen kautta, ja valitsemalla kussakin välissä olevaan ajanhetkeen liittyvässä tilassa jokin kelpuutettu trellis-polku ja viimeiseen ajanhetkeen liittyen lopullinen kelpuutettu trellis-polku, - välineet erikseen kuhunkin valittuun kelpuutettuun trellis-polkuun liittyvän ominaisluotettavuusmetriikan päivittämiseksi kussakin välissä olevaan tai viimeiseen 5 106416 ajarihetkeen liittyvässä tilassa sekä välineet valitun lopullisen kelpuutetun trellis-polun ominaisluotettavuusmetriikan muuntamiseksi dekoodatun datasarjan arvioitua luotettavuutta vastaavaksi sarjan luotettavuuden tunnusluvuksi kunkin yläyksikköön sisältyvän alayksikön dekoodausluotettavuuden arvioimiseksi, 5 - virheenilmaisevat dekoodausvälineet yläyksikön dekoodaamiseksi virheenilmaise- valla tavalla ja sen sisältämien virheiden määrän ilmaisemiseksi, ja - uudelleenlähetyksen ohjausvälineet, joilla voidaan tunnistaa epäilyttäviksi ennalta määrätty määrä dekoodatun yläyksikön sisältämiä alayksiköitä alayksiköiden arvioidun luotettavuuden ja dekoodatussa yläyksikössä ilmaistujen virheiden määrän pe-10 rusteella ja muodostaa epäilyttäviksi tunnistettuja alayksiköitä koskevia uudelleen-lähetyspyyntöjä.
Keksintö hyödyntää sitä tunnettua Viterbi-dekoodauksen ominaisuutta, että tietyn kelpuutetun polun luotettavuus voidaan johtaa kelpuutetun polun ja sen kanssa kilpailevien polkujen välisistä metriikkaeroista. Yleisesti ottaen, mitä lähemmäksi kil-15 paileva polku tulee metriikkaeromielessä, sitä pienempi on kelpuutetun polun luotettavuus. Keksinnön mukaisesti kunkin kelpuutetun polun pienin metriikkaero polun koko matkalta määritetään ja säilytetään. Viterbi-dekoodauksen jälkeen dekoodattuja sarjoja voidaan kuvata sarjan luotettavuuden tunnusluvulla, joka vastaa pienintä säilytettyä metriikkaeroa tai joka lasketaan sen perusteella.
20 Eräs edullinen sovellus, jossa laskettuja sarjojen luotettavuuden tunnuslukuja voidaan käyttää, on sellainen, missä yksi CRC-tarkistussumma tai vastaava virheenil-maisin kattaa joukon erikseen dekoodattavia osasekvenssejä, jolloin mainittu vir-heenilmaisin indikoi havaitun virheen kertomatta tarkemmin, niissä kohtaa kyseisiä sarjoja virhe sijaitsee. Jos virheenilmaisin indikoi virheen, dekoodatut osasekvenssit 25 voidaan järjestää arvioituun luotettavuusjärjestykseen saijan luotettavuuden tunnusluvun perusteella. Todennäköisimmin virhe sijaitsee siinä osasekvenssissä, jonka luotettavuuden tunnusluku osoittaa heikointa arvioitua luotettavuutta. Jos siirtojärjestelmä sallii uudelleenlähetykset osasekvenssitasolla, vastaanottava laite, jossa virhe on ilmaistu, voi pyytää lähettävältä laitteelta epäluotettavimman osasekvenssin • 30 tai epäluotettavimpien osasekvenssien ja/tai siihen/niihin liittyvien lisätietojen uu delleenlähetystä ilman, että koko CRC-suojattua osasekvenssien joukkoa tarvitsee lähettää uudelleen.
Keksinnölle tunnusomaiset uudet ominaisuudet on esitetty yksityiskohtaisesti oheisissa patenttivaatimuksissa. Itse keksintöä, sen rakennetta ja toimintaperiaatetta sa 0 6 106416 moin kuin keksinnön muita tavoitteita ja etuja on kuitenkin selostettu seuraavassa eräiden nimenomaisten suoritusmuotojen avulla ja viitaten oheisiin piirustuksiin.
Kuvat la ja Ib esittävät konvoluutiokoodauksen ja Viterbi-dekoodauksen eräitä tunnettuja periaatteita, 5 Kuva 2 havainnollistaa eräitä keksinnön selostuksessa käytettyjä merkintöjä,
Kuva 3 esittää erään trellis-kaavion alkua,
Kuva 4 esittää erään toisen trellis-kaavion alkua,
Kuva 5 esittää erään trellis-kaavion loppuvaiheita,
Kuva 6 esittää erään toisen trellis-kaavion loppuvaiheita, 10 Kuva 7 esittää erästä kehysrakennetta, jota voidaan edullisesti käyttää keksinnön yhteydessä,
Kuva 8 esittää vuokaavion muodossa erästä keksinnön mukaista menetelmää, ja
Kuva 9 esittää lohkokaavion muodossa erästä keksinnön mukaista laitetta.
Kuviin la ja Ib on viitattu edellä tekniikan tason selostuksen yhteydessä, joten seu-15 raavassa keksinnön edullisten suoritusmuotojen selostuksessa viitataan pääasiassa kuviin 2-9.
Kuvassa 2 on esitetty kaksi vaihtoehtoista tilaa 201 ja 202 erään trellis-kaavion en-* simmäisessä sarakkeessa, joka vastaa ajanhetkeä (t-1), sekä kolmas tila 203 trellis- kaavion myöhemmässä sarakkeessa, joka vastaa ajanhetkeä t. Oletetaan, että mo-20 lemmista tiloista 201 ja 202 on sallittu tilasiirtymä tilaan 203: nämä tilasiirtymät on esitetty kuvassa 2 nuolina. Trellis-kaavion sarakkeita voidaan yleisesti merkitä ajan-hetkinä, joita määrittävät kokonaislukuindeksit, kuten edellä mainitut indeksit t-1 ja ; t. Merkitään myös tilaa 201 iintenä tilana, tilaa 202 j :ntenä tilana ja tilaa 203 k:ntena » tilana. Koska kuva 2 voi edustaa mitä tahansa trellis-kaavion mielivaltaista osaa, 25 indekseillä voi olla mikä tahansa ei-negatiivinen kokonaislukuarvo. Kun indeksit eivät erityisesti viittaa kuvaan 2, käytetään seuraavaa yleistä merkintätapaa: M(t,i)
Jonkin tilan i ajanhetkellä t kumuloitunut luotettavuusmetriikka. Luotettavuusmetrii- 7 106416 kan kumuloituminen on Viterbi-dekoodauksen perusominaisuuksia, ja sitä selostetaan missä tahansa alaa käsittelevässä perusteoksessa.
% y(Uj)
Tilasta i tilaan j, joka kuuluu ajanhetkeen t, tapahtuvan tilasiirtymän metriikkainkre-5 mentti. Myös metriikkainkrementtien määritelmä on sinänsä tunnettu Viterbi-dekoodauksen tekniikasta.
d(t,i)
Tilalle i ajanhetkellä t laskettu kelpuutetun polun ominaismetriikkaero. Se lasketaan kelpuutetun polun ja parhaan ei-kelpuutetun (kilpailevan) polun, joka on yhtynyt 10 kelpuutettuun polkuun ajanhetkellä < t, metriikkaerona. Kelpuutettujen polkujen ja parhaitten ei-kelpuutettujen polkujen valinta tunnetaan Viterbi-dekoodauksen tekniikasta; arvon d(t,i) laskeminen selostetaan tarkemmin alla.
m(t,i,j) = M(t-l,i) + y(t,i,j)
Oletettu kumuloitunut metriikka, joka seuraisi siirtymästä tilasta i (ajanhetkellä t-1) 15 tilaan j (ajanhetkellä t). On huomattava, että tiloja i, joista on sallittu siirtymä tilaan j, voi olla useita. Ottaen huomioon edellä esitetyn M(t,i):n määritelmän, Viterbi-dekoodauksen tunnetut ominaisuudet edellyttävät, että kelpuutetulle polulle tilassa j pätee M(t,j) = mini[m(t,i,j)], kun luotettavuusmetriikat on määritelty siten, että pieni luotettavuusmetriikan arvo merkitsee hyvää luotettavuutta. Jos käytetään vaihtoeh-20 toista luotettavuusmetriikan määritelmää, jossa suuri luotettavuusmetriikan arvo merkitsee hyvää luotettavuutta, niin silloin kelpuutetulle polulle tilassa j pätee M(t,j) = maxi[m(t,i,j)].
• I
d(t,j) = min[d(t-l,x), m(t,y,j)-m(t,x,j)]
Ominaismetriikkaeron laskeminen keksinnön edullisen suoritusmuodon mukaan; 25 tässä x tarkoittaa tilaa, joka välittömästi edeltää tilaa j ja kuuluu tilassa j kelpuutetuksi valittuun polkuun, ja y tarkoittaa tilaa, joka välittömästi edeltää tilaa j ja kuuluu polkuun, joka on merkitty lähimmäksi kilpailevaksi poluksi tilassa j. Toisin sa-.· noen kelpuutetun polun ja sen lähimmän kilpailijan kumuloituneiden metriikkojen ero lasketaan tilassa j ja sitä verrataan kelpuutetun polun aiempaan ominaismetriik-„ 30 kaeroon. Näistä pienempi valitaan kelpuutetun polun uudeksi ominaismetriikkae- roksi. Erään toisen vastaavan määritelmän mukaan kunkin kelpuutetun polun valinnan jälkeen tarkistetaan, tulivatko ne kilpailevat polut, jotka yhtyivät valittuun kelpuutettuun polkuun nykyisessä tilassa, lähemmäksi kelpuutettua polkua (kumuloituneen luotettavuusmetriikan valossa) kuin ne kilpailevat polut, jotka olivat yhtyneet 35 valittuun kelpuutettuun polkuun joissakin aiemmissa tiloissa. Jos käytetään vaihto- 8 106416 ehtoisia hiotettavuusmetriikan määritelmää, jossa suuri hiotettavuusmetriikan arvo merkitsee hyvää luotettavuutta, niin silloin tilan j kelpuutetun polun indeksit x ja y vaihtavat paikkaa, eli d(t,j) = min[d(t-l, x), m(t,x,j)-m(t,y,j)].
Edellä esitettyjen määritelmien avulla on mahdollista määrittää ja säilyttää ominais-5 metriikkaero kullekin kelpuutetulle trellis-polulle kaikissa tiloissa ensimmäistä (t = 0) lukuun ottamatta. Ns. metriikkaerolaskennan alustus, eli ominaismetriikkae-rojen laskeminen ensimmäiselle tilalle tai yleisemmin trellis-kaavion alulle, voi tapahtua eri tavoin riippuen siitä, onko tunnettuja alkutiloja yksi vai useampia.
Kuva 3 esittää trellis-kaavion alkua tapauksessa, jossa ensimmäisellä ajanhetkellä 10 (t = 0) on yksi tunnettu alkutila 301. Muilla ajanhetkillä on yleisesti 2k mahdollista tilaa, missä k on vastaavan konvohratiokooderin muistin pituus (tässä k = 2). Tilain-deksit ovat desimaalilukuina merkittäessä 0, 1, 2 ja 3 ylhäältä alas niin, että indeksi 0 vastaa binaaritilaa 00, indeksi 1 binaaritilaa 01, indeksi 2 binaaritilaa 10 ja indeksi 3 binaaritilaa 11. Konvoluutiokoodaukselle ja Viterbi-dekoodaukselle on tunnetusti 15 ominaista, että lähimmät kilpailevat polut, jotka eroavat jollakin tietyllä ajanhetkellä, voivat uudestaan yhtyä vasta k+1 ajanhetken päästä, missä k+1 on konvoluutio-kooderin vaikutuspituus (tässä k+1 = 3). Siten kuvan 3 esittämässä tapauksessa ei ole tarpeen laskea ominaismetriikkaeroja ennen ajanhetkeä t = k+l. Polkujen muodostaminen ja niiden kumuloituneiden metriikka-arvojen laskenta voivat jatkua tun-20 nettujen Viterbi-dekoodauksen periaatteiden mukaan. Jotta noudatettaisiin edellä esitettyjä määritelmiä kirjaimellisesti, voidaan olettaa, että kaikille poluille pätee d(t,j) = MAXNUM, kun t < k+1; tässä MAXNUM tarkoittaa niin suurta lukua, että se on aina suurempi kuin mikään kohtuullinen kahden polun välinen metriikkaero.
Kuva 4 esittää trellis-kaavion alkua tapauksessa, jossa on yleisesti 2k mahdollista 25 tilaa; tässä k = 2. Tässä tapauksessa on mahdollista, että polut yhtyvät ennen ajanhetkeä t = k+1, jolloin kunkin kelpuutetun polun ominaismetriikkaerojen laskenta on aloitettava jo ajanhetkestä t = 0. Tässä ominaismetriikkaerot voidaan alustaa niin, että kaikille poluille pätee d(0,j) = MAXNUM, kun j < 2k. Kun kaikki tilat ovat sallittuja aloitustiloja, kyseeseen tulee jatkuva konvoluutiokoodaus peräkkäisten data-30 lohkojen välillä. Tällaisten järjestelyjen etuihin palataan myöhemmin.
Seuraavassa käsitellään Viterbi-dekoodauksen päättämistä tietyn sarjan lopussa. Jälleen voidaan erottaa kaksi tapausta: tapaus, jossa koodausjärjestely on järjestetty päättämään kukin koodattu sarja tiettyyn tunnettuun päätöstilaan, ja tapaus, jossa useammat päätöstilat ovat mahdollisia. Viimemainittu viittaa jälleen jatkuvaan kon- v 106416 9 voluutiokoodaukseen peräkkäisten datalohkojen välillä. Käsitellään ensin yhden päätöstilan tapausta.
Kuva 5 esittää erään trellis-kaavion viimeisiä sarakkeita, niissä viimeinen sarake t = T sisältää vain yhden sallitun päätöstilan 501, joka on myös indeksoitu tilana s 5 (kuvien 3 ja 4 merkintöjä noudattaen s = 1). Tähän tilaan saattaa päätyä useampi polku, joita on kuvattu yhtenäisillä tilojen välisillä viivoilla. Tavallinen Viterbi-dekoodausalgoritmi valitsee yhden niistä lopulliseksi kelpuutetuksi poluksi: kuvassa 5 oletettu lopullinen kelpuutettu polku on merkitty paksulla viivalla. Edellä esitettyjen määritelmien avulla voidaan saada omainaismetriikkaero d(T,s) lopulliselle kel-10 puutetulle polulle. Lopullisen kelpuutetun polun edustamasta bittisarjasta tulee dekoodattu sarja. Yksi keksinnön tavoitteista oli toteuttaa sarjan luotettavuuden tunnusluku, eli arvo, joka kuvaisi täysin dekoodatun datasarjan arvioitua luotettavuutta. Merkitään sarjan luotettavuuden tunnuslukua p:lla; luonnollisin vaihtoehto kuvan 5 tapauksessa on määrittää p = d(T,s).
15 Kuva 6 esittää tilannetta, jossa viimeisellä ajanhetkellä t = T on 2k mahdollista pää-töstilaa (tässä k = 2). Paksulla pystysuuntaisella katkoviivalla 601 on merkitty päättyvän trellis-kaavion ja seuraavaan koodattuun sarjaan liittyvän trellis-kaavion välinen raja. Kuvasta nähdään heti, että seuraavan trellis-kaavion alku muistuttaa kuvan 4 trellis-kaavion alkua. Mahdollisten päätöstilojen runsauden takia rajalla voi olla 20 useita kelpuutettuja polkuja. Tavallinen Viterbi-dekoodausalgoritmi edellyttää, että lopullinen kumuloitunut luotettavuusmetriikka M(T,i) lasketaan kaikille kelpuutetuille poluille (kaikilla i:n arvoilla) ja että dekoodattua sarjaa edustamaan valitaan polku, jolla on edullisin M:n arvo. Oletetun lopullisen kelpuutetun polun viimeinen osuus on esitetty paksuna viivana, josta nähdään, että lopullinen kelpuutettu polku 25 päättyy tilaan 602. Tavallisen Viterbi-periaatteen suoraviivainen yleistäminen keksintöön edellyttäisi arvojen d(T,i) laskemista kaikilla i:n arvoilla sekä valitun lopullisen kelpuutetun polun d-arvon valitsemista dekoodatun sarjan luotettavuuden tunnusluvuksi p. Keksintö ei sulje pois tällaista ratkaisua. Tällainen lähestymistapa kuitenkin jättäisi huomiotta sen, että jokin polku tai jotkin polut ovat ehkä eronneet 30 lopullisesta kelpuutetusta polusta alle k+1 (vaikutuspituus) ajanhetkeä aikaisemmin eivätkä ole vielä yhdistyneet siihen uudestaan: tällaisilla viime hetken erkaantujilla voisi olla huomattava vaikutus lopullisen kelpuutetun polun d-arvoon.
Eräs edullinen tapa ottaa huomioon viime hetken erkaantujien aiheuttama ongelma on jatkaa ominaismetriikkaerojen laskentaa peräkkäisten trellis-kaavioiden välisen 35 rajan yli ainakin seuraavan trellis-kaavion ajanhetkeen t = k-1 (muistaen että en- 10 106416 simmäinen ajanhetki seuraavassa kaaviossa on t = 0). Korostettakoon, että mainittu laskenta ei millään tavoin vaikuta lopullisen kelpuutetun polun valintaan, edellisessä trellis-kaaviossa kumuloituneen tavallisen Viterbi-metriikan laskentaan tai seuraa-van trellis-kaavion käsittelyyn. On hyvin todennäköistä, että jos edellisen trellis-5 kaavion lopullisesta kelpuutetusta polusta viime hetkellä erkaantuvat polut selviytyvät lopullisen kelpuutetun polun läheisiksi kilpailijoiksi (ja siten vaikuttavat sen d-arvoon), ne ovat k:n ajanhetken jälkeen taas yhtyneet lopullisen kelpuutetun polun jatkeeseen seuraavassa trellis-kaaviossa. Täysin dekoodatun sarjan luotettavuuden tunnusluku p on siten sama kuin arvo d(T+k, x) laskettuna lopullisen kelpuutetun 10 polun jatkeelle seuraavan trellis-kaavion ajanhetken t = k-1 tilassa x.
Kuvassa 6 on esitetty d-arvojen laskentaa tilaan t = T+2 (tässä k = 2) saakka. Oletetaan esimerkiksi, että lopullisen kelpuutetun polun jatke kulkee ajanhetken t = T+l tilan 2, merkitty viitenumerolla 603, kautta ja päättyy ajanhetken t = T+2 tilaan 1, merkitty viitenumerolla 604, ja että eräs viime hetken erkaantuja erosi lopullisesta 15 kelpuutetusta polusta ajanhetken t= T-l tilassa 0, merkitty viitenumerolla 605, ja yhtyi siihen jälleen samassa päätöstilassa 604 ajanhetkellä t = T+2. Täysin dekoodatun sarjan luotettavuuden tunnusluku p on silloin sama kuin arvo d(l, 1) laskettuna lopullisen kelpuutetun polun jatkeelle seuraavan trellis-kaavion ajanhetken t = 1 tilassa 1.
20 Kuvassa 7 on esitetty kehysrakenne, jota voidaan edullisesti käyttää yhdessä keksinnön kanssa osana selektiivistä hybridi-ARQ-menetelmää (ARQ = Automatic Repeat reQuest), jota on selostettu toisessa käsiteltävänä olevassa suomalaisessa patenttihakemuksessa ’’Menetelmä ja järjestelmä pakettimuotoisen datan luotettavaksi * siirtämiseksi”. Kehys 700 koostuu neljästä dataa sisältävästä osasekvenssistä 701, 25 702, 703 ja 704. Neljännen osasekvenssin jälkeen seuraa CRC-kenttä 705, joka si sältää kehyksen koko sisällölle lasketun tarkistussumman kiinnittämättä huomiota osasekvenssien välisiin rajoihin. Kehys on myös konvoluutiokoodattu keskeytyksettä koko pituudeltaan kiinnittämättä huomiota osasekvenssien välisiin rajoihin tai neljännen osasekvenssin 704 ja CRC-kentän 705 väliseen rajaan. Vain CRC-kenttä 30 sisältää ns. häntäbittejä (ei erikseen esitetty kuvassa 7), joiden tarkoituksena on päättää konvoluutiokooderi yhteen tunnettuun päätöstilaan. Kehyksen konvoluutio-koodauksen alussa konvoluutiokooderi on alustettu tunnettuun tilaan niin, että ensimmäisen osasekvenssin 701 trellis-kaavion ensimmäisellä ajanhetkellä on vain yksi sallittu tila. Muiden osasekvenssien 702, 703 ja 704 trellis-kaavioiden alussa 35 samoin kuin kaikkien osasekvenssien trellis-kaavioiden lopussa sallittuja tiloja on useita.
n 106416
Keksinnön erään edullisen suoritusmuodon mukaisesti kuvan 7 mukaisen kehysrakenteen Viterbi-dekoodaus tapahtuu seuraavasti. Ensimmäisen osasekvenssin 701 * dekoodaus aloitetaan tunnetusta sallitusta ensimmäisestä tilasta. Ensimmäisen osa sekvenssin Viterbi-dekoodauksen lopussa valitaan lopullinen kelpuutettu polku ta-' 5 vanomaisten Viterbi-dekoodaussääntöjen mukaan ja dekoodattu ensimmäinen osa sekvenssi formuloidaan vastaavasti. Valitun lopullisen kelpuutetun polun ominais-metriikkaero formuloidaan laajentamalla metriikkaerolaskenta toiseen osasekvenssiin, kuten edellä kuvan 6 yhteydessä selostettiin, ja siitä tulee ensimmäinen sarjan luotettavuuden tunnusluku pi. Toisen osasekvenssin 702 dekoodaus alkaa useista 10 sallituista ensimmäisistä tiloista, kuten edellä kuvan 4 yhteydessä selostettiin, ja päättyy jälleen metriikkaerolaskennan laajentamiseen seuraavaan (kolmanteen) osasekvenssiin. Dekoodauksen päättyessä saadaan lopullinen kelpuutettu polku ja vastaava dekoodattu toinen osasekvenssi, ja laajennetun laskennan avulla saadusta omi-naismetriikkaerosta tulee toinen sarjan luotettavuuden tunnusluku p2. Dekoodattu 15 kolmas ja neljäs osasekvenssi sekä vastaavat kolmas ja neljäs sarjan luotettavuuden tunnusluku p3 ja p4 saadaan samalla tavalla. CRC-kentän Viterbi-dekoodaus tapahtuu normaalien Viterbi-dekoodaussääntöjen mukaisesti; sarjan luotettavuuden tunnusluvun pcrc laskenta voi sisältyä prosessiin tai olla sisältymättä siihen.
Kun Viterbi-dekoodaus on suoritettu, suoritetaan virheenilmaiseva dekoodaus las-20 kemalla uusi CRC-tarkistussumma dekoodatuista osasekvensseistä. Jos virheitä ei havaita, dekoodatut osasekvenssit hyväksytään käyttämättä sarjan luotettavuuden tunnuslukuja mihinkään. Jos virheenilmaiseva dekoodaus kuitenkin osoittaa kehyksen sisältävän yhden tai useampia virheitä, on vuorossa kysymys virheen tai virheiden mahdollisesta sijainnista. CRC-menetelmät eivät mahdollista virheiden määrän • · 25 ilmaisua; ne vain ilmaisevat onko virheitä vai ei. On olemassa muita virheenilmai-sevia koodausmenetelmiä, jotka mahdollistavat myös (ainakin summittaisen) virheiden määrän ilmaisun. Keksintö soveltuu käytettäväksi kaikkien näiden virheenilmai-sevien koodausmenetelmien kanssa.
Oletetaan, että virheenilmaiseva dekoodaus indikoi virheiden olemassaoloa. Olete-30 taan lisäksi, että yksi sarjan luotettavuuden tunnusluvuista pi, p2, p3 ja p4 on merkittävästi pienempi kuin muut, ilmaisten siten, että yhden dekoodatun osasekvenssin arvioitu luotettavuus on merkittävästi huonompi kuin muiden dekoodattujen osasekvenssien luotettavuus. Silloin on luonnollista olettaa, että virheet sijaitsevat siinä osasekvenssissä, jolla on alin sarjan luotettavuuden tunnusluvun arvo, jolloin voi-35 daan esittää kyseistä osasekvenssiä koskeva uudelleenlähetyspyyntö. Toisissa tapauksissa indikoitujen virheiden määrä samoin kuin sarjan luotettavuuden tunnusluku- 12 106416 jen keskinäinen suuruussuhde voivat vaihdella, mikä edellyttää toisenlaisia toimenpiteitä (useampaa kuin yhtä osasekvenssiä koskevia uudelleenlähetyspyyntöjä, uudelleenlähetyspyyntöjä, jotka koskevat kaikkia sellaisia osasekvenssejä, joiden sarjan luotettavuuden tunnusluku alittaa ennalta määrätyn raja-arvon, jne.)· Tällaisia 5 tapauksia ja niiden vaatimia toimenpiteitä on selostettu yksityiskohtaisemmin aiemmin mainitussa toisessa samaan aikaan käsiteltävänä olevassa suomalaisessa patenttihakemuksessa. On myös mahdollista julistaa dekoodatut sarjat virheettömiksi CRC-virheestä huolimatta, mikäli saijan luotettavuuden tunnusluvut pi, p2, P3 ja p4 ovat erittäin suuret verrattuna CRC-kentäile laskettuun sarjan luotettavuuden tun-10 nuslukuun pcrc· Esillä olevan keksinnön kannalta merkittävä ominaisuus on se, että on mahdollista arvioida dekoodattujen osasekvenssien suhteellinen luotettavuus keksinnön mukaisten sarjan luotettavuuden tunnuslukujen avulla.
On huomattava, että edellä esitetyt kaavat ominaismetriikkaeron ja sarjan luotettavuuden tunnusluvun laskemiseksi eivät varsinaisesti rajoita keksintöä, vaikka niillä 15 ajatelmankin olevan edullisen alhainen mutkikkuustaso yhdistyneenä hyvään ymmärrettävyyteen. Sarjan luotettavuuden tunnusluvun laskentaan voidaan esimerkiksi lisätä dekoodatun saijan pituuden huomioon ottava skaalauskerroin poikkeamatta oheisten patenttivaatimusten suojapiiristä.
Loppuyhteenvedoksi selostetaan lyhyesti keksinnön mukaisen menetelmän ja kek-20 sinnön mukaisen laitteen eräitä edullisia suoritusmuotoja viitaten kuviin 8 ja 9.
Kuvan 8 vaiheessa 801, konvoluutiokoodatun sarjan Viterbi-dekoodauksen alussa, valitaan alustusmenetelmä sen mukaan, tunnetaanko alkutila vai ei. Jos alkutila tun-\ netaan, d-arvot voidaan alustaa suureen arvoon aina ajanhetkeen t= k asti (vaihe 802), mutta jos alkutilaa ei tunneta, alustus voidaan suorittaa vain ajanhetkelle t = 0 25 (vaihe 803). Vaiheet 804-807 muodostavat silmukan, jota kierretään, kunnes saavutetaan sarjan viimeinen symboli (t = T). Kunkin ajanhetken kohdalla suoritetaan kelpuutettujen polkujen tavanomainen Viterbi-tyyppinen valinta (vaihe 805) ja lasketaan ominaisluotettavuusmetriikka kullekin kelpuutetulle polulle (vaihe 806). Vaiheessa 808 lopullisen kelpuutetun polun d-arvoksi (ominaisluotettavuusmetrii- r 30 kaksi) valitaan täysin dekoodatun sarjan luotettavuuden tunnusluku (vaihe 809) tai siirrytään laajennettuun laskentaan. Jälkimmäisessä vaihtoehdossa kierretään vaiheiden 810-813 muodostamaa silmukkaa, kunnes laajennus käsittää k ajanhetkeä, missä k on konvoluutiokooderin muistin pituus. Kelpuutettujen polkujen valinta ja d-arvo-jen laskenta tuottaa lopulta, vaiheessa 814, korjatun d-arvon lopulliselle kelpuutetul-35 le polulle, joka varsinaisesti valittiin jo viime käynnillä vaiheessa 805.
13 106416
Kuva 9 esittää kaavamaisesti erästä keksinnön edullisen suoritusmuodon mukaista vastaanottolaitetta 900. Vastaanotinyksikkö 901 on järjestetty fyysisesti vastaanottamaan lähettävän laitteen lähetyksiä ja muuntamaan ne dekoodaukselle sopivaan muotoon. Puskurimuistia 902 siihen sisältyville rekombinaatiologiikkoineen (ei esi-5 tetty kuvassa) käytetään tilapäisesti tallentamaan dekoodaamattomat sarjat mahdollisten uudelleenlähetettyjen lisätietojen varalta ja huolehtimaan alkuperäisen sarjan ja uudelleenlähetettyjen lisätietojen varsinaisesta uudelleenyhdistelystä. Puskuri-muistin lähtö on kytketty virheenkorjaavaan dekooderiin 903, joka on järjestetty suorittamaan virheenkorjaava (Viterbi-) dekoodaus ja tallentamaan d-arvot eli omi-10 naisluotettavuusmetriikat sekä lopulliset Saijan luotettavuuden tunnusluvut metriik-kamuistiin 904. Virheenilmaiseva dekooderi 905 on lisäksi järjestetty dekoodaa-maan virheenilmaisukoodi ja ilmoittamaan mahdollisista virheistä tai myös havaittujen virheiden määrästä uudelleenlähetyksen ohjausyksikölle 906. Virheenilmaiseval-la dekooderilla 905 on myös lähtö virheettömien sarjojen johtamiseksi jatkokäsitte-15 lylohkolle 907, joka on jäljestetty jatkokäsittelemään dekoodatut sarjat. Uudelleenlähetyksen ohjausyksikkö 906 on järjestetty muodostamaan tarpeen vaatiessa uudel-leenlähetyspyyntöjä lohkoilta 905 ja 904 saatujen tietojen perusteella ja lähettämään uudelleenlähetyspyynnöt lähetinyksikön 908 kautta. Uudelleenlähetyksen ohjausyksikkö 906 ohjaa myös poistettavien (dekoodattujen ja virheettömiksi julistettujen 20 tai vanhentuneiden) sarjojen poistamista puskurimuistista 902.
Perusmuodossaan keksintö edellyttää vain yhden arvon ylläpitämistä ominaisluotet-tavuusmetriikkana kullekin trellis-kaavion kelpuutetulle polulle. On kuitenkin mahdollista, että trellis-kaavio ei ole erityisen pitkä ja yhden sarjan dekoodauksen aika-. na käsiteltävien kelpuutettujen polkujen määrä on kohtuullinen. Silloin voi olla 25 edullista erikseen tallentaa myös lasketut ominaisluotettavuusmetriikat kullekin ajanhetkelle koko dekoodauksen ajalta. Tällaisen järjestelyn etuna on mahdollisuus jälkeenpäin analysoida dekoodattua sarjaa edustamaan valitun lopullisen kelpuutetun polun ominaisluotettavuusmetriikan suuruudessa esiintyviä trendejä. Voi esimerkiksi sattua niin, että lopullisen kelpuutetun polun ominaisluotettavuusmetriikan _'! 30 arvo pysyy varsin suurena tiettyjen ajanhetkien ajan sarjan alusta laskettuna, mutta pienenee jyrkästi jossain vaiheessa. Jos sarjassa sitten havaitaan virhe, on hyvin todennäköistä, että virhe on tapahtunut ominaisluotettavuusmetriikan arvon jyrkän pienenemisen vaiheilla. Monenlaisia toimenpiteitä voidaan tehdä tunnettaessa virheen summittainen sijainti: voidaan esimerkiksi pyytää uudelleenlähetystä suurem-35 maila redundanssilla tai kiinnittää muuten erityistä huomiota sarjaan, jossa virhe todennäköisimmin sijaitsi.
14 106416
Edellä on esitetty keksinnön mahdollisena sovelluskohteena ainoastaan tapaus, jossa yksi virheenilmaisukoodi kattaa useita sarjoja. Keksinnön todellinen sovellettavuus on kuitenkin paljon laajempi. Muita sovelluksia ovat mm. tietojen pyyhkiytymisen ilmoittaminen, signaalin laadun arviointi ja erilaiset yhdistelmät virheenilmaisevien 5 dekoodaustoimenpiteiden kanssa.
•« V·.

Claims (10)

15 106416 . 1. Menetelmä datasaijan luotettavuuden arvioimiseksi Viterbi-dekoodauksen jäl keen, joka Viterbi-dekoodaus käsittää vaiheet, joissa v a) muodostetaan tiettyä alkuajanhetkeä vastaavat mahdolliset Viterbi-dekoodauksen 5 alkutilat (801), b) edetään seuraavaan ajanhetkeen (804), c) valitaan kussakin senhetkistä ajanhetkeä vastaavassa tilassa yksi kelpuutettu trel-lis-polku kyseiseen tilaan tulevien trellis-polkujen joukosta (805) ja d) toistetaan vaiheita b) ja c) viimeiseen ajanhetkeen asti (807) ja mainitulla viimei-10 sellä ajanhetkellä vahtaan lopullinen kelpuutettu trellis-polku edustamaan dekoodattua datasaijaa, tunnettu siitä, että se käsittää vaiheet, joissa - Viterbi-dekoodauksen vaiheessa e) päivitetään erikseen kuhunkin valittuun kelpuutettuun trellis-polkuun liittyvä ominaisluotettavuusmetriikka (806) ja 15 - lopullisen kelpuutetun trellis-polun valinnan jälkeen muunnetaan sen ominaisluo tettavuusmetriikka dekoodatun datasarjan arvioitua luotettavuutta vastaavaksi sarjan luotettavuuden tunnusluvuksi (809, 810-814).
2. Patenttivaatimuksen 1 mukainen menetelmä, jossa Viterbi-dekoodauksen vaihe a) vastaa yhden mahdollisen alkutilan muodostamista Viterbi-dekoodaukselle ja jos-20 sa kyseeseen tulevan konvoluutiokooderin muistin pituus tunnetaan, tunnettu siitä, että kaikilla niillä ajanhetkillä, jotka ovat lähempänä alkuajanhetkeä kuin kyseisen konvoluutiokooderin tunnettu muistin pituus, mainittujen ominaisluotettavuusmet-riikoiden päivittämisvaihe vastaa kaikkien ominaisluotettavuusmetriikoiden asetta- 9 mistä kiinteään maksimiarvoon (802).
3. Patenttivaatimuksen 1 mukainen menetelmä, jossa Viterbi-dekoodauksen vaihe a) vastaa usean mahdollisen alkutilan muodostamista Viterbi-dekoodaukselle, tunnettu siitä, että mainittujen ominaisluotettavuusmetriikoiden päivittämisvaihe vastaa alkuajanhetkellä kaikkien ominaisluotettavuusmetriikoiden asettamista kiinteään maksimiarvoon (802).
4. Patenttivaatimuksen 1 mukainen menetelmä, tunnettu siitä, että ellei mitään asetusta kiinteään maksimiarvoon tehdä, ominaisluotettavuusmetriikoiden päivittämisvaihe (806) vastaa ominaisluotettavuusmetriikan arvon laskemista kaavan d(t,j) = min[d(t-l,x), m(t,y,j)-m(t,x,j)] mukaan, jossa t vastaa ajanhetkeä, jolla ominaisluotettavuusmetriikka lasketaan, j vastaa tilaa, jolla ominaisluotettavuusmetriik-35 ka lasketaan, x vastaa tilaa, joka välittömästi edeltää tilaa j ja kuuluu tilassa j kel- 16 106416 pulitetuksi valittuun trellis-polkuun, y vastaa tilaa, joka välittömästi edeltää tilaa j ja kuuluu tilan j lähimmäksi kilpailevaksi poluksi nimettyyn polkuun, ja m(t,i,j) vastaa kumuloitunutta luotettavuusmetriikkaa, joka olisi seurausta tilasta i ajanhetkellä t-1 tilaan j ajanhetkellä t tapahtuvasta siirtymästä.
5. Patenttivaatimuksen 1 mukainen menetelmä, jossa viimeisellä ajanhetkellä on yksi ainoa sallittu päätöstila Viterbi-dekoodaukselle, tunnettu siitä, että vaihe, jossa valitun lopullisen kelpuutetun trellis-polun ominaisluotettavuusmetriikka muunnetaan saijan luotettavuuden tunnusluvuksi, vastaa valitun lopullisen kelpuutetun trellis-polun ominaisluotettavuusmetriikan arvon asettamista sarjan luotettavuuden tun-10 nusluvuksi (809).
6. Patenttivaatimuksen 1 mukainen menetelmä, jossa viimeisellä ajanhetkellä on useita sallittuja päätöstiloja Viterbi-dekoodaukselle ja viimeistä ajanhetkeä seuraa välittömästi seuraava koodattu datasaija, ja kyseeseen tulevan konvoluutiokooderin muistin pituus tunnetaan, tunnettu siitä, että vaihe, jossa valitun lopullisen kelpuu-15 tetun trellis-polun ominaisluotettavuusmetriikka muunnetaan sarjan luotettavuuden tunnusluvuksi, vastaa alivaiheita, joissa b’) edetään välittömästi seuraavan koodatun datasarjan sisältämään seuraavaan ajanhetkeen (810), c’) valitaan kussakin senhetkistä ajanhetkeä vastaavassa tilassa yksi kelpuutettu trel-20 lis-polku kyseiseen tilaan tulevien trellis-polkujen joukosta (811) ja päivitetään erikseen ainakin viimeisellä ajanhetkellä kelpuutetuksi trellis-poluksi valitun kelpuutetun trellis-polun jatkeeseen liittyvä ominaisluotettavuusmetriikka (812), d’) toistetaan vaiheita b’) ja c’) jatkon sellaiseen viimeiseen ajanhetkeen asti, joka ei a * “ ole lähempänä viimeistä hetkeä kuin kyseeseen tulevan konvoluutiokooderin muistin 25 pituus vähennettynä yhdellä (813), ja e’) mainitulla jatkon viimeisellä ajanhetkellä päivitetään viimeisellä ajanhetkellä kelpuutetuksi trellis-poluksi valitun trellis-polun jatkeeseen liittyvä ominaisluotettavuusmetriikka ja asetetaan päivitetty ominaisluotettavuusmetriikka sarjan luotetta-vuuden tunnusluvuksi (814). il I
7. Dekoodauslaite konvoluutiokoodatun datasarjan Viterbi-dekoodaamiseksi ja datasaijan luotettavuuden arvioimiseksi Viterbi-dekoodauksen jälkeen, joka laite käsittää välineet Viterbi-dekoodauksen suorittamiseksi muodostamalla tietty määrä trellis-polkuja joukosta tiettyyn alkuajanhetkeen liittyviä sallittuja tiloja joukkoon tiettyyn viimeiseen ajanhetkeen liittyviä sallittuja tiloja niin, että polut kulkevat 35 tiettyihin välissä oleviin ajanhetkiin liittyvien sallittujen tilojen kautta, ja valitsemal- π 106416 la kussakin välissä olevaan ajanhetkeen liittyvässä tilassa jokin kelpuutettu trellis-polku ja viimeiseen ajanhetkeen liittyen lopullinen kelpuutettu trellis-polku, tunnet-’ tu siitä, että se käsittää välineet erikseen kuhunkin valittuun kelpuutettuun trellis- polkuun liittyvän ominaisluotettavuusmetriikan päivittämiseksi kussakin välissä ole-5 vaan tai viimeiseen ajanhetkeen liittyvässä tilassa sekä välineet valitun lopullisen kelpuutetun trellis-polun ominaisluotettavuusmetriikan muuntamiseksi dekoodatun datasarjan arvioitua luotettavuutta vastaavaksi sarjan luotettavuuden tunnusluvuksi.
8. Patenttivaatimuksen 7 mukainen dekoodauslaite, tunnettu siitä, että se käsittää välineet, joilla alustetaan valittu määrä ominaisluotettavuusmetriikoita Viterbi- 10 dekoodauksen alussa kiinteään maksimiarvoon.
9. Patenttivaatimuksen 7 mukainen dekoodauslaite, tunnettu siitä, että se käsittää välineet ominaisluotettavuusmetriikoiden päivittämisen laajentamiseksi ajanhetkiin, jotka kuuluvat välittömästi seuraavaan myöhempään datasarjaan.
10. Vastaanottolaite (900) yläyksiköiden (700), jotka sisältävät ennalta määritellyn 15 määrän alayksiköitä (701, 702, 703, 704), muodossa olevan koodatun digitaalisen informaation vastaanottamiseksi luotettavalla tavalla, tunnettu siitä, että se käsittää - välineet (903) alayksiköiden dekoodamiseksi Viterbi-menetelmällä muodostamalla tietty määrä trellis-polkuja joukosta sallittuja tiloja, jotka liittyvät tiettyyn alkuajan- 20 hetkeen tietyssä alayksikössä, joukkoon sallittuja tiloja, jotka liittyvät tiettyyn viimeiseen ajanhetkeen samassa alayksikössä, niin että polut kulkevat tiettyihin välissä oleviin ajanhetkiin liittyvien sallittujen tilojen kautta, ja valitsemalla kussakin välis-sä olevaan ajanhetkeen liittyvässä tilassa jokin kelpuutettu trellis-polku ja viimeiseen ajanhetkeen liittyen lopullinen kelpuutettu trellis-polku, 25. välineet (904) erikseen kuhunkin valittuun kelpuutettuun trellis-polkuun liittyvän ominaisluotettavuusmetriikan päivittämiseksi kussakin välissä olevaan tai viimeiseen ajanhetkeen liittyvässä tilassa sekä välineet valitun lopullisen kelpuutetun trellis-polun ominaisluotettavuusmetriikan muuntamiseksi dekoodatun datasarjan ar-~ vioitua luotettavuutta vastaavaksi sarjan luotettavuuden tunnusluvuksi kunkin 30 yläyksikköön sisältyvän alayksikön dekoodausluotettavuuden arvioimiseksi, - virheenilmaisevat dekoodausvälineet (905) yläyksikön dekoodaamiseksi virheen-ilmaisevalla tavalla ja sen sisältämien virheiden määrän ilmaisemiseksi, ja - uudelleenlähetyksen ohjausvälineet (906), joilla voidaan tunnistaa epäilyttäviksi ennalta määrätty määrä dekoodatun yläyksikön sisältämiä alayksiköitä alayksiköiden 35 arvioitujen luotettavuuksien ja dekoodatussa yläyksikössä ilmaistujen virheiden ie 106416 määrän perusteella ja muodostaa epäilyttäviksi tunnistettuja alayksiköitä koskevia uudelleenlähetyspyyntöjä.
FI990249A 1999-02-09 1999-02-09 Menetelmä ja laite dekoodatun symbolisarjan luotettavuuden määrittämiseksi FI106416B (fi)

Priority Applications (6)

Application Number Priority Date Filing Date Title
FI990249A FI106416B (fi) 1999-02-09 1999-02-09 Menetelmä ja laite dekoodatun symbolisarjan luotettavuuden määrittämiseksi
JP2000029335A JP2000244336A (ja) 1999-02-09 2000-02-07 復号されたシンボル・シーケンスの信頼度を推定するための方法および装置
PCT/FI2000/000086 WO2000048324A2 (en) 1999-02-09 2000-02-08 Method and device for estimating the reliability of a decoded symbol sequence
AU25509/00A AU2550900A (en) 1999-02-09 2000-02-08 Method and device for estimating the reliability of a decoded symbol sequence
US09/500,170 US6507927B1 (en) 1999-02-09 2000-02-08 Method and device for estimating the reliability of a decoded symbol sequence
EP00903722A EP1151543A2 (en) 1999-02-09 2000-02-08 Method and device for estimating the reliability of a decoded symbol sequence

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FI990249 1999-02-09
FI990249A FI106416B (fi) 1999-02-09 1999-02-09 Menetelmä ja laite dekoodatun symbolisarjan luotettavuuden määrittämiseksi

Publications (3)

Publication Number Publication Date
FI990249A0 FI990249A0 (fi) 1999-02-09
FI990249A FI990249A (fi) 2000-08-10
FI106416B true FI106416B (fi) 2001-01-31

Family

ID=8553677

Family Applications (1)

Application Number Title Priority Date Filing Date
FI990249A FI106416B (fi) 1999-02-09 1999-02-09 Menetelmä ja laite dekoodatun symbolisarjan luotettavuuden määrittämiseksi

Country Status (6)

Country Link
US (1) US6507927B1 (fi)
EP (1) EP1151543A2 (fi)
JP (1) JP2000244336A (fi)
AU (1) AU2550900A (fi)
FI (1) FI106416B (fi)
WO (1) WO2000048324A2 (fi)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3839932B2 (ja) * 1996-09-26 2006-11-01 キヤノン株式会社 プロセスカートリッジ及び電子写真画像形成装置及び電子写真感光体ドラム及びカップリング
US6851086B2 (en) * 2000-03-31 2005-02-01 Ted Szymanski Transmitter, receiver, and coding scheme to increase data rate and decrease bit error rate of an optical data link
KR100566745B1 (ko) * 2000-05-03 2006-04-03 유니버시티 오브 써던 캘리포니아 레이턴시를 줄인 siso 모듈
EP1271509A1 (en) * 2001-06-22 2003-01-02 STMicroelectronics S.r.l. Method and apparatus for detecting and correcting errors in a magnetic recording channel of a mass storage system
US20040028076A1 (en) * 2001-06-30 2004-02-12 Strolle Christopher H Robust data extension for 8vsb signaling
CN100373778C (zh) * 2002-08-31 2008-03-05 中兴通讯股份有限公司 一种维特比硬判决度量更新方法
US7194047B2 (en) * 2002-09-20 2007-03-20 Ati Technologies Inc. Receiver for robust data extension for 8VSB signaling
AU2003263514A1 (en) * 2002-10-30 2004-05-25 Koninklijke Philips Electronics N.V. Trellis-based receiver
US6904557B2 (en) 2003-01-31 2005-06-07 Nokia Corporation Discontinuous transmission (DTX) detection using decoder metric
US20040213225A1 (en) * 2003-04-28 2004-10-28 Texas Instruments Incorporated Re-use of channel estimation information in a wireless local area network
KR101002814B1 (ko) 2003-10-02 2010-12-21 삼성전자주식회사 패킷 데이터 서비스를 제공하는 이동통신 시스템에서순방향 패킷 데이터 제어 채널 수신 장치 및 방법
US7590927B1 (en) * 2005-11-14 2009-09-15 Link —A—Media Devices Corporation Soft output viterbi detector with error event output
US7752531B2 (en) * 2007-09-12 2010-07-06 Seagate Technology Llc Defect sensing Viterbi based detector
US8259868B1 (en) 2007-09-25 2012-09-04 University Of Southern California Conditionally cycle-free generalized tanner graphs based decoding
US8755135B1 (en) * 2010-03-04 2014-06-17 Sk Hynix Memory Solutions Inc. Margining decoding utilizing soft-inputs
KR102012686B1 (ko) * 2012-12-13 2019-08-21 삼성전자주식회사 OOK(On-Off Keying) 수신기에서 디씨 오프셋(DC Offset) 변화에 강인하게 비트 시퀀스를 검출하는 방법 및 장치
KR102128471B1 (ko) * 2014-03-11 2020-06-30 삼성전자주식회사 폴라 부호의 리스트 복호 방법 및 이를 적용한 메모리 시스템
CN106899379B (zh) * 2015-12-18 2020-01-17 华为技术有限公司 用于处理极化码的方法和通信设备
US10291264B2 (en) 2016-06-17 2019-05-14 Huawei Technologies Co., Ltd. Systems and methods for rate matching when using general polar codes
US10579452B2 (en) * 2016-06-17 2020-03-03 Huawei Technologies Co., Ltd. Systems and methods for rate matching via a heterogeneous kernel when using general polar codes
CN114884611A (zh) * 2016-08-11 2022-08-09 华为技术有限公司 用于极化编码的方法、装置和设备
CN108574561B (zh) * 2017-03-14 2020-11-17 华为技术有限公司 极化码编码的方法和装置
CN109412608B (zh) 2017-03-24 2019-11-05 华为技术有限公司 Polar编码方法和编码装置、译码方法和译码装置
CN109347488B (zh) * 2017-04-01 2019-11-01 华为技术有限公司 极化码编码和译码的方法、发送设备和接收设备
WO2018187902A1 (en) * 2017-04-10 2018-10-18 Qualcomm Incorporated An efficient interleaver design for polar codes

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5537444A (en) 1993-01-14 1996-07-16 At&T Corp. Extended list output and soft symbol output viterbi algorithms
JP2864988B2 (ja) * 1994-06-21 1999-03-08 日本電気株式会社 軟判定信号出力形受信機
FR2724273B1 (fr) * 1994-09-05 1997-01-03 Sgs Thomson Microelectronics Circuit de traitement de signal pour mettre en oeuvre un algorithme de viterbi
US5684811A (en) 1995-09-01 1997-11-04 Motorola, Inc. Method and apparatus for decoding convolutionally encoded information
GB2305827B (en) 1995-09-30 2000-01-19 Motorola Ltd Viterbi co-processor and method of operation therefor
EP0771080B1 (en) * 1995-10-25 1999-01-13 Nec Corporation Maximum-likelihood decoding with soft decisions
US5822340A (en) 1996-05-10 1998-10-13 Telefonaktiebolaget Lm Ericsson Method for decoding data signals using fixed-length decision window
US5933462A (en) * 1996-11-06 1999-08-03 Qualcomm Incorporated Soft decision output decoder for decoding convolutionally encoded codewords
US6192503B1 (en) * 1997-08-14 2001-02-20 Ericsson Inc. Communications system and methods employing selective recursive decording

Also Published As

Publication number Publication date
US6507927B1 (en) 2003-01-14
AU2550900A (en) 2000-08-29
JP2000244336A (ja) 2000-09-08
EP1151543A2 (en) 2001-11-07
WO2000048324A2 (en) 2000-08-17
FI990249A (fi) 2000-08-10
WO2000048324A3 (en) 2000-12-07
FI990249A0 (fi) 1999-02-09

Similar Documents

Publication Publication Date Title
FI106416B (fi) Menetelmä ja laite dekoodatun symbolisarjan luotettavuuden määrittämiseksi
US5537444A (en) Extended list output and soft symbol output viterbi algorithms
FI114515B (fi) Menetelmä ja laite dekooderin optimoimiseksi
KR100203722B1 (ko) 코드화된 정보 시퀀스 처리 방법
CN101635611B (zh) 一种信道译码方法和装置
US7590927B1 (en) Soft output viterbi detector with error event output
US8230308B2 (en) Decoding apparatus and decoding method using an additional add-compare-select operation on decoded data in the event of an error in the decoded data
CA2710773A1 (en) Decoding scheme using multiple hypotheses about transmitted messages
JP2009535939A (ja) ビタビ復号装置および技術
CN101867379A (zh) 一种循环冗余校验辅助的卷积码译码方法
WO2008048723A2 (en) Method and system for improving decoding efficieny in wireless receivers
WO2006001748A2 (en) Method and apparatus for decoding of turbo encoded data in a communication system
CN1100393C (zh) 采用固定长度的判定窗口对数据信号进行译码的方法
GB2434066A (en) Blind transport format detection wherein, for each state, the difference between different likelihood information is calculated and compared with a threshold
KR20120093536A (ko) 통신 시스템에서 복호화를 위한 장치 및 방법
JP2008118327A (ja) ビタビ復号方法
US7975212B2 (en) Sequential decoding method and apparatus thereof
CN101411071A (zh) 具有双向滑动窗口体系结构的map译码器
Freudenberger et al. An algorithm for detecting unreliable code sequence segments and its applications
CN107342775B (zh) 删余卷积码的维特比译码方法
US8181098B2 (en) Error correcting Viterbi decoder
US8099657B2 (en) Error correcting Viterbi decoder
KR100302032B1 (ko) 오류정정 디코더 및 오류정정 디코딩 방법
JP2591011B2 (ja) 逐次復号法を用いた通信回線の回線品質推定方式
KR100459419B1 (ko) 비터비 디코더

Legal Events

Date Code Title Description
MA Patent expired