FI101759B - Changed Viterbide coding method - Google Patents
Changed Viterbide coding method Download PDFInfo
- Publication number
- FI101759B FI101759B FI964477A FI964477A FI101759B FI 101759 B FI101759 B FI 101759B FI 964477 A FI964477 A FI 964477A FI 964477 A FI964477 A FI 964477A FI 101759 B FI101759 B FI 101759B
- Authority
- FI
- Finland
- Prior art keywords
- decoding
- path
- decoded
- bit
- metric
- Prior art date
Links
Landscapes
- Error Detection And Correction (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
101759101759
Muunnettu viterbidekoodausmenetelmä - Förändrad viterbidekoderingsmetodModified viterbide decoding method - Förändrad viterbidekoderingsmetod
Keksintö koskee menetelmää konvoluutiokoodatun digitaalisen bittisekvenssin de-5 koodaamiseksi.The invention relates to a method for decoding a convolutionally encoded digital bit sequence.
Konvoluutiokoodaus ja sen käänteisoperaationa käytettävä viterbidekoodaus ovat yleisesti tunnettuja menetelmiä, joilla pyritään parantamaan digitaalisen tiedonsiirron luotettavuutta. Lähetyslaitteessa on konvoluutiokoodauksen tekevä lohko eli 10 konvoluutiokooderi, joka saa käsiteltäväkseen tietyn bittisekvenssin. Koodauksessa kyseinen lohko tuottaa uuden bittisekvenssin, jonka muoto riippuu sekä alkuperäisestä bittisekvenssistä että kooderin rakenteesta ja jossa tietyn alkuperäisen bitin vaikutus jakaantuu useamman peräkkäisen bitin tai bittikombinaation alueelle. Vas-taanottimessa tehtävä viterbidekoodaus kuuluu ns. suurimman todennäköisyyden 15 menetelmiin (engl. maximum likelyhood methods) ja siinä vastaanottimen dekooderi pyrkii muuttamaan konvoluutiokoodatun bittisekvenssin takaisin alkuperäiseksi sekvenssiksi. Lähettävän ja vastaanottavan laitteen välillä on voinut tapahtua siirtovirheitä, joten viterbidekooderi valitsee dekoodatuksi tiedoksi sen bitin tai bittisekvenssin, joka suurimmalla todennäköisyydellä vastaa sen saamaa koodatun sekvenssin 20 osaa. Keksinnön taustan selvittämiseksi seuraavassa selostetaan erästä yksinkertaista esimerkkitapausta, jossa konvoluutiokoodauksen ns. sidepituus (engl. constraint length) on kolme.Convolutional coding and its viterbide decoding used as its inverse operation are well-known methods for improving the reliability of digital data transmission. The transmitting device has a convolutional coding block, i.e. a 10 convolutional encoder, which receives a certain bit sequence for processing. In encoding, that block produces a new bit sequence, the shape of which depends on both the original bit sequence and the structure of the encoder, and in which the effect of a particular original bit is distributed over several consecutive bits or bit combinations. The viterbide decoding performed in the receiver belongs to the so-called maximum likelihood methods and in which the receiver decoder tends to convert the convolutionally encoded bit sequence back to the original sequence. Transmission errors may have occurred between the transmitting and receiving devices, so the viterbi decoder selects the bit or bit sequence that most likely corresponds to the portion of the encoded sequence it receives as decoded information. In order to find out the background of the invention, a simple example case is described below, in which the so-called convolutional coding. the constraint length is three.
Kuvassa 1 on esitetty konvoluutiokooderi, joka saa syöttötietona kerrallaan yhden 25 bitin ja muodostaa siitä ja sisältämiensä rekisterien sisällöstä kahden bitin pituisen lähtötietokombinaation. Rekisterit 12 ja 14 edustavat kumpikin yhden bitin pituista viivettäjayhdistinportit 16 ja 18 ovat poissulkeva-TAI-tyyppisiä (engl. XOR, exclusive OR). Alussa kummankin rekisterin 12 ja 14 sisältö on nolla. Esimerkiksi bittisekvenssin 011011 koodaaminen kuvan 1 mukaisella kooderilla antaa tulokseksi 3 0 bittiparit (00), (11), (10), (11), (01) ja (10), mikä voidaan tulkita lähtötietosekvens- .· siksi (engl. output sequence) eli -vektoriksi 001110110110. Monissa sovelluksissa lähtötietosekvenssi punkturoidaan eli siitä poistetaan tunnetun kuvion eli punktu-rointivektorin mukaiset bitit. Jos esimerkin lähtötietosekvenssi punkturoidaan vektorilla 111111101010, lopulliseksi lähtötietosekvenssiksi muodostuu bittijono 35 001110101. Punkturointivektoria käytetään siten, että alkuperäisestä (punkturoimat- tomasta) bittisekvenssistä poistetaan ne bitit, joiden kohdalla punkturointivektorissa on nolla.Figure 1 shows a convolutional encoder which receives one bit at a time as input data and forms a two-bit output data combination from it and the contents of the registers it contains. Registers 12 and 14 each represent one-bit delay combiner ports 16 and 18 of the exclusive OR type (XOR). Initially, the contents of both registers 12 and 14 are zero. For example, encoding the bit sequence 011011 with the encoder of Figure 1 results in 30 0 bit pairs (00), (11), (10), (11), (01) and (10), which can be interpreted as an output sequence. ) or vector 001110110110. In many applications, the output data sequence is punctured, i.e. the bits according to the known pattern, i.e. the puncturing vector, are removed from it. If the output data sequence of the example is punctured with the vector 111111101010, the final output data sequence is a bit string 35 001110101. The puncturing vector is used by removing from the original (unpunctured) bit sequence the bits for which the puncturing vector has zero.
101759 2101759 2
Vastaanotin, joka vastaanottaa ja ilmaisee siirtotien yli välitettyä signaalia, voi soveltaa joko ehdotonta tai liukuvaa ilmaisua. Ehdoton ilmaisu (engl. hard decision detection) tarkoittaa, että vastaanottimen ilmaisinosa tulkitsee jokaisen vastaanotetun bitin joko ykköseksi tai nollaksi. Liukuvassa ilmaisussa (engl. soft decision de-5 tection) vastaanottimen ilmaisinosa tuottaa kutakin vastaanotettua bittiä kohti näytteen, jossa on useita bittejä ja joka vastaa sitä todennäköisyyttä, millä vastaanotettu bitti on nolla tai ykkönen. Jos näytteessä on esimerkiksi neljä bittiä, sillä voidaan ilmaista 16 eri todennäköisyysarvoa, jotka yleensä kuvataan tietyksi kymmenjärjes-telmän kokonaislukualueeksi, joka voi olla esimerkiksi [-8, 7]. Nelibittisen näytteen 10 arvojen kuvaamiseksi mainitulle alueelle voidaan käyttää esimerkiksi kahden komplementti -menetelmää, jolloin näytteen arvo "0000" vastaa kymmenjäijestelmän lukua 0, näytteen arvo "0111" vastaa kymmenjäijestelmän lukua 7 ja näytteen arvo "1000" vastaa kymmenjäijestelmän lukua -8. Lyhyyden vuoksi seuraavassa käytetään mainittuja kymmenjäijestelmän lukuarvoja eikä näytteiden nelibittisiä arvoja.A receiver that receives and indicates a signal transmitted over a transmission path may apply either absolute or sliding detection. Hard decision detection means that the detector part of the receiver interprets each received bit as either one or zero. In soft decision de-5 tection, the receiver detector portion produces, for each received bit, a sample having a plurality of bits corresponding to the probability that the received bit is zero or one. For example, if a sample has four bits, it can express 16 different probability values, which are usually described as a certain integer range of the decimal system, which can be, for example, [-8, 7]. For example, the two-complement method can be used to describe the values of a four-bit sample 10 for said range, with the sample value "0000" corresponding to the decimal system number 0, the sample value "0111" corresponding to the decimal system number 7 and the sample value "1000" corresponding to the decimal system number -8. For the sake of brevity, the following decimal numerical values are used instead of the four-bit values of the samples.
1515
Erään yleisen toteutusmuodon mukaan näytteen arvo 7 vastaa tilannetta, jossa vastaanotettu bitti on ilmaisimen mielestä hyvin suurella todennäköisyydellä ykkönen. Vastaavasti näytteen arvo -8 vastaa tilannetta, jossa vastaanotettu bitti on ilmaisimen mielestä hyvin suurella todennäköisyydellä nolla. Arvot -1 ja 0, jotka sijoittuvat 20 näytevälin keskikohdalle, tarkoittavat, ettei ilmaisin osaa tulkita vastaanotettua bittiä sen paremmin ykköseksi kuin nollaksikaan kovin suurella varmuudella. Viterbide-kooderin tehtävä on rekonstruoida alkuperäinen bittisekvenssi siten, että se on mahdollisimman suurella todennäköisyydellä oikein. Dekooderin toiminta eroaa jonkin verran sen mukaan, saako se ilmaisimelta tuloporttiinsa bittejä (ehdoton ilmaisu) vai 25 näytteitä (liukuva ilmaisu).According to a general embodiment, the value of the sample 7 corresponds to a situation in which the received bit is, in the opinion of the detector, with a very high probability one. Correspondingly, the sample value of -8 corresponds to a situation where the received bit is, in the opinion of the detector, very likely to be zero. Values of -1 and 0, which are located in the middle of the 20 sample intervals, mean that the detector cannot interpret the received bit as either better than zero with very high certainty. The task of the Viterbide encoder is to reconstruct the original bit sequence so that it is correct with the highest possible probability. The operation of the decoder differs somewhat depending on whether it receives bits (absolute detection) or 25 samples (sliding detection) from the detector at its input port.
Viterbidekooderi hyödyntää toiminnassaan tietoa, jonka mukaan lähettimen konvo-luutiokooderissa voi tapahtua vain tiettyjä sallittuja siirtymiä eri tilojen välillä. Kuva 2a esittää ns. trelliskarttaa, jossa on kuvattu kuvan 1 mukaisen konvoluutiokooderin 30 kaikki mahdolliset tilat. Trelliskartan jokainen sarake vastaa yhtä kooderin kellojak-.: soa, jonka aikana kooderi saa yhden syöttötietobitin ja antaa tulokseksi vastaavan lähtötietokombinaation. Trelliskartan riveillä olevat kaksibittiset arvot vastaavat kooderin rekistereiden sisältöä siten, että kunkin kaksibittisen arvon vasen bitti vastaa rekisterin 12 sisältöä ja oikea bitti vastaa rekisterin 14 sisältöä. Alussa kumman-35 kin rekisterin sisältö on nolla. Seuraavassa sarakkeessa rekisterin 14 sisältö on nolla, mutta rekisterin 12 sisältö voi olla nolla tai yksi sen mukaan, minkä bitin kooderi on saanut syöttötietona. Tämän jälkeen rekistereillä on aina neljä mahdollista tilaa.In its operation, the Viterbi decoder utilizes the information that only certain allowed transitions between different states can take place in the convolutional encoder of the transmitter. Figure 2a shows the so-called a trellis map illustrating all possible states of the convolutional encoder 30 of Figure 1. Each column of the trellis map corresponds to one encoder clock cycle: during which the encoder receives one input data bit and results in a corresponding output data combination. The two-bit values in the lines of the trellis map correspond to the contents of the encoder registers, so that the left bit of each two-bit value corresponds to the contents of register 12 and the right bit corresponds to the contents of register 14. At the beginning, the contents of each of the 35 registers are zero. In the next column, the contents of register 14 are zero, but the contents of register 12 may be zero or one, depending on which bit the encoder has received as input. After this, the registers always have four possible states.
101759 3101759 3
Tiettyä konvoluutiokoodattavaa bittisekvenssiä vastaa trelliskartalla yksikäsitteinen polku, joka alkaa vasemmanpuoleisesta sarakkeesta ja kulkee vasemmalta oikealle käyden kussakin sarakkeessa tasan yhden tilan kautta. Kuva 2b esittää edellä mainitun bittisekvenssin 011011 tuottamaa polkua. Viterbidekoodaus on prosessina ns.On a trellis map, a particular bit sequence to be convolutionally encoded corresponds to an unambiguous path that starts from the left column and passes from left to right, going through exactly one state in each column. Figure 2b shows the path produced by the above-mentioned bit sequence 011011. Viterbi decoding is a process called
5 trellishaku, jossa dekooderi yrittää löytää oikean polun ja seurata sitä koko trellis-kartan läpi. Etsimistä helpottaa tieto siitä, että tietystä kooderin rekisterien tilasta on vain rajallinen määrä mahdollisia siirtymiä seuraavaan tilaan. Kooderi saa edellä esitetyssä suoritusmuodossa syöttötietona vain yhden bitin kerrallaan, ja koska yhdellä bitillä voi olla vain kaksi mahdollista arvoa, se voi aiheuttaa kustakin tilasta 10 kaksi mahdollista siirtymää. Kuva 3 esittää mahdollisia siirtymiä tilojen välillä koo-derissa, joka on kuvan 1 mukainen. Jos rekisterien sisällöt ovat esimerkiksi "01", missä rekisterin 12 sisältö on nolla ja rekisterin 14 sisältö on 1, seuraava tila voi olla vain "10" tai "00". Kustakin tilasta lähtee tasan kaksi mahdollista siirtymää esittävää nuolta, jolloin symmetrian mukaisesti kuhunkin uuteen tilaan saapuu tasan kaksi 15 nuolta.5 trellis search, where the decoder tries to find the right path and follow it through the entire trellis map. The search is facilitated by the knowledge that there is only a limited number of possible transitions from one particular encoder register state to the next. In the above embodiment, the encoder receives only one bit at a time as input data, and since one bit can have only two possible values, it can cause two possible transitions from each state 10. Figure 3 shows possible transitions between states in the encoder according to Figure 1. For example, if the contents of the registers are "01", where the contents of the register 12 are zero and the contents of the register 14 are 1, the next state can only be "10" or "00". Exactly two arrows representing possible transitions leave each state, whereby, according to symmetry, exactly two arrows arrive at each new state.
Kuva 4a esittää edelleen saman esimerkkisekvenssin tuottamaa polkua trelliskartal-la. Kuvaan on lisätty konvoluutiokooderin tuottama lähtötietokombinaatio kunkin siirtymän aikana. Esimerkkisekvenssin ensimmäinen bitti on nolla, jolloin konvoluu-20 tiokooderi siirtyy tilasta "00" (vasemmanpuoleisin sarake) tilaan "00" (toiseksi vasemmanpuoleisin sarake) ja sen tuottama lähtötietokombinaatio on "00". Toinen bitti on ykkönen, jolloin konvoluutiokooderi siirtyy tilasta "00" (toiseksi vasemmanpuoleisin sarake) tilaan "10" (kolmanneksi vasemmanpuoleisin sarake) ja sen tuottama lähtötietokombinaatio on "11". Samanlaiset merkinnät jatkuvat polun loppuun 25 saakka. Kuvassa 4b oikean polun rinnalle on piirretty katkoviivanuolilla toinen, mielivaltainen polku, jolla ei ole mitään tekemistä alkuperäisen bittisekvenssin kanssa mutta jossa kaikki siirtymät ovat kuvan 3 mukaisia sallittuja siirtymiä. Myös mielivaltaisen polun siirtymiä kuvaaville nuolille on merkitty vastaavat lähtötietokombi-naatiot.Figure 4a further shows the path produced by the same example sequence on the trellis map. The combination of output data produced by the convolutional encoder during each transition is added to the figure. The first bit of the example sequence is zero, whereby the convolution-20 thiocoder transitions from the state "00" (leftmost column) to the state "00" (second leftmost column) and the output data combination it produces is "00". The second bit is one, in which case the convolutional encoder switches from the state "00" (second leftmost column) to the state "10" (third leftmost column) and the output data combination produced by it is "11". Similar markings continue until the end of the path 25. In Figure 4b, alongside the right path, a second, arbitrary path is drawn with dashed arrows, which has nothing to do with the original bit sequence but in which all transitions are allowed transitions according to Figure 3. Corresponding source data combinations are also indicated by arrows describing arbitrary path transitions.
30 ·: Kuva 4c vastaa kuvaa 4b siten, että siirtymiä vastaavat lähtötietokombinaatiot on korvattu tietyllä metriikalla eli mittaluvulla, joka ilmaisee, kuinka monta oikeaa bittiä lähtötietokombinaatiossa on alkuperäiseen verrattuna. Oikealla polulla kunkin siirtymän metriikka on luonnollisesti 2, koska kaikki bitit ovat oikein. Mielivaltaisel-35 la polulla tietyn siirtymän mittaluku voi olla 0, 1 tai 2 sen mukaan, onko lähtötieto-kombinaatio täysin väärin, puoliksi oiken vai kokonaan oikein. Mielivaltaisellakin polulla tietty siirtymä voi saada satunnaisesti metriikakseen 2. Dekoodauksessa tarkastellaan erityisesti tietyn polun yhteenlaskettua metriikkaa, jolloin kuvan 4c tilan- 101759 4 teessä oikean polun yhteenlaskettu metriikka on 12 ja väärän polun yhteenlaskettu metriikka on 5. Mikään polku ei voi saada suurempaa metriikkasummaa kuin oikea polku. Jos konvoluutiokooderin rakenne on valittu sopivasti, jokaisen väärän polun metriikkasumma on pienempi kuin oikean polun. Näin ollen oikean polun haku on 5 sama asia kuin sen polun haku, joka antaa suurimman metriikkasumman.30 ·: Figure 4c corresponds to Figure 4b in that the output data combinations corresponding to the transitions have been replaced by a certain metric, i.e. a measure, which indicates how many correct bits there are in the output data combination compared to the original. On the right path, the metric for each transition is, of course, 2 because all the bits are correct. On an arbitrary 35a path, the measure of a given offset may be 0, 1, or 2, depending on whether the output data combination is completely incorrect, half-correct, or completely correct. Even with an arbitrary path, a given offset can randomly become a metric 2. In decoding, the aggregate metric of a particular path is considered, in which case, in the situation of Figure 4c, the total metric of the correct path is 12 and the total metric of the wrong path is 5. No path can get a larger metric than the real path. . If the structure of the convolutional encoder is chosen appropriately, the metric sum of each wrong path is smaller than that of the correct path. Thus, the search for the correct path is 5 the same thing as the search for the path that gives the largest metric sum.
Vastaanottimessa metriikan laskeminen yksittäiselle siirtymälle riippuu siitä, onko ilmaisuna ehdoton vai liukuva ilmaisu. Ehdottomassa ilmaisussa vastaanotin vertaa edellä kuvatulla tavalla siirtymää vastaavaa bittiparia vastaanotettuun bittipariin. On 10 huomattava, että tässä yhteydessä "bittipari" on esimerkinomainen käsite ja tarkas telu voidaan helposti yleistää tapauksiin, joissa konvoluutiokooderi tuottaa yksittäisiä bittejä, bittikolmikkoja, -nelikkoja jne. Liukuvan ilmaisun tapauksessa vastaanotin laskee metriikan sen perusteella, kuinka todennäköisesti näyte vastaa oikeaa bittiparia. Edellä mainitussa tapauksessa, jossa näytteet kuvataan välille [-8,7] ja 15 jossa -8 vastaa varmaa nollaa ja 7 varmaa ykköstä, näytepari voi olla esimerkiksi -4,2 ja siirtymää vastaava bittipari "01". Metriikan laskukaavan tulee olla sellainen, että se antaa suurimman metriikan näyteparille -8,7 ja pienimmän näyteparille 7,-8. Eräs tällainen laskukaava on laskea kumpikin näyte erikseen yhteen varmaa oikeaa bittiä vastaavan kuvausarvon kanssa, ottaa tuloksesta itseisarvo ja laskea näyteparin 20 tuottamat kaksi itseisarvoa yhteen. Tässä tapauksessa näyteparin -4,2 metriikka on | (-8)+(-4) | +1 (7)+(2) I —21. Jos jossakin siirtymässä bittiparin toinen bitti on punktu-roitu, vastaanotin laskee metriikan vain jäljellä olevan bitin osalta, mikä menettely on yhteistä sekä ehdottoman että liukuvan ilmaisun tapauksille.At the receiver, calculating a metric for an individual transition depends on whether the expression is an absolute or a sliding expression. In absolute detection, the receiver compares the bit pair corresponding to the offset with the received bit pair as described above. It should be noted that in this context "bit pair" is an exemplary concept and consideration can easily be generalized to cases where a convolutional encoder produces single bits, bit triples, quads, etc. In the case of sliding detection, the receiver calculates a metric based on how likely the sample matches the correct bit pair. In the above case, where the samples are described between [-8.7] and 15 where -8 corresponds to a certain zero and 7 to a certain one, the sample pair may be, for example, -4.2 and the bit pair "01" corresponding to the offset. The calculation formula for the metric should be such that it gives the largest metric for the sample pair -8.7 and the smallest for the sample pair 7, -8. One such calculation formula is to add each sample separately to the description value corresponding to the certain correct bit, take an absolute value from the result, and add up the two absolute values produced by the sample pair 20. In this case, the metric of the sample pair -4.2 is | (-8) + (- 4) +1 (7) + (2) I -21. If the second bit of a bit pair is punctured in one of the transitions, the receiver calculates the metric only for the remaining bit, a procedure common to both absolute and sliding detection cases.
25 Koska metriikan laskenta perustuu vastaanotettiin ja ilmaistuun bittipariin, jotkut siirtymät voivat bittivirheiden vuoksi saada virheellisen metriikan. Jos esimerkin tapauksessa pukturoimaton, ehdottomalla ilmaisulla tuotettu bittisekvenssi on 111110111110 sisältäen kolme bittivirhettä, oikean polun metriikka on kuvan 4d mukainen. Virheetön bittisekvenssi oli siis 001110110110. Kuvasta 4d nähdään, että 30 yhteenlaskettu metriikka oikealla polulla on 9, joten vastaanotin ei voi olla varma, • että kyseessä on oikea polku. Jokin toinen, suuremman metriikan antava polku saat taa haarautua kuvan mukaisesta polusta niiden siirtymien kohdalla, joihin liittyvä metriikan arvo on pienempi kuin 2. Kuvassa 4e mahdollisiin haarautumiskohtiin on piirretty katkoviivanuolella toinen mahdollinen siirtymä ja siihen liittyvä metriikka. 35 On huomattava, että yhdestä tilasta lähtee aina vain kaksi mahdollista siirtymää, joten haarautumiskohdissa on vain yksi muu vaihtoehto oikean polun lisäksi. Kuvan 4e mukaisesti ensimmäinen oikealta polulta poikkeava siirtymä antaa metriikan ar- 101759 5 voksi 2 kun oikea polku antaa 0. Toisessa haarautumiskohdassa molemmat siirtymät (sekä oikea että väärä) antavat metriikan arvoksi 1.25 Because the metric calculation is based on the received and expressed bit pair, some offsets may obtain an incorrect metric due to bit errors. In the case of the example, if the unstructured bit sequence produced by the absolute expression is 111110111110 including three bit errors, the metric of the correct path is as shown in Fig. 4d. The error-free bit sequence was thus 001110110110. It can be seen from Figure 4d that the total of 30 metrics on the right path is 9, so the receiver cannot be sure that • this is the correct path. Another path with a larger metric may branch off from the path shown in the figure for transitions for which the associated metric value is less than 2. In Figure 4e, another possible transition and associated metrics are drawn with dashed arrows at possible branch points. 35 It should be noted that there are always only two possible transitions from one state, so there is only one other option at the junctions in addition to the correct path. As shown in Figure 4e, the first offset from the right path gives the metric 101759 5 as value 2 when the right path gives 0. At the second branch point, both offsets (both right and wrong) give the metric 1.
Kuvassa 4f ensimmäisessä haarautumiskohdassa ylöspäin haarautuvaa polkua on 5 jatkettu sallittujen siirtymien mukaisesti siten, että se yhtyy oikeaan polkuun neljännessä sarakkeessa vasemmalta lukien. Väärä polku ei voi yhtyä oikeaan polkuun ennen kuin väärän siirtymän aiheuttanut bitti on kulkenut konvoluutiokooderin siirto-rekisterin eli kuvassa 1 peräkkäisten rekisterien 12 ja 14 läpi. Siirtorekisterin pituus on sama kuin konvoluutiokooderin sidepituus (constraint length). Mitä pitempi siir-10 torekisteri konvoluutiokooderissa on, sitä pitemmän matkan väärän polun on kuljettava erillisenä ennen kuin se voi yhtyä oikeaan polkuun. Vaikka haarautumiskohdassa väärän siirtymän metriikka olisi suurempi kuin oikean, väärä polku yleensä menettää erillisenä kulkiessaan metriikkasummastaan enemmän kuin se haarautumiskohdassa voittaa (edellyttäen, että bittivirheitä ei ole monta peräkkäin). Esimerkki-15 tapauksessa väärän polun yhteenlaskettu metriikka on 9 eli sama kuin oikean polun. Jos siirtorekisteri on pitkä, suurimman metriikkasumman antava polku on mitä todennäköisimmin oikea polku.In Fig. 4f, at the first branch point, the upward branching path is extended according to the allowed transitions so that it joins the right path in the fourth column from the left. The wrong path cannot coincide with the correct path until the bit that caused the wrong offset has passed through the convolutional encoder shift register, i.e., successive registers 12 and 14 in Figure 1. The length of the shift register is the same as the constraint length of the convolutional encoder. The longer the shift-10 tor register in the convolutional encoder, the longer the distance the wrong path must travel separately before it can join the correct path. Even if the metric of the wrong offset at the branch point is larger than the metric of the correct one, the wrong path usually loses more of its metric sum when it travels separately than it wins at the bifurcation point (provided there are not many consecutive bit errors). In the case of Example-15, the total metric of the wrong path is 9, i.e. the same as the correct path. If the shift register is long, the path that gives the largest metric sum is most likely the correct path.
Teoriassa vastaanotin voi hakea maksimipolun tutkimalla trelliskartan kaikki mah-20 dolliset polut ja laskemalla niiden metriikkasummat. Erilaisten polkujen lukumäärä kasvaa kuitenkin nopeasti trelliskartan tilojen ja sarakkeiden määrän funktiona, joten kaikkien mahdollisten polkujen tutkiminen vaatisi kohtuuttomasti laskentakapasiteettia. Kuvassa 5a on esitetty kaavamaisesti erääseen trelliskartan tilasarakkeeseen päättyvät osittaispolut (yhtenäiset nuolet) ja eteenpäin jatkuvat haarautumismahdol-• 25 lisuudet (katkoviivanuolet). Yhtenäisiin viivoihin liittyvä metriikka ei ole yksittäisen siirtymän metriikka vaan koko osittaispolun yhteenlaskettu metriikka trelliskartan alusta esitettyyn tilaan asti. Maksimipolkua etsittäessä kuhunkin tilaan saapuvista kahdesta osittaispolusta voidaan karsia pois se, jolla on pienempi yhteenlaskettu metriikka. Jos yhteen tilaan tulee kaksi samanarvoista osittaispolkua, toinen polku 30 voidaan karsia mielivaltaisesti pois, jolloin oikean arvauksen todennäköisyys on •: 50%. Kuva 5b esittää samaa tilasaraketta, jossa karsimisen jälkeen kuhunkin tilaan tulee vain yksi nuoli. Samaten kustakin tilasta lähtee vain yksi nuoli, koska samanlainen karsinta on tehty myös seuraavassa tilasarakkeessa, jota ei ole esitetty kuvassa.In theory, the receiver can search for the maximum path by examining all possible paths of the trellis map and calculating their metric sums. However, the number of different paths increases rapidly as a function of the number of states and columns in the trellis map, so exploring all possible paths would require an unreasonable computational capacity. Figure 5a schematically shows the partial paths (solid arrows) ending in a status column of a trellis map and the branching possibilities continuing • (dashed arrows). The metric associated with solid lines is not the metric of a single transition but the aggregate metric of the entire partial path from the beginning of the trellis map to the state shown. When searching for the maximum path, the one with the smaller total metric can be pruned out of the two partial paths entering each state. If two equal paths of equal value enter one state, the other path 30 can be pruned off arbitrarily, whereby the probability of a correct guess is •: 50%. Figure 5b shows the same state column, in which only one arrow appears in each state after pruning. Similarly, only one arrow leaves each state, because a similar qualifier has also been made in the next status column, which is not shown in the figure.
35 Tähän mennessä esitetty tekniikan tason mukainen viterbidekoodausalgoritmi voidaan esittää seuraavien neljän askeleen mukaisena yhteenvetona: 101759 6 1. Laske jokaiselle trelliskartan nykyisen sarakkeen tilalle (4 kpl) seuraavia siirtymiä vastaavat metriikat (kaksi mahdollista siirtymää kustakin tilasta).35 The prior art viterbide decoding algorithm presented so far can be summarized according to the following four steps: 101759 6 1. For each state of the current column of the trellis map (4), compute the metrics corresponding to the following transitions (two possible transitions from each state).
2. Summaa siirtymien metriikat kussakin tilassa nykyiseen sarakkeeseen päät- 5 tyvän osittaispolun metriikkasumman kanssa. Tuloksena saadaan nykyistä seu- raavaan trellis-sarakkeeseen päättyvien osittaispolkujen (tässä vaiheessa 8 kpl) metnikkasummat.2. Sum the transition metrics in each state with the sum of the partial path metrics ending in the current column. The result is the metric sums of the partial paths (8 at this stage) ending in the next trellis column.
3. Karsi seuraavan sarakkeen tiloihin päättyvistä polkupareista pois ne, joiden 10 metriikkasumma on pienempi.3. From the bicycles ending in the spaces in the next column, prune those with a less than 10 metrics.
4. Tallenna jäljelle jääneiden polkujen metriikkasumma muistiin yhdessä sen tiedon kanssa, mistä edellisen sarakkeen tilasta tallennettu polku on tullut. Tämä tieto tarvitaan, jotta lopuksi voidaan jäljittää maksimipolku taaksepäin 15 trelliskartan alkuun saakka.4. Save the metric sum of the remaining paths to the memory along with the information from which state the saved path came from in the previous column. This information is needed to finally trace the maximum path back to the beginning of the 15 trellis map.
Tämä algoritmi vaatii kuitenkin muistitilan, joka on yhtä suuri kuin trelliskartan pituus kerrottuna sen yhdessä sarakkeessa olevien tilojen lukumäärällä. Algoritmiin tunnetaan eräs parannus, jota selostetaan seuraavaksi.However, this algorithm requires a memory space equal to the length of the trellis map multiplied by the number of states in one of its columns. An improvement to the algorithm is known, which will be described next.
2020
Kuvassa 6a on esitetty muutamia mahdollisia polkuja tietyssä trelliskartassa. Polku, joka alkaa kohdasta B ja päättyy kohtaan C on oikea polku. Polku AF on rinnakkainen polku. Kolmen oikeanpuoleisimman sarakkeen välillä on lisäksi muutamia oikean polun haarautumia. Koska yhteenlaskettu metriikka kasvaa oikealla polulla 25 huomattavasti nopeammin kuin muilla poluilla, oikean polun yhteenlaskettu metriikka pisteessä D on todennäköisesti huomattavasti suurempi kuin rinnakkaisen polun yhteenlaskettu metriikka pisteessä E. Osapolut DF ja EF ovat molemmat poissa oikealta polulta, joten niiden yhteenlasketut metriikat ovat todennäköisesti samaa suuruusluokkaa. Jos kuitenkin välin BD yhteenlaskettu metriikka on riittävän paljon 30 suurempi kuin välin AE yhteenlaskettu metriikka, voidaan melko turvallisesti olettaa, että tehtäessä karsintaa pisteessä F polku AF karsiutuu ja polku BDF jää jäljelle. Koska polkujen BD ja AE yhteenlaskettujen metriikkojen ero on todennäköisesti sitä suurempi, mitä enemmän tilasarakkeita tällä välillä on, voidaan päätellä, että ennemmin tain myöhemmin A:sta alkanut polku, joka on kulkenut pitkän matkan si-35 vussa oikealta polulta, karsiutuu pois. Kuva 6b esittää tilannetta karsinnan jälkeen. Muistitilaa tarvitaan siis vain nykyisen tilasarakkeen ja joidenkin aikaisempien tila-sarakkeiden verran. Tätä edeltävässä trelliskartan osassa on vain yksi polku, joka voidaan antaa viterbidekooderista ulos.Figure 6a shows a few possible paths on a particular trellis map. The path that starts at point B and ends at point C is the correct path. Path AF is a parallel path. In addition, there are a few branches of the right path between the three rightmost columns. Because the total metric grows much faster on the right path 25 than on the other paths, the total metric of the right path at point D is likely to be significantly larger than the total metric of the parallel path at point E. The subpaths DF and EF are both off the right path, so their combined metrics are likely of the same order of magnitude. However, if the total metric of the interval BD is sufficiently 30 larger than the total metric of the interval AE, it can be quite safely assumed that when performing the pruning at point F, the path AF is pruned and the path BDF remains. Since the difference in the combined metrics of the paths BD and AE is likely to be greater the more state columns there are in this range, it can be concluded that sooner or later the path that started from A, which has traveled a long distance from the right path, will be eliminated. Figure 6b shows the situation after pruning. Thus, only the amount of memory space required for the current status column and some previous status columns is required. The preceding part of the trellis map has only one path that can be output from the viterbide decoder.
101759 7101759 7
Edellä esitetyt, tekniikan tason mukaiset viterbidekoodausalgoritmit ovat suhteellisen tehottomia tilanteessa, jossa lähetetty signaali sisältää yhtenä ryöppynä useita peräkkäisiä bittivirheitä. Trelliskartalla tarkasteltuna peräkkäiset bittivirheet aiheuttavat useita peräkkäisiä kohtia, joissa oikea polku voi haarautua, jolloin algortimin 5 on käsiteltävä suuri joukko rinnakkaisia polkuvaihtoehtoja, joiden yhteenlaskettu metriikka on samaa suuruusluokkaa.The prior art viterbide decoding algorithms described above are relatively inefficient in a situation where the transmitted signal contains multiple consecutive bit errors in a single burst. Viewed on a trellis map, successive bit errors cause several consecutive points where the correct path may branch, leaving the algorithm 5 to handle a large number of parallel path options with aggregate metrics of the same order of magnitude.
Esillä olevan keksinnön tarkoituksena on esittää konvoluutiokoodatun digitaalisen bittisekvenssin dekoodausmenetelmä, joka eliminoi purskeisesta bittivirhejakaumas-10 ta johtuvat dekoodausvirheet tehokkaasti ja muistia ja laskentakapasiteettia säästävällä tavalla. Keksinnön tavoitteena on lisäksi esittää digitaalinen vastaanotin, joka soveltaa keksinnön mukaista konvoluutiokoodatun digitaalisen bittisekvenssin de-koodausmenetelmää.It is an object of the present invention to provide a method for decoding a convolutionally encoded digital bit sequence, which effectively eliminates decoding errors due to burst bit error distribution and saves memory and computation capacity. It is a further object of the invention to provide a digital receiver which applies the convolutionally encoded digital bit sequence decoding method according to the invention.
15 Keksinnön tavoitteet saavutetaan hyödyntämällä lähetetyn informaation toistuvuutta ja jakamalla viterbidekoodaus sidepituuden mukaisiin jaksoihin, joiden välillä voidaan vaihtaa sitä lähetetyn informaation toistokertaa, josta lopullinen dekoodattu bittisekvenssi muodostetaan.The objects of the invention are achieved by utilizing the repetition of the transmitted information and dividing the viterbide decoding into periods according to the link length, between which the repetition of the transmitted information from which the final decoded bit sequence is formed can be exchanged.
20 Keksinnön mukaiselle menetelmälle on tunnusomaista, että siinä tuotetaan ainakin ensimmäinen ja toinen versio dekoodattavasta tietosekvenssistäja dekoodataan versiot oleellisesti yhtäaikaa yhden dekoodatun sekvenssin muodostamiseksi.The method according to the invention is characterized in that at least the first and second versions of the data sequencer to be decoded are produced and the versions are decoded substantially simultaneously to form one decoded sequence.
Keksintö kohdistuu myös laitteeseen konvoluutiokoodatun digitaalisen bittisekvens-25 sin dekoodaamiseksi. Keksinnön mukaiselle laitteelle on tunnusomaista, että se käsittää muistin dekoodattavan tietosekvenssin tallentamiseksi ainakin kahtena eri de-koodaamattomana versiona ja syöttämiseksi viterbidekooderiin ja viterbidekooderi käsittää välineet mainittujen versioiden käsittelemiseksi samanaikaisesti yhden dekoodatun sekvenssin muodostamiseksi.The invention also relates to an apparatus for decoding a convolutionally encoded digital bit sequence. The device according to the invention is characterized in that it comprises a memory for storing the decoded data sequence in at least two different decoded versions and input to a viterbid decoder, and the viterbid decoder comprises means for processing said versions simultaneously to form one decoded sequence.
30 ' Tekniikan tason mukaisille viterbidekoodausalgoritmeille on luonteenomaista, että dekooderi saa syöttötietonaan yhden bittivirran ja muodostaa lähtötietonaan yhden bittivirran. Keksintö eroaa tällaisesta ratkaisusta jo periaatteellisella tasolla, koska keksinnön mukaiseen dekooderiin menee syöttötietona ainakin kaksi bittivirtaa, 35 vaikka se antaa lähtötietonaan vain yhden bittivirran. Syöttötietoina olevat bittivirrat ovat informaatiosisällöltään identtisiä, mutta virhejakaumaltaan erilaisia. Esimerkiksi voidaan tarkastella tilannetta, jossa lähetin lähettää saman datatiedoston tai muun informaatiosekvenssin kahdesti. Vastaanottimeen saapuessaan nämä informaatiosek- 101759 8 venssit eli saman datatiedoston toistokerrat ovat kulkeneet saman siirtotien läpi, mutta eri aikana. Tämän vuoksi siirtotien aiheuttamien bittivirheiden paikat eivät korreloi keskenään toistokertojen välillä. Lyhyyden vuoksi seuraavassa kuvataan virhejakaumaltaan erilaisia syöttötietosekvenssejä eri värien nimityksillä, jolloin 5 sekvenssejä voidaan nimittää eri värisiksi sekvensseiksi ja koko menetelmää värilliseksi viterbidekoodausmenetelmäksi. Syöttötietosekvenssit, jotka ovat samanvärisiä, ovat sekä informaatiosisällöltään että virhejakaumaltaan identtisiä.The prior art viterbi decoding algorithms are characterized in that the decoder receives one bit stream as its input data and generates one bit stream as its output data. The invention differs from such a solution already at a fundamental level, because the decoder according to the invention receives at least two bit streams as input data, even though it provides only one bit stream as its output data. The bit streams as input data are identical in information content but different in error distribution. For example, a situation may be considered in which a transmitter transmits the same data file or other information sequence twice. Upon arrival at the receiver, these information sequences, i.e., repetitions of the same data file, have passed through the same transmission path, but at different times. Therefore, the locations of the bit errors caused by the transmission path do not correlate with each other between repetitions. For the sake of brevity, the following describes input data sequences with different error distributions with different color designations, whereby 5 sequences can be called different color sequences and the whole method as a color viterbid decoding method. Input data sequences that are the same color are identical in both information content and error distribution.
Edellä tekniikan tason selostuksessa on todettu, että virheellisen siirtymän vaikutus 10 ulottuu trelliskartassa matkalle, joka on yhtä pitkä kuin lähettimen konvoluutiokoo-derin sidepituus. Keksinnön mukainen menetelmä hyödyntää eri värien erilaista vir-hejakaumaa edullisimmin siten, että siinä eriväriset bittivirrat dekoodataan toisistaan riippumatta sidepituuden mittaisen matkan, minkä jälkeen kuhunkin trellis-sarak-keen tilaan tulevien eriväristen polkujen metriikkasummaa verrataan keskenään. Sa-15 maan tilaan tulevista erivärisistä poluista valitaan se, jolla on suurin metriikkasum-ma ja muut samaan tilaan tulevat polut karsitaan pois. Kun karsinnan jälkeen aloitetaan uusi riippumaton sidepituuden mittainen viterbidekoodaus eri väreille, käytetään tarkasteltavan sarakkeen jokaisessa tilassa kaikkia värejä. Tällöin väri, jonka perusteella lopullinen lähtötietosekvenssi muodostuu, voi vaihtua tasan sidepituuden 20 välein.In the prior art description above, it has been found that the effect of the erroneous offset 10 in the trellis map extends a distance equal to the binding length of the convolutional encoder of the transmitter. The method according to the invention utilizes a different error distribution of different colors most preferably by decoding the bit streams of different colors independently of the distance of the link length, after which the metric sum of the different colored paths entering the state of each trellis column is compared. From the paths of different colors entering the state of Sa-15, the one with the largest metric sum is selected and other paths entering the state of the same state are pruned out. When, after pruning, a new independent link length viterb decoding is started for different colors, all colors are used in each mode of the column under consideration. In this case, the color on the basis of which the final output data sequence is formed may change evenly every 20 bond lengths.
Seuraavassa selostetaan keksintöä yksityiskohtaisemmin viitaten esimerkkinä esitettyihin edullisiin suoritusmuotoihin ja oheisiin kuviin, joissa 25 kuva 1 esittää tunnettua yksinkertaista konvoluutiokooderia, kuva 2a esittää tunnettua trelliskartan periaatetta, kuva 2b esittää erästä polkua kuvan 2a trelliskartassa, kuva 3 esittää tunnetulla tavalla sallittuja tilasiirtymiä kuvan 1 konvoluutiokoo-derissa, 30 kuvat 4a - 4f esittävät eräitä polkuja ja niihin liittyviä ominaisuuksia kuvan 2a trel-« , liskartassa, kuvat 5a ja 5b esittävät tunnettua polkujen karsimista trelliskartan tilasarakkeessa, kuvat 6a ja 6b esittävät toista tunnettua polkujen karsimista trelliskartassa, kuva 7a esittää keksinnön mukaisen menetelmän kulkua trelliskartassa, 35 kuva 7b esittää tilasiirtymiin liittyviä lähtöbittejä kuvan 7a lukemisen helpottamiseksi, kuva 8a esittää erästä keksinnön sovellusesimerkkiä, 101759 9 kuva 8b esittää vertailuesimerkkiä, jossa käytetään bittisekvenssien keskiarvoisesta ja kuva 9 esittää kaavamaisesti vastaanotinlaitetta, jossa sovelletaan keksinnön mukaista dekoodausta.The invention will now be described in more detail with reference to exemplary preferred embodiments and the accompanying figures, in which Figure 1 shows a known simple convolutional encoder, Figure 2a shows a known trellis map principle, Figure 2b shows a path in the trellis map of Figure 2a, Figure 3 shows known state transitions in Figure 1 , 30 Figures 4a to 4f show some paths and related features in the lane map of Figure 2a, Figures 5a and 5b show known path pruning in the status column of the lath map, Figures 6a and 6b show another known path pruning in the lane map, Figure 7a shows the flow of the method according to the invention in the trellis map, 35 Fig. 7b shows output bits related to state transitions to facilitate reading of Fig. 7a, Fig. 8a shows an application example of the invention, 101759 9 Fig. 8b shows a comparative example using and Fig. 9 schematically shows a receiver device in which the decoding according to the invention is applied.
55
Edellä tekniikan tason selostuksen yhteydessä on viitattu kuviin 1 - 6b, joten seuraa-vassa keksinnön ja sen edullisten suoritusmuotojen selostuksessa viitataan lähinnä kuviin 7a - 9.In the above description of the prior art, reference has been made to Figures 1 to 6b, so in the following description of the invention and its preferred embodiments, reference is made mainly to Figures 7a to 9.
10 Oletetaan, että lähetin lähettää informaatiosekvenssin, joka koostuu 12:sta peräkkäisestä nollasta. Oletetaan lisäksi, että lähetin sisältää edellä tekniikan tason selostuksen yhteydessä kuvatun, kuvan 1 mukaisen konvoluutiokooderin, jolla se koodaa mainitun sekvenssin ennen sen lähettämistä. Kooderi antaa 12:n nollan muodostamasta syöttötietosekvenssistä koodatun lähtötietosekvenssin, joka on myös pelkkää 15 nollaa eli 00 00 00 00 00 00 00 00 00 00 00 00.10 Assume that the transmitter transmits an information sequence consisting of 12 consecutive zeros. It is further assumed that the transmitter includes the convolutional encoder of Figure 1 described above in connection with the prior art description, with which it encodes said sequence before transmitting it. The encoder outputs an encoded output data sequence of 12 zero input data sequences, which is also only 15 zeros, i.e. 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Oletetaan vielä, että tämä koodattu ja lähetetty sekvenssi on kulkenut siirtotien läpi 20 kahdesti ja vastaanottimen ehdotonta ilmaisua soveltava ilmaisin on tuottanut eri toistokerroilla seuraavat sekvenssit: 00 00 10 01 11 01 00 00 10 00 00 00 (vihreä sekvenssejä 25 00 00 00 10 00 00 00 10 01 11 00 00 (keltainen sekvenssi).Assume further that this encoded and transmitted sequence has passed through the transmission path 20 twice and the detector applying the absolute detection of the receiver has produced the following sequences at different iterations: 00 00 10 01 11 01 00 00 10 00 00 00 (green sequences 25 00 00 00 10 00 00 00 10 01 11 00 00 (yellow sequence).
Yksinkertaisuuden takia tässä käytetään vain kahta eriväristä sekvenssiä. Keksintö on kuitenkin helposti yleistettävissä useampien värien käsittelemiseen samanaikaisesti. Vihreän sekvenssin hamming-etäisyys (engl. hamming distance) eli niiden bit-30 tipaikkojen määrä, joissa se eroaa virheettömästä sekvenssistä, on 6 ja keltaisen sekvenssin 5. Vihreän sekvenssin alkuosassa on virhepurske, jota edellä kuvattu tekniikan tason mukainen viterbidekoodausmenetelmä ei pysty kolaamaan. Myös keltaisen sekvenssin loppuosassa on samankaltainen virhepurske.For simplicity, only two sequences of different colors are used here. However, the invention is readily generalizable for handling multiple colors simultaneously. The Hamming distance of the green sequence, i.e. the number of bit-30 drops where it differs from the error-free sequence, is 6 and the yellow sequence is 5. There is an error burst at the beginning of the green sequence which the prior art viterbide decoding method cannot collapse. The rest of the yellow sequence also has a similar error burst.
35 Tässä yhteydessä voidaan todeta, että edellä esitelty konvoluutiokooderi on valittu selostusesimerkiksi yksinkertaisuutensa takia ja sen rakenne on siinä mielessä puutteellinen, että alkuperäisen bittisekvenssin mahdollisesti sisältämä pitkä sarja ykkösiä tuottaa koodattuun sekvenssiin peräkkäisiä nollapareja aivan samalla tavalla kuin 101759 10 pitkä sarja nollia. Minkä tahansa dekooderin olisi näin ollen vaikea tehdä eroa nolla-sekvenssin ja ykkössekvenssin välillä.35 In that regard, the convolutional encoder described above has been chosen as an illustrative example for its simplicity and its structure is deficient in that the long set of ones possibly contained in the original bit sequence produces consecutive zero pairs in the coded sequence in exactly the same way as the 101759 10 long set of zeros. Thus, it would be difficult for any decoder to distinguish between a zero sequence and a first sequence.
Kuva 7a esittää trelliskarttaa, jossa on 13 saraketta ja neljä tilariviä. Selostuksen sel-5 ventämiseksi sarakkeet on numeroitu viitenumeroilla 21-33. Viterbidekoodaus ete-nee sarakkeesta 21 sarakkeeseen 33 edellä esitetyn värialgoritmin mukaisesti, eli eriväriset bittisekvenssit dekoodataan toisistaan riippumatta sidepituuden mittaisen matkan, minkä jälkeen kuhunkin trellis-sarakkeen tilaan tulevien eriväristen polkujen metriikkasummaa verrataan keskenään. Samaan tilaan tulevista erivärisistä po-10 luista valitaan se, jolla on suurin metriikkasumma ja muut samaan tilaan tulevat polut karsitaan pois. Kun karsinnan jälkeen aloitetaan uusi riippumaton sidepituuden mittainen viterbidekoodaus eri väreille, käytetään tarkasteltavan sarakkeen jokaisessa tilassa kaikkia värejä. Sarakkeet numero 21, 24, 27, 30 ja 33 ovat sidepituuden välein. Kutakin siirtymää kuvaavalle nuolelle on merkitty kyseistä siirtymää vastaa-15 va metriikan arvo siten, että Kx (x e [0,1,2]) vastaa keltaisen bittisekvenssin metriik kaa x ja Vy (ye [0,1,2]) vastaa vihreän bittisekvenssin metriikkaa y. Tietyt siirtymät ovat yhteisiä molemmille väreille, jolloin siirtymää kuvaavalle nuolelle on merkitty molempia värejä vastaavat metriikat.Figure 7a shows a trellis map with 13 columns and four status rows. To clarify the description, the columns are numbered 21-33. Viterbid decoding proceeds from column 21 to column 33 according to the color algorithm described above, i.e., the different colored bit sequences are decoded independently of the link length, after which the metric sum of the different colored paths entering each trellis column state is compared. Of the different colored po-10s entering the same state, the one with the largest metric sum is selected and the other paths entering the same state are pruned. When, after pruning, a new independent link length viterb decoding is started for different colors, all colors are used in each mode of the column under consideration. Columns number 21, 24, 27, 30, and 33 are for each link length. The arrow describing each offset is marked with the value of the metric corresponding to that offset -15 va so that Kx (xe [0,1,2]) corresponds to the metric kaa of the yellow bit sequence and Vy (ye [0,1,2]) corresponds to the metric of the green bit sequence y. Certain transitions are common to both colors, with metrics corresponding to both colors marked on the arrow describing the transition.
20 Kuvassa 7b on esitetty konvoluutiokooderin sallitut tilasiirtymät ja niihin liittyvät lähtötietobitit, jotta metriikkojen seuraaminen trelliskarttaan piirretyissä siirtymissä olisi helpompaa. Kummankin värisessä vastaanotetussa bittisekvenssissä ensimmäinen bittipari on "00", jolloin siirryttäessä sarakkeesta 21 sarakkeeseen 22 tilasiirty-män "00"-»"00" metriikka on molemmilla väreillä 2 ja tilasiirtymän "00"-»"10" 25 metriikka on molemmilla väreillä 0. Molemmissa väreissä toinenkin bittipari on "00", jolloin sarakkeesta 22 sarakkeeseen 23 tilasiirtymän "00"-»"00" metriikka on molemmilla väreillä 2 ja tilasiirtymän "00"-*" 10" metriikka on molemmilla väreillä 0. Tilasiirtymä " 10"-»"01" vastaa lähtötietobittejä "01" ja tilasiirtymä " 10"-»" 11" vastaa lähtötietobittejä "10", jolloin näitä siirtymiä vastaava metriikka on kummal-30 lakin värillä 1.Figure 7b shows the allowable state offsets of the convolutional encoder and the associated output data bits to facilitate tracking of metrics in the offsets drawn on the trellis map. In the received bit sequence of each color, the first bit pair is "00", so that when moving from column 21 to column 22, the metric of the state transition "00" to "00" is for both colors 2 and the metric for the state transition "00" to "10" is 25 for both colors. In both colors, the second bit pair is "00", whereby from column 22 to column 23 the metric of the state transition "00" - »" 00 "is in both colors 2 and the metric of the state transition" 00 "- *" 10 "is in both colors 0. The state transition" 10 "-» "01" corresponds to the output data bits "01" and the state offset "10" to "11" corresponds to the output data bits "10", with the metric corresponding to these offsets having the color 1 of either law.
Sarakkeiden 23 ja 24 välillä tapahtuu ensimmäinen karsinta. Vihreän sekvenssin kolmas bittipari on " 10" ja keltaisen sekvenssin kolmas bittipari on "00", jolloin sallittujen siirtymien metriikat ovat seuraavan taulukon mukaiset: 35 101759 11 siirtymä; vastaava lähtö- vihreä keltainen bittipari metriikka metriikka "ir->"ir ; "oo" ι__2Between columns 23 and 24 there is a first qualifier. The third bit pair of the green sequence is "10" and the third bit pair of the yellow sequence is "00", where the metrics of the allowed transitions are according to the following table: 35 101759 11 offset; corresponding output green yellow bit pair metric metric "ir ->" ir; "oo" ι__2
"11"->"01" ; ”11” 0__O"11" -> "01"; ”11” 0__O
"ΟΓ'->" 10" ; "OI"__1__1 "01"—>"00" ; "10" 2__1 "10"->"11" ; "ΙΟ" 2__1 "10"—>"01" ; "OI"__1__1"ΟΓ '->" 10 ";" OI "__ 1__1" 01 "->" 00 ";" 10 "2__1" 10 "->" 11 ";" ΙΟ "2__1" 10 "->" 01 ";" OI "__1__1
"00"->" 10" ; "11" O__O"00" -> "10"; "11" O__O
,,00"->"00" ; "00"__1__2,, 00 "->" 00 ";" 00 "__ 1__2
Kuhunkin sarakkeen 24 tilaan tulisi ennen minkäänlaisen karsinnan suorittamista kaksi vihreää ja kaksi keltaista polkua, joita voidaan kuvata peräkkäin kirjoitettujen tilojen Saijoina. Esimerkiksi tilaan "11" tulisi ennen karsintaa sekä vihreät että kel-5 täiset polut 00-10-11-11 ja 00-00-10-11. Vihreän polun 00-10-11-11 metriikkasum-ma olisi 2 ja vihreän polun 00-00-10-11 metriikkasumma olisi 4, joten vihreän värin sisäinen karsinta jättää jäljelle vain jälkimmäisen polun. Keltaisen polun 00-10-11-11 metriikkasumma olisi 3 ja keltaisen polun 00-00-10-11 metriikkasumma olisi 3, joten keltaisen värin sisäinen karsinta jättää mielivaltaisesti toisen näistä poluista 10 jäljelle. Keksinnön mukaisesti tehdään lisäksi karsinta värien kesken, jolloin tilaan "11" tulevista poluista jää jäljelle vain suurimman metriikkasumman omaava polku, joka on vihreä polku 00-00-10-11. Kuvassa 7 tämä nähdään siten, että sarakkeen 24 tilaan "11" tulee vain yksi nuoli, joka tulee sarakkeen 23 tilasta "10" ja edustaa ; vihreää väriä (V). Samankaltainen tarkasteluja karsinta voidaan tehdä sarakkeen 24 15 kaikissa tiloissa ja niiden tuloksena sarakkeeseen 24 tulevista poluista jää jäljelle vain yksi polku tilaa kohti, nimittäin vihreät polut 00-00-10-11 ja 00-00-00-10 sekä keltaiset polut 00-00-10-01 ja 00-00-00-00.Each state in column 24 would be preceded by two green and two yellow paths before any qualifying could be performed, which can be described as the Saijo of the states written in succession. For example, state "11" would include both green and yellow paths 00-10-11-11 and 00-00-10-11 before pruning. The metric sum of the green path 00-10-11-11 would be 2 and the metric sum of the green path 00-00-10-11 would be 4, so the internal pruning of the green color leaves only the latter path. The metric sum of the yellow path 00-10-11-11 would be 3 and the metric sum of the yellow path 00-00-10-11 would be 3, so the internal pruning of the yellow color arbitrarily leaves one of these paths 10 left. According to the invention, a pruning is also performed between the colors, leaving only the path with the largest metric sum, which is the green path 00-00-10-11, of the paths entering the state "11". In Figure 7, this is seen in such a way that only one arrow coming from the state "10" in column 23 enters the state "11" in column 24 and represents; green color (V). Similar contests can be made for all the spaces in column 24 15 and as a result only one path per space remains in the paths entering column 24, namely the green paths 00-00-10-11 and 00-00-00-10 and the yellow paths 00-00- 10-01 and 00-00-00-00.
Sarakkeiden 24 ja 27 välillä kunkin värin dekoodaus etenee aluksi itsenäisesti, jol-20 loin kunkin värin sisäinen karsinta jättää sarakkeissa 25 ja 26 tiettyyn tilaan tulevista samanvärisistä poluista jäljelle vain sen, jolla on suurempi metriikkasumma. On huomattava, että tiettyyn tilaan tulevan tietynvärisen polun metriikkasumma jakaantuu kahteen osaan. Ensimmäinen osa on metriikkasumma siinä edellisen värikarsin-tasarakkeen (tässä sarakkeen 24) tilassa, josta kyseinen polku saa alkunsa, riippu-25 matta siitä, minkävärisen siirtymän kautta kyseiseen tilaan on tultu. Toinen osa on vain tarkasteltavaan väriin liittyvä metriikkasumma mainitusta värikarsintasarakkeen tilasta eteenpäin. Sarakkeessa 24 tilan "11" metriikkasumma on edelläolevan selos- 101759 12 tuksen mukaisesti 4 (laskettuna vihreää polkua 00-00-10-11 pitkin) ja samankaltainen tarkastelu antaa tiloille "01", "10" ja "00" vastaavasti metriikkasummat 3, 5 ja 6.Between columns 24 and 27, the decoding of each color initially proceeds independently, whereby the internal pruning of each color in columns 25 and 26 leaves only the one with the larger metric sum of the paths of the same color coming to a certain state in columns 25 and 26. It should be noted that the metric sum of a path of a certain color entering a given state is divided into two parts. The first part is the metric sum in the state of the previous color bar even column (here column 24) where that path originates, regardless of the color transition through which that state was entered. The second part is only the sum of the metrics related to the color under consideration from the state of said color qualifying column onwards. In column 24, the metric sum of the state "11" is 4 (calculated along the green path 00-00-10-11) according to the above description 101759 12, and a similar view gives the metric sums 3, 5 for the states "01", "10" and "00", respectively. and 6.
Tarkastellaan esimerkkinä sarakkeen 25 tilaa "00". Keltaisen värin kannalta siihen 5 tulisi kaksi mahdollista siirtymää, nimittäin sarakkeen 24 tiloista "01" ja "00". Siirtymiä vastaavat konvoluutiokooderin lähtöbitit olisivat "10" ja "00". Keltaisen bitti-sekvenssin vastaava bittipari on "10", joten sarakkeen 24 tilasta "01" tulevan siirtymän metriikka on 2 ja tilasta "00" tulevan siirtymän metriikka on 1. Suora vertailu näiden välillä jättäisi jäljelle ensimmäisen siirtymän. Koska kuitenkin sarakkeessa 10 24 tilan "01" metriikkasumma, joka ei riipu väristä, on 3 ja tilan "00" vastaava met- riikkasumma on 6, keltaisen värin sisäinen karsinta vertaakin siirtymän "01 "—>"00" metriikkasw/wmcrar, joka on 5, siirtymän "00"->"00" meUiikkasummaan, joka on 7, ja valitsee jälkimmäisen siirtymän. Samanlainen tarkastelu voidaan tehdä kummankin värin osalta kaikissa sarakkeiden 25 ja 26 tiloissa. Sarakkeen 27 käsittelyssä tehdään 15 myös ensin värien sisäinen karsinta, mutta sen lisäksi tehdään karsinta värien välillä samaan tapaan kuin sarakkeessa 24.Consider the state "00" in column 25 as an example. In terms of yellow, it would have two possible transitions, namely from the states "01" and "00" in column 24. The output bits of the convolutional encoder corresponding to the transitions would be "10" and "00". The corresponding bit pair in the yellow bit sequence is "10", so the metric for the transition from state "01" in column 24 is 2 and the metric for the transition from state "00" is 1. A direct comparison between these would leave the first transition. However, since in column 10 24 the metric sum of the state "01" which does not depend on color is 3 and the corresponding metric sum of the state "00" is 6, the internal pruning of the yellow color compares the metric ww / wmcrar of the transition "01" -> "00" 5, the transition "00" -> "00" to a sum of 7, and selects the latter transition. A similar examination can be made for both colors in all the spaces in columns 25 and 26. In the processing of column 27, 15 internal pruning of colors is also performed first, but in addition, pruning between colors is performed in the same way as in column 24.
Vihreän ja keltaisen bittisekvenssin dekoodaus jatkuu edellä esitetyllä tavalla koko trelliskartan läpi vasemmalta oikealle. Kuvassa 7a on esitetty vain ne siirtymät, jotka 20 jäävät karsintaoperaatioiden jälkeen jäljelle. Katkoviivalla ympäröidyissä, sidepituu-den välein sijaitsevissa sarakkeissa kuhunkin tilaan tulee vain yksi väri. Muihin tiloihin tulee kaksi väriä. Joistakin tiloista ei lähde eteenpäin yhtään siirtymää. Tämä osoittaa, että kaikkiin niihin seuraavan sarakkeen tiloihin, joihin kyseisestä tilasta olisi mahdollista siirtyä, tulee jostakin muusta tilasta metriikkasummaltaan suurempi ; 25 polku.The decoding of the green and yellow bit sequences continues as shown above through the entire trellis map from left to right. Figure 7a shows only those transitions that remain after the pruning operations. In the dashed columns spaced by the binding lengths, only one color appears in each space. Other spaces come in two colors. Some transitions do not move forward from some states. This indicates that all the states in the next column to which it would be possible to move from that state will have a larger metric sum from some other state; 25 paths.
Sarakkeen 33 tilojen viereen on merkitty sen polun metriikkasumma, joka viimeisen karsinnan jälkeen jää jäljelle päättyen kyseiseen tilaan. Kun polkuja jäljitetään näistä tiloista taaksepäin, on huomattava, että polun väri voi vaihtua vain värikarsintasa-30 rakkeiden 24, 27 ja 30 kohdalla. Esimerkiksi sarakkeen 33 tilaan "11" tulee vain i · vihreä siirtymä. Tästä tiedetään, että sarakkeiden 30 ja 33 välillä kyseinen polku voi * · koostua vain vihreistä siirtymistä, joten sarakkeen 31 tila "11" ei tuota ongelmaa: vaikka kyseiseen tilaan tulee kaksi siirtymää, taaksepäin jäljittävä prosessi tietää, että jäljitettävä polku tulee sarakkeen 30 tilasta "11", koska tämä siirtymä on väril-35 tään vihreä. Sarakkeen 33 tiloihin päättyvät polut ja niihin liittyvät metriikkasummat ovat seuraavat: 101759 13 -tilaan "11" päättyvä polku: 00-00-00-10-11-11-11-11-11-11-11-11-11, metriikka-summa 22, -tilaan "01" päättyvä polku: 00-00-00-10-11-11-11-11-11-11-11-11-01, metriikka-summa 20, 5 - tilaan "10" päättyvä polku: 00-00-00-00-00-00-00-00-00-00-10-01-10, metriikka- summa 20, - tilaan "00" päättyvä polku: 00-00-00-00-00-00-00-00-00-00-00-00-00, metriikka-summa 22.Next to the states in column 33 is the sum of the metrics of the path that remains after the last qualifier at the end of that state. When tracks are traced back from these states, it should be noted that the color of the path can only change at color grading-30 for rakes 24, 27, and 30. For example, in column 33, state "11" becomes only the i · green offset. It is known that between columns 30 and 33 this path can * · consist only of green transitions, so the state "11" in column 31 does not present a problem: even if there are two transitions in that state, the backward tracing process knows that the path to be traced comes from the state of column 30 " 11 "because this transition is green-35. The paths ending in the states of column 33 and the associated metric sums are as follows: 101759 13 path ending in state "11": 00-00-00-10-11-11-11-11-11-11-11-11-11, metric sum 22, path ending in state "01": 00-00-00-10-11-11-11-11-11-11-11-11-01, metric sum 20, 5 - path ending in state "10" : 00-00-00-00-00-00-00-00-00-00-10-01-10, metric sum 20, - path ending in "00": 00-00-00-00-00- 00-00-00-00-00-00-00-00, metric sum 22.
10 Nähdään, että sekä tilaan "11" että tilaan "00" päättyvän polun metriikkasumma on 22. Vastaanottimen on päätettävä, kumman polun se valitsee oikeaksi poluksi.10 It will be seen that the metric of the path ending in both state "11" and state "00" is 22. The receiver must decide which path it chooses as the correct path.
Ylempi polku edustaa enimmäkseen peräkkäisiä ykkösiä ja alempi peräkkäisiä nollia. Tässä tapauksessa tiedetään edellä selostetut puutteet konvoluutiokooderin rakenteessa, joten vastaanotin voi arvioida, että peräkkäisistä nollista koostuva sek-15 venssi on todennäköisempi, jolloin se valitsee alemman polun oikeaksi poluksi.The upper path mostly represents consecutive ones and the lower one consecutive zeros. In this case, the above-described shortcomings in the structure of the convolutional encoder are known, so that the receiver can estimate that a sequence of consecutive zeros is more likely, in which case it selects the lower path as the correct path.
Tämä polku antaa alkuperäisen informatiosekvenssin virheettömänä. Jos konvoluu-tiokooderin rakenne on valittu paremmin, tasapelitilanteiden syntyminen eri polkujen kesken on varsin epätodennäköistä.This path gives the original information sequence without error. If the structure of the convolutional encoder is better chosen, the occurrence of draw situations between different paths is quite unlikely.
20 Eräs ehdotus vaihtoehtoiseksi dekoodausmenetelmäksi keksinnön mukaisen värillisen dekoodausmenetelmän asemesta on toisiaan vastaavien bittien keskiarvoistami-nen samaa informaatiosekvenssiä kuvaavissa, erikseen vastaanotetuissa ("erivärisissä") bittisekvensseissä. Seuraavassa esitetään lyhyt esimerkki, joka vertaa keskiar-voistuksen ja värillisen menetelmän toimintaa. Oletetaan, että konvoluutiokooderi ; · 25 on edelleen sama kuin edellä ja että vastaanotin on vastaanottanut bittisekvenssit 00 01 00 (väri A) ja 11 10 01 (väri B). Kuva 8a esittää trelliskartan muodossa bitti-sekvenssien dekoodausta samalla tavalla kuin edellä on selostettu viitaten kuvaan 7a. Sarake 50 on alkusarake, jossa on vain yksi tila, ja sarake 53 on siitä sidepituu-den päässä oleva sarake, johon lyhyen esimerkin mukainen dekoodaus päättyy. Kek-30 sinnön mukainen värillinen dekoodausmenetelmä tuottaa neljä polkua, joista sarak-' · keen 53 tilaan "10" päättyvän polun metriikkasumma on 4 ja muiden polkujen met riikkasumma on 5.One suggestion for an alternative decoding method instead of the color decoding method according to the invention is to average the corresponding bits in separately received ("different colored") bit sequences describing the same information sequence. The following is a brief example comparing the operation of the mean wedge and the colored method. Assume that a convolutional encoder; · 25 is still the same as above and that the receiver has received the bit sequences 00 01 00 (color A) and 11 10 01 (color B). Figure 8a shows the decoding of bit sequences in the form of a trellis map in the same way as described above with reference to Figure 7a. Column 50 is the initial column with only one state, and column 53 is the column at the link length from which the decoding according to the short example ends. The color decoding method of Kek-30 according to the invention produces four paths, of which the metric sum of the path ending in state "10" of column 53 is 4 and the metric sum of the other paths is 5.
Jos värien A ja B mukaiset bittisekvenssit keskiarvoistetaan biteittäin, saadaan luku-35 sekvenssi 0.5 0.5 0.5 0.5 0.0 0.5. Sekvenssin lukuja voidaan käsitellä välille [0,1] sijoittuvina näytteinä, jolloin kullekin näytteelle laskettava metriikka on esimerkiksi kaavan l-|b-n| arvo, missä b on metriikan laskennassa käytettävän "oikean" bitin arvoja n on kyseisen näytteen arvo. Kun lukusekvenssin dekoodaus tekniikan tason 101759 14 mukaisella viterbialgoritmilla kuvataan trelliskartassa, saadaan kuvan 8b mukainen kuvio. Tuloksena on neljä polkua, joilla on kaikilla sama metriikkasumma (3.5) ja jotka voidaan nimetä niin, että tilaan "11" päättyvä polku on Pl, tilaan "01" päättyvä polku on P2, tilaan " 10" päättyvä polku on P3 ja tilaan "00" päättyvä polku on P4.If the bit sequences according to colors A and B are averaged bit by bit, a sequence of number 35 is obtained 0.5 0.5 0.5 0.5 0.0 0.5. The numbers in the sequence can be treated as samples between [0,1], with the metric calculated for each sample being, for example, the formula l- | b-n | the value, where b is the value of n of the "correct" bit used to compute the metric, is the value of that sample. When the decoding of the read sequence by the viterbi algorithm according to the prior art 101759 14 is described in a trellis map, the pattern according to Fig. 8b is obtained. The result is four paths, all of which have the same metric sum (3.5) and can be named so that the path ending in "11" is P1, the path ending in "01" is P2, the path ending in "10" is P3, and the path ending in "00" is "00". "ending path is P4.
5 Näitä polkuja vastaavat bittisekvenssit konvoluutiokooderin lähdössä olisivat seu-raavat:5 The bit sequences corresponding to these paths at the output of the convolutional encoder would be as follows:
Pl 11 10 00 P2 00 11 01 10 P3 110101 P4 00 00 00Pl 11 10 00 P2 00 11 01 10 P3 110101 P4 00 00 00
Edellä ei ole vielä otettu kantaa siihen, mikä edellä mainituista poluista edustaa oikeaa, alkuperäistä bittidekvenssiä, jonka vastaanoton toistokertoja värit A ja B 15 edustavat. Jos oletetaan, että tietty polku on oikea, ja lasketaan sitä vastaavan kon-voluutiokoodatun sekvenssin ja molempien värisekvenssien hamming-etäisyydet, saadaan seuraava taulukko: oikeaa polkua A:n hamming- B:n hamming- vastaava etäisyys etäisyys sekvenssi _P1_4_J_ P2_2_3_ P3_3_2_ |P4 [1 \4 20 Kun verrataan keskiarvoistukseen ja tavalliseen viterbidekoodaukseen perustuvaa tulosta keksinnön mukaiseen tulokseen, havaitaan, että keksinnön mukainen menetelmä antaa myös polut Pl ja P4, mutta karsii polut P2 ja P3 pois. Keksintöön johta-: neessa tutkimustyössä on todettu, että keksinnön mukainen "värillinen" dekoodaus- menetelmä karsii pois polkuja, joita vastaavien bittisekvenssien hamming-etäisyydet 25 oikeaan sekvenssiin nähden tietyssä sidepituuden mittaisessa bittijaksossa ovat lähellä toisiaan (eli värit ovat yhtä virheellisiä samalla kohtaa) ja suosia polkuja, joita vastaavien bittisekvenssien hamming-etäisyydet oikeaan sekvenssiin nähden tietyssä sidepituuden mittaisessa bittijaksossa eroavat toisistaan merkittävästi (eli yksi väri on kyseisen bittijakson kohdalla lähes virheetön muihin väreihin verrattuna). Sen 30 sijaan keskiarvoistukseen ja tavalliseen viterbidekoodaukseen perustuva menettely 101759 15 suosii yhtä paljon kaikkia polkuja, joita vastaavien bittisekvenssien hamming-etäi-syyksien summa on sama. Käytännössä tämä tarkoittaa, että keksinnön mukainen menetelmä toimii paremmin kuin keskiarvoistus ja tavallinen viterbialgoritmi, jos eri värien sisältämät virhepurskeet ovat ero kohdassa kyseistä bittisekvenssiä. Tämä pi-5 tää yleensä paikkansa, kun tiedonsiirtoyhteyden bittivirhesuhde (BER, Bit Error Ratio) on riittävän pieni.It has not yet been stated which of the above paths represents the correct, original bit sequence, the reception repetitions of which are represented by colors A and B 15. Assuming that a particular path is correct, and calculating the Hamming distances of the corresponding convolutionally coded sequence and both color sequences, the following table is obtained: correct path A hamming- B hamming- corresponding distance distance sequence _P1_4_J_ P2_2_3_ P3_3_2 When comparing the result based on averaging and ordinary viterbide decoding with the result according to the invention, it is found that the method according to the invention also gives paths P1 and P4, but eliminates paths P2 and P3. In the research that led to the invention, it has been found that the "colored" decoding method according to the invention eliminates paths where the Hamming distances of the corresponding bit sequences relative to the correct sequence in a given bit length of a binding sequence are close to each other (i.e. colors are equally erroneous at the same point) and favored. paths whose Hamming distances of the corresponding bit sequences with respect to the correct sequence in a given bit-length bit period differ significantly from each other (i.e., one color is almost error-free for that bit period compared to other colors). Instead, the procedure 101759 15 based on averaging and ordinary viterbide decoding equally favors all paths that have the same sum of Hamming distances of the corresponding bit sequences. In practice, this means that the method according to the invention works better than the averaging and the ordinary viterbi algorithm if the error bursts contained in the different colors are different in the bit sequence in question. This is usually true when the bit error rate (BER) of the communication link is small enough.
Edellä on todettu, että keksinnön mukaisessa menetelmässä värien välinen polkujen karsinta tapahtuu edullisimmin sidepituuden välein. Tämä johtuu siitä tosiasiasta, 10 että virheellisen bitin vaikutus ulottuu konvoluutiokoodatussa bittisekvenssissä sidepituuden pituiselle matkalle. Keksinnön mukaista menetelmää voidaan muuttaa siten, että karsinta tapahtuu esimerkiksi kahden sidepituuden välein tai muulla tiheydellä, mutta se mitä todennäköisimmin kasvattaa tarvittavaa muistitilaa ja laskentakapasiteettia sekä huonontaa menetelmän toimivuutta.It has been stated above that in the method according to the invention, the trimming of the paths between colors takes place most preferably at intervals of the binding length. This is due to the fact 10 that the effect of the erroneous bit extends in the convolutionally encoded bit sequence over the path length. The method according to the invention can be modified in such a way that the pruning takes place, for example, between two bond lengths or at a different density, but it is most likely to increase the required memory space and computing capacity and to impair the functionality of the method.
1515
Seuraavaksi käsitellään keksinnön mukaisen menetelmän soveltamista digitaalisessa yleisradiovastaanottimessa. Euroopan yleisradiojärjestön (EBU, European Broadcasting Union) ja Eurooppalaisen televiestinnän standardointi-instituutin (ETSI, European Telecommunications Standards Institute) standardissa 20 ETS 300 401 on määritelty DAB-järjestelmä (Digital Audio Broadcasting), jossa siirretään digitaalisessa muodossa erityisesti audiodataa mutta myös muuta tietoa, joka voi olla järjestetty tiedostoiksi. Tiedoston siirto tapahtuu segmentti kerrallaan. Standardin mukaisesti segmentti on mielivaltaisen kokoinen tiedoston yhtenäinen pala. Lähettävä laitteisto paloittelee tiedoston segmentteihin, jotka se numeroi järjes-25 tyksessä siten, että kukin segmentti on yksikäsitteisesti tunnistettavissa. Kuhunkin segmenttiin liittyy lisäksi 16-bittinen CRC-tarkistussumma (Cyclic Redundancy Check), johon vertaamalla vastaanotin voi päätellä, onko tiedoston siirrossa tapahtunut virheitä. Tiedostot lähetetään yleensä useammin kuin kerran, jotta vastaanotin voi yrittää saada myöhemmillä toistokerroilla vastaanotetuiksi ne segmentit, jotka se 30 on aiemmilla kerroilla hylännyt CRC:n ilmaisemien virheiden takia.Next, the application of the method according to the invention in a digital broadcast receiver will be discussed. Standard 20 ETS 300 401 of the European Broadcasting Union (EBU) and the European Telecommunications Standards Institute (ETSI) defines the DAB (Digital Audio Broadcasting) system, which transmits audio data in digital form, but also other information, which can be organized into files. The file is transferred segment by segment. According to the standard, a segment is a single piece of a file of arbitrary size. The transmitting hardware cuts the file into segments, which it numbers in sequence so that each segment is unambiguously identifiable. Each segment is also associated with a 16-bit CRC (Cyclic Redundancy Check) checksum, against which the receiver can determine if there have been any errors in the file transfer. The files are usually sent more than once so that the receiver can try to receive at subsequent repetitions the segments that it has rejected on previous occasions due to errors detected by the CRC.
••
Jotta radiokanavan kapasiteetti tulisi optimaalisesti hyödynnetyksi, tiedoston toisto-kertoja tulisi olla mahdollisimman vähän. Seuraavassa esitellään menetelmä, joka perustuu keksinnön mukaiseen "värillisen" dekoodausmenetelmän käyttöön ja jossa 35 oletetaan, että kukin lähetetty tiedosto toistetaan vain kerran. Esitetty tarkastelu ei rajoitu pelkästään DAB-järjestelmän yhteyteen, vaan sitä voidaan soveltaa kaikissa tiedonsiirtojärjestelmissä, joissa lähettävä laite käyttää konvoluutiokoodausta ja jois- 101759 16 sa tiedostomuotoinen tieto siirretään segmentteinä tai niitä vastaavina osina. Menetelmän vaiheet on numeroitu selostuksen havainnollistamiseksi.In order to make optimal use of the capacity of the radio channel, the number of repetitions of the file should be kept to a minimum. The following is a method based on the use of the "colored" decoding method according to the invention, in which it is assumed that each transmitted file is played only once. The above discussion is not limited to the DAB system only, but can be applied to all communication systems in which the transmitting device uses convolutional coding and in which the file information is transmitted in segments or equivalent portions. The steps of the method are numbered to illustrate the description.
1. Vastaanotin vastaanottaa tiedoston ensimmäisen lähetyskerran tiedostosegmentte-5 jä ja dekoodaa ne käyttämällä sinänsä tekniikan tason mukaista viterbidekoodausta. Se yrittää koota lähetetyn tiedoston niistä segmenteistä, joiden CRC-tarkistussumma ilmaisee, etteivät ne sisällä virheitä. Vastaanotin tallentaa virheellisiksi havaittujen segmenttien numerot eli niiden paikan tiedostossa.1. The receiver receives the file segments-5 of the first transmission of the file and decodes them using the prior art viterbide decoding. It tries to compile the submitted file from those segments whose CRC checksum indicates that they do not contain errors. The receiver stores the numbers of the segments found to be invalid, ie their location in the file.
10 2. Samanaikaisesti 1-vaiheen kanssa vastaanotin tallentaa vastaanotetut segmentit näytejonoina, joiden näytteet se lukee vastaanotetusta tietovirrasta ennen viterbidekoodausta. Jos viterbidekoodattu segmentti ei läpäise CRC-tarkistusta, vastaanotin tallentaa segmenttiä vastaavat näytejonon ja viterbidekoodatun bittisekvenssin muistiin. Koska segmentti sisältää bittivirheitä, siinä oleva segmenttinumero voi olla vir-15 heellinen, joten vastaanotin tarkistaa segmentin numeron vertaamalla sitä tähän mennessä vastaanotettujen segmenttien määrään (segmentit on numeroitu juoksevalla järjestysnumerolla alkaen nollasta). Koska konvoluutiokoodaus ja viterbide-koodaus jakavat alkuperäisten bittien vaikutusta useiden bittien alueelle, vastaanotin tallentaa näytejonon lopussa ainakin viterbidekooderin katkaisupituuden (engl. trun-20 cation length) verran "ylimääräisiä" näytteitä, jotta koko segmentti on mahdollista dekoodata tallennettujen näytteiden avulla. Jos segmentin otsikko tai muut vastaanottimen saamat tiedot eivät ilmaise konvoluutiokoodauksen alustustietoja, myös segmentin alkuun on tallennettava "ylimääräisiä" näytteitä, jotta dekoodattavan segmentin alkuun ei generoituisi väärästä alkutilasta johtuvia virheitä. Näytejonojen 25 lisäksi vastaanottimen on tallennettava tieto segmentin paikasta DAB-järjestelmän loogiseen kehykseen tai muuhun punkturointivektorin käyttöä säätelevään rakenteeseen nähden, jotta se tietää, miten depunkturointi tulee suorittaa.10 2. Simultaneously with step 1, the receiver stores the received segments as sample queues, the samples of which it reads from the received data stream before the viterbide decoding. If the viterbid-decoded segment does not pass the CRC check, the receiver stores the sample string and the viterbid-decoded bit sequence corresponding to the segment in memory. Because a segment contains bit errors, the segment number in it may be incorrect, so the receiver checks the segment number by comparing it to the number of segments received so far (segments are numbered with a sequential sequence number starting from zero). Because convolutional coding and viterbide coding share the effect of the original bits over a range of bits, the receiver stores "extra" samples of at least the trun-20 cation length at the end of the sample sequence so that the entire segment can be decoded with the stored samples. If the segment header or other information received by the receiver does not indicate convolutional coding initialization information, "extra" samples must also be stored at the beginning of the segment to avoid generating errors due to an incorrect initial state at the beginning of the segment to be decoded. In addition to the sample queues 25, the receiver must store information about the location of the segment relative to the logical frame of the DAB system or other structure that controls the use of the puncturing vector in order to know how the depuncture should be performed.
3. Vastaanotin odottaa tiedoston toistokertaa.3. The receiver waits for the file to play again.
30 4. Tiedoston toiston yhteydessä vastaanotin vastaanottaa ne segmentit, jotka ensimmäisellä kerralla on havaittu virheellisiksi. Vastaanotin tallentaa jälleen sekä viterbidekoodatun segmentin että segmenttiä ennen dekoodausta kuvaavan näytejonon. Jos dekoodattu segmentti läpäisee tällä kertaa CRC-tarkistuksen, se voidaan tallen- 35 taa osaksi tiedostoa ja vastaavat näytejonot ja ensimmäisen vastaanottokerran tallennettu bittisekvenssi voidaan poistaa muistista.30 4. During file playback, the receiver receives the segments that were first detected as incorrect. The receiver again stores both the viterbid decoded segment and the sample sequence describing the segment before decoding. If the decoded segment passes the CRC check this time, it can be stored as part of the file and the corresponding sample strings and the bit sequence stored for the first reception can be deleted from the memory.
17 101759 5. Jos myös toisella kerralla CRC-tarkistus ilmaisee, että segmentissä on virheitä, vastaanotin menettelee seuraavasti: 5a. Vastaanotin tekee keksinnön mukaisen värillisen viterbidekoodauksen.17 101759 5. If the second time CRC check indicates that there are errors in the segment, the receiver will proceed as follows: 5a. The receiver performs color viterbide decoding according to the invention.
5 Ensimmäisellä ja toisella vastaanottokerralla tallennetut näytejonot toimivat erivärisinä syöttötietosekvensseinä.5 The sample strings stored in the first and second reception act as input data sequences of different colors.
5b. Vastaanotin tarkistaa, ilmaiseeko värillisen dekoodauksen antamaan bittisek-venssiin sisältyvä CRC-tarkistussumma virheitä. Jos segmentti on virheetön, 10 vastaanotin menettelee kuten kohdassa 4.5b. The receiver checks whether the CRC checksum included in the bit sequence given by the color decoding indicates errors. If the segment is error-free, the receiver 10 proceeds as in step 4.
5c. Jos segmentti on edelleen virheellinen, vastaanotin vertaa tavallisen viterbidekoodauksen tuottamia kahta segmenttiä keskenään ja merkitsee ne kohdat, joissa kyseisten segmenttien bitit poikkeavat toisistaan. Se merkitsee lisäksi yhden bitin eroa-15 vien kohtien kummaltakin puolelta. Jos merkintöjä tulee suhteellisen vähän (esimerkiksi alle 10; sopiva rajaehto voidaan etsiä kokeilemalla), vastaanotin kokeilee kaikkien merkittyjen bittien mahdolliset kombinaatiot ja laskee kulloinkin saadun segmentin tarkistussumman. Jos jokin muunneltu segmentti läpäisee CRC-tarkistuksen, se oletetaan virheettömäksi ja menetellään kuten kohdassa 4.5c. If the segment is still incorrect, the receiver compares the two segments produced by normal viterbide decoding and marks the points where the bits of those segments differ from each other. It also means one bit difference on each side of the 15 points. If there are relatively few entries (for example, less than 10; a suitable boundary condition can be found by experimentation), the receiver experiments with possible combinations of all the marked bits and calculates the checksum of the segment obtained in each case. If a modified segment passes the CRC check, it is assumed to be error-free and proceeded as in step 4.
20 5d. Jos mikään edelläolevista kohdista ei tuota virheetöntä segmenttiä, vastaanotin odottaa tiedoston kolmatta toistokertaa. Jos tällöin löytyy vielä segmenttejä, jotka on vastaanotettu virheellisinä kaikilla kolmella toistokerralla, vastaanotin voi käsitellä kaikki kolme tallennettua segmenttiversiota samanaikaisesti kohtien 5a - 5c esittä-• 25 mällä tavalla. Ennen sitä se voi kuitenkin suorittaa ns. enemmistöäänestyksen eli verrata tallennettuja, viterbidekoodattuja sekvenssejä biteittäni keskenään ja valita kuhunkin bittipositioon sen bittiarvon, joita on enemmän. Jos tuloksena on virheetön segmentti, menetellään kuten kohdassa 4. Muussa tapauksessa se voi tehdä enemmistöäänestyksen näytejonoille esimerkiksi siten, että se valitsee kussakin näytepo-30 sitiossa kaksi eniten samaan suuntaan osoittavaa näytettä (tai kaikki näytteet, jos ne : · ovat hyvin lähellä toisiaan) ja keskiarvoistaa ne, minkä jälkeen se dekoodaa muo dostetun keskiarvoisen näytejonon käyttämällä tavallista viterbidekoodausta. Keksinnön mukainen värillinen dekoodausmenetelmä toimii tavallisena viterbidekoo-dausmenetelmänä, jos värejä on vain yksi.20 5d. If none of the above produces an error-free segment, the receiver waits for the third play of the file. If there are still segments that have been received incorrectly on all three iterations, the receiver can process all three stored segment versions simultaneously as shown in steps 5a to 5c. Before that, however, it can perform the so-called. majority voting, i.e., comparing the stored, viterbid-decoded sequences of my bits with each other and selecting the bit value for each bit position. If the result is an error-free segment, proceed as in step 4. Otherwise, it may cast a majority vote on the sample queues, for example, by selecting the two samples in the same direction (or all samples if they: · are very close to each other) at each sampling position, and averaging them, after which it decodes the generated average sample sequence using standard viterbi decoding. The color decoding method according to the invention functions as a conventional viterbide decoding method if there is only one color.
Vaikka edellä on nimitetty dekoodaavaa laitetta vastaanottimeksi, alan ammattimiehelle on selvää, että sama toiminta koskee kaikkia laitteita, jotka dekoodaavat kon-voluutiokoodattua digitaalista tietoa.Although a decoding device has been referred to above as a receiver, it will be apparent to one skilled in the art that the same operation applies to all devices that decode convolutionally encoded digital information.
35 101759 1835 101759 18
Kuva 9 esittää yksinkertaisena lohkokaaviona digitaalista vastaanotinta 60, joka soveltuu keksinnön mukaisen menetelmän toteuttamiseen. Siinä on dekoodauselin 61, joka on varustettu käsittelemään ainakin kahta dekoodattavaa näyte- tai bittijonoa samanaikaisesti tavalla, jota on selostettu edellä viitaten erityisesti kuvaan 7a. Ennen 5 dekoodauselintä käsiteltävä signaali on kulkenut sinänsä tekniikan tason mukaisten vastaanotto-osien 62 läpi, jolloin se on muunnettu sähkömagneettisena säteilynä etenevästä radiotaajuisesta värähtelystä biteiksi (ehdoton ilmaisu) tai näytteiksi (liukuva ilmaisu). Jotta bitti- tai näytejonot voitaisiin vastaanottaa eri aikaan ja syöttää dekoodauselimeen 61 oleellisesti samanaikaisesti, vastaanotin käsittää ainakin kaksi 10 muistilohkoa 63 ja 64, jotka pystyvät tallentamaan tietoa ennen dekoodauselintä.Figure 9 shows a simple block diagram of a digital receiver 60 suitable for carrying out the method according to the invention. It has a decoding means 61 equipped to process at least two sample or bit strings to be decoded simultaneously in the manner described above with particular reference to Fig. 7a. The signal to be processed before the decoding element 5 has passed through the prior art receiving parts 62 per se, whereby it has been converted from radio frequency oscillation propagating as electromagnetic radiation into bits (absolute detection) or samples (sliding detection). In order to receive bit or sample strings at different times and input to the decoding member 61 substantially simultaneously, the receiver comprises at least two memory blocks 63 and 64 capable of storing information before the decoding member.
Muistilohkot voivat sijaita fyysisesti samassa muistipiirissä tai niitä varten voi olla useita erillisiä muistiyksiköitä. Dekoodauselimen jälkeen vastaanottimessa on edullisesti virheentarkistuslohko 65, joka on varustettu tutkimaan, onko dekoodattu tieto virheetöntä vai onko sitä käsiteltävä edelleen virheettömyyden parantamiseksi esi-15 merkiksi odottamalla toistoa ja soveltamalla alkuperäiseen ja toistettuun sekvenssiin värillistä dekoodausmenetelmää. Dekoodatun tiedon linjasta on edullisesti myös yhteys muistiin 66, jotta dekoodatut sekvenssit voidaan tallentaa myöhempää käsittelyä varten. Dekoodausosan jälkeinen osuus vastaanottimesta on tekniikan tason mukainen ja sitä on merkitty numerolla 67. Ohjauslohko, joka ohjaa dekoodaustoi-20 mintaa, on esitetty numerolla 68.The memory blocks may be physically located on the same memory circuit or there may be several separate memory units for them. After the decoding means, the receiver preferably has an error checking block 65 equipped to examine whether the decoded information is error-free or needs to be further processed to improve error-free, for example by waiting for repetition and applying a color decoding method to the original and repeated sequence. Preferably, the decoded data line is also connected to memory 66 so that the decoded sequences can be stored for later processing. The portion of the receiver after the decoding section is prior art and is designated 67. The control block that controls the decoding operation is shown at 68.
Keksintö esittää ensimmäistä kertaa menetelmän, joka hyödyntää kahta erilaisen virhejakauman sisältävää saman konvoluutiokoodatun informaatiojakson versiota dekoodauksen toteuttamiseksi tavalla, joka poistaa virheitä. Koska keksinnössä hyö-25 dynnetään trelliskartan polkujen karsimista sekä "värien" sisällä että niiden välillä, se edellyttää vain suhteellisen pientä muistitilaa ja laskentakapasiteettia verrattuna menetelmään, jossa vastaanottimen on tallennettava suuri määrä trelliskartan polkuja vertailua varten. Keksinnön mukainen menetelmä toimii paremmin kuin rinnakkaisten bittisekvenssien keskiarvoistus erityisesti, jos bittisekvenssien sisältämät virhe-30 purskeet eivät ole kohdakkain.For the first time, the invention provides a method that utilizes two versions of the same convolutionally coded information period containing different error distributions to perform decoding in a manner that eliminates errors. Because the invention utilizes trimming trellis map paths both within and between "colors", it requires only a relatively small amount of memory space and computational capacity compared to a method in which a receiver must store a large number of trellis map paths for comparison. The method of the invention works better than averaging parallel bit sequences, especially if the error bursts contained in the bit sequences are not aligned.
Claims (9)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FI964477A FI101759B1 (en) | 1996-11-07 | 1996-11-07 | Changed Viterbi decoding method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FI964477A FI101759B1 (en) | 1996-11-07 | 1996-11-07 | Changed Viterbi decoding method |
FI964477 | 1996-11-07 |
Publications (4)
Publication Number | Publication Date |
---|---|
FI964477A0 FI964477A0 (en) | 1996-11-07 |
FI964477A FI964477A (en) | 1998-05-08 |
FI101759B true FI101759B (en) | 1998-08-14 |
FI101759B1 FI101759B1 (en) | 1998-08-14 |
Family
ID=8547025
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FI964477A FI101759B1 (en) | 1996-11-07 | 1996-11-07 | Changed Viterbi decoding method |
Country Status (1)
Country | Link |
---|---|
FI (1) | FI101759B1 (en) |
-
1996
- 1996-11-07 FI FI964477A patent/FI101759B1/en active
Also Published As
Publication number | Publication date |
---|---|
FI101759B1 (en) | 1998-08-14 |
FI964477A (en) | 1998-05-08 |
FI964477A0 (en) | 1996-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5349589A (en) | Generalized viterbi algorithm with tail-biting | |
KR100554322B1 (en) | Convolutional decoding with the ending state decided by crc bits placed inside multiple coding bursts | |
US4606027A (en) | Error correction apparatus using a Viterbi decoder | |
US6148431A (en) | Add compare select circuit and method implementing a viterbi algorithm | |
US5436918A (en) | Convolutional encoding/decoding apparatus with fixed bit insertion | |
US5331665A (en) | Decoder device for decoding convolutionally encoded message | |
US5014275A (en) | Sequential decoder | |
CN1355979A (en) | Method and receiver for receiving and decoding signals modulated with different modulation methods | |
US20030188248A1 (en) | Apparatus for iterative hard-decision forward error correction decoding | |
KR20010033503A (en) | Non-binary viterbi decoder using butterfly operations | |
EP3996285A1 (en) | Parallel backtracking in viterbi decoder | |
EP0603824B1 (en) | Method of and circuit for detecting synchronism in viterbi decoder | |
US5657333A (en) | Method and apparatus for error-control coding in a digital data communication system | |
FI101759B (en) | Changed Viterbide coding method | |
US7035356B1 (en) | Efficient method for traceback decoding of trellis (Viterbi) codes | |
EP1024603A2 (en) | Method and apparatus to increase the speed of Viterbi decoding | |
US6578119B2 (en) | Method and device for memory management in digital data transfer | |
US20020116682A1 (en) | Subtraction in a viterbi decoder | |
KR100324066B1 (en) | Viterbi decoder | |
CN108809335B (en) | Decoding method and device | |
JP5370487B2 (en) | Decoding method and decoding apparatus | |
KR100213038B1 (en) | Adding-comparating selecting device of viterbi decoder | |
KR100240868B1 (en) | Multirate transmission system | |
KR0170199B1 (en) | Viterbi decoder | |
KR100333336B1 (en) | Traceback method of viterbi decoder |