DE102004061830A1 - Viterbi decoder efficiency improving method for orthogonal frequency division modulation, involves predicting interference in decoded bit sequence due to error while decoding received signal by quality detection device - Google Patents

Viterbi decoder efficiency improving method for orthogonal frequency division modulation, involves predicting interference in decoded bit sequence due to error while decoding received signal by quality detection device Download PDF

Info

Publication number
DE102004061830A1
DE102004061830A1 DE200410061830 DE102004061830A DE102004061830A1 DE 102004061830 A1 DE102004061830 A1 DE 102004061830A1 DE 200410061830 DE200410061830 DE 200410061830 DE 102004061830 A DE102004061830 A DE 102004061830A DE 102004061830 A1 DE102004061830 A1 DE 102004061830A1
Authority
DE
Germany
Prior art keywords
viterbi decoder
bit sequence
decoded bit
path
quality
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
DE200410061830
Other languages
German (de)
Other versions
DE102004061830B4 (en
Inventor
Alain Chiodini
Jérôme Vanthournout
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wipro Ltd
Original Assignee
NewLogic Technologies GmbH
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 NewLogic Technologies GmbH filed Critical NewLogic Technologies GmbH
Priority to DE200410061830 priority Critical patent/DE102004061830B4/en
Publication of DE102004061830A1 publication Critical patent/DE102004061830A1/en
Application granted granted Critical
Publication of DE102004061830B4 publication Critical patent/DE102004061830B4/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/3738Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with judging correct 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • H03M13/4161Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management
    • H03M13/4184Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management using register-exchange

Landscapes

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

Abstract

The method involves performing branch metrics computation on received data by a calculator (12). Paths for conditions of the Trellis of the Viterbi algorithm are stored, where the path is a bit sequence with decoded bits. Interference in the decoded bit sequence due to an error is predicted by a quality detection device while decoding a received signal and signal receiving process is terminated upon prediction of the interference. An independent claim is also included for a Viterbi decoder including a quality detection device.

Description

Gebiet der ErfindungTerritory of invention

Die vorliegende Erfindung bezieht sich auf ein Verfahren zur Verbesserung der Leistungsfähigkeit eines Viterbi Decoders und ein Viterbi Decoder zum Einsatz dieses Verfahrens entsprechend der Präambel der Patentansprüche.The The present invention relates to a method for improvement the efficiency a Viterbi decoder and a Viterbi decoder to use this Procedure according to the preamble of the claims.

Technischer Hintergrund und Diskussionen des bisherigen Stands der Techniktechnical Background and discussions of the prior art

Die Empfang und die Demodulation von eingehenden des mittels orthogonalem Frequenzmultiplex (OFDM) modulierten Datenpaketen durch einen Empfänger (z. B. einen WLAN-Empfänger), macht das Zusammenwirken verschiedener funktionaler Einheiten im Empfänger notwendig. Das Frequenzmultiplexing (FDM) ist eine Technologie, welche eine Vielzahl von Signal simultan über ein geteiltes Medium, wie einen Draht oder eine Radiowelle, aussendet. In einem solchen System moduliert der Sender ein separates Signal in separate Frequenzbänder und die resultierenden modulierten Signale werden aufsummierten, um ein einziges Signal im Zeitbereich zu erhalten. Die OFDM-Breitbandspektrum-Technologie verteilt die Daten über eine große Zahl von Trägern, welche voneinander in präzise eingeteilten Frequenzen beabstandet sind. Dieser Abstand hat eine „Orthogonalität" zur Folge. Dadurch wird in dieser Technik die Modulation von anderen Frequenzen als die jeweils eigene unterbunden. Die Vorteile von OFDM sind eine hohe spektrale Effizienz, eine geringe Störneigung zu HF-Interferenzen und eine geringe Mehrwegausbreitungsbeeinflussung. Dieses ist hilfreich, weil ein typisches, erdgebundenes Aussendeszenario eine Mehrwegausbreitung (z. B. das ausgestrahlte Signal erreicht den Empfänger über eine Vielzahl von unterschiedlich langen Wegen) einschließt. Da die vielfältigen Versionen des Signals mit den Produkten anderer Störquellen überlagert sind, (was sich in der Intersymbolinterferenz (ISI) niederschlägt) bedeutet, dass die Ursprungsinformation nur schwer zu extrahieren ist.The Reception and demodulation of incoming by means of orthogonal Frequency Division Multiplexing (OFDM) modulated data packets by a receiver (e.g. A WLAN receiver), makes the interaction of different functional units in the receiver necessary. Frequency Division Multiplexing (FDM) is a technology which a variety of signal simultaneously over a shared medium, such as a wire or radio wave. In such a system The transmitter modulates a separate signal into separate frequency bands and the resulting modulated signals are summed up to to get a single signal in the time domain. The OFDM broadband spectrum technology distributes the data over a big number of carriers, which of each other in precise divided frequencies are spaced. This distance results in an "orthogonality" in this technique the modulation of frequencies other than the each own prevented. The benefits of OFDM are high spectral efficiency, a low susceptibility to RF interference and a low multipath propagation influence. This is helpful because a typical, earthbound, outdoor scenario is multipath propagation (eg the radiated signal reaches the receiver via a Variety of paths of different lengths). Because the diverse Versions of the signal overlaid with the products of other sources of interference are (what is reflected in intersymbol interference (ISI)), that the source information is difficult to extract.

Im Allgemeinen werden OFDM modulierte Signale in konventionelle, modulierte Signale eingebetteten, welche am Besten mittels eines Viterbi Decoders decodierte werden können. Der Viterbi Decoder besteht im Allgemeinen aus einem Zweigmetrikkalkulator zum Empfangen von empfangenen digitalen Daten und der Ausführung einer Zweigmetrikkalkulation, einer ACS Addier-Vergleich-Auswahl Einheit zur Bestimmung des überlebenden Pfades und einem Pfadspeicher zur Speicherung des überlebenden Pfades für jeden einzelnen Zustand und seine dazu korrespondierenden Informationssequenzen. Ein Viterbi Decoder ist ein maximum likelihood Decoder, welcher in dem Trellis Diagramm alle Pfade mit der empfangenen Sequenz vergleicht und diejenigen auswählt, welche der in der Distanz der Empfangssequenz am Nächsten sind. Der Viterbi Algorithmus hat eine zusätzliche Qualität, dass jeder überlebende, welcher rückverfolgt wird, sich über eine angemessene Anzahl von Zeiteinheiten mit dem maximum likelihood Pfad überschneidet. Dafür speichert der Decoder für jeden Status das Ergebnis der „besten Pfad Selektion" und benutzt diese Informationen zur Durchführung einer Rückverfolgungsoperation, welche den überlebenden Pfad enthüllt. Der zum Schluss ausgewählte Pfad soll dann von jedem überlebenden Pfaden ausgewählt werden, wenn in der Vorgeschichte eine geeignete Anzahl von vergangenen Zeiteinheiten vorgesehen ist. Die Speicherung von überlebenden und die Auswahl von endgültigen Pfaden werden in dem Pfadspeicher ausgeführt. Die Aufgaben des Pfadspeichers sind eine gegebene Anzahl von überlebenden zu speichern, und die mit höchster Wahrscheinlichkeit decodierten Bits auszuwählen. Der Pfadspeicher kann einen so genannten Registeraustauschalgorithmus, (REA) zur Bedienung der überlebenden Pfade vorsehen.in the Generally, OFDM modulated signals are converted into conventional, modulated ones Embedded signals, which are best by means of a Viterbi decoder can be decoded. The Viterbi decoder generally consists of a branch metric calculator for receiving received digital data and execution of a Branch metric calculation, an ACS adder comparison selection unit for determining the survivor Path and a path memory for storing the survivor Path for every single state and its corresponding information sequences. One Viterbi decoder is a maximum likelihood decoder, which in the Trellis diagram compares all paths with the received sequence and picking those which are closest to each other in the distance of the reception sequence. The Viterbi algorithm has an extra quality that every survivor, which one traced will be over a reasonable number of time units with the maximum likelihood Path overlaps. Save for that the decoder for each status the result of the "best Path selection "and uses this information to perform a tracing operation, which the survivor Path revealed. The last selected Path should then be survived by everyone Paths selected be, if in the prehistory a suitable number of past Time units is provided. The storage of survivors and the selection of final paths are executed in the path memory. The tasks of the path memory are a given number of survivors save, and the highest To select probability decoded bits. The path memory can a so-called Register Exchange Algorithm, (REA) to service the survivors Provide paths.

Weil der Empfangsprozess eine signifikante Menge an Energie aufnimmt und die den meisten Empfängerressourcen monopolisiert, sollte der Empfänger diesen Vorgang nicht unnötig Durchführung, z. B. wenn eine Bitnutzlast eventuell von Fehlern durchsetzt ist, und als Resultat davon, gelöscht werden muss. Es ist deswegen wünschenswert, den Empfänger mit Mitteln auszustatten, welche sowohl die Decodierleistungsfähigkeit des Viterbi Decoders erhöhen und im Gegenzug in einem höheren Grade der Zuverlässigkeit das Auftreten von Fehler durchsetzen decodierte Sequenzen, zum Zwecke des, wenn dieses notwendig ist, vorzeitigen Abbruches des Empfangsprozesses aufspürt.Because the receiving process absorbs a significant amount of energy and the most receiver resources monopolized, should the recipient this process is not unnecessary Implementation, z. B. if a bit payload is possibly interspersed with errors, and as a result, deleted must become. It is therefore desirable the recipient equipped with means that both the decoding performance of the Viterbi decoder and in return in a higher Grade of reliability the occurrence of errors enforce decoded sequences, for the purpose if necessary, premature termination of the reception process tracking.

Dazu bestehen bereits Schemata, welche im Betrieb die Bitfehlerrate (BER) des Viterbi Decodierten Bitdatenstroms auswerten, jedoch ist diese als nicht zuverlässig bekannt.To already exist schemes, which in operation the bit error rate (BER) of the Viterbi decoded bitstream, but this is as not reliable known.

US Pat. 6,058,501 bezieht sich auf eine Fehlererkennungsvorrichtung für Viterbi Decoder. Der Fehlererkennungsblock, welcher durch diese Patentveröffentlichung dargestellt ist, wertet die Pfadmetrik aus, um so durch die Viterbi Decodierung und in Einklang damit, an Hand einer Schwelle entscheidet, ob ein Bitfehler vorliegt oder nicht.US Pat. 6,058,501 relates to an error detection device for Viterbi Decoder. The error detection block, which by this patent publication is illustrated evaluates the path metric so as to pass through the Viterbi Decoding and in accordance with it, deciding on the basis of a threshold whether a bit error exists or not.

US Pat. 5,987,631 offenbart eine Vorrichtung zur Messung der Bitfehlerrate unter Benutzung eines Viterbi Decoders. Das Bitfehlerratenverhältnis wird durch die Benutzung eines zyklischen Redundanzprüfungs (Cyclic Redundancy Check – CRC) Codes, welcher in die empfangen Daten eingeflossen ist, überprüft.US Pat. No. 5,987,631 discloses an apparatus for measuring bit error rate using a Viterbi decoder. The bit error rate ratio is determined by the use of a Cyclic Redundancy Check (CRC) code which has been incorporated into the received data. checked.

US Patent 4,606,027 lehrt einen Fehlererkennungsapparat unter Benutzung eines Viterbi Decoders.US U.S. Patent 4,606,027 teaches an error detection apparatus using a Viterbi decoder.

Offenbarung der Erfindungepiphany the invention

Es ist die Aufgabe der vorliegende Erfindung ein Verfahren zur Verbesserung der Leistungsfähigkeit eines Viterbi Decoders und einen Viterbi Decoder, welcher dieser Verfahren einsetzt, vorzusehen, wobei die Decodierleistungsfähigkeit durch die Vorhersage von auftretenden Fehler durchsetzten decodierten Bitnutzdaten verbessert wird.It the object of the present invention is a method for improvement the efficiency a Viterbi decoder and a Viterbi decoder, which this Provided method, wherein the decoding efficiency decoded by the prediction of occurring errors interspersed Bit benefit data is improved.

Diese Aufgabe wird gelöst durch ein Verfahren und eine Vorrichtung, welche die technischen Maßnahmen umfasst, welche in den unabhängigen Patentansprüchen vorgestellt sind.These Task is solved by a method and a device which the technical measures which is presented in the independent claims are.

Das Verfahren zur Verbesserung der Leistungsfähigkeit ein Viterbi Decoders ist gekennzeichnet durch die Vorhersage, ob eine decodierte Bitsequenz mit Fehlern durchsetzt ist, derweil das empfangene Signal sich weiterhin im Prozess der Decodierung befindet. Vorzugsweise werden der, in der Durchführung befindliche Viterbi Decodierprozess, und andere dazu bezogene Prozesse vorzeitig abgebrochen, wenn festgestellt wird, dass die decodierte Bitsequenz mit Fehlern durchsetzt ist. Dieses Vorgehen spart Verarbeitungszeit und Energie ein, und führt damit zu einer verbesserten Leistungsfähigkeit des Empfängers.The Method for improving the performance of a Viterbi decoder is characterized by the prediction of whether a decoded bit sequence Meanwhile, the received signal continues to be corrupted located in the process of decoding. Preferably, the, in the implementation Viterbi decoding process, and other related processes aborted prematurely if it is determined that the decoded bit sequence interspersed with mistakes. This procedure saves processing time and energy, and leads thus improving the performance of the receiver.

Zusammengefasst besteht die Idee der vorliegenden Erfindung darin, eine Entscheidung über die Gesamtqualität eines empfangenen Pakets durch Prüfung der Entfaltung in einem Viterbi decodierte Prozesses aufgrund der ersten Daten tragenden Symbolen zu treffen.Summarized the idea of the present invention is to make a decision on the overall quality a received packet by checking the unfolding in one Viterbi decoded process due to the first data-bearing symbols hold true.

Bevorzugte Ausführungsformen und vorteilhafte Eigenschaften der Erfindung werden in den abhängigen Verfahrens- und Vorrichtungsansprüchen beschrieben.preferred embodiments and advantageous features of the invention are described in the dependent process and device claims.

Die vorliegende Erfindung geht ursprünglich von einer grafischen Repräsentation der Matrix aus, welche die überlebenden Pfade umfasst. Aus dieser grafischen Darstellung wird es schon mit dem bloßen Augen ersichtlich, dass seine jüngsten Spalten dazu herangezogen werden können, eine einfacher Maßzahl für die Qualität der dedizierten Bitsequenz heranzuziehen, welche dazu benutzt werden kann, um zu entscheiden, ob eine decodierte Bitsequenz fehlerfrei ist, so wie es in der folgenden Beschreibung erklärt werden wird.The The present invention is originally from a graphical representation the matrix, which are the survivors Includes paths. From this graphical representation it is already with the naked eye seen that his youngest Columns can be used, a simple measure of the quality of the dedicated Bit sequence, which can be used to decide whether a decoded bit sequence is error free, such as it will be explained in the following description.

Kurze Beschreibung der ZeichnungShort description the drawing

Ein bevorzugtes Beispiel für einen Viterbi Decoder, entsprechend der vorliegenden Erfindung, wird nun mit Bezug auf die beigefügten Zeichnungen beschrieben:One preferred example of a Viterbi decoder according to the present invention now with reference to the attached Drawings described:

1 ist ein Blockdiagramm, welches die genereller Anordnung des Viterbi Decoders zeigt. 1 is a block diagram showing the general arrangement of the Viterbi decoder.

2 ein schematisches Blockdiagramm des Pfadspeichers der Schaltung und der Qualitätsdetektionsvorrichtung nach vorliegende Erfindung. 2 a schematic block diagram of the path memory of the circuit and the quality detection device according to the present invention.

3 stellt den Inhalt der Matrix T dar, wenn ein hoch qualitatives Signal decodiert wird. 3 represents the content of the matrix T when a high quality signal is decoded.

4 stellt den Inhalt der Matrix T dar, wenn ein niedrig qualitatives Signal decodiert wird. 4 represents the content of the matrix T when a low-quality signal is decoded.

Beschreibung der bevorzugten Ausführungsformdescription the preferred embodiment

Die am Besten geeignete Stelle zur Implementierung eines Fehlerprediktors ist offensichtlich der Viterbi Decoder. 1 ist ein Blockschaltbild, welches die Anordnung eines Viterbi Decoders 10 darstellt. Der Viterbi Decoder 10 besteht im Wesentlichen aus einem Zweigmetrikkalkulator 12 zur Aufnahme der empfangenen digitalen Daten und zur Durchführung von Zweigmetrikberechnungen, einer ACS Addier-Vergleich-Auswahl Einheit 14 zum Auswählen des "überlebenden" Pfads, einem Pfadspeicher 16 zur Speicherung des überlebenden Pfads, des jeweiligen Zustandes oder ihrer korrespondierenden Informationssequenz und einem Pfadmetrikspeicher 18 zur Speicherung ihrer Metrik.The most suitable place to implement an error predictor is obviously the Viterbi decoder. 1 is a block diagram showing the arrangement of a Viterbi decoder 10 represents. The Viterbi decoder 10 consists essentially of a branch metric calculator 12 for receiving the received digital data and for performing branch metric calculations, an ACS adder comparison selection unit 14 to select the "surviving" path, a path memory 16 for storing the surviving path, the respective state or its corresponding information sequence and a path metric memory 18 to store their metric.

Der Zweigmetrikkalkulator 12 bestimmt die Distanz der m-ten Subsequenz der empfangenen Sequenz für alle Zweige, welche mit dem m-ten Zustandsstatus zu dem (m + 1)-ten Zustandsstatus des Trellis des Viterbi Algorithmus verknüpft sind. Die ACS Einheit 14 addiert diese Distanzen zu der Metrik des m-ten Statuszustandes und den Metrikkandidaten für den (m + 1)ten Statuszustandes im Vergleich zu den Metrikkandidaten zu erhalten, und wählt das Minimum der Metrikkandidaten für jeden Status im (m + 1)ten Zustand als überlebender Pfad. Der Pfadspeicher 16 speichert den überlebenden Pfad oder Informationssequenzen, welche zu diesem überlebenden Pfad korrespondieren.The branch metric calculator 12 determines the distance of the mth subsequence of the received sequence for all branches associated with the mth state status to the (m + 1) th state state of the trellis of the Viterbi algorithm. The ACS unit 14 adds these distances to the mth state state metric and the metric candidate for the (m + 1) th state state compared to the metric candidates, and selects the minimum of metric candidates for each state in the (m + 1) th state as the survivor Path. The path memory 16 stores the surviving path or information sequences corresponding to this surviving path.

Die Verbesserung entsprechend der vorliegenden Erfindung ist im Rahmen des Registeraustauschalgorithmus (REA) entwickelt worden, welcher einer von zwei wohlbekannten Variationen des Viterbi Algorithmus in seiner Implementation ist. Die Beschreibung der Details der prinzipiellen Betriebsweise der REA liegt außerhalb des Blickfeldes diese Beschreibung, und es ist anzunehmen, dass Fachleute, welche dieses lesen ein Grundwissen auf dem Gebiet der REA Algorithmen haben.The improvement according to the present invention has been developed within the Register Exchange Algorithm (REA), which is one of two well-known variations of the Viterbi algorithm in its implementation. The description of the details of the basic operation The REA is outside the field of view of this description, and it is likely that professionals who read this have a basic knowledge in the field of REA algorithms.

Implementationsgemäß benutzt der REA zwei Speicherarrays zur Decodierung des empfangenen Datenstroms: den Pfadmetrikspeicher 18, welcher die angesammelten Pfadmetriken für jeden möglichen Zustand, welcher durch den Schaltungencoder zu einer gegebenen Zeitinstanz vorgegeben enthält, und den Pfadspeicher 16, welcher die neue angeordneten überlebenden Pfade enthält. Ein Pfad ist eine Bitsequenz, welche aus einander angereihten decodierten Bits und ihren zugehörigen jeweiligen Zuständen besteht.By implementation, the REA uses two memory arrays to decode the received data stream: the path metric memory 18 which stores the accumulated path metrics for each possible state specified by the circuit encoder at a given time instance and the path memory 16 which contains the new arranged surviving paths. A path is a bit sequence consisting of concatenated decoded bits and their associated respective states.

Wie in 2 gezeigt, besteht der Pfadspeicher 16 aus einem Array T, welches aus einer rechteckigen Bitmatrix mit M-Reihen besteht, korrespondieren zu der Gesamtanzahl der möglichen Zustände, und n-Spalten, wobei N der laufende Rückverfolgungswert (Trace Back) ist. Als ein praktisches Beispiel benutzen wir die Werte M=64 und N=56.As in 2 shown is the path memory 16 An array T consisting of a rectangular bit matrix of M rows corresponds to the total number of possible states, and n columns, where N is the current trace back value. As a practical example we use the values M = 64 and N = 56.

Zur Vereinfachung soll der Speicherarray T als ein spaltenweise angeordneter FIFO Speicher (First in First out Speicher) angeordnet sein: jede Spalte des Feldes ist assoziiert mit einer gegebenen Zeitinstanz und ist durchnummeriert von 0 (die Jüngste) bis 55 (die Älteste). Das Array T wird wie folgt aktualisiert: für jedes Paar von Softbits, welche an dem Decodereingang anliegen, werden die Spalten 0 – 54 um einen Schritt verschoben, z. B. zum Beispiel um eine Zeitinstanz in die Vergangenheit hin, diese werden dadurch zu den Spalten von 1 bis 55, während Spalte 0 mit den neuesten erhältlichen, decodierten Bits aufgefüllt wird. Mit der nächsten Stufe werden die Pfadänderungen durch den Bitinhalt, welcher in der Spalten 0 bis zum Rest von T enthalten sind, eingefädelt.to Simplification is the memory array T as a column-wise arranged FIFO memory (first in first out memory) can be arranged: each column of the field is associated with a given time instance and is numbered from 0 (the youngest) to 55 (the oldest). The array T is updated as follows: for each pair of soft bits, which are applied to the decoder input, the columns 0-54 are in order moved a step, z. For example, a time instance into the past, these become the columns of 1 to 55 while Column 0 with the latest available, filled with decoded bits becomes. With the next Stage become the path changes by the bit content which is in column 0 to the remainder of T are threaded.

In den konventionellen REA Implementation wird für das decodierten Bit das erste Bit der Spalte 55 benutzt.In the conventional REA implementation becomes the first for the decoded bit Bit of column 55 used.

Die Erfindung basiert auf der folgenden Beobachtung: wenn die decodierte Bitsequenz fehlerfrei ist, ist die älteste Spalte der Matrix T sehr wahrscheinlich homogen Bitweise verteilt, zum Beispiel sind alle Bits in der Spalte 55 ähnlich verteilt wie die Werte, welche in 3 dargestellt sind. Mit anderen Worten kann das Array T anschaulich verglichen werden mit einem Baum, welcher einen hohen und schmalen Stamm hat, korrespondieren zu der ältesten Spalte, und eine schmale Krone, korrespondieren zu den jüngsten Spalten.The invention is based on the following observation: if the decoded bit sequence is error free, the oldest column of the matrix T is very likely to be homogeneously bitwise distributed, for example all the bits in column 55 are similarly distributed as the values in 3 are shown. In other words, the array T can be graphically compared with a tree having a tall and narrow stem corresponding to the oldest column, and a narrow crown corresponding to the youngest columns.

Umgekehrt ist es so, dass wenn die decodierte Bitsequenz mit Fehlern durchsetzt ist, ist es sehr wahrscheinlich ist, dass die älteste Spalte des Array T bitweise inhomogen ist, z. B. die Bits in der Spalte 55 werden sehr unregelmäßige Werte aufweisen. In diesem Fall sieht der Stamm (älteste Spalte) zertrümmert aus oder existiert nicht, während die Krone (jüngste Spalte) den gesamten Bereich zu besetzen scheint, wie in 4 dargestellt ist.Conversely, if the decoded bit sequence is interspersed with errors, it is very likely that the oldest column of the array T is bit-wise inhomogeneous, e.g. For example, the bits in column 55 will have very irregular values. In this case, the trunk (oldest column) looks smashed or does not exist, while the crown (most recent column) seems to occupy the entire area, as in 4 is shown.

3 und 4 sind die zu dem Wert Null korrespondierenden Bits dunkel hinterlegt, während die zu dem Wert 1 korrespondierenden Bits hell unterlegt sind. 3 and 4 For example, the bits corresponding to the value zero are highlighted, while the bits corresponding to the value 1 are highlighted.

Entsprechend der Erfindung wird diese Beobachtung eingesetzt, um die Decodierleistung zu erhöhen. Die Decoderschaltung schließt eine Decisionschaltung 20 ein, welche im Wesentlichen ein n-Bit Addierer 42 und Komparatorschaltung 24 (Schwellwertschaltung) umfasst. Zuerst werden alle Bits in der ältesten Spalte N (Spalte 55) addiert, z. B. wird die Anzahl der nicht Null gesetzten Bits evaluiert. Dann anschließend wird die resultierende Summe Σ der nicht Null gesetzten Bits verglichen mit der Schwelle, welche vorzugsweise die Hälfte der Anzahl von Zuständen ist, z. B. M/2 = 32. Wenn Σ größer ist als 32, gibt der Komparator 24 eine logische 1 aus, jedoch wenn Σ kleiner oder gleich 32 ist, gibt der Komparator eine logische 0 aus. Das decodierte Bit korrespondiert mit dem Ausgangssignal.According to the invention, this observation is used to increase the decoding performance. The decoder circuit completes a decision circuit 20 which essentially comprises an n-bit adder 42 and comparator circuit 24 (Threshold circuit) includes. First, all bits in the oldest column N (column 55) are added, e.g. For example, the number of non-zero bits is evaluated. Then, subsequently, the resulting sum Σ of the non-zero bits is compared with the threshold, which is preferably one-half the number of states, e.g. For example, M / 2 = 32. If Σ is greater than 32, the comparator returns 24 is a logical 1, but if Σ is less than or equal to 32, the comparator outputs a logical 0. The decoded bit corresponds to the output signal.

Bei der Betrachtung der Qualität der decodierten Bitsequenz kann ein einfaches Gütekriterium durch die Zuführung der Summe Σ zu einem Qualitätsdetektor 26 erhalten werden. In dem Qualitätsdetektor 26 wird der Wert Θ = |Σ – M/2| = |Σ – 32| kalkuliert und über einige aufeinander folgende datentragende Symbole gemittelt, um die Qualität des Signal zu bewerten.When considering the quality of the decoded bit sequence, a simple quality criterion can be obtained by adding the sum Σ to a quality detector 26 to be obtained. In the quality detector 26 the value Θ = | Σ - M / 2 | = | Σ - 32 | calculated and averaged over several consecutive data-bearing symbols to evaluate the quality of the signal.

Wenn das Signal von guter Qualität ist, ist der Wert Σ entweder nahe (wenn nicht sogar gleich) Null oder 63 und deshalb konvergiert der Wert Θ gegen 32.If the signal of good quality is, the value Σ is either close (if not equal) to zero or 63 and therefore converges the value Θ against 32nd

Wenn das Signal nun umgekehrt von niedriger Qualität ist, wird Σ sehr nahe bei 32 sein, deshalb konvergiert der Wert Θ gegen Null.If conversely, the signal is inversely of low quality, Σ becomes very close at 32, therefore, the value Θ converges to zero.

Der Wert Θ ist ein bedeutende Indikator zur Bestimmung, ob es einen Wert hat den Decodierungsprozess für den Rest des Paketes weiterzuführen. Nach einem gewissen Zeitablauf kann Θ mit einer vorbestimmten Schwelle verglichen werden. Wenn die Qualität des empfangen Signals gut ist z. B. wenn Θ nahe 32 ist, soll der Qualitätsdetektor ein Decodier-Qualitätssignal mit einer logischen "1" ausgeben. Wenn die Qualität des empfangen Signals schlecht ist, geht 0 nahe gegen Null, und der Qualitätsdetektor 26 soll ein Decodier-Qualitätssignal mit einer logischen "0" ausgeben.The value Θ is a significant indicator for determining whether it has value to continue the decoding process for the remainder of the packet. After a certain period of time Θ can be compared with a predetermined threshold. If the quality of the received signal is good for. For example, when Θ is near 32, the quality detector is to output a decode quality signal having a logical "1". If the quality of the received signal is bad, 0 goes close to zero, and the quality detector 26 should output a decoding quality signal with a logical "0".

Deshalb bringt die Vorhaltung einer Decisionsschaltung 20 und eines Qualitätsdetektors 26 entsprechend der vorliegenden Erfindung einen doppelten Nutzen für den Viterbi Decoder:
Simulationen haben erwiesen, dass die Berechnung des Wertes Θ zum Erstellen einer Entscheidung über das decodierte Bit die Decodierleistung des Viterbi Decoders verbessert, durch die virtuelle Anhebung des Rückverfolgungswertes. Physikalisch ist der Rückverfolgungswert immer noch bei N, aber von dem Standpunkt der Leistungsfähigkeit verhält sich der Decoder so, als ob ein größere Wert benutzt wird; dieses bedeutet ebenfalls, dass die Rückverfolgung physikalischen reduziert werden kann, um eine gegebene Leistungsfähigkeit erreichen.
Therefore, the provision of a decision circuit brings 20 and a quality detector 26 according to the present invention, a double benefit for the Viterbi decoder:
Simulations have shown that calculating the value Θ to make a decision on the decoded bit improves the decoding performance of the Viterbi decoder, by virtue of the virtual increase in the traceback value. Physically, the traceability value is still at N, but from the standpoint of performance, the decoder behaves as if a larger value is used; This also means that physical traceability can be reduced to reach a given level of performance.

Der Qualitätsdetektor 26 gibt ein Decodier-Qualitätssignal aus. Abhängig von diesem Qualitätssignal kann der Empfangsprozess vorzeitig abgebrochen werden, wenn feststeht, dass die decodierte Bitsequenz mit Fehlern durchsetzt ist. Die gesamte Vorrichtung ist von ihrer Komplexität her relativ simpel und es besteht nicht die Notwendigkeit die Re-Enkodierung der decodierten Bitsequenz gefolgt von einem Pfadvergleich, wie es im Fall von anderen bestehenden Techniken vorgesehen ist.The quality detector 26 outputs a decoding quality signal. Depending on this quality signal, the receiving process can be aborted prematurely if it is established that the decoded bit sequence is interspersed with errors. The overall device is relatively simple in its complexity and there is no need to re-encode the decoded bit sequence followed by path comparison, as is the case with other existing techniques.

Claims (16)

Verfahren zur Verbesserung der Leistungsfähigkeit eines Viterbi Decoders, gekennzeichnet durch das Fällen eine Entscheidung über die Gesamtqualität eines empfangen Datenpakets durch die Überprüfung des Entfaltens/Entwickelns des Viterbi Decoderprozess aufgrund der ersten datentragenden Symbole.Method for improving performance a Viterbi decoder, characterized by felling one Decision over the overall quality of a received data packet by the check of unfolding / developing of the Viterbi decoder process due to the first data-bearing symbols. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass vorhergesagt wird, ob eine decodierte Bitsequenz mit Fehlern durchsetzt ist, während das empfangene Signal weiterhin im Decodierprozess steht.Method according to claim 1, characterized in that that it is predicted whether a decoded bit sequence with errors is interspersed while the received signal is still in the decoding process. Verfahren nach Anspruch 1 und 2, dadurch gekennzeichnet, dass der durchgeführte Viterbi Decodierungsprozess und andere damit verbundene Prozesse vorzeitig abgebrochen werden, wenn detektiert wird, dass die zu decodierende Bitsequenz eventuell mit Fehlern durchsetzt ist.Method according to Claims 1 and 2, characterized that performed Viterbi decoding process and other related processes be terminated prematurely, if it is detected that the decoding bit sequence may be interspersed with errors. Verfahren nach einem der vorangegangen Ansprüche, dadurch gekennzeichnet, dass ein Registeraustauschalgorithmus (REA) implementiert ist.Method according to one of the preceding claims, characterized characterized in that a register replacement algorithm (REA) is implemented is. Verfahren nach einem der vorangegangen Ansprüche, dadurch gekennzeichnet, dass der überlebende Pfad in einem Speicherarray bestehend aus einer MxN Matrix, bestehend aus Einzelbitzellen, gespeichert wird, wobei M die Anzahl der möglichen Zustände bezeichnet, die durch den Faltungsencoder angenommen werden können, und N den Rückverfolgungswert angibt.Method according to one of the preceding claims, characterized marked that the survivor Path in a memory array consisting of an MxN matrix is stored from single bit cells, where M is the number of possible conditions denoted by the convolutional encoder, and N the traceability value indicates. Verfahren nach einem der vorangegangen Ansprüche, dadurch gekennzeichnet, dass ein Teil oder die Gesamtsumme Σ von Bits über jede Spalte N der Matrix berechnet wird, und die Summe Σ in einem 1xN Zeilenvektor vorzeichenloser Integerzahlen gespeichert wird.Method according to one of the preceding claims, characterized characterized in that a part or the total sum Σ of bits over each Column N of the matrix is calculated, and the sum Σ in a 1xN Row vector of unsigned integer numbers is stored. Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass die Summe Σ, welche in dem Zeilenvektor gespeichert ist mit einer vorbestimmten Schwelle verglichen wird, und über den Wert des decodierten Bits in Abhängigkeit von dem Ergebnis dieses Vergleichs entschieden wird.Method according to Claim 6, characterized that the sum Σ, which is stored in the row vector with a predetermined threshold is compared and over the value of the decoded bit depending on the result of this Comparison is decided. Verfahren nach Anspruch 6 oder 7, dadurch gekennzeichnet, dass die Variation von Σ über die Zeit evaluiert wird, und eine Entscheidung über die Qualität der decodierten Bitsequenz in Abhängigkeit von der Variation gefällt wird.Method according to claim 6 or 7, characterized that the variation of Σ over time is evaluated, and a decision on the quality of the decoded Bit sequence depending on like the variation becomes. Viterbi Decoder (10), welcher einen Zweigmetrikkalkulator (12) zum Erfassen von empfangenen digital Daten und zur Durchführung einer Zweigmetrikberechnung aufweist; eine ACS Einheit (14) zur Auswahl des überlebenden Pfades und eines Pfadspeicher (16) zur Speicherung des überlebenden Pfades des jeweiligen Zustand und ihrer korrespondierenden Informationssequenzen und weiterhin eine Bitdecodiervorrichtung aufweisen, welche eine Präzisionsschaltung (20) zur Verbesserung der Bitfehlerratenleistungsfähigkeit in dem Encoder vorsieht.Viterbi decoder ( 10 ), which generates a branch metric calculator ( 12 ) for acquiring received digital data and performing a branch metric calculation; an ACS unit ( 14 ) for selecting the surviving path and a path memory ( 16 ) for storing the surviving path of the respective state and its corresponding information sequences, and further comprising a bit decoding device comprising a precision circuit ( 20 ) for improving bit error rate performance in the encoder. Viterbi Decoder nach Anspruch 9, dadurch gekennzeichnet, dass dieser eine Qualitätsdetektionsvorrichtung (26) vorsieht, zur Vorhersage, ob die decodierte Bitsequenz durch Fehler gestört ist, während das empfangene Signal weiterhin in dem Decodierprozess verarbeitet wird.Viterbi decoder according to claim 9, characterized in that it comprises a quality detection device ( 26 ) for predicting whether the decoded bit sequence is corrupted by error while the received signal continues to be processed in the decoding process. Viterbi Decoder nach Anspruch 9 oder 10, dadurch gekennzeichnet, dass der Qualitätsdetektor (26) Mittel aufweist zum sammeln von Statistiken bezogenen auf die Variation von Σ über die Zeit und eine Entscheidung über die Qualität der decodierten Bitsequenz herstellt.Viterbi decoder according to claim 9 or 10, characterized in that the quality detector ( 26 ) Means for collecting statistics related to the variation of Σ over time and making a decision on the quality of the decoded bit sequence. Viterbi Decoder nach Anspruch 9 bis 11, dadurch gekennzeichnet, dass dieser Mittel zur vorzeitigen Beendigung des in der Durchführung befindlichen Viterbi Decodierprozess oder andere damit verbundener Prozesse, aufweist, wenn detektiert wird, dass die decodierte Bitsequenz eventuell von Fehlern durchsetzt ist.Viterbi decoder according to claim 9 to 11, characterized characterized in that this means for premature termination of the in the implementation located Viterbi decoding process or other related Processes, when detected, that the decoded bit sequence possibly interspersed with errors. Viterbi Decoder nach Anspruch 9 bis 12, dadurch gekennzeichnet, dass der Pfadspeicher (16) einen Registeraustauschalgorithmus (REA) implementiert.Viterbi decoder according to claim 9 to 12, characterized in that the path memory ( 16 ) implements a register replacement algorithm (REA) mented. Viterbi Decoder nach Anspruch 9 bis 13, dadurch gekennzeichnet, dass in dem Pfadspeicher (16) eine MxN Matrix mit Einzelbitzellen zur Speicherung des überlebenden Pfades vorgesehen ist, wobei M die Anzahl der möglichen Zustände, welche durch den Faltungsencoder angenommen werden können, darstellt und N den Rückverfolgungswert darstellt.Viterbi decoder according to claim 9 to 13, characterized in that in the path memory ( 16 MxN matrix is provided with single bit cells for storing the surviving path, where M represents the number of possible states that can be assumed by the convolutional encoder and N represents the traceback value. Viterbi Decoder nach Anspruch 9 bis 14, dadurch gekennzeichnet, dass die Decisionsschaltung (20) Mittel (22) einschließt, zur Berechnung der partiellen oder gesamten Summe Σ von Bits über jede der Spalten N der Matrix und diese in einer 1xN Matrix mit vorzeichenlosen Integerwerten speichert.Viterbi decoder according to claim 9 to 14, characterized in that the decision circuit ( 20 ) Medium ( 22 ) for calculating the partial or total sum Σ of bits over each of the columns N of the matrix and storing them in a 1xN matrix with unsigned integer values. Viterbi Decoder nach Anspruch 9 bis 15, dadurch gekennzeichnet, dass die Decisionsschaltung (20) Mittel (24) beinhaltet, zum Vergleich der Summe n Σ, gespeichert im Zeilenvektor, mit einem vorbestimmten Schwellwert, und einer Decisionsschaltung zum Fällen einer Entscheidung über den Wert der decodierten Bitsequenz.Viterbi decoder according to claim 9 to 15, characterized in that the decision circuit ( 20 ) Medium ( 24 ) for comparing the sum n Σ stored in the row vector with a predetermined threshold, and a decision circuit for deciding the value of the decoded bit sequence.
DE200410061830 2004-12-22 2004-12-22 Method for improving the performance of a Viterbi decoder and a Viterbi decoder Expired - Fee Related DE102004061830B4 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE200410061830 DE102004061830B4 (en) 2004-12-22 2004-12-22 Method for improving the performance of a Viterbi decoder and a Viterbi decoder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE200410061830 DE102004061830B4 (en) 2004-12-22 2004-12-22 Method for improving the performance of a Viterbi decoder and a Viterbi decoder

Publications (2)

Publication Number Publication Date
DE102004061830A1 true DE102004061830A1 (en) 2006-07-27
DE102004061830B4 DE102004061830B4 (en) 2008-10-30

Family

ID=36650222

Family Applications (1)

Application Number Title Priority Date Filing Date
DE200410061830 Expired - Fee Related DE102004061830B4 (en) 2004-12-22 2004-12-22 Method for improving the performance of a Viterbi decoder and a Viterbi decoder

Country Status (1)

Country Link
DE (1) DE102004061830B4 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4606027A (en) * 1983-10-12 1986-08-12 Nec Corporation Error correction apparatus using a Viterbi decoder
US5802115A (en) * 1995-08-31 1998-09-01 Sgs-Thomson Microelectronics S.A. Convolution decoder using the Viterbi algorithm
US5987631A (en) * 1996-10-04 1999-11-16 Samsung Electronics Co., Ltd. Apparatus for measuring bit error ratio using a viterbi decoder
US6058501A (en) * 1997-08-13 2000-05-02 Mitsubishi Denki Kabushiki Kaisha Error detecting device for viterbi decoder

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4606027A (en) * 1983-10-12 1986-08-12 Nec Corporation Error correction apparatus using a Viterbi decoder
US5802115A (en) * 1995-08-31 1998-09-01 Sgs-Thomson Microelectronics S.A. Convolution decoder using the Viterbi algorithm
US5987631A (en) * 1996-10-04 1999-11-16 Samsung Electronics Co., Ltd. Apparatus for measuring bit error ratio using a viterbi decoder
US6058501A (en) * 1997-08-13 2000-05-02 Mitsubishi Denki Kabushiki Kaisha Error detecting device for viterbi decoder

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ANAND,R.,et.al.: Continuous Error Detection (CED) for Reliable Communication. In: IEEE Transactions on Communications,Vol.49, No.9,Sept.2001,S.1540-1549 *
ANAND,R.,et.al.: Continuous Error Detection (CED) for Reliable Communication. In: IEEE Transactions on Communications,Vol.49, No.9,Sept.2001,S.1540-1549;

Also Published As

Publication number Publication date
DE102004061830B4 (en) 2008-10-30

Similar Documents

Publication Publication Date Title
DE69532949T2 (en) METHOD AND APPARATUS FOR DECODER OPTIMIZATION
DE3910739C2 (en)
DE69535458T2 (en) Method and system for detecting variable transmission rates
DE69925164T2 (en) STATUS-REDUCED FOLLOW-UP WITH APPLICATION OF SUB-GROUP DISTRIBUTION
DE602005000156T2 (en) Method for ball decoding
DE69515684T2 (en) DIGITAL DATA DECODING ARRANGEMENT USING A VARIABLE DEPTH OF DECISION
DE69024282T2 (en) Generalizing Viterbi decoding algorithm
DE60309140T2 (en) Error detection method in wireless communication systems
DE69531482T2 (en) SIMULTANEOUS DEMODULATION AND DECODING OF A DIGITALLY MODULATED RADIO SIGNAL
DE69331571T2 (en) Bi-directional demodulation and demodulator method
DE69421963T2 (en) Postprocessing method and device for generating reliability symbols
DE69807850T2 (en) MULTI-CHANNEL COMMUNICATION UNIT WITH DECODER
EP0392603B1 (en) Transmission system
DE4224214C2 (en) Process for source-controlled channel decoding by expanding the Viterbi algorithm
DE69012492T2 (en) Method for generating quality factors for binary numbers obtained by Viterbi analysis of a signal.
US20080031315A1 (en) Denoising signals containing impulse noise
DE69936067T2 (en) Method and apparatus for maximum a posteriori probability decoding
JP2004343702A (en) Mimo telecommunication system and method and apparatus for decoding transmitting symbol in the system
DE102018206132B4 (en) Decoder-based iterative channel estimation
DE60309546T2 (en) Maximum a posteriori Wahrscheinlichtkeitsdetektor
DE69425313T2 (en) Viterbi equalizer with trace-back process that saves computing power
DE102004061830B4 (en) Method for improving the performance of a Viterbi decoder and a Viterbi decoder
WO2002060071A2 (en) Viterbi decoder
CN116232340B (en) Satellite communication signal sparse check matrix parameter estimation method and device
EP1252716B1 (en) Method and configuration for decoding information

Legal Events

Date Code Title Description
OM8 Search report available as to paragraph 43 lit. 1 sentence 1 patent law
OP8 Request for examination as to paragraph 44 patent law
8127 New person/name/address of the applicant

Owner name: NEWLOGIC TECHNOLOGIES GMBH, LUSTENAU, AT

8364 No opposition during term of opposition
R082 Change of representative

Representative=s name: RIEBLING, PETER, DIPL.-ING. DR.-ING., DE

R081 Change of applicant/patentee

Owner name: WIPRO LIMITED, IN

Free format text: FORMER OWNER: NEWLOGIC TECHNOLOGIES GMBH, LUSTENAU, AT

Effective date: 20121211

R082 Change of representative

Representative=s name: RIEBLING, PETER, DIPL.-ING. DR.-ING., DE

Effective date: 20121211

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee