FI82871C - Kretsanordning foer foerverkligande av en viterbi-algoritm. - Google Patents
Kretsanordning foer foerverkligande av en viterbi-algoritm. Download PDFInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/41—Sequence 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)
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
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)
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 |
-
1989
- 1989-05-17 FI FI892370A patent/FI82871C/fi not_active IP Right Cessation
-
1990
- 1990-05-16 DE DE69028656T patent/DE69028656T2/de not_active Expired - Lifetime
- 1990-05-16 AT AT90305301T patent/ATE143542T1/de not_active IP Right Cessation
- 1990-05-16 EP EP90305301A patent/EP0398690B1/en not_active Expired - Lifetime
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 |