DE102008040797B4 - Verfahren zum Empfangen eines Datenblocks - Google Patents

Verfahren zum Empfangen eines Datenblocks Download PDF

Info

Publication number
DE102008040797B4
DE102008040797B4 DE102008040797A DE102008040797A DE102008040797B4 DE 102008040797 B4 DE102008040797 B4 DE 102008040797B4 DE 102008040797 A DE102008040797 A DE 102008040797A DE 102008040797 A DE102008040797 A DE 102008040797A DE 102008040797 B4 DE102008040797 B4 DE 102008040797B4
Authority
DE
Germany
Prior art keywords
block
transmission
sub
blocks
test data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE102008040797A
Other languages
English (en)
Other versions
DE102008040797A1 (de
Inventor
Nataša Dr.-Ing. Živić
Christoph Prof. Dr. Ruland
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 DE102008040797A priority Critical patent/DE102008040797B4/de
Priority to US13/054,512 priority patent/US8196015B2/en
Priority to PCT/EP2009/056576 priority patent/WO2010012524A1/de
Publication of DE102008040797A1 publication Critical patent/DE102008040797A1/de
Application granted granted Critical
Publication of DE102008040797B4 publication Critical patent/DE102008040797B4/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
    • 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • 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/27Coding, 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 using interleaving techniques
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • 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
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2948Iterative decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3738Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with judging correct decoding

Abstract

Verfahren zum Empfangen eines Datenblocks (104) mit folgenden Schritten:
– Leitungsdekodierung des den Übertragungsblock (124') tragenden Signals (132'), wobei der Übertragungsblock einen ersten Übertragungsteilblock (118') bestehend aus einem Teilblock (108') des Datenblocks (104') und ersten Prüfdaten (114') und einen zweiten Übertragungsteilblock (120') bestehend aus einem zweiten Teilblock (110') des Datenblocks (104') und zweiten Prüfdaten (116') aufweist,
– Ausgabe der Ergebnisse der Leitungsdekodierung nach einer Soft Decision für jedes empfangene Bit des Übertragungsblockes,
– SISO Kanal-Decodierung des Übertragungsblockes, wobei als Ergebnis der Decodierung zu jedem empfangenen Bit ein Ausgabe-Zuverlässigkeitswert ausgegeben wird, der den Zuverlässigkeitswert der Entscheidung des Kanal-Decodierers für die Korrektheit des betreffenden Bits angibt,
– Verifikation des korrekten Empfangs der ersten und zweiten Teilblöcke mit Hilfe der ersten und der zweiten Prüfdaten,
– Erforderlichenfalls Durchführung eines Verfahrens zur Fehlerkorrektur bezüglich der ersten und/oder zweiten Übertragungsteilblöcke,
– Falls die Durchführung des Verfahrens zur Fehlerkorrektur...

Description

  • Die Erfindung betrifft ein Verfahren zum Empfangen eines Datenblocks sowie einen entsprechenden 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 A1 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, F., Raviv, J., Cocke, J.: 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., Hoeher, P.: A Viterbi algorithm 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. Koetter, R., Vardy, A.: Algebraic Soft-Decision Decoding of Reed-Solomon Codes, November 2003 vol. 49, pp 2809–2825, 2. Koetter, R., Vardy, A.: Soft 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 kryptographischen Prüfwert zu versehen. Ferner ist hieraus auch ein entsprechendes Empfangsverfahren bekannt.
  • Aus WO 2008/015742 A1 ist ein Empfänger in einem Kommunikationssystem bekannt, wobei ein Informationsrahmen in mehrere Blocks aufgeteilt wird und die Information jedes Blocks für die Übertragung turbokodiert wird.
  • Der Erfindung liegt demgegenüber die Aufgabe zugrunde, ein verbessertes Verfahren zum Empfangen eines Datenblocks zu schaffen sowie einen entsprechenden Empfänger.
  • Nach Ausführungsformen der Erfindung wird ein Verfahren zum Empfangen eines Datenblocks in Form von zwei oder mehr Teilblöcken über einen Nachrichtenkanal gemäß Patentanspruch 1 geschaffen. Ausführungsformen dieses Verfahrens sind in den abhängigen Patentansprüchen angegeben.
  • Ausführungsformen der Erfindung betreffen Verfahren zum Empfangen eines Datenblocks über einen Nachrichtenkanal. Ein korrekt empfangener oder mit einem Fehlerkorrekturverfahren korrigierter Übertragungsteilblock ermöglicht eine verbesserte, erneute Kanaldecodierung der noch nicht korrekten Übertragungsteilblöcke mit einer Erhöhung der Wahrscheinlichkeit, dass diese durch die Kanaldecodierung oder eine weitere Anwendung des Fehlerkorrekturverfahrens korrigiert werden können.
  • Ausführungsformen der Erfindung sind besonders vorteilhaft, da die Zuordnung der Bits des zu sendenden Datenblocks zu Teilblöcken, die jeweils mit Prüfdaten zur Fehlererkennung versehen werden und separat fehlerkorrigiert werden können, wobei die erfolgreiche Korrektur eines Teilblockes die Korrekturmöglichkeiten des anderen Teilblockes verbessert, bei gleichem Signalrauschleistungsverhältnis eine Verringerung der Restfehlerrate des Empfängers ermöglicht.
  • Die Erfindung geht dabei von der Erkenntnis aus, dass ein verbesserter Empfang dadurch erreicht werden kann, dass senderseitig die zu sendenden Bits einem Kanalkodierer in einem vorgegebenen Schema zugeführt werden, wobei das Schema so ausgebildet ist, dass die Bits abwechselnd den Übertragungsteilblöcken entnommen sind. Dies kann z. B. dadurch realisiert werden, dass auf jedes Bit des ersten Übertragungsteilblocks, der einen ersten Teilblock und dessen Prüfdaten beinhaltet, ein Bit des zweiten Übertragungsteilblocks, der einen zweiten Teilblock und dessen Prüfdaten beinhaltet, folgt. Es sind aber auch andere Schemata möglich: Zum Beispiel folgen immer zwei Bits des ersten Übertragungsteilblocks auf zwei Bits des zweiten Übertragungsteilblocks oder die alternierende Auswahl einzelner Bits oder Bitgruppen aus den Übertragungs teilblöcken erfolgt nach einem komplexeren Schema. Wesentlich ist nur, dass die zu übertragenden Bits abwechselnd zu dem ersten und dem zweiten Übertragungsteilblock gehören.
  • Verfälschungen, insbesondere sog. burst errors, des so gesendeten Signals bei dessen Übertragung über den Nachrichtenkanal betreffen statistisch häufig Bits, die aus verschiedenen der Übertragungsblöcke stammen, da ja Bits aus den verschiedenen Übertragungsblöcken abwechselnd in dem Signal aufeinander folgen. Dies hat empfängerseitig den Vorteil, dass selbst dann wenn einer der Übertragungsblöcke in zunächst nicht korrigierbarer Art und Weise empfangen wird, doch die Möglichkeit besteht, selbst diesen Übertragungsblock noch zu rekonstruieren, wie weiter unten im einzelnen dargelegt.
  • Nach einer Ausführungsform der Erfindung werden die ersten und zweiten Teilblöcke so gebildet, dass jeweils abwechselnd ein Bit des Datenblockes dem ersten Teilblock und das nachfolgende Bit dem zweiten Teilblock zugeordnet wird. Für jeden dieser Teilblöcke wird Redundanz zur Fehlererkennung generiert, d. h. die ersten bzw. zweiten Prüfdaten. Die um die Information zur Fehlererkennung erweiterten Teilblöcke werden Übertragungsteilblöcke genannt und vor der Ausgabe an den Kanalcodierer wieder gemultiplext, z. B. Bit für Bit.
  • Nach einer weiteren Ausführungsform der Erfindung bleibt die Reihenfolge der Bits zunächst bei der Aufteilung des Datenblocks in die ersten und zweiten Teilblöcke erhalten. Eine Abweichung der Reihenfolge der Sendung der Bits von der ursprünglichen Reihenfolge wird dadurch erhalten, dass unmittelbar vor der Sendung der Bits über den Nachrichtenkanal ein Multiplexen der Datenübertragungsteilblöcke, z. B. ein bitweises Multiplexen erfolgt. Das Ergebnis ist ein Übertragungsblock.
  • 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, 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.
  • In einem weiteren Aspekt betrifft die Erfindung ein Verfahren zum Empfangen eines Datenblocks über einen Nachrichtenkanal. Ausführungsformen dieses Verfahrens sind in den abhängigen Patentansprüchen angegeben.
  • Nach Ausführungsformen der Erfindung wird ein Soft-Decision-Leitungsdecodierer, insbesondere ein Demodulator, verwendet.
  • 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.
  • Der korrekte Empfang der Übertragungsteilblöcke, die aus dem von dem SISO-Decoder ausgegebenen Übertragungsblock durch Demultiplexen rückgewonnen werden, wird anhand der Prüfdaten überprüft. Wenn beide Übertragungsteilblöcke als korrekt empfangen gelten, ist keine weitere Aktion mehr notwendig.
  • Wenn jedoch die Prüfung der ersten und zweiten Übertragungsteilblöcke ergibt, dass sowohl der erste als auch der zweite Übertragungsteilblock zunächst nicht korrekt empfangen worden sind, werden die folgenden weiteren Schritte durchgeführt:
    Für jeden der ersten und zweiten Übertragungsteilblöcke wird erforderlichenfalls ein Fehlerkorrekturverfahren durchgeführt. Wenn jedoch die Prüfung der ersten und zweiten Übertragungsteilblöcke ergibt, dass nur ein Datenübertragungsteilblock nicht korrekt empfangen worden ist, wird das Fehlerkorrekturverfahren nur für den nicht korrekten Übertragungsteilblock durchgeführt.
  • In einer Ausführungsform kann das Fehlerkorrekturverfahren so erfolgen, dass ein oder mehrere Bits in dem Übertragungsteilblock, denen die niedrigsten Zuverlässigkeitsbetragswerte zugeordnet sind, verändert werden. Nach Veränderung der Bitwerte wird dann geprüft, ob der so geänderte Teilblock mit den ihm zugeordneten Prüfdaten stimmig ist. Ist dies der Fall, so gilt dieser Übertragungsteilblock als korrekt empfangen. Ist dies nicht der Fall, so können weitere Fehlerkorrekturversuche unternommen werden, indem zusätzliche oder andere Bits in dem Datenübertragungsteilblock 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 der Datenübertragungsteilblöcke nach deren Zuverlässigkeitsbetragswerten durchgeführt werden.
  • Nach einer Ausführungsform der Erfindung gilt ein Übertragungsteilblock als korrekt empfangen, wenn die Prüfdaten, die empfängerseitig für den empfangenen Teilblock des Übertragungsteilblocks generiert werden, mit den empfangenen Prüfdaten dieses Übertragungsteilblocks identisch sind.
  • Nach einer Ausführungsform der Erfindung gilt ein Übertragungsteilblock als korrekt empfangen, wenn die Prüfdaten, die empfängerseitig für den empfangenen Teilblock des Übertragungsteilblocks generiert werden, sich von den empfangenen Prüfdaten dieses Übertragungsteilblocks 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 Teilblock als korrekt empfangen. Liegt diese Hammingdistanz dagegen über dem vorgegebenen Schwellwert, so gilt der Teilblock als nicht korrekt empfangen.
  • Das Fehlerkorrekturverfahren wird dann vorzugsweise so durchgeführt, dass ein oder mehrere Bits nur in dem Teilblock des Übertragungsteilblocks, 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üh rungsform 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 Teilblocks 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 den Eigenschaften des Encoders festgelegt. Wenn die Hammingdistanz nicht größer als dieser Schwellwert ist, so gilt dieser Teilblock als korrekt empfangen. Ist dies nicht der Fall, so können weitere Fehlerkorrekturversuche unternommen werden, indem zusätzliche oder andere Bits in dem Teilblock 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 der Teilblöcke nach deren Zuverlässigkeitswerten durchgeführt werden. Konnte auf diese Weise der empfangene Teilblock korrigiert werden, so werden die empfangenen Prüfdaten korrigiert, indem sie durch die berechneten Prüfdaten ersetzt werden. Der korrigierte Teilblock mit den berechneten Prüfdaten stellt den korrigierten Übertragungsteilblock dar. Diese Ausführungsform hat den Vorteil, dass sich die Fehlerkorrekturversuche auf Bitpositionen im Teilblock beschränken.
  • Wenn auf diese Art und Weise eine Fehlerkorrektur sowohl des ersten als auch des zweiten Übertragungsteilblocks erfolgen kann, so ist keine weitere Aktion mehr erforderlich, da dann bereits ein korrekter Empfang vorliegt. Ist hingegen nur einer der ersten und zweiten Übertragungsteilblöcke korrigiert worden oder korrekt empfangen worden, und der Korrekturversuch mit Hilfe des Fehlerkorrekturverfahrens für den anderen der Übertragungsteilblöcke ist fehlgeschlagen, so wird wie folgt vorgegangen:
    Die Beträge der Zuverlässigkeitswerte der Bits desjenigen der Übertragungsteilblöcke, der fehlerkorrigiert werden konnte oder korrekt empfangen worden ist, werden erhöht, um hierdurch zum Ausdruck zu bringen, dass die betreffenden Bits sicher richtig emp fangen worden sind. Beispielsweise werden die Beträge der Zuverlässigkeitswerte auf einen Maximalbetrag gesetzt. Ferner können die Zuverlässigkeitswerte der Bits desjenigen der Übertragungsteilblöcke, der nicht fehlerkorrigiert werden konnte, verringert werden, um hierdurch zum Ausdruck zu bringen, dass wahrscheinlich mehrere der betreffenden Bits sicher nicht richtig empfangen worden sind. Insbesondere können die Zuverlässigkeitswerte dieser Bits auf Null gesetzt werden. Alternativ können die Zuverlässigkeitswerte dieser Bits aber auch unverändert gelassen werden.
  • Diese erhöhten Zuverlässigkeitswerte der bekannten empfangenen Bits des fehlerkorrigierten oder korrekt empfangenen Übertragungsteilblocks und die erniedrigten oder identischen Zuverlässigkeitswerte der unbekannten Bits des nicht korrigierten Übertragungsteilblocks werden entsprechend dem Aufbau des Übertragungsblocks wieder in dieselbe Reihenfolge gebracht, wie sie für den gesendeten Übertragungsblock definiert ist, und dann erneut in den SISO-Decoder eingegeben, um die Decodierung mit Hilfe der geänderten Eingangsinformation erneut durchzuführen.
  • Da die Qualität der Eingangsinformation aufgrund der positiven Überprüfung der Prüfdaten und ggf. der erfolgreichen Fehlerkorrektur verbessert worden ist, kann sich das Ergebnis der SISO-Decodierung auch der Bits des anderen der Übertragungsteilblöcke ändern, welcher zunächst nicht einer Fehlerkorrektur unterzogen werden konnte.
  • Nach dieser weiteren SISO-Decodierung werden die Übertragungsteilblöcke des Datenblockes nochmals hinsichtlich ihres korrekten Empfangs überprüft, wobei sich wahlweise die Überprüfung auf den Übertragungsteilblock beschränken kann, der bisher nicht korrigiert werden konnte, und zwar mit Hilfe der diesem Übertragungsteilblock zugeordneten Prüfdaten. Die nochmalige Prüfung des einen der Übertragungsteilblöcke, der bereits vor der nochmaligen SISO-Decodierung fehlerkorrigiert werden konnte, kann optional entfallen, da dieser Übertragungsteilblock ja bereits als korrekt empfangen gilt.
  • Ist nun nach der zweiten SISO-Decodierung auch der andere der Übertragungsteilblöcke korrekt, so ist keine weitere Aktion mehr notwendig. Wenn hingegen dieser Übertragungsteilblock immer noch nicht korrekt ist, so wird erneut das Fehlerkorrekturverfahren für diesen Übertragungsteilblock durchgeführt. Dabei kann so vorgegangen werden wie bei der ersten Durchführung des Fehlerkorrekturverfahrens vor der nochmaligen SISO-Decodierung, d. h. es werden die Zuverlässigkeitswerte für das Fehlerkorrekturverfahren verwendet, beispielsweise indem die Bits in dem Übertragungsteilblock oder Teilblock in der Reihenfolge der Beträge der Zuverlässigkeitswerte sortiert werden, um die Bits mit niedrigen Zuverlässigkeitsbetragswerten in einer oder mehreren Iterationen zu verändern. Erst wenn auch dieser weitere Fehlerkorrekturversuch hinsichtlich des anderen der Teilblöcke fehlschlägt, ist der fehlerfreie Empfang des betreffenden Datenblocks endgültig gescheitert.
  • Ausführungsformen des erfindungsgemäßen Verfahrens zum Empfangen eines Datenblocks sind besonders vorteilhaft, da sich bei einer nur geringfügig oder nicht verminderten Coderate eine geringere Fehlerrate der Übertragung erreichen lässt.
  • Nach Ausführungsformen der Erfindung kann die Coderate durch sogenanntes Punktieren („Puncturing”) erhöht werden. Die Punktierung kann zum Beispiel mit einer Rate durchgeführt werden, so dass die Verringerung der Coderate, die durch Hinzufügen der Prüfdaten zu den Teilblöcken verursacht wird, kompensiert wird.
  • Nach Ausführungsformen der Erfindung kann ein zu übertragender Datenblock auch in mehr als zwei Teilblöcke aufgeteilt werden, die jeweils mit Prüfdaten versehen werden. Entsprechend erhöhen sich dann die Möglichkeiten, dass, beginnend mit der erfolgreichen Korrektur eines der Übertragungsteilblöcke, durch iterative Anwendung des Fehlerkorrekturverfahrens und der SISO-Decodierung die anderen Übertragungsteilblöcke korrigiert werden können, die im vorhergehenden Durchlauf nicht als korrekt erkannt werden konnten. Wenn also eine erste Menge von Übertragungsteilblöcken nach zunächst nicht korrektem Empfang mit Hilfe des Fehlerkorrekturverfahrens fehlerkorrigiert werden konnte und eine zweite Menge von Übertragungsteilblöcken nach zunächst nicht korrektem Empfang mit Hilfe des Fehlerkorrekturverfahrens nicht fehlerkorrigiert werden konnte, so werden die Zuverlässigkeitswerte der Übertragungsteilblöcke der ersten Menge vergrößert, da diesbezüglich ja Sicherheit hinsichtlich des korrekten Empfangs besteht, und die SISO Kanal Decodierung wird für den Übertragungsblock auf der Basis der geänderten Zuverlässigkeitswerte erneut durchgeführt.
  • Dies gilt auch entsprechend, wenn eine dritte Menge von Übertragungsteilblöcken gleich korrekt empfangen wird, ohne dass eine Fehlerkorrektur erforderlich ist. Die Zuverlässigkeitswerte der Bits der Übertragungsteilblöcke der dritten Menge können ebenfalls erhöht werden, um die SISO Kanal Decodierung erneut durchzuführen.
  • Im Weiteren werden Ausführungsformen der Erfindung mit Bezugnahme auf die Zeichnungen näher erläutert. Es zeigen:
  • 1 ein Blockdiagramm einer Ausführungsform eines Senders
  • 2 ein Blockdiagramm einer weiteren Ausführungsform eines Senders
  • 3 ein Flussdiagramm einer Ausführungsform eines Verfahrens zum Senden eines Datenblocks,
  • 4 ein Blockdiagramm einer Ausführungsform eines erfindungsgemäßen Empfängers passend zum Sender gemäß 1
  • 5 ein Blockdiagramm einer weiteren Ausführungsform eines erfindungsgemäßen Empfängers passend zum Sender gemäß 2
  • 6 ein Flussdiagramm einer Ausführungsform eines erfindungsgemäßen Verfahrens zum Empfang eines Datenblocks.
  • Elemente der nachfolgenden Ausführungsformen, die einander entsprechen, sind jeweils mit denselben Bezugszeichen gekennzeichnet.
  • Die 1 zeigt eine Ausführungsform eines Senders 100. Der Sender 100 hat einen Eingang 102 zur Eingabe von zu sendenden Datenblöcken. Die 1 zeigt exemplarisch einen zu senden Datenblock 104. Der Datenblock 104 hat beispielsweise eine Länge von 512 Bit mit den Bitpositionen B0, B1, B2, ..., B511. Der Datenblock kann Teil eines Datenstroms sein, d. h. es folgen viele Datenblöcke hintereinander.
  • Der Sender 100 hat ein Aufteilungsmodul 106 zur Aufteilung eines zu sendenden Datenblocks, wie zum Beispiel des Datenblocks 104, in zumindest einen ersten Teilblock 108 und einen zweiten Teilblock 110. Die Teilblöcke, in die jeder der Datenblöcke aufgeteilt wird, können je nach Ausführungsform gleich oder unterschiedlich lang sein. In der hier betrachteten Ausführungsform erfolgt die Aufteilung in zwei gleich lange Teilblöcke 108 und 110. Die ursprüngliche Reihenfolge der Bits in dem Datenblock 104 bleibt bei der hier betrachteten Ausführungsform erhalten, d. h. die Bits B0 bis B255 bilden in dieser Reihenfolge den Teilblock 108 und die nachfolgenden Bits B256 bis B511 bilden den zweiten Teilblock 110. Es kann aber auch eine Aufteilung der Datenblöcke in mehr als zwei Teilblöcke erfolgen. Die mehreren Teilblöcke können wiederum gleich oder unterschiedlich lang sein, wobei die Art und Weise der Aufteilung vordefiniert ist.
  • Der Sender 100 hat ferner einen Encoder 112. Der Encoder dient zur Codierung des Teilblockes mit einem fehlererkennenden Code, und zwar separat für jeden der Teilblöcke. Bei dem Encoder handelt es sich vorzugsweise um einen Blockcode. 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 Encoder 112 kann auch zur Generierung von kryptographischen Prüfdaten ausgebildet sein, wie zum Beispiel zur Generierung einer digitalen Signatur, eines Message Authentication Code (MAC) oder eines Hashed Message Authentication Code (H-MAC). Die Generierung von digitalen Signaturen durch den Encoder 112 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 Encoder zur Fehlererkennung 112 kann gemäß ISO/IEC 9797-2 erfolgen.
  • In dem hier betrachteten Beispielsfall generiert der Encoder 112 also erste Prüfdaten 114 für den ersten Teilblock 108 und zweite Prüfdaten 116 für den zweiten Teilblock 110. In dem hier betrachteten schematischen Beispielsfall beinhalten die Prüfdaten 114 die Bitpositionen P0, P1, ... P31 sowie die Prüfdaten 116 die Bitpositionen P32, ... P63.
  • Wenn mehrere Teilblöcke von dem Aufteilungsmodul 106 generiert werden, so werden für jeden der Teilblöcke solche Prüfdaten von dem Encoder 112 erzeugt.
  • Beispielsweise werden die Teilblöcke um ihre jeweilige Prüfdaten verlängert, d. h. der Teilblock 108 mit den Prüfdaten 114 und der Teilblock 110 mit den Prüfdaten 116, so wie dies in der 1 gezeigt ist, um so entsprechende Übertragungsteilblöcke, d. h. hier den Übertragungsteilblock 118 bzw. den Übertragungsteilblock 120 zu generieren. Für jeden Teilblock wird also ein Übertragungsteilblock erzeugt, der den betreffenden Teilblock und dessen Prüfdaten beinhaltet.
  • Ohne Beschränkung der Allgemeinheit wird in den nachfolgenden Ausführungsbeispielen ein systematischer Blockcode verwendet, bei dem die Redundanz, d. h. die Prüfinformation als Prüfdaten den Datenbits angehängt wird. Es ist aber auch möglich, dass ein Code verwendet wird, der den Eingangsymbolen Codesymbole zuordnet, die die Redundanz in einer nicht-systematischen Weise beinhalten.
  • Der Encoder 112 zur empfängerseitigen Fehlererkennung kann eine sogenannte Cryptographic Check Function implementieren, wie zum Beispiel zur Generierung einer digitalen Signatur, MAC oder H-MAC. Beispielsweise handelt es sich bei den Prüfdaten 114 um die digitale Signatur des Teilblocks 108, welche mit einem geheimen Schlüssel, der zum Beispiel in dem Encoder 112 gespeichert ist, generiert wird. Ebenso kann es sich mit den Prüfdaten 116 verhalten, welche die digitale Signatur des Teilblocks 110 darstellen können.
  • Der Sender 100 hat ferner einen Multiplexer 122. Der Multiplexer 122 dient dazu, die zur Sendung anstehenden Bits der Übertragungsteilblöcke 118 und 120 zu multiplexen, sodass die Reihenfolge der Bits des entstehenden Übertragungsblocks 124 von der ursprünglichen Reihenfolge der Bits in dem Datenblock 104 abweicht. Das Multiplexen erfolgt nach einem vorgegebenen Schema. Beispielsweise hat der Multiplexer einen separaten Eingang für jeden der Übertragungsteilblöcke.
  • In der hier betrachteten Ausführungsform ist das Schema so definiert, dass ein bitweises Multiplexing erfolgt, d. h. zuerst wird die erste Bitposition B0 des Übertragungsteil blocks 118 gesendet, danach die erste Bitposition 6256 des Übertragungsteilblocks 120, anschließend die zweite Bitposition B1 des Übertragungsteilblocks 118, nachfolgend die zweite Bitposition 6257 des Übertragungsteilblocks 120, etc. Der von dem Multiplexer ausgegebene Übertragungsblock 124, welcher die Übertragungsteilblöcke 118 und 120 beinhaltet, wird dann von einem Kanalcodierer 126 einer Kanalcodierung unterzogen. Die Kanalcodierung ermöglicht zumindest eine Fehlererkennung, vorzugsweise eine Fehlerkorrektur.
  • Schließlich wird der kanalcodierte Übertragungsblock 124 mit Hilfe eines sogenannten Leitungskodierers 128 für die unmittelbare Versendung über einen Nachrichtenkanal 130 vorbereitet. Bei dem Leitungskodierer 128 kann es sich zum Beispiel um einen Modulator handeln. Der Leitungskodierer 128 gibt das leitungskodierte Signal 132 ab, welches dann über den Nachrichtenkanal 130 übertragen wird. Der Nachrichtenkanal 130 kann als ein sogenanntes „Baseband” oder „Broadband” ausgebildet sein.
  • Der Kanalcodierer 126 kann beispielsweise ein sogenanntes Convolutional Coding Schema oder Turbo Code Schema implementieren.
  • Durch den Sender 100 kann hier also eine aneinander gehängte Codierung, d. h. ein sogenanntes Concatenated Coding, implementiert werden. Der äußere Code, erzeugt durch den sogenannten Outer Encoder 133 des Concatenated Codes, wird hier durch das Aufteilungsmodul 106, welches die Aufteilung in zwei oder mehr Teilblöcke vornimmt, den Encoder 112 für die Teilblöcke und den Multiplexer gebildet, d. h. bei dem Übertragungsblock 124 handelt es sich bei dem hier betrachteten Beispielsfall um die Ergebnisse des Outer Encoders 133. Die innere Codierung, d. h. das sogenannte Inner Coding, erfolgt dagegen durch den Kanalcodierer 126, beispielsweise mit Hilfe eines Convolutional Codes oder Turbo Codes. Vorzugsweise wird für den Kanalcodierer 126 ein Code gewählt, der sich besonders für eine SISO-Decodierung eignet.
  • Die Ausführungsform der 1 ist besonders vorteilhaft, da bei der Aufteilung des Datenblocks 102 durch das Aufteilungsmodul 106 zunächst die ursprüngliche Reihenfolge der Bits erhalten bleibt. Dadurch erübrigt sich eine eingangsseitige Zwischenspeicherung der Bits.
  • Die 2 stellt eine Ausführungsform dar, die sich darin von der 1 unterscheidet, dass die Teilblöcke 108 und 110 auf eine andere Weise aus dem Datenblock 104 gebildet werden. An Stelle der Aufteilung von aufeinander folgenden Bits in Teilblöcke werden hier die Bits des Datenblocks 104 in die Teilblöcke separiert und zwar durch den Demultiplexer 107, z. B. Bit für Bit: das erste Bit B0 wird dem ersten Teilblock 108 zugeordnet, das zweite Bit B1 dem zweiten Teilblock 110, das dritte Bit B2 wieder dem ersten Teilblock 108, usw.
  • Alle weiteren Komponenten sind identisch zu dem in 1 dargestellten Sender 100.
  • Die Ausführungsform des Senders 100 gemäß 2 hat den Vorteil, dass die senderseitige Verzögerung, die durch den Outer Encoder 133 verursacht wird, geringer ist als bei der Ausführungsform gemäß 1, da die Reihenfolge der Bits des Datenblocks 104 mit der Reihenfolge der Bits im Übertragungsblock 124 übereinstimmt.
  • Die 3 zeigt ein entsprechendes Flussdiagramm. In dem Schritt 200 wird von einer Datenquelle der Datenblock in den Sender eingegeben. Der Datenblock wird dann in zumindest zwei Teilblöcke aufgeteilt, die gleiche oder unterschiedliche Längen haben können. In einer Ausführungsform kann die Aufteilung durch Demultiplexen erfolgen.
  • Anschließend werden die Teilblöcke in dem Schritt 202 einer Codierung zur Fehlererkennung unterzogen. Dies kann mit Hilfe eines systematischen oder nicht-systematischen Codes, eines Blockcodes oder Faltungscodes oder einer sogenannten Cryptographic Check Function erfolgen. In dem Schritt 204 erfolgt dann eine Änderung der Reihenfolge der zu sendenden Bitpositionen. Dies kann durch bitweises Multiplexen der Übertragungsteilblöcke mit den jeweils angehängten Prüfdaten erfolgen. Es kann auch ein anderes vorgegebenes Schema zur Änderung der Reihenfolge zur Anwendung kommen.
  • In dem nachfolgenden Schritt 206 wird die aus dem Schritt 204 resultierende Bitsequenz, d. h. der Übertragungsblock, einer Kanalcodierung unterzogen, wobei die Kanalcodierung vorzugsweise mit einem Code durchgeführt wird, der für eine empfängersei tige SISO-Decodierung vorgesehen ist. Die kanalcodierte Bitsequenz wird dann in dem Schritt 208 einer Leitungskodierung unterzogen, d. h. beispielsweise erfolgt die Sendung der Bitsequenz mit Hilfe eines Modulationsverfahrens.
  • Die 4 zeigt eine Ausführungsform eines erfindungsgemäßen Empfängers 134, der zum Empfang der von dem Sender 100 (vgl. 1) abgegebenen Signale 132, die als Signale 132' empfangen werden, dient. Es wird davon ausgegangen, dass sich auf Grund von Störungen während der Übertragung über den Kanal 130 die Signale 132 und 132' unterscheiden. Der Empfänger 134 hat einen Leitungsdekodierer 136 zur Dekodierung der von dem Leitungskodierer 128 des Senders 100 vorgenommenen Codierung. Bei dem Leitungsdekodierer 136 kann es sich zum Beispiel um einen Demodulator handeln.
  • Der Leitungsdekodierer 136 führt Soft Decision durch und liefert entsprechende Outputwerte an den SISO-Kanaldecodierer 138. Der SISO-Kanaldecodierer 138 decodiert die von dem Kanalcodierer 126 des Senders 100 vorgenommene Codierung. Bei dem Kanaldecodierer 138 handelt es sich also um den inneren Decoder.
  • Der Kanaldecodierer 138 arbeitet nach dem SISO-Prinzip, d. h. er verarbeitet den von dem Leitungsdekodierer 136 erzeugten Soft-Output als Soft-Input und liefert selbst einen Soft-Output, vorzugsweise in Form von sog. L-Werten.
  • Das Vorzeichen eines von dem Kanaldecodierer 138 ausgegebenen L-Werts gibt den Wert des empfangenen Bits an. Beispielsweise steht ein negatives Vorzeichen des L-Werts für einen Bitwert von logisch 0 und ein positives Vorzeichen des L-Werts für einen Bitwert von logisch 1. Der Betrag des L-Werts hingegen gibt die Zuverlässigkeit an, mit der die Entscheidung, ob das betreffende Bit eine 0 oder 1 ist, getroffen worden ist. Der geringste mögliche Betrag des L-Wertes ist dabei 0. Ein L-Wert von 0 bedeutet, dass die Wahrscheinlichkeit der Korrektheit der Entscheidung für das betreffende Bit 0,5 ist. Wenn der Betrag des L-Werts dagegen einen vorgegebenen Maximalwert hat, so bedeutet dies, dass die Korrektheit des betreffenden Bitwerts als sicher zu betrachten ist.
  • Der Kanaldecodierer 138 gibt als Soft-Output den potenziell immer noch gestörten Übertragungsblock 124' aus. Der Übertragungsblock 124' kann in der Form vorliegen, dass jede der Bitpositionen durch einen L-Wert repräsentiert wird oder jedes der Bits zusätzlich mit einem L-Wert versehen wird
  • Der Empfänger 134 hat ferner einen Demultiplexer 140, um aus dem Übertragungsblock 124' die potenziell gestörten Übertragungsteilblöcke 118' und 120' rück zu gewinnen. Der Demultiplexer 140 macht hierzu das von dem Multiplexer 122 vorgenommene Multiplexing rückgängig.
  • Der Empfänger 134 hat ferner ein Verifikationsmodul 142, welches dazu dient, den richtigen Empfang der Übertragungsteilblöcke 118' bzw. 120' zu überprüfen. Diese Prüfung erfolgt anhand der Prüfdaten 114' bzw. 116', die senderseitig von dem Encoder 112 (vgl. 1 und 2) erzeugt worden sind.
  • Das Verifikationsmodul 142 prüft für den Übertragungsteilblock 118', ob die in den Bits P0 bis P31 der Prüfdaten 114' beinhaltete Redundanz zu dem Teilblock 108' gültig ist oder nicht. Ebenso prüft das Verifikationsmodul 142 die Gültigkeit der Prüfdaten 116' zu dem Teilblock 110' des Übertragungsblock 124'.
  • Wenn es sich bei den Prüfdaten beispielsweise um digitale Signaturen der Teilblöcke handelt, die von dem Encoder 112 erzeugt worden sind, so werden diese Signaturen von dem Verifikationsmodul 142 geprüft und zwar mit Hilfe des dem geheimen Schlüssel, mit dem die Signaturen erzeugt worden sind, zugeordneten öffentlichen Schlüssels.
  • Wenn eine der Signaturen als valide erkannt worden ist, so gilt der entsprechende Übertragungsteilblock als korrekt empfangen. Wenn die Signatur eines der Übertragungsteilblöcke als nicht valide erkannt wird, so gilt dieser Übertragungsteilblock als nicht korrekt empfangen.
  • Wenn sich bei der Prüfung der Prüfdaten 114' und 116' durch das Verifikationsmodul 142 herausstellt, dass beide Übertragungsteilblöcke 118' und 120' korrekt empfangen worden sind, so setzt das Zusammenbaumodul 144 des Empfängers 134 die bei den Teilblöcke 108' und 110' wieder durch Aneinanderreihung der Teilblöcke entsprechend dem Aufteilungsmodul 106 des Senders 100 zusammen und gibt an seinem Ausgang 145 den als korrekt erkannten empfangenen Datenblock 104' aus.
  • Für den Fall, dass einer der Übertragungsteilblöcke 118' und 120' nicht als korrekt erkannt empfangen worden ist, hat der Empfänger 134 ein Fehlerkorrekturmodul 146. Das Fehlerkorrekturmodul 146 ist so ausgebildet, dass es ein Fehlerkorrekturverfahren zur Fehlerkorrektur jeweils eines der Übertragungsteilblöcke implementiert. Vorzugsweise werden bei dem Fehlerkorrekturverfahren die Zuverlässigkeitswerte der einzelnen Bitpositionen berücksichtigt.
  • 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 Übertragungsteilblock, wie zum Beispiel dem Übertragungsteilblock 118', identifiziert werden. Der Bitwert an der Bitposition mit dem geringsten absoluten Zuverlässigkeitswert wird dann versuchsweise geändert. Der Übertragungsblock 118' mit dem so geänderten Bitwert wird dann erneut von dem Verifikationsmodul 142 einer Prüfung auf Validität mit Hilfe der Prüfdaten 114' unterzogen. Wenn diese erneute Prüfung ergibt, dass die Prüfdaten 114' valide sind, so wird von einer erfolgreichen Fehlerkorrektur des Übertragungsteilblocks 118' ausgegangen, sodass dieser als identisch mit dem ursprünglichen Übertragungsblock 118 betrachtet wird.
  • Wenn hingegen auch die erneute Prüfung zum Ergebnis hat, dass die Prüfdaten 114' auch nach der Änderung des Bitwertes mit dem geringsten absoluten Zuverlässigkeitswert nicht valide sind, 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 ein 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 Übertragungsteilblock jeweils erneut einer Prüfung in dem Verifikationsmodul 142 unterzogen. Dieser Vorgang kann so lange wiederholt werden, bis entweder ein Fehlerkorrekturversuch erfolgreich ist oder eine Abbruchbedingung erreicht wird. Diese Abbruchbedingung kann beispielsweise eine zulässige Höchstanzahl Nmax ≥ 0 von Fehlerkorrekturversuchen sein. 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 Übertragungsblock 118' 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(P1) = +32
    L(B0) = +50
    L(P2) = –56
    L(P63) = –60
    L(P0) = –100
  • Es sei angenommen, dass die Bits B2, B3 des Teilblocks 110' und das Bit P1 des Teilblocks 116' tatsächlich vom inneren Decoder, d. h. dem Kanal Decodierer 138, falsch decodiert worden sind.
  • In diesem Fall wird das Fehlerkorrekturverfahren des Fehlerkorrekturmoduls 146 gestartet: Es wird zunächst die Bitposition mit dem geringsten Zuverlässigkeitswert in dem Übertragungsteilblock 118' 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 Übertragungsteilblock 118' wird dann erneut einer Prüfung anhand der Prüfdaten 114' unterzogen.
  • Wenn sich dabei ergibt, dass der Übertragungsteilblock nicht korrigiert werden konnte, kann ein weiterer Versuch unternommen werden: Beispielsweise wird jetzt der Bitwert an der Bitpositionen mit dem zweitgeringsten Zuverlässigkeitsbetrag geändert, in dem hier betrachteten Beispielfall der Bitwert der Bitposition B2. Wenn der Übertragungsteilblock 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. Mit dem so nochmals geänderten Übertragungsteilblock 118' wird erneut eine Prüfung in dem Verifikationsmodul 140 anhand der Prüfdaten 114' vorgenommen, etc. 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 P1 repräsentiert, das falsch dekodiert worden ist.
  • Es gibt auch weitere Strategien zur Fehlerkorrektur, die zum Beispiel das Fehlerverhalten des Kanals 130 berücksichtigen.
  • Einer weiteren Ausführungsform der Erfindung liegt die Erkenntnis zu Grunde, dass Übertragungsstörungen der Teilblöcke 108, bzw. 110 zu einer signifikanten Anzahl unterschiedlicher Bits zwischen den Prüfdaten 114 und 114', bzw. 116 und 116' führen. Die Hammingdistanz H der Prüfdaten, die empfangen wurden, und der Prüfdaten, die vom Verifikationsmodul über den empfangenen Teilblock berechnet werden, wird daher als Kriterium genommen, ob ein Teilblock korrekt ist. Wenn H einen bestimmten Schwellwert nicht überschreitet, liegt der Teilblock korrekt vor, und es wurden einige Bits der Prüfdaten während der Übertragung gestört. In diesem Fall werden die empfangenen Prüfdaten 114', bzw 116' durch die berechneten Prüfdaten ersetzt. Somit wird angenommen, dass die Übertragungsteilblöcke 118' und 120' in korrekter Weise vorliegen. Wenn H über dem festgelegten Schwellwert liegt, wird angenommen, dass der Teilblock, der empfangen worden ist, nicht korrekt ist. Insbesondere bei Anwendung kryptographischer Verfahren zur Generierung der Prüfdaten kann nämlich bereits ein einziges fehlerhaftes Bit in einem Teilblock zu gänzlich anderen empfängerseitig generierten Prüfdaten für diesen fehlerhaften Teilblock führen, so dass also bereits ein einzi ges fehlerhaftes Bit in dem Teilblock zu einer großen Hammingdistanz zwischen den empfangenen Prüfdaten dieses Teilblocks und den empfängerseitig generierten Prüfdaten führt. Im Umkehrschluss kann aus einer kleinen Hammingdistanz zwischen den empfangenen Prüfdaten dieses Teilblocks und den empfängerseitig generierten Prüfdaten auf den korrekten Empfang des Teilblocks geschlossen werden.
  • Der Schwellwert für H hängt von dem Encoder 112 und der Bitfehlerrate hinter dem Kanaldecodierer 138 ab.
  • Entsprechend dieser Tatsache gibt es eine Ausführungsform des Fehlerkorrekturmoduls, bei der das beschriebene Fehlerkorrekturverfahren nur auf die Bitpositionen des Teilblockes 108', bzw. 110' angewendet wird. An Stelle der Überprüfung, ob Teilblock und Prüfdaten identisch sind, wird überprüft, ob die Hammingdistanz der Prüfdaten 114', bzw. 116' und der im Verifikationsmodul über den empfangenen Teilblock 108', bzw. 110', berechneten Prüfdaten nicht über dem festgelegten Schwellwert liegt. Ist dies der Fall, bilden der korrigierte Teilblock und die berechneten Prüfdaten den korrigierten Übertragungsteilblock 118', bzw. 120'.
  • Beispielsweise wird bei dieser Ausführungsform also wie folgt vorgegangen: Das Verifikationsmodul 142 generiert für die empfangenen Teilblöcke 108' und 110' deren Prüfdaten 114'' bzw. 116'', wobei für die Generierung dieser Prüfdaten dasselbe Verfahren eingesetzt wird, wie es senderseitig von dem Encoder 112 (vgl. 1 und 2) verwendet wird.
  • Wenn die Hammingdistanz H zwischen den empfängerseitig generierten Prüfdaten 114'' und den empfangenen Prüfdaten 114' nicht über dem vorgegebenen Schwellwert liegt, so gilt der Teilblock 108' als korrekt empfangen. Im gegenteiligen Fall gilt der Teilblock 108' als nicht korrekt empfangen. Entsprechend wird für den Teilblock 110' und dessen Prüfdaten 116'' bzw. 116' vorgegangen.
  • Im weiteren wird ohne Beschränkung der Allgemeinheit davon ausgegangen, dass die Hammingdistanz H zwischen den Prüfdaten 116'' und 116' des Teilblock 110' über dem vorgegebenen Schwellwert liegt, so dass der Teilblock 110' als nicht korrekt empfangen gilt.
  • Zur Fehlerkorrektur wird dann nur für die Bitpositionen des Teilblocks 110' das oben offenbarte Fehlerkorrekturverfahren durchgeführt, wobei die Bitpositionen der Prüfdaten 116' für die Durchführung des Fehlerkorrekturverfahrens unberücksichtigt bleiben. Beispielsweise werden also die Bitpositionen des Teilblocks 110' zunächst nach Zuverlässigkeitswerten sortiert und es werden dann beginnend mit den Bitpositionen geringer Zuverlässigkeitswerte versuchsweise die Bitwerte solcher Bitpositionen geändert.
  • Ein so versuchsweise geänderter Teilblock 110' wird dann von dem Fehlerkorrekturmodul 146 an das Verifikationsmodul 142 zurückgegeben, wo der Teilblock 110' anhand der empfangenen Prüfdaten 116' auf Korrektheit geprüft wird.
  • Hierzu werden von dem Verifikationsmodul 142 erneut Prüfdaten 116'' für den nunmehr versuchsweise geänderten Teilblock 110' generiert. Anhand der Hammingdistanz H zwischen diesen Prüfdaten 116'' und den empfangenen Prüfdaten 116' entscheidet das Verifikationsmodul, ob der Korrekturversuch des Teilblocks 110' erfolgreich war, indem es die Hammingdistanz mit dem vorgegebenen Schwellwert vergleicht, wie oben ausgeführt.
  • Falls die Prüfdaten 116'' und 116' jetzt eine Hammingdistanz haben, die nicht über dem Schwellwert liegt, so gilt der versuchsweise geänderte Teilblock 110' als korrekt. Im gegenteiligen Fall kann das Verifikationsmodul 142 einen weiteren Fehlerkorrekturversuch des Fehlerkorrekturmoduls 146 für den Teilblock 110' initiieren, solange bis eine erfolgreiche Fehlerkorrektur erfolgt ist oder eine Abbruchbedingung erreicht ist.
  • Für den Fall, dass einer oder beide der Übertragungsteilblöcke 118' oder 120' zunächst nicht korrekt empfangen worden ist, sich dies aber durch Ausführung des Fehlerkorrekturverfahrens durch das Fehlerkorrekturmodul 146 hat beheben lassen, so wird auch in diesem Fall der als korrekt erkannte Datenblock 104' ausgegeben.
  • Der als korrekt erkannte Datenblock 104' muss nicht unbedingt fehlerfrei und identisch zu dem Datenblock 104 des Senders 100 sein, da es vorkommen kann, dass das Verifikationsmodul erkennt, dass die Prüfinformation zu dem Teilblock als gültig akzeptiert wird, obwohl es sich nicht um den originalen Teilblock handelt. Dies kann der Fall sein, wenn die Änderungen auf dem gestörten Kanal und/oder in Verbindung mit den Änderungen bei der Fehlerkorrektur zu einem Übertragungsteilblock 118' und/oder 120' führen, der als korrekt erkannt wird. Eine solche Situation ist aber je nach dem gewählten Kodierungsverfahren für den Outer Encoder 133 unwahrscheinlich bis praktisch ausgeschlossen.
  • Die Komponenten Demultiplexer 140, Verifikationsmodul 142 mit dem Fehlerkorrekturmodul 146, Multiplexer 143 und Zusammenbaumodul 144, das wieder die Datenbits der Teilblöcke 108' und 110' zu einem Datenblock 104' zusammensetzt, bilden also den sog. outer decoder 152.
  • Ausführungsformen der vorliegenden Erfindung sind nun besonders vorteilhaft in der folgenden Situation: Zunächst wurden beide Übertragungsteilblöcke 118' und 120' nicht korrekt empfangen, was eine erste Überprüfung durch das Verifikationsmodul 142 ergeben hat. Für beide Übertragungsteilblöcke 118' und 120' wird dann der Versuch einer Fehlerkorrektur mit Hilfe des Fehlerkorrekturmoduls 146 unternommen. Wenn ein solcher Fehlerkorrekturversuch hinsichtlich nur einer der Übertragungsteilblöcke gelingt, für den anderen Übertragungsteilblock jedoch fehlschlägt, wird wie folgt vorgegangen:
    Im Weiteren wird ohne Beschränkung der Allgemeinheit davon ausgegangen, dass eine Fehlerkorrektur des Übertragungsteilblocks 118' mit Hilfe des Fehlerkorrekturmoduls 146 erfolgreich war, für den Übertragungsteilblock 120' jedoch fehlgeschlagen ist. In diesem Fall setzt das Verifikationsmodul 142 die Beträge der L-Werte des Übertragungsteilblocks 118' auf einen maximalen Zuverlässigkeitswert, da ja nun Sicherheit hinsichtlich der korrekten Bitwerte des Übertragungsteilblocks 118' besteht. Die L-Werte des Übertragungsteilblocks 120' können verringert werden, da sie ja bekanntermaßen zumindest teilweise nicht richtig sind; beispielsweise können die L-Werte auf Null gesetzt werden, sie können aber je nach Implementation auch unverändert bleiben.
  • Diese geänderten L-Werte der Übertragungsteilblöcke 118' und 120' werden vom Verifikationsmodul einem Multiplexer 143 übergeben, der die Bits der Übertragungsteilblöcke 118' und 120' entsprechend der Arbeitsweise des senderseitigen Multiplexers 122 wieder multiplext, sodass die Reihenfolge der L-Werte identisch zur Reihenfolge der Bits im Übertragungsblock 124' ist. Diese gemultiplexten L-Werte werden in den Kanal Dekodierer 138 eingegeben. Alternativ kann auch so vorgegangen werden, dass der Soft-Output 137 des Leitungsdecodierers 136 zwischengespeichert wird. Die L-Werte in dem zwischengespeicherten Soft-Output 137 werden dann geändert, und der so geänderte Soft-Output 137 wird erneut in den Kanal Decodierer 138 eingegeben.
  • Mit Hilfe dieser geänderten L-Werte 148 des Übertragungsblocks 124' wird also der Output 137 des Leitungsdekodierers 136 erneut dem Kanalcodierer 138 zugeführt und zwar je nach Implementierung von dem Multiplexer 143 oder aus dem Zwischenspeicher (in der Fig. nicht gezeigt).
  • Der Kanaldecodierer 138 gibt daraufhin den resultierenden Übertragungsblock 124' mit den zugehörigen Zuverlässigkeitswerten für jedes Bit aus, der wieder durch den Demultiplexer in die Übertragungsteilblöcke 118' und 120' geteilt wird, die jeweils dem Verifikationsmodul 142 zugeführt werden. Wenn die Prüfung durch das Verifikationsmodul 142 ergibt, dass nunmehr der Übertragungsteilblock 120' korrekt empfangen worden ist, so wird der als korrekt erkannte Datenblock 104' ausgegeben, nachdem das Zusammenbaumodul 144 die Datenbits der Teilblöcke 108' und 110' wieder aneinandergereiht hat.
  • Wenn hingegen die Prüfung des Übertragungsteilblocks 120' in dem Verifikationsmodul 142 ergibt, dass dieser immer noch nicht korrekt ist, so kann erneut eine Fehlerkorrektur mit Hilfe des Fehlerkorrekturmoduls 146 versucht werden.
  • Nach einer weiteren Ausführungsform wird senderseitig der Datenblock 104 in zumindest einen weiteren dritten Teilblock (in der Fig. nicht gezeigt) aufgeteilt. Hieraus wird ein dritter Übertragungsteilblock generiert, der neben dem dritten Teilblock auch dessen dritte Prüfdaten beinhaltet, analog zu der Generierung der ersten 118 und zweiten Übertragungsteilblöcke 120. Die ersten, zweiten und dritten Übertragungsteilblöcke werden zu einem resultierenden Übertragungsblock kombiniert, wobei ein Schema zur Anwendung kommt, welches Bits der ersten, zweiten und dritten Übertragungsteilblöcke in dem resultierenden Übertragungsblock alternierend aufeinander folgen lässt. Es folgt beispielsweise immer ein Bit des zweiten Übertragungsteilblocks auf ein Bit des ersten Übertragungsteilblocks und ein Bit des dritten Übertragungsteilblocks auf ein Bit des zweiten Übertragungsteilblocks.
  • Es sei ohne Beschränkung der Allgemeinheit angenommen, dass der dritte Übertragungsteilblock ohne Fehlerkorrektur korrekt empfangen worden ist, und dass eine Fehlerkorrektur des Übertragungsteilblocks 118' mit Hilfe des Fehlerkorrekturmoduls 146 erfolgreich war, für den Übertragungsteilblock 120' jedoch fehlgeschlagen ist.
  • In diesem Fall setzt das Verifikationsmodul 142 nicht nur die Beträge der L-Werte des Übertragungsteilblocks 118' auf einen maximalen Zuverlässigkeitswert (vgl. das oben genannte Beispiel für zwei Übertragungsteilblöcke), sondern auch die L-Werte für die Bitpositionen des dritten Übertragungsteilblocks, da ja Sicherheit hinsichtlich der korrekten Bitwerte auch des dritten Übertragungsteilblocks besteht. Die L-Werte des Übertragungsteilblocks 120' können verringert werden, da sie ja bekanntermaßen zumindest teilweise nicht richtig sind; beispielsweise können die L-Werte auf Null gesetzt werden, sie können aber je nach Implementation auch unverändert bleiben.
  • Diese geänderten L-Werte der Übertragungsteilblöcke dienen dann für die erneute Durchführung der SISO Kanal Decodierung. Der weitere Verfahrensablauf ist analog zu der oben geschilderten Ausführungsform mit zwei Übertragungsteilblöcken.
  • Die 5 zeigt eine weitere Ausführungsform eines erfindungsgemäßen Empfänger, der der Ausführungsform des Senders der 2 entspricht. Im Unterschied zu der Ausführungsform gemäß 4 erfolgt bei der Ausführungsform der 5 der Zusammenbau der beiden Teilblöcke 108' und 110' zum Datenblock 104' bei der Ausgabe 145 durch Multiplexing (abwechselnd 1 Bit von Teilblock 108', ein Bit von Teilblock 110', im Fall eines Senders gemäß 2), wozu statt des Zusammenbaumoduls 144 ein Multiplexer 150 vorgesehen ist.
  • Die 6 zeigt ein entsprechendes Flussdiagramm. In dem Schritt 300 empfängt der Empfänger ein Signal über einen gestörten Kanal. Das Signal wird von einem Soft Decision Leitungsdekodierer decodiert. In dem nachfolgenden Schritt 302 erfolgt eine SISO-Kanaldecodierung. Anschließend werden die Übertragungsteilblöcke in dem Schritt 304 gedemultiplext.
  • In dem Schritt 306.1 erfolgt dann eine Verifikation des ersten Übertragungsteilblocks, vgl. Übertragungsteilblock 118' der 4 und 5. Wenn die Verifikation ergibt, dass der erste Übertragungsteilblock nicht korrekt empfangen worden ist, so folgt in dem Schritt 308.1 der Versuch einer Fehlerkorrektur mit Hilfe des oben beschriebenen Fehlerkorrekturverfahrens. Entsprechend wird in den Schritten 306.2 und 308.2 bezüglich des zweiten Übertragungsteilblocks vorgegangen.
  • Im Folgenden wird ohne Beschränkung der Allgemeinheit wiederum davon ausgegangen, dass zunächst beide Übertragungsteilblöcke nicht korrekt empfangen worden sind, sodass die Schritte 308.1 und 308.2 zur jeweiligen Fehlerkorrektur durchgeführt worden sind. Dabei ist nur eine Fehlerkorrektur des ersten Übertragungsteilblocks in dem Schritt 308.1 möglich gewesen; die Durchführung des Fehlerkorrekturverfahrens in dem Schritt 308.2 für den zweiten Übertragungsteilblock ist dagegen fehlgeschlagen.
  • In diesem Fall werden in dem Schritt 310 die Beträge der L-Werte des ersten Übertragungsteilblocks auf einen Maximalbetrag gesetzt, da ja nun Sicherheit hinsichtlich deren korrekten Empfangs vorliegt. Dagegen werden die Beträge der L-Werte der Bitpositionen des zweiten Übertragungsblocks verringert, beispielsweise auf Null gesetzt. Alternativ können die L-Werte des zweiten Übertragungsblocks auch unverändert bleiben oder andere Werte erhalten.
  • Anschließend wird in dem Schritt 312 erneut eine SISO-Decodierung vorgenommen, die im Prinzip gleich abläuft wie die SISO-Decodierung in dem Schritt 302, allerdings auf der Basis der in dem Schritt 310 geänderten L-Werte. Aus dem resultierenden Datenübertragungsblock 124' der SISO-Decodierung des Schrittes 312 wird z. B. von dem Demultiplexer 140 (vgl. 5) der zweite Übertragungsteilblock 120' extrahiert und in 314 erneut einer Verifikation unterzogen.
  • Erforderlichenfalls wird in dem Schritt 316 nochmals das Fehlerkorrekturverfahren zur Korrektur des in dem Schritt 312 ausgegebenen zweiten Übertragungsteilblocks durchgeführt. Wenn das Fehlerkorrekturverfahren jetzt erfolgreich ist, werden die Bits der beiden Teilblöcke 108' und 110' aneinandergereiht, z. B. von dem Zusammenbaumodul 144 in der Ausführungsform der 4 oder durch den Multiplexer 150 in der Ausführungsform der 5, um die Bits so wieder in die ursprüngliche Reihenfolge des Datenblocks 104 zu bringen.
  • Das Verhalten, falls das Verfahren die Übertragungsteilblöcke endgültig nicht erfolgreich korrigieren kann, ist implementationsabhängig, z. B. können die Datenbits der beiden Teilblöcke wie im erfolgreichen Fall durch das Zusammenbaumodul 144 oder den Multiplexer 150 in die richtige Reihenfolge gebracht und ausgegeben werden, wobei ein Hinweis erfolgt, dass die Bits desjenigen Teilbockes, der nicht als korrekt erkannt werden konnte, möglicherweise nicht korrekt sind.
  • Nach Ausführungsformen der Erfindung erfolgt senderseitig eine Punktierung, d. h. ein sogenanntes Puncturing, um die Coderate zu erhöhen. Beispielsweise werden durch die Punktierung Bitpositionen in äquidistanten Abständen aus dem Datensignal 124 (vgl. 1 und 2) gelöscht. In diesem Fall wird die Punktierung durch den Empfänger 134 rückgängig gemacht, indem die senderseitig gelöschten Bitpositionen vor dem SISO-Kanaldecodierer 138 des Empfängers 134 wieder aufgefüllt werden.
  • 100
    Sender
    102
    Eingang
    104, 104'
    Datenblock vor dem Senden, nach dem Empfang
    106
    Aufteilungsmodul
    107
    Demultiplexer
    108, 108'
    Teilblock vor dem Senden, nach dem Empfang
    110, 110'
    Teilblock vor dem Senden, nach dem Empfang
    112
    Encoder zur Generierung eines fehlererkennenden Codes
    114, 114'
    Prüfdaten vor dem Senden, nach dem Empfang
    116, 116'
    Prüfdaten vor dem Senden, nach dem Empfang
    118, 118'
    Übertragungsteilblock vor dem Senden, nach dem Empfang
    120, 120'
    Übertragungsteilblock vor dem Senden, nach dem Empfang
    122
    Multiplexer
    124, 124'
    Übertragungsblock vor dem Senden, nach dem Empfang mit L-Werten
    126
    Kanalcodierer
    128
    Leitungskodierer
    130
    Nachrichtenkanal
    132
    Signal
    133
    Outer Encoder
    134
    Empfänger
    136
    Leitungsdekodierer
    137
    Output des Soft Decision Leitungsdekodierer
    138
    SISO-Kanaldecodierer
    140
    Demultiplexer
    142
    Verifikationsmodul
    143
    Multiplexer
    144
    Zusammenbaumodul
    146
    Fehlerkorrekturmodul
    145
    Ausgang
    148
    L-Werte
    150
    Multiplexer
    152
    Outer Decoder

Claims (11)

  1. Verfahren zum Empfangen eines Datenblocks (104) mit folgenden Schritten: – Leitungsdekodierung des den Übertragungsblock (124') tragenden Signals (132'), wobei der Übertragungsblock einen ersten Übertragungsteilblock (118') bestehend aus einem Teilblock (108') des Datenblocks (104') und ersten Prüfdaten (114') und einen zweiten Übertragungsteilblock (120') bestehend aus einem zweiten Teilblock (110') des Datenblocks (104') und zweiten Prüfdaten (116') aufweist, – Ausgabe der Ergebnisse der Leitungsdekodierung nach einer Soft Decision für jedes empfangene Bit des Übertragungsblockes, – SISO Kanal-Decodierung des Übertragungsblockes, wobei als Ergebnis der Decodierung zu jedem empfangenen Bit ein Ausgabe-Zuverlässigkeitswert ausgegeben wird, der den Zuverlässigkeitswert der Entscheidung des Kanal-Decodierers für die Korrektheit des betreffenden Bits angibt, – Verifikation des korrekten Empfangs der ersten und zweiten Teilblöcke mit Hilfe der ersten und der zweiten Prüfdaten, – Erforderlichenfalls Durchführung eines Verfahrens zur Fehlerkorrektur bezüglich der ersten und/oder zweiten Übertragungsteilblöcke, – Falls die Durchführung des Verfahrens zur Fehlerkorrektur für sowohl den ersten als auch den zweiten der Übertragungsteilblöcke erforderlich war und die Durchführung der Fehlerkorrektur für einen der ersten und zweiten Übertragungsteilblöcke erfolgreich ist und für einen anderen der ersten und zweiten Übertragungsteilblöcke fehlschlägt: Erhöhung der Ausgabe-Zuverlässigkeitswerte, die den Bits des einen der Übertragungsteilblöcke zugeordnet sind und erneute Durchführung der Kanal-Decodierung, wobei die den Bits des einen der Übertra gungsteilblöcke zugeordneten erhöhten Ausgabe-Zuverlässigkeitswerte als Eingabe-Zuverlässigkeitswerte (148) für die erneute Durchführung der Kanal-Decodierung verwendet werden, – Prüfung des korrekten Empfangs des anderen der Übertragungsblöcke nach Durchführung der erneuten Kanal-Decodierung und erforderlichenfalls erneute Durchführung des Fehlerkorrekturverfahrens bezüglich des anderen der Datenübertragungsblöcke.
  2. Verfahren nach Anspruch 1, wobei es sich bei den ersten und zweiten Prüfdaten um kryptographische Prüfdaten handelt.
  3. Verfahren nach Anspruch 1 oder 2, wobei für die Durchführung des Fehlerkorrekturverfahrens die den Bits des zu korrigierenden ersten und/oder zweiten Übertragungsteilblocks zugeordneten Ausgabe-Zuverlässigkeitswerte verwendet werden.
  4. Verfahren nach Anspruch 3, wobei die Bits des zu korrigierenden Übertragungsteilblocks nach deren Ausgabe-Zuverlässigkeitswert 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 Übertragungsteilblock zu erhalten.
  5. Verfahren nach Anspruch 1 oder 2, wobei für die Durchführung des Fehlerkorrekturverfahrens nur die den Bits des zu korrigierenden ersten und/oder zweiten Teilblocks zugeordneten Ausgabe-Zuverlässigkeitswerte verwendet werden.
  6. Verfahren nach Anspruch 5, wobei die Bits des zu korrigierenden Teilblocks nach deren Ausgabe-Zuverlässigkeitswert 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 Teilblock zu erhalten.
  7. Verfahren nach einem der Ansprüche 1 bis 6, mit folgendem weiteren Schritt: Verringerung der Ausgabe-Zuverlässigkeitswerte, die den Bits des anderen der Übertragungsblöcke zugeordnet sind für die erneute Durchführung der Decodierung.
  8. Verfahren nach einem der Ansprüche 1 bis 7, wobei der Übertragungsblock einen dritten Übertragungsteilblock beinhaltet, wobei der dritte Übertragungsteilblock aus einem dritten Teilblock des Datenblocks und dritten Prüfdaten besteht, wobei der dritte Übertragungsteilblock ohne Fehlerkorrektur korrekt empfangen wird, und wobei die den Bits des dritten Übertragungsteilblocks zugeordneten Ausgabe-Zuverlässigkeitswerte erhöht werden, wobei zusätzlich zu den Bits des einen der Übertragungsteilblöcke zugeordneten erhöhten Ausgabe-Zuverlässigkeitswerte auch die erhöhten Ausgabe-Zuverlässigkeitswerte der Bits des dritten Übertragungsblocks als Eingabe-Zuverlässigkeitswerte für die erneute Durchführung der Kanal-Decodierung verwendet werden.
  9. Verfahren nach einem der Ansprüche 1 bis 8, wobei die Verifikation des korrekten Empfangs von einem der Übertragungsteilblöcke (120') folgende Schritte beinhaltet: – empfängerseitige Generierung von dritten Prüfdaten (116'') für den empfangenen Teilblock (110') des einen der Übertragungsteilblöcke, – Berechnung der Hammingdistanz zwischen den dritten Prüfdaten und den empfangenen zweiten Prüfdaten (116'), – Wenn die Hammingdistanz kleiner als ein vorgegebener Schwellwert ist: Der empfangene Teilblock gilt als korrekt empfangen, – Wenn die Hammingdistanz größer als ein vorgegebener Schwellwert ist: Der empfangene Teilblock gilt als nicht korrekt empfangen und es wird das Verfahrens zur Fehlerkorrektur zur Korrektur nur des Teilblocks durchgeführt.
  10. Empfänger zum Empfang eines Datenblocks (104) mit – Mitteln (136) zur Leitungsdekodierung eines einen Übertragungsblock (124') tragenden Signals (132'), wobei der Übertragungsblock einen ersten Übertragungsteilblock (118') mit einem ersten Teilblock (108') eines Datenblocks (104) und erste Prüfdaten (114') und einen zweiten Übertragungsteilblock (120') mit einem zweiten Teilblock (110') des Datenblocks und zweite Prüfdaten (116') aufweist, wobei die Mittel (136) zur Leitungsdekodierung so ausgebildet sind, dass die Ausgabe der Ergebnisse der Leitungsdekodierung in Form einer Soft Decision für jedes empfangene Bit des Übertragungsblocks erfolgt, – Mitteln (138) zur SISO Kanal-Decodierung des Übertragungsblocks, wobei als Ergebnis der Decodierung zu jedem empfangenen Bit ein Ausgabe-Zuverlässigkeitswert ausgegeben wird, der den Zuverlässigkeitswert des korrekten Empfangs des betreffenden Bits angibt, – Mitteln (140) zur Prüfung des korrekten Empfangs der ersten und zweiten Teilblöcke mit Hilfe der ersten und der zweiten Prüfdaten, – Mitteln (140, 144) zur Durchführung eines Verfahrens zur Fehlerkorrektur bezüglich der ersten und/oder zweiten Übertragungsteilblöcke, – Mitteln (138, 140, 144) zur nochmaligen Durchführung der Decodierung, falls die Durchführung der Fehlerkorrektur für sowohl den ersten als auch den zweiten der Übertragungsteilblöcke erforderlich ist und die Durchführung der Fehlerkorrektur für einen der ersten und zweiten Übertragungsteilblöcke erfolgreich ist und für einen anderen der ersten und zweiten Übertragungsteilblöcke fehlschlägt, wobei die Ausgabe-Zuverlässigkeitswerte, die den Bits des einen der Übertragungsteilblöcke zugeordnet sind, erhöht werden, wobei bei der nochmaligen Durchführung der Decodierung, die den Bits des einen der Übertragungsteilblöcke zugeordneten erhöhten Ausgabe-Zuverlässigkeitswerte als Eingabe-Zuverlässigkeitswerte (148) für die erneute Durchführung der Decodierung verwendet werden.
  11. Empfänger nach Anspruch 10, wobei die Mittel (140) zur Prüfung des korrekten Empfangs zur Generierung von dritten Prüfdaten (116'') für einen empfangenen Teilblock (110') ausgebildet sind, wobei der empfangene Teilblock als korrekt empfangen gilt, wenn die Hammingdistanz zwischen den dritten Prüfdaten und den zweiten Prüfdaten weniger als ein vorgegebener Schwellwert beträgt.
DE102008040797A 2008-07-28 2008-07-28 Verfahren zum Empfangen eines Datenblocks Expired - Fee Related DE102008040797B4 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102008040797A DE102008040797B4 (de) 2008-07-28 2008-07-28 Verfahren zum Empfangen eines Datenblocks
US13/054,512 US8196015B2 (en) 2008-07-28 2009-05-28 Method for transmitting and receiving a data block and a corresponding transmitter and receiver
PCT/EP2009/056576 WO2010012524A1 (de) 2008-07-28 2009-05-28 Verfahren zum senden und empfangen eines datenblocks

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102008040797A DE102008040797B4 (de) 2008-07-28 2008-07-28 Verfahren zum Empfangen eines Datenblocks

Publications (2)

Publication Number Publication Date
DE102008040797A1 DE102008040797A1 (de) 2010-02-11
DE102008040797B4 true DE102008040797B4 (de) 2010-07-08

Family

ID=41151987

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102008040797A Expired - Fee Related DE102008040797B4 (de) 2008-07-28 2008-07-28 Verfahren zum Empfangen eines Datenblocks

Country Status (3)

Country Link
US (1) US8196015B2 (de)
DE (1) DE102008040797B4 (de)
WO (1) WO2010012524A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014207026B4 (de) * 2014-04-11 2017-02-09 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Codierer, Decodierer, System und Verfahren zum Übertragen verschlüsselter Daten
CN109964427B (zh) * 2017-02-09 2022-01-25 上海朗帛通信技术有限公司 一种被用于信道编码的终端、基站中的方法和设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008015742A1 (fr) * 2006-08-02 2008-02-07 Fujitsu Limited Appareil récepteur et son procédé de décodage

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5742622A (en) * 1996-03-12 1998-04-21 Discovision Associates Error detection and correction system for a stream of encoded data
US5968198A (en) * 1996-08-16 1999-10-19 Ericsson, Inc. Decoder utilizing soft information output to minimize error rates
DE19934646C2 (de) 1999-07-16 2001-09-13 Univ Dresden Tech Verfahren und Vorrichtung zur iterativen Decodierung von verketteten Codes
US7243294B1 (en) 2000-01-13 2007-07-10 California Institute Of Technology Serial turbo trellis coded modulation using a serially concatenated coder
US6810502B2 (en) * 2000-01-28 2004-10-26 Conexant Systems, Inc. Iteractive decoder employing multiple external code error checks to lower the error floor
US6731700B1 (en) * 2001-01-04 2004-05-04 Comsys Communication & Signal Processing Ltd. Soft decision output generator
US7289530B1 (en) * 2003-04-14 2007-10-30 Applied Micro Circuits Corporation System and method for coding a digital wrapper frame
US7200798B2 (en) * 2003-06-26 2007-04-03 Lucent Technologies Inc. Unified serial/parallel concatenated convolutional code decoder architecture and method
US7415659B2 (en) 2004-05-07 2008-08-19 Comtech Aha Corporation SISO decoder
KR20050114162A (ko) * 2004-05-31 2005-12-05 삼성전자주식회사 리드-솔로몬 부호를 사용하는 이동통신 시스템에서 내부및 외부 부호 복호 방법 및 그 장치
FR2871631B1 (fr) 2004-06-10 2006-09-22 Centre Nat Rech Scient Cnrse Procede de decodage iteractif de codes blocs et dispositif decodeur correspondant
US7516389B2 (en) * 2004-11-04 2009-04-07 Agere Systems Inc. Concatenated iterative and algebraic coding
US7499487B2 (en) * 2004-12-01 2009-03-03 Texas Instruments Incorporated System and method to mitigate interference in DSL systems
DE102005010006B4 (de) * 2005-03-04 2006-12-07 Infineon Technologies Ag Verfahren und Vorrichtung zum Terminieren einer iterativen Turbo-Dekodierung
US7814398B2 (en) 2006-06-09 2010-10-12 Seagate Technology Llc Communication channel with Reed-Solomon encoding and single parity check

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008015742A1 (fr) * 2006-08-02 2008-02-07 Fujitsu Limited Appareil récepteur et son procédé de décodage
EP2048790A1 (de) * 2006-08-02 2009-04-15 Fujitsu Limited Empfängervorrichtung und dekodierungsverfahren dafür

Also Published As

Publication number Publication date
DE102008040797A1 (de) 2010-02-11
US8196015B2 (en) 2012-06-05
WO2010012524A1 (de) 2010-02-04
US20110138257A1 (en) 2011-06-09

Similar Documents

Publication Publication Date Title
DE10139116B4 (de) Kombination aus Reed-Solomon- und Turbo-Codierung
DE19736626C1 (de) Verfahren zur Datenübertragung in einem digitalen Übertragungssystem bei paketvermitteltem Dienst
DE102008040797B4 (de) Verfahren zum Empfangen eines Datenblocks
DE102018218729B3 (de) Interleaving mit zirkularer Zeilen-Rotation für die Übertragung bei Telegramm-Splitting
EP1029404B1 (de) Verfahren und einrichtung zur datenübertragung in einem digitalen übertragungssystem mit arq
DE102017216264B4 (de) Decodierverfahren
EP1469625B1 (de) Verfahren und Vorrichtung zum Paket-orientierten Übertragen sicherheitsrelevanter Daten
DE69918912T2 (de) Verfahren und ausführung für verbesserte leistungsfähigkeiten in einem system welches faltungsdekodierung anwendet
DE102008055139B4 (de) Verfahren zum Empfangen eines Datenblocks
DE60033577T2 (de) Paketübertragung mit automatischem aufforderungsprotokoll mit verwendung von punktierten kodes
DE102013201422B3 (de) Verfahren zum Wiederherstellen verlorengegangener und/ oder beschädigter Daten
DE102011115100B3 (de) Verfahren zum Wiederherstellen von verloren gegangenen und/oder beschädigten Daten
DE102015205290B4 (de) Verfahren zur Übertragung von binären Daten über einen Kanal, insbesondere über einen optischen Freiraum-Datenübertragungskanal
DE102010054228B4 (de) Verfahren zum Übertragen von Daten
EP1826911A1 (de) Codierung und Decodierung mit Trellis-codierter Modulation
DE102014214451B4 (de) Verfahren zum Wiederherstellen von verloren gegangenen und/oder beschädigten Daten
DE102014216143B4 (de) Verfahren zum Wiederherstellen verlorengegangener und/oder beschädigter Daten
DE102014208996B3 (de) Verfahren zum Wiederherstellen verlorengegangener und/oder beschädigter Daten
DE19924211A1 (de) Verfahren und Vorrichtung zur flexiblen Kanalkodierung
WO2013182544A1 (de) Serielle verkettung eines nicht-binären turbo-codes über gf (q) und eines q-ären hadamard-codes
DE102010005702A1 (de) Codieren und Decodieren von Daten zur Übertragung über einen fehlerhaften Übertragungskanal
DE102014210955B4 (de) Verfahren zum Wiederherstellen von verlorengegangenen und/oder beschädigten Daten
DE102012200134B4 (de) Verfahren zum Übertragen eines analogen oder digitalen Signals
DE102013223413B4 (de) Verfahren zum Wiederherstellen verloren gegangener und/oder beschädigter Daten
DE102015216710B4 (de) Verfahren zum Übertragen von Daten

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee