DE19610163B4 - Method for synchronizing a convolution decoder - Google Patents

Method for synchronizing a convolution decoder Download PDF

Info

Publication number
DE19610163B4
DE19610163B4 DE1996110163 DE19610163A DE19610163B4 DE 19610163 B4 DE19610163 B4 DE 19610163B4 DE 1996110163 DE1996110163 DE 1996110163 DE 19610163 A DE19610163 A DE 19610163A DE 19610163 B4 DE19610163 B4 DE 19610163B4
Authority
DE
Germany
Prior art keywords
data stream
state
correlation
symbol
bit sequence
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.)
Expired - Lifetime
Application number
DE1996110163
Other languages
German (de)
Other versions
DE19610163A1 (en
Inventor
Franz Braunagel
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.)
SUEDWESTRUNDFUNK -ANSTALT DES OEFFENTLICHEN RECHTS-,
Original Assignee
SUEDWESTRUNDFUNK ANSTALT DES O
Suedwestrundfunk -Anstalt Des Offentlichen Rechts-
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 SUEDWESTRUNDFUNK ANSTALT DES O, Suedwestrundfunk -Anstalt Des Offentlichen Rechts- filed Critical SUEDWESTRUNDFUNK ANSTALT DES O
Priority to DE1996110163 priority Critical patent/DE19610163B4/en
Publication of DE19610163A1 publication Critical patent/DE19610163A1/en
Application granted granted Critical
Publication of DE19610163B4 publication Critical patent/DE19610163B4/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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/33Synchronisation based on error coding or decoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/04Speed or phase control by synchronisation signals
    • H04L7/048Speed or phase control by synchronisation signals using the properties of error detecting or error correcting codes, e.g. parity as synchronisation signal

Abstract

Verfahren zum Synchronisieren eines Faltungsdecoders, dem ein faltungscodierter Datenstrom zugeführt wird, welcher entsprechend dem gewählten Faltungscode n Codierungszustände aufweisen kann, gekennzeichnet durch folgende Schritte:
a) eine selektierte Bitfolge des faltungscodierten Datenstroms wird nacheinander oder parallel mit m Vergleichssequenzen zu je i Bits korreliert, welche so ausgewählt sind, daß sie zum Codierungszustand 0 hinführen oder von dort wegführen;
b) von den m Korrelationsergebnissen des Schrittes a) wird das Ergebnis mit dem maximalen Korrelationsgrad ausgewählt;
c) die Schritte a) und b) werden wiederholt, jedoch für eine Bitfolge, die gegenüber der vorhergehenden Bitfolge um ein Bit versetzt ist, wobei so viele Wiederholungen durchgeführt werden, bis
c1) das theoretische Maximum des Korrelationsgrades erreicht ist, oder
c2) eine vorbestimmte Anzahl von Wiederholungen erreicht ist, wobei diese Anzahl so festgelegt wird, daß mit größter Wahrscheinlichkeit der Codierungszustand Null im Datenstrom aufgetreten ist;
d) die Anfangsposition derjenigen Bitfolge aus dem Datenstrom,...
Method for synchronizing a convolution decoder, to which a convolution-coded data stream is supplied, which can have n coding states in accordance with the chosen convolution code, characterized by the following steps:
a) a selected bit sequence of the convolutionally coded data stream is correlated successively or in parallel with m comparison sequences of i bits each, which are selected such that they lead to coding state 0 or lead away from there;
b) the result with the maximum degree of correlation is selected from the m correlation results of step a);
c) steps a) and b) are repeated, but for a bit sequence which is offset by one bit from the previous bit sequence, with so many repetitions being carried out until
c1) the theoretical maximum of the degree of correlation has been reached, or
c2) a predetermined number of repetitions has been reached, this number being determined in such a way that the coding state zero has most likely occurred in the data stream;
d) the starting position of that bit sequence from the data stream, ...

Description

Die Erfindung bezieht sich auf Verfahren gemäß dem Oberbegriff des Patentanspruchs. Ein derartiges Verfahren ist beispielsweise aus der EP 0 603 824 A2 bekannt.The invention relates to methods according to the preamble of the claim. Such a method is known for example from the EP 0 603 824 A2 known.

Bei der Übertragung von Daten oder digitalisierten Signalen, beispielsweise Rundfunktprogrammsignalen oder Programmzusatzsignalen, werden zur Kanalcodierung neben Blockcodes auch Faltungscodes verwendet. Bei der Kanalcodierung werden als Faltungsdecoder am häufigsten Viterbi-Decoder eingesetzt, wie sie beispielsweise in der EP 0 603 824 A2 beschrieben sind. Die Informationsbits, die ein Faltungscoder aus der ursprünglichen Information bzw. dem Quellcode erzeugt, sind kontextbehaftet. Dies bedeutet, daß ein einzelnes dieser Bits keinerlei Aussagekraft hat. Nur in dem Kontext, in welchen der Encoder dieses Bit gesetzt hat, ist es aussagefähig. Synchronisieren bedeutet in diesem Zusammenhang, am Decoder den Kontext herzustellen, den der Encoder erzeugt hat.When transmitting data or digitized signals, for example radio program signals or additional program signals, convolutional codes are used in addition to block codes for channel coding. In the case of channel coding, Viterbi decoders, as used, for example, in the EP 0 603 824 A2 are described. The information bits that a convolutional encoder generates from the original information or the source code are contextual. This means that a single one of these bits has no meaning. It is only meaningful in the context in which the encoder set this bit. In this context, synchronizing means creating the context on the decoder that the encoder has created.

Der Kontext eines Faltungsdecoders ist dann hergestellt, wenn die folgenden Bedingungen erfüllt sind:

  • a) gleiche Coderate,
  • b) gleiche Speichertiefe,
  • c) gleiches Generatorpolynom,
  • d) Symbolsynchronisation und
  • e) Zustandssynchronisation.
The context of a convolutional decoder is established when the following conditions are met:
  • a) same code rate,
  • b) same depth of memory,
  • c) same generator polynomial,
  • d) symbol synchronization and
  • e) state synchronization.

Die Bedingungen a) bis c) sind apparativer Natur; sie obliegen der richtigen Voreinstellung des Decoders. Die Bedingungen d) und e) sind dagegen Bestandteil der Synchronisation.Conditions a) to c) are more stringent Nature; they are responsible for the correct presetting of the decoder. The Conditions d) and e), however, are part of the synchronization.

Zur Synchronisation eines Viterbi-Decoders ist es aus der EP 0 603 824 A2 sowie aus der JP 06276107 AA bekannt, eine Korrelation zwischen den empfangenen Werten und den Verzweigungswerten zwischen den Übergängen im Trellis-Diagramm durchzuführen. Ferner ist es aus der JP 01296716 AA bekannt, den Synchronisationszustand eines Viterbi-Decoders mit Hilfe der Energie pro Symbol und der Rauschleistungsdichte des empfangenen Signals zu bewerten. Der Zeitaufwand für die Durchführung dieser bekannten Synchronisationsverfahren ist indessen sehr hoch.For synchronization of a Viterbi decoder, it is from the EP 0 603 824 A2 as well as from the JP 06276107 AA known to perform a correlation between the received values and the branching values between the transitions in the trellis diagram. Furthermore, it is from the JP 01296716 AA known to evaluate the synchronization state of a Viterbi decoder using the energy per symbol and the noise power density of the received signal. However, the time required to carry out these known synchronization methods is very high.

Die Aufgabe der Erfindung besteht darin, den zeitlichen Synchronisierungsaufwand zu verringern.The object of the invention is in reducing the time synchronization effort.

Diese Aufgabe wird erfindungsgemäß durch die kennzeichnenden Merkmale des Patentanspruchs gelöst.This object is achieved according to the invention solved the characterizing features of the claim.

Bei einem ersten Ausführungsbeispiel der Erfindung, dem sogenannten "A-Priori-Verfahren" wird eine Stelle im Datenstrom gefunden, die dem Zustand 00 des Encoders entspricht. Man muß hierzu den Datenstrom nach Symbolfolgen absuchen, die wie folgt entstanden sind:

  • 1. Ausgehend von jedem möglichen Startzustand wird eine Zustandsfolge gebildet, die den Zustand 00 als Endzustand besitzt.
  • 2. Diese Zustandsfolge (Bitfolge) wird in eine Symbolfolge umgewandelt.
  • 3. Der Datenstrom wird mit den gefundenen Symbolfolgen Bit für Bit verglichen und der Grad der Übereinstimmung (Konelation) wird ermittelt und abgespeichert.
In a first embodiment of the invention, the so-called "a priori method", a location is found in the data stream which corresponds to state 00 of the encoder. To do this, you have to search the data stream for symbol sequences that have arisen as follows:
  • 1. Starting from every possible start state, a state sequence is formed which has state 00 as the end state.
  • 2. This status sequence (bit sequence) is converted into a symbol sequence.
  • 3. The data stream is compared bit by bit with the symbol sequences found and the degree of correlation (correlation) is determined and stored.

Ist davon auszugehen, daß der Bereich, in dem man gesucht hat, groß genug ist, daß er eine Nullstelle enthält, so ist die Stelle mit der größten Übereinstimmung die Nullstelle. Da dieses Verfahren vorausschauend feststellt, wo sich im Datenstrom die nächste Nullstelle befindet, wird es als a-priori-Verfahren bezeichnet. Hierzu betrachtet man zunächst alle möglichen Startzustände, die ein Coder mit einer Speichertie m = 3 einnehmen kann. Anschließend bestimmt man alle möglichen Bitfolgen, die bei einem Coder mit m = 3 mit dem Zustand 00 enden. Durch Codierung dieser Bitfolgen erhält man eine Symbolfolge, die bitweise mit dem zu synchronisierenden Datenstrom verglichen wird. Dabei findet man irgendwo im Datenstrom das Symbol, das vom Encoder erzeugt wurde, als er sich im Zustand 000 befand. Dieses Symbol entspricht der gesuchten Nullstelle und damit dem Synchronisierungspunkt. Hat man bereits zuvor eine Symbolsynchronisation erreicht, so muß man nicht mehr jede Bitstelle im Datenstrom nach der Nullstelle absuchen. Es genügt, wenn man nur jede n-te (n=BpS) Stelle nach der Nullstelle durchsucht.It can be assumed that the area where you were looking, big enough is that he contains a zero, so is the place with the greatest match the zero. Because this procedure looks ahead where the next in the data stream Is zero, it is referred to as the a priori method. First, consider all sorts Start conditions which a coder with a memory depth of m = 3 can occupy. Then determined one all sorts Bit sequences that end with state 00 for a coder with m = 3. By coding these bit sequences one obtains a symbol sequence, the is compared bit by bit with the data stream to be synchronized. You will find the symbol somewhere in the data stream, that of the encoder was generated when it was in state 000. This symbol corresponds to the searched zero and thus the synchronization point. If you have already achieved symbol synchronization, you do not have to more search every bit position in the data stream for the zero position. It is sufficient, if you only search every nth (n = BpS) digit for the zero.

Führt man das vorstehende Verfahren derart durch, daß man alle möglichen Zustandsfolgen bildet, die vom Zustand 00 wegführen, so kann man mit diesem Verfahren feststellen, wo die letzte Nullstelle war. Diese Variante arbeitet rückblickend, aus diesem Grunde ist es als "a-posteriori-Verfahren" bezeichnet. In den nachfolgenden Tabellen 1 und 2 sind der Startzustand und die zugehörige Symbolfolge veranschaulicht.If the above procedure is carried out in such a way that all possible status sequences are created that lead away from status 00, this procedure can be used to determine where the last zero was. This Variant works retrospectively, for this reason it is called the "a posteriori method". Tables 1 and 2 below show the start status and the associated symbol sequence.

Figure 00050001
Tabelle 1: Alle möglichen Bitfolgen, die bei einem Coder mit m=3 mit dem Zustand 000 beginnen.
Figure 00050001
Table 1: All possible bit sequences that start with state 000 for a coder with m = 3.

Figure 00050002
Tabelle 2: Symbolfolge, die durch Codierung der in Tabelle 1 dargestellten Bitfolge entsteht.
Figure 00050002
Table 2: Symbol sequence that results from coding the bit sequence shown in Table 1.

Untersucht man, wie sicher dieses Synchronisationsverfahrcn gegenüber auftretenden Übertragungsfehlern ist, so stellt sich die Frage, an wievielen Stellen sich die einzelnen Symbolvektoren unterscheiden. Zu diesem Zweck bildet man die Kreuzkorrelation der in der Tabelle 2 dargestellten Symbolvektoren, wie sich aus der folgenden Tabelle ergibt.Examining how safe this is Synchronization procedure opposite occurring transmission errors the question arises, how many places are the individual Distinguish symbol vectors. The cross correlation is formed for this purpose of the symbol vectors shown in Table 2, as can be seen from the following table results.

Figure 00060001
Figure 00060001

Tabelle 3: Kreuzkorrelationen der Symbolvektoren.Table 3: Cross correlations of the Symbol vectors.

Der Minimalwert dieser Kreuzkonelation ist Min=2.The minimum value of this cross-correlation is Min = 2.

Das bedeutet, daß dann, wenn in den 4 Symbolen weniger als 2 Fehler auftauchen, das Synchronisationsverfahren richtig arbeitet. Dies entspricht einem Signal/Rausch-Verhältnis von ndB=9,031 dB.This means that if in the 4 symbols fewer than 2 errors appear, the synchronization procedure is correct is working. This corresponds to a signal / noise ratio of ndB = 9.031 dB.

Dieser Wert gilt für das a-posteriori-Verfahren.This value applies to the a posteriori method.

Für das a-priori-Verfahren gilt: Die Korrelationsmatrix sieht hier zwar etwas anders aus als beim aposteriori-Verfahren. Der Minimalwert, auf den es jedoch ankommt, ist bei beiden Verfahren jedoch gleich, nämlich
Min=2
The following applies to the a priori method: The correlation matrix looks somewhat different here than to the aposteriori method. However, the minimum value, which is important, is the same for both methods, namely
Min = 2

Dies ergibt auch das gleiche SndB=9,031 dB.This also gives the same SndB = 9.031 dB.

Beide Verfahren sind somit in Bezug auf das Rauschverhalten gleichwertig.Both methods are therefore related equivalent to the noise behavior.

Jede Zustandsfolge, die auf eine Nullstelle zuläuft und an dieser nicht endet, hat auch die Eigenschaft, von einer Nullstelle wegzulaufen. Auf eine Zustandsfolge, die eine Nullstelle enthält und an dieser Nullstelle weder startet noch endet, sind das A-priori-Verfahren und das A-posteriori-Verfahren anwendbar. Beide Verfahren finden dann an der selben Stelle eine Nullstelle.Each sequence of states that on a Zero runs up and does not end there, also has the property of a zero run away. To a status sequence that contains a zero and on this zero point neither starts nor ends are the a priori method and the a posteriori procedure applicable. Both methods will then find one in the same place Zero.

Da das A-priori-Verfahren vor der Nullstelle sucht und das A-posteriori-Verfahren nach der Nullstelle sucht, hat man bei der Kombination äeider Verfahren ein nullstellenüberdeckendes Verfahren. Dies erhöht bei fehlerhaften Daten die Treffsicherheit, wie aus nachfolgendem Beispiel ersichtlich ist:Since the a priori procedure before Searches for the zero and searches for the a posteriori procedure for the zero, one has more in the combination Procedure a zero-covering Method. This increases in the case of incorrect data, the accuracy, as from the following Example can be seen:

Beispiel:Example:

Ist die Fehlerwahrscheinlichkeit des a-priori-Verfahrens=Papriori und die des a-posteriori-Verfahren=Papostriori, dann ist die Gesamtfehlerwahrscheinlichkeit
Pfges = Pfapriori . Pfaposteriori
Pfapriori = 0.2 Pfaposteriori = 0.2
Pfges = 0.04
If the error probability of the a priori method = papriori and that of the a posteriori method = papostriori, then the total error probability is
Pfges = Pfapriori. Pfaposteriori
Pfapriori = 0.2 Pfaposteriori = 0.2
Pfges = 0.04

Die Trefferwahrscheinlichkeit ist demnach:
Ptges = (1 – Pfapriori . Pfaposteriori)
Ptges = 0.96
The hit probability is therefore:
Ptges = (1 - Pfapriori. Pfaposteriori)
Ptges = 0.96

Dagegen sind die einzelnen Trefferwahrscheinlichkeiten
Ptapriori = Pfapriori
Ptaposteriori = 1 – Pfaposteriori
Ptapriori = 0.8
Ptaposteriori = 0.8
In contrast, the individual hit probabilities are
Ptapriori = Pfapriori
Ptaposteriori = 1 - Pfaposteriori
Ptapriori = 0.8
Ptaposteriori = 0.8

Die man sieht, ist die kombinierte Trefferwahrscheinlichkeit wesentlich höher als die dazugehörigen Einzelwahrscheinlichkeiten.The one you see is the combined one Hit probability significantly higher than the associated individual probabilities.

Ein weiteres Ausführungsbeispiel der Erfindung ist die Synchronisation durch Ermittlung des Symbolzustandes und Einstellen des Decoders auf den gefundenen Zustand. Dieses Verfahren arbeitet in seinem ersten Teil ähnlich wie das a-priori-Verfahren oder das a-posteriori-Verfahren. Es werden jedoch nicht über alle möglichen Symbole im Datenstrom die Nullstelle ermittelt, sondern an einer Symbolstelle wird getestet, welcher Symbolzustand diese Stelle hat. Im zweiten Schritt wird durch Eingabe einer Symbolfolge der Decoder auf den Symbolzustand gebracht, der dem ersten empfangenen Symbol entspricht. Von diesem Moment an wird auf den empfangenen Datenstrom umgeschaltet.Another embodiment of the invention is the synchronization by determining the symbol state and Set the decoder to the found state. This method works similarly in its first part like the a priori method or the a posteriori method. It will however not over all sorts Symbols in the data stream determine the zero, but at one The symbol position is tested as to which symbol state this position has. In the second step, the decoder is opened by entering a symbol sequence brought the symbol state that corresponds to the first received symbol. From this moment on, the system switches over to the received data stream.

Die Vorgehensweise gliedert sich also in drei Schritte:

  • 1. Symbolsynchronisation
  • 2. Ermitteln des aktuellen Symbolzustandes
  • 3. Einstellen des Decoders auf den gefundenen Startzustand.
The procedure is divided into three steps:
  • 1. Symbol synchronization
  • 2. Determine the current symbol status
  • 3. Set the decoder to the start state found.

1. Symbolsynchronisation1. Symbol synchronization

Die Symbolsinchronisation wird wie vorstehend beschrieben durchgeführt.The symbol synchronization is like performed above.

2. Ermittlung des aktuellen Symbolzustandes2. Determine the current icon status

Hier wird nach erfolgter Symbolsynchronisation ein Satz von n aufeinanderfolgenden Symbolen aus dem Empfangsdatenstrom mit einem Satz von Km Symbolfolgen korreliert. Die Km Symbolfolgen enthalten für k verschiedene Zustände jeweils m verschiedene Symbolfolgen.After symbol synchronization has taken place, a set of n successive symbols from the received data stream is correlated with a set of K m symbol sequences. The K m symbol sequences each contain m different symbol sequences for k different states.

Je nach a-posterioi- oder a-priori-Verfahren fuhren diese Vergleichsymbolfolgen von dem zu findenden Zustand weg oder hin. Im a-priori-Fall sind pro Zustand m Symbolfolgen aus jeweils n Symbolen zusammengestellt, die als letzten den gesuchten Symbolzustand enthalten. Dies bedeutet, daß der Zustand des ersten Symbols unbekannt bleibt. Las erste Symbol mit bekanntem Zustand ist demnach das n-te Symbol.Depending on the a posterioi or a priori method these comparison symbol sequences lead from the state to be found away or there. In the a priori case are m symbol sequences composed of n symbols for each state, which are the last to contain the symbol state you are looking for. This means, that the The state of the first symbol remains unknown. Read the first symbol with the known state is therefore the nth symbol.

Beim a-posteriori-Verfahren werden die km Vergleichszustandsfolgen nach den k möglichen Zuständen sortiert, die das erste Symbol einnehmen kann. Die m Zustandsfolgen enthalten jeweils solche Zustandsfolgen, die von jeweils einem der k Zustände wegführen. Sie enthalten also jeweils solche Zustände, die, von einem Encoder erzeugt werden können, wenn er sich in einem bestimmten Startzustand Kstart befindet.In the a posteriori method, the k m comparison state sequences are sorted according to the k possible states that the first symbol can assume. The m state sequences each contain such state sequences that lead away from one of the k states. They each contain such states that can be generated by an encoder when it is in a certain start state Kstart.

Unabhängig vom Verfahren (a-priori oder a-posteriori) gilt der Symbolzustand K als der ermittelte, in dessen Gruppe K sich die Zustandsfolge mit der höchsten Korrelation befindet.Regardless of the procedure (a priori or a-posteriori), the symbol state K is considered to be the determined in its group K there is the sequence of states with the highest correlation located.

Die Größen k, m, n richten sich nach der Speichertiefe des Schieberegisters und nach der Anrahl der Bits pro Symbol BpS.The sizes k, m, n depend on each other the memory depth of the shift register and after the number of bits per symbol BpS.

Bei einer Speichertiefe von Spt=3 Bitstellen und einer Anzahl von Bps=2 Bits pro Symbol ergeben sich folgende Startzustände:

Figure 00100001
Tabelle 4: Mögliche Startzustände bei einer Speichertiefe von Spt=3 With a memory depth of Spt = 3 bit positions and a number of Bps = 2 bits per symbol, the following start states result:
Figure 00100001
Table 4: Possible start states with a storage depth of Spt = 3

Daraus ergeben sich folgende k Sätze von Bitfolgen, die von jeweils einem der in Tabelle 4 dargestellten Startzustände ausgehen.This results in the following k sets of Bit strings, each of one of those shown in Table 4 start conditions out.

Figure 00100002
Tabelle 5: Bitfolgen, die ausgehend von den k verschiedenen Startzuständen K bei einer Speichertiefe von Spt=3 möglich sind.
Figure 00100002
Table 5: Bit sequences that are possible based on the k different start states K with a memory depth of Spt = 3.

Die nachfolgende Tabelle 6 zeigt die Symbolfolgen, mit denen die ersten n=3 Symbole verglichen werden müssen, um den Startzustand zu ermitteln.The following table 6 shows the symbol sequences with which the first n = 3 symbols are compared have to, to determine the starting state.

Figure 00110001
Figure 00110001

Zum Einstellen des Decoders auf den gefundenen Startzustand wird wie folgt vorgegangen:
Wendet man die in Tabelle 6 aufgelisteten Testsymbolfolgen auf eine reale Empfangssymbolfolge an, so ergibt sich durch Korrelation der Startzustand. Dies soll anhand des nachfolgenden Beispiels veranschaulicht werden:

Figure 00120001
To set the decoder to the start state found, proceed as follows:
Applying the test symbol sequences listed in Table 6 to a real receive symbol sequence yields itself by correlating the starting state. The following example illustrates this:
Figure 00120001

Der Quellcode (Sendestring Sstr) enhält im vorstehenden Beispielsfalle eine willkürliche Bitfolge, die vom Faltungsencoder in die Symbolfolge Sf umgewandelt wird. Vom Empfänger wird infolge verspäteten Einschaltens die Symbolfolge Esf empfangen. Durch Vergleich der ersten n=3 Symbole von Esf findet man den Startzustand. Die Bitfolge Estr ist die resultierende Bitfolge, die sich durch Decodierung von Esf ergeben muß. Für die Korrelationen KO0 bis KO3 gilt:

Figure 00130001
In the above example, the source code (transmission string Sstr) contains an arbitrary bit sequence which is converted by the convolutional encoder into the symbol sequence Sf. The symbol sequence Esf is received by the receiver due to the delayed switch-on. The starting state can be found by comparing the first n = 3 symbols of Esf. The bit sequence Estr is the resulting bit sequence which must result from decoding Esf. The following applies to the correlations KO 0 to KO 3 :
Figure 00130001

sDie Korrelation K0 bedeutet, daß der Emfpangsstring Esf auf den Codezustand Null zuläuft. Die Korrelation KO1 bedeutet, daß der Empfangsstring Esf auf den Codezustand Eins zuläuft. Die Konelation KO2 bedeutet, daß der Empfangsstring Esf auf den Codezustand Zwei zuläuft. Die Kanelation KO3 bedeutet, daß der Empfangsstring Esf auf den Codezustand Drei zuläuft. Jede Zeile der nachfolgenden Korrelationsmatrix gilt für einen bestimmten Codezustand, auf den der Empfangsstring Esf zulaufen könnte. Die Zeile mit der höchsten Korrelation repräsentiert den Codezustand, auf den die Empfangssymbolfolge (Empfangsstring) Esf tatsächlich zuläuft.The correlation K 0 means that the reception string Esf approaches the code state zero. The correlation KO 1 means that the receive string Esf approaches code state one. The KO 2 be indicates that the receive string Esf approaches code state two. The channel KO 3 means that the receive string Esf approaches code state three. Each row of the correlation matrix below applies to a specific code state to which the receive string Esf could run. The line with the highest correlation represents the code state to which the receive symbol sequence (receive string) Esf actually runs.

Die folgende Tabelle 7 zeigt eine Korrelationsmatrix der möglichen Startsequenzen mit der empfangenen Symbolfolge Esf:

Figure 00130002
Tabelle 7 The following table 7 shows a correlation matrix of the possible start sequences with the received symbol sequence Esf:
Figure 00130002
Table 7

Um den Startzustand zu finden, muß nur noch überprüft werden, in welcher Zeile der Korrelationsmatrix sich das größte Matrixelement befindet.In order to find the starting state, you only have to check in which row of the correlation matrix is the largest matrix element located.

Im Beispielsfalle der Tabelle 7 befindet sich die maximale Korrelation (Wert 6) in der Zeile Nr. 3; dies bedeutet den dritten Codezustand Zwei.In the example case, Table 7 is located the maximum correlation (value 6) in row no. 3; this means the third code state two.

Das Einstellen des Decoders auf den gefundenen Startzustand erfolgt in der nachstehend beschriebenen Weise.Setting the decoder to the found start state takes place in the described below Wise.

Da der Decoder sich im Einschaltzeitpunkt und nach jedem RESET im Zustand Null befindet, ist es erforderlich, nun den Decoder in den gefundenen Zustand zu versetzen.Since the decoder is at the time of switching on and is in zero state after each RESET, it is necessary now put the decoder in the found state.

Dies geschieht dadurch, daß man in den Decoder eine Symbolfolge einspeist, die im Zustand Null startet und im gewünschten Endzustand endet. Damit ist der Decoder dann auf den Datenstrom synchronisiert. Nach diesem Zeitpunkt wird der Decoder mit dem empfangenen Datenstrom umgeschaltet.This happens because in the decoder feeds a symbol sequence that starts in state zero and in the desired one Final state ends. The decoder is then on the data stream synchronized. After this time, the decoder is received with the Data stream switched.

Beispiel:Example:

Bps = 2
Gp = (101) (101)
Startzustand = 2
Bps = 2
Gp = (101) (101)
Start state = 2

Um den Decoder in den Zustand zu bringen, in dem sich der Coder befand, als das erste empfangene Symbol codiert wurde, muß man sich zuerst den Registerinhalt des Coders anschauen, der dem Startzustand entspricht.To put the decoder in the state too the coder was in as the first symbol received has been coded, one has to first look at the register content of the encoder that corresponds to the start state.

Der Registerinhalt ist: [101]
der Vorgängerzustand war: [x10].
The register content is: [101]
the previous state was: [x10].

In diesen Zustand muß der Decoder durch Eingabe von Startsymbolen gebracht werden. Diese Symbole ergeben sich aus der Zustandsfolge die vom Zustand {00} zum Zustand {10} führt.The decoder must be in this state can be brought by entering start symbols. These symbols result from the state sequence that from state {00} to state {10} leads.

Zu diesem Zweck muß die Bitfolge 00010 mit dem verwendeten Codepolynom codiert werden.For this purpose the bit sequence 00010 with the code polynomial used.

Dies ergibt folgende Registerinhalt und Symbole:
[000] 00
[001] 11
[010] 01
This results in the following register contents and symbols:
[000] 00
[001] 11
01

Diese Symbolfolge bringt den Decoder in den gewünschten Startzustand, von diesem ausgehend können dann die empfangenen Symbole decodiert werden.This symbol sequence brings the decoder in the desired Starting state, from this the received symbols can then be decoded.

Für andere Startzustände müssen andere Symbolfolgen verwendet werden. Damit werden auch andere Bitfolgen benötigt. Für die Generierung dieser Bits gilt folgende Regel:

  • 1. BpS =3 voreilende Nullen um das Schieberegister des Coders zu leeren.
  • 2. Die beiden Bits die der Zustandsnummer entsprechen:
Different symbol sequences must be used for other start states. This means that other bit sequences are also required. The following rule applies to the generation of these bits:
  • 1. BpS = 3 leading zeros to empty the shift register of the encoder.
  • 2. The two bits that correspond to the status number:

Figure 00160001
Figure 00160001

Claims (1)

Verfahren zum Synchronisieren eines Faltungsdecoders, dem ein faltungscodierter Datenstrom zugeführt wird, welcher entsprechend dem gewählten Faltungscode n Codierungszustände aufweisen kann, gekennzeichnet durch folgende Schritte: a) eine selektierte Bitfolge des faltungscodierten Datenstroms wird nacheinander oder parallel mit m Vergleichssequenzen zu je i Bits korreliert, welche so ausgewählt sind, daß sie zum Codierungszustand 0 hinführen oder von dort wegführen; b) von den m Korrelationsergebnissen des Schrittes a) wird das Ergebnis mit dem maximalen Korrelationsgrad ausgewählt; c) die Schritte a) und b) werden wiederholt, jedoch für eine Bitfolge, die gegenüber der vorhergehenden Bitfolge um ein Bit versetzt ist, wobei so viele Wiederholungen durchgeführt werden, bis c1) das theoretische Maximum des Korrelationsgrades erreicht ist, oder c2) eine vorbestimmte Anzahl von Wiederholungen erreicht ist, wobei diese Anzahl so festgelegt wird, daß mit größter Wahrscheinlichkeit der Codierungszustand Null im Datenstrom aufgetreten ist; d) die Anfangsposition derjenigen Bitfolge aus dem Datenstrom, bei welcher der höchste Korrelationsgrad festgestellt wird, stellt den Synchronisierungspunkt dar.Method for synchronizing a convolution decoder, the a convolutionally coded data stream is supplied, which accordingly the chosen one Convolutional code n coding states can have, characterized by the following steps: a) a selected bit sequence of the convolutionally coded data stream one after the other or in parallel with m comparison sequences of i bits each correlates which is selected so are that they lead to coding state 0 or lead away from there; b) the result of the m correlation results of step a) selected with the maximum degree of correlation; c) steps a) and b) are repeated, but for a bit sequence that is opposite to the previous bit sequence is offset by one bit, whereby so many Repetitions performed be until c1) the theoretical maximum of the degree of correlation is reached, or c2) reaches a predetermined number of repetitions is, this number is determined so that with the greatest probability the Coding state zero has occurred in the data stream; d) the Starting position of the bit sequence from the data stream at which the highest Degree of correlation is determined, represents the synchronization point represents.
DE1996110163 1996-03-15 1996-03-15 Method for synchronizing a convolution decoder Expired - Lifetime DE19610163B4 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE1996110163 DE19610163B4 (en) 1996-03-15 1996-03-15 Method for synchronizing a convolution decoder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE1996110163 DE19610163B4 (en) 1996-03-15 1996-03-15 Method for synchronizing a convolution decoder

Publications (2)

Publication Number Publication Date
DE19610163A1 DE19610163A1 (en) 1997-10-09
DE19610163B4 true DE19610163B4 (en) 2004-04-08

Family

ID=7788354

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1996110163 Expired - Lifetime DE19610163B4 (en) 1996-03-15 1996-03-15 Method for synchronizing a convolution decoder

Country Status (1)

Country Link
DE (1) DE19610163B4 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10055658B4 (en) * 2000-11-10 2004-04-29 Infineon Technologies Ag Method and circuit for synchronizing a receiver for a convolutionally coded received signal

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01296716A (en) * 1988-05-25 1989-11-30 Canon Inc Viterbi decoder
EP0603824A2 (en) * 1992-12-25 1994-06-29 Nec Corporation Method of and circuit for detecting synchronism in viterbi decoder
EP0715416A2 (en) * 1994-12-02 1996-06-05 AT&T Corp. System and method deinterleaving digital data

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01296716A (en) * 1988-05-25 1989-11-30 Canon Inc Viterbi decoder
EP0603824A2 (en) * 1992-12-25 1994-06-29 Nec Corporation Method of and circuit for detecting synchronism in viterbi decoder
JPH06276107A (en) * 1992-12-25 1994-09-30 Nec Corp Synchronization detecting system of viterbi decoder
EP0715416A2 (en) * 1994-12-02 1996-06-05 AT&T Corp. System and method deinterleaving digital data

Also Published As

Publication number Publication date
DE19610163A1 (en) 1997-10-09

Similar Documents

Publication Publication Date Title
EP0078903B1 (en) Method and arrangement for assuring the initial synchronization of a telegram within a receiver, the telegram consisting of bit impulse sequences
EP0749211B1 (en) Method and coding device for a secure transmission of data by means of a multi-component coding
DE2508706C2 (en) Circuit arrangement for coding data bit sequences
DE69931751T2 (en) DEVICE AND METHOD FOR INSERTING PREVIOUSLY KNOWN BITS TO THE INPUT LEVEL OF A CHANNEL CODIER
DE2540472C3 (en) Method and circuit arrangements for coding binary data using a modified zero modulation code
EP0697770B1 (en) Arithmetic decoding method
DE10008064A1 (en) Method for adapting the data blocks to be fed to a turbo encoder and corresponding communication device
DE2251257A1 (en) VOICE DETECTOR FOR A TELEPHONE SWITCHING SYSTEM
DE2736967A1 (en) ASYNCHRONOUS TELEMETRY CIRCUIT
EP1236281A1 (en) Turbo code decoder and turbo code decoding method with iterative channel parameter estimation
DE1599084A1 (en) Facility for correcting bug bundles
EP0003480B1 (en) Circuit for converting binary information by means of check bits
DE19610163B4 (en) Method for synchronizing a convolution decoder
DE1803222B2 (en) PROCEDURE FOR SUMMARIZING PULSE-CODED MESSAGES
DE19907728C2 (en) Device and method for generating a data stream and device and method for reading a data stream
DE2838228B2 (en) Method for synchronizing a data bit sequence
EP0646300A1 (en) Method of detecting errors in digitized data-reduced audio and data signals.
DE19521327A1 (en) Secure information transmission method using multi-component coding
DE69918912T2 (en) METHOD AND EMBODIMENT FOR IMPROVED PERFORMANCE IN A SYSTEM USING FOLDING DECODING
DE602004013186T2 (en) LINEAR APPROXIMATION OF MAX * OPERATION FOR LOG MAP DECODING
DE3500115A1 (en) METHOD FOR CODING A DATA BIT PATTERN, ARRANGEMENT FOR CARRYING OUT THE METHOD AND ARRANGEMENT FOR DECODING THE CHANNEL BIT FLOW OBTAINED BY THE METHOD
EP1826911A1 (en) Encoding and decoding with Trellis-coded modulation
DE3805169C2 (en)
DE19520987A1 (en) Terminating trellis in recursive systematic convolutional code for data security applications
DE10147306A1 (en) Method and device for determining initialization states in pseudo-noise sequences

Legal Events

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

Owner name: SUEDWESTRUNDFUNK -ANSTALT DES OEFFENTLICHEN RECHTS-,

8364 No opposition during term of opposition
R071 Expiry of right