FI114515B - Method and apparatus for optimizing a decoder - Google Patents

Method and apparatus for optimizing a decoder 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
Finnish (fi)
Swedish (sv)
Other versions
FI962030A0 (en
FI962030A (en
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/en
Publication of FI962030A publication Critical patent/FI962030A/en
Application granted granted Critical
Publication of FI114515B publication Critical patent/FI114515B/en

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)

Abstract

In a communications system, a message to be transmitted is used to generate an error detection checkword. Both the message and checkword are encoded into a communication traffic signal using an error correction code. An error correction decoder decodes a received traffic signal, generating a plurality of candidate decoded signals and quantitative measurements of the reliability of the candidates. An error detection calculator tests the most reliable candidate for compliance between its decoded message and checkword. If there is compliance, that candidate and its decoded message are selected. If there is no compliance, the next most reliable candidate is tested for compliance, the selection process continuing until compliance is found. If no compliance is found among all the candidates, an error corrector scrutinizes the most reliable candidate for the presence of a correctable error, and the corrected candidate is re-tested for compliance. If there is still no compliance, the next most reliable candidate is scrutinized for the presence of a correctable error, and the corrected candidate is retested for compliance, the process continuing until compliance is found, up to the limits of the error correction capability of the error corrector.

Description

114515114515

Menetelmä ja laite dekooderin optimoimiseksiMethod and apparatus for optimizing a decoder

TaustaBackground

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.The present invention relates to a decoding system for use in signal communication, and in particular to a decoding stream to decode transmitted data messages using both error detection and error correction coding.

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.When transmitting data through error-prone communications channels, such as radio channels, error detection coding and / or error correction coding may be used to reduce errors in the transmitted data.

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.10 The transmitted data is often digital information, which is most readily understood in the form of messages consisting of binary bits of information, where each bit can be either ONE or ZERO. Any given message is then just a queue made up of UNITS with a set of ZEROS scattered between them. It will be appreciated that any string of L bits may represent one 2L of 15 unique messages.

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.Error-coding and error-correcting coding for digital information are different encoding formats, and both are important. A simple example of error-detecting coding is to add an identical copy of a message to this message, send both, bit by bit comparing the received message with the received message, ';' / mine. For each bit position, any difference between the message and its copy is proof of a transmission error. The total number of message differences is a quantitative measure of the reliability of the data transmission. It will be appreciated that the total number of differences is an inaccurate measure of concurrency, since no concurrent errors in the same bit positions of both the message and the copy are recognized: '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.Normal error detection technology, cyclic excess checking technique. ankle (Cyclic Redundancy Check, CRC), produces and adds to the message "check bit-. · · ·. paths" determined by the bits of the data message. The check bits form • »30 a" check word ", which is characteristic of a particular message. Check -:.:: The word can be appended after the message so that both are processed by the same encoder, both are transmitted over the same communication channel together, and both are processed by the same decoder in the receiver. The CRC calculator in the receiver can then generate the check bits corresponding to the received decoded 35 message bits, and this 2 114515 check words calculated by the receiver can be compared to the decoded check word received with the message. Any anomaly indicates an error in transmission, and the degree of anomaly can be used as a quantitative measure of the reliability of the data transmission.

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ä.In contrast, a simple example of error correction coding is to send multiple identical copies of a given message and perform bit by bit comparison of all messages received in the receiver. Whether the bit of the message output from the receiver must be set to ONE or ZERO can be decided on the basis of "bit democracy", i.e. the majority of the bit values received for this 10 bit position determines the output. Transmission errors can be assumed to be uniformly distributed among the message copies and less likely to occur in the same bit position in the majority of copies.

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ä.A known error correction technique is convolutional coding, in which the transmitted bits, known as parity bits, are determined based on the message bits. The message bits are taken into account L bits at a time and r parity bits are transmitted for each L message bit. For example, the parity bits can be calculated as certain Boolean combinations of various bits of the message.

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.Sending convolutionally coded parity bits separates convolutional coding from generally alternative coding schemes, such as block coding, in which a small number of message bits are converted; and a plurality of such code words are transmitted: ·, *. to transfer the whole message.

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.The present invention will be described below primarily in the context of convolutional coding, although it may be applied with other coding forms as will be mentioned. A general description of the known convolutional coding technique will therefore be given below to assist in understanding the background of the present invention.

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.Figure 1 illustrates a transmitter 20 having a convolutional encoder ,,; j * 30 22 consisting of a shift register 24 through which bits of information to be encoded are transmitted. The shift register contains a limited number of bits L with the number L being. known as the code constraint length because the code is limited to be considered L bits at a time. At each time the bits in the shift register 24, which may be designated Bi, B2F B3, B4, BL, is fed to a logic network 26, 35 to develop two or more different Boolean combinations of bits. As illustrated in FIG. 1, bits in the shift register may be provided with a CRC error detector 114515 generator 28 which receives the message information to be transmitted and generates and adds to the check bits described above.

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.The combinations generated by the network 26 are the aforementioned parity bits, which may be called P2) .... Pr. The parity bits are transmitted over the communication channel 5 to a receiver 30 having a decoder 32 which converts them back into data bits B1t B2, B3, ..., BL, and finally to the transmitted message information.

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.An alternative embodiment of the communication system illustrated in Figure 1 is illustrated in Figure 2. Instead of the combination logic network 26 shown in Figure 1, the transmitter includes a look-up table 27 consisting of a 2L entry stored in conventional memory 10. The L-bit patterns B1, B2 ... B1 of the contents of the shift register 24 indicate the corresponding entries in the lookup table 27 which are formed by characteristic sets of parity bits P1, P2, ..., Pr. The Boolean combinations of the bits in the shift register 24 patterns is thus stored in lookup table 27 rather than 26 developed a logic array.

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.If two parity bits are generated for each bit transfer through shift register 24, the code is known as a rate 1/2 code, which transmits twice the number of parity bits as compared to the original transmitted da-tabs. If the transmission rate is fixed, the time required to transmit such parity bits is twice the time required to transmit the original data bits. More generally, if r parity bits are generated for each transmission, the code is known as a rate 1 / r code. Typically, the transmission rate of the pairs ·, teet bits is adapted to be r times the bit information ν 'of the message information. speed.

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.For example, a Boolean kombinaatioyhtälöt a rate 1/2 code, having; ' The constraint length 5 for generating parity bits could be: * * P-ι = Bi + B2 + B3 + Bs P2 = Bi + B4 + B5, * «» v: where "+" represents modulo-2 addition. It is seen that the modulo-2 addition is logically equivalent to the exclusive OR operation,;: * 30 since 0 + 0 = 0; 0 + 1 = 1+ 0 = 1; and 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.As mentioned above, r times more parity bits than si-; \ weather input data bits are produced for the rate 1 / r code, and if all parity bits are transmitted, an r-fold excess is arranged to counteract errors. However, it will be appreciated that it is not necessary to transmit all the parity bits. If the transmitter and receiver have previously agreed on a standard ·: ·; the method for deciding which parity bits are not transmitted, the code is known as a 4114515 punctured convolutional code. Punctured codes typically result in encoding rates of m / r, such as 13/29, where matching to a transmission rate of r / m times the bit rate of the message information is required.

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).Tables of parity equations for various code rates and constraint limits leading to optimum codes have been published in the technical literature. See, e.g., 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",The main known convolutional code decoding methods are threshold decoding, Sequential Maximum Likelihood Sequence Estimation (SMLSE), and the stack algorithm. SMLSE technology is commonly known as the Viterbi Algorithm, which is described in the literature including 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ä.Proc. IEEE, Vol. 61, pp. 268-278 (March, 1973). A description of the decoding methods can be found in the darke and Cain text exemplified above.

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.The operation of the SMLSE convolutional decoding algorithm is illustrated in Fig. 3 for a rate 1/2 code with a constraint length of five. In the SMLSE decoder, a plurality of electronic storage elements 33, 34, 35 are sequenced into groups called states, and the number of states is 2L'1, where L is the constraint length of the code to be decoded. The memory elements contain at least two types of information, i.e. bit histories in elements 33 and elements 34, with space-associated routers-Riikka. Additionally, the state numbers associated with the states can be stored in elements 34 in bi-: * '' binary L-1 bit patterns.

: 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.: v. Route metrics can be considered as a safety factor that represents the coefficient ···. the degree of resolution between the assumed bit sequence and the actual (i.e., received) bit sequence. When the putative and the actual bit sequence are identical, the path metric is smaller in quantity and the certainty associated with this putative bit sequence is greater. It is understood that a "putative bit sequence", or simply a "hypothesis", generally refers to any hypothetical bit sequence that has any probability of being the actual bit sequence of interest. You-30 can thus represent message information bits, parity bits, or other code words.

: !·. 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.:! ·. An important part of most SMLSE decoders is copy I of the coding algorithm 38. For the example communication system illustrated in Figure 1, copy 38 could be an L-bit shift register and a combination logic network that implements the equations used in encoder 22 to generate parity bits P1, P2, .... Pr. . Alternative- ': * *! alternatively, copy 38 could be an L-bit shift register and a 2L labeled lookup table stored in electronic 5114515 memory, as in the system illustrated in Figure 2. In both cases, the 2L assumption is generated by copy 38 and compared directly to the received parity bit stream by comparator 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ä.The (L-1) bit status numbers in the memory elements 34 represent all but one of the 5 contents of the coding shift register 24. The Lth bit represents the next bit to be decoded and may be either ZERO or ONE. Both possibilities are tested together with all other combinations of other bits represented by the state numbers. Thus, all 2L possible bit combinations are tested by a decoder and a running reliability factor, 10 path metrics 35, is stored to estimate the correlation between the assumed bit sequence and the received bit sequence.

SMLSE-algoritmin vaiheet ovat seuraavat nopeuden 1/2 koodille, jonka rajoituspituus on viisi.The steps of the SMLSE algorithm are as follows for a speed 1/2 code with a restriction length of five.

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.Step 1. For the first state, 0000, it is assumed that the new bit 15 is also ZERO. The default 00000 is supplied to copy 38 to generate two default parity bits Pi (00000) and P2 (00000). In this way, the default information is encoded using the same parity equations used in the encoder shown in Figures 1 and 2.

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äänStep 2. The actual received parity bits Pi (real) and 20 P2 (real) are compared to the assumed parity bits Pi (00000) and P2 (00000) by comparator 39. The comparison has one of the following results: both bits match; one of two bits matching and one not matching; or neither bit: v. match. If both Pi (00000) and P2 (00000) match the actual received- ···. For the parity bits Pi (real) and P2 (real), the value zero is added by adder 36 to the routing metric associated with state 0000, which can be represented by * Gpm (0000). Similarly, if there is only one match, the value one is added

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äänGpm (0000) of. If neither Pi (00000) nor P2 (00000) matches the actual received * · * * parity bits Pi (real) and P2 (real), the value two is added

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.Gpm (0000) of. In this way, the routimetric value for any given state 30 represents a cumulative mismatch between the assumed bit sequence and the actual bit sequence for a given state. The higher the cumulative total: '·. the inertia is for a given state, the higher the routing value, and the lower the running reliability coefficient for that state.

» * » I · 6 114515»*» 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.Step 3. Steps 1 and 2 are repeated for position 1000. Assuming the new 5th bit is ZERO, pattern 10000 is input to copy 38 and its output bits Pi (10000) and P2 (10000) are compared to actual received bits Pi (real) and P2 (real). . The route metric for position 1000, denoted by 5 Gpm (1000), is updated as in step 2 based on comparing Pi (real) and P2 (real) with Pi (10000) and P2 (10000).

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.Step 4. Updated route metrics for states 0000 and 1000, i.e. Gpm (OOOO) and Gpm (1000), are compared by comparator 37. Any state with lower route metrics and, therefore, less mismatch, becomes 10 new states 0000 when the 38 the bit patterns are shifted to the left by one bit position, and the leftmost bit shifts over to the corresponding bit history in the memory elements 33, leaving 0000 in each case. Thus, either of the states 1000 or 0000 may be the precursor of the next state in the case of a new bit of 0, depending on which state survives because it has a Path 15 metric, the leftmost bit dropping out of encoder copy 38 pattern to become the rightmost bit of the next to 0000, it will be either 0 or 1. In addition, the other corresponding bits in the new bit history memory 33 are copied from the surviving selected state, overwriting the non-surviving selected non-surviving bits. For example, as shown in Figure 3, if 20 route metric Gpm (1000) is 1.8 and route metric Gpm (0000) is 9.5, state 1000 is selected to survive and bits 10110111 to the left are overwritten by bit; ; 33 new spaces for 0000.

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ä-Step 5. Steps 1-4 are repeated for the assumption that the new bit is FIRST * ···, NEN. Assumptions 00001 and 10001 for the actual received bits are respectively supplied to copy 38 to generate pairs of parity bits Pi (00001), • / Ρ2 (00001) and Pi (10001), P2 (10001) that could be expected. These parity bit ends-

• · I• · 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.paths are compared with the actual received parity bits h i n Pi (real) and '·' * P2 (real), resulting in updated route metrics Gpm (0000) and Gpm (1000), which are then compared. This results in a new state 0001 which also has potential.,; j '30 predecessors 0000 and 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).Step 6. Steps 1-5 are repeated for all other pairs of precursor states: 0001 and 1001 (leading to new states 0010 and 0011); 0010 and 1010 (leading to the new 'i ;.' states 0100 and 0101); 0011 and 1011 (leading to new states 0110 and 0111); 0100 and 1100 (leading to new spaces 1000 and 1001); 0101 and 1101 (leading to new facilities 351010 and 1011); 0110 and 1110 (leading to new spaces 1100 and 1101); 0111 and: ··: 1111 (leading to new spaces 1110 and 1111).

7 1145157 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ä.After the above six steps, the two actual received parity bits have been processed and one new decoded bit has been transferred to all bit history memory elements 33. These stored patterns are candidates for the final SMLSE sequence. Due to the way in which bit histories overwrite other bit histories, when one of a pair of states is selected to survive, the older bits in the memory elements 33 are prone to contract. If all the oldest bits in all bit histories match, they can be removed as a final decision and the bit history memory elements 33 can be truncated by one bit.

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.The algorithm for codes having other rate, such as 10 1/4 rate, proceeds accordingly, even if four parity bits were generated for each assumption and compared with the four received bits, generating possible increments for zero, one, two, three, or four mismatch cumulative path metrics.

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ä.In another modification of the known algorithm, the received pair-to-fifte bit bits are characterized not only by their bit polarities but also by their size or quality measure, which represents "first order" or "zero". When a mismatch with a locally predicted default parity bit is detected, a higher amount of route metric is penalized if the received bit quality is high and therefore there is less doubt that its sign was actually 20 correct than if the quality was low and the received bit polarity was suspicious.

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.This "soft" decoding, as opposed to "hard" decoding, ideally uses a "soft" bit quality measure associated with -LOG (probability) where: v. "probability" is the probability that the bit polarity is correct. When this! · · ·. the logarithmic measure is used, the cumulative metric then represents all bits] *. 25 ^ the odds ratio product. The state and bit history sequence, whereby *, 'is the smallest cumulative metric, represents the sequence with the highest probability of being correct. Usually noise is assumed to be Gaussian noise, where in the case of * I · '·' 'the penalty term can be shown to be proportional to the square of the bit amplitude. Punishment for incompatibility with locally predicted ..! · * Between the 30 default bits and the received high quality bit can be influenced by adding a term proportional to 1 / (- LOG (probability)) such as ·. to the logarithmic multifunctional scale when a mismatch is detected. Such an insertion can have a substantial effect on the dimension only every time there is a high probability that the received bit polarity is correct and yet an incompatibility is detected.

* I * * » 8 114515* I * * »8 114515

Sellaisia konvolutionaalisia koodereita ja dekoodereita voidaan rakentaa toimimaan ei-binääristen symbolien, kuten esimerkiksi temääristen ja kvaternaaristen symbolien kanssa.Such convolutional encoders and decoders may be constructed to work with non-binary symbols such as temporal and quaternary symbols.

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.The three areas in which the performance of convolutional decoders can be improved include interrupting decoded bit sequences, terminating decoding when all received bits are processed, and determining the second best decoded bit sequence globally. For example, premature interruption of decoded bit sequences can lead to loss of information, and known interruption of decoding techniques can leave uncorrected message bit errors in one of the remaining decoded data message candidates. The present invention solves these annoying problems by avoiding the need to make early data bit decisions to interrupt the decoded bit sequences, and terminating the decoding while still retaining a number of potential decoded data message candidates.

15 Tunnetut menetelmät katkaisemiseksi ja päättämiseksi kuvataan tuonnempana tarkoituksessa esittää vastakohtia lisäksi tuonnempana kuvatulla esillä olevalla keksinnöllä toteutettuihin parannuksiin.Known methods for cleaving and terminating are described below for purposes of contrasting with the improvements of the present invention described below.

Tunnettuja menetelmiä historian kasvun katkaisemiseksiKnown methods of interrupting the growth of history

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.The first known method for breaking the required bit history memory pi-20 is to make a decision on the oldest bit as soon as the memory is full. The oldest bit is taken from the history memory associated with the state with the lowest v, cumulative metric. The oldest bits of the other states are then discarded, reducing the memory by one bit and allowing the decoding to proceed for another step.

;'! 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.; '! After all received parity bits have been processed, the result of decoding is • / 25 one data sequence corresponding to the extracted bits followed by 2 (L'1) candidates' * '·' for the remainder of the message, corresponding to bits still in history memory, v: Another known the truncation method is to form a majority vote of the oldest bits of all states into a terminated bit, and then delete the van - ,, ;; · Hottest bits before proceeding.

30 Molemmat tunnetut menetelmät kadottavat informaatiota tekemällä 11» ennenaikaisia päätöksiä vanhimmista biteistä.Both known methods lose information by making 11 »premature decisions about the oldest bits.

> I t> Vol

Tunnettuja menetelmiä dekoodauksen päättämiseksiKnown methods for terminating decoding

Kun viimeinen databitti syötetään koodaussiirtorekisteriin, se täytyyWhen the last bit of data is entered into the coding shift register, it must

I ( II (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.passes the entire distance so that it affects the number of generated parity bits to be transmitted. This requires that additional bits, called end bits, have to be inserted after the last bit of data to pass through.

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ä.In the known terminating method, the ending bits are known bit patterns, such as all zeros. In this case, the prior art decoder method 5 must force the assumptions of each new bit corresponding to the end bit to a known value. Thus, after processing the parity bits corresponding to the zero-end bit, only the state numbers ending in zero would be produced, halving the number of states. Each successive known end bit halves the number of states so that only one state is left, which is a decoded 10 data message. Of course, it is possible that this one remaining candidate message contains uncorrectable bit errors.

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-Known Second Right Best Sequence Determination The 2 (L'1) surviving candidate sequences in a conventional Viterbi decoder may not contain the globally second best sequence, although they are guaranteed to contain the globally best sequence. Known modification of the convolutional decoder published by N. Seshrad and C. W. Sundberg

ta nimeltä "Generalized Viterbi detection with Convolutional Codes", Proc. IEEEit is entitled "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.Globecom. '89, pp. 1534-1538 (Nov. 1989), allows for the calculation of the second best globally as well as the globally best sequence. This requires doubling the number of farms. It is then stored for each replacement until this moment * ·. by far the best and second best route metric. In each iteration, the best * ·. of the four and the second best four are selected to survive in the new space.

««

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.Globally, the third best can also be calculated by the above method if a triple number of spaces is used. Generally, the correct second and third best sequences of this * * · '· / 25 globally by this method are achieved only at the cost of increased complexity. Generally, globally, the Nth best sequence can be calculated by the above method if N times the number of states is used. Then, it; i · for each position, the best path metric is stored to date N.

‘ 30 Kussakin iteraatiossa valitaan N parasta 2N:stä jäämään eloon uusiin tiloihin.'30 In each iteration, N is selected from the best 2N to survive in the new states.

YhteenvetoSummary

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.A communication system and method is provided to reduce errors in the transmission of the communication signal. The transmitted signal is used to generate an error detection check word. Both the data message and its corresponding error detection word 35 are encoded into the communication signal using an error correction code 114515. The error-correcting decoder decodes the received traffic signal, generating a plurality of candidate decoded signals. A quantitative measure of the reliability of each candidate is developed by a decoder. The error detector calculator tests the most reliable candidate for correspondence between its 5 decoded data message and its corresponding decoded error detection check word. If a match exists, this candidate and its decoded data message are selected. If there is no match, the next most reliable candidate will be tested for match as the selection process continues until a match is found. If no match is found among all candidates, the vir-10 repairman checks the most reliable candidate for the presence of the error to be corrected, and the corrected candidate is retested for compliance. If there is no match yet, the next most reliable candidate will be checked for the presence of the error to be corrected, and the matched candidate will be re-tested for compliance as the process continues until a match is found within the error correction capability limits of the corrector.

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ä.The preferred error correction coding method for data messages for use with the present invention is convolutional coding as described above. The present invention also uses error detection to check if the decoded data messages contain uncorrected errors.

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.The preferred error-detecting coding is achieved by adding a cyclic redundancy check (CRC) word to the data message before the error-correcting coding, so that the CRC word itself is also protected by error-correcting coding.

.···. 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.. ···. The present invention utilizes a Viterbi-SMLSE decoder 25, modified as described below, to decode the error-correcting coding, to generate a plurality of candidate bit sequences for the data message and to connect it. CRC word. The candidate bit sequence having the lowest cumulative path · * metric is then tested for the correspondence between its data message and the CRC bits. If the CRC succeeds, this candidate message will be selected for use. If CRC ..i: '30 fails, the candidate bit sequence having the next highest metric is checked, etc., until one of the bit sequences is found to be equivalent:. *. CRC, and this candidate message is selected for use.

.·'·] 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.· '·] If nothing is found to have a corresponding CRC then either the entire word is rejected, or other procedures can be defined to select one · ... · 35 candidate message based on whether the CRC has ability to also correct a limited number of errors. For example, a candidate bit sequence having 11114515 Low Metrics is checked again, and if its CRC syndrome matches a single bit error that can be detected and corrected, then this candidate message is selected for use. If its CRC syndrome does not match a single bit error that can be detected and corrected, then the candidate bit sequence having the next higher metric is checked again. If the candidate bit sequence having the next higher metric has a CRC syndrome corresponding to a single bit error that can be identified and corrected, then this candidate message message is selected for use, etc., until one of the candidate bit sequences is found to have a CRC syndrome corresponding to a single bit error. can be identified and corrected and this candidate message is selected for use.

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.The decoding system of the present invention can advantageously be used with a decoding system for separating different types of convolutionally encoded signals, which is described in co-pending application Serial No. 07 / 652,544, filed 8.

15 helmikuuta 1991 ja joka täten liitetään viitteeksi.15 February 1991, which is hereby incorporated by reference.

Piirustusten lyhyt kuvausBrief Description of the Drawings

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ä,The present invention will now be described in more detail with reference to preferred embodiments of the invention, which are given by way of example, and will be described in the accompanying drawings, in which: Figure 1 illustrates a communication system including convolutional: '; the encoder that can be used in the present invention; : * · ': Figure 2 illustrates a communication system including an alternative convolutional codec for the convolutional encoder shown in Figure 1. ·. which can also be used in the present invention; * · · Figure 3 illustrates an example of a convolutional decoding algorithm,

t i It i I

l!! jota voidaan käyttää esillä olevassa keksinnössä.l !! which can be used in the present invention.

’ Kuvio 4 kuvaa muistitalletusjärjestelmää katkaisutekniikkaa varten, jota voidaan käyttää esillä olevassa keksinnössä.FIG. 4 illustrates a memory storage system for a cut-off technique that can be used in the present invention.

Kuvio 5 kuvaa esimerkkiä katkaisutekniikasta, jota voidaan käyttääFigure 5 illustrates an example of a cutting technique that can be used

• · I• · I

:30 esillä olevassa keksinnössä.: 30 in the present invention.

: Kuviot 6, 6a ja 6b kuvaavat esimerkkejä bittisekvensseistä päättä- .···.’ misstrategioiden dekoodaamiseksi, joita voidaan käyttää esillä olevassa keksin- * · 'j' nössä;Figures 6, 6a and 6b illustrate examples of bit sequences for decoding decision strategies that can be used in the present invention;

Kuvio 7 näyttää toiminnallisen lohkokaavion kooderista esillä olevan :' ‘: 35 keksinnön sovellutusmuodon toteuttamiseksi; 12 114515FIG. 7 shows a functional block diagram of an encoder for presenting: '': 35 for implementing an embodiment of the invention; 12 114515

Kuvio 8 näyttää toiminnallisen lohkokaavion kooderista toisen esillä olevan keksinnön sovellutusmuodon toteuttamiseksi;Fig. 8 shows a functional block diagram of an encoder for implementing another embodiment of the present invention;

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.Fig. 9 shows a functional block diagram of a decoder according to an embodiment of the present invention; and FIG. 10 shows a functional block diagram of a decoder according to another embodiment of the present invention.

Yksityiskohtainen kuvausDetailed description

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.The present invention prefers to use the SMLSE method because this method theoretically provides optimum performance. Other methods tend to be a trade-off between performance and complexity, especially for long constraint length codes, and the complexity of SMLSE grows exponentially with increasing constraint length. Thus, although the present invention can be applied to any decoding method, such as the majority voting method, the preferred embodiment of the present invention will be described in conjunction with the SMLSE method. However, this embodiment is for illustrative purposes only.

Esillä oleva keksintö käyttää etusijalle asetetuissa sovellutusmuo-doissa etusijalle asetettua bittihistorian katkaisumenetelmää, ja yhtä etusijalle asetetuista dekoodauksen päättämismenetelmistä.The present invention employs a preferred bit-history interruption method in preferred embodiments, and one of the preferred decoding termination methods.

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ä.20 Bit History Truncation Method; v, The present invention avoids making premature data bit decisions for interrupting bit histories. The main reason to routinely use truncation is to avoid the inconvenience of copying ever-longer bit sequences from one state to another when one of the precursor states is selected to survive. It is more appropriate if the amount of bit history retained is co-metric v with a fixed word length of the digital signal processing device, such as 16 or 32 bits. A preferred method, which can be implemented by: · schematically using the memory storage system illustrated in Figure 4, arranges for the copying of the advantage of fixed history lengths between modes without having to make a hard decision on the oldest bit.

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.When the bit history has grown to be equal to the maximum fit '·; · word length M, all 2 (L'1) bit histories are entered into the first storage memory 46, as indicated by 40, which is accessed by (L-1) - ·; ·: With bit address 42. The (L1) bit 35 address 42 corresponding to the associated bit history 40 is then placed in each state in place of the original M bit, as indicated by 13114515. It will be appreciated that (L-1) is assumed to be smaller than M so that the M-L + 1 bit positions of each word are made available for additional decoding. The decoding algorithm can then be executed further M-L + 1 times until each bit history word is full again, and the contents are again input-5, this time to another storage memory 46, as indicated by 41, replacing the M bits in each history with their (Ll) - bit addresses 42 in the second storage memory 46. This process is repeated until all bits are processed. Thus, in the K th storage memory 46, 2 (L'1) M-bit history words are named with their respective (Ll)-length addresses 42. Each of the M-bit words contains 10 M-L + 1 decoded bits 41, and (L1) - bit address 42 in the (K1) storage memory 46 where the immediately preceding decoded bits 41 are located, the corresponding (L1) bit address 43 after all the bits have been processed, the decoder memory 48 contains 2 (L'1) max. An M-bit history word named by their respective (L1) bit addresses 42. Each bit history word contains the last 15 decoded bits 44, where Q is less than or equal to M-L + 1, and an (L1) bit address 43 which corresponds to the (L1) bit address 42 in the last storage memory 46, where the immediately decoded bits 41 are located. The decoder memory 48 also contains the cumulative path metrics associated with each corresponding message of 2 <L "1) candidates.

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ä.Each of the 2 (L'1) candidates at the end of the whole message processing can be constructed by concatenating the contents of the external storage memories 46 using address bits 43 as chain pointers. The steps for constructing a candidate from a data message from a final state 0 are as follows **. vat: 25 1) Extract Q decoded data bits from 44 M bits of state 0 history:; decoder 48 in memory as the last decoded data bits.

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.2) Extract the (L-1) address bit 43 from the 0-bit history of the final state 0 and retrieve the M-bit word from external storage memory 46, which #_ corresponds to that extracted (L-1) bit address 43.

30 3) Poimi M-L+1 dekoodattua databittiä 41 noudetusta sanasta ja lii- tä Q:hun dekoodattuun dekooderimuistista 48 poimittuun databitti : tiin.3) Extract the M-L + 1 decoded data bit from the retrieved word and paste it into Q into the decoded data bit 48 extracted from the decoder memory.

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.14 114S15 4) Extract the L-1 address bit 43 from the retrieved word and use them to point to the previously used external storage memory 46 retrieving the previous M-bit word corresponding to the (L-1) bit address 43.

5) Poimi M-L+1 dekoodattua databittiä 41 noudetusta sanasta ja lii- 5 tä jo poimittuihin liitettyihin dekoodattuiin databitteihin.5) Extract the M-L + 1 decoded data bits from the 41 words retrieved and paste them into the extracted decoded data bits already extracted.

6) Toista vaiheet 4) - 5), kunnes saavutetaan ketjun loppu.6) Repeat steps 4) - 5) until the end of the chain is reached.

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.The attached extracted data bits then form the decoded final state 0 candidate. Candidates from other end states can be constructed in the same manner, starting from the appropriate state and chaining backwards.

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.Figure 5 illustrates an example of a mapping operation assuming a constraint length L = 3. The final state in the decoder memory 48 having the smallest cumulative path metric 45 is the final state 10 (Gpm (10) = 2.0) with the last decoded data bits 44 being 01 (Q = 2). The extracted 2-bit address 43 is 00, and the 3 data bits 41 taken from the corresponding 00 address 42 in the 4th memory 46 are 110, which are mapped to 01, the last decoded data bits 44, resulting in 110-01. The next extracted 2-bit address 43 is 10, and the following 3 data bits 41 extracted from the corresponding 10-decoded 42 address 42 in the third memory 46 are 110, which when connected to a growing chain produces 110-110-01. The next extract 20 bit 2-bit address 43 is 01, and the next 3 data decoded data bits 41 extracted from the corresponding 01 address 42 42 in 2 memory 46 are 011, which when connected to a growing chain produces 011-110-110-01. The last extracted 2-bit address 43 is 11, and the remaining 5 data bits 40 extracted from the decoded corresponding 11 address 42 in the 1 memory 46 are 11101 which, when connected to the incremental chain, finally produces 11101-011-110-110- 01, to the decoded message candidate belonging to the decoded final state 10. Other final states include candidates: '. The shafts can be constructed in the same manner starting with a suitable space and chaining backwards with the results given in Figure 5.

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).Preferred methods for terminating the decoding • 30 Preferred methods for terminating the decoding retain a number of candidates, for example 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.. * · *. One preferred method utilizes end bits, but> a \ does not reduce the number of spaces at the end. Known end bits are used in the de- »* '·· ** encoder to predict for each state which parity bits should be received: 35 and the state metric is simply updated without any overwriting. Thus, «114515 15 2 (L'1) candidate data sequence is thus left at the end. Known end bits may be, as in the example bit sequence 50 shown in Fig. 6, an L-1 zero sequence 54 associated with an N1 + N2 bit sequence 52 (consisting of N1 message data bit and N2 error check bit).

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.Together with Fig. 3, an example of a preferred method for terminating decoding using predetermined end bits to decoder 32 in Figs. 1 and 2 is described, assuming a code constraint length L = 5, rate 1 / r = 1/2. Assuming that the last bit input to the 5-bit shift register in encoder copy 38 is the first of the known 4-bit end bit 10s 54, the steps to terminate decoding are as follows: 1) For the first state number 0000, it is "assumed" that the new bit is 0. The default 00000 as received information bits is thus supplied to copy 38 of encoder 22 to provide two parity bits P1 (00000) and P2 (00000) that could be expected.

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ä.2) The actual received parity bits P1 (real) and P2 (real) are compared with the default parity bits P1 (00000) and P2 (00000). The comparison results in either a complete matching of both bits, or a single mismatch of one of the two bits and a single mismatch of the other two bits, or a complete mismatch of both bits. If both P1 (00000) and P2 (00000) match f. ·. to the actual received parity bits P1 (real) and • «P2 (real), the number 0 is added to the routing metric, Gpm (0000) associated with state 0000. Similarly, if there is only one match, the number '1 is added to the 0000 routing metric Gpm (0000). If neither Pi (00000) nor P2 (00000) matches the actual received parity bits P-ι (real) and P2 (real), the value two is added to the 0000 path metric Gpm (0000). The new bit history 33 for 0000 is then ... T 30 ten 00100110, with the rightmost bit corresponding to the leftmost bit of 0000 in the 5-bit code copy.

: !·. 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ä.:! ·. 3) Steps 1) and 2) are now repeated for 1000. "Assuming" the new I · 5th bit is 0, 10000 is input to encoder copy 38, and its output Pi (10000) and Ρ2 (10000) are compared to the received 35 to data P1 (real) and P2 (real). The routing metric for: "i 1000, Gpm (1000), is then updated as in step 2) based on comparing the actual received parity bits Pi (real) and P2 (real) with the default parity bits P100000) and P2 (10000). New bit history 33 instead of 1000 is then 10110111, whose rightmost bit corresponds to the 10,000 leftmost bits of the 38 bit pattern of the 5-bit encoder-5 copy.

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.4) Steps 1) to 3) are repeated for all other pairs of the preceding states 0001 and 1001, 0010 and 1010, 0011 and 1011, 0100 and 1100, 0101 and 1101, 0110 and 1110, and 0111 and 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.At the end of one of the foregoing iterations, two received 10 parity bits are processed and one new decoded bit is transferred to all bit history memories 33. Steps 1) to 4) are then repeated 3 more times for the 3 remaining bit 54s.

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.Another preferred method of deciding uses a method known as tail biting. In this method, the encoder uses a first-to-first encoded data bit to re-input through the last data bit. Similarly, the decoder uses the first decoded bits of each candidate cadet message together with assumptions of the last data bits to predict received parity bits and updates the metric accordingly without any overwriting, thus retaining all 2 (L'1) candidates at the end. Fig. 6a 20 shows an example of a bit sequence 52 that can be used for tail biting termination. The bit sequence 52 contains Ni + N2 bits, the first L-1 bits serving as "tail bits" which are previously unknown to the decoder 32 in Figures 1 and 2 and used to input the last bit of the bit to be encoded. ···. through the L-bit shift register 24 in encoder 22 of transmitter 20.

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.Together with Figure 3, an example of a preferred tail biting decoding termination method is described, assuming »· ♦ that the code constraint length is L = 5, rate 1 / r = 1/2. Assume that the last of the bits entered into the 5 * · · '' bit shift register in encoder copy 38 is the first of the unknown 4-bit "tail bits" 56, i.e. the first ... j '30 bits that should have been decoded. Suppose further that the first bit that needed to be decoded happened to be 1. The steps to complete the decoding are; The following: I · · 'II. · 1) For the first state number 0000, it is "assumed" that the new bit is 1. The default 00001 for received information bits 35 is thus supplied to copy 38 of encoder 22 to provide two •: · i parity bits Pi. (00001) and P2 (00001) that could be expected.

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ä.114515 17 2) The actual received parity bits Pi (real) and P2 (real) are compared with the default parity bits Pi (00001) and P2 (00001). The comparison results in either a complete match of both bits, or a single mismatch of one of the two bits and a single mismatch of the other two bits, or a complete mismatch of both bits. If both P- (00001) and P2 (00001) match the actual received parity bits Pi (real) and P2 (real), the number 0 is added to the routing metric, Gpm (OOOO) associated with state 0000. Similarly, if there is only one match, the number 1 is added to the 0000 routing metric Gpm (0000). If neither Pi (00001) nor P2 (00001) matches the actual received parity bits Pi (real) and P2 (real), the value two is added to the 0000 path metric Gpm (0000). The new bit history 33 in place of 0000 is sit-15 00100110, with the rightmost bit corresponding to the leftmost bit of 00001 in the 5-bit code copy 38.

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-3) Steps 1) and 2) are now repeated for 1000. "Assuming" the new 5th bit is 1, FIG. 10001 is input to encoder copy 38 and its outputs Pi (10001) and P2 (10001) are compared with received data Pi ( real) and P2 (real). The path metric for 1000, Gpm (1000), is then updated as in step 2) based on comparisons of the actual received parity bits Pi (real) and P2 (real) with the default parity bits Pi (10001) and. P2 (10001). The new bit history for 33 instead of 1000 is then, · 25 10110111, whose rightmost bit corresponds to a 5-bit encoder,

• * I• * I

.* kopion 38 kuvion 10001 vasemmanpuoleisinta bittiä.* copy 38 of the leftmost bit of Figure 10001.

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.4) Steps 1) to 3) are repeated for all other pairs of the preceding states: 0001 and 1001, 0010 and 1010, 0011 and 1011, 0100 and 1100, 0101 and 1101, 0110 and 1110, and 0111 and 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.30 At the end of one of the above iterations, two responses * are processed the retrieved parity bit and one new decoded bit are transferred to all bit history memories 33. Steps 1) to 4) are then repeated 3 more times for the 3 remaining »» »bits" 56 "assuming that in each case a new 5: des bit is * · same as any received bit was. For example, if the 2, 3, and 35 4 decoded bits were assumed to be 0, 1, and 1, then in the second iteration of steps 1) - • * »·» 18 114515 4) the new bit is "assumed" to be 0 , In the 3rd iteration, the new bit is "assumed" to be 1 and in the 4th iteration the new bit is "assumed" to be 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.An alternative decision for a tail biting decoder is to continue decoding in a circle until the number of last decoded bits 5 equals the same bits when first decoded, either in the state with the lowest metric, the number of Z states with the lowest metric in Z, or how many candidate sequences are required out of the decoder. Figure 6b shows an example where K bits 58 (in the Nh + NaJ bit sequence represents the number of matching bits when 10 are decoded twice during continuous decoding of bit sequence 52 to which decoding is terminated. In order to input the last bit through the L-bit shift register 24 20 in encoder 22 would be effective, either K should be at least equal to L-1, or if K is less than L-1, K-bit sequence 58 should suitably reside in bit 52. For example, if K is less than L -1, the rightmost K bits 58 must be at least LK-2 bits to the left of the rightmost bit in the bit sequence 52.

Tunnettu menetelmä lopullisen datasanoman valitsemiseksi on yksinkertaisesti valita tila, jolla on matalin kumulatiivinen metriikka.A known method for selecting a final data message is simply to select a state with a Low Cumulative Metric.

Edullisten suoritusmuotojen toteutuksia 20 Lohkokaavioita keksinnön edullisten järjestelyjen toteuttamista varten * · ·. näytetään kuvioissa 1, 2, 7, 8, 9, ja 10.Embodiments of the Preferred Embodiments Block diagrams for implementing the preferred embodiments of the invention * · ·. shown in Figures 1, 2, 7, 8, 9, and 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-Referring to Figures 7 and 8, a data message 60 consisting of a message bit to be transmitted from the Ni transmitter 20 is inserted with an error detector; but to code generator 28, which generates cyclic redundancy check 25 (CRC) by computing a division residual resulting from polynomial division of the data message 60 by the selected CRC polynomial (not shown). For example, the simplest polynomial is 1, and dividing the remainder by 1 of any data bit sequence results in exactly this data bit sequence re-generating a simple excess ····. More complex polynomials generally produce more complex divisions - · I ·. ···. 30 remains, as is well known. See, for example, Line and Costello, "Error, * 'Control Coding," Prentice-Hall (1983), Chapter 4.5 (ISBN 0-13-283796-X), which is incorporated herein by reference. The CRC splitter 64 consisting of the N2 error check bit is then appended to the Ni message bit 60, making a total of N1 + N2 bits 66, which are then supplied to the input of the convolutional error correction encoder

I I II 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.35 weather conditions. Depending on whether or not the tail biting process described above is used, an L-1 null can be added, where L is the constraint length of the convolutional code 191145, making a total of L-I + N1 + N2 bits. If the tail bite is used, the first L N1 + N2 bits 66 are loaded into the coding shift register 24, while if the tail biting is not used, the L-1 resets plus the first N1 data message bit 60 is loaded into the coding shift register 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.The outputs of the shift register 24 are coupled to the inputs of the combination logic network 26 forming the parity bits 74 to be transmitted. An alternative shown in Fig. 8 is to use L bits in the shift register to point to a 2L element lookup table 27 in the electronic memory storing a suitable parity-bit combination for each possible shift register bit pattern. In the case of each of the 10 chips, the number of parity bits 74, which is relative to the inverse of the code rate 1 / r, is produced for each shift of the shift register 24. After the last N2 of the CRC bit 64 has been input, it is passed through repeating the first encoded bits which, in the case of a tail bite, means re-entering the first L-1's N1 + N2 bits 66, or without an initial 15 of the L-1. This can be accomplished by the fact that if the table of N1 + N2 bit 66 or L-I + N1 + N2 bit is considered to form a circle, then there is no difference in the operation of encoder 22 in either case.

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.The number of parity bits 74 transmitted from the transmitter 20 is either 20 (Ni + N 2) r or (L-1 + Ni + N 2) r, and these are successively supplied to modulator 76 for conversion to a suitable format for communication medium 78, e.g. for the passage of the di-channel.

• · * »· ·• · * »· ·

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.Referring now also to Figs. 9 and 10, the detector 82 in the receiver 30 processes the received signal 80 through the communication medium 78 (e.g., a radio channel) to form estimates of the re-transmitted parity bits * / 74. These can be "hard" decisions 84 (binary 1's or 0's) or * · · "soft" decisions 85, as shown in Figure 10, which are ideally •; ; the probability that the parity bit is 1 or 0, respectively, is an estimate of the logarithm. Hard 84 (or soft 85) parity bit information is then provided to the Viterbi-30 SMLSE convolutional decoder 86, which operates in the preferred mode described above; '':

: *·, 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.: * ·, If tail biting is used, then 2 (L'1) states correspond to * »· all the first unknown L-1 bits N1 + N2 of bit 66, and their> · T * path metrics are initialized to equal initial values , for example, zero. The decode: ,,,: 35 us then proceeds as described. If tail continuity is not used, only state 0 that corresponds to the initial zero entered into the shift register of the L-1 encoder 22 may exist and its path metric is initialized to zero. After one decoding iteration, two states are generated corresponding to the first unknown data message bit being 0 or 1. After the L-1 decoding iteration, all 2 (L * 1) states are active and then the decoding proceeds normally.

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.After performing Viterbi decoding, the number of 2 (L'1) of the candidate (Ni + N2) bit sequences is available in memory 94, each with an associated path metric value. The end state path metric 88 is passed to the path metric sorter 90, which arranges the end state path metrics 88 in descending order of value. The candidate (Ni + N2) bit sequences are then ordered using this sorted address sequence 92 and the candidate (N1 + N2) bit sequence is retrieved from memory 94 and exported to CRC calculator 98. CRC calculator 98 determines whether the attached N2 a bit CRC word N1 data message bits. The first candidate (N1 + N2) -bit sequence, which is found to have a valid CRC sequence, is then selected for its candidate N1 data message output 100. If no valid CRC is found and the CRC also has a limited error correction capability, the candidate (Ni + N2) bit sequences are scanned again in a sorted metric order to find individual errors to be corrected. The first candidate (Ni + N2) bit sequence that is found to contain a single error to be corrected is then selected, and the error is corrected. This procedure can be repeated up to the maximum allowable error correction capability of the CRC code.

;'; 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.; '; The present invention, which in one aspect is characterized by selecting the Nth best output of the error-correcting decoder according to the gene expression verification procedure, can also be applied to non-convolutional t · 25 coding formats such as, for example, block code, : with daus. For example, a small number of message bits at a time can be converted to a redundant block code, and a plurality of such block codes are transmitted to carry the entire message, including the CRC word. If some undetected errors are left after performing the CRC check after decoding, the quality of the block decoding can be examined and the least reliable block can be identified. The least reliable transmitted bit in the least reliable block can then be inverted and decoded by the block, re-checked by the CRC. If this fails, the second most unreliable bit or block can be modified and so on. Such embodiments of the present invention for block coding mode can be designed in detail by someone for whom coding and decoding theory; ·: Are familiar.

21 11451521 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.While certain embodiments of the present invention have been shown and described, it should be understood that the invention is not limited thereto, as modifications may be made by those of ordinary skill in the art to which the subject matter pertains. The present application contemplates any and all other claims which fall within the spirit and scope of the present invention as disclosed and claimed herein.

* · t * · t I t • · « ( » * ·* · T * · t I t • · «{» * ·

• I• I

* · f * · > * · i * » * * » * · » * » I « » · « » · * > tl»* · F * ·> * · i * »* *» * · »*» I «» · «» · *> tl »

> I> I

f » * » tf »*» t

Claims (17)

22 11 4 51 522 11 4 51 5 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.A communication system for providing error reduction in the transmission of telecommunication signals, comprising: a transmitter comprising: an error detection signal generator for generating an error detection word corresponding to a data message to be transmitted; an error correction encoder for encoding said data message and said error detection check word; A receiver comprising: an error correction decoder for receiving and decoding an encoded data message and an encoded error detection check word, said decoder comprising: means for providing a plurality of candidate bit sequences corresponding to N ιοί 5 most despread candidate message data and first candidate information; means for computing a plurality of other error detection bits for each of the echocod bit sequences as a function of the decoded message data bits; means for comparing said second error detection bits of said candidate bit sequences with said first detection bit estimates of said candidate bit sequences to generate an error detection syndrome; : means for selecting the first candidate message candidate bit- »tl i * · '; the highest probability sequence and the error detection syndrome * ". does not indicate errors, and if there is no such candidate, to select the second candidate message from the highest probability candidate sequence whose syndrome indicates the number of errors to be corrected, and to correct said bit error A rigid system according to claim 1, wherein said data message and said error detection check word are encoded using convoy-30 lution codes. 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.The system of claim 1, wherein said decoder utilizes sequential maximum likelihood sequence blocking techniques to decode said encoded data message and said encoded error detection word. 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.The system of claim 1, wherein said decoder includes a memory for storing default bit states, a history of selected bits for each of the default bits mentioned, and a reliability factor for storing each of said default bit states. 5. Patenttivaatimuksen 1 mukainen jäijestelmä, joka lisäksi sisältää: lähettimen, jossa on konvoluutiokooderi sisältäen:The rigid system of claim 1, further comprising: a transmitter having a convolutional encoder including: 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.5 L-bit shift register data message information information L bits and error detection check information information, wherein L is the convolutional code constraint length; a logical circuit for logically combining certain of said L bits to produce parity bits; and 10 means for transmitting said parity bits. 6. Patenttivaatimuksen 1 mukainen järjestelmä, jossa mainittu koodattu datasanoma ja mainittu koodattu virheenilmaisutarkistussana ovat pariteettibittejä.The system of claim 1, wherein said encoded data message and said encoded error detection check word are parity bits. 7. Patenttivaatimuksen 1 mukainen järjestelmä, jossa mainittu data-15 sanoma sisältää Ni lähetettävää sanomabittiä ja N2 virheenilmaisutarkistussa- nan virheenilmaisubittiä.The system of claim 1, wherein said data-15 message includes a message bit to be transmitted and an error detection bit of N2 error detection check word. 8. Patenttivaatimuksen 7 mukainen järjestelmä, jossa mainitut N2 virheenilmaisubittiä ovat jäännös jaettaessa mainitut N1 sanomabittiä polynomiaa-lisesti syklisellä redundanssitarkistuspolynomilla.The system of claim 7, wherein said N2 error detection bits are a residue when dividing said N1 message bits by a polynomial cyclic redundancy check polynomial. 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.The rigid system of claim 1, wherein said error-correcting encoder is initialized and terminated by encoding bits which are "" unknown to said decoder. * · »| The system of claim 1, wherein said error-correcting encoder is initialized and terminating with coding bits known to be available for said decoder. 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.11. A data transmission method adapted to reduce transmission:; occurring data bit errors, including the steps of: '' compiling a plurality of data bits in a message to be transmitted; calculating a plurality of first error detection bits as a function of said sa-30 nomadabits; :: appending said error detection bits to said message; :. ·. encoding said message and said associated error detection bits in a error correction encoder to produce a plurality of coding bits for transmission from said encoder; 11,11515 modulating said coding bits; transmitting said modulated coding bits via a communication medium; receiving estimates of the transmitted bits; Demodulating said received estimates; decoding said demodulated estimates in an error correction decoder; generating a plurality of candidate bit sequences corresponding to the N most probable transmitted candidate message data and the first candidate viral expression bit sequence; calculating for each of said candidate bit sequences a plurality of other error detection bits as a function of the decoded data bits; comparing said second error detection bits of said candidate bit sequences with said first error detection bit ester 15 bits of said candidate bit sequences to form an error detection syndrome; and selecting, from the candidate bit sequences, the first candidate message having the highest probability and the error detection syndrome not detecting errors, and if there is no such candidate, selecting the second candidate message having the highest likelihood and syndrome indicating the number of errors to be corrected; candidate message. 12. Patenttivaatimuksen 11 mukainen tiedonsiirtomenetelmä, jossa v. mainitut ensimmäiset ja toiset virheenilmaisubitit ovat jäännös jaettaessa maini tut sanomadatabitit polynomiaalisesti syklisellä redundanssitarkistuspolynomilla.The data transmission method of claim 11, wherein v. Said first and second error detection bits are a residue when dividing said message data bits by a polynomially cyclic redundancy check polynomial. 13. Patenttivaatimuksen 11 mukainen tiedonsiirtomenetelmä, jossa ’ mainittu virheenkorjaava koodaus on konvoluutiokoodaus. • ·The data transmission method of claim 11, wherein said error correction coding is convolutional coding. • · 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. • ·The data transmission method of claim 13, wherein said error correction coding is tail-biting convolutional coding, further comprising the steps of: initializing said encoder by inserting unknown data bits to said receiving decoder. before said shipment; and:, terminating said encoder by re-entering said data bits. • · 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.The data transmission method of claim 13, wherein said error correction coding is convolutional coding, further comprising the steps of: initializing said encoder by input to said receiving decoder a known bit pattern prior to said transmission; and terminating said encoder by re-entering said bit pattern. 16. Patenttivaatimuksen 11 mukainen tiedonsiirtomenetelmä, jossa mainittu virheenkorjaava dekoodaus käyttää peräkkäistä suurimman todennäköisyyden sekvenssin estimoinnin Viterbi-algoritmia.The data transmission method of claim 11, wherein said error-correcting decoding uses a sequential maximum likelihood sequence estimation Viterbi algorithm. 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 5The data transmission method of claim 11, further comprising the steps of: sorting the candidate bit sequences after decoding the entire input signal in ascending order according to routing metrics corresponding to said final states of the decoder to determine the order of said error detection bit comparisons. * · • · * * · I «I I * t I · I I · 26 1 1 451 5
FI962030A 1994-09-14 1996-05-13 Method and apparatus for optimizing a decoder FI114515B (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US30573094 1994-09-14
US08/305,730 US5577053A (en) 1994-09-14 1994-09-14 Method and apparatus for decoder optimization
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 (en) 1996-05-13
FI962030A FI962030A (en) 1996-07-11
FI114515B true FI114515B (en) 2004-10-29

Family

ID=23182088

Family Applications (1)

Application Number Title Priority Date Filing Date
FI962030A FI114515B (en) 1994-09-14 1996-05-13 Method and apparatus for optimizing a decoder

Country Status (9)

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

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 (en) * 1996-11-18 2003-02-17 Сіменс Акцієнгезельшафт Method and device for setting configuration of a radio channel for connecting mobile and stationary station of a radio communication system in batch data communication with time-division multiplex
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 (en) * 1997-04-23 2001-12-17 三菱電機株式会社 Error correction decoding device and error correction decoding method
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
US6163868A (en) 1997-10-23 2000-12-19 Sony Corporation Apparatus and method for providing robust error recovery for errors that occur 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
FI104769B (en) * 1997-12-01 2000-03-31 Nokia Networks Oy Method and apparatus for identifying a logical channel
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
US6621936B1 (en) 1999-02-12 2003-09-16 Sony Corporation Method and apparatus for spatial class reduction
US6591398B1 (en) 1999-02-12 2003-07-08 Sony Corporation Multiple processing system
US6170074B1 (en) 1999-02-12 2001-01-02 Sony Corporation Source coding to provide for robust error recovery
US6363118B1 (en) 1999-02-12 2002-03-26 Sony Corporation Apparatus and method for the recovery of compression constants in the encoded domain
US7010737B2 (en) * 1999-02-12 2006-03-07 Sony Corporation Method and apparatus for error data recovery
US6519369B1 (en) 1999-02-12 2003-02-11 Sony Corporation Method and apparatus for filter tap expansion
US6307560B1 (en) 1999-02-12 2001-10-23 Sony Corporation Classified adaptive spatio-temporal format conversion method and apparatus
US6307979B1 (en) 1999-02-12 2001-10-23 Sony Corporation Classified adaptive error recovery method and apparatus
US6535148B1 (en) 1999-02-12 2003-03-18 Sony Corporation Method and apparatus for truncated decoding
US6418548B1 (en) 1999-02-12 2002-07-09 Sony Corporation Method and apparatus for preprocessing for peripheral erroneous data
US6389562B1 (en) 1999-06-29 2002-05-14 Sony Corporation Source code shuffling to provide for robust error recovery
US6473876B1 (en) 1999-06-29 2002-10-29 Sony Corporation Method and apparatus for encoding of bitstreams using rotation
US6493842B1 (en) 1999-06-29 2002-12-10 Sony Corporation Time-varying randomization for data synchronization and implicit information transmission
US6549672B1 (en) 1999-06-29 2003-04-15 Sony Corporation Method and apparatus for recovery of encoded data using central value
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 (en) * 1999-12-28 2002-05-27 松下電器産業株式会社 CDMA receiver and error correction method
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 (en) * 2001-02-22 2002-08-30 Hitachi Ltd Information processor
GB2377142A (en) * 2001-06-29 2002-12-31 Motorola Inc Encoder for generating an error checkword
WO2003041991A1 (en) * 2001-10-17 2003-05-22 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 (en) 2005-02-21 2010-12-15 株式会社リコー Image forming apparatus
US7712013B2 (en) * 2005-03-18 2010-05-04 Intel Corporation Block decoding methods and apparatus
KR100734307B1 (en) * 2006-01-23 2007-07-02 삼성전자주식회사 Post-viterbi error correction method and apparatus for the same
JP5251000B2 (en) * 2006-11-01 2013-07-31 富士通株式会社 Error correction circuit and medium storage device
EP1973256A1 (en) 2007-03-22 2008-09-24 Nxp B.V. Error detection
CN102299778B (en) * 2007-08-21 2014-02-19 华为技术有限公司 Feedback method and method and device for distinguishing feedback information
US8000411B2 (en) * 2008-01-04 2011-08-16 Qualcomm Incorporated Decoding scheme using multiple hypotheses about transmitted messages
JP4922242B2 (en) * 2008-06-05 2012-04-25 パナソニック株式会社 Encoding device, encoding method, and Viterbi decoding device
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 (en) * 2019-01-25 2019-11-14 Федеральное государственное казенное военное образовательное учреждение высшего образования Академия Федеральной службы охраны Российской Федерации Method for decoding block noise-immune codes based on the criterion of minimum average risk
CN116722954B (en) * 2023-08-08 2023-10-20 珠海星云智联科技有限公司 Encoding and decoding verification system, method, equipment and storage medium

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 (en) * 1986-07-26 1988-02-12 Nec Corp Signal detection system
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 (en) * 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 (en) * 1992-01-21 1993-08-06 Nec Corp Voice communication system
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
AU3676295A (en) 1996-03-29
FI962030A0 (en) 1996-05-13
JP3652701B2 (en) 2005-05-25
CN1083189C (en) 2002-04-17
WO1996008895A1 (en) 1996-03-21
DE69532949D1 (en) 2004-06-03
EP0728390A1 (en) 1996-08-28
DE69532949T2 (en) 2005-05-25
ATE265770T1 (en) 2004-05-15
EP0728390B1 (en) 2004-04-28
CN1138396A (en) 1996-12-18
US5577053A (en) 1996-11-19
JPH09509808A (en) 1997-09-30
FI962030A (en) 1996-07-11

Similar Documents

Publication Publication Date Title
FI114515B (en) Method and apparatus for optimizing a decoder
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 (en) Convolutional decoding with the ending state decided by crc bits placed inside multiple coding bursts
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 (en) Code error correcting device
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 (en) Viterbi decoding method and error correcting and decoding device
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 (en) Method for decoding data signals using fixed-length decision window

Legal Events

Date Code Title Description
FG Patent granted

Ref document number: 114515

Country of ref document: FI

MA Patent expired