<Desc/Clms Page number 1>
DECODEERINRICHTING
De huidige uitvinding heeft betrekking op een decodeerinrichting waarin het Viterbi algoritme gebruikt wordt om gecodeerde berichten convolutioneel te decoderen.
Het Viterbi decodeeralgoritme is een optimale en wijd verbreide voorwaartse-fout correctietechniek om ruis uit numerieke radiosignalen te verwijderen. Zijn uitvoering in hardware is echter complex en duur zodat het gebruik van een microprocessor met meervoudig doel over het algemeen boven een toegewijde inrichting verkozen wordt.
Dit is bijvoorbeeld het geval voor de decodeerinrichting beschreven in het artikel "Real time implementation of the Viterbi decoding algorithm on a high-performance microprocessor" door S. M. Said en anderen, gepubliceerd in het tijdschrift "Microprocessors and microsystems" Vol. 10, No 1, januari/februari 1986, blz. 11 tot 16. Daarin is het Viterbi algoritme uitgevoerd in de schakeling (firmware) van een standaard microprocessor MC68000 vervaardigd door Motorola.
Een nadeel van een dergelijke decodeerinrichting is dat hij niet optimaal is voor de uitvoering van het Viterbi decodeeralgoritme. Dit is in het bijzonder zo wanneer een hoog debiet, een kleine plaatsoppervlakte en een laag vermogenverbruik vereist zijn. Inderdaad is de hardware daarvan ontworpen om standaardwoorden, van bijvoorbeeld 16 bits, te behandelen en deze overschrijden over het algemeen de noden voor het specifieke Viterbi algoritme en vergroten
<Desc/Clms Page number 2>
daarbij zekere vertragingen. Bovendien bevatten de microprocessor en zijn bijbehorende geheugens en periferie-inrichtingen meer schakelingen dan nodig voor deze toepassing, zodat zowel de vereiste plaatsoppervlakte als het vermogenverbruik onnodig hoog zijn.
Een doelstelling van de huidige uitvinding bestaat erin een decodeerinrichting van het hierboven bekende type te verschaffen, maar die in staat is een hoger debiet te verwerken en een verminderd vermogenverbruik en oppervlakte vereist.
Volgens de uitvinding wordt deze doelstelling bereikt doordat de decodeerinrichting een eerste module omvat om overgangswaarschijnlijkheden voor de mogelijke toestandsovergangen tussen twee opeenvolgende toestanden van de decodeerinrichting te berekenen en een tweede module omvat om in functie van deze overgangswaarschijnlijkheden, padwaarschijnlijkheden te berekenen voor de mogelijke paden bestaande uit opeenvolgende toestandsovergangen en eindigend in elk van deze toestanden, en om voor elk van deze toestanden, enkel het pad met de hoogste padwaarschijnlijkheidswaarde uit te kiezen.
Deze toepassingsgerichte architektuur maakt het mogelijk de hardware uitvoering en de lengte van de in het Viterbi algoritme gebruikte woorden optimaal te maken.
Zowel de vereiste oppervlakte als het vermogenverbruik worden daarbij verminderd.
Een ander probleem met de bekende decodeerinrichting is dat de prestatie en meer in het bijzonder de uitvoeringstijd van de berekening bezwaard worden door het feit dat alle berekeningen sekwentieel worden uitgevoerd.
Een andere doelstelling van de huidige uitvinding bestaat erin deze uitvoeringstijd te verminderen.
Volgens de uitvinding wordt deze andere doelstelilng verwezenlijkt doordat deze eerste module een eerste besturingsketen omvat die de werking van deze eerste module
<Desc/Clms Page number 3>
bestuurt, dat deze tweede module een tweede besturingsketen omvat die de werking van deze tweede module bestuurt en dat deze eerste module en deze tweede module onafhankelijk van elkaar werken, waarbij hun werking door een gemeenschappelijke besturingsmodule gesuperviseerd wordt.
Op deze wijze kan de eerste module de overgangswaarschijnlijkheid berekenen, terwijl de tweede module een padwaarschijnlijkheid berekent. Deze gelijktijdigheid van berekeningen vermindert drastisch de uitvoeringstijd van de berekeningen van de decodeerinrichting.
Een andere kenmerkende eigenschap van de onderhavige uitvinding is dat de decodeerinrichting een derde module omvat om uit deze door deze tweede module gekozen paden enkel een pad dat met het te decoderen geraamde bericht overeenkomt te kiezen, dat deze derde module een derde besturingsketen omvat die de werking van deze derde module bestuurt en dat deze derde module onafhankelijk van deze eerste en tweede modules werkt, waarbij de werking van al deze modulen door deze gemeenschappelijke besturingsmodule gesuperviseerd wordt.
De uitvinding is ook gekenmerk door het feit dat deze eerste module verder voor elk van deze toestandsovergangen een overgangs bitfoutwaarde berekent die functie is van het verschil tussen de bits (softbits) ontvangen in deze eerste module en de bits (gecodeerde bits) verwacht voor een zelfde toestandsovergang en dat deze tweede module verder voor elk van de gekozen paden een padbitfoutwaarde berekent die de som is van de overgangsbitfoutwaarden van de toestandsovergangen die dit pad vormen.
Nog een ander kenmerk van de uitvinding is dat deze eerste module gelijktijdig voor elke toestandsovergang deze overgangswaarschijnlijkheid en deze overgangsbitfoutwaarde berekent en dat deze tweede module tegelijkertijd en in
<Desc/Clms Page number 4>
parallel deze padwaarschijnlijkheid en deze padbitfoutwaarde berekent.
Op deze wijze heeft de decodeerinrichting een verhoogd debiet.
De hierboven vermelde en andere doeleinden en kenmerken van de uitvinding zullen duidelijker worden en de uitvinding zelf zal het best begrepen worden aan de hand van de hiernavolgende beschrijving van een uitvoeringsvoorbeeld en van de bijbehorende tekeningen waarin :
Fig. 1 een blokdiagram is van een Viterbi decodeerinrichting volgens de uitvinding ;
Fig. 2 een schematisch zicht is van een convolutionele codeerinrichting CE voor de codering van berichten, die door de Viterbi decodeerinrichting VD volgens Fig. 1 dienen te worden gedecodeerd ;
Fig. 3 toestandsovergangen toont in een gedeelte van een Trellis-diagram dat in de Viterbi decodeerinrichting van Fig. 1 wordt gebruikt ;
Fig. 4 de"softbit"interfacemodule VISOFT van Fig. l in meer detail toont;
Fig. 5 de takmetriekberekeningsmodule VITALFA van Fig. 1 in meer detail voorstelt ;
Fig. 6 de waarschijnlijkheidsmodule VIPROB van Fig.
1 in meer detail toont, en
Fig. 7 de datamodule VIDATA van Fig. 1 in meer detail voorstelt.
De in Fig. 1 getoonde decodeerinrichting VD is een Viterbi decodeerinrichting, die gelntegreerd is in een gedeelte, ongeveer een kwart, van een enkele elektronische chip welke deel uitmaakt van een ontvanger van een in de hand draagbaar mobiel station van een numeriek cellulair radiosysteem. VD wordt gebruikt om numerieke berichten te decoderen volgens het Viterbi convolutioneel decodeeralgoritme, dat bijvoorbeeld in detail is uitgelegd
<Desc/Clms Page number 5>
in het boek"Digital Communication-Fundamentals and Applications"door B. Sklar, gepubliceerd in 1988 door "Prentice-Hall International, Inc. ", en meer in het bijzonder in Hoofdstuk 6 daarvan met als titel :"Channel Coding-Part 2" (blz. 314 tot 380).
De berichten werden voordien convolutioneel gecodeerd in een zender van het numeriek cellulair radiosysteem. In deze zender worden de naar de ontvanger over te dragen databits eerst gerangschikt in bepaalde ingangsberichten of ingangssekwenties, die elk een lengte van m ingangsdatabits hebben, waarbij m bijvoorbeeld gelijk is aan 248.
Deze ingangsberichten worden dan gecodeerd in een convolutionele codeerinrichting, die deel uitmaakt van de zender, waarbij een voorbeeld van een dergelijke codeerinrichting CE schematisch in Fig. 2 is voorgesteld.
Laatstgenoemde codeerinrichting CE is een lineaire eindige-toestandmachine gevormd door een K-trapsschuifregister SR met ingang IN en met uitgangen waarmee n modulo-2 optellers Al, A2,..., An verbonden zijn. De n uitgangen 01, 02,..., On van deze opletters zijn gekoppeld met een codeerinrichtingsuitgang OUT van CE via een schematisch voorgestelde bemonsteringsschakelaar.
K is de zogenaamde"dwanglengte" (constraint length), die bijvoorbeeld gelijk is aan 5 en stelt het aantal bitverschuivingen voor over dewelke een ingangsdatabit van een ingangsbericht de codeerinrichtingsuitgang OUT kan beïnvloeden. Op ieder tijdsogenblik wordt een nieuwe ingangsdatabit in het register SR geschoven, alle bits in dit register worden naar rechts verschoven over een bitpositie, en de uitgangen van de n optellers Al to An worden sekwentieel bemonsterd om een codewoord van n gecodeerde bits aan de uitgang OUT van de codeerinrichting te verschaffen. De sekwentie van m*n gecodeerde bits, die op een ingangsbericht betrekking hebben, wordt dan gebruikt
<Desc/Clms Page number 6>
om een over te dragen golfvorm te moduleren, waarbij"x" het vermenigvuldigingsteken is.
Gezien er n gecodeerde bits zijn voor elke ingangsdatabit, is het codegetal (code rate), die de verhouding is van het aantal gecodeerde bits tot het aantal ingangsdatabits, gelijk aan n, bijvoorbeeld 2,3 of 6.
Een toestand van de codeerinrichting CE wordt bepaald als zijnde de K-1 meest rechtse toestanden of bitposities van het schuifregister SR, zodat CE 2X(K-1) mogelijke toestanden heeft, waarbij"xx"het exponentteken is. De kennis van een huidige toestand, samen met deze van de volgende ingangsdatabit van het ingangsbericht is nodig en voldoende om een volgende toestand te bepalen. Een overgang van een huidige toestand naar een volgende toestand, dit wil zeggen de toestand op een volgend tijdsogenblik, wordt"toestandsovergang"genoemd. Alleen twee welbepaalde toestandsovergangen, die overeenkomen met de twee mogelijke ingangsdatabits 0 en 1, kunnen uit elke toestand voortkomen en daarom kunnen enkel twee welbepaalde overgangen in een bijzondere toestand eindigen.
Elke toestandsovergang kan voorgesteld worden, ofwel door de volgende ingangsdatabit ofwel door de gecodeerde bits verkregen met deze volgende ingangsdatabit. Er kan worden aangetoond dat de gecodeerde bits toegevoegd aan een van de twee mogelijke toestandsovergangen, die starten vanaf een toestand, het binair complement zijn van deze toegevoegd aan de andere toestandsovergang. Hetzelfde is waar voor de gecodeerde bits van de twee toestandsovergangen die eindigen in een toestand. De repetitiviteit van deze struktuur werd uitgebaat om alle mogelijke toestandsovergangen van een codeerinrichting voor te stellen in een diagram, dat "Trellisdiagram" genoemd wordt.
Een vereenvoudige versie van een Trellisdiagram, dit wil zeggen voor een codegetal n=2 en voor een dwanglengte K=3 (en niet 5 zoals in het hierboven gegeven voorbeeld),
<Desc/Clms Page number 7>
is gedeeltelijk in Fig. 3 voorgesteld. In deze figuur zijn de [2**eK-1) ]=4 mogelijke toestanden A, B, C en D voorgesteld door verschillende stippen, zowel op een tijdsogenblik t (i) als op een volgend tijdsogenblik t (i+l), en de 8 mogelijke toestandsovergangen zijn voorgesteld door lijnen die de 4 toestanden op t (i) met deze op t (i+l) verbinden. Elke toestand wordt bepaald door een binaire waarde, bijvoorbeeld A=00t B=10, C=01 en D=ll.
Volle lijnen stellen een toestandsovergang voor opgewekt door een databit 0, terwijl streepjeslijnen een toestandsovergang voortgebracht door een ingangsdatabit 1 voorstellen.
Bijvoorbeeld, beginnend in de toestand x of B=10 op het tijdsogenblik t (i) zai een ingangsdatabit 0 leiden naar een toestandsovergang die eindigt in de toestand y of C=01 op het tijdsogenblik tri+1), waarbij deze toestandsovergang door het paar gecodeerde bits 1 en 0 is voorgesteld.
Anderzijds zal een ingangsdatabit 1 dan leiden naar een toestandsovergang die eindigt in de toestand w of D=ll op het tijdsogenblik waarbij deze toestand door het paar gecodeerde bits 0 en 1 voorgesteld wordt.
Uit hetgeen voorafgaat volgt dat te beginnen met een voorbepaalde begintoestand, bijvoorbeeld x, elke ingangsdatabit van een ingangsbericht die in de codeerinrichting CE geschreven wordt met een welbepaalde toestandovergang overeenkomt, zodat het gehele bericht van m ingangsdatabits in het Trellisdiagram door een "pad" gevormd door m opeenvolgende toestandsovergangen voorgesteld kan worden.
Zoals later in detail zal worden uiteengezet, tracht de Viterbi decodeerinrichting VD van Fig. 1 het ingangsbericht. welke dan het "geraamd bericht" genoemd zal worden, terug te vinden door dit enkele codeerpad uit alle mogelijke paden in het Trellisdiagram te extraheren.
Dit is enkel mogelijk als in de decodeerinrichting VD het Trellisdiagram van de codeerinrichting is opgeslagen in een
<Desc/Clms Page number 8>
geheugen"takmatrix" (SCNTn Fig. 5) genoemd, bijvoorbeeld onder de vorm van al de mogelijke of verwachte toestandsovergangen en/of hun toegevoegde verwachte (ingangs) databit of verwachte gecodeerde bits, en indien elk bericht in een welbepaalde toestand eindigt, bijvoorbeeld in de toestand A=00. Om laatstgenoemde voorwaarde te verwezenlijken worden aan de codeerziide, K-l ingangsbits met binaire waarde 0 en"doorspoelbits"genoemd aan de beduidende ingangsdatabits van elk ingangsbericht toegevoegd, waarbij de totale lengte van het bericht m is.
Deze doorspoelbits bewerkstelligen dat het pad gevolgd door een ingangsbericht in het Trellisdiagram van de codeerinrichting eindigt in de voorafbepaalde eindtoestand, bijvoorbeeld A=00, door de inhoud van het K-trapschuifregister SR van CE na elk van deze ingangsberichten leeg te maken.
Ingeval de beschikbare transmissie-bandbreedte door de vereiste men gecodeerde bits van een bericht overschreden zou worden, kan de redondantie verschaft door het codeeralgoritme lichtjes verminderd worden zodat het overgedragen bericht nauwkeurig deze beschikbare bandbreedte gebruikt. Deze redondantie wordt verminderd door sommige gecodeerde bits weg te laten. Een uit een bericht verwijderde bit wordt punctiebit genoemd en de om op selektieve wijze informatie, dit wil zeggen gecodeerde bits weg te laten volgens een welbepaald algoritme wordt punctie genoemd, waarbij elk mogelijk algoritme met een punctieschema overeenkomt. Door een gepaste keus van het punctieschema en daarom van de punctiebit kan de overdrachtkwaliteit, niettegenstaande de verminderde redondantie, aanvaardbaar blijven.
Het gebruik van een punctieschema wordt dus over het algemeen verkozen boven het gebruik van een lager codegetal n, omdat een dergelijk codegetal op drastische wijze de redondantie en daarmee ook de overdrachtskwaliteit vermindert. De punctietechniek is
<Desc/Clms Page number 9>
reeds bekend in de techniek en wordt daarom hier niet in meer detail uiteengezet.
De (niet getoonde) ontvanger van een mobiel station omvat een demodulator, en de in Fig. 1 getoonde Viterbi decodeerinrichting VD.
Na een demodulatie volgens een bekend demodulatieproces te hebben uitgevoerd, extraheert de demodulator de 4 meest beduidende bits uit de 12-bit woorden die uit dit proces voorspruiten. Elk stel van 4 dergelijke bits wordt"softbit"genoemd en is dus een gekwantiseerde voorstelling van een van de hierboven vermelde gecodeerde bits van de codeerinrichting.
Door het hierboven vermeld punctieschema in acht te nemen verschaft de Viterbi decodeerinrichting VD eerst correcte stellen van n softbits.
Door middel van deze softbits en de inhoud van de takmatrix berekent de Viterbi decodeerinrichting VD dan een meest waarschijnlijk pad doorheen het Trellisdiagram. Deze berekening wordt in drie stappen gedaan, namelijk een voorwaartse pas, een achterwaardse pas en een uitgangsfaze.
Tijdens de voorwaartse pas berekent VD voor elk ontvangen stel van n softbits, een waarschijnlijkheidswaarde en wijst deze toe aan al de mogelijke toestandsovergangen tussen twee opeenvolgende tijdsogenblikken, bijvoorbeeld tussen t (i) en t (i+l). Deze waarschijnlijkheidswaarde wordt "overgangswaarschijnlijkheidswaarde"genoemd en hij is maximum als de softbits nauwkeurig overeenkomen met de verwachte gecodeerde bits van de takmatrix voor een bijzondere toestandsovergang, terwijl deze waarde minimum is als geen enkele van de softbits overeenkomen met deze verwachte gecodeerde bits, beide ingeval al de bits door een softbit met dezelfde absolute waarde voorgesteld worden, bijvoorbeeld de decimale waarde (+7)
voor een logische l en de decimale waarde (-7) voor een logische 0.
<Desc/Clms Page number 10>
Ingeval de absolute waarden van de softbits verschillend zijn wordt de volgende aanpak gebruikt : indien voor een verwachte sekwentie, bijvoorbeeld 1/0/1, de softbits met amplitude (+5)/ (-1)/ (+7) worden ontvangen, wordt de overgangswaarschijnlijkheidswaarde berekend als (+5) * (+1) + (-1) * (-1) + (+7) * (+1) = 13, waarin de amplitude van elke softbit met een faktor (+1) vermenigvuldigd wordt voor een binaire data bit 1 of met (-1) voor een binaire data bit 0,
EMI10.1
terwijl als softbits met amplitude worden ontvangen de overgangswaarschijnlijkheidswaarde berekend wordt als (+3) + (+5) + (-1)
Van nu af aan zal een overgangswaarschijnlijkheidswaarde aangeduid worden met ALFA (xy) waarin x en y de twee toestanden zijn, zoals A, B, C en D getoond in Fig.
3, waarbij x de begintoestand en y de eindtoestand van een toestandsovergang zijn.
EMI10.2
VD berekent ook"padwaarschijnlijkheidswaarden"voor elk van de 2xx toestanden. Een (K-1)padwaarschijnlijkheidswaarde is een waarschijnlijkheidswaarde gelijk aan de som van de toestandsovergangswaarschijnlijkheidswaarden toegewezen aan de toestandsovergangen, die een mogelijk pad doorheen het Trellis diagram vormen en in een bijzondere toestand eindigen. Op elk tijdsogenblik en voor elke toestand wordt enkel de padwaarschijnlijkheidswaarde met de hoogste waarde gekozen en opgeslagen in een eerste geheugen (MEMP, Fig. 6) van VD. In dit eerste geheugen worden dus 2** (K-1) meest waarschijnlijke padwaarschijnlijkheidswaarden opgeslagen.
Van nu af aan zal een padwaarschijnlijkheidswaarde PROB (y) genoemd worden, waarin y een eindtoestand van een pad is.
Als een meest waarschijnlijk pad voor een toestand wordt gekozen, wordt de meest waarschijnlijke databit die met de laatste toestandsovergang van dat pad overeenkomt opgeslagen in een tweede geheugen (DMEM, Fig. 7) van VD.
Dit wordt op elk tijdsogenblik gedaan en voor elke
<Desc/Clms Page number 11>
toestand, zodat het tweede geheugen in staat is om mxt2xx (K-D] meest waarschijnlijke databits op te slaan, dit wil zeggen m data bits voor elk van de 2** (K-l) meest waarschijnlijke berichten, die elk in een onderscheiden toestand eindigen.
De voorwaartse pas voor een bericht is afgehandeld als dit tweede geheugen vol is.
Zoals reeds vermeld eindigt elk ingangsbericht met een vast aantal nulbits, dit wil zeggen de (K-l) doorspoelbits met binaire waarde 0, als gevolg waarvan de 2xx (K-l) meest waarschijnlijke paden alle in het Trellisdiagram naar de voorafbepaalde eindtoestand y=A=00 convergeren.
Dit kenmerk wordt uitgebaat gedurende de achterwaartse pas, waarin een geraamd bericht gekozen wordt uit 2** (K-l) meest waarschijnlijke berichten opgeslagen in het tweede geheugen. Dit geraamd bericht komt in the Trellisdiagram overeen met het pad dat de hoogste padwaarschijnlijkheidwaarde heeft en het wordt gereconstrueerd door dit pad in omgekeerde volgorde te volgend, dit wil zeggen beginnend met de voorafbepaalde eindtoestand A=OO. De geraamde databits van dit geraamde bericht worden dus tijdens de achterwaartse pas in omgekeerde volgorde verzameld.
Tenslotte, gedurende de uitgangsfaze worden deze geraamde databits opnieuw in de normale volgorde gezet en seri el naar een uitgang SOUT van de Viterbi decodeerinrichting VD overgedragen.
Benevens het voortbrengen van het geraamd bericht verschaft de huidige Viterbi decodeerinrichting VD ook, in de vlucht, een zogenaamd"padbitfoutwaarde"BER (y), die het aantal softbits is dat verschilt van de verwachte gecodeerde bits van een bericht dat eindigt in de toestand y. In meer detail, voor elk gekozen meest waarschijnlijke toestandovergang die xy genoemd wordt voor een overgang van
<Desc/Clms Page number 12>
de begintoestand x naar de eindtoestand y, worden de overeenkomstige softbits vergeleken met de verwachte gecodeerde bits die in takmatrix van VD is opgeslagen. Het resultaat van deze vergelijking wordt "overgangsbitfoutwaarde"TBER (xy) genoemd en is gelijk aan het aantal softbits dat verschillend (in teken) is van de gecodeerde bits.
Voor elk gekozen meest waarschijnlijk pad dat eindigt in een toestand y is BER (Y) gelijk aan de som van de overgangsbitfoutwaarden van alle toestandsovergangen van dat pad. Voor elk van de 2** (K-IJ toestanden wordt een padbitfoutwaarde opgeslagen in een derde geheugen (MEMB, Fig. 6) van VD. Dit derde geheugen wordt toegevoegd aan het bovengenoemde eerste geheugen (MEMP, Fig. 6) waarin de meest waarschijnlijke padwaarschijnlijkheidswaarden voor dezelfde toestand zijn opgeslagen. De padbitfoutwaarde van dit bericht wordt aan een uitgang BOUT van de Viterbi decodeerinrichting VD verschaft.
De in Fig. I getoonde Viterbi decodeerinrichting VD zal hierna beschreven worden, eerst algemeen en vervolgens in meer detail met verwijzing naar Fig. 4 tot Fig. 7.
VD heeft een 4-segment domino architectuur bestaande uit de blokken VISOFT, VITALFA, VIPROB, die alle gemeenschappelijk door een besturingsmodule VICONT bestuurd worden. De eerste vier blokken, dit wil zeggen de softbit interface module VISOFT, de takmatrixberekeningsmodule VITALFA, de waarschijnlijkheidsmodule VIPROB en de datamodule VIDATA worden alle gebruikt voor de voorwaartse pas, terwijl VIDATA ook voor de achterwaartse pas en de uitgangsfaze gebruikt wordt.
Vanuit de hierboven vermelde demodulator van de ontvanger en via een ingangsbus SBIN ontvangt VISOFT softbits en draagt ze over naar VITALFA na te hebben rekening gehouden met een mogelijk punctieschema, zoals hierboven beschreven. De overdracht tussen VISOFT en VITALFA wordt verwezenlijkt via een interne bus BIT.
<Desc/Clms Page number 13>
VISOFT is ook met de voorafgaande demodulator verbonden door twee besturingslijnen REQ en RDY. Via REQ vraagt VISOFT nieuwe softbits aan de demodulator en via RDY geeft deze omzetter aan dat de gevraagde softbits op de ingangsbus SBIN beschikbaar zijn. Gelijkaardige besturingslijnen RNEXT en SOKN zijn anwezig tussen VISOFT en VITALFA. Via RNEXT vraagt VITALFA een nieuw stel van n softbits aan VISOFT en via SOKN deelt VISOFT aan VITALFA mee dat deze softbits op de bus BIT beschikbaar zijn.
Tenslotte worden algemene stuursignalen en configuratieinformatie, bijvoorbeeld de berichtlengte m, het codegetal n en het punctieschema, door de gemeenschappelijke besturingsmodule VICONT zowel aan VISOFT als aan VITALFA, VIPROB en VIDATA toegevoerd via een interne besturingsbus CTB, die al deze blokken verbindt.
VITALFA berekent dan, voor elke mogelijke toestandovergang in het Trellisdiagram, de overgangswaarschijnlijkheidswaarden ALFA (xy) van deze toestandsovergangen in functie van de n ontvangen softbits.
Zoals reeds vermeld worden de overgangswaarschijnlijkheidswaarden ALFA (xy) berekend door de n ontvangen softbits te vergelijken met de n verwachte gecodeerde bits voor een zelfde toestandsovergang, waarbij deze verwachte gecodeerde bits worden opgeslagen in de takmatrix (SCNT, Fig. 5) die deel uitmaakt van VITALFA. De aldus berekende overgangswaarschijnlijkheidswaarden ALFA (xy) worden dan naar VIPROB via een interne bus ALFAB overgedragen.
Tegelijkertijd met de berekening van de meest waarschijnlijke overgangswaarschijnlijkheidswaarden
EMI13.1
ALFA berekent VITALFA ook een overeenkomstige overgangbitfoutwaarde TBER die aan VIPROB via een interne bus BERI wordt toegevoerd.
VIPROB berekent dan een nieuw stel van meest waarschijnlijke padwaarschijnlijkheidswaarden PROB (y),
<Desc/Clms Page number 14>
namelijk een voor elke (eind) toestand y, uitgaande van een voorig stel padwaarschijnlijkheidswaarden opgeslagen in het hierboven vermeld eerste geheugen (MEMP, Fig. 6) dat van VIPROB deel uitmaakt en uitgaande van de overgangswaarschijnlijkheidswaarden ALFA (xy) verschaft door VITALFA. Voor elke eindtoestand y is de gekozen of nieuwe meest waarschijnlijke padwaarschijnlijkheidswaarde PROB (y) gelijk aan de hoogste waarde onder de sommen van de vorige meest waarschijnlijke padwaarschijnlijkheidswaarden PROBE) opgeslagen in het eerste geheugen en de overgangswaarschijnlijkheidswaarde ALFA (xy) voor elke begintoestand x.
Als aldus door VIPROB voor een eindtoestand y een meest waarschijnlijk pad doorheen het Trellisdiagram vastgesteld wordt, wordt een meest waarschijnlijke databit afgeleid vanuit de laatste meest waarschijnlijke toestandsovergang van dit pad. Deze meest waarschijnlijke databit wordt dan via een klem DOUT naar VIDATA overgedragen.
Gelijktijdig met de berekening van een meest waarschijnlijke padwaarschijnlijkheidswaarde PROB (y), en daarom met de keuze van een pad en meer in het bijzonder van de laatste meest waarschijnlijke toestandsovergang ALFA (xy) van dat pad, berekent VIPROB een overeenkomstig padbitfoutwaarde BER (y) die de som is van de overgangsbitfoutwaarden TBER (xy) van al de toestandsovergangen xy die het gekozen pad vormen. Met dit doel omvat VIPROB het hierboven vermelde derde geheugen (MEMB, Fig. 6) waarin voor elke eindtoestand y een meest waarschijnlijke padbitfoutwaarde BER (y) is opgeslagen.
Zoals bij de berekening van een nieuwe PROB (y), is een nieuwe BER (Y) gelijk aan de som van een vorige BER (x) opgeslagen in het derde geheugen en TBER (xy), die door VITALFA via de bus BERI wordt toegevoerd. Bij de berekening van BER (y) wordt er echter geen keuze gemaakt tussen 2XXCK-I) waarden omdat BER (x) en TBER (xy) opgelegd
<Desc/Clms Page number 15>
zijn en overeenstemmen met de laatste toestandsovergang van het meest waarschijnlijke pad, reeds gekozen door VIPROB.
VITALFA en VIPROB zijn verder onderling verbonden door twee besturingslijnen, ACK en SOKA. Via ACK vraagt VIPROB aan VITALFA om een nieuwe overgangswaarschijnlijkheidswaarde ALFA (xy) en een nieuwe overgangsbitfoutwaarde TBER (y) en via SOKA bericht VITALFA aan VIPROB dat deze waarden op de bussen ALFAB en BERI beschikbaar zijn.
VIDATA, die meest waarschijnlijke databits van VIPROB via de klem DOUT ontvangt, omvat het hierboven vermelde tweede geheugen (DMEM, Fig. 7), dat in staat is m*2** (k-l) meest waarschijnlijke databits op te slaan, dit wil zeggen de 2x (k-l) meest waarschijnlijke berichten met een bericht voor elke eindtoestand. Door de bovengenoemde doorspoelbits weet men dat het geraamd bericht, dit wil zeggen het enige overblijvende meest waarschijnlijke bericht dat aan de uitgang SOUT van de Viterbi decodeerinrichting VD verschaft zal worden, in de toestand y=A=00 eindigt. De inhoud van het tweede geheugen is zo ingericht dat VIDATA in staat is om uitgaande van deze bekende eindtoestand A=00 de (geraamde) databits uit het geraamd bericht te halen.
Deze aldus in omgekeerde volgorde verzamelde databits worden tijdelijk opnieuw in het tweede geheugen opgeslagen, maar nu in voorafbepaalde andere locaties daarvan. Als al de geraamde databits van het geraamd bericht door VIDATA gekozen worden, brengt deze de geraamde databits op seriële wijze en in de goede volgorde op de uitgang SOUT.
De werking van de vier hoofdblokken van VD zal hierna in meer detail beschreven worden aan de hand van de Fig. 4 tot Fig. 7.
Fig. 4 toont de softbit interface module VISOFT in meer detail. VISOFT omvat een besturingsketen of eindige-toestandsmachine SFSM waarmee de besturingslijnen
<Desc/Clms Page number 16>
REQ, RDY, RNEXT en SOKN alsook de besturingsbus CTB verbonden zijn. SFSM is de zogenaamde "lokale intelligentie" van VISOFT en bestuurt, via een klem PUNCT, een punctiemultiplexeerketen PMUX die ook van VISOFT deel uitmaakt. ingang van PMUX is de ingangsbus SBIN en zijn uitgang is de interne bus BIT.
Het doel van PMUX bestaat erin om punctiebits in de stroom van softbits, ontvangen via SBIN, in te lassen. SFSM bestuurt, via de klem PUNCT, de werking van PMUX volgens een punctieschema, dat via de besturingsbus CTB van VICONT wordt ontvangen. PMUX rangschikt dan de stroom van bits in stellen van elk n softbits. Op aanvraag van VITALFA via de besturingslijn RNEXT laadt PMUX een stel van n softbits op de bus BIT en activeert het signaal op de besturingsverbinding SOKN.
De module VITALFA, getoond in Fig. 5, ontvangt dan in zijn rekenkundige eenheid ALUA het stel van n softbits vanuit VISOFT. ALUA bevat zes vergrendelketens, die in staat zijn tot zes softbits op te slaan. Dit komt overeen met het hierboven vermelde maximum codegetal n. VITALFA omvat ook een besturingsketen of eindige-toestandsmachine AFSM waarmee de besturingsbus CTB van VICONT verbonden is, alsook de besturingslijnen RNEXT, SOKN, ACK en SOKN. Deze lokale intelligentie AFSM van VITALFA bestuurt ALUA via een interne bus LADR, en bestuurt de genoemde takmatrix SCNT via een klem CNT, waarbij deze matrix SCNT via een bus CMP met ALUA verbonden is. De uitgangen van de rekenkundige eenheid ALUA zijn met VIPROB via de bussen ALFAB en BERI verbonden.
De takmatrix SCNT is een ROM geheugen waarin, zoals reeds vermeld, alle mogelijke toestandsovergangen van het Trellis diagram van de codeerinrichting zijn opgeslagen onder de vorm van verwachte gecodeerde bits en/of verwachte databits. Onder de besturing van AFSM vergelijkt ALUA, voor al de toestandsovergangen die in de toestand y
<Desc/Clms Page number 17>
eindigen, de verwachte gecodeerde bits ontvangen van SCNT via de bus CMP met de softbits ontvangen van VISOFT via de bus BIT. De resultaten van deze vergelijkingen zijn de bovengenoemde overgangswaarschijnlijkheidswaarde ALFA (xy) en de overgangsbitfoutwaarde TBER (xy), die berekend worden door de rekenkundige eenheid ALUA, zoals hierboven beschreven aan de hand van een voorbeeld en die gelijktijdig respektievelijk op de bussen ALFAB en BERI geladen worden.
In een voorkeursuitvoering en gezien de overgangswaarschijnlijkheidswaarden van toestandsovergangen, die eindigen in een bijzondere toestand y, beide gelijk zijn in absolute waarde en enkel van teken verschillen, zal enkel deze absolute waarde, "ALFA (y)" genoemd, van VITALFA naar VIPROB via de bus ALFAB overgedragen worden. Op gelijkaardige wijze zijn de overgangsbitfoutwaarden binair complementair, zodat het voldoende is slechts een van hen naar VIPROB als BER (Y) over te dragen via de bus BERI.
In VPROB, getoond in Fig. 6, worden nieuwe meest waarschijnlijke padwaarschijnlijkheidswaarden berekend voor elke eindtoestand. Bijvoorbeeld, een nieuwe meest waarschijnlijke padwaarschijnlijkheidswaarde PROB (y) om te eindigen in de toestand y te beginnen vanaf de toestand x of z, is de hoogste waarde onder PROB (x) +ALFA (y) en PROBCz)-ALFACv) waarbij PROB (x) en PROB (z) uit het eerste geheugen MEMP gelezen worden en ALFA (y) via de bus ALFAB wordt ontvangen.
Er dient opgemerkt dat de Trellisdiagram waarvan een gedeelte in Fig. 3 getaont wordt, kan verdeeld worden in een aantal gesloten systemen "vlinders" (butterflies) genoemd. Een van deze vlinders is bijvoorbeeld het systeem bestaande uit de toestanden B en D op het tijdsogenblik t (i) en de toestanden C en D op het tijdsogenblik t (i+l) deze toestanden worden hierna respectievelijk als x, z, y
<Desc/Clms Page number 18>
en w aangewezen.
Men kan zien dat de berekening van een volledige vlinder, met resultaat een nieuwe padwaarschijnlijkheidswaarde (PROB) voor de toestanden y en w, gesteunt is op dezelfde ingangswaarden, dat wil zeggen PROB (x) PROB (z) en ALFA (y) [of ALFA (w)]. De volgende vergelijkingen zijn geldig voor de berekening van beide PROB (y) en PROB (w) :
Als PROB (x) + ALFA (xy) > PROB (z) + ALFA (zy) dan PROB (y) = PROB (x) + ALFA (xy) anders PROB (y) = PROB (z) + ALFA (zy) en als PROB (x) + ALFA (xw) > PROB (z) + ALFA (zw) dan PROB (w) = PROB (x) + ALFA (xw) anders PROB (w) = PROB (z) + ALFA (zw)
Omdat ALFA (xy) =-ALFA (zy) en ALFA (xy) =-ALFA (xw) en ALFA (xw) =-ALFA (zw) kan men daarvan afleiden dat ALFA (xy) = ALFA (zw) of, volgens de bovenvermelde notatie, dat ALFA (y) = ALFA (w) p
EMI18.1
wat men ook als ALFA kan aanduiden.
Door dat er 2** die toelaten de padwaarschijnlijkheidswaarden te berekenen voor al de eindtoestanden, berekent VIPROB 2**(k-2) stellen van padwaarschijnlijkheidswaarden (PROB) voor twee eind toestanden elk.
Tegelijkertijd worden nieuwe meest waarschijnlijke padbitfoutwaarden BER (y), BER (w) berekend, als BER (x) +TBER (y) of BER (z)- [n-TBER (y)] en BER (x) + TBER (w) of BER (z)- [n-TBER (w)] waar n het bovenvermelde codegetal is, afhankelijk van de gekozen nieuwe meest waarschijnlijke padwaarschijnlijkheidswaarden PROB (y) en PROB(w), gekozen zoals hierboven beschreven. BER (x) en BER (z) worden uit het derde geheugen MEMB gelezen en TBER (y) en TBER (w) worden via de bus BERI in VIPROB ontvangen.
<Desc/Clms Page number 19>
In meer detail, VIPROB bestaat uit twee gelijkaardige blokken (boven en onder in Fig. 6), namelijk een voor de behandeling van de padwaarschijnlijkheidswaarden en de andere voor de verwerking van de padbitfoutwaarden. Het (bovenste) waarschijnlijkheidsblok van VIPROB omvat : - een vergrendelketen ALFAL voor de ontvangst van de overgangswaarschijnlijkheidswaarden ALFA (y) via de bus
ALFAB ;
- twee rekenkundige eenheden ALUP1 en ALUP2 om gelijktijdig de nieuwe padwaarschijnlijkheidswaarden PROB (x) +ALFA (y) en PROB (z)-ALFA (y) te berekenen uitgaande van vorige padwaarschijnlijkheidswaarden PROB (x) en PROB (z), die in het geheugen MEMP zijn opgeslagen en daarin via een bus PBUS worden ontvangen en uitgaande van de waarde ALFA (y) die in deze rekenkundige eenheden vanuit de vergrendelketen ALFAL en via een bus ALFAC werden ontvangen en - een vergelijkings-en de multiplexeerketen PRMUX waarmee zowel ALUP1 en ALUP2 via respectieve bussen PB1 en PB2 verbonden zijn en waarvan de uitgang verbonden is met het geheugen MEMP via de bus PBUS, waarbij PRMUX de nieuwe meest waarschijnlijke padwaarschijnlijkheid PROB (y)
kiest onder de twee vanuit ALUP1 en ALUP2 ontvangen waarden, zoals hierboven uiteengezet.
Er dient opgemerkt dat het eerste geheugen MEMP en het derde geheugen MEMB aan elkaar toegevoegd zijn en samen een groot RAM geheugen MEM vormen met een capaciteit van 2xx (K-l) woorden van elk 20 bits. In het padwaarschijnlijkheidsgedeelte MEMP van MEM zijn woorden van 12 bits opgeslagen, terwijl in het padbitfoutwaarde-gedeelte MEMB van MEM woorden van 8 bits zijn opgeslagen, waarbij dit gedeelte verbonden is met het hierna beschreven (onderste) bitfoutwaardeblok van VIPROB.
Evenals het (bovenste) waarschijnlijkheidsblok omvat
<Desc/Clms Page number 20>
het (onderste) bitfoutwaarde-blok : - een vergrendelketen BERIL am de overgangsbitfoutwaarden
TBER (y) van de bus BERI te ontvangen ; - twee rekenkundige eenheden ALUB1 en ALUB2 am gelijktijdig de nieuwe bitfoutwarden BER (x) +TBER (y) en BER (z) + [n-TBER (y)] te berekenen uitgaande van voorgaande bitfoutwaarden BER (x) en BER (z) opgeslagen in het geheugen MEMB en daarin ontvangen via een bus BBUS en uitgaande van de overgangsbitfoutwaarden TBER (y) ontvangen vanuit de vergrendelketen BERIL via een bus
BERIB ;
en - een multiplexeerketen BRMUX waarmee zowel ALUB1 als
ALUB2 verbonden zijn via respektive bussen OBI en OB2 en waarvan de uitgang met het geheugen MEMB via de bus
BBUS verbonden is, waarbij BRMUX de nieuwe meest waarschijnlijke bitfoutwaarde (BER (y) kiest uit de twee waarden ontvangen van ALUB1 en ALUP2, zoals hierboven uiteengezet, dit wil zeggen, volgens de keuze gemaakt door PRMUX.
De vergelijkings-en multiplexeerketen PRMUX heeft verder een uitgang die met de klem DOUT verbonden is en via dewelke de meest waarschijnlijke databit die overeenkomt met de laatste meest waarschijnlijke overgangswaarschijnlijkheidswaarde gekozen door PRMUX, dit wil zeggen het pad met de hoogste padwaarschijnlijkheidswaarde, naar de module VIDATA wordt overgedragen. Op gelijkaardige wijze heeft de multiplexer BRMUX ook een uitgang die verbonden is met de uitgangsklem BOUT van de Viterbi decodeerinrichting VD en waarop de meest waarschijnlijke bitfoutwaarde BER (y) van dit gekozen meest waarschijnlijke pad beschikbaar is.
Tenslotte omvat VIPROB een besturingsketen of eindige- toestandsmachine PFSM, die de lokale intelligentie van VIPROB is en waarmee de besturingsbus CTB en de hierboven vermelde besturingslijnen ACK en SOKA verbonden
<Desc/Clms Page number 21>
zijn. PFSM bestuurt zowel de rekenkundige eenheden ALP1, ALUP2, ALUB1 en ALUB2 als het RAM geheugen MEM van een gemeenschappelike interne besturingslus ICB.
Als een meest waarschijnlijke padwaarschijnlijkheidswaarde PROB (y) door PRMUX gekozen wordt, bijvoorbeeld de uitgang van ALP1, dan wordt deze nieuwe waarde PROB (y) in MEMP geschreven, de overeenkomstige laatste meest waarschijnlijke databit of 1 wordt naar DOUT overgedragen, en BRMUX kiest de rekenkundige eenheid ALUB1 die aan ALUP1 is toegevoegd. De bitfoutwaarde BER (y) aan de uitgang van ALUB1 wordt dan in het geheugen MEMB geschreven via de bus BBUS en naar de klem DOUT overgedragen.
Als deze bewerkingen worden achtereenvolgens uitgevoerd voor de 2** (K-l) toestanden, voor elk waarvan er aldus slechts een meest waarschijnlijk pad doorheen het Trellisdiagram gekozen wordt, waarbij het (de) andere mogelijke pad (en) systematisch door VIPROB ge limineerd wordt (worden).
Zoals reeds vermeld, telkens een pad door VIPROB gekozen wordt, wordt de meest waarschijnlijke databit die met de laatste toestandsovergang van dat pad overeenkomt naar VIDATA (getoond in Fig. 7) overgedragen via DOUT. Dit
EMI21.1
betekent dat VIDATA voor elk te decoderen bericht m*2** databits ontvangt, waarbij m de hierboven vermelde berichtlengte is en K de dwanglengte is.
Opdat hij slechts een genaamd bericht uit al deze databits zou halen omvat VIDATA : - het hierboven vermelde tweede geheugen DMEM dat in staat is 2** (K-l) meest waarschijnlijke berichten van elk m databits op te slaan ; - een 2** (K-l) schuifregister- en vergrendelketen SLS om een stel van meest waarschijnlijke data bits te vergrendelen ; - een 2** (K-l) -naar-l bit multiplexer DMUX ;
<Desc/Clms Page number 22>
- een K-l bit schuifregister SLA om DMUX te adresseren - een selectieketen PSEL om naar SLS de databit op klem
DOUT of op de uitgang van DMUX over te dragen ; en - een besturingsketen of eindige-toestandsmachine DFSM om de bewerkingen van VIDATA onder de supervisie van
VICONT te synchronizeren.
In het volgende gedeelte van de tekst wordt verondersteld dat de dwanglengte K gelijk is aan 5 en dat de lengte m van het genaamde bericht gelijk is aan 248.
De eindige-toestandsmachine of lokale intelligentie DFSM ontvangt van VICONT besturingsinformatie via de bus CTB en bestuurt zowel de werking van DMEM via een interne adresbus ADB als de werking van PSEL via twee besturingsklemmen FP en BP. DFSM geeft via FP of BP aan dat respektievelijk de voorwaartse pas of de achterwaartse pas bezig is.
Gedurende de voorwaartse pas worden de meest waarschijnlijke databits van de laatste toestandsovergang van de paden, door VIPROB gekozen voor de 2**CK-1) =16 toestanden, aan VIDATA achtereenvolgens via de klem DOUT toegevoerd. Gezien dan een besturingssignaal FP op de gelijknamige besturingsklem van DFSM geactiveerd wordt, draagt PSEL deze databits seri el over naar SLS via een klem SIN. Als een 16-bitwoord, gevormd door 16 meest waarschijnlijke databits-een voor elke eindtoestand-in de schuifregister-en vergrendelketen SLS is verzameld, dan bestuurt DFSM de overdracht van dit woord in een voorafbepaalde rij van het geheugen DMEM.
Deze overdracht wordt verwezenlijkt via een bidirectionele 16-bit bus DB en elk 16-bit woord komende van SLS wordt in een welbepaalde rij van de m=248 rijen of woordlokaties van DMEM opgeslagen, te beginnen met de bovenste rij RO.
Als 248 woorden van ieder 16 meest waarschijnlijke bits in de rijen R to R247 van DMEM worden opgeslagen, is de voorste pas afgehandeld.
<Desc/Clms Page number 23>
De volgende werkwijze verwerkt de data opgeslagen in DMEM in omgekeerde volgorde, dit wil zeggen van het laatste woord ontvangen in SLS en dus opgeslagen in rij R247 naar het eerste woord opgeslagen in rij RO, en wordt daarom "achterwaartse pas" genoemd, zoals hierboven vermeld.
Gedurende deze achterwaartse pas wordt een besturingssignaal BP op de gelijknamige besturingsuitgang van DFSM geactiveerd. Dit signaal BP belet de overdracht, via PSEL, van databits van DOUT naar SLS, maar maakt de overdracht van databits mogelijk van DMUX naar SLS via een klem SSEL, PSEL en SIN waarbij de klem SSEL, DMUX en PSEL verbindt.
De extractie van een geraamd bericht uit het geheugen DMEM is gesteund op een eigenschap van het Trellisdiagram, volgens dewelke de binaire waarde van een eindtoestand y gegeven wordt door de binaire waarde van de starttoestand x, verschoven over 1-bitpositie naar rechts en waaraan de databit van de toestandsovergang xy wordt (links) gehangen.
In meer detail, om de laatste geraamde databit van het geraamd bericht te extraheren wordt de adresaanwijsinrichting (pointer) van het geheugen DMEM door DFSM eerst, op de laatste rij R247 daarvan ingesteld, dit wil zeggen op de rij waarin het laatste woord ontvangen gedurende de voorwaartse pas is opgeslagen, terwijl het
EMI23.1
4-bitschuifregister SLA wordt geYntialiseerd op 0, 0, 0, 0, dit wil zeggen om de eerste linkse bit in de multiplexer DMUX te kiezen. Als resultaat, en omdat de multiplexer DMUX zijn 16-bitwoord ingangsdata vanuit het geheugen DMEM via een bus LB ontvangt, wordt de databit met positie R247/CO, waarin CO de eerste linkse kolom van DMEM aanduidt, gekozen en aan de uitgang van DMUX verschaft.
Van daaruit wordt deze laatste geraamde databit naar de schuifregister-en vergrendelketen SLS overgedragen via de klem SSEL, de selector PSEL en de klem SIN. Deze laatste
<Desc/Clms Page number 24>
geraamde databit, die dan de meest linkse positie van de schuifregister-en vergrendelketen SLS inneemt, wordt dan in het 4-bitsschuifregister SLA geschoven via een klem LB, die deze meest linkse positie van SLS met een seri le ingang van SLA verbindt. Deze databit wordt ook via de bus DB gekopieerd in de lokatie van R247/CO van het geheugen DMEM. De reden van deze kopie is dat gedurende deze achterwaartse pas het geraamd bericht bit per bit in de eerste kolom CO van het geheugen DMEM zal geconstrueerd worden, waarbij de laatste geraamde databit zich in de rij R247 en de eerste zich in de rij RO bevindt.
Er dient opgemerkt dat de lokatie R247/CO gekozen wordt om de laatste geraamde databit te extraheren, dit wil zeggen om de achterwaartste pas te starten, omdat de hierboven vermelde doorspoelbits die aan elk bericht toegevoegd worden en die er voor zorgen dat het meest waarschijnlijke pad doorheen het Trellisdiagram naar een voorafbepaalde eindtoestand convergeert. In het onderhavige geval is dit de toestand die met de kolom CO van het geheugen DMEM overeenkomt, dit wil zeggen toestand A met binaire waarde 00.
Om de voorlaatste geraamde databit uit het geraamd bericht te extraheren, wordt de rij R246 (niet getoond) van DMEM door DFSM gekozen en wordt het kolomadres van deze bit door de huidige inhoud van SLA gegeven. Als resultaat wordt de rij R246 van DMEM aan de ingang van DMUX gelegd en wordt er een door SLA gekozen databit daarvan in de meest linkse positie van SLS gekopieerd via SSEL, PSEL en SIN.
Van daaruit wordt deze voorlaatste geraamde databit in SLA geschreven via LB en in de lokatie R246/CO van het geheugen DMEM gekopieerd.
Elke geraamde databit wordt aldus uit DMEM geextraheerd en in de eerste kolom CO daarvan gekopieerd.
Als de m=248 kolommen van DMEM werden behandeld, waarbij de laatste behandelde rij RO is, is de achterwaartse pas
<Desc/Clms Page number 25>
afgehandeld.
Gedurende de volgende uitgangsfaze worden de m geraamde databits uit het geheugen DMEM gelezen en seri el aan de uitgang DOUT van de Viterbi decodeerinrichting VD gelegd. Met dit doel wordt de kolom CO van DMEM uitgelezen van rij RO tot rij R247 en het geraamde bericht wordt naar DOUT overgedragen in de juiste volgorde via de bus DB en de schuifregister-en vergrendelketen SLS.
Gezien elke taak van het Viterbialgoritme door onderscheiden blokken of modulen VISOFT, VITALFA, VIPROB en VIDATA van VD uitgevoerd wordt, waarbij elk een lokale intelligentie respektievelijk SFSM, AFSM, PFSM en DFSM heeft en gezien deze blokken een zelfde nsubroutine" herhalen voor elk stel daarin ontvangen bits, kunnen deze verschillende taken in een pijplijn gestoken worden onder de besturing van de gemeenschappelijke besturingsmodule VICONT en doorheen de lokalen intelligentie van elk blok.
Deze"pijplijning"betekent bijvoorbeeld dat eens dat de takmetriekmodule VITALFA de overgangswaarschijnlijkheidswaarden ALFA (y) en de overgangsbitfoutwaarden TBER (Y) voor al de 2** (K-l) toestanden berekend heeft en deze waarden naar VIPROB heeft overgedragen, er een nieuw stel van n softbits door VISOFT kan verschaft worden, waarbij VITALFA zijn berekeningen opnieuw start. Verder, terwijl deze volgende berekening van ALFA (y) en van TBER (y) door VITALFA uitgevoerd wordt, past VIPROB zowel het padwaarschijnlijkheidsgedeelte MEMP als het padbitfoutwaardegedeelte MEMB van zijn RAM geheugen MEM aan met de berekende waarden PROB (y) en BER (y) en draagt hij 2** (K-l) meest waarschijnlijke data bits naar VIDATA over.
VIDATA past dan zijn geheugen DMEM aan tot dit vol is en start dan de achterwaartse pas, die door de uitgangsfaze zal gevolg worden.
Zoals reeds vermeld wordt de timering van al deze aktiviteiten door VICONT gesuperviseerd via de
<Desc/Clms Page number 26>
gemeenschappelijke besturingsbus CTB, via welke VICONT tot de verscheidene lokale intelligenties van VD toegang heeft. Elk van deze lokale intelligenties SFSM, AFSM, PFSM en DFSM bestuurt dan de lokale werking van het blok of de module waartoe hij behoort en zendt besturingsinformatie terug naar de gemeenschappelijke besturingsmodule VICONT, bijvoorbeeld als een taak afgehandeld is.
Er dient tenslotte opgemerkt dat gezien in het codeerprincipe gebruik gemaakt wordt van de historiek, geschouwd over de dwanglengte K, van het codeerbericht welke door een stroom van ingangsdatabits gevormd wordt, de Viterbi decodeerinrichting VD in staat is om salvo's van overdrachtfouten te corrigeren gesteund op het hierboven vermeld decodeeralgoritme met maximum waarschijnlijkheid, zolang de salvo's van fouten korter dan deze dwanglengte zijn.
Hoewel de principes van de uitvinding hierboven zijn beschreven aan de hand van bepaalde uitvoeringsvormen en wijzigingen daarvan, is het duidelijk dat de beschrijving slechts bij wijze van voorbeeld is gegeven en de uitvinding niet daartoe is beperkt.