DE102008055139A1 - Verfahren zum Senden und Empfangen eines Datenblocks - Google Patents

Verfahren zum Senden und Empfangen eines Datenblocks Download PDF

Info

Publication number
DE102008055139A1
DE102008055139A1 DE200810055139 DE102008055139A DE102008055139A1 DE 102008055139 A1 DE102008055139 A1 DE 102008055139A1 DE 200810055139 DE200810055139 DE 200810055139 DE 102008055139 A DE102008055139 A DE 102008055139A DE 102008055139 A1 DE102008055139 A1 DE 102008055139A1
Authority
DE
Germany
Prior art keywords
data block
bits
block
data
bit
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
DE200810055139
Other languages
English (en)
Other versions
DE102008055139B4 (de
Inventor
Nataša Dr.-Ing. Živić
Christoph Prof. Dr. Ruland
Sergiu Dr.-Ing. Tcaciuc
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.)
Secutanta GmbH
Original Assignee
Secutanta 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 Secutanta GmbH filed Critical Secutanta GmbH
Priority to DE200810055139 priority Critical patent/DE102008055139B4/de
Priority to PCT/EP2009/066780 priority patent/WO2010072570A1/de
Publication of DE102008055139A1 publication Critical patent/DE102008055139A1/de
Application granted granted Critical
Publication of DE102008055139B4 publication Critical patent/DE102008055139B4/de
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/45Soft decoding, i.e. using symbol reliability information
    • H03M13/451Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD]
    • 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/3994Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using state pinning or decision forcing, i.e. the decoded sequence is forced through a particular trellis state or a particular set of trellis states or a particular decoded symbol

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zum Senden eianalkodierung des Datenblocks durch Einfügen der Bits eines vordefinierten Bitstroms (108) in den Datenblock nach einem vordefinierten Schema zur Hinzufügung von Redundanz, so dass ein Übertragungsblock erzeugt wird, wobei die Einfügung der Bits in den Datenblock unabhängig von dem Inhalt des Datenblocks ist, - Senden des Übertragungsblocks über einen Nachrichtenkanal (116).

Description

  • Die Erfindung betrifft ein Verfahren zum Senden und Empfangen eines Datenblocks sowie entsprechende Sender und Empfänger.
  • So genannte Soft Decision- und Soft-Input Soft-Output (SISO) Decoder sind an sich aus dem Stand der Technik bekannt. Solche Decoder sind beispielsweise bekannt aus WO 2001/006662 , US 2007/0130494 A1 , US 2005/0258985 A1 , US 2007/0288833 A1 und US 2008/0046799 A1 .
  • Aus dem Stand der Technik sind ferner sog. MAP Decoder bekannt, die ebenfalls zu den SISO Decodern gehören: Bahl, L., Jelinek, J., Raviv, J., Raviv, F.: Optimal decoding of linear codes for minimizing symbol error rate, IEEE Transactions an Information Theory, IT-20, pp. 284–287, March 1974.
  • Die sog. SOVA Decoder gehören auch zu den SISO Decodern: Hagenauer, J. Höher, P.: A Viterbi algorithm with soff-decision outputs and its applications, Proc. IEEE GLOBECOM '89, Dallas, Texas, USA, vol. 3, pp. 1680–1686, November 1989
  • Ferner sind Soft Decision und SISO Decoding von Reed Solomon Codes aus dem Stand der Technik bekannt: 1. Kötter, R., Vardy, A.: Algebraic Soft-Decision Decoding of Reed-Solomon Codes, November 2003 vol. 49, pp. 2809–2825, 2. Kötter, R., Vardy, A.: Saft Decoding of Reed Solomon Codes and Optimal Weight Assignments, 4th International ITG Conference an Source and Channel Coding, pp. 69–74, Berlin, Germany, January 2002. 3. Ponnampalam, V., Grant, A.: An efficient SISO algorithm for Reed-Solomon codes, IEEE Int. Symp. Inform. Theory, Yokohama, Japan, June 29–July 4, 2003, 4. Ponnampalam, V., Vučetić, B.: Soft decision decoding of Reed-Solomon codes, IEEE Trans. Communications, vol. 50, Nov. 2002, pp 1758–1768, 5. Vardy, A., Be'ery, Y.: Bit-level soft-decision decoding of Reed-Solomon codes, IEEE Trans. Communications., vol. 39, pp. 440–445, March 1991.
  • Aus "Feedback in Joint Channel Coding and Cryptography", Christoph Ruland and Nataša Živić in: 7th International Conference an Source and Channel Coding, Ulm, VDE/ITG 2008, ist es bekannt, zu sendende Daten blockweise mit einem kryptografischen Prüfwert zu versehen. Ferner ist hieraus auch ein entsprechendes Empfangsverfahren bekannt.
  • Der Erfindung liegt demgegenüber die Aufgabe zugrunde, ein verbessertes Verfahren zum Senden und Empfangen eines Datenblocks zu schaffen sowie einen entsprechenden Sender und Empfänger.
  • Die der Erfindung zugrunde liegenden Aufgaben werden jeweils mit den Merkmalen der unabhängigen Patentansprüche gelöst. Ausführungsformen der Erfindung sind in den abhängigen Patentansprüchen angegeben.
  • Nach Ausführungsformen der Erfindung wird ein Verfahren zum Senden eines Datenblocks geschaffen. Als Teil der Kanalkodierung des Datenblocks werden Bits eines vordefinierten Bitstroms in den Datenblock nach einem vordefinierten Schema eingefügt. Die Bitwerte der eingefügten Bits und die Positionen, an denen die Bits dem Datenblock hinzugefügt werden, hängen nicht von dem Inhalt des Datenblocks ab.
  • Durch die Einfügung der Bits in den Datenblock wird ein Übertragungsblock erzeugt, der zumindest den zu sendenden Datenblock und die in den Datenblock eingefügten Bits beinhaltet. Dieser Übertragungsblock wird dann über einen Nachrichtenkanal gesendet. Nach dem Einfügen der Bits können weitere Kanalkodierungsschritte erfolgen, wie zum Beispiel eine Kanalkodierung des Übertragungsblocks mit einem Convolutional Code oder einem Turbo Code.
  • Nach einer Ausführungsform der Erfindung erfolgt die Einfügung der Bits in den Datenstrom durch bitweises Multiplexing.
  • Nach einer Ausführungsform der Erfindung wird der vordefinierte Bitstrom senderseitig generiert und nach dem vordefinierten Schema in den Datenblock eingefügt.
  • Beispielsweise soll ein Datenstrom übertragen werden, der aus mehreren Datenblöcken besteht, wobei ein Datenblock eine Anzahl von k Bits beinhaltet. In einen zu sendenden Datenblock wird dann eine Anzahl von n Bits des vordefinierten Bitstroms eingefügt. Der vordefinierte Bitstrom wird dabei beispielsweise synchron zu dem zu sendenden Datenstrom generiert und in die aufeinander folgenden Datenblöcke des Datenstroms nach dem vordefinierten Schema eingefügt. Die in die Datenblöcke des Datenstroms einzufügenden Bits des vordefinierten Bitstroms hängen nicht von dem Inhalt des Datenstroms ab, sodass sie empfängerseitig als a priori Information vorliegen können. Beispielsweise wird hierzu empfängerseitig der vordefinierte Datenstrom in identischer Weise generiert, und zwar beispielsweise synchron zu dem Empfang des Datenstroms von dem Sender.
  • Nach einer Ausführungsform der Erfindung besteht der vordefinierte Bitstrom aus einer Reihe von identischen Bits, d. h. beispielsweise nur aus „1” Bits oder nur aus „0” Bits.
  • Nach einer Ausführungsform der Erfindung ist das vordefinierte Schema so ausgebildet, dass nach einer ersten vorgegebenen Anzahl von Bits des Datenblocks jeweils eine zweite vorgegebene Anzahl von Bits des Bitstroms eingefügt wird. Beispielsweise ist die erste vorgegebene Anzahl gleich der zweiten vorgegebenen Anzahl gleich 1, sodass also alternierend in dem Übertragungsblock ein Bit des vordefinierten Bitstroms auf ein Bit des Datenblocks folgt.
  • Wenn beispielsweise pro m Bits des Datenstroms ein Anzahl von n Bits des vordefinierten Bitstroms hinzugefügt wird, ergibt sich aufgrund der Einfügung der Bits eine Coderate von m/(m + n).
  • Nach einer Ausführungsform der Erfindung werden für den zu sendenden Datenblock Prüfdaten generiert. Mit Hilfe der Prüfdaten kann empfängerseitig geprüft werden, ob ein korrekter Empfang des Datenblocks vorliegt.
  • Nach Ausführungsformen der Erfindung handelt es sich bei den Prüfdaten um Cyclic Redundancy Check (CRC) Prüfdaten, Paritäts-Prüfwerte, Hashwerte, Prüfsummen oder die Redundanzinformation von Blockcodes oder Faltungscodes. Nach weiteren Ausführungsformen der Erfindung kann es sich bei den Prüfdaten um kryptographische Prüfinformation, so genannte Cryptographic Check Values, handeln, die insbesondere mit Hilfe eines symmetrischen und/oder asymmetrischen Schlüsselpaares und/oder aus den betreffenden Teilblöcken erzeugt werden.
  • Nach einer Ausführungsform der Erfindung wird der Datenstrom nach der Einfügung der vordefinierten Bits punktiert, d. h. es werden Bits gelöscht, um die Coderate zu erhöhen. Falls auf der Senderseite punktiert worden ist, werden empfängerseitig dem Datenstrom an den punktierten Positionen wieder Bits hinzugefügt.
  • In einem weiteren Aspekt betrifft die Erfindung einen Sender, der zur Durchführung eines erfindungsgemäßen Verfahrens zum Senden eines Datenblocks ausgebildet ist.
  • In einem weiteren Aspekt betrifft die Erfindung ein Verfahren zum Empfangen eines Datenblocks. Nach Ausführungsformen der Erfindung erfolgt empfängerseitig eine Leitungsdekodierung eines den Übertragungsblock tragenden Signals. Die Leitungsdekodierung erfolgt mit Hilfe eines Soft-Decision-Leitungsdekodierers. Die Ergebnisse der Leitungsdekodierung werden also für jedes empfangene Bit als Soft Decision ausgegeben und dienen als Grundlage für eine nachfolgende SISO-Kanaldekodierung. In die SISO-Kanaldekodierung können die eingefügten vordefinierten Bits als a priori Information eingehen, indem die Zuverlässigkeitswerte für den korrekten Empfang dieser Bits auf einen maximalen Zuverlässigkeitswert gesetzt werden.
  • Nach einer Ausführungsform der Erfindung wird empfängerseitig ein Kanaldekodierer eingesetzt, der als Input Bits verarbeitet. Dem Kanaldekodierer werden dann an den durch das vordefinierte Schema bestimmten Positionen der eingefügten Bits die Werte dieser Bits als a priori Information zur Verfügung gestellt.
  • Nach einer Ausführungsform der Erfindung erfolgt die SISO-Kanaldekodierung zunächst ohne die Berücksichtigung der a priori bekannten Informationen hinsichtlich der eingefügten Bits. In diesem Fall werden die von dem SISO-Kanaldekodierer in Form von Zuverlässigkeitswerten gelieferten Bitwerte der vordefinierten Bits mit der a priori bekannten Information verglichen. Wenn die von dem SISO-Kanaldekodierer gelieferten Bitwerte der vordefinierten Bits nicht mit der a priori Information übereinstimmen, so werden die betreffenden L-Werte dieser Bits korrigiert und die SISO-Kanaldekodierung wird auf der Basis dieser korrigierten L-Werte nochmals durchgeführt. Diese Ausführungsform ist besonders vorteilhaft, wenn ein bereits existenter Empfänger nachträglich zur Ausführung des erfindungsgemäßen Empfangsverfahrens umgerüstet werden soll.
  • Nach einer Ausführungsform der Erfindung beinhaltet der empfangene Übertragungsblock Prüfdaten, die durch einen Fehlererkennungsenkoder generiert werden. Empfängerseitig wird dann mit Hilfe der Prüfdaten geprüft, ob der Datenblock korrekt empfangen worden ist. Falls die Prüfung ergibt, dass kein korrekter Empfang vorliegt, kann ein Verfahren zur Fehlerkorrektur gestartet werden.
  • Nach einer Ausführungsform der Erfindung werden für die Durchführung des Verfahrens zur Fehlerkorrektur die von der SISO-Kanaldekodierung gelieferten Zuverlässigkeitswerte, d. h. die so genannten L-Werte, verwendet.
  • Nach einer Ausführungsform der Erfindung wird das Verfahren zur Fehlerkorrektur so durchgeführt, dass ein oder mehrere Bits des Übertragungsblocks, denen die niedrigsten Zuverlässigkeitsbetragswerte durch die SISO-Kanaldekodierung zugeordnet worden sind, verändert werden. Nach Veränderung dieser Bitwerte wird dann geprüft, ob der dann vorliegende empfangene Datenblock mit den zugeordneten Prüfdaten stimmig ist. Ist dies der Fall, so gilt der Datenblock als korrekt empfangen. Ist dies nicht der Fall, so können weitere Fehlerkorrekturversuche unternommen werden, indem zusätzliche oder andere Bits in dem Übertragungsblock geändert werden, und zwar beispielsweise beginnend mit denjenigen Bits, die am wenigsten wahrscheinlich korrekt empfangen worden sind. Hierzu kann zunächst eine Sortierung der Bits des Übertragungsblocks nach deren Zuverlässigkeitsbetragswerten durchgeführt werden.
  • Nach einer Ausführungsform der Erfindung gilt ein Übertragungsblock als korrekt empfangen, wenn die Prüfdaten, die empfängerseitig für den empfangenen Datenblock des Übertragungsblocks generiert werden, mit den empfangenen Prüfdaten dieses Übertragungsblocks identisch sind.
  • Nach einer Ausführungsform der Erfindung gilt ein Übertragungsblock als korrekt empfangen, wenn die Prüfdaten, die empfängerseitig für den empfangenen Datenblock des Übertragungsblocks generiert werden, sich von den empfangenen Prüfdaten dieses Übertragungsblocks in nicht mehr als einer vorgegebenen Anzahl von Bitpositionen unterscheiden. Bei der Anzahl der unterschiedlichen Bitpositionen der zu vergleichenden empfangenen Prüfdaten und der empfängerseitig generierten Prüfdaten handelt es sich um die so genannte Hammingdistanz. Wenn also die Hammingdistanz zwischen den empfangenen Prüfdaten und den empfängerseitig generierten Prüfdaten nicht über einem vorgegebenen Schwellwert liegt, so gilt der dazugehörige Datenblock als korrekt empfangen. Liegt diese Hammingdistanz dagegen über dem vorgegebenen Schwellwert, so gilt der Datenblock als nicht korrekt empfangen.
  • Das Fehlerkorrekturverfahren wird dann beispielsweise so durchgeführt, dass ein oder mehrere Bits nur in dem Datenblock des Übertragungsblocks, denen die niedrigsten Zuverlässigkeitswerte zugeordnet sind, verändert werden. Die Bitpositionen der empfangenen Prüfdaten werden also im Unterschied zu der oben beschriebenen Ausführungsform des Fehlerkorrekturverfahrens nicht berücksichtigt, sondern sie bleiben unverändert und gehen auch nicht in die Sortierung nach den Zuverlässigkeitswerten ein.
  • Nach der versuchsweisen Veränderung eines oder mehrerer der Bitwerte des zu korrigierenden Datenblocks wird dann geprüft, ob die Hammingdistanz zwischen den empfangenen Prüfdaten und den im Verifikationsmodul über den empfangenen und versuchsweise geänderten Teilblock berechneten Prüfdaten nicht über dem vorgegebenen Schwellwert liegt.
  • Dieser Schwellwert wird auf Grund der Bitfehlerrate hinter der Kanalcodierung und der Eigenschaften des Fehlererkennungsenkoders festgelegt. Wenn die Hammingdistanz nicht größer als dieser Schwellwert ist, so gilt dieser Datenblock als korrekt empfangen. Ist dies nicht der Fall, so können weitere Fehlerkorrekturversuche unternommen werden, indem zusätzliche oder andere Bits in dem Datenblock geändert werden, und zwar beispielsweise beginnend mit denjenigen Bits, die am wenigsten wahrscheinlich korrekt empfangen worden sind. Hierzu kann zunächst eine Sortierung der Bits des Datenblocks nach deren Zuverlässigkeitswerten durchgeführt werden.
  • Nach Ausführungsformen der Erfindung wird der Soft Output des Soft-Decision-Leitungsdecodierer in einen SISO-Kanal-Decodierer zur Kanaldekodierung eingegeben. Bei dem SISO-Kanal-Decodierer kann es sich um einen MAP Decoder, SOVA Decoder oder einen anderen SISO-Dekodierer, z. B. zur Dekodierung von Reed Solomon Codes, handeln.
  • In einem weiteren Aspekt betrifft die Erfindung ein Telekommunikationssystem, welches zumindest einen erfindungsgemäßen Sender und zumindest einen erfindungsgemäßen Empfänger beinhaltet.
  • Ausführungsformen der Erfindung sind besonders vorteilhaft, da eine verbesserte Kanalkodierung ermöglicht wird, insbesondere für eine verbesserte SISO-Kanaldekodierung. Insbesondere ermöglicht die Erfindung eine verbesserte Qualität der Übertragung, bei einer nur wenig erhöhten – oder aufgrund entsprechender Punktierung – nicht erhöhten Coderate.
  • Im Weiteren werden Ausführungsformen der Erfindung mit Bezugnahme auf die Zeichnungen näher erläutert. Es zeigen:
  • 1 ein Blockdiagramm einer ersten Ausführungsform eines erfindungsgemäßen Senders,
  • 2 ein Blockdiagramm einer ersten Ausführungsform eines erfindungsgemäßen Empfängers,
  • 3 ein Blockdiagramm einer zweiten Ausführungsform eines erfindungsgemäßen Senders,
  • 4 ein Blockdiagramm einer zweiten Ausführungsform eines erfindungsgemäßen Empfängers.
  • Elemente der nachfolgenden Ausführungsformen, die einander entsprechen, sind jeweils mit denselben Bezugszeichen gekennzeichnet.
  • Die 1 zeigt eine Ausführungsform eines erfindungsgemäßen Senders 100. Der Sender 100 dient zur Versendung zum Beispiel eines Datenstroms, der aus mehreren aufeinander folgenden Datenblöcken besteht. Die 1 zeigt exemplarisch einen solchen Datenblock 102. Beispielsweise hat der Datenblock 102 eine Länge von 512 Bits, d. h. die Bitpositionen B0, B1, B2, ... B511, wie in 1 dargestellt.
  • Der Sender 100 verfügt über einen Multiplexer 104, einen Bitstromgenerator und einen Kanalencoder 160 zur Codierung der zu sendenden Datenblöcke, insbesondere also des Datenblocks 102.
  • Der Bitstromgenerator 106 ist dazu ausgebildet, einen vordefinierten Bitstrom 108 zu generieren. Beispielsweise kann der vordefinierte Bitstrom aus vordefinierten Bitstromblöcken einer vorgegebenen Länge zusammengesetzt sein, wie zum Beispiel in Form des Bitstromblocks 108, der in der 1 exemplarisch dargestellt ist. In der hier betrachteten Ausführungsform hat der Bitstromblock 108 die halbe Bitlänge des Datenblocks 102, d. h. eine Länge von 256 Bits mit den Bitpositionen A0, A1, A2, ... A255, wie in der 1 dargestellt. Der Bitstromblock 108 kann ein vordefiniertes Bitmuster beinhalten.
  • Beispielsweise ist das Bitmuster so ausgebildet, dass sämtliche der Bitpositionen A0 bis A255 denselben Bitwert, nämlich den Wert 0 oder 1, aufweisen oder es folgen alternierend die Bitwerte 1 und 0 in dem Bitstromblock 108 aufeinander. Das Muster kann auch komplexer ausgebildet sein und mehrere aufeinander folgende Bitstromblöcke 108 übergreifen.
  • Die Bitstromblöcke des Bitstroms und die Datenblöcke des Datenstroms haben zueinander ein vordefiniertes Längenverhältnis, sodass für eine erste vorgegebene Anzahl von Bits eines jeden Datenblocks eine zweite vorgegebene Anzahl von Bits des entsprechenden Bitstromblocks eingefügt wird, wobei das Verhältnis der ersten Anzahl zu der zweiten Anzahl das Bitlängenverhältnis eines der Datenblöcke zu einem der Bitstromblöcke angibt.
  • Der Bitstromgenerator 106 kann so ausgebildet sein, dass er einen Speicher aufweist, in dem der Bitstromblock 108 gespeichert ist. Durch wiederholte Ausgabe des Bitstromblocks 108 wird dann der Bitstrom generiert. Der Bitstromgenerator 106 kann auch ein rückgekoppeltes Schieberegister oder dergleichen beinhalten, um einen Bitstrom mit dem vordefinierten Bitmuster zu generieren.
  • Der Multiplexer 104 hat einen ersten Eingang 110 zur Eingabe der Datenblöcke des Bitstroms und einen zweiten Eingang 112 zur Eingabe der Bitstromblöcke 108 des Bitstroms, den der Bitstromgenerator 106 generiert.
  • Der Multiplexer 104 ist so ausgebildet, dass er die Bits des Bitstromblocks 108 nach einem vordefinierten Schema in den Datenblock 102 einfügt. Hierdurch wird ein Übertragungsblock 114 erzeugt.
  • Das Schema kann so ausgebildet sein, dass auf zwei Bits des Datenblocks 102 ein Bit des Bitstromblocks 108 folgt, sodass die in der 1 gezeigte Reihenfolge der Bitpositionen des Übertragungsblocks 114 resultiert. Bei dieser Ausführungsform ist also die erste vorgegebene Anzahl gleich 2 und die zweite vorgegebene Anzahl gleich 1, was mit dem Bitlängenverhältnis des Datenblocks 102 und des Bitstromblocks 108 übereinstimmt.
  • In analoger Art und Weise wird für sämtliche der Datenblöcke des zu sendenden Datenstroms verfahren, wobei vorzugsweise die Eingabe der aufeinander folgender Datenblöcke synchron zu der Eingabe der aufeinander folgenden Bitstromblöcke in den Multiplexer 104 erfolgt.
  • Der Übertragungsblock 114 sowie die weiteren, für den Datenstrom generierten Übertragungsblöcke werden dann an den Kanalencoder 160 gegeben, der den Datenübertragungsblock 114 sowie die weiteren für den Datenstrom generierten Übertragungsblöcke mit Redundanz entsprechend dem vom Kanalencoder 160 verwendeten Kodierverfahren, z. B. einem Convolutional Code oder Turbo Code, versieht, und dann nach einer Leitungskodierung durch den Leitungsencoder 115 von dem Sender 100 über einen Nachrichtenkanal 116 gesendet.
  • Von besonderem Vorteil ist dabei, dass durch die Einfügung der Bits des von dem Bitstromgenerator 106 gelieferten Bitstroms in die Datenblöcke des Datenstroms Redundanz hinzugefügt wird, sodass die zu übertragenden Daten des Datenstroms bei der Übertragung über den Nachrichtenkanal gegenüber Übertragungsfehlern zusätzlich zu der vom Kanalencoder 160 generierten Redundanz geschützt werden. Von besonderem Vorteil ist dabei ferner, dass dies mit geringem schaltungstechnischen bzw. Datenverarbeitungsaufwand geschehen kann, da die Bitwerte der einzufügenden Bits nicht von den Datenwerten des zu übertragenden Datenstroms abhängen, sondern vordefiniert sind. Dies hat den weiteren Vorteil, dass die Latenzzeit des Senders zwischen der Eingabe des Datenblocks 102 und dem Senden des Übertragungsblocks 114 besonders gering sein kann.
  • Nach Ausführungsformen der Erfindung beinhaltet der Sender 100 vorzugsweise Mittel zur Quellenkodierung des Datenstroms, sodass der quellenkodierte Datenstrom in die Mittel zur Kanalkodierung eingegeben wird. Auf die Kanalkodierung fol gen vorzugsweise Mittel zur Leitungskodierung, d. h. z. B. der Leitungsencoder 115, in dem Sender 100 zur Leitungskodierung der Übertragungsblöcke.
  • Die 2 zeigt einen Empfänger 118 zum Empfang der von dem Sender 100 gesendeten Daten. Der Empfänger 118 hat einen Soft Decision Leitungsdekodierer (SDLD) 120. Beim Empfang eines Signals über den Nachrichtenkanal 116 führt der Leitungscekodierer 120 eine Soft Decision durch und liefert entsprechende Outputwerte an einen SISO-Kanaldekodierer 122. Der SISO-Kanaldekodierer 122 erhält also von dem Leitungsdekodierer 120 für jedes über den Kanal 116 gesendete Bit eine reellwertige Zahl, die aus dem physikalischen Empfangssignal abgeleitet worden ist.
  • Der SISO-Kanaldekodierer 122 hat einen ersten Eingang 124 zum Empfang der Input-Werte von dem Leitungsdekodierer 120 und einen zweiten Eingang 126 zum Empfang des vordefinierten Bitstroms von einem Bitstromgenerator 106 des Empfängers 118. Der Bitstromgenerator 106 des Empfängers 118 ist zur Ausgabe des identischen vordefinierten Bitstroms ausgebildet, den der Bitstromgenerator 106 des Senders 100 (vgl. 1) ausgibt. Die Ausgabe des Bitstroms des Bitstromgenerators 106 des Empfängers 118 kann hier so erfolgen, dass die vorgegebenen Bits durch Ausgabe von vorzeichenbehafteten maximalen L-Werten ausgegeben werden, da ja Gewissheit hinsichtlich der Korrektheit dieser Bits besteht.
  • Wenn der Empfänger 118 beispielsweise die leitungskodierten Bits über den Nachrichtenkanal 116 empfängt, so generiert der Leitungsdekodierer 120 eine Reihenfolge von reellen Zahlen, d. h. zum Beispiel eine reelle Zahl für jedes über den Kanal gesendete Bit, welche über den Eingang 124 in den SISO-Kanaldekodierer 122 eingegeben werden. Intern im SISO Dekoder 122 wird für jedes in dem Übertragungsblock 114' beinhaltete Bit des Bitromblocks 108 der a-priori-L-Wert vorbelegt, d. h. auf einen maximalen L-Wert gesetzt. Die L-Werte für die Bits des Datenblocks 102 werden hingegen initial z. B. auf 0 gesetzt, wenn hinsichtlich dieser Bits keine a-priori Information empfängerseitig vorliegt oder auf einen Wert, der der a-priori Information entspricht.
  • Die L-Werte für die Bits des Datenblocks 102 können aber auch einen anderen initialen Wert als 0 haben, und zwar insbesondere dann, wenn empfängerseitig eine a-priori Wahrscheinlichkeit für das Auftreten bestimmter Bitwerte in dem Datenblock 102 bekannt ist. Eine solche a-priori Wahrscheinlichkeit kann empfängerseitig z. B. aus dem Verhalten der Datenquelle oder aus vorhergehenden Decodiervorgängen abgeleitet werden.
  • Beispielsweise wird also der Bitstromblock 108 (vgl. 1) von dem Bitstromgenerator 106 des Empfängers 118 über den Eingang 126 in den SISO-Kanaldekodierer 122 eingegeben, und zwar in Form der vorzeichenbehafteten maximalen L-Werte für die Bitpositionen des Übertragungsblocks 114', die durch den Bitstromgenerator 106 auf der Senderseite definiert wurden, um so die a priori empfängerseitig bekannte Information hinsichtlich der in den Datenstrom eingefügten Bits in die SISO-Kanaldekodierung eingehen zu lassen. Mit diesen maximalen L-Werten werden im SISO-Kanaldecodierer 122 die entsprechenden Bitpositionen des Übertragungsblocks 114' vorbelegt, t, im dargestellten Fall also an den durch das auch empfängerseitig bekannte vordefinierte Schema bestimmten Bitpositionen der Bits A0, A1 ... A255 des Übertragungsblocks 114'.
  • Nach einer Ausführungsform der Erfindung hat der Kanalencoder 160 des Senders 100 eine Koderate von beispielsweise 1/N, wobei N eine natürliche Zahl ist. Der Kanalencoder 160 gibt dann für jedes zu sendende Bit des Übertragungsblocks 114 eine Anzahl von N Bits aus, die im Weiteren als N-Tupel bezeichnet werden. Dementsprechend gibt der Soft Decision-Leitungsdekodierer 120 des Empfängers 118 für jedes Bit des Übertragungsblocks 114 ein N-Tupel von reellen Zahlen über den Eingang 124 an den SISO-Kanaldecodierer aus. Zu jedem N-Tupel gibt es einen initialen L-Wert, der die Wahrscheinlichkeit der Bits des Übertragungsblocks 114' angibt. Für die N-Tupel, die für die vordefinierten Bits des Bitstromblocks 108 empfangen werden, werden die von dem Bitstromgenerator 106 erzeugten Bits verwendet, wobei der SISO-Kanaldecodierer 122 für den Wert jeden dieser Bits über den Eingang 126 einen vorzeichenbehafteten maximalen L-Wert als a priori Information erhält. Der SISO-Kanaldecodierer setzt die initialen Wahrscheinlichkeiten der Bits des Übertragungsblocks 114 initial z. B. auf 0, wenn für sie keine a priori Information vorliegt Je nach Ausführungsform kann die Ersetzung dieser maximalen L-Werte der vordefinierten Bits in dem SISO Decoder 122 erfolgen oder außerhalb des SISO Decoder 122, indem die L-Werte nicht über den Eingang 126 in den SISO Decoder 122 eingegeben werden.
  • Nach einer Ausführungsform der Erfindung arbeitet der SISO-Kanaldekodierer 122 iterativ ausgehend von einem Startwert für die L-Werte des zu empfangen Übertragungsblocks 114. Für die Bits des Übertragungsblocks 114, die zum Datenblock 102 gehören, werden die L-Werte initial z. B. auf 0 gesetzt, wenn für sie keine a priori Information vorliegt, wohingegen die L-Werte derjenigen Bits des Übertragungsblocks 114, für die a priori Information vorliegt, d. h. die Bits des Bitstromblocks 108, mit maximalen L-Werten vorbelegt werden, da ja empfängerseitig Sicherheit hinsichtlich der korrekten Werte dieser Bits besteht. Von den so definierten Startwerten für die L-Werte ausgehend kann die SISO Kanaldekodierung dann unter Nutzung von an sich aus dem Stand der Technik bekannten Verfahren zur SISO Kanaldekodierung der über den Eingang 124 empfangenen Werte iterativ durchgeführt werden.
  • Alternativ kann auch so vorgegangen werden, dass der Startwert für alle L-Werte zunächst z. B. 0 ist, also auch für die Bits des Bitstromblocks 108. Nach der ersten Iteration gibt der SISO-Kanaldekodierer 122 einen Satz L-Werte aus. Diese werden dann außerhalb des SISO-Kanaldekodierers durch den Empfänger 118 dahingehend modifiziert, dass die L-Werte für die Bits des Bitstromblocks 108 in diesem Satz von L-Werten jeweils auf einen maximalen L-Wert gesetzt werden. Der so modifizierte Satz von L-Werten wird dann in den SISO-Kanaldekodierer 122 eingegeben, z. B. über den Eingang 126, so dass auf dieser Basis dann die zweite und erforderlichenfalls weitere Iterationen durchgeführt werden können. Durch die Modifizierung des nach der ersten Iteration ausgegebenen Satzes von L-Werten geht hier also die a priori Information in die SISO-Kanaldekodierung ein.
  • Durch die SISO-Kanaldekodierung, die von dem SISO-Kanaldekodierer 122 durchgeführt, erhält man empfängerseitig also den Übertragungsblock 114'. Entsprechend wird für sämtliche aufeinander folgend empfangenen Übertragungsblöcke empfängerseitig vorgegangen. Dabei arbeiten der Sender 100 und der Empfänger 118 synchron, d. h. der Empfänger 118 erkennt und kennt die Struktur der über den Nachrichtenkanal 116 empfangenen Daten. Für die Synchronisierung des Senders 100 und des Empfängers 118 können an sich bekannte Synchronisierungsverfahren eingesetzt werden. Beispielsweise kann die Synchronisierung basierend auf den empfangenen Daten selbst erfolgen.
  • Der Empfänger 118 hat ferner einen Demultiplexer 128 zur Entfernung der eingefügten Bits aus dem Übertragungsblock 114', sodass man den Datenblock 102' erhält, welcher über einen Ausgang 130 des Empfängers ausgegeben wird. Der ebenfalls von dem Demultiplexer 128 zurück gewonnene Bitstromblock 108 kann je nach Ausführungsform zur Synchronisierung des Empfängers 118 mit dem Sender 100 oder des Bitstromgenerator 106 des Empfängers 118 mit dem Bitstromgenerator 106 des Senders 100 verwendet werden. Der Demultiplexer 128 macht also die Operation des Einfügens der Bits, welche von dem Multiplexer 104 in der Ausführungsform der 1 vorgenommen wird, rückgängig, d. h. er wendet das vordefinierte Schema an, welches zuvor von dem Multiplexer 104 zur Einfügung der Bits verwendet worden ist, um diese Bits wieder aus dem Übertragungsblock 114' zu entfernen.
  • Je nach Ausführungsform kann vor der Ausgabe des Datenblocks 102' noch eine Quellendekodierung erforderlich sein.
  • Die 3 zeigt eine weitere Ausführungsform eines erfindungsgemäßen Senders 100. Ergänzend zu der Ausführungsform der 1 hat der Sender 100 in der Ausführungsform der 3 einen Fehlererkennungsenkoder 132. Der Fehlererkennungsenkoder 132 ist mit dem Eingang 110 des Multiplexers 104 verbunden, sodass in den Fehlererkennungsenkoder 132 ebenfalls der Datenblock 102 eingegeben wird. Der Fehlererkennungsenkoder 132 dient zur Kodierung des Datenblocks 102 mit einem Fehler erkennenden Code, vorzugsweise einem Blockcode. Durch den Fehlererkennungsenkoder 132 werden Prüfdaten 134 für den Datenblock 102 erzeugt.
  • Bei den Prüfdaten handelt es sich zum Beispiel um ein CRC, Paritätsbits, eine Prüfsumme, einen One-Way-Hashfunktionswert, Redundanzwerte eines systematischen Blockcodes oder eines unsystematischen Codes oder dergleichen.
  • Der Fehlererkennungsenkoder 132 kann auch zur Generierung von kryptographischen Prüfdaten ausgebildet sein, wie zum Beispiel zur Generierung eines Message Authentication Code (MAC) oder eines Hashed Message Authentication Code (H-MAC). Die Generierung von digitalen Signaturen durch den Fehlererkennungsenkoder 132 kann zum Beispiel gemäß ISO 9796-2, ISO 14888 oder ISO 15946-4 erfolgen. Die Generierung von MACs kann gemäß ISO/IEC 9797-1, DES, 3-DES oder AES [ISO/IEC 18033-3] erfolgen. Die Generierung von H-MACs durch den Fehlererkennungsencoder 132 zur Fehlererkennung kann gemäß ISO/IEC 9797-2 erfolgen.
  • In dem hier betrachteten schematischen Beispielsfall beinhalten die Prüfdaten 134 die Bitpositionen P0, P1, ... P31
  • Ohne Beschränkung der Allgemeinheit wird in den nachfolgenden Ausführungsbeispielen ein systematischer Blockcode verwendet, bei dem die Prüfinformation als Prüfdaten 134 angehängt wird. Es ist aber auch möglich, dass ein Code verwendet wird, der den Eingangssymbolen Codesymbole zuordnet, die die Redundanz in einer nicht-systematischen Weise beinhalten.
  • Der Fehlererkennungsenkoder 132 zur empfängerseitigen Fehlererkennung kann eine sogenannte Cryptographic Check Function implementieren, wie zum Beispiel zur Generierung eines MAC oder H-MAC. Beispielsweise handelt es sich bei den Prüfdaten 134 um die digitale Signatur des Datenblocks 102, welche mit einem ge heimen Schlüssel, der zum Beispiel in dem Fehlererkennungsenkoder 132 gespeichert ist, generiert wird.
  • Die Prüfdaten 134 und der Übertragungsblock 114 werden in ein Modul 136 eingegeben, welches die Prüfdaten 134 an den Übertragungsblock 114 anhängt. Dieser resultierende Übertragungsblock 150 wird dann z. B. in einen Convolutional Encoder 160 eingegeben, um ihn nach einer Leitungskodierung durch den Leitungsencoder 115 über den Nachrichtenkanal 116 zu senden.
  • Die 4 zeigt eine Ausführungsform eines erfindungsgemäßen Empfängers 118 zum Empfang von dem Sender 100 der Ausführungsform der 3. Ergänzend zu der Ausführungsform der 2 beinhaltet der Empfänger 118 in der Ausführungsform der 4 ein Modul 138, welches das Anhängen der Prüfdaten 134 an den Übertragungsblock 114 rückgängig macht. Das Modul 138 hat einen ersten Ausgang 140, an dem die empfangenen Prüfdaten 134' ausgegeben werden, die aufgrund der Übertragung über den Nachrichtenkanal 116 fehlerbehaftet sein können. An seinem anderen Ausgang 142 gibt das Modul 138 den Übertragungsblock 114' aus, und zwar ohne die Prüfdaten. Auch der Übertragungsblock 114' kann fehlerbehaftet sein.
  • Der Empfänger 118 hat einen Fehlererkennungsenkoder 132, der zur Durchführung derselben Kodierung wie der Fehlererkennungsenkoder 132 des Senders 100 der Ausführungsform der 3 ausgebildet ist. Von dem Demultiplexer 128 empfängt der Fehlererkennungsenkoder 132 den möglicherweise fehlerbehafteten Datenblock 102' und generiert daraus die Prüfdaten 134''. Die Prüfdaten 134' und die Prüfdaten 134'' werden dann in ein Berechnungsmodul 144 eingegeben, welches zur Berechnung der Hammingdistanz d der Prüfdaten 134' und 134'' dient. Diese Hammingdistanz d wird in ein Entscheidungsmodul 146 eingegeben.
  • Falls d kleiner oder gleich ein vordefinierter Schwellwert („threshold”) ist, so wird davon ausgegangen, dass der Datenblock 102' korrekt empfangen worden ist. Ein Übertragungsfehler liegt dann also nur bezüglich der Prüfdaten 134' vor. Dabei geht die Erfindung von der Erkenntnis aus, dass ein Übertragungsfehler in dem Datenblock 102 bei der Generierung der Prüfdaten 134'' durch den Fehlererkennungsenkoder 132 zu stark von den Prüfdaten 134' abweichenden Prüfdaten geführt hätte, also zu einer großen Hammingdistanz, die größer als der vorgegebene Schwellwert ist. Wenn aber der Unterschied zwischen den Versionen der Prüfdaten 134' und 134'' nicht sehr groß ist, d. h. wenn die Hammingdistanz d kleiner als der Schwellwert ist, so kann davon ausgegangen werden, dass der Datenblock 102' tatsächlich korrekt empfangen worden ist, und nur die Prüfdaten 134' nicht korrekt sind.
  • Ist das Gegenteil der Fall, d. h. ist die Hammingdistanz d nicht kleiner als der Schwellwert, so wird ein Fehlerkorrekturmodul 148 aufgerufen, welches ein Verfahren zur Fehlerkorrektur implementiert, insbesondere einen Fehlerkorrekturalgorithmus. Durch das Fehlerkorrekturmodul 148 wird der empfangene Datenblock 102' versuchsweise modifiziert, um Übertragungsfehler in dem Datenblock 102' zu korrigieren. Der daraus resultierende Datenblock 102' wird von dem Fehlerkorrekturmodul 148 in den Fehlererkennungsenkoder 132 eingegeben, sodass dieser eine neue Version der Prüfdaten 134'' generiert. Nachfolgend wird erneut die Hammingdistanz d berechnet und in dem Entscheidungsmodul 146 geprüft, ob die Hammingdistanz d nunmehr unterhalb des Schwellwerts liegt. Falls dies jetzt der Fall ist, gilt der Datenblock 102' als der korrekt empfangene Datenblock und wird über den Ausgang 130 ausgegeben. Ist hingegen immer noch die Hammingdistanz d nicht kleiner als der Schwellwert, so wird erneut das Fehlerkorrekturmodul 148 gestartet, um den empfangenen Datenblock 102' erneut zu modifizieren, um einen weiteren Fehlerkorrekturversuch durchzuführen. Dieser Ablauf kann solange wiederholt werden, bis die Hammingdistanz d kleiner als der Schwellwert ist, eine maximale Anzahl von Fehlerkorrekturversuchen durchgeführt oder eine andere Abbruchbedingung erreicht worden ist.
  • Das Fehlerkorrekturmodul 148 kann so ausgebildet sein, dass zur Durchführung des Fehlerkorrekturalgorithmus die von dem SISO-Kanaldekodierer 122 gelieferten L-Werte des empfangenen Datenblocks 102' verwendet werden. In einer Ausführungsform kann dies so erfolgen, dass zunächst die Bitposition oder die Bitpositio nen mit den geringsten Zuverlässigkeitsbetragswerten in dem zu korrigierenden Datenblock 102' identifiziert werden. Der Bitwert an der Bitposition mit dem geringsten absoluten Zuverlässigkeitswert in dem Datenblock 102' wird dann versuchsweise geändert, sodass der modifizierte Datenblock 102' resultiert. Wenn die nachfolgende Überprüfung des Datenblocks 102' ergibt, dass auch dieser noch nicht valide ist, so ist der Fehlerkorrekturversuch fehlgeschlagen. Nachfolgend können ein oder mehrere weitere Fehlerkorrekturversuche durchgeführt werden.
  • Beispielsweise kann in einem zweiten Fehlerkorrekturversuch der Bitwert mit dem zweitgeringsten absoluten Zuverlässigkeitswert, dann einen Fehlerkorrekturversuch mit den geänderten Bits mit dem geringsten absoluten Zuverlässigkeitswert und dem zweitniedrigsten absoluten Zuverlässigkeitswert, durchgeführt werden. Nachdem die Bitwerte an den betreffenden Bitpositionen geändert worden sind, wird der so modifizierte Datenblock 102' jeweils erneut einer Prüfung mit Hilfe des Fehlererkennungsenkoders 132, des Berechnungsmoduls 144 und des Entscheidungsmoduls 146 unterzogen.
  • In einer weiteren Ausführungsform können nicht nur die Bitpositionen des Datenblocks 102', sondern auch die der Prüfdaten 134' entsprechend den geringsten L-Betragswerten für die Fehlerkorrekturversuche modifiziert werden.
  • Die Fehlerkorrektur unter Berücksichtigung der L-Werte kann auch wie an sich aus Chase, D.: A Class of Algorithms for Decoding Block Codes with Channel Measurement Information, IEEE Trans. Inform. Theory, IT-18, pp. 170–182, January 1972 bekannt, erfolgen.
  • Beispielsweise liegen die L-Werte der Bits des Datenblocks 102' nach einer Sortierung der Größe ihrer Beträge in folgender Reihenfolge vor:
    L(B3) = +0,5
    L(B2) = –10
    L(B255) = +15
    L(B1) = +20
    L(B8) = +32
    L(B0) = +50
    L(B137) = –56
    L(B169) = –60
    L(B57) = –100
    ...
  • Es sei angenommen, dass die Bits B2, B3, B8 tatsächlich falsch decodiert worden sind.
  • In diesem Fall wird das Fehlerkorrekturverfahren gestartet: Es wird zunächst die Bitposition mit dem geringsten Zuverlässigkeitswert identifiziert. Dies ist hier die Bitposition B3. Da der L-Wert der Bitposition B3 0,5 ist, hat die Bitposition B3 zunächst den Bitwert von logisch 1. Aufgrund des geringsten Zuverlässigkeitswerts an der Bitposition B3 wird deren Bitwert versuchsweise von 1 auf 0 geändert. Der daraus resultierende geänderte Datenblock 102' wird dann erneut einer Prüfung auf Validität unterzogen.
  • Wenn sich dabei ergibt, dass der Datenblock 102' nicht korrigiert werden konnte, kann ein weiterer Versuch unternommen werden: Beispielsweise wird jetzt der Bitwert an der Bitposition mit dem zweitgeringsten Zuverlässigkeitsbetrag geändert, in dem hier betrachteten Beispielfall also der Bitwert der Bitposition 62. Wenn der Datenblock 102' wieder nicht korrigiert werden konnte, werden die Bitwerte der Bitpositionen mit den geringsten und den zweitgeringsten Zuverlässigkeitsbeträgen geändert, d. h. hier wird der Bitwert der Bitposition B2 von logisch 0 auf logisch 1 geändert und der Bitwert an der Bitposition B3 wird von logisch 1 auf logisch 0 geändert.
  • Auf der Basis des so nochmals geänderten Datenblock 102' wird erneut eine Prüfung auf Validität durchgeführt. Wenn die Bitwerte der Bitpositionen bis zu den fünf niedrigsten Zuverlässigkeitsbeträgen modifiziert werden, kann der Übertragungsteil block in dem angeführten Beispielsfall korrigiert werden, weil der fünft niedrigste L-Wert das Bit 68 repräsentiert, das falsch dekodiert worden ist.
  • Es gibt auch weitere Strategien zur Fehlerkorrektur, die zum Beispiel das Fehlerverhalten des Kanals 116 berücksichtigen.
  • 100
    Sender
    102
    Datenblock
    102'
    Datenblocknach der Übertragung
    104
    Multiplexer
    106
    Bitstromgenerator
    108
    Bitstromblock
    110
    Eingang
    112
    Eingang
    114
    Übertragungsblock
    114'
    Übertragungsblock nach der Übertragung
    115
    Leitungsencoder
    116
    Nachrichtenkanal
    118
    Empfänger
    120
    Leitungsdekodierer
    122
    SISO-Kanaldekodierer
    124
    Eingang
    126
    Eingang
    128
    Demultiplexer
    130
    Ausgang
    132
    Fehlererkennungsenkoder
    134
    Prüfdaten
    134'
    Prüfdaten
    134''
    Prüfdaten
    136
    Zusammenbaumodul
    138
    Zerlegungsmodul
    140
    Ausgang
    142
    Ausgang
    144
    Berechnungsmodul
    146
    Entscheidungsmodul
    148
    Fehlererkorrekturmodul
    150
    Übertragungsblock
    150'
    Übertragungsblock nach der Übertragung
    160
    Kanalcodierer
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • - WO 2001/006662 [0002]
    • - US 2007/0130494 A1 [0002]
    • - US 2005/0258985 A1 [0002]
    • - US 2007/0288833 A1 [0002]
    • - US 2008/0046799 A1 [0002]
  • Zitierte Nicht-Patentliteratur
    • - Bahl, L., Jelinek, J., Raviv, J., Raviv, F.: Optimal decoding of linear codes for minimizing symbol error rate, IEEE Transactions an Information Theory, IT-20, pp. 284–287, March 1974 [0003]
    • - Hagenauer, J. Höher, P.: A Viterbi algorithm with soff-decision outputs and its applications, Proc. IEEE GLOBECOM '89, Dallas, Texas, USA, vol. 3, pp. 1680–1686, November 1989 [0004]
    • - Kötter, R., Vardy, A.: Algebraic Soft-Decision Decoding of Reed-Solomon Codes, November 2003 vol. 49, pp. 2809–2825 [0005]
    • - Kötter, R., Vardy, A.: Saft Decoding of Reed Solomon Codes and Optimal Weight Assignments, 4th International ITG Conference an Source and Channel Coding, pp. 69–74, Berlin, Germany, January 2002 [0005]
    • - Ponnampalam, V., Grant, A.: An efficient SISO algorithm for Reed-Solomon codes, IEEE Int. Symp. Inform. Theory, Yokohama, Japan, June 29–July 4, 2003 [0005]
    • - Ponnampalam, V., Vučetić, B.: Soft decision decoding of Reed-Solomon codes, IEEE Trans. Communications, vol. 50, Nov. 2002, pp 1758–1768 [0005]
    • - Vardy, A., Be'ery, Y.: Bit-level soft-decision decoding of Reed-Solomon codes, IEEE Trans. Communications., vol. 39, pp. 440–445, March 1991 [0005]
    • - ”Feedback in Joint Channel Coding and Cryptography”, Christoph Ruland and Nataša Živić in: 7th International Conference an Source and Channel Coding, Ulm, VDE/ITG 2008 [0006]
    • - ISO 9796-2 [0067]
    • - ISO 14888 [0067]
    • - ISO 15946-4 [0067]
    • - ISO/IEC 9797-1 [0067]
    • - ISO/IEC 18033-3 [0067]
    • - ISO/IEC 9797-2 [0067]
    • - Chase, D.: A Class of Algorithms for Decoding Block Codes with Channel Measurement Information, IEEE Trans. Inform. Theory, IT-18, pp. 170–182, January 1972 [0079]

Claims (17)

  1. Verfahren zum Senden eines Datenblocks (102) mit folgenden Schritten: – Kanalkodierung des Datenblocks durch Einfügung der Bits eines vordefinierten Bitstroms (108) in den Datenblock nach einem vordefinierten Schema zur Hinzufügung von Redundanz, sodass ein Übertragungsblock erzeugt wird, wobei die Einfügung der Bits in den Datenblock unabhängig von dem Inhalt des Datenblocks ist, – Senden des Übertragungsblocks über einen Nachrichtenkanal (116).
  2. Verfahren nach Anspruch 1, wobei der Übertragungsblock mit einem Kanalcodierer, z. B. einem Convolutional Code oder einem Turbo Code kodiert wird.
  3. Verfahren nach Anspruch 1 oder 2, wobei die Einfügung der Bits durch bitweises Multiplexing erfolgt.
  4. Verfahren nach Anspruch 1, 2 oder 3, wobei der vordefinierte Bitstrom senderseitig generiert wird.
  5. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Einfügung der Bits so erfolgt, dass wiederholend nach einer ersten vorgegebenen Anzahl von Bits des Datenblocks eine zweite vorgegebene Anzahl von Bits des Bitstroms eingefügt wird.
  6. Verfahren nach einem der vorhergehenden Ansprüche, wobei Prüfdaten für den Datenblock generiert werden, und wobei der Übertragungsblock die Prüfdaten beinhaltet.
  7. Verfahren nach Anspruch 6, wobei es sich bei den Prüfdaten um kryptografische Prüfdaten handelt.
  8. Verfahren nach Anspruch 6 oder 7, wobei die Prüfdaten durch einen systematischen Code erzeugt werden.
  9. Verfahren nach einem der vorhergehenden Ansprüche, wobei eine Vielzahl aufeinander folgender Datenblöcke gesendet wird, wobei durch die aufeinander folgenden Datenblöcke ein Datenstrom gebildet wird.
  10. Sender zum Senden eines Datenblocks mit: – Mitteln zur Kanalkodierung des Datenblocks durch Einfügung der Bits eines vordefinierten Bitstroms (108) in den Datenblock nach einem vordefinierten Schema zur Hinzufügung von Redundanz, sodass ein Übertragungsblock erzeugt wird, wobei die Einfügung der Bits in den Datenblock unabhängig von dem Inhalt des Datenblocks ist, – Mitteln zum Senden des Übertragungsblocks über einen Nachrichtenkanal (116).
  11. Verfahren zum Empfangen eines Datenblocks mit folgenden Schritten: – Leitungsdekodierung eines einen Übertragungsblock tragenden Signals, wobei der Übertragungsblock zumindest den Datenblock (102') und in den Datenblock nach einem vordefinierten Schema eingefügte Bits (108) beinhaltet, – Ausgabe der Ergebnisse der Leitungsdekodierung nach einer Soft Decision für jedes empfangene Bit des leitungskodierten Übertragungsblocks, – SISO-Kanaldekodierung des Übertragungsblocks, wobei als Ergebnis der Dekodierung zu jedem empfangenen Bit des Übertragungsblocks ein Ausgabe-Zuverlässigkeitswert ausgegeben wird, der den Zuverlässigkeitswert der Entscheidung für die Korrektheit des betreffenden Bits angibt, wobei in die SISO-Kanaldekodierung für die nach dem vordefinierten Schema in den Datenblock eingefügten Bits des Datenblocks ein maximaler Zuverlässigkeitswert als a priori Information eingeht.
  12. Verfahren nach Anspruch 11, wobei der Übertragungsblock Prüfdaten (134) für den Datenblock beinhaltet, wobei der korrekte Empfang des Datenblocks mit Hilfe der Prüfdaten verifiziert wird.
  13. Verfahren nach Anspruch 12, wobei ein Verfahren zur Fehlerkorrektur bezüglich des empfangenen Datenblocks durchgeführt wird, wenn die Verifikation fehlschlägt, wobei zur Durchführung des Verfahrens zur Fehlerkorrektur die Bits des zu korrigierenden Übertragungsblocks nach deren Ausgabe-Zuverlässigkeitswerten sortiert werden, und wobei die Werte von ein oder mehreren Bits, beginnend mit der geringsten Zuverlässigkeit, versuchsweise geändert werden, um so nach ein oder mehreren versuchsweisen Änderungen einen als korrekt erkannten Datenblock zu erhalten.
  14. Verfahren nach Anspruch 13, wobei vor der Durchführung des Verfahrens zur Fehlerkorrektur die nach dem vordefinierten Schema eingefügten Bits aus dem Übertragungsblock eliminiert werden.
  15. Verfahren nach Anspruch 12, 13 oder 14, wobei die Verifikation des korrekten Empfangs folgende Schritte beinhaltet: – empfängerseitige Generierung von Prüfdaten für den empfangenen Datenblock, – Berechnung der Hammingdistanz zwischen den empfangenen Prüfdaten und den empfängerseitig generierten Prüfdaten, wobei der Datenblock als korrekt empfangen gilt, wenn die Hammingdistanz kleiner als ein vorgegebener Schwellwert ist, und wobei der Datenblock als nicht korrekt empfangen gilt, wenn die Hammingdistanz größer als ein vorgegebener Schwellwert ist.
  16. Empfänger zum Empfang eines Datenblocks mit – Mitteln (120) zur Leitungsdekodierung eines einen Übertragungsblock tragenden Signals, wobei der Übertragungsblock zumindest den Datenblock (102) und in den Datenblock nach einem vordefinierten Schema eingefügte Bits (108) beinhaltet, – Mitteln (124) zur Ausgabe der Ergebnisse der Leitungsdekodierung nach einer Soft Decision für jedes empfangene Bit des Datenblocks, – Mitteln (122) zur SISO-Kanaldekodierung des Übertragungsblocks, wobei als Ergebnis der Dekodierung zu jedem empfangenen Bit des Datenblocks ein Ausgabe-Zuverlässigkeitswert ausgegeben wird, der den Zuverlässigkeitswert der Entscheidung für die Korrektheit des betreffenden Bits angibt, wobei in die SISO-Kanaldekodierung als Soft Decision für die nach dem vordefinierten Schema in den Datenblock eingefügten Bits des Datenblocks ein maximaler Zuverlässigkeitswert als a priori Information eingeht.
  17. Empfänger nach Anspruch 16, wobei die SISO-Kanaldekodierung zunächst ohne die Berücksichtigung der a priori empfängerseitig bekannten Informationen hinsichtlich der eingefügten Bits durchgeführt wird, wobei die von dem SISO-Kanaldekodierer (122) in Form von Zuverlässigkeitswerten gelieferten Bitwerte der vordefinierten Bits mit der a priori bekannten Information verglichen werden, und wobei der Empfänger so ausgebildet ist, dass wenn die von dem SISO-Kanaldekodierer gelieferten Bitwerte der vordefinierten Bits nicht mit der a priori Information übereinstimmen, die betreffenden L-Werte dieser Bits korrigiert und die SISO-Kanaldekodierung auf der Basis dieser korrigierten L-Werte nochmals durchgeführt werden.
DE200810055139 2008-12-23 2008-12-23 Verfahren zum Empfangen eines Datenblocks Expired - Fee Related DE102008055139B4 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE200810055139 DE102008055139B4 (de) 2008-12-23 2008-12-23 Verfahren zum Empfangen eines Datenblocks
PCT/EP2009/066780 WO2010072570A1 (de) 2008-12-23 2009-12-10 Verfahren zum senden und empfangen eines datenblocks

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE200810055139 DE102008055139B4 (de) 2008-12-23 2008-12-23 Verfahren zum Empfangen eines Datenblocks

Publications (2)

Publication Number Publication Date
DE102008055139A1 true DE102008055139A1 (de) 2010-07-01
DE102008055139B4 DE102008055139B4 (de) 2010-12-09

Family

ID=42062282

Family Applications (1)

Application Number Title Priority Date Filing Date
DE200810055139 Expired - Fee Related DE102008055139B4 (de) 2008-12-23 2008-12-23 Verfahren zum Empfangen eines Datenblocks

Country Status (2)

Country Link
DE (1) DE102008055139B4 (de)
WO (1) WO2010072570A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111431579A (zh) * 2020-03-18 2020-07-17 上海航天电子通讯设备研究所 基于fpga的低延时vde星载下行数字信号处理系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6061823A (en) * 1997-04-23 2000-05-09 Mitsubishi Denki Kabushiki Kaisha Error correcting/decoding apparatus and error correcting/decoding method
WO2001006662A1 (de) 1999-07-16 2001-01-25 Technische Universität Dresden Verfahren und vorrichtung zur iterativen decodierung von verketteten codes
EP1198913B1 (de) * 1999-07-22 2005-08-10 Siemens Aktiengesellschaft Verfahren zum fehlerschutz eines datenbitstromes
US20050258985A1 (en) 2004-05-07 2005-11-24 Banister Brian A SISO decoder
US20070130494A1 (en) 2000-01-13 2007-06-07 Dariush Divsalar Serial turbo trellis coded modulation using a serially concatenated coder
US20070288833A1 (en) 2006-06-09 2007-12-13 Seagate Technology Llc Communication channel with reed-solomon encoding and single parity check
US20080046799A1 (en) 2004-06-10 2008-02-21 Benoit Geller Method for Iteratively Decoding Block Codes and Decoding Device Therefor

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101283862B1 (ko) * 2006-08-16 2013-07-08 엘지전자 주식회사 터보 부호의 부호화 장치 및 방법
TWI307100B (en) * 2006-11-07 2009-03-01 Macronix Int Co Ltd Memory and method for reading error checking thereof

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6061823A (en) * 1997-04-23 2000-05-09 Mitsubishi Denki Kabushiki Kaisha Error correcting/decoding apparatus and error correcting/decoding method
WO2001006662A1 (de) 1999-07-16 2001-01-25 Technische Universität Dresden Verfahren und vorrichtung zur iterativen decodierung von verketteten codes
EP1198913B1 (de) * 1999-07-22 2005-08-10 Siemens Aktiengesellschaft Verfahren zum fehlerschutz eines datenbitstromes
US20070130494A1 (en) 2000-01-13 2007-06-07 Dariush Divsalar Serial turbo trellis coded modulation using a serially concatenated coder
US20050258985A1 (en) 2004-05-07 2005-11-24 Banister Brian A SISO decoder
US20080046799A1 (en) 2004-06-10 2008-02-21 Benoit Geller Method for Iteratively Decoding Block Codes and Decoding Device Therefor
US20070288833A1 (en) 2006-06-09 2007-12-13 Seagate Technology Llc Communication channel with reed-solomon encoding and single parity check

Non-Patent Citations (17)

* Cited by examiner, † Cited by third party
Title
"Feedback in Joint Channel Coding and Cryptography", Christoph Ruland and Natasa Zivic in: 7th International Conference an Source and Channel Coding, Ulm, VDE/ITG 2008
3GPP (Hrsg.): 3rd Generation Partnership Project, Technical Specification Group Radio Access Network, Working Group 1, Multiplexing and channel coding. Jun.1999. 3GPP TS 25.212 V2.0.0 (1999-06). (recherchiert am 15.06.2009). Im Internet: *
3GPP (Hrsg.): 3rd Generation Partnership Project, Technical Specification Group Radio Access Network, Working Group 1, Multiplexing and channel coding. Jun.1999. 3GPP TS 25.212 V2.0.0 (1999-06). (recherchiert am 15.06.2009). Im Internet: <URL:http://www.3gpp.org>
Bahl, L., Jelinek, J., Raviv, J., Raviv, F.: Optimal decoding of linear codes for minimizing symbol error rate, IEEE Transactions an Information Theory, IT-20, pp. 284-287, March 1974
Chase, D.: A Class of Algorithms for Decoding Block Codes with Channel Measurement Information, IEEE Trans. Inform. Theory, IT-18, pp. 170-182, January 1972
Hagenauer, J. Höher, P.: A Viterbi algorithm with soff-decision outputs and its applications, Proc. IEEE GLOBECOM '89, Dallas, Texas, USA, vol. 3, pp. 1680-1686, November 1989
ISO 14888
ISO 15946-4
ISO 9796-2
ISO/IEC 18033-3
ISO/IEC 9797-1
ISO/IEC 9797-2
Kötter, R., Vardy, A.: Algebraic Soft-Decision Decoding of Reed-Solomon Codes, November 2003 vol. 49, pp. 2809-2825
Kötter, R., Vardy, A.: Saft Decoding of Reed Solomon Codes and Optimal Weight Assignments, 4th International ITG Conference an Source and Channel Coding, pp. 69-74, Berlin, Germany, January 2002
Ponnampalam, V., Grant, A.: An efficient SISO algorithm for Reed-Solomon codes, IEEE Int. Symp. Inform. Theory, Yokohama, Japan, June 29-July 4, 2003
Ponnampalam, V., Vucetic, B.: Soft decision decoding of Reed-Solomon codes, IEEE Trans. Communications, vol. 50, Nov. 2002, pp 1758-1768
Vardy, A., Be'ery, Y.: Bit-level soft-decision decoding of Reed-Solomon codes, IEEE Trans. Communications., vol. 39, pp. 440-445, March 1991

Also Published As

Publication number Publication date
WO2010072570A1 (de) 2010-07-01
DE102008055139B4 (de) 2010-12-09

Similar Documents

Publication Publication Date Title
DE60001988T2 (de) Turbo Dekodierung mit variabler Anzahl von Iterationen
DE69532949T2 (de) Verfahren und gerät zur dekoderoptimierung
DE69923970T2 (de) Kanaldecodiereinrichtung und Verfahren zum Kanaldecodieren
DE69024282T2 (de) Verallgemeinernder Viterbi-Dekodier-Algorithmus
DE102005010006B4 (de) Verfahren und Vorrichtung zum Terminieren einer iterativen Turbo-Dekodierung
DE102011079259B9 (de) Bitfehlerkorrektur zur Beseitigung von altersbedingten Fehlern in einem Bitmuster
DE19526416A1 (de) Verfahren und Anordnung zur Bestimmung eines adaptiven Abbruchkriteriums beim iterativen Decodieren multidimensional codierter Infomation
DE102010035210B4 (de) Verfahren zur Rückgewinnung verlorener Daten und zur Korrektur korrumpierter Daten
DE112019004925T5 (de) Burst-fehlertoleranter decodierer und zugehörige systeme, verfahren und vorrichtungen
DE102018218729B3 (de) Interleaving mit zirkularer Zeilen-Rotation für die Übertragung bei Telegramm-Splitting
DE102017216264B4 (de) Decodierverfahren
DE102008055139B4 (de) Verfahren zum Empfangen eines Datenblocks
DE69918912T2 (de) Verfahren und ausführung für verbesserte leistungsfähigkeiten in einem system welches faltungsdekodierung anwendet
DE102008040797B4 (de) Verfahren zum Empfangen eines Datenblocks
DE19521327A1 (de) Verfahren und Codiereinrichtung zur gesicherten Übertragung von Information mittels Mehrkomponenten-Codierung
DE102013201422B3 (de) Verfahren zum Wiederherstellen verlorengegangener und/ oder beschädigter Daten
DE102014204828B4 (de) Verfahren zum Wiederherstellen verlorengegangener und/oder beschädigter Daten
EP1826911A1 (de) Codierung und Decodierung mit Trellis-codierter Modulation
DE102014214451B4 (de) Verfahren zum Wiederherstellen von verloren gegangenen und/oder beschädigten Daten
DE19520987A1 (de) Verfahren zur Terminierung des Trellis bei rekursiven systematischen Faltungscodes
DE102010005702A1 (de) Codieren und Decodieren von Daten zur Übertragung über einen fehlerhaften Übertragungskanal
DE102010029113A1 (de) Verfahren zur Kanalcodierung von digitalen Daten
DE102013218311A1 (de) Verfahren zum Wiederherstellen von verloren gegangenen und-/ oder beschädigten Daten
EP4236131A2 (de) Verfahren und systemanordnung zur verbesserung der vorwärtsfehlerkorrektur bei serieller kodierung in einer datenübertragung
DE102011115100B3 (de) Verfahren zum Wiederherstellen von verloren gegangenen und/oder beschädigten Daten

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
R020 Patent grant now final

Effective date: 20110309

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