FI114515B - Menetelmä ja laite dekooderin optimoimiseksi - Google Patents

Menetelmä ja laite dekooderin optimoimiseksi Download PDF

Info

Publication number
FI114515B
FI114515B FI962030A FI962030A FI114515B FI 114515 B FI114515 B FI 114515B FI 962030 A FI962030 A FI 962030A FI 962030 A FI962030 A FI 962030A FI 114515 B FI114515 B FI 114515B
Authority
FI
Finland
Prior art keywords
bits
bit
candidate
message
error detection
Prior art date
Application number
FI962030A
Other languages
English (en)
Swedish (sv)
Other versions
FI962030A (fi
FI962030A0 (fi
Inventor
Paul W Dent
Original Assignee
Ericsson Inc
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 Ericsson Inc filed Critical Ericsson Inc
Publication of FI962030A0 publication Critical patent/FI962030A0/fi
Publication of FI962030A publication Critical patent/FI962030A/fi
Application granted granted Critical
Publication of FI114515B publication Critical patent/FI114515B/fi

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • 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
    • 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/23Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)
  • Semiconductor Lasers (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Description

114515
Menetelmä ja laite dekooderin optimoimiseksi
Tausta
Esillä oleva keksintö koskee dekoodausjärjestelmää käytettäväksi signaaliviestinnässä, ja erityisesti dekoodausjäijesteimää dekoodaamaan lähe-5 tettyjä dataviestejä, jotka käyttävät sekä virheenilmaisevaa että virheenkorjaavaa koodausta.
Datan lähettämisessä virheille alttiiden tietoliikennekanavien kautta, kuten esimerkiksi radiokanavien, voidaan käyttää virheenilmaisevaa koodausta ja/tai virheenkorjaavaa koodausta vähentämään virheitä lähetetyssä datassa.
10 Lähetetty data on usein digitaalista informaatiota, josta on helpointa muodostaa käsitys informaation binäärisistä biteistä koostuvien sanomien muodossa, missä kukin bitti voi olla joko YKKÖNEN tai NOLLA. Mikä tahansa määrätty viesti on silloin vain joukosta YKKÖSIÄ muodostuva jono, jonka väliin on siroteltu joukko NOLLIA. Ymmärretään, että mikä tahansa L:n bitin jono voi esittää yhtä 2L:ää 15 yksikäsitteisestä sanomasta.
Digitaalisen informaation virheenilmaiseva koodaus ja virheenkorjaava koodaus ovat erilaisia koodausmuotoja, ja molemmat ovat tärkeitä. Yksinkertainen esimerkki virheenilmaisevasta koodauksesta on sanoman identtisen kopion lisääminen tähän sanomaan, molempien lähettäminen, bitti bitiltä tapahtu-20 van vastaanotetun sanoman vastaanotettuun sanomaan vertaamisen suoritta-’;' / minen. Kullekin bittipaikalle mikä tahansa eroavuus sanoman ja sen kopion välil- > lä on todiste siirtovirheestä. Sanoman eroavuuksien kokonaislukumäärä on da- tasiirron luotettavuuden kvantitatiivinen mitta. Ymmärretään, että eroavuuksien kokonaislukumäärä on luotettavuuden epätarkka mitta, koska samanaikaisia 25 virheitä sekä sanoman että kopion samoissa bittipaikoissa ei tunnisteta eroa-:' i'; vuuksiksi.
Tavallinen virheenilmaisutekniikka, syklinen ylimäärän tarkistustek- , . nilkka (Cyclic Redundancy Check, CRC), tuottaa ja lisää sanomaan "tarkistusbit- . · · ·. tejä", jotka määrätään datasanoman bittien perusteella. Tarkistusbitit muodosta- • » 30 vat "tarkistussanan", joka on tunnusmerkillinen määrätylle sanomalle. Tarkistus-:.: : sana voidaan liittää sanoman perään niin, että molemmat prosessoidaan saman kooderin avulla, molemmat lähetetään saman tietoliikennekanavan kautta yhdessä, ja molemmat prosessoidaan saman dekooderin avulla vastaanottimessa. Vastaanottimessa oleva CRC-laskin voi sitten kehittää vastaanotettuja dekoo-35 dattuja sanomabittejä vastaavat tarkistusbitit, ja tätä vastaanottimen laskemaa 2 114515 tarkistussanaa voidaan verrata dekoodattuun tarkistussanaan, joka vastaanotettiin sanoman kanssa. Mikä tahansa poikkeavuus osoittaa siirrossa ilmaistua virhettä, ja poikkeavuuden astetta voidaan käyttää datasiirron luotettavuuden kvantitatiivisena mittana.
5 Vastakohtana yksinkertainen esimerkki virheenkorjaavasta koodauk sesta on usean identtisen kopion lähettäminen määrätystä sanomasta ja bitti bitiltä tapahtuvan kaikkien vastaanottimessa vastaanotettujen sanomien vertaamisen suorittaminen. Pitääkö vastaanottimesta tulevan sanomaulostulon bitin olla YKKÖNEN vai NOLLA voidaan päättää "bittidemokratian" perusteella, eli tätä 10 bittipaikkaa varten vastaanotettujen bittiarvojen enemmistö määrää ulostulon. Siirtovirheiden voidaan olettaa olevan tasaisesti jakautuneina sanomakopioiden joukossa ja niiden esiintyminen samassa bittipaikassa kopioiden enemmistössä on vähemmän todennäköistä.
Tunnettu virheenkorjaava tekniikka on konvolutionaalinen koodaus, 15 jossa lähetetyt bitit, jotka tunnetaan pariteettibitteinä, määritetään sanomabittien perusteella. Sanomabiteistä otetaan huomioon L bittiä kerrallaan ja r pariteetti-bittiä lähetetään jokaista L:ää sanomabittiä varten. Pariteettibitit voidaan esimerkiksi laskea tiettyinä Boolen kombinaatioina sanoman eri biteistä.
Konvolutionaalisesti koodattujen pariteettibittien lähettäminen erottaa 20 konvolutionaalisen koodauksen yleisesti vaihtoehtoisista koodauskaavoista, kuten esimerkiksi lohkokoodauksesta, jossa pieni joukko sanomabittejä muunne-; taan redundanttiseksi lohkokoodisanaksi ja useita sellaisia koodisanoja lähete- : ·, *. tään siirtämään koko sanoma.
Esillä oleva keksintö kuvataan tuonnempana ensisijaisesti konvolu-25 tionaalisen koodauksen yhteydessä, vaikka sitä voidaan soveltaa muiden koo-'· / dausmuotojen kanssa, kuten tullaan mainitsemaan. Tunnetun konvolutionaali- sen koodaustekniikan yleiskuvaus annetaan siksi tuonnempana auttamaan :: : ymmärtämään esillä olevan keksinnön taustaa.
Kuviossa 1 kuvataan lähetin 20, jolla on konvolutionaalinen kooderi ,,; j* 30 22, joka muodostuu siirtorekisteristä 24, jonka läpi koodattavan informaation bitit siirretään. Siirtorekisteri sisältää rajoitetun bittimäärän L lukumäärän L ollessa . tunnettu koodin rajoituspituutena, koska koodi on rajoitettu otettavaksi huomioon L bittiä kerrallaan. Joka hetkellä siirtorekisterissä 24 olevat bitit, jotka voidaan nimetä Bi, B2f B3, B4, BL, syötetään kombinaatiologiikkaverkkoon 26, joka 35 kehittää kaksi tai useampia erilaisia bittien Boolen kombinaatiota. Kuten kuva-•: *: taan kuviolla 1, siirtorekisterissä olevat bitit voidaan varustaa CRC-virheenilmai- 3 114515 sugeneraattorilla 28, joka vastaanottaa lähetettävän sanomainformaation ja joka kehittää ja lisää sanomaan edellä kuvatut tarkistusbitit.
Verkon 26 kehittämät kombinaatiot ovat edellä mainittuja pariteettibittejä, joita voidaan nimittää P2) .... Pr. Pariteettibitit lähetetään tietoliikenne-5 kanavan kautta vastaanottimeen 30, jolla on dekooderi 32, joka muuntaa ne takaisin databiteiksi B1t B2, B3,..., BL, ja lopuksi lähetetyksi sanomainformaatioksi.
Vaihtoehtoinen kuviossa 1 kuvatun viestintäjärjestelmän sovellutus-muoto kuvataan kuviossa 2. Kuviossa 1 näytetyn kombinaatiologiikkaverkon 26 sijasta lähettimeen sisältyy hakutaulukko 27, joka muodostuu tavanomaiseen 10 muistiin talletetusta 2L-merkinnästä. Siirtorekisterin 24 sisällön L-bittiset kuviot Bi, B2.....B|_ osoittavat hakutaulukon 27 vastaavia merkintöjä, jotka muodosta vat tunnusomaiset pariteettibittien Pi, P2,..., Pr sarjat. Siirtorekisterissä 24 olevien bittien kuvioiden Boolen kombinaatiot on näin talletettu hakutaulukkoon 27 paremminkin kuin kehitetty logiikkaverkolla 26.
15 Jos kutakin siirtorekisterin 24 kautta tapahtuvaa bittien siirtoa kohti kehitetään kaksi pariteettibittiä, koodi tunnetaan nopeuden 1/2 koodina, jossa lähetetään kaksinkertainen määrä pariteettibittejä alkuperäisiin lähetettäviin da-tabitteihin verrattuna. Jos siirtonopeus on kiinteä, aika, joka vaaditaan lähettämään sellaiset pariteettibitit, on kaksi kertaan niin pitkä kuin aika, joka vaaditaan 20 lähettämään alkuperäiset databitit. Yleisemmin, jos jokaista siirtoa kohti kehitetään r pariteettibittiä, koodi tunnetaan nopeuden 1/r koodina. Tyypillisesti pari-·, teettibittien siirtonopeus sovitetaan olemaan r kertaa sanomainformaation bitti- ν’. nopeus.
Esimerkiksi Boolen kombinaatioyhtälöt nopeuden 1/2 koodin, jolla on ;' \ 25 rajoituspituus 5, pariteettibittien kehittämiseksi voisivat olla: * * P-ι = Bi + B2 + B3 + Bs P2 = Bi + B4 + B5, * « » v : missä "+" esittää modulo-2-summausta. Nähdään, että modulo-2- summaus on loogisesti ekvivalenttinen eksklusiivisen TAI-operaation kanssa, ;: * 30 koska 0 + 0 = 0;0 + 1 = 1+ 0 = 1; ja 1 + 1=0.
Kuten mainittiin edellä, r kertaa enemmän pariteettibittejä kuin si-; \ säänmenon databittejä tuotetaan nopeuden 1/r koodille, ja jos kaikki pariteettibi- tit lähetetään, r-kertainen ylimäärä on järjestetty kamppailemaan virheitä vas- • · taan. Kuitenkin tullaan ymmärtämään, että ei ole tarpeellista lähettää kaikkia pa-: ‘: 35 riteettibittejä. Jos lähetin ja vastaanotin ovat edeltä sopineet jostain vakinaisesta ·:·; menetelmästä päättämään, mitä pariteettibittejä ei lähetetä, koodi tunnetaan sit- 4 114515 ten lävistettynä konvolutionaalisena koodina. Lävistetyt koodit johtavat tyypillisesti koodausnopeuksiin m/r, kuten esimerkiksi 13/29, missä vaaditaan sovittaminen siirtonopeuteen, joka on r/m kertaa sanomainformaation bittinopeus.
Pariteettiyhtälöiden taulukoita erilaisille koodinopeuksiile ja rajoituspi-5 tuuksille, jotka johtavat optimikoodeihin, on julkaistu teknillisessä kirjallisuudessa. Katso esim., G Clarke, Jr., and J. Cain, Error-Correcting Coding for Digital Communications. Appendix B, Plenum Press, New York (1981).
Tärkeimmät tunnetut konvolutionaalisten koodien dekoodausmene-telmät ovat kynnysdekoodaus, peräkkäisen maksimaalisen todennäköisyysse-10 kvenssin estimointi (SMLSE, Sequential Maximum Likelihood Sequence Estimation), ja pinoalgoritmi. SMLSE-tekniikka tunnetaan yleisesti Viterbi-algoritmina, joka kuvataan kirjallisuudessa mukaan lukien D. Forney, "The Viterbi Algorithm",
Proc. IEEE, Voi. 61, s. 268 - 278 (March, 1973). Dekoodausmenetelmien kuvaus voidaan löytää edellä esimerkkinä mainitusta darken ja Cainin tekstistä.
15 Konvolutionaalisen SMLSE-dekoodausalgoritmin toiminta kuvataan kuviolla 3 nopeuden 1/2 koodille, jonka rajoituspituus on viisi. SMLSE-dekooderissa joukko elektronisia talletuselementtejä 33, 34, 35 on jäljestetty tiloiksi kutsuttuihin ryhmiin, ja tilojen lukumäärä on 2L'1, missä L on dekoodattavan koodin rajoituspituus. Muistielementeissä on ainakin kahdentyyppistä informaa-20 tiota, eli bittihistoriat elementeissä 33 ja elementeissä 34 tiloihin liittyvä reittimet-riikka. Lisäksi tiloihin liittyvät tilanumerot voidaan tallettaa elementteihin 34 bi-: *'': näärisinä L-1 -bitin bittikuvioina.
: v. Reittimetriikkaa voidaan pitää varmuuskertoimena, joka esittää korre- .···. laatioastetta oletetun bittisekvenssin ja todellisen (eli vastaanotetun) bittise- 25 kvenssin välillä. Kun oletettu ja todellinen bittisekvenssi ovat yhtäpitäviä, reitti-’ metriikka on määrältään pienempi ja tähän oletettuun bittisekvenssiin liittyvä varmuus on suurempi. Ymmärretään, että "oletettu bittisekvenssi" tai yksinker- • · · ’ taisesti "olettamus" viittaa yleisesti mihin tahansa hypoteettiseen bittisekvens siin, jolla on joku todennäköisyys olla todellinen kiinnostava bittisekvenssi. Olet-30 tamus voi täten esittää sanomainformaation bittejä, pariteettibittejä tai muita koodisanoja.
: !·. Useimpien SMLSE-dekooderien tärkeä osa on koodausalgoritmin ‘I!/ "kopio" 38. Kuviossa 1 kuvatulle esimerkkitietoliikennejärjestelmälle kopio 38 voisi olla L-bittinen siirtorekisteri ja kombinaatiologiikkaverkko, joka toteuttaa 35 kooderissa 22 käytetyt yhtälöt kehittämään pariteettibitit Pi, P2, .... Pr. Vaihtoeh-': * *! toisesti kopio 38 voisi olla L-bittinen siirtorekisteri ja 2L -merkintäinen sähköiseen 5 114515 muistiin talletettu hakutaulukko, kuten kuviossa 2 kuvatussa järjestelmässä. Molemmissa tapauksissa kehitetään 2L oletusta kopiolla 38 ja verrataan suoraan vastaanotettuun pariteettibittivirtaan vertaajalla 39.
(L-l)-bittiset tilanumerot muistielementeissä 34 esittävät kaikki yhtä 5 bittiä lukuun ottamatta koodaussiirtorekisterin 24 mahdollista sisältöä. L:s bitti esittää seuraavaa dekoodattavaa bittiä ja voi olla joko NOLLA tai YKKÖNEN. Molemmat mahdollisuudet testataan yhdessä kaikkien mahdollisten tilanumeroi-den esittämien muiden bittien kombinaatioiden kanssa. Täten kaikki 2L mahdollista bittikombinaatiota testataan dekooderilla ja juokseva luotettavuuskerroin, 10 reittimetriikka 35, talletetaan korrelaation arvioimiseksi oletetun bittisekvenssin ja vastaanotetun bittisekvenssin välillä.
SMLSE-algoritmin vaiheet ovat seuraavat nopeuden 1/2 koodille, jonka rajoituspituus on viisi.
Vaihe 1. Ensimmäiselle tilalle, numero 0000, oletetaan, että uusi bitti 15 on myös NOLLA. Oletus 00000 syötetään kopioon 38 kehittämään kaksi oletukseen perustuvaa pariteettibittiä Pi(00000) ja P2(00000). Tällä tavalla oletusin-formaatio koodataan käyttämällä samoja pariteettiyhtälöitä, joita käytettiin kuvioissa 1 ja 2 näytetyssä kooderissa.
Vaihe 2. Todellisia vastaanotettuja pariteettibittejä Pi (todellinen) ja 20 P2(todellinen) verrataan oletettuihin pariteettibitteihin Pi (00000) ja P2(00000) vertaajalla 39. Vertailulla on yksi seuraavista tuloksista: molemmat bitit täsmää-: vät; toinen kahdesta bitistä täsmää ja toinen ei täsmää; tai kumpikaan bitti ei : v. täsmää. Jos sekä Pi (00000) että P2(00000) täsmäävät todellisiin vastaanotettui- .···. hin pariteettibitteihin Pi (todellinen) ja P2(todellinen), arvo nolla lisätään sum- 25 maimella 36 tilaan 0000 liittyvään reittimetriikkaan, jota voidaan esittää * Gpm(0000):lla. Vastaavasti, jos on vain yksi täsmäävyys, arvo yksi lisätään
Gpm(0000):aan. Jos ei Pi(00000) eikä P2(00000) täsmää todellisiin vastaanotet-*·* * tuihin pariteettibitteihin Pi (todellinen) ja P2(todellinen), arvo kaksi lisätään
Gpm(0000):aan. Tällä tavalla reittimetrinen arvo mille tahansa määrätylle tilalle 30 esittää kumulatiivista yhteensopimattomuutta oletetun bittisekvenssin ja todelli-sen bittisekvenssin välillä tietylle tilalle. Mitä suurempi kumulatiivinen yhteenso-: ’·. pimattomuus on tietylle tilalle, sitä suurempi on reittimetrinen arvo ja sitä pie- ' i/ nempi on juokseva luotettavuuskerroin tälle tilalle.
» * » I · 6 114515
Vaihe 3. Vaiheet 1 ja 2 toistetaan tilalle 1000. Oletettaessa uuden 5. bitin olevan NOLLA, kuvio 10000 syötetään kopioon 38, ja sen ulostulobittejä Pi(10000) ja P2(10000) verrataan todellisiin vastaanotettuihin bitteihin Pi (todellinen) ja P2(todellinen). Reittimetriikka tilalle 1000, jota merkitään 5 Gpm(1000):llä, päivitetään kuten vaiheessa 2 perustuen Pi(todellinen):den ja P2(todellinen):den vertaamiseen Pi(10000):den ja P2(10000):den kanssa.
Vaihe 4. Päivitettyjä reittimetriikkoja tiloille 0000 ja 1000, eli Gpm(OOOO) ja Gpm(1000), verrataan vertailijalla 37. Mistä tahansa tilasta, jolla on alhaisempi reittimetriikka, ja tästä syystä pienempi yhteensopimattomuus, tulee 10 uusi tila 0000, kun kopion 38 tuottamia bittikuvioita siirretään vasemmalle yhden bittipaikan verran ja vasemmanpuoleisin bitti siirtyy yli vastaavaan bittihistoriaan muistielementeissä 33, jättäen jäljelle 0000 kummassakin tapauksessa. Täten kumpi tahansa tiloista 1000 tai 0000 voi olla seuraavan tilan edeltäjä tapauksessa, jossa uusi bitti on 0, riippuen siitä mikä tilaa jää eloon, koska sillä on matalin 15 reittimetriikka, vasemmanpuoleisin bitti, joka tippuu ulos kooderin kopion 38 kuviosta tulemaan bittihistorian 33 oikeanpuoleisimmaksi bitiksi seuraavalle tilalle 0000, tulee olemaan joko 0 tai 1. Lisäksi muut vastaavat bitit uudessa bittihisto-riamuistissa 33 kopioidaan yli eloonjäävästä valitusta tilasta, kirjoittaen yli tilan, jota ei valittu, ei-eloonjäävän bitit. Esimerkiksi, kuten näytetään kuviossa 3, jos 20 reittimetriikka Gpm(1000) on 1,8 ja reittimetriikka Gpm(0000) on 9,5, tila 1000 valitaan jäämään eloon ja vasemmalle siirretyt bitit 10110111 kirjoitetaan päälle bit-; ; tihistoriaan 33 uutta tilaa 0000 varten.
Vaihe 5. Vaiheet 1-4 toistetaan oletukselle, että uusi bitti on YKKÖ-*···, NEN. Oletukset 00001 ja 10001 todellisille vastaanotetuille biteille syötetään tä- * 4 25 ten vastaavasti kopioon 38 kehittämään pariteettibittien parit Pi(00001), • / Ρ2(00001) ja Pi(10001), P2(10001), joita voitaisiin odottaa. Näitä pariteettibittipä-
• · I
reja verrataan todellisiin vastaanotettuihin pariteettibittei h i n Pi (todellinen) ja ’·’ * P2(todellinen), johtaen päivitettyihin reittimetriikkoihin Gpm(0000) ja Gpm(1000), joita sitten verrataan. Tämä johtaa uuteen tilaan 0001, jolla myös on mahdolliset .,; j' 30 edeltäjätilat 0000 ja 1000.
Vaihe 6. Vaiheet 1-5 toistetaan kaikille muille edeltäjätilojen pareille: 0001 ja 1001 (johtaen uusiin tiloihin 0010 ja 0011); 0010 ja 1010 (johtaen uusiin ‘i;.’ tiloihin 0100 ja 0101); 0011 ja 1011 (johtaen uusiin tiloihin 0110 ja 0111); 0100 ja 1100 (johtaen uusiin tiloihin 1000 ja 1001); 0101 ja 1101 (johtaen uusiin tiloi-35 hin 1010 ja 1011); 0110 ja 1110 (johtaen uusiin tiloihin 1100 ja 1101); 0111 ja :··: 1111 (johtaen uusiin tiloihin 1110 ja 1111).
7 114515
Edellä olevien kuuden vaiheen jälkeen kaksi todellista vastaanotettua pariteettibittiä on prosessoitu ja yksi uusi dekoodattu bitti on siirretty kaikkiin bit-tihistoriamuistielementteihin 33. Nämä muistiin laitetut kuviot ovat ehdokkaita lopulliselle SMLSE-sekvenssille. Johtuen tavasta, jolla bittihistoriat päällekirjoitta-5 vat muut bittihistoriat, kun yksi tilojen parista valitaan säilymään eloon, vanhemmat bitit muistielementeissä 33 ovat taipuvaisia kohti sopimusta. Jos kaikki vanhimmat bitit kaikissa bittihistorioissa täsmäävät, ne voidaan poistaa lopullisena päätöksenä ja lyhentää bittihistoriamuistielementtejä 33 yhdellä bitillä.
Algoritmi koodeille, joilla on muu nopeus, kuten esimerkiksi nopeus 10 1/4, etenee vastaavasti, vaikka kehitettäisiin neljä pariteettibittiä kullekin oletuk selle ja verrattaisiin neljän vastaanotetun bitin kanssa kehittäen mahdolliset in-krementit nollan, yhden, kahden, kolmen tai neljän yhteensopimattomuuden kumulatiiviseen reittimetriikkaan.
Tunnetun algoritmin toisessa muunnoksessa vastaanotettuja pari-15 teettibittejä ei luonnehdita vain niiden bittipolariteeteilla, vaan myös suuruus- tai laatumitalla, joka esittää "ykkösmäisyyttä" tai "nollamaisuutta". Kun ilmaistaan yhteensopimattomuus paikallisesti ennustetun oletuspariteettibitin kanssa, reit-timetriikkaa rangaistaan suuremmalla määrällä, jos vastaanotettu bittilaatu on korkea ja siksi on vähemmän epäilystä siitä, että sen merkki oli todellisuudessa 20 oikea, kuin jos laatu on matala ja vastaanotettu bittipolariteetti oli epäilyttävä.
Tämä "pehmeä" dekoodaus "kovan" dekoodauksen vastakohtana ideaalisesti käyttää "pehmeää" bittilaatumittaa, joka liittyy -LOG(todennäköisyys):iin, jossa :v. "todennäköisyys" on todennäköisyys sille, että bittipolariteetti on oikea. Kun tätä ! · · ·. logaritmista mittaa käytetään, kumulatiivinen metriikka esittää silloin kaikkien bit- i] *. 25 ^todennäköisyyksien tulon vastalukua. Tila-ja bittihistoriasekvenssi, jolla silloin * , ’ on pienin kumulatiivinen metriikka, esittää sekvenssiä, jolla on suurin todennä- köisyys olla oikea. Tavallisesti kohina oletetaan Gaussin kohinaksi, missä tapa- * I · '·' ‘ uksessa rangaistustermin voidaan osoittaa olevan verrannollinen bitin amplitu din neliöön. Rangaistukseen yhteensopimattomuudesta paikallisesti ennustetun ..! · * 30 oletusbitin ja vastaanotetun suuren laadun omaavan bitin välillä voidaan vaikut- taa lisäämällä termi, joka on verrannollinen 1/(-LOG(todennäköisyys)):een, ku-'·. mulatiiviseen logaritmiseen mittaan, kun yhteensopimattomuus havaitaan. Sel- ‘/ lainen lisäys voi vaikuttaa olennaisesti mittaan vain joka kerta, kun on korkea to- ;·’ dennäköisyys, että vastaanotettu bittipolariteetti on oikea ja vielä kuitenkin il- • I · :: 35 maistaan yhteensopimattomuus.
* I * * » 8 114515
Sellaisia konvolutionaalisia koodereita ja dekoodereita voidaan rakentaa toimimaan ei-binääristen symbolien, kuten esimerkiksi temääristen ja kvaternaaristen symbolien kanssa.
Kolmeen alueeseen, joissa konvolutionaalisten dekoooderien toimin-5 taa voidaan parantaa, kuuluvat dekoodattujen bittisekvenssien katkaisu, dekoodauksen päättäminen, kun kaikki vastaanotetut bitit on prosessoitu, ja globaalisesti toiseksi parhaan dekoodatun bittisekvenssin määrittäminen. Esimerkiksi ennenaikainen dekoodattujen bittisekvenssien katkaisu voi johtaa informaation menettämiseen, ja tunnettu dekoodaustekniikoiden katkaisu voi jättää korjaa-10 mattomia sanomabittivirheitä yhteen jäljelle jäävään dekoodatun datasanoman ehdokkaaseen. Esillä oleva keksintö ratkaisee nämä kiusaavat ongelmat välttämällä tarvetta tehdä ennenaikaisia databittipäätöksiä tarkoituksessa katkaista dekoodatut bittisekvenssit, ja päättämällä dekoodauksen, samalla kun se vielä säilyttää joukon mahdollisia dekoodattuja datasanomaehdokkaita.
15 Tunnetut menetelmät katkaisemiseksi ja päättämiseksi kuvataan tuonnempana tarkoituksessa esittää vastakohtia lisäksi tuonnempana kuvatulla esillä olevalla keksinnöllä toteutettuihin parannuksiin.
Tunnettuja menetelmiä historian kasvun katkaisemiseksi
Ensimmäinen tunnettu menetelmä tarvittavan bittihistoriamuistin pi-20 tuuden katkaisemiseksi on tehdä päätös vanhimmasta bitistä heti, kun muisti on täynnä. Vanhin bitti otetaan historiamuistista, joka liittyy tilaan, jolla on matalin v, kumulatiivinen metriikka. Vanhimmat bitit muista tiloista hylätään sitten lyhentä- en muistia yhdellä bitillä ja sallien dekoodauksen edetä vielä yhden vaiheen.
;'! Kun kaikki vastaanotetut pariteettibitit on prosessoitu, dekoodauksen tulos on • / 25 yksi datasekvenssi, joka vastaa poimittuja bittejä, jota seuraa 2(L'1) ehdokasta ’* ’ · ‘ sanoman loppuosaksi, vastaten bittejä, jotka vielä ovat historiamuisteissa, v : Toinen tunnettu katkaisumenetelmä on muodostaa enemmistöäänes- tys kaikkien tilojen vanhimmista biteistä päätetyksi bitiksi, ja sitten poistaa van-,,;; · himmat bitit ennen jatkamista.
30 Molemmat tunnetut menetelmät kadottavat informaatiota tekemällä 11» ennenaikaisia päätöksiä vanhimmista biteistä.
> I t
Tunnettuja menetelmiä dekoodauksen päättämiseksi
Kun viimeinen databitti syötetään koodaussiirtorekisteriin, se täytyy
I ( I
siirtää koko matkan läpi niin, että se vaikuttaa lähetettävien kehitettyjen pariteet- 9 114515 tibittien lukumäärään. Tämä vaatii, että lisäbittejä, joita kutsutaan loppubiteiksi, täytyy syöttää perään viimeisen databitin kuljettamiseksi läpi.
Tunnetussa päättämismenetelmässä loppubitrt ovat tunnettu bittikuvio, kuten esimerkiksi kaikki nollia. Tekniikan tason mukaisen dekooderimene-5 telmän on tässä tapauksessa pakotettava kunkin loppubittiä vastaavan uuden bitin oletukset tunnettuun arvoon. Täten nolla-loppubittiä vastaavien pariteettibittien prosessoinnin jälkeen tuotettaisiin ainoastaan nollaan päättyviä tilanumeroi-ta puolittaen tilojen lukumäärä. Kukin peräkkäinen tunnettu loppubitti puolittaa tilojen lukumäärän niin, että lopuksi jää ainoastaan yksi tila, joka on dekoodattu 10 datasanoma. On tietysti mahdollista, että tämä yksi jäljelle jäävä ehdokassano-ma sisältää korjaamattomia bittivirheitä.
Tunnettu oikean toiseksi parhaan sekvenssin määrittäminen 2(L‘1) eloon jäävää ehdokassekvenssiä tavallisessa Viterbi-dekoo- derissa eivät välttämättä sisällä globaalisesti toiseksi parasta sekvenssiä, vaikka 15 niiden taataan sisältävän globaalisesti parhaan sekvenssin. Tunnettu N. Sesha- dri'in ja C. W. Sundbergin julkaistu modifikaatio konvolutionaalisesta dekooderis-
ta nimeltä "Generalized Viterbi detection with Convolutional Codes", Proc. IEEE
Globecom. '89, s. 1534 - 1538 (Nov. 1989), sallii globaalisesti toiseksi parhaan sekä myös globaalisesti parhaan sekvenssin laskemisen. Tämä edellyttää tilojen 20 lukumäärän kaksinkertaistamista. Sitten säilytetään kullekin tilalle tähän hetkeen *·. mennessä paras ja toiseksi paras reittimetriikka. Kussakin iteraatiossa paras *·. neljästä ja toiseksi paras neljästä valitaan jäämään eloon uuteen tilaan.
«
Globaalisesti kolmanneksi paras voidaan myös laskea edellä maini-tulla menetelmällä, jos käytetään kolminkertainen määrä tiloja. Yleisesti oikean • * · ’· / 25 globaalisesti toiseksi ja kolmanneksi parhaan sekvenssin määrittäminen tällä « t · menetelmällä saadaan aikaan ainoastaan kasvaneen monimutkaisuuden kus-v : tannuksella. Yleisesti globaalisesti N:neksi paras sekvenssi voidaan laskea edel lä mainitulla menetelmällä, jos käytetään N kertaista tilojen lukumäärää. Sitten it;i· kullekin tilalle säilytetään N tähän hetkeen mennessä parasta reittimetriikkaa.
‘ 30 Kussakin iteraatiossa valitaan N parasta 2N:stä jäämään eloon uusiin tiloihin.
Yhteenveto
On järjestetty tietoliikennejärjestelmä ja -menetelmä vähentämään virheitä tietoliikennesignaalin siirrossa. Siirrettävää signaalia käytetään kehittä-mään virheenilmaisutarkistussana. Sekä datasanoma että sen vastaava vir- » · 35 heenilmaisutarkistussana koodataan tietoliikennesignaaliin käyttämällä virheen- 10 114515 korjaavaa koodia. Virheenkorjaava dekooderi dekoodaa vastaanotetun liiken-nesignaalin kehittäen joukon ehdokkaina olevia dekoodattuja signaaleja. Kvantitatiivinen mitta kunkin ehdokkaan luotettavuudesta kehitetään dekooderilla. Vir-heenilmaisulaskin testaa luotettavimman ehdokkaan vastaavuuden suhteen sen 5 dekoodatun datasanoman ja sen vastaavan dekoodatun virheenilmaisutarkis-tussanan välillä. Jos on olemassa vastaavuus, tämä ehdokas ja sen dekoodattu datasanoma valitaan. Jos vastaavuutta ei ole, seuraavaksi luotettavin ehdokas testataan vastaavuuden suhteen valintaprosessin jatkuessa, kunnes vastaavuus löytyy. Jos mitään vastaavuutta ei löydy kaikkien ehdokkaiden joukosta, vir-10 heenkorjaaja tarkistaa luotettavimman ehdokkaan korjattavan virheen esillä olon suhteen, ja korjattu ehdokas testataan uudelleen vastaavuuden suhteen. Jos ei vielä ole olemassa mitään vastaavuutta, seuraavaksi luotettavin ehdokas tarkistetaan korjattavan virheen esilläolon suhteen, ja korjattu ehdokas testataan uudelleen vastaavuuden suhteen prosessin jatkuessa, kunnes löydetään vastaa-15 vuus virheenkorjaajan virheenkorjauskyvyn rajoihin saakka.
Etusijalle asetettu virheenkorjaava koodausmenetelmä datasanomia varten käytettäväksi esillä olevan keksinnön kanssa on konvolutionaalinen koodaus, kuten kuvataan edellä. Esillä oleva keksintö myös käyttää virheenilmaisua tarkistamaan, sisältävätkö dekoodatut datasanomat korjaamattomia virheitä.
20 Parhaana pidetty virheenilmaiseva koodaus saavutetaan lisäämällä syklinen ylimäärätarkistussana (CRC, cyclic redundancy check) datasanomaan ennen virheenkorjaavaa koodausta niin, että CRC-sana itse on myös suojattu virheen-: korjaavalla koodauksella.
.···. Esillä oleva keksintö käyttää hyväksi Viterbi-SMLSE-dekooderia 25 muunnettuna tuonnempana kuvatulla tavalla dekoodaamaan virheenkorjaava • »t , ‘‘ koodaus, tuottamaan joukon ehdokasbittisekvenssejä datasanomaksi ja sen lii- ♦ * · . tetyksi CRC-sanaksi. Ehdokasbittisekvenssi, jolla on matalin kumulatiivinen reit- ·* timetriikka, testataan sitten sen datasanoman ja CRC-bittien vastaavuuden suh teen. Jos CRC onnistuu, tämä ehdokassanoma valitaan käyttöön. Jos CRC ..i:’ 30 epäonnistuu, ehdokasbittisekvenssi, jolla on seuraavaksi korkein metriikka, tar- kistetaan jne., kunnes yhdellä bittisekvensseistä havaitaan olevan vastaava : . *. CRC, ja tämä ehdokassanoma valitaan käyttöön.
.·'·] Jos millään ei havaita olevan vastaavaa CRC:tä, silloin joko koko sa- » · ]·’ noma torjutaan virheellisenä, tai voidaan määritellä muita proseduureja yhden ·...· 35 ehdokassanoman valitsemiseksi perustuen siihen, onko CRC:llä kyky myös kor- jata rajoitettu virheiden lukumäärä. Esimerkiksi ehdokasbittisekvenssi, jolla on 11 114515 matalin metriikka, tarkistetaan jälleen, ja jos sen CRC-syndrooma vastaa yksittäisen bitin virhettä, joka voidaan tunnistaa ja korjata, niin tämä ehdokassanoma valitaan käyttöön. Jos sen CRC-syndrooma ei vastaa yksittäisen bitin virhettä, joka voidaan tunnistaa ja korjata, niin ehdokasbittisekvenssi, jolla on seuraavak-5 si korkeampi metriikka, tarkistetaan jälleen. Jos ehdokasbittisekvenssillä, jolla on seuraavaksi korkeampi metriikka, on CRC-syndrooma, joka vastaa yksittäisen bitin virhettä, joka voidaan tunnistaa ja korjata, niin tämä ehdokassanoma valitaan käyttöön jne., kunnes yhdellä ehdokasbittisevensseistä havaitaan olevan CRC-syndrooma, joka vastaa yksittäisen bitin virhettä, joka voidaan tunnistaa ja 10 korjata, ja tämä ehdokassanoma valitaan käyttöön.
Esillä olevan keksinnön mukaista dekoodausjärjestelmää voidaan käyttää edullisesti erityyppisten konvolutionaalisesti koodattujen signaalien erottamista varten olevan dekoodausjärjestelmän kanssa, joka kuvataan samanaikaisesti vireillä olevassa hakemuksessa sarjanumero 07/ 652 544, jätetty 8.
15 helmikuuta 1991 ja joka täten liitetään viitteeksi.
Piirustusten lyhyt kuvaus
Esillä olevaa keksintöä kuvataan nyt yksityiskohtaisemmin viitaten keksinnön etusijalle asetettuihin sovellutusmuotoihin, jotka annetaan esimerkkien avulla, ja kuvataan oheisissa piirustuksissa, joissa: 20 Kuvio 1 kuvaa tietoliikennejärjestelmää, joka sisältää konvolutionaali- : ’; sen kooderin, jota voidaan käyttää esillä olevassa keksinnössä; : * ·': Kuvio 2 kuvaa tietoliikennejärjestelmää, joka sisältää kuviossa 1 näy- tetylle konvolutionaaliselle kooderille vaihtoehtoisen konvolutionaalisen koode- . ·. : rin, jota voidaan myös käyttää esillä olevassa keksinnössä; * · · 25 Kuvio 3 kuvaa konvolutionaalisen dekoodausalgoritmin esimerkkiä,
t i I
l!! jota voidaan käyttää esillä olevassa keksinnössä.
’ Kuvio 4 kuvaa muistitalletusjärjestelmää katkaisutekniikkaa varten, jota voidaan käyttää esillä olevassa keksinnössä.
Kuvio 5 kuvaa esimerkkiä katkaisutekniikasta, jota voidaan käyttää
• · I
:30 esillä olevassa keksinnössä.
: Kuviot 6, 6a ja 6b kuvaavat esimerkkejä bittisekvensseistä päättä- .···.’ misstrategioiden dekoodaamiseksi, joita voidaan käyttää esillä olevassa keksin- * · 'j' nössä;
Kuvio 7 näyttää toiminnallisen lohkokaavion kooderista esillä olevan :' ‘: 35 keksinnön sovellutusmuodon toteuttamiseksi; 12 114515
Kuvio 8 näyttää toiminnallisen lohkokaavion kooderista toisen esillä olevan keksinnön sovellutusmuodon toteuttamiseksi;
Kuvio 9 näyttää toiminnallisen lohkokaavion esillä olevan keksinnön sovellutusmuodon mukaisesta dekooderista; ja 5 Kuvio 10 näyttää toiminnallisen lohkokaavion esillä olevan keksinnön toisen sovellutusmuodon mukaisesta dekooderista.
Yksityiskohtainen kuvaus
Esillä oleva keksintö käyttää mieluummin SMLSE-menetelmää, koska tämä menetelmä järjestää teoreettisesti optimisuorituskyvyn. Muilla mene-10 telmillä on taipumus olla kompromissi suorituskyvyn ja monimutkaisuuden välillä, erityisesti pitkän rajoituspituuden koodeille, ja SMLSE:n monimutkaisuus kasvaa eksponentiaalisesti kasvavan rajoituspituuden kanssa. Täten, vaikka esillä olevaa keksintöä voidaan soveltaa mihin tahansa dekoodausmenetel-mään, kuten esimerkiksi enemmistöäänestysmenetelmään, esillä olevan kek-15 sinnön etusijalle asetettu sovellutusmuoto kuvataan SMLSE-menetelmän yhteydessä. Kuitenkin tämä toteutus on vain kuvaustarkoituksia varten.
Esillä oleva keksintö käyttää etusijalle asetetuissa sovellutusmuo-doissa etusijalle asetettua bittihistorian katkaisumenetelmää, ja yhtä etusijalle asetetuista dekoodauksen päättämismenetelmistä.
20 Bittihistorian katkaisumenetelmä ; v, Esillä oleva keksintö välttää tekemästä ennenaikaisia databittipäätök- siä tarkoituksessa katkaista bittihistorioita. Pääasiallinen syy tavallisesti käyttää katkaisua on välttää yhä pitempien bittisekvenssien kopioimisesta yhdestä tilas-ta toiseen aiheutuva epämukavuus, kun yksi edeltäjätilojen parista valitaan jää-25 mään eloon. On soveliaampaa, jos pidetyn bittihistorian määrä on yhteismitalli-v : nen digitaalisen signaalinkäsittelylaitteen kiinteän sananpituuden kanssa, kuten esimerkiksi 16 tai 32 bittiä. Etusijalle asetettu menetelmä, joka voidaan toteuttaa •: · kaavallisesti kuviossa 4 kuvatulla muistitalletusjärjestelmällä, järjestää kiinteiden historiapituuksien edun kopioimiseen tilojen välillä tarvitsematta tehdä kovaa 30 päätöstä vanhimmasta bitistä.
Kun bittihistoria on kasvanut yhtä suureksi maksimaalisen soveliaan ’·;· sananpituuden M kanssa, kaikki 2(L'1) bittihistoriaa on syötetty ensimmäiseen tal- letusmuistiin 46, kuten osoitetaan 40:llä, josta niihin päästään käsiksi (L-1)-·;·: bittisellä osoitteella 42. Yhteen liittyvää bittihistoriaa 40 vastaava (L-l)-bittinen 35 osoite 42 sijoitetaan sitten kuhunkin tilaan alkuperäisen M:n bitin tilalle, kuten 13 114515 osoitetaan 43:lla. Ymmärretään, että (L-1):n oletetaan olevan pienempi kuin M niin, että kunkin sanan M-L+1 bittipaikkaa on tehty saataviksi lisädekoodausta varten. Dekoodausalgoritmi voidaan sitten suorittaa edelleen M-L+1 kertaa, kunnes kukin bittihistoriasana on jälleen täynnä, ja sisällöt jälleen kerran syöte-5 tään, tällä kertaa toiseen talletusmuistiin 46, kuten osoitetaan 41 :llä, korvaten M bittiä kussakin historiassa niiden (L-l)-bittisillä osoitteilla 42 toisessa talletus-muistissa 46. Tämä prosessi toistetaan, kunnes kaikki bitit on prosessoitu. Täten K:nnessa talletusmuistissa 46, 2(L'1) M:n pituista bittihistoriasanaa nimetään niiden vastaavilla (L-l)-pituisilla osoitteilla 42. Kukin M-bittisistä sanoista sisältää 10 M-L+1 dekoodattua bittiä 41, ja (L-l)-bittistä osoitetta 42 (K1):sessä talletus-muistissa 46, jossa välittömästi edeltävät dekoodatut bitit 41 sijaitsevat, vastaavan (L-l)-bittisen osoitteen 43. Sen jälkeen kun kaikki bitit on prosessoitu, de-kooderimuisti 48 sisältää 2(L'1) enintään M:n pituista bittihistoriasanaa nimettyinä niiden vastaavilla (L-l)-bittisillä osoitteilla 42. Kukin bittihistoriasanoista sisältää 15 viimeiset Q dekoodattua bittiä 44, missä Q on pienempi tai yhtä suuri kuin M-L+1, ja (L-l)-bittisen osoitteen 43, joka vastaa (L-l)-bittistä osoitetta 42 viimeisessä talletusmuistissa 46, jossa välittömästi aikaisemmin dekoodatut bitit 41 sijaitsevat. Dekooderimuisti 48 sisältää myös kuhunkin koko viestin vastaavaan 2<L"1):een ehdokkaaseen liittyvän kumulatiivisen reittimetriikan.
20 Kukin koko sanoman prosessoinnin lopussa olemassa olevasta 2(L’1) ehdokkaasta voidaan konstruoida ketjuttamalla yhteen ulkoisten talletusmuistien 46 sisällöt käyttämällä osoitebittejä 43 ketjuosoittimina. Ehdokkaan konstruoimi-seksi lopullisesta tilasta 0 peräisin olevasta datasanomasta vaiheet ovat seuraa-·**. vat: 25 1) Poimi Q dekoodattua databittiä 44 M-bittisestä tilan 0 historiasta : ; dekooderin 48 muistissa viimeiseksi dekoodattuina databitteinä.
2) Poimi (L-1) osoitebittiä 43 lopullisen tilan 0 M-bittisestä historias- ta ja nouda M-bittinen sana ulkoisesta talletusmuistista 46, joka #_ vastaa tuota poimittua (L-1 )-bittistä osoitetta 43.
30 3) Poimi M-L+1 dekoodattua databittiä 41 noudetusta sanasta ja lii- tä Q:hun dekoodattuun dekooderimuistista 48 poimittuun databitti : tiin.
14 114S15 4) Poimi L-1 osoitebittiä 43 noudetusta sanasta ja käytä niitä osoittamaan aiemmin käytettyä ulkoista talletusmuistia 46 noutaen aikaisemman (L-l)-bittistä osoitetta 43 vastaavan M-bittisen sanan.
5) Poimi M-L+1 dekoodattua databittiä 41 noudetusta sanasta ja lii- 5 tä jo poimittuihin liitettyihin dekoodattuiin databitteihin.
6) Toista vaiheet 4) - 5), kunnes saavutetaan ketjun loppu.
Liitetyt poimitut databitit muodostavat sitten dekoodatun lopputilaan 0 kuuluvan sanomaehdokkaan. Muihin lopputiloihin kuuluvat ehdokkaat voidaan konstruoida samalla tavoin aloittamalla soveliaasta tilasta ja ketjuttamalla takai-10 sin päin.
Kuvion 5 yhteydessä kuvataan esimerkki liittämistoiminnosta olettaen rajoituspituudeksi L = 3. Lopputila dekooderimuistissa 48, jolla on pienin kumulatiivinen reittimetriikka 45, on lopputila 10 (Gpm(10) = 2,0), jonka viimeiset dekoodatut databitit 44 ovat 01 (Q = 2). Poimittu 2-bittinen osoite 43 on 00, ja 3 vas-15 taavasta 00 osoitteesta 42 4:nnessä muistissa 46 otettua databittiä 41 ovat 110, jotka liitetään 01 :een, viimeiseksi dekoodattuihin databitteihin 44, mikä tuottaa 110-01. Seuraava poimittu 2-bittinen osoite 43 on 10, ja seuraavat 3 dekoodattua vastaavasta 10-osoitteesta 42 3:nnessa muistissa 46 poimittua databittiä 41 ovat 110, joka liitettynä kasvavaan ketjuun tuottaa 110-110-01. Seuraava poimit-20 tu 2-bittinen osoite 43 on 01, ja seuraavat 3 dekoodattua vastaavasta 01-osoitteesta 42 2:sessa muistissa 46 poimittua databittiä 41 ovat 011, joka liitettynä kasvavaan ketjuun tuottaa 011-110-110-01. Viimeinen poimittu 2-bittinen osoite 43 on 11, ja jäljelle jäävät 5 dekoodattua vastaavasta 11-osoitteesta 42 1:sessä muistissa 46 poimittua databittiä 40 ovat 11101, joka liitettynä kasva-\: 25 vaan ketjuun tuottaa lopuksi 11101-011-110-110-01, dekoodatun lopputilaan 10 kuuluvan dekoodatun sanomaehdokkaan. Muihin lopputiloihin kuuluvat ehdok-:'. kaat voidaan konstruoida samalla tavalla aloittamalla soveliaasta tilasta ja ketjut tamalla takaisin päin kuviossa 5 annetuin tuloksin.
Etusijalle asetetut menetelmät dekoodauksen päättämiseksi • 30 Etusijalle asetetut menetelmät dekoodauksen päättämiseksi säilyttä- • vät joukon ehdokkaita, esimerkiksi 2(L'1).
.*·*. Yksi etusijalle asetettu menetelmä käyttää hyväksi loppubittejä, mutta >a\ ei vähennä tilojen lukumäärää lopussa. Tunnettuja loppubittejä käytetään de- » * '··** kooderissa ennustamaan kullekin tilalle, mitkä pariteettibitit pitäisi vastaanottaa, : 35 ja tilametriikka yksinkertaisesti päivitetään ilman mitään päällekirjoitusta. Siten « 114515 15 2(L'1) ehdokasdatasekvenssiä jäävät täten lopussa. Tunnetut loppubitit voivat olla, kuten kuviossa 6 näytetyssä esimerkkibittisekvenssissä 50, N1+N2 bitin sekvenssiin 52 (muodostuen N1 sanomadatabitistä ja N2 virheentarkistusbitistä) liitetty L-1 nollan sekvenssi 54.
5 Yhdessä kuvion 3 kanssa kuvataan esimerkki etusijalle asetetusta menetelmästä dekoodauksen päättämiseksi käyttäen ennalta tunnettuja loppu-bittejä dekooderiin 32 kuvioissa 1 ja 2 olettaen, että koodin rajoituspituus L = 5, nopeus 1/r = 1/2. Olettaen, että viimeinen 5-bittiseen siirtorekisteriin kooderin kopiossa 38 syötetty bitti on ensimmäinen tunnetuista 4-bittisistä loppubittinollis-10 ta 54, vaiheet dekoodauksen päättämiseksi ovat seuraavat: 1) Ensimmäiselle tilalle, jonka numero on 0000, "oletetaan", että uusi bitti on myös 0. Oletus 00000 vastaanotetuiksi informaatiobi-teiksi syötetään täten kooderin 22 kopioon 38 saamaan aikaan kaksi pariteettibittiä P1 (00000) ja P2(00000), joita voitaisiin odot- 15 taa.
2) Todellisia vastaanotettuja pariteettibittejä P1 (todellinen) ja P2(todellinen) verrataan oletuspariteettibitteihin P1 (00000) ja P2(00000). Vertailu johtaa joko molempien bittien täydelliseen täsmäävyyteen, tai yksittäiseen yhden kahdesta bitistä yhteen- 20 sopimattomuuteen ja yksittäiseen toisen kahdesta bitistä yhteen sopimattomuuteen tai täydelliseen molempien bittien yhteenso-pimattomuuteen. Jos sekä P1 (00000) että P2(00000) täsmäävät f.·. todellisiin vastaanotettuihin pariteettibitteihin P1 (todellinen) ja • « P2(todellinen), luku 0 lisätään tilaan 0000 liittyvään reittimetriik-25 kaan, Gpm(0000). Vastaavasti, jos on vain yksi täsmäävyys, luku ‘ 1 lisätään 0000-reittimetriikkaan Gpm(0000). Jos ei Pi(00000) ei- kä P2(00000) täsmää todellisiin vastaanotettuihin pariteettibittei- > > · ’·* * hin P-ι (todellinen) ja P2(todellinen), arvo kaksi lisätään 0000- reittimetriikkaan Gpm(0000). Uusi bittihistoria 33 tilalle 0000 on sit- ...T 30 ten 00100110, jonka oikeanpuoleisin bitti vastaa 5-bittisen koo- » ·» :,,, ·’ derikopion 38 kuvion 00000 vasemmanpuoleisinta bittiä.
: !·. 3) Vaiheet 1) ja 2) toistetaan nyt tilalle 1000. "Oletettaessa" uuden • I · 5:nnen bitin olevan 0, kuvio 10000 syötetään kooderikopioon 38, ja sen ulostuloa Pi(10000) ja Ρ2(10000) verrataan vastaanotet-35 tuun dataan P1 (todellinen) ja P2(todellinen). Reittimetriikka tilalle :"i 1000, Gpm(1000), päivitetään sitten kuten vaiheessa 2) perustu- 114515 16 en todellisten vastaanotettujen pariteettibittien Pi(todellinen) ja P2(todellinen) vertaamisiin oletuspariteettibittien P^IOOOO) ja P2(10000) kanssa. Uusi bittihistoria 33 tilalle 1000 on sitten 10110111, jonka oikeanpuoleisin bitti vastaa 5-bittisen kooderi-5 kopion 38 kuvion 10000 vasemmanpuoleisinta bittiä.
4) Vaiheet 1) - 3) toistetaan kaikille muille edeltävien tilojen pareille 0001 ja 1001, 0010 ja 1010, 0011 ja 1011, 0100 ja 1100, 0101 ja 1101, 0110 ja 1110, ja 0111 ja 1111.
Yhden edellä olevista iteraatiosta lopussa on prosessoitu kaksi vas-10 taanotettua pariteettibittiä ja yksi uusi dekoodattu bitti on siirretty kaikkiin bittihis-toriamuisteihin 33. Vaiheet 1) - 4) toistetaan sitten vielä 3 kertaa 3:lle jäljellä olevalle loppubitille 54.
Toinen etusijalle asetettu päättämismenetelmä käyttää hännän puremisena tunnettua menetelmää. Tässä menetelmässä kooderi käyttää ensim-15 mäiseksi koodattua databittiä uudelleen syöttämiseen viimeisen databitin kautta. Dekooderi käyttää vastaavasti ensimmäisiä dekoodattuja bittejä kustakin ehdo-kasdatasanomasta yhdessä viimeisten databittien oletusten kanssa ennustamaan vastaanotetut pariteettibitit ja päivittää metriikan vastaavasti ilman mitään päällekirjoittamista täten säilyttäen kaikki 2(L'1) ehdokasta lopussa. Kuviossa 6a 20 näytetään esimerkki bittisekvenssistä 52, jota voidaan käyttää hännän purevassa päättämisessä. Bittisekvenssi 52 sisältää Ni +N2 bittiä, ensimmäisten L-1 bi-tin palvellessa "häntäbitteinä", jotka ovat ennalta tuntemattomia dekooderille 32 kuvioissa 1 ja 2, ja joita käytetään syöttämään viimeinen bitti koodattavasta bit-.···. tisekvenssistä L-bittisen siirtorekisterin 24 läpi lähettimen 20 kooderissa 22.
25 Yhdessä kuvion 3 kanssa kuvataan esimerkki etusijalle asetetusta hännän puremista käyttävästä dekoodauksen päättämismenetelmästä, olettaen » · ♦ että koodin rajoituspituus on L = 5, nopeus 1/r = 1/2. Oleta, että viimeinen 5-*·“ ' bittiseen siirtorekisteriin kooderin kopiossa 38 syötetyistä biteistä on ensimmäi nen tuntemattomista 4-bittisistä "häntäbiteistä" 56, toisin sanoen ensimmäinen ...j‘ 30 bitti, joka oli pitänyt dekoodata. Oleta lisäksi, että ensimmäinen bitti, joka oli pi- tänyt dekoodata, sattui olemaan 1. Vaiheet dekoodauksen päättämiseksi ovat ; seuraavat: I · · ‘II.· 1) Ensimmäiselle tilalle, jonka numero on 0000, "oletetaan" että uu- si bitti on 1. Oletus 00001 vastaanotetuiksi informaatiobiteiksi 35 syötetään täten kooderin 22 kopioon 38 saamaan aikaan kaksi •: · i pariteettibittiä Pi(00001) ja P2(00001), joita voitaisiin odottaa.
114515 17 2) Todellisia vastaanotettuja pariteettibittejä Pi (todellinen) ja P2(todellinen) verrataan oletuspariteettibitteihin Pi(00001) ja P2(00001). Vertailu johtaa joko molempien bittien täydelliseen täsmäävyyteen, tai yksittäiseen yhden kahdesta bitistä yhteen- 5 sopimattomuuteen ja yksittäiseen toisen kahdesta bitistä yhteen sopimattomuuteen tai täydelliseen molempien bittien yhteensopimattomuuteen. Jos sekä P-|(00001) että P2(00001) täsmäävät todellisiin vastaanotettuihin pariteettibitteihin Pi (todellinen) ja P2(todellinen), luku 0 lisätään tilaan 0000 liittyvään reittimetriik-10 kaan, Gpm(OOOO). Vastaavasti, jos on vain yksi täsmäävyys, luku 1, lisätään 0000-reittimetriikkaan Gpm(0000). Jos ei Pi(00001) eikä P2(00001) täsmää todellisiin vastaanotettuihin pariteettibitteihin Pi (todellinen) ja P2(todellinen), arvo kaksi lisätään 0000-reittimetriikkaan Gpm(0000). Uusi bittihistoria 33 tilalle 0000 on sit-15 ten 00100110, jonka oikeanpuoleisin bitti vastaa 5-bittisen koo- derikopion 38 kuvion 00001 vasemmanpuoleisinta bittiä.
3) Vaiheet 1) ja 2) toistetaan nyt tilalle 1000. "Oletettaessa" uuden 5:nnen bitin olevan 1, kuvio 10001 syötetään kooderikopioon 38, ja sen ulostuloa Pi(10001) ja P2(10001) verrataan vastaanotet- 20 tuun dataan Pi (todellinen) ja P2(todellinen). Reittimetriikka tilalle 1000, Gpm(1000), päivitetään sitten kuten vaiheessa 2) perustuen todellisten vastaanotettujen pariteettibittien Pi (todellinen) ja P2(todellinen) vertaamisiin oletuspariteettibittien Pi(10001) ja .···. P2(10001) kanssa. Uusi bittihistoria 33 tilalle 1000 on sitten ,· 25 10110111, jonka oikeanpuoleisin bitti vastaa 5-bittisen kooderi-
• * I
.* kopion 38 kuvion 10001 vasemmanpuoleisinta bittiä.
4) Vaiheet 1) - 3) toistetaan kaikille muille edeltävien tilojen pareille : 0001 ja 1001, 0010 ja 1010, 0011 ja 1011, 0100 ja 1100, 0101 ja 1101, 0110 ja 1110, ja 0111 ja 1111.
30 Yhden edellä olevista iteraatiosta lopussa on prosessoitu kaksi vas- * t | taanotettua pariteettibittiä ja yksi uusi dekoodattu bitti on siirretty kaikkiin bittihis- : toriamuisteihin 33. Vaiheet 1) - 4) toistetaan sitten vielä 3 kertaa 3 jäljellä oleval- » » · le "häntäbitille" 56 "olettaen" jokaisessa tapauksessa, että uusi 5:des bitti on * · sama kuin mikä tahansa vastaanotettu bitti oli. Esimerkiksi, jos 2:sen, 3:nnen, ja 35 4:nnen dekoodatun bitin oletetaan olleen 0, 1, ja 1, niin toisessa vaiheiden 1) - • * »· » 18 114515 4) toistossa uuden bitin "oletetaan" olevan 0, 3:nnessa toistossa uuden bitin "oletetaan" olevan 1 ja 4:nnessä toistossa uuden bitin "oletetaan" olevan 1.
Vaihtoehtoinen päättäminen hännän purevalle dekooderille on jatkaa dekoodausta ympyrässä, kunnes viimeiseksi dekoodattujen bittien lukumäärä 5 pitää yhtä samojen bittien kanssa, kun dekoodattiin ensimmäisen kerran, joko tilassa, jolla on alhaisin metriikka, lukumäärässä Z tiloja, joilla on Z alhaisinta metriikkaa, tai todella kaikissa tiloissa riippuen siitä, montako ehdokassekvens-siä vaaditaan ulos dekooderista. Kuviossa 6b näytetään esimerkki, jossa K bittiä 58 (Nh+NaJ-bittisessä sekvenssissä esittää yhtä pitävien bittien lukumäärää, kun 10 dekoodataan kaksi kertaa bittisekvenssin 52 jatkuvan dekoodauksen aikana, johon dekoodaus päätetään. Jotta viimeisen bitin syöttäminen L-bittisen siirtore-kisterin 24 läpi lähettimen 20 kooderissa 22 olisi tehokasta, joko luvun K pitää olla vähintään yhtä suuri kuin L-1, tai, jos K on pienempi kuin L-1, K-bittisen sekvenssin 58 pitää sijaita soveliaasti bittisekvenssissä 52. Esimerkiksi, jos K on 15 pienempi kuin L-1, oikeanpuoleisimman K:sta bitistä 58 pitää sijaita vähintään L-K-2 bittiä vasemmalle oikeanpuoleisimmasta bitistä bittisekvenssissä 52.
Tunnettu menetelmä lopullisen datasanoman valitsemiseksi on yksinkertaisesti valita tila, jolla on matalin kumulatiivinen metriikka.
Edullisten suoritusmuotojen toteutuksia 20 Lohkokaavioita keksinnön edullisten järjestelyjen toteuttamista varten * · ·. näytetään kuvioissa 1, 2, 7, 8, 9, ja 10.
Viitaten kuvioihin 7 ja 8, datasanoma 60, joka muodostuu Ni:stä lä-hettimestä 20 lähetettävästä sanomabitistä, syötetään sisään virheenilmaise- ;·*! vaan koodigeneraattoriin 28, joka muodostaa syklisen ylimäärätarkistuksen • 25 (CRC) laskemalla jakojäännöksen, joka syntyy datasanoman 60 polynomijaka- misella valitulla CRC-polynomilla (ei näytetty). Esimerkiksi yksinkertaisin polynomi on 1, ja jakojäännös minkä tahansa databittisekvenssin 1 :ilä jakamisen tuloksena on juuri tämä databittisekvenssi uudelleen, kehittäen yksinkertaisen yli- ··· määrän. Mutkikkaammat polynomit kehittävät yleisesti monimutkaisempia jako- - · I · .···. 30 jäännöksiä, kuten hyvin tunnetaan. Katso esimerkiksi Line and Costello "Error , *’ Control Coding", Prentice-Hall (1983), Chapter 4.5 (ISBN 0-13-283796-X), joka ► t · : selostus liitetään täten viitteeksi. N2 virheentarkistusbitistä muodostuva CRC- jakojäännös 64 liitetään sitten Ni sanomabittiin 60 tehden yhteensä N1+N2 bittiä 66, jotka syötetään sitten konvolutionaalisen virheenkorjaavan kooderin 22 si-
I I I
35 säänmenoon. Riippuen siitä, käytetäänkö edellä kuvattua hännänpuremismene-teimää vai ei, voidaan liittää lisäksi L-1 nollaa, missä L on konvolutionaalisen 19 114515 koodin rajoituspituus, tehden yhteensä L-I+N1+N2 bittiä. Jos hännän puremista käytetään, ensimmäiset L N1+N2 bitistä 66 ladataan koodaussiirtorekisteriin 24, kun taas jos hännän puremista ei käytetä, L-1 nollaa plus ensimmäinen N1 data-sanomabitistä 60 ladataan koodaussiirtorekisteriin 24.
5 Siirtorekisterin 24 ulosotot on kytketty lähetettävät pariteettibitit 74 muodostavan kombinaatiologiikkaverkon 26 sisäänmenoihin. Kuviossa 8 näytetty vaihtoehto on käyttää L bittiä siirtorekisterissä osoittamaan 2L elementistä hakutaulukkoa 27 elektronisessa muistissa, johon on talletettu sovelias pariteet-tibittikombinaatio kutakin mahdollista siirtorekisteribittikuviota varten. Kummas-10 sakin tapauksessa lukumäärä pariteettibittejä 74, joka on suhteellinen koodino-peuden 1/r käänteislukuun, tuotetaan kutakin siirtorekisterin 24 siirtoa kohti. Sen jälkeen kun viimeinen N2 CRC-bitistä 64 on syötetty sisään, se syötetään läpi toistamalla ensimmäiset koodatut bitit, joka hännänpuremisen tapauksessa tarkoittaa ensimmäisten L-1:n N1+N2 bitistä 66 syöttämistä uudelleen, tai ilman 15 hännänpuremista L-1 alkunollaa syötetään uudelleen. Se voidaan toteuttaa sillä, että jos N1+N2 bitin 66 tai L-I+N1+N2 bitin taulukon katsotan muodostavan ympyrän, niin kooderin 22 toiminnan periaatteessa ei ole mitään eroa kummassakaan tapauksessa.
Lähettimestä 20 lähetettävien pariteettibittien 74 lukumäärä on joko 20 (Ni+N2)r tai (L-1+Ni+N2)r, ja nämä syötetään peräkkäisesti modulaattoriin 76 muunnettavaksi sopivaan muotoon tietoliikennesiirtomedian 78, esimerkiksi ra- • ’' ·. diokanavan, kautta kulkemista varten.
• · * »· ·
Viitaten nyt myös kuvioihin 9 ja 10 ilmaisin 82 vastaanottimessa 30 • · prosessoi tietoliikennesiirtomedian 78 (esimerkiksi radiokanavan) kautta vas- * · 25 taanotetun signaalin 80 muodostamaan uudelleen lähetettyjen pariteettibittien * / 74 estimaatit. Nämä voivat olla "kovia" päätöksiä 84 (binäärisiä 1:siä tai 0:ia) tai * · · "pehmeitä" päätöksiä 85, kuten näytetään kuviossa 10, jotka ideaalisesti ovat • ; ; todennäköisyyden, että pariteettibitti on vastaavasti 1 tai 0, logaritmin estimaat teja. Kova 84 (tai pehmeä 85) pariteettibitti-informaatio viedään sitten Viterbi-30 SMLSE konvolutionaaliseen dekooderiin 86, joka toimii edellä kuvattujen etusi-;' ’ ‘: jalle asetettujen periaatteiden mukaisesti.
: *·, Jos käytetään häntäjatkuvuutta (tail biting), niin 2(L'1) tilaa vastaa * » · kaikkia vielä tuntemattomia ensimmäisiä L-1-bittejä N1+N2 bitistä 66, ja niiden > · T* reittimetriikat alustetaan yhtä suuriin alkuarvoihin, esimerkiksi nolliksi. Dekooda- :,,,: 35 us etenee sitten kuvatulla tavalla. Jos häntäjatkuvuutta ei käytetä, vain tila 0, jo- •: * · i ka vastaa L-1 kooderin 22 siirtorekisteriin syötettyä alkunollaa, voi olla olemas- 20 114515 sa, ja sen reittimetriikka alustetaan nollaksi. Yhden dekoodausiteraation jälkeen synnytetään kaksi tilaa vastaten ensimmäisen tuntemattoman datasanomabitin olevan 0 tai 1. L-1 dekoodausiteraation jälkeen kaikki 2(L*1) tilaa ovat aktiivisia ja dekoodaus etenee sitten normaalisti.
5 Viterbi-dekoodauksen suorittamisen jälkeen lukumäärä 2(L‘1) ehdolla olevista (Ni+N2)-bittisistä sekvensseistä on saatavissa muistissa 94, kukin yhteen liittyvän reittimetriikka-arvon kanssa. Lopputilan reittimetriikka 88 viedään reittimetriikkalajittelijaan 90, joka järjestää lopputilan reittimetriikat 88 arvon mukaan laskevaan järjestykseen. Ehdolla olevat (Ni+N2)-bittiset sekvenssit järjeste-10 tään sitten käyttäen tätä lajiteltua osoitejärjestystä 92 ja ehdolla oleva (N1+N2)-bittinen sekvenssi haetaan muistista 94 ja viedään CRC-laskimeen 98. CRC-laskin 98 määrittää, vastaako liitetty N2-bittinen CRC-sana N1 datasanomabittiä. Ensimmäinen ehdolla oleva (N1+N2)-b'ittinen sekvenssi, jolla havaitaan olevan kelvollinen CRC-sekvenssi, valitaan sitten sen ehdolla olevien N1 datasanomabi-15 tin ulostuloa 100 varten. Jos mitään kelvollista CRC:tä ei löydetä ja CRC:llä on myös rajoitettu virheenkorjauskyky, ehdolla olevat (Ni+N2)-bittiset sekvenssit tarkistetaan uudelleen lajitellussa metrisessä järjestyksessä yksittäisten korjattavien virheiden löytämistä varten. Ensimmäinen ehdolla oleva (Ni+N2)-bittinen sekvenssi, jonka havaitaan sisältävän yksittäisen korjattavan virheen, valitaan 20 sitten, ja virhe korjataan. Tämä proseduuri voidaan toistaa CRC-koodin suurimpaan sallittuun virheenkorjauskykyyn asti.
;'; Esillä olevaa keksintöä, jolle on tunnusomaista yhdessä näkökohdas- sa virheenkorjaavan dekooderin N:nneksi parhaan ulostulon valitseminen vir- • · .*···, heenilmaisutarkistusproseduurin mukaisesti, voidaan soveltaa myös muiden t · 25 koodausmuotojen kuin konvolutionaalisen kanssa, kuten esimerkiksi lohkokoo-' , : dauksen kanssa. Esimerkiksi pieni määrä sanomabittejä kerrallaan voidaan muuntaa redundanttiseksi lohkokoodiksi, ja useita sellaisia lohkokoodeja lähete-'·* ' tään siirtämään koko sanoma, mukaan lukien CRC-sana. Jos suoritettaessa CRC-tarkistus dekoodauksen jälkeen jää jäljelle joitain havaitsemattomia virhei-,,j ’ 30 tä, lohkodekoodauksen laatu voidaan tutkia ja identifioida vähiten luotettava ioh- ko. Vähiten luotettava siirretty bitti vähiten luotettavassa lohkossa voidaan sitten invertoida ja dekoodata lohko uudelleen, tarkistaa CRC uudelleen. Jos tämä epäonnistuu, toiseksi epäluotettavin bitti tai lohko voidaan modifioida ja niin edelleen. Sellaiset esillä olevan keksinnön sovellukset lohkokoodauksen tapa-’,,,: 35 ukseen voi suunnitella yksityiskohtaisesti joku, jolle koodaus- ja dekoodausteoria ; · : ovat tavanomaisen tuttuja.
21 114515
Vaikka on esitetty ja kuvattu tiettyjä esillä olevan keksinnön sovellu-tusmuotoja, pitäisi ymmärtää, että keksintöä ei rajoiteta niihin, koska henkilöt, joilla on tavanomainen taito alueella, johon kohdeaihe kuuluu, voivat tehdä muunnoksia. Esillä oleva sovellutus ottaa lukuun minkä tahansa ja kaikki muun-5 nokset, jotka kuuluvat pohjana olevan tässä ilmaistun ja haetun keksinnön henkeen ja piiriin.
* · t * · t I t • · « ( » * ·
• I
* · f * · > * · i * » * * » * · » * » I « » · « » · * > tl»
> I
f » * » t

Claims (17)

  1. 22 11 4 51 5
  2. 1. Viestintäjärjestelmä virheiden vähentämisen järjestämiseksi tietolii-kenneliikennesignaalien lähetyksessä sisältäen: 5 lähettimen, joka sisältää: virheenilmaisusignaaligeneraattorin lähetettävää datasanomaa vastaavan virheenilmaisutarkistussanan tuottamiseksi; virheenkorjaavan kooderin mainitun datasanoman ja mainitun virheenilmaisutarkistussanan koodaamiseksi; 10 vastaanottimen, joka sisältää: virheenkorjaavan dekooderin koodatun datasanoman ja koodatun virheenilmaisutarkistussanan vastaanottamiseksi ja dekoodaamiseksi, mainitun dekooderin sisältäessä: välineet useiden ehdokasbittisekvenssien, jotka vastaavat N:ää ιοί 5 dennäköisintä lähetettyä ehdokassanomadataa ja ensimmäistä ehdokasvir-heenilmaisubittisekvenssiä, tuottamiseksi; välineet joukon toisia virheenilmaisubittejä laskemiseksi kullekin eh-dokasbittisekvensseille dekoodattujen sanomadatabittien funktiona; välineet mainittujen ehdokasbittisekvenssien toisten virheenilmaisu-20 bittien vertaamiseksi mainittuihin ehdokasbittisekvenssien ensimmäisiin ilmaisu-bittiarvioihin virheenilmaisusyndrooman muodostamiseksi; : välineet ensimmäisen ehdokassanoman valitsemiseksi ehdokasbit- »tl i * ·'; tisekvenssistä, jolla on suurin todennäköisyys ja jonka virheenilmaisusyndrooma *". ei ilmaise virheitä, ja jos tällaista ehdokasta ei ole, toisen ehdokassanoman va- 25 litsemiseksi ehdokasbittisekvenssistä, jolla on suurin todennäköisyys ja jonka syndrooma ilmaisee korjattavissa olevan määrän virheitä, ja mainitun bittivirheen korjaamiseksi mainitussa toisessa valitussa ehdokassanomassa. ' ’ ‘ 2. Patenttivaatimuksen 1 mukainen jäijestelmä, jossa mainittu data- sanoma ja mainittu virheenilmaisutarkistussana koodataan käyttämällä konvo-30 luutiokoodeja.
  3. 3. Patenttivaatimuksen 1 mukainen järjestelmä, jossa mainittu de-: kooderi käyttää peräkkäistä maksimaalisen todennäköisyyden sekvenssin esti- .···’ mointitekniikkaa mainitun koodatun datasanoman ja mainitun koodatun vir- *" heenilmaisutarkistussanan dekoodaamiseksi.
  4. 4. Patenttivaatimuksen 1 mukainen järjestelmä, jossa mainittu de- 'r : kooderi sisältää muistin oletusbittitilojen, valittujen bittien historian kullekin maini- 23 1 1 45 1 5 tulle oletusbitille, ja luotettavuuskertoimen kullekin mainituista oietusbittitiloista tallentamiseksi.
  5. 5. Patenttivaatimuksen 1 mukainen jäijestelmä, joka lisäksi sisältää: lähettimen, jossa on konvoluutiokooderi sisältäen:
  6. 5 L-bittisen siirtorekisterin datasanomainformaation L bitin ja virheenil- maisutarkistussanan informaation tallentamiseksi, jolloin L on konvoluutiokoodin rajoitepituus; loogisen piirin yhdistämään loogisesti tietyt mainituista L:stä bitistä pariteettibittien tuottamiseksi; ja 10 välineet mainittujen pariteettibittien lähettämiseksi.
  7. 6. Patenttivaatimuksen 1 mukainen järjestelmä, jossa mainittu koodattu datasanoma ja mainittu koodattu virheenilmaisutarkistussana ovat pariteettibittejä.
  8. 7. Patenttivaatimuksen 1 mukainen järjestelmä, jossa mainittu data-15 sanoma sisältää Ni lähetettävää sanomabittiä ja N2 virheenilmaisutarkistussa- nan virheenilmaisubittiä.
  9. 8. Patenttivaatimuksen 7 mukainen järjestelmä, jossa mainitut N2 virheenilmaisubittiä ovat jäännös jaettaessa mainitut N1 sanomabittiä polynomiaa-lisesti syklisellä redundanssitarkistuspolynomilla.
  10. 9. Patenttivaatimuksen 1 mukainen jäijestelmä, jossa mainittu vir heenkorjaava kooderi alustetaan ja päätetään koodausbiteillä, jotka ovat tunte- :"': mattomia mainitulle dekooderille. * · » |10. Patenttivaatimuksen 1 mukainen järjestelmä, jossa mainittu vir-·”, heenkorjaava kooderi alustetaan ja päätetään koodausbiteillä, jotka ovat tunnet- •, : 25 tuja mainitulle dekooderille.
  11. 11. Tiedonsiirtomenetelmä, joka on sovitettu vähentämään siirrosta ::; aiheutuvien databittivirheiden esiintymistä, sisältäen vaiheet: ’ ' kootaan joukko databittejä lähetettävään sanomaan; lasketaan joukko ensimmäisiä virheenilmaisubittejä mainittujen sa-30 nomadatabittien funktiona; :: liitetään mainitut virheenilmaisubitit mainittuun sanomaan; : . ·. koodataan mainittu sanoma ja mainitut liitetyt virheenilmaisubitit vir- '«·.[ heenkorjaavassa kooderissa joukon koodausbittejä tuottamiseksi mainitusta kooderista lähetystä varten; 24 114515 moduloidaan mainitut koodausbitit; lähetetään mainitut moduloidut koodausbitit viestintämedian välityksellä; vastaanotetaan lähetettyjen bittien estimaatit; 5 demoduloidaan mainitut vastaanotetut estimaatit; dekoodataan mainitut demoduloidut estimaatit virheenkorjaavassa dekooderissa; tuotetaan joukko ehdokasbittisekvenssejä, jotka vastaavat N:ää todennäköisintä lähetettyä ehdokassanomadataa ja ensimmäistä ehdokasvir-10 heenilmaisubittisekvenssiä; lasketaan kullekin mainituista ehdokasbittikvensseistä joukko toisia virheenilmaisubittejä funktiona dekoodatuista databiteistä; verrataan mainittuja ehdokasbittisekvenssien toisia virheenilmaisubittejä mainittuihin ehdokasbittisekvenssien ensimmäisiin virheenilmaisubittiesti-15 maatteihin virheenilmaisusyndrooman muodostamiseksi; ja valitaan ehdokasbittisekvensseistä ensimmäinen ehdokassanoma, jolla on suurin todennäköisyys ja jonka virheenilmaisusyndrooma ei ilmaise virheitä, ja jos tällaista ehdokasta ei ole, valitaan ehdokasbittisekvensseistä toinen ehdokassanoma, jolla on suurin todennäköisyys ja jonka syndrooma ilmaisee 20 korjattavissa olevan määrän virheitä, ja koijataan mainittu bittivirhe mainitussa toisessa valitussa ehdokassanomassa.
  12. 12. Patenttivaatimuksen 11 mukainen tiedonsiirtomenetelmä, jossa v. mainitut ensimmäiset ja toiset virheenilmaisubitit ovat jäännös jaettaessa maini tut sanomadatabitit polynomiaalisesti syklisellä redundanssitarkistuspolynomilla.
  13. 13. Patenttivaatimuksen 11 mukainen tiedonsiirtomenetelmä, jossa ’ mainittu virheenkorjaava koodaus on konvoluutiokoodaus. • ·
  14. 14. Patenttivaatimuksen 13 mukainen tiedonsiirtomenetelmä, jossa s » ·* * mainittu virheenkorjaava koodaus on häntäjatkuvuutta (tail-biting) käyttävä kon voluutiokoodaus, sisältäen lisäksi vaiheet: 30 alustetaan mainittu kooderi syöttämällä sisään mainitulle vastaanot- .* [ ’ ’: tavalle dekooderille tuntemattomia databittejä ennen mainittua lähetystä; ja : , päätetään mainittu kooderi syöttämällä sisään mainitut databitit uu- delleen. • ·
  15. 15. Patenttivaatimuksen 13 mukainen tiedonsiirtomenetelmä, jossa 35 mainittu virheenkorjaava koodaus on konvoluutiokoodaus, sisältäen lisäksi vai- ’: ·: heet: 25 1 1 45 1 5 alustetaan mainittu kooderi syöttämällä sisään mainitulle vastaanottavalle dekooderille tunnettu bittikuvio ennen mainittua lähetystä; ja päätetään mainittu kooderi syöttämällä sisään mainittu bittikuvio uudelleen.
  16. 16. Patenttivaatimuksen 11 mukainen tiedonsiirtomenetelmä, jossa mainittu virheenkorjaava dekoodaus käyttää peräkkäistä suurimman todennäköisyyden sekvenssin estimoinnin Viterbi-algoritmia.
  17. 17. Patenttivaatimuksen 11 mukainen tiedonsiirtomenetelmä sisältäen lisäksi vaiheet: 10 lajitellaan ehdokasbittisekvenssit koko syöttösignaalin dekoodauksen jälkeen dekooderin mainittuja lopputiloja vastaavien reittimetriikkojen mukaiseen nousevaan järjestykseen mainittujen virheenilmaisubittivertailujen järjestyksen määrittämiseksi. * · • · * * · I « I I * t I · I I · 26 1 1 451 5
FI962030A 1994-09-14 1996-05-13 Menetelmä ja laite dekooderin optimoimiseksi FI114515B (fi)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US08/305,730 US5577053A (en) 1994-09-14 1994-09-14 Method and apparatus for decoder optimization
US30573094 1994-09-14
PCT/US1995/011687 WO1996008895A1 (en) 1994-09-14 1995-09-13 Method and apparatus for decoder optimization
US9511687 1995-09-13

Publications (3)

Publication Number Publication Date
FI962030A0 FI962030A0 (fi) 1996-05-13
FI962030A FI962030A (fi) 1996-07-11
FI114515B true FI114515B (fi) 2004-10-29

Family

ID=23182088

Family Applications (1)

Application Number Title Priority Date Filing Date
FI962030A FI114515B (fi) 1994-09-14 1996-05-13 Menetelmä ja laite dekooderin optimoimiseksi

Country Status (9)

Country Link
US (1) US5577053A (fi)
EP (1) EP0728390B1 (fi)
JP (1) JP3652701B2 (fi)
CN (1) CN1083189C (fi)
AT (1) ATE265770T1 (fi)
AU (1) AU3676295A (fi)
DE (1) DE69532949T2 (fi)
FI (1) FI114515B (fi)
WO (1) WO1996008895A1 (fi)

Families Citing this family (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5784392A (en) * 1995-06-26 1998-07-21 Nokia Mobile Phones Ltd. Viterbi decoder with l=2 best decoding paths
US5721746A (en) * 1996-04-19 1998-02-24 General Electric Company Optimal soft-output decoder for tail-biting trellis codes
US5721745A (en) * 1996-04-19 1998-02-24 General Electric Company Parallel concatenated tail-biting convolutional code and decoder therefor
US5910182A (en) * 1996-05-03 1999-06-08 Ericsson Inc. Data communications systems and methods using interspersed error detection bits
US5917837A (en) * 1996-09-11 1999-06-29 Qualcomm, Incorporated Method and apparatus for performing decoding of codes with the use of side information associated with the encoded data
US5745502A (en) * 1996-09-27 1998-04-28 Ericsson, Inc. Error detection scheme for ARQ systems
UA53669C2 (uk) * 1996-11-18 2003-02-17 Сіменс Акцієнгезельшафт Спосіб та система базової станції для конфігурування радіоінтерфейсу між мобільною станцією та базовою станцією мобільної радіосистеми пакетної передачі даних з часовим мультиплексуванням
US6208655B1 (en) 1996-11-27 2001-03-27 Sony Europa, B.V., Method and apparatus for serving data
US6094465A (en) * 1997-03-21 2000-07-25 Qualcomm Incorporated Method and apparatus for performing decoding of CRC outer concatenated codes
US5938787A (en) * 1997-03-27 1999-08-17 Ericsson Inc. Communications systems and methods employing code rate partitioning with nonorthogonal modulation
JP3239795B2 (ja) * 1997-04-23 2001-12-17 三菱電機株式会社 誤り訂正復号装置および誤り訂正復号方式
US6085349A (en) * 1997-08-27 2000-07-04 Qualcomm Incorporated Method for selecting cyclic redundancy check polynomials for linear coded systems
US6282684B1 (en) * 1997-10-23 2001-08-28 Sony Corporation Apparatus and method for recovery of data in a lossy transmission environment
US6581170B1 (en) 1997-10-23 2003-06-17 Sony Corporation Source coding to provide for robust error recovery during transmission losses
US6263468B1 (en) 1997-10-23 2001-07-17 Sony Corporation Apparatus and method for partial buffering transmitted data to provide robust error recovery in a lossy transmission environment
FI104769B (fi) * 1997-12-01 2000-03-31 Nokia Networks Oy Menetelmä ja laitteisto loogisen kanavan tunnistamiseksi
US6141388A (en) * 1998-03-11 2000-10-31 Ericsson Inc. Received signal quality determination method and systems for convolutionally encoded communication channels
US6347125B1 (en) 1999-01-11 2002-02-12 Ericsson Inc. Reduced complexity demodulator for multi-bit symbols
US6307979B1 (en) 1999-02-12 2001-10-23 Sony Corporation Classified adaptive error recovery method and apparatus
US7010737B2 (en) * 1999-02-12 2006-03-07 Sony Corporation Method and apparatus for error data recovery
US6307560B1 (en) 1999-02-12 2001-10-23 Sony Corporation Classified adaptive spatio-temporal format conversion method and apparatus
US6170074B1 (en) 1999-02-12 2001-01-02 Sony Corporation Source coding to provide for robust error recovery
US6418548B1 (en) 1999-02-12 2002-07-09 Sony Corporation Method and apparatus for preprocessing for peripheral erroneous data
US6519369B1 (en) 1999-02-12 2003-02-11 Sony Corporation Method and apparatus for filter tap expansion
US6535148B1 (en) 1999-02-12 2003-03-18 Sony Corporation Method and apparatus for truncated decoding
US6363118B1 (en) 1999-02-12 2002-03-26 Sony Corporation Apparatus and method for the recovery of compression constants in the encoded domain
US6591398B1 (en) 1999-02-12 2003-07-08 Sony Corporation Multiple processing system
US6621936B1 (en) 1999-02-12 2003-09-16 Sony Corporation Method and apparatus for spatial class reduction
US6473876B1 (en) 1999-06-29 2002-10-29 Sony Corporation Method and apparatus for encoding of bitstreams using rotation
US6389562B1 (en) 1999-06-29 2002-05-14 Sony Corporation Source code shuffling to provide for robust error recovery
US6549672B1 (en) 1999-06-29 2003-04-15 Sony Corporation Method and apparatus for recovery of encoded data using central value
US6493842B1 (en) 1999-06-29 2002-12-10 Sony Corporation Time-varying randomization for data synchronization and implicit information transmission
US6522785B1 (en) 1999-09-24 2003-02-18 Sony Corporation Classified adaptive error recovery method and apparatus
US6351494B1 (en) 1999-09-24 2002-02-26 Sony Corporation Classified adaptive error recovery method and apparatus
US6539517B1 (en) 1999-11-09 2003-03-25 Sony Corporation Data transformation for explicit transmission of control information
US6754371B1 (en) 1999-12-07 2004-06-22 Sony Corporation Method and apparatus for past and future motion classification
JP3286289B2 (ja) * 1999-12-28 2002-05-27 松下電器産業株式会社 Cdma受信装置及び誤り訂正方法
US6484285B1 (en) 2000-02-07 2002-11-19 Ericsson, Inc. Tailbiting decoder and method
US7080307B2 (en) * 2000-03-02 2006-07-18 Kawasaki Steel Corporation Error correction decoder with correction of lowest soft decisions
US6542559B1 (en) * 2000-05-15 2003-04-01 Qualcomm, Incorporated Decoding method and apparatus
US6606726B1 (en) * 2000-06-13 2003-08-12 Telefonaktiebolaget L M Ericsson (Publ) Optimization of acceptance of erroneous codewords and throughput
JP2002247025A (ja) * 2001-02-22 2002-08-30 Hitachi Ltd 情報処理装置
GB2377142A (en) * 2001-06-29 2002-12-31 Motorola Inc Encoder for generating an error checkword
US7263647B2 (en) * 2001-10-17 2007-08-28 General Electric Company Signal error detection in railroad communication system
GB2387302B (en) * 2002-04-05 2005-11-30 Phyworks Ltd Error correcting decoder
US7278128B1 (en) * 2003-04-11 2007-10-02 Xilinx, Inc. Method of altering a bitstream
US7050817B2 (en) * 2003-04-24 2006-05-23 Locus Location Systems, Llc Locating method and system
SG113465A1 (en) * 2003-05-30 2005-08-29 Oki Techno Ct Singapore Pte Method of estimating reliability of decoded message bits
US7392459B2 (en) * 2004-04-14 2008-06-24 Lucent Technologies Inc. Method and apparatus for preventing a false pass of a cyclic redundancy check at a receiver during weak receiving conditions in a wireless communications system
US7646829B2 (en) * 2004-12-23 2010-01-12 Agere Systems, Inc. Composite data detector and a method for detecting data
US7469373B2 (en) * 2005-02-17 2008-12-23 Broadcom Corporation Application of a Meta-Viterbi algorithm for communication systems without intersymbol interference
JP4597700B2 (ja) 2005-02-21 2010-12-15 株式会社リコー 画像形成装置
US7712013B2 (en) * 2005-03-18 2010-05-04 Intel Corporation Block decoding methods and apparatus
KR100734307B1 (ko) * 2006-01-23 2007-07-02 삼성전자주식회사 포스트 비터비 에러 정정 방법 및 이에 적합한 장치
JP5251000B2 (ja) * 2006-11-01 2013-07-31 富士通株式会社 誤り訂正回路及び媒体記憶装置
EP1973256A1 (en) 2007-03-22 2008-09-24 Nxp B.V. Error detection
CN102299778B (zh) * 2007-08-21 2014-02-19 华为技术有限公司 反馈方法、反馈信息的区分方法及装置
US8000411B2 (en) * 2008-01-04 2011-08-16 Qualcomm Incorporated Decoding scheme using multiple hypotheses about transmitted messages
JP4922242B2 (ja) * 2008-06-05 2012-04-25 パナソニック株式会社 符号化装置、符号化方法、及びビタビ復号装置
US8181098B2 (en) * 2008-06-11 2012-05-15 Freescale Semiconductor, Inc. Error correcting Viterbi decoder
US8099657B2 (en) * 2008-07-11 2012-01-17 Freescale Semiconductor, Inc. Error correcting Viterbi decoder
US20120079349A1 (en) * 2010-09-24 2012-03-29 Arkady Bramnik Method and apparatus for multi-bit upset protection
RU2706171C1 (ru) * 2019-01-25 2019-11-14 Федеральное государственное казенное военное образовательное учреждение высшего образования Академия Федеральной службы охраны Российской Федерации Способ декодирования блочных помехоустойчивых кодов по критерию минимального среднего риска
CN116722954B (zh) * 2023-08-08 2023-10-20 珠海星云智联科技有限公司 一种编解码验证系统、方法、设备以及存储介质

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4134071A (en) * 1971-07-19 1979-01-09 Licentia Patent-Verwaltungs-G.M.B.H. SSMA Data transmission system
US4108359A (en) * 1977-03-30 1978-08-22 The United States Of America As Represented By The Secretary Of The Army Apparatus for verifying the execution of a sequence of coded instructions
GB2033699B (en) * 1978-11-01 1982-11-10 Philips Electronic Associated Error detection
US4368534A (en) * 1979-01-29 1983-01-11 General Signal Corporation Keyboard controlled vital digital communication system
US4307463A (en) * 1980-02-08 1981-12-22 General Signal Corporation Vital rate decoder
JPS5710558A (en) * 1980-06-20 1982-01-20 Sony Corp Error correcting method
JPS6333028A (ja) * 1986-07-26 1988-02-12 Nec Corp 信号検出方式
US4949273A (en) * 1988-11-04 1990-08-14 General Signal Corporation Vital processing system including a vital power controller with forgiveness feature
US5208816A (en) * 1989-08-18 1993-05-04 At&T Bell Laboratories Generalized viterbi decoding algorithms
FI84866C (fi) * 1990-03-12 1992-01-27 Nokia Mobile Phones Ltd Foerbaettring av en viterbi-algoritm.
US5230003A (en) * 1991-02-08 1993-07-20 Ericsson-Ge Mobile Communications Holding, Inc. Decoding system for distinguishing different types of convolutionally-encoded signals
US5349589A (en) * 1991-07-01 1994-09-20 Ericsson Ge Mobile Communications Inc. Generalized viterbi algorithm with tail-biting
JPH05199124A (ja) * 1992-01-21 1993-08-06 Nec Corp 音声通信方式
EP0609934B1 (en) * 1993-02-01 1999-04-07 Koninklijke Philips Electronics N.V. Television receiver including a teletext decoder
US5355376A (en) * 1993-02-11 1994-10-11 At&T Bell Laboratories Circular viterbi decoder

Also Published As

Publication number Publication date
DE69532949D1 (de) 2004-06-03
US5577053A (en) 1996-11-19
ATE265770T1 (de) 2004-05-15
JP3652701B2 (ja) 2005-05-25
FI962030A (fi) 1996-07-11
EP0728390B1 (en) 2004-04-28
DE69532949T2 (de) 2005-05-25
JPH09509808A (ja) 1997-09-30
WO1996008895A1 (en) 1996-03-21
CN1083189C (zh) 2002-04-17
CN1138396A (zh) 1996-12-18
FI962030A0 (fi) 1996-05-13
AU3676295A (en) 1996-03-29
EP0728390A1 (en) 1996-08-28

Similar Documents

Publication Publication Date Title
FI114515B (fi) Menetelmä ja laite dekooderin optimoimiseksi
CA2250510C (en) Data communications systems and methods using interspersed error detection bits
US5230003A (en) Decoding system for distinguishing different types of convolutionally-encoded signals
WO1996008895A9 (en) Method and apparatus for decoder optimization
US4979174A (en) Error correction and detection apparatus and method
US5390198A (en) Soft decision viterbi decoder for M-ary convolutional codes
KR100554322B1 (ko) 복수의 코딩 버스트내에 배치된 crc 비트에 의해 종료 상태가결정되는 컨벌루셔널 디코딩
AU2002217598B2 (en) Apparatus and method for stopping iterative decoding in a CDMA mobile communication system
US20020023246A1 (en) Combination reed-solomon and turbo coding
US7461324B2 (en) Parallel processing for decoding and cyclic redundancy checking for the reception of mobile radio signals
US7353446B2 (en) Cyclic redundancy check circuit for use with self-synchronous scramblers
US6606724B1 (en) Method and apparatus for decoding of a serially concatenated block and convolutional code
US20090132897A1 (en) Reduced State Soft Output Processing
US20030028838A1 (en) Acceleration of convergence rate with verified bits in turbo decoding
JPS60180222A (ja) 符号誤り訂正装置
AU723989B2 (en) Method for decoding data signals using fixed-length decision window
US6192500B1 (en) Method and apparatus for enhanced performance in a system employing convolutional decoding
EP0612166A2 (en) A method and apparatus for error-control coding in a digital data communications system
JPH06284018A (ja) ビタビ復号方法および誤り訂正復号化装置
Freudenberger et al. An algorithm for detecting unreliable code sequence segments and its applications
US20070011588A1 (en) Architecture and method for error detection and correction for data transmission in a network
US7123668B2 (en) Simple detector and method for QPSK symbols
KR100488136B1 (ko) 고정길이결정창을이용한데이터신호디코딩방법

Legal Events

Date Code Title Description
FG Patent granted

Ref document number: 114515

Country of ref document: FI

MA Patent expired