FI107484B - Menetelmä ja järjestely konvoluutiodekoodauksen toteuttamiseksi - Google Patents

Menetelmä ja järjestely konvoluutiodekoodauksen toteuttamiseksi Download PDF

Info

Publication number
FI107484B
FI107484B FI991159A FI991159A FI107484B FI 107484 B FI107484 B FI 107484B FI 991159 A FI991159 A FI 991159A FI 991159 A FI991159 A FI 991159A FI 107484 B FI107484 B FI 107484B
Authority
FI
Finland
Prior art keywords
neuron
neurons
inputs
network
output
Prior art date
Application number
FI991159A
Other languages
English (en)
Swedish (sv)
Other versions
FI991159A0 (fi
FI991159A (fi
Inventor
Jukka Henriksson
Ari Haemaelaeinen
Original Assignee
Nokia Mobile Phones Ltd
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 Mobile Phones Ltd filed Critical Nokia Mobile Phones Ltd
Priority to FI991159A priority Critical patent/FI107484B/fi
Publication of FI991159A0 publication Critical patent/FI991159A0/fi
Priority to DE60040338T priority patent/DE60040338D1/de
Priority to PCT/FI2000/000457 priority patent/WO2000072449A1/en
Priority to EP00927303A priority patent/EP1198892B1/en
Priority to US09/573,693 priority patent/US6578172B1/en
Priority to AU45736/00A priority patent/AU4573600A/en
Publication of FI991159A publication Critical patent/FI991159A/fi
Application granted granted Critical
Publication of FI107484B publication Critical patent/FI107484B/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/3746Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with iterative decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/23Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory codes
    • 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/45Soft decoding, i.e. using symbol reliability information
    • 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/65Purpose and implementation aspects
    • H03M13/6597Implementations using analogue techniques for coding or decoding, e.g. analogue Viterbi decoder

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Description

, 107484
Menetelmä ja järjestely konvoluutiodekoodauksen toteuttamiseksi
Keksinnön ala
Keksinnön kohteena on menetelmä ja järjestely konvoluutiokooda-5 tun siirtotien yli vastaanotetun signaalin dekoodaamiseksi ja kanavakorjaami-seksi vastaanottimessa takaisinkytketyn neuroverkon avulla.
Keksinnön tausta
Tietoliikenneyhteyksissä signaalien välittämiseen käytetty siirtotie aiheuttaa tunnetusti häiriöitä tietoliikenteelle. Tätä tapahtuu riippumatta siirto-10 tien fyysisestä muodosta, olipa siirtotie esimerkiksi radioyhteys, valokuitu tai kuparikaapeli. Erityisesti radiotietoliikenteessä esiintyy usein tilanteita joissa siirtotien laatu vaihtelee yhteyskerrasta toiseen ja myös yhteyden aikana.
Radiotien häipymisilmiöt ovat eräs tyypillinen ilmiö, joka aiheuttaa muutoksia siirtokanavassa. Myös muut samanaikaiset yhteydet saattavat ai-15 heuttaa häiriöitä ja nämä voivat vaihdella ajan ja paikan funktiona.
Tyypillisessä radiotietoliikenneympäristössä lähettimen ja vastaanottimen väliset signaalit etenevät useaa reittiä. Tämä monitie-eteneminen aiheutuu pääosin signaalin heijastumisista ympäröivistä pinnoista. Eri reittejä kulkeneet signaalit saapuvat vastaanottimeen eri aikoina erilaisen kulkuaikaviiveen takia. 20 Tämän monitie-etenemisen aiheuttaman häiriön kompensoimiseen on kehitetty erilaisia menetelmiä.
*:*. Siirtotien aiheuttamien häiriöiden vaikutusten pienentämiseksi digi- : .·. taalinen signaali koodataan, jotta siirtoyhteys saataisiin luotettavammaksi. Täl- löin häiriöiden aiheuttamat virheet siirrettävässä signaalissa pystytään havait-. 25 semaan ja käytettävästä koodausmenetelmästä riippuen myös korjaamaan il- man uudelleenlähetystä. Perinteisiä digitaalisessa tietoliikenteessä käytettyjä • · » koodausmenetelmiä ovat esimerkiksi lohkokoodaus ja konvoluutiokoodaus. • · · ' v : Lohkokoodauksessa koodattavat bitit ryhmitellään lohkoihin, joiden perään li sätään pariteettibittejä, joiden avulla edeltävän lohkon bittien oikeellisuus voi-*:··: 30 daan tarkistaa.
Tyypillisesti vastaanottimessa korjataan ensin monitie-etenemisen .. \ aiheuttamat virheet esimerkiksi lineaarisella transversaalikorjaimella ja tämän :; jälkeen suoritetaan konvoluutiokoodin purkaminen.
*·;·’ Konvoluutiokoodauksen tehokkuus riippuu käytetystä koodaussuh- 35 teestä ja koodaussyvyydestä. Suuri koodaussyvyys mahdollistaa suuren vir- • · 2 107484 heiden korjauskyvyn, mutta toisaalta tällöin dekoodaus on tunnetuilla menetelmillä erittäin mutkikasta.
Konvoluutiokoodaus puretaan eli dekoodataan yleensä käyttäen Vi-terbi algoritmia, jonka suorituskyky on lähes optimaalinen. Viterbin haittana on 5 kuitenkin se, että sen kompleksisuus kasvaa eksponentiaalisesti koodaussy-vyyden kasvaessa. Tämä on rajoittanut käytettävissä olevia koodaussyvyyk-siä.
Toinen tunnettu dekoodausmenetelmä on sekventiaalinen dekoodaus, jota on selostettu tarkemmin julkaisussa J. G. Proakis, Digital Communi-10 cations, 3rd edition, sivut 500-503. Tämän algoritmin haittana on mm. se, että dekoodausviive ei pysy vakiona vaan vaihtelee.
Eräs toinen tunnettu dekoodausmenetelmä on ns. stack algoritmi, jota on selostettu tarkemmin edellä mainitussa julkaisussa J. G. Proakis, Digital Communications, 3rd edition, sivut 503-506. Tämän algoritmin suorituskyky 15 ei ole Viterbi algoritmin veroinen.
Viterbi algoritmi on suorituskyvyltään paras tunnettu menetelmä konvoluutiokoodauksen dekoodaamiseksi, mutta sen käytännön toteutus koo-daussyvyyden kasvaessa on osoittautunut erittäin hankalaksi. Monimutkaisen Viterbi algoritmin hankala piiritekninen toteutus on rajoittanut käytettävissä ole-20 via koodaussyvyyksiä.
Erillinen kanavakorjain ja dekooderi on alioptimaalinen ratkaisu. Kanavatiedon käyttö erityisesti Viterbi-algoritmin sisällä metriikan laskennassa johtaa huomattavaan mutkikkuuden kasvuun ja käytännön sovellusten toteu- *.: : tus on ollut mahdotonta.
• · • t 1 25 Keksinnön lyhyt selostus • ·
Keksinnön tavoitteena on siten toteuttaa menetelmä ja menetelmän ♦ · 1 toteuttava järjestely siten, että yllä mainitut ongelmat saadaan ratkaistua. Tä- • · ♦ mä saavutetaan keksinnön mukaisella menetelmällä konvoluutiokoodatun ♦ ♦ ♦ ** siirtotien yli vastaanotetun signaalin dekoodaamiseksi, joka signaali käsittää 30 koodisanoja ja jossa menetelmässä estimoidaan siirtotiekanavaa, suoritetaan * ’ dekoodaus keinotekoisen neuroverkon avulla, neuroverkon käsittäessä joukon neuroneita, jotka käsittävät joukon sisäänmenoja ja ulostulon, ohjataan vas-taanotettu koodisanajoukko neuronin sisäänmenoihin, kerrotaan ainakin osa . · ·. neuronin sisäänmenoista keskenään, yhdistetään kertomisen jälkeen osa neu- ’·] 35 ronin sisäänmenoista, kytketään osa neuroverkon neuronien ulostulosignaa- · 3 107484 leista takaisin kunkin neuronin sisäänmenoihin, asetetaan neuronien alkuarvot ja annetaan verkon asettua tasapainotilaan.
Keksinnön mukaisessa menetelmässä edelleen neuronin sisään-menojen kertominen riippuu signaalin koodauksessa käytetystä konvoluutio-5 koodista ja estimoidusta kanavasta ja että dekoodatun ja kanavakorjatun symbolin estimaatti ohjataan ennalta määrätyn neuronin ulostulosignaalista verkon ulostuloon verkon saavutettua tasapainotilan, päivitetään siirtorekisterissä olevaa koodisanajoukkoa ja toistetaan yllä kuvattua neljää viimeistä askelta kunnes haluttu määrä koodisanoja on dekoodattu.
10 Keksinnön kohteena on myös järjestely konvoluutiokoodatun siirto tien yli vastaanotetun signaalin dekoodaamiseksi ja kanavakorjaamiseksi, joka signaali käsittää koodisanoja ja joka järjestely käsittää neuroverkon, joka käsittää joukon neuroneita, jotka käsittävät joukon sisäänmenoja ja ulostulon, ja joiden neuronien sisäänmenoihin on kytketty vastaanotetut koodisanat ja ainakin 15 osan neuroverkon neuronien ulostulosignaaleista, ja jotka neuronit käsittävät välineet kertoa ainakin osa neuronin sisäänmenoista keskenään ennen yh-distelyvälineitä ja joka järjestely käsittää välineet estimoida siirtotiekanavaa. Keksinnön mukaisessa järjestelyssä neuronien sisäänmenoihin on edelleen kytketty estimoitu kanavatieto ja että ennalta määrätty neuroni on sovitettu 20 antamaan ulostulosignaalissaan estimaatin kanavakorjatusta ja dekoodatusta symbolista.
Keksinnön edulliset suoritusmuodot ovat epäitsenäisten patenttivaatimusten kohteena.
: Keksinnön mukaisessa ratkaisussa konvoluutiokoodin dekoodaus ja • · : 25 kanavakorjaus suoritetaan takaisinkytketyn neuroverkon avulla. Keksinnön *:**: mukaisella ratkaisulla saavutetaan useita etuja. Keksinnön mukaisella ratkai- ·:··: sulia saavutetaan lähes Viterbi algoritmin mukainen suorituskyky huomatta- :*·*: vasti yksinkertaisemmalla piiritoteutuksella. Samalla piiritoteutuksen mutkik- kuudella voidaan keksinnön mukaisessa ratkaisussa käyttää suurempaa koo-30 daussyvyyttä ja täten parempaa virheenkorjausta kuin Viterbi algoritmin yhtey-dessä.
!..* Keksinnön mukainen neuroverkko on mahdollista rakentaa helposti puolijohdetekniikalla, sillä neuroverkon neuronit ovat rakenteeltaan hyvin sa-: * \: mankaltaisia keskenään, ainoastaan sisäänmenojen kytkennät vaihtelevat. Tä- 35 ten suurenkin verkon suunnittelu ja toteutus vaatii melko vähäisen työmäärän.
• · · • » · « * · • · 4 107484
Ratkaisu voidaan myös toteuttaa edullisesti esimerkiksi VLSI-piirinä ja siten se on nopea.
Kuvioiden lyhyt selostus 5 Keksintöä selostetaan nyt lähemmin edullisten suoritusmuotojen yhteydessä, viitaten oheisiin piirroksiin, joissa kuvio 1 havainnollistaa esimerkkiä tietoliikennejärjestelmästä, jossa keksinnön mukaista ratkaisua voidaan soveltaa, kuvio 2 esittää esimerkkiä keksinnön mukaisen menetelmän avulla 10 suunnitellusta neuronista, kuvio 3 esittää esimerkkiä keksinnön mukaisen menetelmän avulla suunnitellun neuroverkon neuronin kytkennöistä, kuvio 4 havainnollistaa esimerkkiä keksinnön mukaisen neuroverkon neuronin toteutuksesta, 15 kuviot 5a ja 5b havainnollistavat esimerkkiä keksinnön mukaisen neuroverkon toteutuksesta ja kuvio 6 havainnollistaa esimerkkiä jossa dekoodaus suoritetaan usean rinnakkaisen neuroverkon avulla.
Keksinnön yksityiskohtainen selostus 20 Keksinnön mukaista ratkaisua voidaan soveltaa missä tahansa digi taalisessa tiedonsiirtojärjestelmässä, jossa siirrettävä signaali on koodattu kon-voluutiokoodauksella. Eräitä esimerkkejä mahdollisista järjestelmistä ovat so-j lukkoradiojärjestelmät, radiolinkit, kiinteät verkot tai optiset verkot.
I I I ·
Kuviossa 1 havainnollistetaan esimerkkiä eräästä keksinnön mukai- • ♦ 25 sesta tietoliikennejärjestelmästä. Kuviossa on esitetty lähetin 100, signaalin • * siirtotie 102 sekä vastaanotin 104. Keksinnön mukaiset toiminnot on toteutettu • · · *·/..* vastaanottimissa. Signaalin siirtotie voi olla esimerkiksi radiotie, kuparikaapeli • · « tai optinen kuitu.
Lähettimessä datalähde 106 tuottaa signaalin 108, joka koostuu bi-30 teistä. Datalähteen signaaliin 108 voidaan tarvittaessa lisätä virheenkorjaava koodi jollain tunnetulla FEC (Forward Error Correcting) menetelmällä. Tätä ei ole kuviossa näytetty. Signaali 108 viedään kooderille 110, jossa suoritetaan
« I
konvoluutiokoodaus halutuilla parametreillä (koodaussyvyys ja koodaussuh-de). Kooderin rakenne voi olla tunnetun tekniikan mukainen. Koodattu signaali 35 voidaan käsittää koodisanoina, joiden pituus riippuu käytetystä koodista. Koo- • · 5 107484 dattu signaali viedään modulaattorille 112, jossa suoritetaan haluttu modulointi. Moduloitu signaali viedään edelleen lähettimen pääteasteisiin 114 ja kana-vasovittimelle 116, jotka ovat järjestelmästä riippuvia komponentteja. Pääte-aste 114 voi olla esimerkiksi radiotaajuusvahvistin ja suodatin. Kanavasovitin 5 116 voi olla esimerkiksi antenni tai sähkö/optomuunnin.
Lähettimen ulostulosignaali 118 kulkee siirtotien 102 eli kanavan läpi vastaanottimelle 104. Vastaanotin käsittää kanavasovittimen 120 sekä vastaanottimen esiasteen 122, jotka ovat järjestelmästä riippuvia komponentteja. Pääteaste 122 voi käsittää esimerkiksi radiotaajuusvahvistimen ja suodatti-10 men. Kanavasovitin 120 voi käsittää esimerkiksi antennin tai opto/sähkömuun-timen. Signaali viedään esiasteelta 122 edelleen kanavaestimaattoriin 123, jossa suoritetaan kanavan estimointi tunnettuja menetelmiä käyttäen. Kanava-estimaattorilta signaali viedään demodulaattoriin 124, josta tyypillisesti saadaan kantataajuinen bittivirta 126, joka voi olla kompleksinen käsittäen erilliset 15 I- ja Q-haarojen bitit. Vastaanotetusta signaalista johdetaan ajastusinformaatio regeneraattorissa 128 jollain tunnetulla menetelmällä. Tätä ajastusinformaati-ota käytetään demoduloinnissa. Vastaanotin käsittää edelleen ohjausyksikön 130, joka edullisesti voidaan toteuttaa prosessorin avulla. Ohjausyksikkö 130 kontrolloi vastaanottimen toimintaa. Informaatio ajastuksesta viedään myös 20 ohjausyksikölle.
Demodulaattorilta 124 tuleva signaali 126 käsittää siis demoduloidut bitit, jotka voidaan kuvata koodisanoina. Koodisanat viedään dekooderille 132, joka keksinnön mukaisessa vastaanottimessa on toteutettu neuroverkon avul- « a · : la. Dekooderissa puretaan konvoluutiokoodaus ja dekooderin ulostulosignaali » · * 25 1 34 vastaa alkuperäistä signaalia 108. Konvoluutiodekoodauksen yhteydessä *:**: otetaan huomioon kanavaestimaattorilta 123 saatava kanavatieto eli suorite- ·:·: taan kanavakorjaus. Mikäli lähettimessa oli käytetty virheenkorjaavaa koodia, se puretaan tässä vaiheessa. Tätä ei ole kuviossa näytetty.
Tarkastellaan seuraavaksi tarkemmin keksinnön mukaista menetel- • · · 30 mää konvoluutiokoodin dekoodaamiseksi ja kanavakorjauksen suorittamiseksi. Oletetaan tässä esimerkissä, että käytetään 4 QAM-modulaatiota. Yleisesti, *..1 dekoodauksen tehtävänä on löytää bittisekvenssi B, joka minimoi funktion .Λ m\ViY\r(t + sdt)-hYc (B(t + sdt)) ||2 =: min f(B) (1)
: · : B 1=o B
« 1 « ·« « · • · '·[ 35 missä r (t+sdt) on vastaanotettu koodisana ajan hetkellä t+sdt, » · » » · ·
• » I
» I » · « · 6 107484 dt on symboliväli, h = [h1, h2] on kaksitiekanavan kanavakertoimet, yc (B(t+sdt)) = [y(B(t+sdt)), y(B(t+(s-1)dt)) vektori, joiden kompon-netteina ovat sen hetkinen koodisana ja edellinen koodisana. 4 5 QAM-modulaation ollessa käytössä nämä ovat kompleksisia arvoja.
Selkeyden takia jatkossa käytetään merkintöjä r(s) = r (t+sdf) ja B(s) = B(t+sdt). Edelleen bittiarvojen 0 ja 1 asemasta käytetään arvoja -1 ja 1. Yhtälössä (1) 10 B(s) = [b(s-L + V,...,b(s)], be{ b(-L + ovat kiinteitä, L on koodaussyvyys ja T on dekoodausviive.
Kooderifunktio y vastaa konvoluutiokooderin generaattorimatriisia G. Siirtotiellä signaaliin tulee häiriöitä, kuten kohinaa. Merkitään ajan hetkellä s vastaanotettua kohinaista koodisanaa r(s). Oletetaan, että kohina on valkoista Gaussin 15 kohinaa.
Tarkastellaan tässä keksinnön mukaisen neuroverkon muodostamista esimerkin avulla, jossa käytetään konvoluutiokoodia, jonka koodaussuh-de on Vz ja koodaussyvyys L = 3. Generaattorimatriisi G tällaiselle koodille on |"1 0 li G= \ 1 !_· 20 Kooderi koodaussuhteen Vz konvoluutiokoodille koodaussyvyydellä L voidaan kirjoittaa kompleksisena funktiona .... y(B(s)) = y,(B(s)) + iy2(B(s)), ' missä • « ms))π^+ι-ο^ηχ-ι)'" .
• · ;=1 ·:·*: 25 ja ovat matriisin G elementit. Nyt, kun tässä esimerkissä L - 3, kooderi on ·*·*: siis muotoa y( B(s)) = -b(s) b(s-2) + ib(s)b(s^)b(s-2) ja vastaanotettu kompleksinen kohinainen koodisana on r(s) = r^s) + / r2(s).
<< <; Kirjoitetaan auki yhtälö (1): * · ·"; 30 Y\r(s)-hn (B(s))||! = (2)
4,1 S
i « < · t « • · • i · • · • * • t 4 > • ♦ · • 1 7 107484 Σ (^φ(1))2+»μ(φ))2] +[re{r(s)Κ )6(5)6(5 -2)- im(r(s)h{)b(s)b(s -1)6(5 - 2)J + [re(r(s)K)b(s -1)6(5 -3)- im(r(s)K)b(s -1)6(5 - 2)6(5 - 3)] +| Aft [6(5/6(5 - 2)2 + 6(5)2 6(5 -1)2 6(5 - 2)2 ] +\ΚΚ [6(5 -1)2 6(5 - 3)2 + 6(5 -1)2 6(5 - 2)2 6(5 - 3)2 ] +re(KK )6(5)6(5 -1)6(5 - 2)6(5 -3)-im(KK)b(s)b(s -1)6(5 - 2)6(5 - 3) +im(KK )6(5)6(5 -1)6(5 - 2)26(5 -3)+re(KK )6(5)6(5 -1)26(5 - 2)2 6(5 - 3)).
Yllä yläindeksi c tarkoittaa kompleksikonjugaattia. Koska b(s-1)2 = 1 ja b(s-2)2 = 1, niin yllä olevan funktion (2) ja funktion 5 /(5):= = (3) Σ (i[re(r(i))2+im(Ki))!l S ^ +\re(r(s)K)b(s)b(s -2)- /m(r (5)/^)6(5)6(5 -1)6(5 - 2)] + \re(r(s)K)b(s -1)6(5 - 3) - im(r(s)K)b(s -1)6(5 - 2)6(5 - 3)] +1 Af A, [6(5)2 6(5 - 2)2 + 6(5)2 6(5 -1)2 6(5 - 2)2 ] +1 KK [1(J -1)2 b{s - 3)2 + 6(5 -1)2 6(5 - 2)2 6(5 - 3)2 ] ... + re(KK )6(5)6(5 -1)6(5- 2)6(5 - 3) - im(KK)Ks)b(s ~ 1)6(5 ~ 2)6(5 - 3) .'. + im(KK )6(5)6(5 -1)6(5 - 3) + re(KK )6(5)6(5 - 3)).
• · · • « « < • · minimit ovat samat. Funktioiden eroavaisuudet ovat kahdessa viimeisessä • · · v : 10 termissä. Siirrytään tämän funktion (3) käyttöön, jotta hankalat takaisinkytken- • · · ; nät saataisiin eliminoitua.
Derivoidaan (3) b(k)\n suhteen. Tällöin saadaan osittaisderivaatta, :··: joka on muotoa: *·» Λ ' : df(B) Z. (4) < · I « • < · • · « · « * • · · « • · · • · · 8 107484 re(r(k)hf)b(k -2)- im(r(k)hf)b(k -1 )b(k - 2) - im(r(k +1 )hf)b(k +1 )b(k -1) + re(r(k +1 )h^)b(k - 2) - im(r(k + \)%)b(k - \)b{k -2)+re(r(k + 2 )h*)b(k + 2) - im(r(k + 2)/^)6(^ + 2)b(k + 1)- im{r{k + 2)%)b(k +1 )b{k -1) +re(r(k + 3 )%)b(k+2)- + 3)%)b(k + 2)£(£ + 1)+retffo )b{k - 3) +re (Aft )b(k - 2 )b(k - l)i>(Jk -3)- wiftft )A(jfc - 2)b(k - 3) + i2 )b(k -1 )b(k -3) + re(Aft )&(£ +1 )b(k -1 )b(k - 2) + imftft )b(k +1 )b(k -2)+re(Aft )b{k + 2)b(k +1 )b(k -1) - wj(/zft )b(k + 2 )b(k -1) + re(/zft )b(k + 3 )b(k + 2)b(k +1) - )b(k + 3)&(fc + 1) + //«(fyft )b(k + 3 )b(k + 2) + reftft )b(k + 3) + 5 (Aft + Aft)A(A).
Nyt käytetään gradienttimenetelmää <?/(#)
Ki)=Ä<4)-“W
5 Valitsemalla “ “ 5(^+¾¾) saadaan kaavan (4) viimeisessä termissä esiintyvät takaisinkytkennät eliminoitua. Edelleen edellyttämällä, että 6(/c) saa arvoja -1 tai 1, kaikille arvoille k = ·:·. 10 Ο,.,.,Τ, pätee yhtäsuuruus • · « • « • · ·* : b(k) = 5/gn( - re(r{k)h‘)b(k - 2) + im(r{k)hcx)b{k - l)b(k - 2) + //w(r(A + 1)Αί)Α(* +1 )b(k -1) - re(r(k +1 )te)b(k - 2) ♦ ·* v ; + //«(/(* +1 )h^)b(k -1)A(* - 2) -re(r(jfc + 2)ä,c)6(ä: + 2) • · ♦ '·' * + im(r(k + 2)hx)b(k + 2)έ(£ + 1) + im(r(k + 2)h%)b(k + 1)Z>(£ -1) - re(r(k + 3)h£)b(k + 2) + im{r(k + 3)h^)b(k + 2)b(k +1) - re(h,ft )b(k - 3) ^ * * -re(hxh2)b(k~2)b(k-l)b(k-3) + im(h^h2)b(k-2)b(k-3) .. ’: - z/nftft )b(k -1 )b(k - 3) - re{hcxh2 )b(k + l)b(k - l)b(k - 2) Γ·': -zzwftft )b(k + 1)A(A -2)-re(A,ft)b(k + 2)A(* + \)b(k -1) + /«(Aft )b(k + 2)b{k -1) - reftft )b{k + 3 )b(k + 2 )b(k +1) • · · + im{h{ /¾ )b(k + 3 )b{k +1) - im(hx /¾ )b{k + 3)£>(& + 2) - reftft )b(k + 3) ) 9 107484 Tästä saadaan seuraava päivityssääntö: valitaan yksi k kerrallaan ja päivitetään vastaavaa bittiä käyttäen kaavaa (5) ja toistetaan tätä kunnes biteissä ei tapahdu muutoksia, eli verkko on stabiloitunut. Tässä on huomattava, että jos 5 k= 7-1, tai k = T, niin asetetaan b(T+1) = 0 ja 6(7+2) = 0. Todellisessa toteutuksessa voidaan haluttaessa toimintaa rinnakkaistaa siten, että kaikkia neuroneja k päivitetään yhtäaikaa.
Kaavan (5) mukainen iteraatio voidaan siis esittää keinotekoisena neuroverkon neuronina. Asettamalla S* = b(k), missä Sk on /ennen neuronin 10 tila ja kun re ja im merkitsevät neuroniin tulevien ulkoisten syötteiden reaali- ja imaginääriosia, voidaan /ennen neuronin tila esittää seuraavasti:
Sk = +*>n(r(Ä0fyc)VÄ_2 + im{r{k +1 )K)SMSk_, - re(r(k +1 )%)Sk_2 +im(r(k +1 )/£)£*_ A_2 - re(r(k+2 )tf)Sk+2 +im(r(k + 2 + im(r(k + 2)h^)Sk+lSk_{ - re(r{k + 3 )%)Sk+2 + im(r(k + 3 )K)Sk+2S )Sk_3 —imihy /¾ )Sk_lSk_ 3 — re(hj /¾ )Sk+JSk_lSk_2 — imQiy /¾ )Sk+lSk_2 — /¾ )^+2^+1^-1 + imifa /¾ )SMSk_x — re{J\ /¾ )Sk+3Sk+2Sk+l + imihfhi )Sk+3Sk+i - im^h, )Sk+3Sk+2 - re^h, )Sk+3 ), missä fa on aktivaatiofunktio, tyypillisesti sigmoidifunktio tai kova rajoitin. Kaavassa (5) on käytetty signumfunktiota fa{x) = sign(x).
· 15 Kaavan (6) mukaista neuronia havainnollistetaan kuviossa 2. Neu- ·:**: ronin ulostulossa on neuronin tila Sk. Kaavan (6) mukaisesti neuroniin tulee ·:··: sisäänmenona 200 vastaanotettujen korruptoituneiden koodisanojen r(t) ja ka- navakertoimien h-, ja h2 (tai näiden konjugaattien) tulojen reaali- ja imaginääri-osia sekä kanavakertoimien h, ja h2 (tai näiden konjugaattien) tulojen reaali- ja • · 20 imaginääriosia. Koska käytetyn koodin koodisuhde oli Vz, niin koodattaessa kutakin yhtä koodattavaa bittiä kohti tuli kaksi bittiä. Vastaavasti dekoodauk-·»·· * sessa kahta koodisanan bittiä vastaa yksi dekoodattu bitti. Edelleen neuroniin tulee sisäänmenona 202 takaisinkytkettyjä muiden neuroverkon neuroneiden ulostuloja, eli Sk_3lSk.2, Sk.if Sk+1 , Sk+2, ja Sk+3. Kunkin neuronin ulostulossa on : ‘": 25 siis yksi dekoodattu bitti.
Keksinnön edullisessa toteutusmuodossa neuronissa ei ole takai-sinkytkentää omaan itseensä, eli neuroniin ei tule sisäänmenona arvoa Sk.
« « 10 107484
Neuronin sisäänmenot kerrotaan kaavan (6) mukaisesti keskenään. Tätä havainnollistaa viivojen leikkauskohdissa olevat pallot. Valkeat pallot merkitsevät sisäänmenojen kerrontaa ja mustat pallot merkitsevät sisäänmenojen kerrontaa ja tulon etumerkin vaihtoa. Kerrotut signaalit summataan 204 ja vie-5 dään aktivaatiofunktiolle 206, jonka ulostulo Sk 208 on neuronin ulostuloarvo.
Aktivaatiofunktiona voidaan siis käyttää joko kovan tai pehmeän päätöksen tuottavaa funktiota tai porrasfunktiota. Mikäli tulos on kova päätös, niin neuronin ulostulot voivat saada arvoja -1 tai 1. Mikäli tulos on pehmeä päätös, niin neuronin ulostulo voi olla liukuluku. Vastaavasti mikäli demodu-10 laattori 124 tuottaa pehmeitä bittipäätöksiä, niin neuronin sisäänmenossa 200 on liukulukuja, ja mikäli demodulaattori tuottaa kovia bittipäätöksiä, niin neuronin sisäänmenossa 200 on bittejä. Jos molemmissa neuronin sisäänmenoista on bittejä, niin sisäänmenojen välinen kerronta voidaan toteuttaa yksinkertaisesti digitaalitekniikan keinoin.
15 Koska johdettu neuroverkko on ns. optimoiva neuroverkko, se voi juuttua paikalliseen minimiin. Tämän välttämiseksi keksinnön eräässä edullisessa toteutusmuodossa neuroneissa sisääntulevaan signaaliin lisätään kohinaa (AWGN), jonka varianssi pienenee stabiloitumisvaiheen aikana. Tällöin kaava (6) on muotoa: sk =fa(-re(r(k)ht)Sk-2 +im(r(k)h‘)Sk.xSk_2 + im(r{k +\)hx)Sk+lSk_x - re(r(k +1 )h2 )Sk_2 + im{r(k +1 )hc2 )Sk_xSk_2 - re(r(k + 2)h‘ )Sk+2 ... + im(r(k+2)hcx )Sk+2Sk+l + im(r(k+2)hc2 )Sk+lSk_x 2Q - re(r(k + 3)hc2 )Sk+2 + im(r(k + 3)hc2 )Sk+2S k+l-re(hfh2 )Sk_3 j - re(hx h2 )Sk_2 Sk_x Sk_3 + //»(A, h2 )Sk_2 Sk_3
— im(hx h2 )Sk_xSk_3 -re(hx h2 )Sk+lSk_xSk_2 ~ im(hx h2 }Sk+xSk_2 — re(hx h2 )Sk+2Sk+XSk_x + iui(hxh2)Sk+2Sk_x -re(hcxh2)Sk+3S
k+l^k+l +im{h{h2)Sk+3Sk+l -im{h{h2 )SMSM -re{h\h2)SU3+AWGN).
Yleisesti jokaiselle vastaanotetulle koodisanalle suoritetaan seuraa-: vat vaiheet dekoodauksessa: 1. Asetetaan S.u S.2 ja S_3 aikaisempien päätösten mukaisiksi. Asetetaan vas-taanotettujen koodisanojen ι\(),...,Γ(ί+Τόή ja kanavakertoimien tulojen reaa- • · .···. 25 li- ja imaginääriosien tulot neuronin sisäänmenoihin 200.
’*·;’ 2. Alustetaan S(i), / = 0,...,7.
3. Jokaiselle k- 0,...,7 päivitetään neuronia k yhtälön (7) mukaisesti.
« • · „ 107484 4. Pienennetään lisätyn kohinan varianssia. Jos tarvittava määrä iteraatiokier-roksia on tehty, lopetetaan, muutoin mennään askeleeseen 3.
Tämän jälkeen dekoodattava bitti on neuronin 0 ulostulossa.
Kuviossa 3 havainnollistetaan koodaussuhteen V*. ja koodaussyvyy-5 den 3 dekoodaamiseen suunnitellun neuroverkon kytkentöjä. Yksittäiseen neuroniin 306 tulee sisäänmenona demoduloidut koodisanat 322 ja kanava-tieto 324 kanavanestimointivälineiltä. Koodisanat ja kanavatieto kerrotaan keskenään kaavan 6 mukaisesti kertojassa 326. Sisäänmenona neuroniin 306 tulee edelleen ulostulot 328, 330 rinnakkaisista neuroneista 300 - 304, 308 -10 320. Neuronin ulostulo on aktivaatiofunktion 326 arvo, joka arvo on dekoodattu symboli. Neuroverkko alustetaan siten, että neuronien -3, -2, ja -1 eli 300 -304 tiloiksi tulee aiemmin tehdyt bittipäätökset. Neuronien 0,...,T eli 306 - 320 tiloiksi asetetaan satunnaisesti +1 tai -1. Tämän jälkeen verkon annetaan stabiloitua. Dekoodattu bitti on neuronin 306 eli neuronin 0 ulostulo tai, jos de-15 koodataan useampi bitti kerrallaan, niin neuroneiden 0.....N ulostulot.
Verkon stabiloitumisaika voidaan määrittää joko siten, että annetaan iteraatioiden jatkua kunnes ulostulossa oleva bitti ei vaihtele, tai suorittamalla etukäteen määrätty määrä iteraatiokierroksia.
Paikalliseen minimiin juuttumista voidaan kohinan lisäyksen ohella 20 tai sijasta käyttää myös muita menetelmiä. Suoritettavien iteraatiokierrosten lukumäärää voidaan kasvattaa. Toinen vaihtoehto on käyttää useita rinnakkaisia neuroverkkoja. Kun jokainen neuroverkko on stabiloitunut, voidaan verkkojen ulostuloista valita paras bittipäätös. Valinta voidaan suorittaa esimerkiksi \ : enemmistöpäätöksellä, jossa valitaan se bittipäätös, joka esiintyy useimmiten · 25 rinnakkaisten neuroverkkojen ulostulossa. Voidaan myös suorittaa dekoodaus- *:**: tuloksen uudelleenkoodaus, ja verrata saatua tulosta vastaanotettuun koodisa- ·:··: naan, eli valita ratkaisu, joka minimoi funktion ; ^Σ|φ)-α*)|2· (8) h 1=0 • · ·
Dekoodausta voidaan myös nopeuttaa siten, että neuroverkosta ' . 30 otetaan ulos useampia bittipäätöksiä vierekkäisistä neuroneista samanaikai- sesti, eli neuroneista S0,...SW. Dekoodattaessa seuraavia bittejä, neuroneiden
C I
•;· ‘ S_L+U...,S.7 tilat täytyy alustaa edellä saaduiksi arvoiksi.
:' · *: Keksinnön mukaista menetelmää voidaan myös soveltaa silloin, kun : ‘ : purettava koodi on punkturoitu koodi.
• · · « · 12 107484
Keksinnön mukaista ratkaisua voidaan edullisesti soveltaa myös siten, että hyödynnetään nopeita kanavaestimaatteja. Kukin symboli voidaan ilmaista käyttäen symbolikohtaista kanavatietoa, vaikka konvoluutiokoodi ulottuukin usean symbolin ylitse.
5 Tarkastellaan seuraavaksi keksinnön mukaisen ratkaisun komplek sisuutta lähinnä toteutuksen kannalta. Kun koodaussyvyys L kasvaa tarvitaan enemmän neuroneita neuroverkossa ja stabiloitumisaika kasvaa, josta seuraa kertolaskujen määrän kasvu. On tunnettua, että Viterbi dekooderin kompleksisuus kasvaa eksponentiaalisesti koodaussyvyyden L kanssa. Keksinnön mu-10 kaisen neuroverkon avulla toteutetun dekooderin kompleksisuus kasvaa kuitenkin paljon hitaammin. Kun koodaussyvyys on L ja H on kanavatappien lukumäärä, niin kukin neuroverkon neuroni on kytketty L+H-2:een edelliseen ja L+H-2:een seuraavaan neuroniin ja L:ään sisäänmenoon. Jos oletetaan, että dekoodausviive on 5L, kuten yleensä on laita, niin dekooderissa tarvitaan 5L 15 neuronia ja täten yhteyksien maksimi lukumäärä on luokkaa O (H2L2n), missä n on generaattoreiden lukumäärä.
Yhdessä neuronissa suoritettavien kertolaskujen lukumäärä riippuu käytetystä koodigeneraattorista, mutta on < 0(nH3 + nH2L + nHL2). Täten yhden iteraatiokierroksen aikana, jolloin kutakin neuronia päivitetään kerran, suo-20 ritettavien kertolaskujen määrä on 0(nLH3 + nH2L2 + nHL3). Tämä osoittaa, kuinka kompleksisuus keksinnön mukaisessa ratkaisussa kasvaa huomattavasti hitaammin kuin Viterbi algoritmin yhteydessä L:n kasvaessa.
Kuviossa 4 havainnollistetaan keksinnön mukaisen neuroverkon /V neuronin toteutusta. Neuronin ulostulossa on neuronin tila Sk. Neuroniin tulee : 25 sisäänmenona 400 dekoodattavat häiriölliset koodisanat, jotka tyypillisesti koostuvat biteistä sekä kanavatieto. Kunkin koodisanan bittien lukumäärä riip-puu käytetyn koodin koodisuhteesta. Edelleen neuroniin tulee sisäänmenona ίΤ: 402 takaisinkytkettyjä muiden neuroverkon neuroneiden ulostuloja. Keksinnön T: edullisessa toteutusmuodossa neuronissa ei ole takaisinkytkentää omaan it- 30 seensä, eli neuroniin ei tule sisäänmenona arvoa Sk, mutta tarvittaessa takai-sinkytkentä omaan itseensä on myös mahdollinen.
···, Neuronin sisäänmenot kerrotaan keskenään matriisissa 404. Matrii sin kytkennät määrää käytetty konvoluutiokoodi ja kanavamalli, ja kytkentää i ’.: vastaava kaava voidaan johtaa kuten yllä olevissa esimerkeissä on havainnol- 35 listettu. Sisäänmenot voidaan kertoa joko etumerkin vaihdon kanssa tai ilman . .*«. etumerkin vaihtoa. Kerrotut signaalit viedään summaimelle 406, jossa ne 13 107484 summataan ja josta summasignaali viedään edelleen laskentavälineelle 408, joka laskee aktivaatiofunktion ja jonka ulostulo Sk 410 on neuronin ulostuloar-vo. Laskentaväline 408 voidaan toteuttaa porttilogiikan tai prosessorin ja ohjelmiston avulla.
5 Aktivaatiofunktiona voidaan siis käyttää joko kovan tai pehmeän päätöksen tuottavaa funktiota. Mikäli tulos on kova päätös, niin neuronin ulostulot voivat saada arvoja -1 tai 1. Mikäli tulos on pehmeä päätös, niin neuronin ulostulo voi olla liukuluku. Vastaavasti mikäli vastaanottimen demodulaattori tuottaa pehmeitä bittipäätöksiä, niin neuronin sisäänmenossa 400 on liukulu-10 kuja, ja mikäli demodulaattori tuottaa kovia bittipäätöksiä, niin neuronin sisäänmenossa 400 on bittejä. Jos molemmissa neuronin sisäänmenoista on bittejä, niin sisäänmenojen välinen kerronta voidaan toteuttaa yksinkertaisesti digitaalitekniikan keinoin.
Neuroni käsittää keksinnön eräässä edullisessa toteutusmuodossa 15 kohinageneraattorin 412, jossa generoitu kohina viedään summaimelle 406, jossa se lisätään summasignaaliin. Generoitavan kohinan varianssi pienenee neuroverkon stabiloitu m isen aikana, kuten aiemmin on kuvattu. Kohina voi olla Gaussin kohinaa tai binääristä kohinaa. Binäärinen kohina on helpompi toteuttaa, mutta toisaalta Gaussin kohinanäytteitä voidaan tallettaa sopiva määrä 20 muistielementtiin ja käyttää tätä kohinaa uudelleen. Kohinan generointi voidaan toteuttaa alan ammattimiehelle tunnetuilla tavoilla.
Tarkastellaan seuraavaksi keksinnön mukaisen dekooderin raken-... netta toteutuksen kannalta. Keksinnön mukaisen neuroverkon rakennetta ha- ' vainnollistetaan kuviossa 5a. Neuroverkko käsittää joukon neuroneita 500 - ·.: i 25 510, joiden toteutusta on selostettu aiempana. Neuroverkkoon tuodaan si- ’:,,i säänmenona koodisanat 512, jotka viedään siirtorekisteriin 514. Siirtorekiste- *Σ**·: rissä on talletettuna viimeiset T + L koodisanaa, jossa T on dekoodausviive.
:T: Aina kun koodisana on saatu dekoodattua, poistetaan dekoodattu koodisana *:1: rekisteristä, siirretään rekisterissä olevia koodisanoja yksi eteenpäin ja otetaan 30 uusi koodisana rekisterin viimeiseen muistipaikkaan 516. Siirtorekisteri on toi-minnallisesti kytketty neuroverkon neuroneiden 500 - 510 sisäänmenoihin.
• ·
Neuroverkkoon tuodaan edelleen kanavaestimointivälineiltä sisäänmenona kanavatieto 517. Kanavatieto viedään puskurimuistiin 518. Neuroverkko kä-: ‘: sittää edelleen puskurimuistin 520, jonka sisäänmenona on neuroneiden 500 - 35 510 ulostulot ja jonka puskurimuistin ulostulo on toiminnallisesti kytketty neu- • • · · • · · « « « « 14 107484 roverkon neuroneiden sisäänmenoihin 724. Neuroneiden lukumäärä riippuu dekoodattavan konvoluutiokoodin ominaisuuksista.
Neuroverkon neuroneiden ulostulot on siis toiminnallisesti kytketty puskurimuistiin 520, josta ulostulot on takaisinkytketty 522 neuroneiden si-5 säänmenoihin 524. Neuroneiden sisäänmenossa on kytkentävälineet 524, joiden avulla kuhunkin neuroniin viedään vain tarpeelliset koodisanat ja takaisinkytkennät dekoodattavan konvoluutiokoodin ja kanavatiedon perusteella johdetun kaavan (kuten kaava (7) yllä) mukaisesti. Kytkentävälineet 524 voidaan toteuttaa kytkentämatriisin tai porttilogiikan avulla. Kulloinkin dekoodattava bitti 10 saadaan aktivaatiofunktion laskevan laskentavälineen 526 ulostulosta. Las-kentaväline 526 voidaan toteuttaa erillisten logiikkapiirien tai prosessorin ja ohjelmiston avulla.
Neuroverkkodekooderi käsittää ohjausyksikön 528, jolle tulee si-säänmenona kellosignaali 530 vastaanottimen ajastusinformaation regene-15 raattorilta, kuten on kuvion 1 yhteydessä selostettu. Ohjausyksikkö huolehtii dekooderin ajastuksesta, verkon stabiloitumisajan valvonnasta ja ohjaa dekoodauksen toimintaa.
Kuviossa 5b havainnollistetaan toista edullista toteutusvaihtoehtoa, jossa neuroverkosta otetaan ulos useampia bittipäätöksiä vierekkäisistä neu-20 roneista samanaikaisesti, eli neuroneista k .. k+n. Tällöin laitteisto käsittää useamman laskentavälineen 526a, 526b. Tällöin myös aina kun koodisanat on saatu dekoodattua, poistetaan n dekoodattua koodisanaa rekisteristä, siirre- ... tään siirtorekisterissä 514 olevia koodisanoja vastaava määrä n eteenpäin ja « · ' otetaan n uutta koodisanaa rekisteriin.
« c :·: i 25 Kuviossa 6 havainnollistetaan keksinnön erästä toista toteutus- muotoa, jossa dekoodaus suoritetaan usean rinnakkaisen neuroverkon avulla. Tällöin koodisanat ja kanavatieto 600 tuodaan kahdelle tai useammalle rin-nakkaisesti järjestetylle neuroverkolle 602, 604. Neuroverkkojen laskentaväli- :*·*: neiden 606, 608 ulostulot viedään päätösyksikölle 610, jossa rinnakkaisten 30 neuroverkkojen ulostuloista valitaan paras estimaatti kulloinkin dekoodatuksi bitiksi. Päätösyksikkö voidaan edullisesti toteuttaa erillisten logiikkapiirien tai • · prosessorin ja ohjelmiston avulla. Päätös parhaasta estimaatista voidaan to-teuttaa usealla eri tavalla. Rinnakkaisten neuroverkkojen ulostuloista voidaan * « t : esimerkiksi valita dekoodatuksi bitiksi se arvo, joka esiintyy useimmissa ulos- 35 tuloissa. Dekoodattu bitti voidaan myös koodata uudelleen ja rinnakkaisten , /. neuroverkkojen ulostuloista valitaan kulloinkin dekoodatuksi bitiksi se arvo, jo- is 107484 ka uudelleenkoodauksen avulla osoittautuu oikeaksi. Uudelleenkoodausta ei kuviossa ole selkeyden vuoksi esitetty, mutta se voidaan toteuttaa alan ammattimiehelle tunnetuilla tavoilla.
Keksinnön mukainen dekooderi on mahdollista rakentaa helposti 5 puolijohdetekniikalla, sillä neuroverkon neuronit ovat rakenteeltaan hyvin samankaltaisia keskenään, ainoastaan sisäänmenojen kytkennät vaihtelevat. Täten suurenkin verkon suunnittelu ja toteutus vaatii melko vähäisen työmäärän. Valmiin piirin testaus on myös yksinkertaista toteuttaa. Ratkaisu voidaan myös toteuttaa edullisesti esimerkiksi VLSI-piirinä ja siten se on nopea. On myös 10 huomattava, että vaikka keksinnön mukainen dekooderi on rakenteeltaan yksinkertainen ja helppo toteuttaa, niin suorituskyvyltään se on lähellä teoreettista maksimia.
Vaikka keksintöä on edellä selostettu viitaten oheisten piirustusten mukaiseen esimerkkiin, on selvää, ettei keksintö ole rajoittunut siihen, vaan 15 sitä voidaan muunnella monin tavoin oheisten patenttivaatimusten esittämän keksinnöllisen ajatuksen puitteissa.
« « • · · « «
t I I I
• · • · • · · ’ · · < · · • · · < · · • · »··· * * I·· < C ( a • I · * a a a a a a a · • a a • a · · « « « • « a a • ·

Claims (22)

1. Järjestely konvoluutiokoodatun siirtotien yli vastaanotetun signaalin dekoodaamiseksi ja kanavakorjaamiseksi, joka signaali käsittää koodi-sanoja ja joka järjestely käsittää neuroverkon, joka käsittää joukon neuroneita, 5 jotka käsittävät joukon sisäänmenoja ja ulostulon, ja joiden neuronien sisään-menoihin on kytketty vastaanotetut koodisanat (400) ja ainakin osan neuroverkon neuronien ulostulosignaaleista (402), ja jotka neuronit käsittävät välineet (404) kertoa ainakin osa neuronin sisäänmenoista keskenään ennen yhdiste-lyvälineitä (406) ja joka järjestely käsittää välineet (123) estimoida siirtotieka-10 navaa, tunnettu siitä, että neuronien sisäänmenoihin on edelleen kytketty estimoitu kanavatieto (517) ja että ennalta määrätty neuroni on sovitettu antamaan ulostulosignaalissaan estimaatin kanavakorjatusta ja dekoodatusta symbolista.
2. Patenttivaatimuksen 1 mukainen järjestely, tunnettu siitä, et-15 tä neuroni käsittää välineet (406) kertoa ainakin osa neuronin sisäänmenoista keskenään sekä vaihtaa tulon etumerkin ennen yhdistelyvälineitä (404).
3. Patenttivaatimuksen 2 mukainen järjestely, tunnettu siitä, että järjestely käsittää siirtorekisterin (514), jonka sisäänmenona on vastaanotetut koodisanat, ja muistielementin (518), jonka sisäänmenona on estimoitu ka- 20 navatieto (517), ja jotka siirtorekisteri ja muistielementti ovat toiminnallisesti kytketyt neuroverkon neuroneiden sisäänmenoihin, ja puskurimuistin (520), jonka sisäänmenona on neuroneiden ulostulot ja jonka puskurimuistin ulostulo • on toiminnallisesti kytketty neuroverkon neuroneiden sisäänmenoihin.
4. Patenttivaatimuksen 3 mukainen järjestely, tunnettu siitä, et- *:·*: 25 tä järjestely käsittää välineet (128, 528) ohjata siirtorekisteriin (514) vastaan- ·:··· otettu koodisanajoukko (512), muistielementtiin (518) estimoitu kanavatieto (517), asettaa neuroneihin alkuarvot ja ohjata dekoodatun symbolin estimaatti » verkon ulostuloon verkon saavutettua tasapainotilan, päivittää siirtorekisterissä • · olevaa koodisanajoukkoa ja estimoitua kanavatietoa, ja toistaa yllä kuvattua . 30 toimintaa, kunnes haluttu määrä koodisanoja on dekoodattu. • · · « *.,* 5. Patenttivaatimuksen 2 mukainen järjestely, tunnettu siitä, et- -;· tä neuroni käsittää välineet (412) lisätä yhdistelyvälineissä yhdistelyn tulok- seen kohinaa.
6. Patenttivaatimuksen 1 mukainen järjestely, tunnettu siitä, et- • · · ·. 35 tä usean ennalta määrätyn neuronin ulostulosignaali käsittää estimaatin vas- * ♦ * '·: ·] taavasta määrästä dekoodattuja ja kanavakorjattuja symboleita. • · « » · * · 17 107484
7. Menetelmä konvoluutiokoodatun siirtotien yli vastaanotetun signaalin dekoodaamiseksi, joka signaali käsittää koodisanoja ja jossa menetelmässä estimoidaan siirtotiekanavaa, 5 suoritetaan dekoodaus keinotekoisen neuroverkon avulla, neuro verkon käsittäessä joukon neuroneita, jotka käsittävät joukon sisäänmenoja ja ulostulon, ohjataan vastaanotettu koodisanajoukko (512) neuronin sisään- menoihin, 10 kerrotaan ainakin osa neuronin sisäänmenoista keskenään, yhdistetään kertomisen jälkeen osa neuronin sisäänmenoista, kytketään osa neuroverkon neuronien ulostulosignaaleista (520) takaisin kunkin neuronin sisäänmenoihin, asetetaan neuronien alkuarvot ja 15 annetaan verkon asettua tasapainotilaan, tunnettu siitä, että menetelmässä edelleen neuronin sisäänmenojen kertominen riippuu signaalin koodauksessa käytetystä konvoluutiokoodista ja estimoidusta kanavasta, ja että dekoodatun ja kanavakorjatun symbolin estimaatti ohjataan ennalta 20 määrätyn neuronin ulostulosignaalista verkon ulostuloon verkon saavutettua tasapainotilan, päivitetään siirtorekisterissä olevaa koodisanajoukkoa ja toistetaan yllä kuvattua neljää viimeistä askelta kunnes haluttu ‘.: : määrä koodisanoja on dekoodattu. « 1 l l 25 8. Patenttivaatimuksen 7 mukainen menetelmä, tunnettu siitä, että ainakin osa neuronin sisäänmenoista kerrotaan neuronissa keskenään ·:··: sekä vaihdetaan tulon etumerkki ennen yhdistelyä. *·1. 9. Patenttivaatimuksen 7 mukainen menetelmä, tunnettu siitä, ·:·. että neuronin sisäänmenojen yhdistämisen yhteydessä yhdistelyn tulokseen li- 30 sätään kohinaa.
10. Patenttivaatimuksen 9 mukainen menetelmä, tunnettu siitä, ···« että kohinaa lisätään siten, että kohinan varianssi lähestyy nollaa verkon lä-•; ‘ hestyessä tasapainotilaa. i' '; 11. Patenttivaatimuksen 7 mukainen menetelmä, tunnettu siitä, « 1 ' 35 että verkon annetaan asettua tasapainotilaan ennalta määrätyn ajanjakson • · » *. verran. • 1 1 » 1 « *»» M 14 • » 18 107484
12. Patenttivaatimuksen 7 mukainen menetelmä, tunnettu siitä, että verkon annetaan asettua tasapainotilaan niin kauan kunnes neuronien ulostulosignaalien arvot eivät enää vaihtele.
13. Patenttivaatimuksen 7 tai 9 mukainen menetelmä, tunnettu 5 siitä, että neuronin sisäänmenojen yhdistämisen jälkeen signaali syötetään aktivaatiofunktiolle, jonka ulostulosta saadaan neuronin ulostulosignaali.
14. Patenttivaatimuksen 13 mukainen menetelmä, tunnettu siitä, että aktivaatiofunktio tekee yhdistellystä signaalista kovan bittipäätöksen.
15. Patenttivaatimuksen 13 mukainen menetelmä, tunnettu 10 siitä, että aktivaatiofunktio tekee yhdistellystä signaalista pehmeän bittipäätöksen.
16. Patenttivaatimuksen 13 mukainen menetelmä, tunnettu siitä, että aktivaatiofunktio on porrasfunktio.
17. Patenttivaatimuksen 7 mukainen menetelmä, tunnettu siitä, 15 että vastaanotettu koodisanajoukko (512) ohjataan neuronin sisäänmenoihin siirtorekisterin (514) avulla. ^.Patenttivaatimuksen 17 mukainen menetelmä, tunnettu siitä, että ohjataan dekoodatun symbolin estimaatti usean ennalta määrätyn neuronin ulostulosignaalista verkon ulostuloon verkon saavutettua tasapaino-20 tilan, ja että päivitetään siirtorekisterissä olevaa koodisanajoukkoa samalla ennalta määrätyllä määrällä koodisanoja.
19. Patenttivaatimuksen 7 mukainen menetelmä, tunnettu siitä, ... että kanavaestimaattia päivitetään siten että kunkin symbolin estimaatti las- « « ‘ / ketään käyttäen omaa kanavaestimaattia. « « « «’ -: : 25 20. Patenttivaatimuksen 7 mukainen menetelmä, tunnettu siitä, että dekoodaus suoritetaan usean rinnakkaisen neuroverkon avulla, ja että rin-nakkaisten neuroverkkojen ulostuloista valitaan paras estimaatti kulloinkin de-·**:*: koodatuksi bitiksi.
21. Patenttivaatimuksen 20 mukainen menetelmä, tunnettu sii-30 tä, että rinnakkaisten neuroverkkojen ulostuloista valitaan kulloinkin dekooda-tuksi bitiksi se arvo, joka esiintyy useimmissa ulostuloissa. .···. 22. Patenttivaatimuksen 20 mukainen menetelmä, tunnettu sii- tä, että rinnakkaisten neuroverkkojen ulostuloista valitaan kulloinkin dekooda- • · · : V tuksi bitiksi se arvo, joka uudelleenkoodauksen avulla osoittautuu oikeaksi. 4 · « • · • « • · « « • · « < I I » • « 1β 107484
FI991159A 1999-05-21 1999-05-21 Menetelmä ja järjestely konvoluutiodekoodauksen toteuttamiseksi FI107484B (fi)

Priority Applications (6)

Application Number Priority Date Filing Date Title
FI991159A FI107484B (fi) 1999-05-21 1999-05-21 Menetelmä ja järjestely konvoluutiodekoodauksen toteuttamiseksi
DE60040338T DE60040338D1 (de) 1999-05-21 2000-05-19 Verfahren und vorrichtung zur ausführung von faltungsdekodierung
PCT/FI2000/000457 WO2000072449A1 (en) 1999-05-21 2000-05-19 Method and arrangement for implementing convolutional decoding
EP00927303A EP1198892B1 (en) 1999-05-21 2000-05-19 Method and arrangement for implementing convolutional decoding
US09/573,693 US6578172B1 (en) 1999-05-21 2000-05-19 Method and arrangement for implementing convolutional decoding
AU45736/00A AU4573600A (en) 1999-05-21 2000-05-19 Method and arrangement for implementing convolutional decoding

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FI991159A FI107484B (fi) 1999-05-21 1999-05-21 Menetelmä ja järjestely konvoluutiodekoodauksen toteuttamiseksi
FI991159 1999-05-21

Publications (3)

Publication Number Publication Date
FI991159A0 FI991159A0 (fi) 1999-05-21
FI991159A FI991159A (fi) 2000-11-22
FI107484B true FI107484B (fi) 2001-08-15

Family

ID=8554707

Family Applications (1)

Application Number Title Priority Date Filing Date
FI991159A FI107484B (fi) 1999-05-21 1999-05-21 Menetelmä ja järjestely konvoluutiodekoodauksen toteuttamiseksi

Country Status (6)

Country Link
US (1) US6578172B1 (fi)
EP (1) EP1198892B1 (fi)
AU (1) AU4573600A (fi)
DE (1) DE60040338D1 (fi)
FI (1) FI107484B (fi)
WO (1) WO2000072449A1 (fi)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3449339B2 (ja) * 2000-06-08 2003-09-22 日本電気株式会社 復号化装置および復号化方法
GB2398976B (en) * 2003-02-28 2006-03-08 Samsung Electronics Co Ltd Neural network decoder

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4885757A (en) * 1987-06-01 1989-12-05 Texas Instruments Incorporated Digital adaptive receiver employing maximum-likelihood sequence estimation with neural networks
FR2646575A1 (fr) * 1989-04-26 1990-11-02 Labo Electronique Physique Procede et structure pour la compression de donnees
KR910017784A (ko) * 1990-03-28 1991-11-05 정호선 디코더회로
US5293453A (en) * 1990-06-07 1994-03-08 Texas Instruments Incorporated Error control codeword generating system and method based on a neural network
KR920009094B1 (ko) * 1990-06-27 1992-10-13 정호선 신경회로망을 이용한 에러정정회로
US5268684A (en) * 1992-01-07 1993-12-07 Ricoh Corporation Apparatus for a neural network one-out-of-N encoder/decoder
US5632006A (en) * 1992-03-02 1997-05-20 Motorola, Inc. Circuit and method of error correcting with an artificial neural network
US5548684A (en) * 1994-04-22 1996-08-20 Georgia Tech Research Corporation Artificial neural network viterbi decoding system and method
US5764858A (en) * 1995-09-14 1998-06-09 University Of Southern California One-dimensional signal processor with optimized solution capability
FI107767B (fi) * 1998-05-26 2001-09-28 Nokia Mobile Phones Ltd Menetelmä ja järjestely konvoluutiodekoodauksen toteuttamiseksi

Also Published As

Publication number Publication date
FI991159A0 (fi) 1999-05-21
EP1198892B1 (en) 2008-09-24
EP1198892A1 (en) 2002-04-24
US6578172B1 (en) 2003-06-10
AU4573600A (en) 2000-12-12
FI991159A (fi) 2000-11-22
DE60040338D1 (de) 2008-11-06
WO2000072449A1 (en) 2000-11-30

Similar Documents

Publication Publication Date Title
US8085883B2 (en) Method and apparatus for delayed recursion decoder
KR100583897B1 (ko) 결합된비터비디코더및결정피드백등화기
US7653868B2 (en) Method and apparatus for precomputation and pipelined selection of branch metrics in a reduced state Viterbi detector
US7702991B2 (en) Method and apparatus for reduced-state viterbi detection in a read channel of a magnetic recording system
US5905743A (en) Apparatus, methods and computer program products for sequential maximum likelihood estimating communications signals using whitening path metrics
US7103107B2 (en) Demodulator, receiver, and communication system
US5014275A (en) Sequential decoder
EP0653715B1 (en) Integrated circuit comprising a coprocessor for Viterbi decoding
US20060056503A1 (en) Pipelined parallel decision feedback decoders for high-speed communication systems
US6961392B2 (en) Joint equalization and decoding using a search-based decoding algorithm
FI107767B (fi) Menetelmä ja järjestely konvoluutiodekoodauksen toteuttamiseksi
KR100957176B1 (ko) 수신된 상보 코드 키(cck) 인코드된 심볼(칩)을 디코드하기 위한 시스템 및 방법과, 통신 채널을 통해 통신되는 심볼들을 수신하기 위한 수신기 디바이스
FI107484B (fi) Menetelmä ja järjestely konvoluutiodekoodauksen toteuttamiseksi
KR101212856B1 (ko) 통신 시스템에서 데이터를 복호하는 방법 및 장치
US6782060B2 (en) Method and apparatus for generating reliability information for channel decoding in a radio receiver
US20050265492A1 (en) Method and apparatus for precomputation and pipelined selection of intersymbol interference estimates in a reduced-state Viterbi detector
CN110710113B (zh) 序列检测器中的路径度量单元及路径度量的方法
Hamalainen et al. Novel use of channel information in a neural convolutional decoder
JP5586504B2 (ja) 復号装置
US20030194025A1 (en) Viterbi decoder and method using sequential two-way add-compare-select operations
Thune et al. Power Efficient 4D-8PSK Trellis Coded Modulation (TCM) Decoder for Wireless Application
US7372922B2 (en) RSSE optimization using hardware acceleration
Schuh et al. Low complexity decoding for punctured trellis-coded modulation over intersymbol interference channels
KR0185925B1 (ko) 비터비알고리즘에 흔적삭제방법을 이용하는 복호화방법 및 그 장치
Abu et al. Reconfigurable Enhanced Path Metric Updater Unit for Space Time Trellis Code Viterbi Decoder

Legal Events

Date Code Title Description
MA Patent expired