Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR SENDING AND RECEIVING A DATA BLOCK
Document Type and Number:
WIPO Patent Application WO/2010/072570
Kind Code:
A1
Abstract:
The invention relates to a method for sending a data block (102) comprising the following steps: - channel coding the data block by inserting the bits of a predefined bit stream (108) into the data block according to a predefined scheme in order to add redundancy so that a transmission block is produced, wherein the insertion of the bits into the data block is independent of the content of the data block, - sending the transmission block over a message channel (116).

Inventors:
RULAND CHRISTOPH (DE)
ZIVIC NATASA (DE)
TCACIUC SERGIU (DE)
Application Number:
PCT/EP2009/066780
Publication Date:
July 01, 2010
Filing Date:
December 10, 2009
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SECUTANTA GMBH (DE)
RULAND CHRISTOPH (DE)
ZIVIC NATASA (DE)
TCACIUC SERGIU (DE)
International Classes:
H03M13/45
Domestic Patent References:
WO2008020712A12008-02-21
Foreign References:
US20080109697A12008-05-08
Other References:
ZIVIC N ET AL: "Channel Coding as a Cryptography Enhancer", WSEAS TRANSACTIONS ON COMMUNICATIONS, WSEAS PRESS, ATHENS, GR, vol. 7, no. 2, 1 February 2008 (2008-02-01), pages 83 - 91, XP002550613, ISSN: 1109-2742, Retrieved from the Internet
Attorney, Agent or Firm:
RICHARDT, Markus (DE)
Download PDF:
Claims:
P a t e n t a n s p r ü c h e

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 Kanal- codierer, 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 sen- derseitig generiert wird.

5. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Einfügung der Bits so erfolgt, dass wiederholend nach einer ersten vorgegebenen An- zahl 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 kryptografi- sche 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 Deci- sion 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 Änderun- gen 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 Da- tenblock,

- 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 Zu- verlä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 übereinstim- men, die betreffenden L-Werte dieser Bits korrigiert und die SISO-

Kanaldekodierung auf der Basis dieser korrigierten L-Werte nochmals durchgeführt werden.

Description:
Verfahren zum Senden und Empfangen eines Datenblocks

B e s c h r e i b u n g

Die Erfindung betrifft ein Verfahren zum Senden und Empfangen eines Datenblocks sowie entsprechende Sender und Empfänger.

Sogenannte 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 on 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 algohthm with soft-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 Decod- ing of Reed-Solomon Codes, November 2003 vol. 49, pp. 2809-2825, 2. Kötter, R., Vardy, A.: Soft Decoding of Reed Solomon Codes and Optimal Weight Assign- ments, 4th International ITG Conference on Source and Channel Coding, pp. 69-74, Berlin, Germany, January 2002. 3. Ponnampalam, V., Grant, A.: An efficient SISO algohthm for Reed-Solomon codes, IEEE Int. Symp. Inform. Theory, Yokohama, Japan, June 29 - JuIy 4, 2003, 4. Ponnampalam, V., Vucetic, 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-Ievel 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 Natasa Zivic in: 7th International Conference on Source and Channel Coding, Ulm, VDE/ITG 2008, ist es bekannt, zu sendende Daten blockweise mit einem kryptograf- ischen 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 Da- tenstrom durch bitweises Multiplexing.

Nach einer Ausführungsform der Erfindung wird der vordefinierte Bitstrom sender- seitig 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 Bit- Stroms 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 je- weils 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 Cyc- Nc 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 kryp- tographische Prüf Information, sogenannte 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 Lei- tungsdekodierung 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 vordefi- nierten 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 Kanaldekodie- rer 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 durchge- fü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 Übertra- gungsblock 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 sogenannten 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 da- gegen ü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 nied- rigsten 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än- dert 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:

Figur 1 ein Blockdiagramm einer ersten Ausführungsform eines erfindungsgemäßen Senders,

Figur 2 ein Blockdiagramm einer ersten Ausführungsform eines erfindungsgemäßen Empfängers,

Figur 3 ein Blockdiagramm einer zweiten Ausführungsform eines erfindungsgemäßen Senders,

Figur 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 Figur 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 Figur 1 zeigt exemplarisch einen solchen Datenblock 102. Beispielsweise hat der Datenblock 102 eine Länge von 512 Bits, d.h. die Bitpositionen BO, B1 , B2, ... B511 , wie in Figur 1 dargestellt.

Der Sender 100 verfügt über einen Multiplexer 104, einen Bitstromgenerator und einen Kanalencoder 160 zur Codierung der zu sendenden Datenblöcke, insbeson- dere 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 Figur 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 AO, A1 , A2, ... A255, wie in der Figur 1 dargestellt. Der Bitstromblock 108 kann ein vordefiniertes Bitmuster beinhalten.

Beispielsweise ist das Bitmuster so ausgebildet, dass sämtliche der Bitpositionen AO 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 Figur 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 Bitstrom- blocks 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 Über- tragungsblö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 ab- hä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 Daten- strom in die Mittel zur Kanalkodierung eingegeben wird. Auf die Kanalkodierung folgen vorzugsweise Mittel zur Leitungskodierung, d.h. z.B. der Leitungsencoder 115, in dem Sender 100 zur Leitungskodierung der Übertragungsblöcke.

Die Figur 2 zeigt einen Empfänger 118 zum Empfang der von dem Sender 100 gesendeten Daten. Der Empfänger 118 hat einen Soft Decision Leitungsdekodie- rer (SDLD) 120. Beim Empfang eines Signals über den Nachrichtenkanal 116 führt der Leitungsdekodierer 120 eine Soft Decision durch und liefert entsprechende Out- putwerte 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. Figur 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-phori-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 initi- alen 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. Figur 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än- gerseitig bekannte vordefinierte Schema bestimmten Bitpositionen der Bits AO, 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 Ka- nalencoder 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 emp- fangen 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 Übertragungs- blocks 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 Kanaldeko- dierung 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 maxi malen 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 Modifi- zierung 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 ' . Entspre- chend 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 Synchronisierungsver- fahren 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 ' er- hä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 Figur 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 Figur 3 zeigt eine weitere Ausführungsform eines erfindungsgemäßen Senders 100. Ergänzend zu der Ausführungsform der Figur 1 hat der Sender 100 in der Ausführungsform der Figur 3 einen Fehlererkennungsenkoder 132. Der Fehlererken- nungsenkoder 132 ist mit dem Eingang 110 des Multiplexers 104 verbunden, so- dass 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 kryptographi- schen 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 Fehlererkennungs- enkoder 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 PO, P1 ,... P31

Ohne Beschränkung der Allgemeinheit wird in den nachfolgenden Ausführungsbei- spielen 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 geheimen 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 Leitungsen- coder 115 über den Nachrichtenkanal 116 zu senden.

Die Figur 4 zeigt eine Ausführungsform eines erfindungsgemäßen Empfängers 118 zum Empfang von dem Sender 100 der Ausführungsform der Figur 3. Ergänzend zu der Ausführungsform der Figur 2 beinhaltet der Empfänger 118 in der Ausführungs- form der Figur 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 Figur 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 Hamming- distanz 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 Fehlererkennungsen- koder 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 Fehlerkorrekturalgorith- mus. 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 Bitpositionen 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. Nach- dem die Bitwerte an den betreffenden Bitpositionen geändert worden sind, wird der so modifizierte Datenblock 102 ' jeweils erneut einer Prüfung mit Hilfe des Fehlerer- kennungsenkoders 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 Algohthms for Decoding Block Codes with Channel Measu- rement 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(BO) = +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 Validi- tat 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 B2. Wenn der Datenblock 102 ' wieder nicht korrigiert werden konnte, werden die Bitwerte der Bitpositionen mit den geringsten und den zweitgeringsten Zuverlässigkeitsbeträgen geän- dert, 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 Übertragungsteilblock in dem angeführten Beispielsfall korrigiert werden, weil der fünft niedrigste L- Wert das Bit B8 repräsentiert, das falsch dekodiert worden ist.

Es gibt auch weitere Strategien zur Fehlerkorrektur, die zum Beispiel das Fehlerverhalten des Kanals 116 berücksichtigen.

Bezugsze ich en l iste

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