FI82871C - Kretsanordning foer foerverkligande av en viterbi-algoritm. - Google Patents

Kretsanordning foer foerverkligande av en viterbi-algoritm. Download PDF

Info

Publication number
FI82871C
FI82871C FI892370A FI892370A FI82871C FI 82871 C FI82871 C FI 82871C FI 892370 A FI892370 A FI 892370A FI 892370 A FI892370 A FI 892370A FI 82871 C FI82871 C FI 82871C
Authority
FI
Finland
Prior art keywords
bit
state
values
bits
circuit arrangement
Prior art date
Application number
FI892370A
Other languages
English (en)
Swedish (sv)
Other versions
FI82871B (fi
FI892370A0 (fi
FI892370A (fi
Inventor
Jussi Silander
Original Assignee
Nokia Mobira Oy
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nokia Mobira Oy filed Critical Nokia Mobira Oy
Priority to FI892370A priority Critical patent/FI82871C/fi
Publication of FI892370A0 publication Critical patent/FI892370A0/fi
Priority to DE69028656T priority patent/DE69028656T2/de
Priority to AT90305301T priority patent/ATE143542T1/de
Priority to EP90305301A priority patent/EP0398690B1/en
Publication of FI892370A publication Critical patent/FI892370A/fi
Application granted granted Critical
Publication of FI82871B publication Critical patent/FI82871B/fi
Publication of FI82871C publication Critical patent/FI82871C/fi

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Developing Agents For Electrophotography (AREA)
  • Lubricants (AREA)
  • Complex Calculations (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

1 82871
Viterbi-algoritmin toteuttava piiri järjestely
Keksintö koskee Viterbi-algoritmin toteuttavaa piirijärjes-5 telyä patenttivaatimuksen 1 johdannon mukaisesti.
Viterbi-algoritmi on algoritmi, jota käytetään yleisesti konvoluutiokoodien purkuun. Viterbi-algoritmia käytetään digitaalisten siirtojärjestelmien vastaanottimissa, esimer-10 kiksi yleiseurooppalaisessa digitaalisessa matkapuhelinjärjestelmässä (GSM, Groupe Special Mobile), jossa radiotielle lähetettävä digitaalinen tieto koodataan toisaalta kanavakohtaisesti (konvoluutiokoodaus) ja toisaalta siirtoketjussa (lähetin, radiokanava, vastaanotin) syntyy keskinäisvaiku-15 tusta, jota voidaan käsitellä tahattomana analogisena konvo-luutiokoodauksena. Vastaanottopuolella koodattu datasignaali on ilmaistava siten, että siitä löydetään todennäköisin lähetetty bittijono. Viterbi-algoritmia voidaan käyttää tähän koodauksen purkamiseen sekä vastaanottimen bittien 20 ilmaisuun, jossa puretaan siirtoketjun keskinäisvaikutuksen synnyttämä tahaton analoginen konvoluutiokoodi, että kanava-koodauksen purkamiseen (konvoluutiokoodaus).
Kuviossa 1 on esitetty tämän keksinnön pohjana oleva sinänsä 25 tunnettu Viterbi-Trellis-koodaus ja sen toiminta. Jokaiseen vastaanotettuun bittiin (BIT*, BITjc+i) liittyy 16 mahdollista tilaa STATES. Jokaiseen tilaan liittyy kumulatiivinen arvo CUM, joka kuvaa sitä, miten todennäköinen eli "hyvä" reitti on bittikuvion eli määrätyn aikavälin alusta kysei-30 seen tilaan saakka. Kuviossa 1 on myös esitetty (tässä käytetyn trelliksen puitteissa) sallitut siirtymiset tilasta toiseen. Jokaiseen siirtymään liittyy transitioarvo TRANS, joka määrittelee kunkin siirtymän "hyvyyden". Jokaiseen tilaan voidaan tässä trelliksessä tulla kahta vaihtoehtoista 35 reittiä pitkin. Kun lasketaan yhteen edellisen bitin, BIT*, lähtötilan kumulatiiviset arvot CUM* ja transitioarvot TRANS*, saadaan seuraavan bitin, BIT*+i jokaiselle mahdolliselle tilalle "hyvyysarvo" CUM*+i, josta voidaan johtaa 2 82871 bittireitin "hyvyys" aikavälin alusta alkaen. Koska tiloja voi olla 16/ ja jokaiseen tilaan johtaa kaksi reittiä, niin transitioarvoja j voi olla 32.
5 Kuviossa 2 on havainnollistettu jokaiseen bittiin DET.BIT liittyvät tilat: edellinen tila OLD STATE ja uusi tila NEW STATE, joihin edellä mainitut CUM-arvot liittyvät, ja joiden välisiä bittikohtaisia mahdollisia siirtymiä TRANS-arvot kuvaavat.
10
Vertaamalla jokaiseen tilaan tulevan kahden reitin "hyvyyttä", voidaan näistä valita parempi. Valitun reitin lähtötilan kumulatiivisen arvon CUM* ja transitioarvon TRANS* summa talletetaan seuraavan, uudemman bitin BIT*+i tilan kumula-15 tiiviseksi arvoksi. Jokaista bittiä kohti on laskettava 16 tilaa i, joiden tilojen kumulatiiviset arvot CUM*(i) talletetaan paluureittitaulukkoon (Trace Back, TB).
Tavanomaisesti edellä selitetty Viterbi-algoritmi toteute-20 taan rinnakkaisesti järjestetyillä piireillä (esim. yksi piiri kutakin bittitilaa kohti, tässä tapauksessa 16 rinnakkaista piiriä). Suuri piirien määrä nostaa laitekustannuksia. Lisäksi esim, GSM-matkapuhelimessa suuri komponenttien määrä nostaa virran kulutusta.
25
Keksinnön tehtävänä on poistaa tai pienentää edellä mainittuja haittatekijöitä.
Tehtävä ratkaistaan patenttivaatimuksen 1 tunnusmerkkiosan 30 mukaisella piirijärjestelyllä.
Käsittelemällä tarkasteltavan bitin jokaiseen mahdolliseen tilaan liittyviä tietoja sarjamuotoisesti, eli peräkkäin, voidaan piirijärjestely saada erittäin yksinkertaiseksi.
35 Edellä selitetyn Viterbi-algoritmin käsittely tapahtuu kunkin tilan kohdalla samalla tavalla. Jokaista bittiä kohti lasketaan peräkkäin 16 tilaa, joihin liittyvät arvot talletetaan paluureittitaulukkoon. Kun kaikki kyseessä olevan 3 82871 aikavälin bitit on käsitelty, suoritetaan paluureitin etsiminen talletettujen arvojen perusteella, jolloin seurataan todennäköisesti parasta reittiä lopusta alkuun. Näin ilmaistaan aikavälin jokainen bitti ja/tai bitteihin liittyvät 5 symbolit.
Samaa piirijärjestelyä voidaan käyttää esim. GSM-matkapuhe-limessa ilmaisemaan vastaanottimen bittijono, ja lisäksi sillä voidaan suorittaa kanavakohtaisen koodauksen purkami-10 nen (kanavadekoodaus). Yksinkertaisen toteutuksen etuna on vähentynyt virrankulutus, joka esim. akun varassa toimivassa GSM-matkapuhelimessa on merkittävä etu. Keksinnön mukainen piirijärjestely voidaan toteuttaa integroituna piirinä, esim. VLSI-piirinä.
15
Keksinnön periaatteiden mukaisesti on mahdollista toteuttaa myös mikä tahansa muu Viterbi-algoritmi, jossa käytetään kuvion 1 mukaista trellistä.
20 Seuraavassa keksintöä selitetään piirustuksen kuvioiden avulla, joissa: kuvio 1 esittää tunnetun Viterbi-Trellis-algoritmin toimintaa taulukon muodossa; 25 kuvio 2 esittää yksinkertaistaen tutkittavan bitin tunnettua ilmaisuperiaatetta kahteen tilaan liittyvien arvojen avulla; kuvio 3 esittää Viterbi-algoritmin sarjamuotoisesti toteut-30 tavan, keksinnön mukaisen piirijärjestelyn lohkokaavion; ja kuvio 4 esittää paluureitin hakemisen periaatteellisen lohkokaavion.
35 Kuviossa 3 on esitetty keksinnön mukainen piirijärjestely, jota voidaan soveltaa esim. GSM-matkapuhelimessa vastaanotettujen bittien ilmaisussa ja/tai kanavadekoodauksessa. Tulotietona piirijärjestelylle on yhteen bittiin BIT(k+l) 4 82871 liittyvät 32 transitioarvoa TRANS(j), TRANS(j+1), jotka siirretään transitioarvotaulukkoon TT. Edellisen bitin kumulatiiviset arvot CUM(i) on talletettu taulukkoon CT (CUM Table), josta ne johdetaan summaimiin ADD; toiseen 5 summaimeen ADD viivepiirin L (Latch) kautta. Summaimessa suoritetaan jokaiseen tilaan liittyvien transitioarvojen TRANS ja kumulatiivisten arvojen CUM yhteenlasku. Näin saatuja summia verrataan vähennyslaskuelimessä SUB. Vähennyslaskun eniten merkitsevän bitin MSB avulla valintaelin 10 SEL valitsee suuremman summan uudeksi kumulatiiviseksi arvoksi NEW, joka talletetaan kumulatiivisten arvojen taulukkoon CT. Vähennyslaskun tulos DF (Difference), skaalattuna haluttuun määrään bittejä, talletetaan paluureittitauluk-koon TB (Trace Back Table).
15
Kaikki määrättyyn bittiin liittyvät tilat lasketaan samalla tavalla peräkkäin eli sarjamuotoisesti, ja tulokset talletetaan taulukoihin CT, TB. Kun yhden bitin laskenta on saatu valmiiksi, luetaan seuraavaan bittiin liittyvät transitioar-20 vot, ja sama sekvenssi aloitetaan uudelleen. Laskenta toistetaan kaikille määrätyn aikavälin biteille. ("Aikaväli" voi tässä merkitä esim. GSM-järjestelmän kehystä, jossa on 148 bittiä).
25 Kun aikavälin kaikki bitit on käsitelty, suoritetaan paluu-reitin hakeminen. Kuviossa 4 on esitetty periaatteellinen lohkokaavio tämän vaiheen toteuttavasta piirijärjestelystä. "Paras" reitti, eli reitin kuvaus, luetaan taulukosta TB (kuvio 3). Taulukkoon TB talletetun erotuksen DF ylin bitti 30 MSB(T) (eniten merkitsevä bitti) vastaa ilmaistua bittiä, ja se kertoo kumpaa reittiä trelliksen mukaisesti päästään edellisen bitin tilaan. Kun tämä ylin bitti MSB(T) summataan vasemmalle siirretyn tilan arvoon, saadaan taaksepäin mentä-* essä seuraavan tilan arvo LSB, eli neljä vähiten merkitsevää 35 bittiä. LSB-arvolla osoitetaan paluureittimuistin osoitepai-kasta (taaksepäin mentäessä) seuraavan tilan arvo. Kuviossa 4 piiri L on viivepiiri, ja piiri SL1 (Shift Left One) siirtää kulloisenkin arvon yhden bitin verran vasemmalle.
Il 5 82871 Näin menetellään aikavälin jokaisen bitin osalta, kunnes aikavälin koko bittijono on ilmaistu. Sen jälkeen aloitetaan seuraavan aikavälin bittien käsittely.

Claims (3)

6 82871
1. Viterbi-algoritmin toteuttava piirijärjestely sellaisella trelliksellä, jossa jokaiseen tilaan voidaan päätyä kahta vaihtoehtoista tietä pitkin, jolloin vastaanotetun bitin 5 (BIT*) lähtötilan kumulatiiviseen arvoon (CUM*(i)) lisätään määrättyä siirtymää vastaava transitioarvo (TRANS*(j)) ja saadaan näin seuraavan bitin (BIT*+x) jokaiselle mahdolliselle tilalle kumulatiivinen arvo (CUMic+i(i)), josta bitti-reitin hyvyys aikavälin alusta lähtien voidaan johtaa, 10 tunnettu siitä, että määritellyn aikavälin bittien tilat käsitellään piirijärjestelyllä sarjamuotoisesti bitin ja/tai useamman bitin muodostaman symbolin ilmaisemiseksi.
2. Patenttivaatimuksen 1 mukainen piirijärjestely, 15 tunnettu siitä, että se käsittää piirit, joilla: a) jokaista bittiä (BIT*) kohti muodostetaan summauspiireis-sä (ADD) kulloistenkin tilojen kumulatiivisten arvojen (CUM(i)) ja bittien (BIT* ja BIT*+i) välisten muutosten transitioarvojen (TRANS*) summa; 20 b) verrataan vähennyspiirissä (SUB) kunkin tilan kahta summa-arvoa; c) talletetaan vertailun tulos (DF) paluureittitaulukkoon (TB); ja d) valitaan valintapiirillä (SEL) käsitellyn bitin uusi 25 kumulatiivinen arvo (NEW), joka talletetaan kumulatiivisten arvojen taulukkoon (CT), jolloin toiminta (kohdat a - d) toistetaan bitin jokaisen 16 mahdollisen tilan osalta, ja jolloin piiri järjestelyssä koko edellä oleva toimintasek-30 venssi toistetaan aikavälin jokaiselle bitille paluureitin määrittämiseksi.
3. Patenttivaatimuksen 2 mukainen piirijärjestely, tunnettu siitä, että se lisäksi käsittää: 35 e) paluureitin osoituspiirin, jossa paluureittitaulukosta luettujen bittikohtaisten tietojen (MSB(T)) perusteella lasketaan aikavälin kunkin bitin kohdalta sellaisen muisti- I! 7 82871 paikan osoite (LSB), josta voidaan lukea kulloisenkin bitin tai symbolin todennäköisin arvo, jolloin aikavälin bitit tai symbolit ilmaistaan ajallisesti viimeisestä alkaen. 5
FI892370A 1989-05-17 1989-05-17 Kretsanordning foer foerverkligande av en viterbi-algoritm. FI82871C (fi)

Priority Applications (4)

Application Number Priority Date Filing Date Title
FI892370A FI82871C (fi) 1989-05-17 1989-05-17 Kretsanordning foer foerverkligande av en viterbi-algoritm.
DE69028656T DE69028656T2 (de) 1989-05-17 1990-05-16 Schaltung zur Durchführung des Viterbi Algorithmus
AT90305301T ATE143542T1 (de) 1989-05-17 1990-05-16 Schaltung zur durchführung des viterbi algorithmus
EP90305301A EP0398690B1 (en) 1989-05-17 1990-05-16 Circuitry implementing the Viterbi algorithm

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FI892370A FI82871C (fi) 1989-05-17 1989-05-17 Kretsanordning foer foerverkligande av en viterbi-algoritm.
FI892370 1989-05-17

Publications (4)

Publication Number Publication Date
FI892370A0 FI892370A0 (fi) 1989-05-17
FI892370A FI892370A (fi) 1990-11-18
FI82871B FI82871B (fi) 1991-01-15
FI82871C true FI82871C (fi) 1991-04-25

Family

ID=8528443

Family Applications (1)

Application Number Title Priority Date Filing Date
FI892370A FI82871C (fi) 1989-05-17 1989-05-17 Kretsanordning foer foerverkligande av en viterbi-algoritm.

Country Status (4)

Country Link
EP (1) EP0398690B1 (fi)
AT (1) ATE143542T1 (fi)
DE (1) DE69028656T2 (fi)
FI (1) FI82871C (fi)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5375129A (en) * 1990-07-19 1994-12-20 Technophone Limited Maximum likelihood sequence detector
GB2246272B (en) 1990-07-19 1994-09-14 Technophone Ltd Maximum likelihood sequence detector
US5502735A (en) * 1991-07-16 1996-03-26 Nokia Mobile Phones (U.K.) Limited Maximum likelihood sequence detector
EP0851591B1 (en) * 1996-12-24 2001-09-12 Matsushita Electric Industrial Co., Ltd. Data processor and data processing method
US6938172B2 (en) * 2001-03-21 2005-08-30 Tektronix, Inc. Data transformation for the reduction of power and noise in CMOS structures

Also Published As

Publication number Publication date
EP0398690A3 (en) 1992-01-02
FI82871B (fi) 1991-01-15
FI892370A0 (fi) 1989-05-17
DE69028656T2 (de) 1997-02-27
FI892370A (fi) 1990-11-18
ATE143542T1 (de) 1996-10-15
EP0398690B1 (en) 1996-09-25
EP0398690A2 (en) 1990-11-22
DE69028656D1 (de) 1996-10-31

Similar Documents

Publication Publication Date Title
US5406570A (en) Method for a maximum likelihood decoding of a convolutional code with decision weighting, and corresponding decoder
EP0967730B1 (en) Convolutional decoder with modified metrics
KR100580160B1 (ko) 변형된 역추적 방식의 2단 연출력 비터비 알고리즘 복호화기
KR100306544B1 (ko) 레이트결정방법및수신된신호디코딩및전체메트릭결정방법
US5802116A (en) Soft decision Viterbi decoding with large constraint lengths
JPH0555932A (ja) 誤り訂正符復号化装置
US5398254A (en) Error correction encoding/decoding method and apparatus therefor
JP3153425B2 (ja) デジタル信号プロセッサ
JPS60180222A (ja) 符号誤り訂正装置
WO1999034520A1 (en) Non-binary viterbi decoder using butterfly operations
FI82871C (fi) Kretsanordning foer foerverkligande av en viterbi-algoritm.
US5982822A (en) Viterbi decoder
US8055986B2 (en) Viterbi decoder and method thereof
EP0233788A2 (en) Viterbi decoder and method
CN101145790B (zh) 译码器、相加-比较-选择单元和其方法
EP1370006A2 (en) Blind transport format detection system and method
US6542559B1 (en) Decoding method and apparatus
US6310887B1 (en) Transmission speed predicting apparatus and transmission speed predicting method
JPH05183448A (ja) 誤り訂正符復号化装置
FI100564B (fi) Menetelmä transitiometriikan muodostamiseksi ja solukkoradiojärjestelm än vastaanotin
US7020223B2 (en) Viterbi decoder and method using sequential two-way add-compare-select operations
US6195401B1 (en) Data receiving apparatus and method
US7231586B2 (en) Multi-rate viterbi decoder
KR100275605B1 (ko) 디코딩 방법 및 디코딩 장치(deconding method and decoding apparatus)
US6411663B1 (en) Convolutional coder and viterbi decoder

Legal Events

Date Code Title Description
FG Patent granted

Owner name: NOKIA-MOBIRA OY

MA Patent expired