DE102017200075B4 - Entschlüsselungsverfahren sowie Kommunikationssystem - Google Patents

Entschlüsselungsverfahren sowie Kommunikationssystem Download PDF

Info

Publication number
DE102017200075B4
DE102017200075B4 DE102017200075.9A DE102017200075A DE102017200075B4 DE 102017200075 B4 DE102017200075 B4 DE 102017200075B4 DE 102017200075 A DE102017200075 A DE 102017200075A DE 102017200075 B4 DE102017200075 B4 DE 102017200075B4
Authority
DE
Germany
Prior art keywords
vector
codeword
error
elements
error patterns
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.)
Active
Application number
DE102017200075.9A
Other languages
English (en)
Other versions
DE102017200075A1 (de
Inventor
Mustafa Cemil Coskun
Gianluigi Liva
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.)
Deutsches Zentrum fuer Luft und Raumfahrt eV
Original Assignee
Deutsches Zentrum fuer Luft und Raumfahrt eV
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 Deutsches Zentrum fuer Luft und Raumfahrt eV filed Critical Deutsches Zentrum fuer Luft und Raumfahrt eV
Priority to DE102017200075.9A priority Critical patent/DE102017200075B4/de
Publication of DE102017200075A1 publication Critical patent/DE102017200075A1/de
Application granted granted Critical
Publication of DE102017200075B4 publication Critical patent/DE102017200075B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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/13Linear codes
    • H03M13/19Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming 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/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
    • 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/13Linear codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes

Landscapes

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

Abstract

Entschlüsselungsverfahren für ein kodiertes Datensignal mit den Schritten:a) Empfangen eines Vektors r=(r,...,r);b) Decodieren der ersten k Elemente des Vektors r zu u, wobei k der Datenlänge des Codeworts entspricht und 1≤k<n;c) Ermitteln möglicher Fehlermuster;d) Addieren der möglichen Fehlermuster nacheinander auf u um ein übertragenes Codewort ĉ zu erhalten; unde) Bestimmen des tatsächlichen Codeworts durch minimieren des euklidischen Abstands des übertragenen Codeworts ĉ vom empfangenen Vektor r zur Ermittlung der maximalen Wahrscheinlichkeit.Dabei werden nur wahrscheinliche Fehlermuster verwendet, sodass die Anzahl der erforderlichen zu überprüfenden übertragenen Codewörter ĉ reduziert wird.

Description

  • Die Erfindung betrifft ein Entschlüsselungsverfahren für ein kodiertes Datensignal, sowie ein Kommunikationssystem zur Übertragung von Daten mittels kodierten Datensignals bei dem die übertragenen Daten entsprechend dem Entschlüsselungsverfahren dekodiert werden.
  • Aus dem Stand der Technik sind lineare Blockcodes bekannt, bei denen mittels einer Generatormatrix G aus einem Datenvektor x ein Codewort c erzeugt wird. Dabei weist der Datenvektor x eine Länge von k auf und das Codewort weist eine Länge von n auf, wobei n die Blocklänge des Blockcodes ist. Die Datenrate R ist dabei definiert als R = k n .
    Figure DE102017200075B4_0001
  • Das Codewort c wird übertragen. Hierbei entstehen Fehler auf Grund von Abschwächung des Übertragungssignals oder statistischer Fluktuation.
  • Vom Sender wird ein Vektor r empfangen mit r = (r1, r2, ..., rn). Aus r soll das ursprüngliche Codewort c und damit der ursprüngliche Datenvektor x ermittelt werden.
  • Hierzu ist aus dem Stand der Technik bekannt die ersten k Elemente des Vektors r zu dekodieren, beispielsweise über eine Hard-Decision-Regel. Hierdurch wird ein Vektor u erlangt, welcher sich von den ersten k Stellen des ursprünglichen Codeworts c auf Grund der fehlerhaften Übertragung unterscheidet.
  • Zur Ermittlung des ursprünglichen Codeworts c werden nun alle möglichen Fehlermuster ermittelt und diese nacheinander auf u addiert, um ein übertragenes Codewort c zu erhalten. Anschließend wird zur Bestimmung des ursprünglichen Codeworts c für alle möglichen Fehlermuster der euklidische Abstand des übertragenen Codeworts c vom empfangenen Vektor r bestimmt. Dasjenige übertragene Codewort ĉ, welches einen minimalen euklidischen Abstand vom empfangenen Vektor r aufweist, wird als ursprüngliches Codewort c angenommen. Dieses Verfahren wird als Maximum-Likelihood-Verfahren (ML) bezeichnet.
  • Da hierbei alle möglichen Fehlermuster herangezogen werden, müssen 2k übertragene Codewörter c ermittelt werden, was einen erheblichen Rechenaufwand bedeutet und zu einer Beschränkung des Datendurchsatzes führt.
  • Alternativ zur Verwendung aller möglichen Fehlermuster schlägt M. Fossorier et al., „Soft-decision Decoding of Linear Block Codes Based on Ordered Statistics“ IEEE Trans. Commun., vol. 41, no. 5, pp. 1379 - 1396, Sep. 1995 vor einen Parameter I zu wählen mit 0 ≤ I ≤ k. Sodann werden lediglich solche Fehlermuster erzeugt und zur Bestimmung des ursprünglichen Codeworts c herangezogen, welche ein Hamming-Gewicht von j = {0, 1, 2,..., l} aufweisen. Die Anzahl der zu überprüfenden Fehlermuster beschränkt sich dabei auf i = 0 l ( k i ) .
    Figure DE102017200075B4_0002
    Dieses Verfahren wird als Ordered Statistic Decoding (OSD) bezeichnet.
  • Wird I = k gewählt, so entspricht dieser Algorithmus gerade dem vorstehend beschriebenen ML-Dekodierverfahren.
  • Auch beim OSD-Verfahren ist die Anzahl der zu überprüfenden Fehlermuster sehr hoch und berücksichtigt insbesondere nur unzureichend die tatsächliche Fehlerwahrscheinlichkeit.
  • Ta-Hsiang Hu and Shu Lin „An Efficient Hybrid Decoding Algorithm for Reed-Solomon Codes Based on Bit Reliability“, IEEE Transactions on communications, Vol. 51, No. 7, Seiten 1073-1081, Juli 2003 beschreibt ein Verfahren zum Soft-decision Dekodieren, bei dem mögliche Fehlermuster anhand Ihrer Zuverlässigkeit entsprechend der Bit-Amplitude ausgewählt werden.
  • Aufgabe der vorliegenden Erfindung ist es daher, die Anzahl der zu überprüfenden Fehlermuster weiter zu reduzieren.
  • Dies wird gelöst durch ein Entschlüsselungsverfahren gemäß Anspruch 1, sowie ein Übertragungsverfahren gemäß Anspruch 12 und ein Kommunikationssystem gemäß Anspruch 13.
  • Das erfindungsgemäße Entschlüsselungsverfahren für ein kodiertes Datensignal weist die folgenden Schritte auf: zunächst wird ein Vektor r = (r1, ..., rn) empfangen. Der Vektor r ∈ ℝ stellt dabei ein tatsächlich gemessenes Signal dar mit einer üblicherweise kontinuierlichen Verteilung, wobei insbesondere ri ∈ [-1,1]. In einem nächsten Schritt werden die ersten k Elemente des empfangenen Vektors r dekodiert zu u. Dabei entspricht k der Datenlänge des Codeworts mit 1 < k ≤ n. Insbesondere erfolgt das Dekodieren entsprechend einer Hard-Decision-Regel. u stellt somit bei einer fehlerfreien Übertragung die ersten k Elemente eines ursprünglichen Codeworts c dar. Bei einer realistischen und damit fehlerbehafteten Übertragung des kodierten Datensignals, kann u sich jedoch von den ersten k Elementen eines ursprünglichen Codeworts c unterscheiden. Nachfolgend soll das tatsächliche Codewort bestimmt werden. Hierzu werden mögliche Fehlermuster ermittelt. Die Fehlermuster weisen dabei eine Länge von k auf. Dabei weisen die Fehlermuster eine 0 auf an Stellen, an denen kein Fehler von u vorliegt, und eine 1 auf an Stellen, an denen ein Fehler von u vorliegt. Ein erstes Fehlermuster wird auf u addiert. An Stellen an denen das Fehlermuster eine 1 aufweist wird somit das Bit des Vektors u geändert. Aus der Addition des möglichen Fehlermusters mit dem Vektor u wird ein übertragenes Codewort ĉ ermittelt. Für diese wird sodann der euklidische Abstand zwischen dem übertragenen Codewort ĉ und dem empfangenen Vektor r ermittelt. Dies erfolgt nacheinander für alle ermittelten Fehlermuster. Das übertragene Codewort ĉ, welches einen minimalen euklidischen Abstand vom empfangenen Vektor r aufweist, wird als tatsächliches Codewort c interpretiert. Dabei wird die Anzahl der ermittelten möglichen Fehlermuster reduziert auf wahrscheinliche Fehlermuster. Unwahrscheinliche Fehlermuster, welche beispielsweise eine sehr hohe Anzahl an Fehlern, insbesondere der Fall bei dem jedes Bit des Vektors u einen Fehler aufweist, werden vernachlässigt. Hierdurch kann die Anzahl der erforderlichen zu überprüfenden übertragenen Codewörter c reduziert werden. Somit reduziert sich der Rechenaufwand für das erfindungsgemäße Entschlüsselungsverfahren und der Datendurchsatz kann erhöht werden.
  • Erfindungsgemäß werden nur Fehlermuster berücksichtigt mit einem Hamming-Gewicht von j = {0,1,2,...,l1} innerhalb der k/j-Bits mit der geringsten Zuverlässigkeit, welche bevorzugt innerhalb der k zuverlässigsten Bits liegen. Dabei ist es unerheblich, ob die geringste Zuverlässigkeit beim Element r1 oder beim Element rk vorliegt. Der Vektor u wird somit in j Intervalle zerlegt, wobei im Intervall mit der geringsten Zuverlässigkeit gerade j Fehlerbits angenommen werden. Dies berücksichtigt, dass ein Fehler bei den Elementen von ri, welche die höchste Zuverlässigkeit aufweisen, sehr gering ist. Erst mit abnehmender Zuverlässigkeit steigt die Wahrscheinlichkeit eines Fehlers. Somit sind insbesondere Mehrfachfehler lediglich im Bereich der geringsten Zuverlässigkeit aufzufinden und müssen daher auch nur in diesem Bereich berücksichtig werden. Hierdurch kann die Anzahl der zu berücksichtigenden Fehlermuster deutlich reduziert werden und somit die Rechenanforderung deutlich minimiert werden.
  • Alternativ wird erfindungsgemäß für jedes der ersten k Elemente von r die Fehlerwahrscheinlichkeit P = {p1,...,pk} bestimmt. Dies erfolgt insbesondere in Abhängigkeit der Zuverlässigkeit der Elemente ri von r. Sodann werden durch einen Zufallsnummerngenerator N zufällige Fehlermuster erstellt, wobei Fehlerbits erzeugt werden in Abhängigkeit der jeweiligen Fehlerwahrscheinlichkeit. Ist die Fehlerwahrscheinlichkeit für ein bestimmtes Element von r gleich 0, so weist keines der zufällig erzeugten Fehlermuster ein Fehlerbit an dieser Stelle auf. Somit wird die Fehlerwahrscheinlichkeit der einzelnen Elemente von r berücksichtigt und nur solche Fehlermuster erzeugt, die tatsächlich wahrscheinlich sind. Hierdurch kann die Anzahl der vorliegenden und zu berücksichtigenden Fehlermuster deutlich reduziert werden, da nicht eine statistische Auswahl an möglichen Fehlermustern zugrunde gelegt wird, sondern die Auswahl der Fehlermuster anhand der Fehlerwahrscheinlichkeit des empfangenen Vektors r erfolgt.
  • Vorzugsweise ist die Anzahl der verwendeten Fehlermuster kleiner als 2k, was gerade der Anzahl aller möglichen Fehlermuster entspricht. Insbesondere ist die Anzahl der verwendeten Fehlermuster kleiner als i = 0 l ( k i )
    Figure DE102017200075B4_0003
    mit 0 ≤ l ≤ k. Somit ist die Anzahl der berücksichtigten Fehlermuster auch reduziert im Vergleich zum aus dem Stand der Technik beschriebenen Ordered-Statistic-Decoding-Algorithmus (OSD).
  • Vorzugsweise erfolgt vor dem Dekodieren der ersten k Elemente des Vektors r zu u ein Ordnen der empfangenen Elemente des Vektors r entsprechend der Zuverlässigkeit der Elemente ri mit i = 1,...,k und entsprechendes Ordnen der Generatormatrix G. Hierdurch werden zuverlässige Elemente des empfangenen Vektors zusammengefasst. Die Beschränkung auf die ersten k Elemente des empfangenen Vektors r entspricht dabei einer Beschränkung auf die Datenlänge des ursprünglichen Codeworts. Zuverlässige Elemente ri befinden sich somit am Anfang des Vektors r oder alternativ hierzu ausgehend vom k-ten Element des Vektors r in Richtung des ersten Elements von r. Hierdurch ist es vereinfacht zu ermitteln an welchen Stellen ein Fehler im übertragenen Vektor r und dem daraus dekodierten u vorliegt. Dies kann bei der Auswahl der möglichen Fehlermuster berücksichtigt werden. Selbstverständlich ist dann auch u entsprechend der Umordnung des Vektors r umgeordnet zu u‘, sodass ein übertragenes Codewort ĉ‘ erhalten wird. Bei der Bestimmung des tatsächlichen Codeworts wird dann entsprechend der minimale euklidische Abstand des übertragenen Codeworts ĉ‘ vom empfangenen umgeordneten Vektor r‘ bestimmt zur Ermittlung der maximalen Wahrscheinlichkeit.
  • Vorzugsweise erfolgt vor Dekodieren der ersten k Elemente des Vektors r zu u ein Ordnen der Elemente des empfangenen Vektors r entsprechend der Zuverlässigkeit der Elemente ri mit i = 1,...,n von r zu r‘ und entsprechendes Ordnen der Generatormatrix G zu G‘. Hierbei werden alle Elemente des empfangenen Vektors r berücksichtigt, sodass auch zuverlässige Elemente aus den Paritätsbits rk+1,...,rn berücksichtigt werden können. Nachfolgen werden die ersten k linear unabhängigen Spalten der umgeordneten Generatormatrix G‘ aufgesucht. Durch Einbeziehen aller Elemente von r und entsprechendes Umordnen der Generatormatrix G zu G‘, weist G‘ unter Umständen innerhalb der ersten k Spalten linear abhängige Spalten auf, welche keine zusätzliche Information über das ursprüngliche Codewort enthalten. Es erfolgt daher eine Anordnung der ersten k linear unabhängigen Spalten der geordneten Generatormatrix G‘ als ersten k Spalten einer erneut umgeordneten Generatormatrix G“ und ein entsprechendes Umordnen von r“. Somit enthält r“ innerhalb der ersten k Elemente die zuverlässigsten Elemente des empfangenen Vektors r. Nachfolgend erfolgt das Dekodieren der ersten k Elemente des Vektors r“ zu u”, wobei aus u“ ein übertragenes Codewort ĉ“ erhalten wird. Sodann wird der euklidische Abstand des übertragenen Codeworts ĉ“ vom empfangenen Vektor r“ minimiert zur Ermittlung des tatsächlichen Codeworts. Durch Anordnen der zuverlässigsten Elemente des empfangenen Vektors r auf die ersten k Stellen von r“ ohne Informationsverlust, werden möglichst fehlerfreie Elemente des empfangenen Vektors r“ ermittelt. Hierdurch wird die Anzahl der möglichen Fehlerbits klein gehalten. Gleichzeitig können eine Vielzahl von Fehlermustern ausgeschlossen werden. Insbesondere sind solche Fehlermuster nicht mehr erforderlich, welche Fehler aufweisen an den zuverlässigsten Stellen des Vektors r“. Hierdurch kann die Anzahl der zu überprüfenden Fehlermuster weiter reduziert werden.
  • Vorzugsweise wird |ri| als Maß für die Zuverlässigkeit herangezogen. Umso größer der Betrag von |ri| ist, umso zuverlässiger ist das jeweilige Element ri des empfangenen Vektors r. Insbesondere falls ri ∈ [-1,1] ist, liegt ein fehlerfreies Element von r vor, falls |ri| = 1 ist.
  • Vorzugsweise wird l1 gewählt, so dass k/j ≥ i für alle j in {1,2,...l1}. Deshalb wird l1 gewählt zwischen 1 und √k und muss eine natürliche Zahl sein. Bevorzugt wird l1 ∈ N gewählt zwischen 2 und √k. In den Fällen, in denen k/j keine Ganzzahl ist, kann diese ermittelt werden durch eine Floor-Operation . ,
    Figure DE102017200075B4_0004
    welche die nächstkleinere natürliche Zahl liefert. Alternativ hierzu kann auch eine Ceiling-Operation ausgeführt werden . ,
    Figure DE102017200075B4_0005
    welche die nächstgrößere Ganzzahl liefert.
  • Vorzugsweise entspricht l1 der maximalen Anzahl der Fehlerbits in u.
  • Vorzugsweise beträgt die Anzahl der erforderlichen Fehlermuster j = 0 l 1 ( k / j j ) ,
    Figure DE102017200075B4_0006
    was somit kleiner ist als bei den aus dem Stand der Technik bekannten Verfahren.
  • Vorzugsweise wird das tatsächliche Codewort wiederum umgeordnet, um die ursprünglichen Datenbitfolge zu ermitteln, insbesondere falls zunächst ein Ordnen der Elemente des empfangenen Vektors r entsprechend der Zuverlässigkeit der Elemente ri erfolgt ist. Somit werden die Permutationen, welche zu den Vektoren r‘ und r“ geführt haben, invertiert auf das tatsächliche Codewort angewendet, um die ursprüngliche Datenbitfolge zu ermitteln.
  • Weiterhin betrifft die vorliegende Erfindung ein Übertragungsverfahren zur Übertragung von Daten mittels Datensignal mit den Schritten: Erzeugen eines Codeworts c = (c1,...,ck,ck+1,...,cn) mit k Datenbits und einer Codewortlänge n durch Multiplikation eines Datenvektors x mit einer Generatormatrix G. Sodann wird das Codewort c übertragen. Nachfolgend wird ein Vektor r empfangen. Der Vektor r entspricht dabei dem Codewort c, falls die Übertragung des Codeworts fehlerfrei erfolgt. Bei einer realen Übertragung weist jedoch der empfangene Vektor r Fehler auf. Sodann wird der empfangene Vektor r entschlüsselt, wie vorstehend beschrieben.
  • Vorzugsweise erfolgt ein Abbilden des erzeugten Codeworts c auf eine bipolare Sequenz y = (y1,y2,...,yn) ∈ {-1,1}n mit yi = (-1)ci. Hierdurch ist es vereinfacht möglich durch den Betrag der Elemente ri deren Zuverlässigkeit zu bestimmen, wobei eine hohe Zuverlässigkeit vorliegt, wenn |ri| groß ist.
  • Weiterhin betrifft die Erfindung ein Kommunikationssystem zur Übertragung von Daten mittels kodiertem Datensignal mit einem Sender, einem Übertragungskanal und einem Empfänger, wobei durch den Sender ein Codewort c mit k Datenbits und einer Codewortlänge n durch Multiplikation eines Datenvektors x mit einer Generatormatrix G erzeugt wird. Das Codewort c wird über den Übertragungskanal übertragen und von einem Empfänger wird ein Vektor r empfangen. Der empfangene Vektor r wird dabei wie vorstehend beschrieben entschlüsselt.
  • Vorzugsweise handelt es sich bei dem Übertragungskanal um einen AWGN-Kanal (additive white Gaussian noise channel - additives weißes gaußsches Rauschen) bei dem der Einfluss des Kanals auf das Nutzsignal durch ein Rauschsignal mit gaußverteilter Signalamplitude konstanter spektraler Rauschleistungsdichte beschrieben wird, welches sich dem Nutzsignal überlagert.
  • Vorzugsweise überträgt die Übertragung über den Übertragungskanal mittels Phasenumtastung (BPSK-signaling).
  • Vorzugsweise handelt es sich bei dem Übertragungskanal um einen optischen Kanal, einen Funkkanal oder einen leitungsgebundenen Kanal.
  • Nachfolgend wird die Erfindung anhand bevorzugter Ausführungsformen unter Bezugnahme auf die beigefügten Zeichnungen näher erläutert.
  • Es zeigen:
    • 1 ein erfindungsgemäßes Kommunikationssystem,
    • 2 ein Ablaufdiagramm für ein erstes erfindungsgemäßes Entschlüsselungsverfahren,
    • 3 ein Ablaufdiagramm für ein zweites erfindungsgemäßes Entschlüsselungsverfahren,
    • 4 ein Ablaufdiagramm für ein drittes erfindungsgemäßes Entschlüsselungsverfahren und
    • 5 ein Vergleich als Simulation zwischen dem Stand der Technik und dem Entschlüsselungsverfahren der 3 und 4.
  • Das erfindungsgemäße Kommunikationssystem gezeigt in 1 weist einen Sender 10 auf, sowie einen Empfänger 12, wobei Empfänger 12 und Sender 10 über ein Übertragungskanal 14 miteinander verbunden sind. Im Sender 10 wird ein Datenvektor generiert durch eine Datenquelle 16 und mittels eines Encoders 18 in ein Codewort umgewandelt. Das Codewort wird über den Übertragungskanal 14 an den Empfänger 12 übertragen und bei der Übertragung unterliegt das Codewort einer statistischen Störung sowie einer Abschwächung. Somit wird von dem Empfänger 12 nicht mehr das ursprüngliche Codewort empfangen, sondern ein Vektor r. Der Vektor r wird durch den Decoder 20 dekodiert, sodass die ursprünglichen Daten aus dem übertragenen Vektor r extrahiert werden können. Der ursprüngliche Datenvektor x, welcher durch den Decoder 20 ermittelt wurde, wird sodann in eine Datensenke 22 weitergegeben. Dabei erfolgt die Dekodierung des empfangenen Vektors r im Decoder 20 wie allgemein im Vorstehenden beschrieben oder anhand der nachfolgenden konkreten Ausführungsbeispiele.
  • In einem ersten erfindungsgemäßen Entschlüsselungsverfahren wird im Schritt S10 ein Vektor r = (r1,...,rn) empfangen. Dabei wird angenommen, dass das dem Vektor r zugrunde liegende Codewort c generiert wurde durch eine Generatormatrix G, wobei die ersten k Spalten der Generatormatrix G linear unabhängig voneinander sind. Anderenfalls ist es erforderlich, G zunächst derart umzuordnen, dass die ersten k Spalten unabhängig voneinander sind, und ein entsprechendes Umordnen des Vektors r zu r‘. In Schritt S12 erfolgt ein Dekodieren von r1,...,rk zu dem Vektor u. Dabei wird insbesondere eine Hard-Decision-Regel verwendet mit u i { 0, für r i > 0 1, für r i 1
    Figure DE102017200075B4_0007
    für 1 ≤ i ≤ k.
  • In Schritt S13 werden wahrscheinliche Fehlermuster ermittelt, wobei nur solche Fehlermuster herangezogen werden, welche wahrscheinlich sind. Insbesondere können hierbei Fehlermuster, welche in jedem Bit des Vektors u einen Fehler annimmt oder weitere Fehlermuster mit einer zu hohen Anzahl an Fehlern, also einem zu großen Hamming-Gewicht, vernachlässigt werden. Sodann in Schritt S14 wird ein erstes Fehlermuster auf u addiert. Aus dem so geänderten u wird ein übertragenes Codewort ĉ = u Gsys erzeugt. Bei der Matrix Gsys handelt es sich um eine systematische Generatormatrix, welche aus der Generatormatrix G erzeugt wird durch Anwenden elementarer Reihenoperationen. Im Schritt S18 wird der euklidische Abstand des übertragenen Codeworts ĉ zu dem ursprünglich empfangenen Vektor r bestimmt. Gemäß dem Pfeil 24 erfolgt eine Iteration für jedes der möglichen wahrscheinlichen Fehlermuster, sodass eine Vielzahl möglicher übertragener Codewörter ĉ existiert. Im Schritt S20 wird abschließend ein ĉ ausgewählt, welches einen minimalen euklidischen Abstand vom ursprünglich empfangenen Vektor r aufweist und als ursprüngliches Codewort c interpretiert wird. Da ĉ über eine systematische Generatormatrix Gsys erzeugt wurde, entsprechen die ersten k Elemente von ĉ den ursprünglichen Datenbits. Da in dem vorstehend beschriebenen Verfahren nur wahrscheinliche Fehlermuster berücksichtigt werden, lässt sich der Berechnungsaufwand und somit die Komplexität des Entschlüsselungsverfahren deutlich reduzieren.
  • In einem weiteren erfindungsgemäßen Entschlüsselungsverfahren, gezeigt in 3, wird wiederum zunächst ein Vektor r empfangen in Schritt S22. Im Schritt S24 wird der empfangene Vektor r entsprechend der Zuverlässigkeit seiner Elemente angeordnet. Hierzu wird eine Permutation π1(.) angewendet, sodass für den erzeugten Vektor r‘ aus r gilt |r1‘| ≥ |r2‘| ≥ ... ≥ |rn‘|. Im Schritt S26 wird die Permutation π1 auf die Spalten gi der Generatormatrix G = [g1, ..., gn] angewendet zur Erzeugung von G‘. Nachfolgend in Schritt S28 werden die k ersten unabhängigen Spalten von G‘ als erste k Spalten einer Matrix G"’ angeordnet mittels einer Permutation π2(.). In Schritt S30 wird die Permutation π2 auf r‘ angewendet, um r“ zu erhalten. Sodann wird in Schritt S32 r1", ..., rk“ dekodiert zu u“, insbesondere mittels einer Hard-Decision-Regel. In Schritt S34 wird ein Parameter l1 gewählt, wobei l1 zwischen 1 und √k und insbesondere zwischen 2 und √k liegt. In Schritt S36 werden alle möglichen Fehlermuster ermittelt, welche ein Hamming-Gewicht von j = {0,1,...,l1} innerhalb der letzten k/j Bits aufweisen. Sofern k/j keine Ganzzahl ist, kann der Bereich des Fehlermusters, in dem die Fehler angenommen werden, bestimmt werden durch den Floor-Operator k / j
    Figure DE102017200075B4_0008
    oder den Ceiling-Operator k / j .
    Figure DE102017200075B4_0009
    Somit wird das Fehlermuster unterteilt in j Intervalle, wobei nur im letzen Intervall, welches dem Intervall der geringsten Zuverlässigkeit der entsprechenden Elemente von r entspricht, maximal j Fehlerbits vorgesehen werden. Sodann wird im Schritt S38 ein erstes Fehlermuster auf u“ addiert. In Schritt S40 wird aus u“ mittels Multiplikation mit G“sys ein übertragenes Codewort ĉ“ erzeugt. Dabei entspricht G“sys der systematischen Generatormatrix, welche durch elementare Reihenoperationen aus G“ gewonnen wird. Sodann wird in Schritt S42 der euklidische Abstand zwischen ĉ“ und r“ bestimmt. Dies erfolgt gemäß Pfeil 26 für jedes der in Schritt S36 ermittelten Fehlermuster. Somit liegt für alle möglichen übertragenen Codewörter ĉ“ ein euklidischer Abstand zu r“ vor. In Schritt S44 erfolgt eine Auswahl des ĉ“ mit minimalem euklidischen Abstand als ursprüngliches Codewort. Abschließend erfolgt in Schritt S45 eine inverse Anwendung der Permutation π1 und π2, um die ursprüngliche Datenfolge zu extrahieren. Da der empfangene Vektor entsprechend seiner Zuverlässigkeit sortiert wurde, sind Fehlermuster, die beispielsweise einen Fehler der ersten beiden Bits von r aufweisen, sehr unwahrscheinlich und können demnach vernachlässigt werden. Erst für unzuverlässigere Bits von r ist es erforderlich die Mehrfachfehler zu berücksichtigen. Die Beschränkung der zu berücksichtigenden Fehlermuster auf solche, welche wahrscheinlicher sind, reduziert den Berechnungsaufwand und vereinfacht die Komplexität des Entschlüsselungsverfahrens.
  • In 4 ist ein weiteres alternatives Entschlüsselungsverfahren dargestellt. Dabei werden gleiche Schritte des Verfahrens mit gleichen Bezugszeichen gekennzeichnet. Das Entschlüsselungsverfahren der 4 unterscheidet sich von dem Entschlüsselungsverfahren der 3 lediglich in der Erzeugung der Fehlermuster. So wird in Schritt S46 eine Anzahl der Fehlermuster N festgelegt. In Schritt S48 wird für jedes ri“ mit i = 1,...,k eine Fehlerwahrscheinlichkeit pi ermittelt. Nachfolgend wird in Schritt S50 N Fehlermuster erzeugt in Abhängigkeit der Fehlerwahrscheinlichkeiten pi. Nachfolgend werden nur Fehlermuster erzeugt, welche gemäß der Fehlerwahrscheinlichkeit auftreten können. Hierdurch reduziert sich die Anzahl der zu berücksichtigenden Fehlermuster und somit reduziert sich die Komplexität des Entschlüsselungsverfahrens.
  • 5 zeigt eine Vergleichssimulation zwischen dem OSD-Entschlüsselungsverfahren aus dem Stand der Technik und aus dem Entschlüsselungsverfahren dargestellt in den 3 und 4. Dabei wird ein random (32,24) binärer Linear Block-Code zugrunde gelegt. Die Darstellung erfolgt in der Blockfehlerrate, welche der Anzahl der Fehler geteilt durch die gesamte Anzahl der gesendeten Codewörter entspricht, abgetragen über den Eb/N0-Wert in dB (entspricht der Energie in einem Bit versus der Rausch-Leistungs-Spektrumsdichte (Noisepower Spectrum Density).
  • Dabei wurden in der Figur 5 für das OSD-Entschlüsselungsverfahren 301 Codewörter überprüft, wohingegen für das Verfahren der 3 lediglich 163 Codewörter überprüft wurden. Im Verfahren der 4 wurde N gewählt als 300, somit auch kleiner als das OSD-Verfahren des Standes der Technik. Wie aus der 5 ersichtlich ergibt sich trotz reduzierter Komplexität des Entschlüsselungsverfahrens die gleiche Leistungsfähigkeit im Vergleich zum Stand der Technik. Im Verfahren der 4 kann die Anzahl weiter reduziert werden, indem doppelt oder mehrfach auftretende Fehlermuster nur exakt einmal berücksichtigt werden.

Claims (14)

  1. Entschlüsselungsverfahren für ein kodiertes Datensignal mit den Schritten, a) Empfangen eines Vektors r=(r1,...,rn); b) Decodieren der ersten k Elemente des Vektors r zu u, wobei k der Datenlänge des Codeworts entspricht und 1≤k<n; c) Ermitteln möglicher Fehlermuster; d) Addieren der möglichen Fehlermuster nacheinander auf u um ein übertragenes Codewort ĉ zu erhalten; und e) Bestimmen des tatsächlichen Codeworts durch minimieren des euklidischen Abstands des übertragenen Codeworts c vom empfangenen Vektor r zur Ermittlung der maximalen Wahrscheinlichkeit, wobei nur wahrscheinliche Fehlermuster verwendet werden, so dass die Anzahl der erforderlichen zu überprüfenden übertragenen Codewörter ĉ reduziert wird, dadurch gekennzeichnet, dass alle Fehlermuster mit einem Hamming-Gewicht von j = {0,1,2,...,l1} innerhalb der k/j Bits mit der geringsten Zuverlässigkeit herangezogen werden oder für jedes der ersten k Elemente von r die Fehlerwahrscheinlichkeit P={p1,...,pk} bestimmt wird und ein Zufallsnummerngenerator N zufällige Fehlermuster erstellt, wobei Fehlerbits erzeugt werden in Abhängigkeit von der jeweiligen Fehlerwahrscheinlichkeit.
  2. Entschlüsselungsverfahren nach Anspruch 1, bei welchem die Anzahl der verwendeten Fehlermuster kleiner ist als i = 0 l ( k i )
    Figure DE102017200075B4_0010
    mit 0 ≤ l ≤ k.
  3. Entschlüsselungsverfahren nach Anspruch 1 oder 2, bei welchem vor Schritt b) folgende Schritte erfolgen: a1) Ordnen der Elemente des empfangenen Vektors r entsprechend der Zuverlässigkeit der Elemente ri mit i = 1,...,k und endsprechendes Ordnen einer Generatormatrix G.
  4. Entschlüsselungsverfahren nach Anspruch 1 oder 2, bei welchem vor Schritt b) folgende Schritte erfolgen: a1) Ordnen der Elemente des empfangenen Vektors r entsprechend der Zuverlässigkeit der Elemente ri mit i = 1,...,n von r und endsprechendes Ordnen einer Generatormatrix; a2) Aufsuchen der ersten k linear unabhängigen Spalten der ersten geordneten Generatormatrix; und a3) Anordnung der ersten k linear unabhängigen Spalten der ersten geordneten Generatormatrix als erst Spalten einer zweiten geordneten Generatormatrix und entsprechendes Ordnen von r.
  5. Entschlüsselungsverfahren nach einem der Ansprüche 1 bis 4, bei welchem |ri| als Maß für die Zuverlässigkeit herangezogen wird.
  6. Entschlüsselungsverfahren nach einem der Ansprüche 1-5, bei welchem l1 gewählt wird als Ganzzahl ∈ ℕ zwischen 1 und √k
  7. Entschlüsselungsverfahren nach einem der Ansprüche 1-6 , bei welchem l1 der maximalen Anzahl der Fehlerbits in u entspricht.
  8. Entschlüsselungsverfahren nach einem der Ansprüche 1-7, bei welchem die Anzahl der erforderlichen Fehlermuster j = 0 l 1 ( k / j j )
    Figure DE102017200075B4_0011
    beträgt.
  9. Entschlüsselungsverfahren nach einem der Ansprüche 3 bis 8, bei welchem die Umordnung des empfangenen Vektors r entsprechend der Umordnung der Generatormatrix und/oder der Umordnung entsprechend der Zuverlässigkeit der Elemente von r invertiert auf das tatsächliche Codewort angewendet wird um die ursprüngliche Daten-Bitfolge zu ermitteln.
  10. Übertragungsverfahren zur Übertragung von Daten mittels kodierten Datensignals, mit den Schritten a) Erzeugen eines Codeworts c = (c1,...,ck,ck+1,...,cn) mit k Datenbits und einer Codewortlänge n durch Multiplikation eines Datenvektors x mit einer Generatormatrix G; b) Übertragen des Codeworts; c) Empfangen eines Vektors r=(r1,...,rn); d) Entschlüsselung entsprechend einem der Ansprüche 1 bis 9.
  11. Kommunikationssystem zur Übertragung von Daten mittels kodiertem Datensignal, mit einem Sender, einem Übertragungskanal einem Empfänger, wobei durch den Sender ein Codewort c = (c1,...,ck,ck+1,...,cn) mit k Datenbits und einer Codewortlänge n durch Multiplikation eines Datenvektors x mit einer Generatormatrix G erzeugt wird, wobei das Codewort c über den Übertragungskanal übertragen wird und wobei vom Empfänger ein Vektor r empfangen wird dadurch gekennzeichnet, dass der empfangene Vektor r entsprechend den Ansprüchen 1 bis 9 entschlüsselt wird.
  12. Kommunikationssystem nach Anspruch 11, dadurch gekennzeichnet, dass es sich bei dem Übertragungskanal um einen AWGN-Kanal handelt.
  13. Kommunikationssystem nach Anspruch 11 oder 12, dadurch gekennzeichnet, dass die Übertragung über den Übertragungskanal mittels Phasenumtastung erfolgt.
  14. Kommunikationssystem nach einem der Ansprüche 11 bis 13, dadurch gekennzeichnet, dass es sich bei dem Übertragungskanal um einen optischen Kanal, einen Funkkanal oder einen leitungsgebundenen Kanal handelt.
DE102017200075.9A 2017-01-04 2017-01-04 Entschlüsselungsverfahren sowie Kommunikationssystem Active DE102017200075B4 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102017200075.9A DE102017200075B4 (de) 2017-01-04 2017-01-04 Entschlüsselungsverfahren sowie Kommunikationssystem

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102017200075.9A DE102017200075B4 (de) 2017-01-04 2017-01-04 Entschlüsselungsverfahren sowie Kommunikationssystem

Publications (2)

Publication Number Publication Date
DE102017200075A1 DE102017200075A1 (de) 2018-07-05
DE102017200075B4 true DE102017200075B4 (de) 2018-07-19

Family

ID=62568175

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102017200075.9A Active DE102017200075B4 (de) 2017-01-04 2017-01-04 Entschlüsselungsverfahren sowie Kommunikationssystem

Country Status (1)

Country Link
DE (1) DE102017200075B4 (de)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HU, T.-H.; LIN, S.: An Efficient Hybrid Decoding Algorithm for Reed-Solomon Codes Based on Bit Reliability. In: IEEE Transactions on Communications, Vol. 51, 2003, No. 7, S. 1073-1081. IEEE Xplore [online]. DOI: 10.1109/TCOMM.2003.814212, In: IEEE

Also Published As

Publication number Publication date
DE102017200075A1 (de) 2018-07-05

Similar Documents

Publication Publication Date Title
DE69027018T2 (de) Maximalwahrscheinlichkeitsdekodierung mit Störungsdetektion für Frequenzsprungsysteme mit kodierter Modulation
DE60217992T2 (de) System und Verfahren zum Erzeugen von Coden in einem Kommunikationssystem
DE3910739C3 (de) Verfahren zum Verallgemeinern des Viterbi-Algorithmus und Einrichtungen zur Durchführung des Verfahrens
DE60224672T2 (de) Übertragungsverfahren und einrichtung in einem funkkommunikationsnetz
DE69722571T2 (de) System und Verfahren zur digitalen Übertragung mit einem Produktkode kombiniert mit multidimensionaler Modulation
DE69026916T2 (de) Verschachtelung in kodierte Modulation für den mobilen Funk
DE69726661T2 (de) Verfahren und vorrichtung zur kodierung eines digitalen informationssignales
DE60301970T2 (de) Verfahren und Vorrichtung für gewichtete, nichtbinäre Wiederholungskodierung und Raum-Zeit-Kodierung
EP0697770A1 (de) Verfahren zur arithmetischen Decodierung
DE69737337T2 (de) Datenempfänger und Empfangsverfahren für punktierte, faltungskodierte Daten
DE69733681T2 (de) Datenempfänger und Empfangsverfahren mit Soft-Dekodierung
DE69735982T2 (de) Datenempfänger
DE102017216264B4 (de) Decodierverfahren
DE69836119T2 (de) Tail-biting Faltungskode-Dekodierverfahren und -system
DE102017200075B4 (de) Entschlüsselungsverfahren sowie Kommunikationssystem
DE19907728A1 (de) Vorrichtung und Verfahren zum Erzeugen eines Datenstroms und Vorrichtung und Verfahren zum Lesen eines Datenstroms
DE602004006558T2 (de) Codierung und Decodierung von Trellis-Codes mit Trellis Sektionen basierend auf Blockcodes mit guten Distanzeigenschaften
EP1826911A1 (de) Codierung und Decodierung mit Trellis-codierter Modulation
DE102019200941B4 (de) Decodierverfahren
DE102018208061A1 (de) Verfahren und Vorrichtung zur Nutzung einer physikalisch unklonbaren Funktion
DE102014218384B3 (de) Rückgewinnung eines binären Response-Musters von einem verrauschten Kanal
DE102017209025B3 (de) Verfahren zum Übertragen von Daten
DE60317355T2 (de) Verfahren zum Interpretieren wenigstens eines Signals mittels wenigstens einer Sendeantenne und mittels wenigstens einer Empfangsantenne
EP0983637B1 (de) Verfahren und anordnung zur ermittlung mindestens eines digitalen signalwerts aus einem elektrischen signal
WO2004064282A2 (de) Verfahren und kommunikationssystemvorrichtung zum codemodulierten übertragen von informationen

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final