DE102020106501A1 - Fehlerkorrektur für LDPC-Dekodierer - Google Patents

Fehlerkorrektur für LDPC-Dekodierer Download PDF

Info

Publication number
DE102020106501A1
DE102020106501A1 DE102020106501.9A DE102020106501A DE102020106501A1 DE 102020106501 A1 DE102020106501 A1 DE 102020106501A1 DE 102020106501 A DE102020106501 A DE 102020106501A DE 102020106501 A1 DE102020106501 A1 DE 102020106501A1
Authority
DE
Germany
Prior art keywords
value
bit
node
nodes
test
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.)
Withdrawn
Application number
DE102020106501.9A
Other languages
English (en)
Inventor
Franz Josef Hagmanns
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.)
Tesat Spacecom GmbH and Co KG
Original Assignee
Tesat Spacecom GmbH and Co KG
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 Tesat Spacecom GmbH and Co KG filed Critical Tesat Spacecom GmbH and Co KG
Priority to DE102020106501.9A priority Critical patent/DE102020106501A1/de
Priority to FR2102316A priority patent/FR3108222A1/fr
Priority to US17/197,217 priority patent/US20210288746A1/en
Publication of DE102020106501A1 publication Critical patent/DE102020106501A1/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • 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/0045Arrangements at the receiver end
    • H04L1/0047Decoding adapted to other signal detection operation
    • H04L1/005Iterative decoding, including iteration between signal detection and decoding operation
    • 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/65Purpose and implementation aspects
    • H03M13/6577Representation or format of variables, register sizes or word-lengths and quantization
    • 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/11Error 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 using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • 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/11Error 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 using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1131Scheduling of bit node or check node processing
    • 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/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • 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/65Purpose and implementation aspects
    • H03M13/6577Representation or format of variables, register sizes or word-lengths and quantization
    • H03M13/6594Non-linear quantization
    • 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/11Error 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 using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1108Hard decision decoding, e.g. bit flipping, modified or weighted bit flipping

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)
  • Nonlinear Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

Es ist eine Empfangseinheit für die Verwendung in einer Datenverbindung und ein Verfahren zur Fehlerkorrektur an einem Empfangswort in einer Datenverbindung angegeben. Ein Low-Density-Parity-Check-Code, LDPC-Code, wird verwendet, um das Empfangswort iterativ anzupassen, indem Bitknotennachrichten und Prüfknotennachrichten ausgetauscht werden. Die Prüfknotennachrichten, welche an die Bitknoten übermittelt werden, werden dreistufig quantisiert und nehmen die Werte -1, 0 oder +1 ein. Somit kann das Verfahren mit geringem Rechenaufwand umgesetzt werden.

Description

  • Technisches Gebiet
  • Die vorliegende Beschreibung betrifft allgemein das technische Gebiet der Datenübertragung und der Fehlererkennung und Fehlerkorrektur in übertragenen Daten auf Seiten eines Empfängers. Insbesondere betrifft die Beschreibung eine Empfangseinheit für die Verwendung in einer Datenverbindung und ein Verfahren zur Fehlerkorrektur an einem Empfangswort.
  • Technischer Hintergrund
  • Sog. Low-Density-Parity-Check-Codes, LDPC-Codes, sind lineare Blockcodes zur Fehlerkorrektur. LDPC-Codes beschreiben mit Hilfe einer Matrix mehrere zusammenhängende Paritätsprüfungen.
  • Die Grundlagen der LDPC-Codes finden sich in Robert G. Gallager: Low-Density Parity-Check Codes. M.I.T. Press Classic Series, Cambridge MA, USA, 1963.
  • LDPC-Dekodierer nutzen in der Regel fein quantisierte Eingangswerte, z.B. von einem AD-Umsetzer mit einer Auflösung von 4 bis 6 Bit, eignen sich gut zur Fehlerkorrektur, benötigen allerdings eine hohe Rechenleistung.
  • Beschreibung
  • Es kann als Aufgabe betrachtet werden, einen LDPC-Dekodierer mit reduzierter Komplexität und reduziertem Bedarf von Rechenleistung anzugeben.
  • Diese Aufgabe wird gelöst durch den Gegenstand des unabhängigen Anspruchs. Weitere Ausführungsformen ergeben sich aus den abhängigen Ansprüchen sowie aus der folgenden Beschreibung.
  • Gemäß einem ersten Aspekt ist eine Empfangseinheit für die Verwendung in einer Datenverbindung angegeben. Die Empfangseinheit weist eine Vorverarbeitungseinheit und einen Dekodierer auf. Die Vorverarbeitungseinheit ist ausgestaltet, einen von einem Übertragungskanal empfangenen Analogwert in ein dreistufiges Signal Q zu quantisieren, wobei das dreistufige Signal einen ersten Wert, einen zweiten Wert, oder einen dritten Wert einnehmen kann, wobei der erste Wert einem ersten logischen Zustand, der dritte Wert einem zweiten logischen Zustand, und der zweite Werte einem unbestimmten logischen Zustand entspricht. Der Dekodierer umfasst eine Mehrzahl von Bitknoten und eine Mehrzahl von Prüfknoten, wobei jeweils eine Anzahl von Bitknoten mit einem Prüfknoten verbunden ist. Der Dekodierer ist ausgeführt, Bitknotennachrichten iterativ zu aktualisieren gemäß der Vorgabe: B ( n ) ( k ) = r ( k ) + l γ ( k ) C k ( n 1 ) ( l ) ,
    Figure DE102020106501A1_0001
  • Hierbei gilt:
    • β(k) ist die n-te Iteration einer Nachricht des Bitknotens n an den mit dem Bitknoten n verbundenen Prüfknoten ist.
    C k ( n )
    Figure DE102020106501A1_0002
    ist die n-te Iteration einer Nachricht des Prüfknotens n an den Bitknoten k;
    und
    γ(k) ist ein Satz von Indizes der mit dem Bitknoten k verbundenen Prüfknoten.
  • Der Dekodierer ist ausgeführt, Prüfknotennachrichten an die Bitknoten iterativ zu aktualisieren gemäß der Vorgabe: C l ( n ) ( k ) = λ β ( k ) , λ l Q ( B ( n ) ( λ ) C λ ( n 1 ) ( k ) ) ,
    Figure DE102020106501A1_0003
  • Hierbei gilt:
    • β(k) ist ein Satz von Indizes der mit dem Prüfknoten k verbundenen Bitknoten;
  • Der Dekodierer ist ausgeführt, das dreistufige Signal Q(x) wie folgt zu bestimmen: Q ( x ) = { + 1, x > 0, 0, x = 0, 1, x < 0.
    Figure DE102020106501A1_0004
  • Über den Übertragungskanal werden Informationen beispielsweise als analoge Spannungspegel übertragen. Auf der Empfängerseite wird der Spannungspegel erfasst und diesem Spannungspegel ein Wert zugewiesen. Der Übertragungskanal wird durch die Verknüpfung mit der Vorverarbeitungseinheit funktional zu einem sog. Auslöschungskanal (Engl.: erasure channel). Ein Auslöschungskanal bezeichnet einen informationstheoretischen Kanal, der ein Informationsbit (in der Regel mit zwei Zuständen, logisch 0 oder logisch 1) an seinem Eingang empfängt und an seinem Ausgang ein Informationsbit (in der Regel mit zwei Zuständen, logisch 0 oder logisch 1) oder einen Übertragungsfehler E ausgibt. Der Auslöschungskanal verfügt also über drei mögliche Ausgangswerte.
  • Das dreistufige Signal Q kann drei Werte annehmen. Ein erster Wert kann einer logischen 0 entsprechen, ein dritter Wert kann einer logischen 1 entsprechen. Somit sind die zwei Werte, welche ein einzelnes Informationsbit bilden, dargestellt. Der zweite Wert wird dann verwendet, wenn es nicht möglich ist, den empfangenen Analogwert eindeutig dem ersten oder dritten Wert zuzuweisen.
  • Die Vorverarbeitungseinheit und der Dekodierer können strukturell in einer gemeinsamen Baueinheit untergebracht sein. Sie können jedoch auch räumlich und strukturell voneinander getrennt sein. Die Vorverarbeitungseinheit kann sich z.B. unmittelbar an einen Ausgang einer Verbindung anschließen und das quantisierte dreistufige Signal als Kanalausgang an den Dekodierer übergeben. Unabhängig von der strukturellen Anordnung und Zuordnung liefert die Vorverarbeitungseinheit das Signal Q an den Dekodierer.
  • Es ist vorgesehen, dass die Nachrichten der Prüfknoten an die Bitknoten ebenfalls dreistufig quantisiert werden. Dies hat den Vorteil, dass das Verarbeiten der Prüfknotennachrichten, welche an die Bitknoten übermittelt werden, mit digital arbeitenden Bausteinen sehr schnell ausgeführt werden kann, weil auf einfache Operationen zurückgegriffen kann. Dies ergibt sich als Folge davon, dass das dreistufig quantisierte Signal Q die Werte +1 (z.B. logisch 1), 0 (unbestimmter logischer Zustand), und -1 (z.B. logisch 0) verwendet. Die Prüfknotennachricht wird als Produkt mehrerer solcher dreistufig quantisierter Werte ermittelt. Befindet sich in einer Multiplikation mit mehreren Faktoren ein Faktor mit dem Wert 0, so ist das Ergebnis der Multiplikation ebenfalls 0. Dies zeigt an, dass das Ergebnis der Multiplikation mit Unsicherheit behaftet ist, was schon dann passiert, wenn der Wert eines einzelnen Faktors mit Unsicher behaftet ist. Die Multiplikation mit -1 ändert lediglich das Vorzeichen.
  • Herkömmliche Dekodierer, die mit Bitknoten und Prüfknoten arbeiten, verwenden für die Prüfknotennachrichten eine feinere Quantisierung mit teilweise deutlich mehr als drei Quantisierungsstufen. Z.B. kann hierfür eine Auflösungstiefe von 32 Stufen für den positiven Wert und 32 Stufen für den negativen Wert (entspricht 6 Bit) verwendet werden. Dann muss jedoch die Prüfknotennachricht sehr aufwändig und rechenleistungsintensiv ermittelt werden. Im Gegensatz dazu wird vorliegend eine dreistufige Quantisierung verwendet, was eine rasche Erzeugung der Prüfknotennachricht ermöglicht, weil mit Operationen gearbeitet werden kann, die in digital arbeitenden (und z.B. das Binärsystem nutzenden) Systemen in sehr kurzer Zeit ausgeführt werden können.
  • Gemäß einer Ausführungsform ist der Dekodierer ein Low-Density-Parity-Check-Code, LDPC-Code.
  • Ein Low-Density-Parity-Check-Code, LDPC-Code, ist ein linearer Blockcode zur Fehlerkorrektur und beschreibt mit Hilfe einer Matrix mehrere zusammenhängende Paritätsprüfungen, die auf eine Empfangsfolge angewandt werden.
  • Bei einem LDPC-Code werden aus einer Mehrzahl von Bitknoten mehrere Untermengen von Bitknoten ausgewählt und in wechselnder Zusammensetzung zu Gruppen gruppiert. Eine solche Gruppe wird mit einem Prüfknoten verbunden. So können beispielsweise jeweils vier Bitknoten in wechselnder Zusammensetzung mit einem Prüfknoten verbunden werden. Ein Prüfknoten bestimmt dann einen Prüfwert für die Nachrichten (den logischen Zustand eines Bitknotens), die er von den mit ihm verbundenen Bitknoten erhält.
  • Beispielsweise kann der Prüfwert bestimmt werden, indem die Nachrichten einer Gruppe von Bitknoten mit einer vorgegebenen mathematischen oder logischen Operation miteinander verknüpft werden. Eine solche mathematische oder logische Operation ist herkömmlicherweise die modulo-2-Addition. Der Prüfwert wird anschließend verwendet, um eine Prüfknotennachricht für die Bitknoten zu ermitteln, wie weiter unten beschrieben.
  • Zu Beginn werden die Bitknoten mit den Werten der empfangenen Bits des Empfangswortes r(k) initialisiert. Diese können die genannten drei Werte einnehmen: -1, 0 oder +1. Jeder Prüfknoten ermittelt sodann einen Prüfwert basierend auf den Werten, die der Prüfknoten von denjenigen Bitknoten erhält, die mit dem aktuellen Prüfknoten verbunden sind.
  • Bei einem LDPC-Code geht man typischerweise dann von einer fehlerfreien Übertragung aus, wenn der Prüfwert in einem Prüfknoten den Wert 0 hat. Im Falle eines Übertragungsfehlers wird der Prüfwert in einem Prüfknoten 1: B ( 0 ) B ( 1 ) B ( 2 ) B ( 3 ) = 1.
    Figure DE102020106501A1_0005
  • Diese Gleichung besagt, dass die Bitknoten 0 bis 3 in einer Gruppe zusammengefasst sind und deren Werte verwendet werden, um den Prüfwert in einem Prüfknoten zu berechnen. Vorliegend hat der Prüfwert den Wert 1.
  • Sodann kann ausgehend von dem Prüfwert und einer Untermenge (alle Bitknoten bis auf einen) der mit dem Prüfknoten verbundenen Bitknoten ermittelt werden,
    wie der Wert des verbliebenen Bitknotens sein müsste, damit sich in dem aktuellen Prüfknoten der (im fehlerfreien Fall sich ergebende) Prüfwert 0 einstellt.
    Die folgende Gleichung drückt aus, welchen Wert der Bitknoten 0 haben muss,
    damit sich an dem Prüfknoten 0 den für den fehlerfreien Fall korrekte Prüfwert ergibt: C 0 ( 0 ) = B ( 1 ) B ( 2 ) B ( 3 ) ,
    Figure DE102020106501A1_0006
  • Ebenso drückt die nun folgende Gleichung aus, welchen Wert der Bitknoten 1 haben muss, damit sich an dem Prüfknoten 0 der für den fehlerfreien Fall korrekte Prüfwert ergibt: C 1 ( 0 ) = B ( 0 ) B ( 2 ) B ( 3 ) ,
    Figure DE102020106501A1_0007
  • Jeder Prüfknoten berechnet einen solchen Soll-Wert für jeden Bitknoten, der mit ihm verbunden ist, indem alle anderen mit dem Prüfknoten verbundenen Bitknoten dafür herangezogen werden. Jeder Bitknoten ist mit mehreren Prüfknoten verbunden und erhält von jedem Prüfknoten eine Information, wie sein Wert sein müsste, damit die Prüfwertberechnung in dem einzelnen Prüfknoten eine fehlerfreie Übertragung anzeigt. Sodann kann jeder Bitknoten mit dieser Information von allen mit ihm verbundenen Prüfknoten und dem über den Übertragungskanal erhaltenen Wert Rückschlüsse ziehen, z.B. durch einen Mehrheitsentscheid, wie sein Wert sein müsste, damit der Wert in den wenigsten Prüfknoten einen Übertragungsfehler anzeigt. Dies wird für alle Bitknoten ausgeführt, die Bitknoten erhalten in einem nächsten Schritt einen neuen Wert, und mit den neuen Werten der Bitknoten wird das Verfahren erneut durchgeführt, bis sich die Werte der Bitknoten einem konfliktfreien Empfangswort (=Empfangsfolge, Menge aller Bits an allen Bitknoten), bei dem alle Prüfknoten eine fehlerfreie Übertragung mit passenden Prüfwerten melden, nähern.
  • Gemäß einer weiteren Ausführungsform weist die Vorverarbeitungseinheit einen ersten Komparator und einen zweiten Komparator auf, wobei der erste Komparator ausgeführt ist, zu überprüfen, ob der empfangene Analogwert oberhalb eines ersten Schwellwertes ist, wobei der zweite Komparator ausgeführt ist, zu überprüfen, ob der empfangene Analogwert unterhalb eines zweiten Schwellwertes ist, und wobei die Vorverarbeitungseinheit ausgeführt ist, den ersten Wert des dreistufigen Signals auszugeben, wenn der empfangene Analogwert oberhalb des ersten Schwellwertes ist, den dritten Wert des dreistufigen Signals auszugeben, wenn der empfangene Analogwert unterhalb des zweiten Schwellwertes ist, und andernfalls den zweiten Wert des dreistufigen Signals auszugeben.
  • Dies beschreibt, wie die Initialwerte der Bitknoten basierend auf einer Empfangsfolge gesetzt werden. Ausgehend von diesen Initialwerten werden dann die anschließenden iterativen Schritte ausgeführt, um sich der fehlerfreien Empfangsfolge (das ist die Empfangsfolge, bei der die Bitknotenwerte zu keinen fehlerhaften Prüfwerten in den Prüfknoten führen) zu nähern.
  • Gemäß einer weiteren Ausführungsform ist die Vorverarbeitungseinheit ausgeführt, für eine Empfangsfolge mit mehreren Informationsbits jeweils einen Wert pro Informationsbit gemäß dem dreistufigen Signal Q zu ermitteln und jeweils einen Wert an jeden Bitknoten des Dekodierers zu übergeben.
  • Dies beschreibt, wie eine Empfangsfolge oder ein Wort von mehreren Bits auf die Bitknoten aufgeteilt wird. Ein Wort, das von der Empfangseinheit empfangen wird, besteht aus mehreren Informationsbits, deren Anzahl der Anzahl der Bitknoten im Dekodierer entspricht.
  • Gemäß einer weiteren Ausführungsform sind alle Prüfknoten mit einer gleichen Anzahl von Bitknoten in wechselnder Gruppierung der Bitknoten verbunden.
  • Beispielsweise ist jeder Prüfknoten mit vier Bitknoten verbunden. Dabei ist kein Prüfknoten mit denselben vier Bitknoten verbunden, d.h. die Prüfknoten sind mit unterschiedlich bzw. wechselnd zusammengesetzten Gruppen von Bitknoten verbunden. Dies ermöglicht es, einem Bitknoten Nachrichten von unterschiedlichen Prüfknoten in der Zusammenschau mit anderen Bitknotenwerten zukommen zu lassen, um somit die Wahrscheinlichkeit der Fehlererkennung und -korrektur zu erhöhen.
  • Gemäß einem weiteren Aspekt ist eine Datenverbindung angegeben. Die Datenverbindung weist auf: einen Kodierer, einen mit dem Kodierer verbundenen Modulator, einen mit dem Modulator verbundenen Übertragungskanal, und eine Empfangseinheit wie hierin beschrieben. Die Empfangseinheit ist mit dem Übertragungskanal verbunden, so dass Daten von dem Kodierer zu der Empfangseinheit übertragen werden können.
  • Die Datenverbindung verbindet eine Datenquelle mit einer Datensenke und ist insbesondere als binärer Auslöschungskanal ausgestaltet. Mit Hilfe der Empfangseinheit und des auf die hierin beschriebene Weise ausgestalteten Dekodierers kann die Fehlerkorrektur mit geringem Rechenaufwand und in kurzer Zeit ausgeführt werden.
  • Gemäß einer Ausführungsform ist der Modulator ausgeführt, eine binäre Phasenumtastung auszuführen und ein somit erzeugtes Signal auf den Übertragungskanal zu geben.
  • Wenn der Modulator gemäß den Prinzipien der binären Phasenumtastung arbeitet, gibt es zwei unterschiedliche Werte auf den Übertragungskanal. Es handelt sich also um einen binären Kanal. Eine Mehrzahl von nacheinander gesendeten Werten wird auf der Empfängerseite als Empfangswort ausgelesen und der oben beschriebenen Fehlerüberprüfung und Korrektur zugeführt.
  • Gemäß einem weiteren Aspekt ist ein Verfahren zur Fehlerkorrektur an einem Empfangswort einer Datenverbindung angegeben. Das Verfahren weist die folgenden Schritte auf:
    • Quantisieren eines Analogwertes in ein dreistufiges Signal Q, wobei das dreistufige Signal einen ersten Wert, einen zweiten Wert, oder einen dritten Wert einnehmen kann, wobei der erste Wert einem ersten logischen Zustand, der dritte Wert einem zweiten logischen Zustand, und der zweite Werte einem unbestimmten logischen Zustand entspricht;
    • Zuweisen einer Mehrzahl von quantisierten Analogwerten an eine Mehrzahl von Bitknoten;
    • Bestimmen von Prüfwerten in einer Mehrzahl von Prüfknoten, wobei jeder Prüfknoten mit einer vorgegebenen Gruppe von Bitknoten verbunden ist; iteratives Aktualisieren von Bitknotennachrichten an die Prüfknoten gemäß der Vorgabe:
    B ( n ) ( k ) = r ( k ) + l γ ( k ) C k ( n 1 ) ( l ) ,
    Figure DE102020106501A1_0008
    wobei:
    • B(n)(k) die n-te Iteration einer Nachricht des Bitknotens n an den mit dem Bitknoten n verbundenen Prüfknoten ist;
    • C k ( n )
      Figure DE102020106501A1_0009
      die n-te Iteration einer Nachricht des Prüfknotens n an den Bitknoten k ist; und
    • γ(k) ein Satz von Indizes der mit dem Bitknoten k verbundenen Prüfknoten ist;
    • iteratives Aktualisieren von Prüfknotennachrichten an die Bitknoten gemäß der Vorgabe: C l ( n ) ( k ) = λ β ( k ) , λ l Q ( B ( n ) ( λ ) C λ ( n 1 ) ( k ) ) ,
      Figure DE102020106501A1_0010
      wobei β(k) ein Satz von Indizes der mit dem Prüfknoten k verbundenen Bitknoten ist; und
    • wobei das dreistufige Signal Q(x) wie folgt bestimmt wird: Q ( x ) = { + 1, x > 0, 0, x = 0, 1, x < 0.
      Figure DE102020106501A1_0011
  • Die Schritte des Verfahrens entsprechen im Wesentlichen den Funktionen der Empfangseinheit und insbesondere des Dekodierers. Daher gilt für das Verfahren die detaillierte Beschreibung und Erläuterung, wie sie betreffend die Empfangseinheit wiedergegeben wurden. Auf eine Wiederholung wird an dieser Stelle verzichtet.
  • Das Verfahren kann beispielsweise als Befehlssequenz auf einem Prozessor oder Controller implementiert werden. In dem Fall ist der Prozessor bzw. Controller die Empfangseinheit oder ein Teil davon, z.B. der Dekodierer. Es ist auch denkbar, dass ein programmierbares Logikgatter (wie beispielsweise ein FPGA, field programmable gate array) so konfiguriert wird, dass es das Verfahren ausführt, was die Ausführungsgeschwindigkeit vorteilhaft erhöhen kann. Andere Prozessoren oder Controller können verwendet werden, wie z.B. ein ASIC (application specific integrated circuit)
  • Figurenliste
  • Nachfolgend wird anhand der beigefügten Zeichnungen näher auf Ausführungsbeispiele eingegangen. Die Darstellungen sind schematisch und nicht maßstabsgetreu. Gleiche Bezugszeichen beziehen sich auf gleiche oder ähnliche Elemente. Es zeigen:
    • 1 eine schematische Darstellung eines Tanner-Graphen, dessen Prinzipien der Arbeitsweise eines LDPC-Codes zu Grunde liegt.
    • 2 eine schematische Darstellung einer Datenverbindung.
    • 3 eine schematische Darstellung einer Empfangseinheit.
    • 4 eine schematische Darstellung einer Vorverarbeitungseinheit.
  • Detaillierte Beschreibung von Ausführungsbeispielen
  • 1 zeigt eine schematische Darstellung eines Tanner-Graphen, um die prinzipielle Arbeitsweise eines LDPC-Codes sowie die Arbeitsweise der hier vorgestellten Empfangseinheit samt Dekodierer zu erläutern.
  • Eine Empfangsfolge 1, in diesem Fall eine binäre Empfangsfolge, wird auf die Bitknoten 2 gegeben. Die Anzahl der Bits der Empfangsfolge, welche der Anzahl der Bitknoten entspricht, wird als Empfangswort bezeichnet. Im vorliegenden Fall weist der Tanner-Graph 20 Bitknoten (0 ... 19) auf, so dass ein Empfangswort aus 20 Bits besteht. Daneben weist der Tanner-Graph 15 Prüfknoten 3 (0 ... 14) auf.
  • Jeweils vier Bitknoten sind mit einem Prüfknoten verbunden. Beispielsweise sind die Bitknoten 0 ... 3 mit dem Prüfknoten 0 verbunden, die Bitknoten 4 ... 7 mit dem Bitknoten 1, etc. Es gibt auch andere Gruppierungen von Bitknoten als Gruppen mit aufeinanderfolgenden Bitknoten. Z.B. sind die Bitknoten 0, 4, 8, 12 mit dem Prüfknoten 5 verbunden. Jedenfalls ist jeder Bitknoten mit einer genau einmal vorhandenen Kombination von Bitknoten verbunden.
  • Um eine fehlerfreie Übertragung anzuzeigen, muss für jedes Empfangswort an den Bitknoten die Bedingung erfüllt sein, dass jeder Prüfknoten die Paritäts- bzw. Prüfbedingung erfüllt. Diese Prüfbedingung sieht vor, dass der Prüfwert den Wert 0 hat. Der Prüfwert wird herkömmlicherweise wie folgt berechnet (hier beispielhaft angegeben für den Prüfknoten 0, wobei dieselbe Operation für alle Prüfknoten durchgeführt wird): c ( 0 ) c ( 1 ) c ( 2 ) c ( 3 ) = 0,
    Figure DE102020106501A1_0012
    wobei ⊕ eine modulo-2-Addition bedeutet. Ersetzt man c(k) durch BPSKmodulierte Werte (binary phase shift keying, BPSK, binär-Phasenumtast-Werte), kann die Paritätsbedingung für den Prüfknoten 0 wie folgt ausgedrückt werden: s ( 0 ) s ( 1 ) s ( 2 ) s ( 3 ) = 1,
    Figure DE102020106501A1_0013
  • Das Dekodieren ist ein iterativer Vorgang. Zunächst werden die Werte der Bitknoten auf die Bits des empfangenen Empfangswortes gesetzt und der Prüfwert wird in den Prüfknoten berechnet, hier erneut beispielhaft für den Prüfknoten 0 gezeigt: B ( 0 ) B ( 1 ) B ( 2 ) B ( 3 ) = 1.
    Figure DE102020106501A1_0014
  • Aus den an dem Prüfknoten 0 anliegenden Bitknotenwerten kann nun rückwärts gerechnet werden und ein notwendiger Wert für einen Bitknoten bestimmt werden, indem die anderen Bitknotenwerte dieses Prüfknotens herangezogen werden. Im dem Prüfknoten 0 kann nun der notwendige Wert für den Bitknoten 0 berechnet werden, indem die Werte der anderen Bitknoten aus dieser Gruppe herangezogen werden, also die Bitknoten 1 bis 3: C 0 ( 0 ) = B ( 1 ) B ( 2 ) B ( 3 ) ,
    Figure DE102020106501A1_0015
  • Dasselbe passiert für den rückwärts berechneten Wert für die anderen drei Bitknoten 1 bis 3, beispielhaft für den Bitknoten 1 gezeigt: C 1 ( 0 ) = B ( 0 ) B ( 2 ) B ( 3 ) ,
    Figure DE102020106501A1_0016
  • Hier werden also die Werte der Bitknoten 0, 2 und 3 verwendet, um den Wert des Bitknotens 1 so zu bestimmen, dass der Prüfwert korrekt ist.
  • Wie sich aus 1 ergibt, ist der Bitknoten 0 mit den Prüfknoten 0, 5, 10 verbunden. In diesen drei Prüfknoten wird jeweils ein notwendiger Wert des Bitknotens 0 berechnet (basierend auf den jeweils übrigen Bitknoten in den jeweiligen Gruppen). Mit diesen berechneten Werten und dem ursprünglich empfangenen Bit an dem Bitknoten 0 kann dann iterativ ein Wert für den Bitknoten 0 ermittelt werden, wie er sein müsste, damit die Paritätsbedingungen an allen Prüfknoten erfüllt ist. Der Wert des Bitknotens wird dann geändert und das Verfahren wird erneut durchlaufen.
  • In herkömmlichen LDPC-Dekodierern werden für das Bestimmen der Werte der Bitknoten hoch aufgelöste Werte verwendet, beispielsweise zwischen 4 und 6 Bits. Um basierend auf den Werten der Prüfknoten auf die vermuteten Werte der Bitknoten rückwärts zu rechnen, wird auf Techniken der Wahrscheinlichkeitsrechnung zurückgegriffen.
  • Im Gegensatz dazu wird vorliegend vorgeschlagen, dass die Werte der Bits des Empfangswortes und die Werte der Prüfknoten quantisiert werden und ausschließlich einen der Werte -1, 0 und +1 annehmen.
  • In einem ersten Schritt werden die solchermaßen quantisierten Werte des Empfangswortes den Bitknoten zugewiesen und die Bitknoten mit diesen Werten initialisiert. Die anfänglichen Werte werden hier als r(k) angegeben, wobei k die Nummer des Bitknotens anzeigt. Sodann werden die Prüfwerte in den Prüfknoten berechnet und im jedem Knoten wird für jeden angeschlossenen Bitknoten rückwärts gerechnet, wie der Wert des betreffenden Bitknotens sein muss, damit die Paritätsbedingung erfüllt ist (siehe oben). Die Bitknoten erhalten eine Rückmeldung von mehreren Prüfknoten und ändern so bei Bedarf ihren Wert für den nächsten Iterationsschritt, z.B. gemäß Mehrheitsentscheid über die von den Prüfknoten erhaltenen rückwärts gerechneten Werte und unter Berücksichtigung des anfänglichen Wertes aus dem Empfangswort. Im n-ten Iterationsschritt wird der (neue) Wert eines Bitknotens (hier beispielhaft der Bitknoten 0) auf die Summe gesetzt, die dem Wert des zugehörigen Bits aus dem Empfangswort (r(0)) und den Antworten der Prüfknoten (C, hier die Antworten der Prüfknoten 0, 5 und 10 für den Bitknoten 0 aus dem vorangegangenen Iterationsschritt n-1) entspricht: B ( n ) ( 0 ) = r ( 0 ) + C 0 ( n 1 ) ( 0 ) + C 0 ( n 1 ) ( 5 ) + C 0 ( n 1 ) ( 10 ) .
    Figure DE102020106501A1_0017
  • Mit der folgenden Quantisierungsfunktion, wobei x eine beliebige Ganzzahl ist, Q ( x ) = { + 1, x > 0, 0, x = 0, 1, x < 0.
    Figure DE102020106501A1_0018
    kann dann für die Berechnung der Antwort an einem Bitknoten durch einen Prüfknoten festgehalten werden: C 0 ( n ) ( 0 ) = Q ( B ^ ( n ) ( 1 ) ) Q ( B ^ ( n ) ( 2 ) ) Q ( B ^ ( n ) ( 3 ) ) ,
    Figure DE102020106501A1_0019
  • Die Antwort von dem Prüfknoten 0 an den Bitknoten 0 für den Wert des Bitknotens 0 im Iterationsschritt n entspricht dem Produkt der quantisierten Werte der Bitknoten 1, 2 und 3, wobei gilt: B ^ ( n ) ( k ) = B ( n ) ( k ) C k ( n 1 ) ( 0 ) .
    Figure DE102020106501A1_0020
  • Dies bedeutet, dass zum Aktualisieren des Wertes eines Prüfknotens nur Bitknoten-Information verwendet werden darf, die der verwendete Bitknoten in vorangegangenen Iterationsschritten ausschließlich von anderen Prüfknoten erhalten hat. Dies wird erreicht, indem die Information, die der zu aktualisierende Prüfknoten im vorangegangenen Iterationsschritt an den zur Aktualisierung verwendeten Bitknoten gesendet hat, wieder subtrahiert wird.
  • 2 zeigt eine schematische Darstellung einer Datenverbindung 10. Die Datenverbindung enthält einen Kodierer 12, welcher Werte kodiert und auf einen Modulator 14 gibt. Der Modulator gibt eine modulierte Bitfolge auf den Übertragungskanal 16. Am Ausgang des Übertragungskanals 16 wird eine Empfangsfolge an die Empfangseinheit 100 ausgegeben.
  • Die Empfangseinheit 100 führt das oben beschriebene Verfahren aus. Die Empfangseinheit kann mit einer Datensenke (nicht gezeigt) verbunden sein und gibt die empfangenen Daten an die Datensenke weiter.
  • Die Datenverbindung 10 kann für einen beliebigen Datenübertragungslink zwischen einer Datenquelle und einer Datensenke verwendet werden. Der Übertragungskanal kann eine leitungslose oder leitungsgebundene Übertragungsstrecke enthalten.
  • Der Übertragungskanal 16 kann ein sog. Auslöschungskanal sein und bereits an seinem Ausgang drei Werte (logisch 1, logisch 0, unbestimmt) ausgeben. Diese Unterscheidung zwischen den drei Werten kann aber auch durch eine dedizierte Einheit erfolgen, welche gesondert vorhanden ist, z.B. durch die Vorverarbeitungseinheit (siehe 3).
  • 3 zeigt eine schematische Darstellung einer Empfangseinheit 100. Die Empfangseinheit 100 weist eine Vorverarbeitungseinheit 110 und einen Dekodierer 120 auf. Die Vorverarbeitungseinheit 110 kann räumlich und strukturell von dem Dekodierer getrennt sein. Beispielsweise kann die Vorverarbeitungseinheit 110 als ein funktionaler Bestandteil des Übertragungskanals 16 (siehe 2) angeordnet sein. Jedenfalls wird an den Dekodierer 120 ein Bit geliefert, welches drei Werte annehmen kann: logisch 0, logisch 1, unbestimmt. Dies ist die Funktionsvoraussetzung für den Dekodierer und es ist unerheblich, ob dieser Eingangswert auf den Dekodierer direkt aus dem Übertragungskanal oder aus einer gesonderten Funktionseinheit kommt.
  • 4 zeigt einen beispielhaften Aufbau der Vorverarbeitungseinheit 110, um die drei Ausgangswerte logisch 0, logisch 1 und unbestimmt zu erhalten.
  • Die Vorverarbeitungseinheit 110 weist zwei Komparatoren 112, 114 auf. Ein Informationsbit wird auf die beiden Komparatoren geführt. Wenn ein Spannungspegel des Informationsbits größer als ein erster Schellenwert ist, dann gibt der erste Komparator 112 einen Wert aus, so dass die Vorverarbeitungseinheit einen ersten logischen Wert ausgibt, beispielsweise eine logische 1. Ist der Spannungspegel des Informationsbits hingegen kleiner als ein zweiter Schwellenwert, dann gibt der zweite Komparator 114 einen Wert aus, so dass die Vorverarbeitungseinheit einen zweiten logischen Wert ausgibt, beispielsweise eine logische 0. Befindet sich der Wert des Spannungspegels zwischen dem ersten und zweiten Spannungspegel (jeweils einschließlich dieser Grenze), dann gibt die Vorverarbeitungseinheit 110 als Ausgangswert „unbestimmt“ aus.
  • So kann die Vorverarbeitungseinheit 110 genutzt werden, um die Bitknoten anfänglich mit den zugehörigen dreistufigen Werten des Empfangswortes zu belegen.
  • Ergänzend ist darauf hinzuweisen, dass „umfassend“ oder „aufweisend“ keine anderen Elemente oder Schritte ausschließt und „eine“ oder „ein“ keine Vielzahl ausschließt. Ferner sei darauf hingewiesen, dass Merkmale oder Schritte, die mit Verweis auf eines der obigen Ausführungsbeispiele beschrieben worden sind, auch in Kombination mit anderen Merkmalen oder Schritten anderer oben beschriebener Ausführungsbeispiele verwendet werden können. Bezugszeichen in den Ansprüchen sind nicht als Einschränkung anzusehen.
  • Bezugszeichenliste
  • 1
    Empfangsfolge
    2
    Bitknoten
    3
    Prüfknoten
    10
    Datenverbindung
    12
    Kodierer
    14
    Modulator
    16
    Übertragungskanal
    100
    Empfangseinheit
    110
    Vorverarbeitungseinheit
    112
    erster Komparator
    114
    zweiter Komparator
    120
    Dekodierer, LDPC-Dekodierer
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Nicht-Patentliteratur
    • Die Grundlagen der LDPC-Codes finden sich in Robert G. Gallager: Low-Density Parity-Check Codes. M.I.T. Press Classic Series, Cambridge MA, USA, 1963 [0003]

Claims (8)

  1. Empfangseinheit (100) für die Verwendung in einer Datenverbindung (10), aufweisend: eine Vorverarbeitungseinheit (110), welche ausgestaltet ist, einen von einem Übertragungskanal (16) empfangenen Analogwert in ein dreistufiges Signal Q zu quantisieren, wobei das dreistufige Signal einen ersten Wert, einen zweiten Wert, oder einen dritten Wert einnehmen kann, wobei der erste Wert einem ersten logischen Zustand, der dritte Wert einem zweiten logischen Zustand, und der zweite Werte einem unbestimmten logischen Zustand entspricht; einen Dekodierer (120) mit einer Mehrzahl von Bitknoten (2) und einer Mehrzahl von Prüfknoten (3), wobei jeweils eine Anzahl von Bitknoten mit einem Prüfknoten verbunden ist; wobei der Dekodierer (120) ausgeführt ist, Bitknotennachrichten iterativ zu aktualisieren gemäß der Vorgabe: B ( n ) ( k ) = r ( k ) + l γ ( k ) C k ( n 1 ) ( l ) ,
    Figure DE102020106501A1_0021
    wobei: B(n)(k) die n-te Iteration einer Nachricht des Bitknotens n an den mit dem Bitknoten n verbundenen Prüfknoten ist; C k ( n )
    Figure DE102020106501A1_0022
    die n-te Iteration einer Nachricht des Prüfknotens n an den Bitknoten k ist; und y(k) ein Satz von Indizes der mit dem Bitknoten k verbundenen Prüfknoten ist; wobei der Dekodierer (120) ausgeführt ist, Prüfknotennachrichten an die Bitknoten iterativ zu aktualisieren gemäß der Vorgabe: C l ( n ) ( k ) = λ β ( k ) , λ l Q ( B ( n ) ( λ ) C λ ( n 1 ) ( k ) )
    Figure DE102020106501A1_0023
    wobei β(k) ein Satz von Indizes der mit dem Prüfknoten k verbundenen Bitknoten ist; und wobei der Dekodierer (120) ausgeführt ist, das dreistufige Signal Q(x) wie folgt zu bestimmen: Q ( x ) = { + 1, x > 0, 0, x = 0, 1, x < 0.
    Figure DE102020106501A1_0024
  2. Empfangseinheit (100) nach Anspruch 1, wobei der Dekodierer (120) ein Low-Density-Parity-Check-Code ist.
  3. Empfangseinheit (100) nach Anspruch 1 oder 2, wobei die Vorverarbeitungseinheit (110) einen ersten Komparator (112) und einen zweiten Komparator (114) aufweist; wobei der erste Komparator (112) ausgeführt ist, zu überprüfen, ob der empfangene Analogwert oberhalb eines ersten Schwellwertes ist; wobei der zweite Komparator (114) ausgeführt ist, zu überprüfen, ob der empfangene Analogwert unterhalb eines zweiten Schwellwertes ist; wobei die Vorverarbeitungseinheit (110) ausgeführt ist, den ersten Wert des dreistufigen Signals auszugeben, wenn der empfangene Analogwert oberhalb des ersten Schwellwertes ist, den dritten Wert des dreistufigen Signals auszugeben, wenn der empfangene Analogwert unterhalb des zweiten Schwellwertes ist, und andernfalls den zweiten Wert des dreistufigen Signals auszugeben.
  4. Empfangseinheit (100) nach einem der voranstehenden Ansprüche, wobei die Vorverarbeitungseinheit (110) ausgeführt ist, für eine Empfangsfolge (1) mit mehreren Informationsbits jeweils einen Wert pro Informationsbit gemäß dem dreistufigen Signal Q zu ermitteln und jeweils einen Wert an jeden Bitknoten des Dekodierers (120) zu übergeben.
  5. Empfangseinheit (100) nach einem der voranstehenden Ansprüche, wobei alle Prüfknoten mit einer gleichen Anzahl von Bitknoten in wechselnder Gruppierung der Bitknoten verbunden sind.
  6. Datenverbindung (10), aufweisend: einen Kodierer (12); einen mit dem Kodierer (12) verbundenen Modulator (14); einen mit dem Modulator (14) verbundenen Übertragungskanal (16); eine Empfangseinheit (100) nach einem der Ansprüche 1 bis 5; wobei die Empfangseinheit (100) mit dem Übertragungskanal (16) verbunden ist, so dass Daten von dem Kodierer (12) zu der Empfangseinheit (100) übertragen werden können.
  7. Datenverbindung (10) nach Anspruch 6, wobei der Modulator (14) ausgeführt ist, eine binäre Phasenumtastung auszuführen und ein somit erzeugtes Signal auf den Übertragungskanal (16) zu geben.
  8. Verfahren zur Fehlerkorrektur an einem Empfangswort (1) einer Datenverbindung (10), aufweisend die folgenden Schritte: Quantisieren eines Analogwertes in ein dreistufiges Signal Q, wobei das dreistufige Signal einen ersten Wert, einen zweiten Wert, oder einen dritten Wert einnehmen kann, wobei der erste Wert einem ersten logischen Zustand, der dritte Wert einem zweiten logischen Zustand, und der zweite Werte einem unbestimmten logischen Zustand entspricht; Zuweisen einer Mehrzahl von quantisierten Analogwerten an eine Mehrzahl von Bitknoten; Bestimmen von Prüfwerten in einer Mehrzahl von Prüfknoten, wobei jeder Prüfknoten mit einer vorgegebenen Gruppe von Bitknoten verbunden ist; iteratives Aktualisieren von Bitknotennachrichten an die Prüfknoten gemäß der Vorgabe: B ( n ) ( k ) = r ( k ) + l γ ( k ) C k ( n 1 ) ( l ) ,
    Figure DE102020106501A1_0025
    wobei: B(n)(k) die n-te Iteration einer Nachricht des Bitknotens n an den mit dem Bitknoten n verbundenen Prüfknoten ist; C k ( n )
    Figure DE102020106501A1_0026
    die n-te Iteration einer Nachricht des Prüfknotens n an den Bitknoten k ist; und γ(k) ein Satz von Indizes der mit dem Bitknoten k verbundenen Prüfknoten ist; iteratives Aktualisieren von Prüfknotennachrichten an die Bitknoten gemäß der Voraabe: C l ( n ) ( k ) = λ β ( k ) , λ l Q ( B ( n ) ( λ ) C λ ( n 1 ) ( k ) ) ,
    Figure DE102020106501A1_0027
    wobei β(k) ein Satz von Indizes der mit dem Prüfknoten k verbundenen Bitknoten ist; und wobei das dreistufige Signal Q(x) wie folgt bestimmt wird: Q ( x ) = { + 1, x > 0, 0, x = 0, 1, x < 0.
    Figure DE102020106501A1_0028
DE102020106501.9A 2020-03-10 2020-03-10 Fehlerkorrektur für LDPC-Dekodierer Withdrawn DE102020106501A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102020106501.9A DE102020106501A1 (de) 2020-03-10 2020-03-10 Fehlerkorrektur für LDPC-Dekodierer
FR2102316A FR3108222A1 (fr) 2020-03-10 2021-03-09 Correction d'erreurs pour les décodeurs LDPC
US17/197,217 US20210288746A1 (en) 2020-03-10 2021-03-10 Error Correction for LDPC Decoders

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102020106501.9A DE102020106501A1 (de) 2020-03-10 2020-03-10 Fehlerkorrektur für LDPC-Dekodierer

Publications (1)

Publication Number Publication Date
DE102020106501A1 true DE102020106501A1 (de) 2021-09-16

Family

ID=77457245

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020106501.9A Withdrawn DE102020106501A1 (de) 2020-03-10 2020-03-10 Fehlerkorrektur für LDPC-Dekodierer

Country Status (3)

Country Link
US (1) US20210288746A1 (de)
DE (1) DE102020106501A1 (de)
FR (1) FR3108222A1 (de)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8984378B1 (en) 2010-10-21 2015-03-17 Marvell International Ltd. Systems and methods for performing multi-state bit flipping in an LDPC decoder

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4296949B2 (ja) * 2004-02-03 2009-07-15 ソニー株式会社 復号装置及び方法、並びに情報処理装置及び方法
US8458556B2 (en) * 2009-10-09 2013-06-04 Stmicroelectronics, Sa Low complexity finite precision decoders and apparatus for LDPC codes
US8458555B2 (en) * 2010-06-30 2013-06-04 Lsi Corporation Breaking trapping sets using targeted bit adjustment
US9461671B1 (en) * 2011-10-10 2016-10-04 Marvell International Ltd. Method and apparatus for power conservation in LDPC decoding
US10038456B1 (en) * 2014-03-25 2018-07-31 Marvell International Ltd. Decoders with look ahead logic
US9590657B2 (en) * 2015-02-06 2017-03-07 Alcatel-Lucent Usa Inc. Low power low-density parity-check decoding
KR102626162B1 (ko) * 2016-06-14 2024-01-18 삼성전자주식회사 연산 복잡도를 감소시킬 수 있는 디코더의 동작 방법과 이를 포함하는 데이터 저장 장치의 동작 방법
KR20200022136A (ko) * 2018-08-22 2020-03-03 에스케이하이닉스 주식회사 에러 정정 장치 및 그것을 포함하는 전자 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8984378B1 (en) 2010-10-21 2015-03-17 Marvell International Ltd. Systems and methods for performing multi-state bit flipping in an LDPC decoder

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Die Grundlagen der LDPC-Codes finden sich in Robert G. Gallager: Low-Density Parity-Check Codes. M.I.T. Press Classic Series, Cambridge MA, USA, 1963

Also Published As

Publication number Publication date
US20210288746A1 (en) 2021-09-16
FR3108222A1 (fr) 2021-09-17

Similar Documents

Publication Publication Date Title
DE69925774T2 (de) Arithmetisches Kodierung- Dekodierung- sowie Warscheinlichkeitsschätzungsverfahren
DE2838849C2 (de)
DE2652459C2 (de) Umsetzvorrichtung für Binärsignale variabler Länge
DE60219238T2 (de) Bewertung und Optimisierung von fehlerkorrigierenden Kodes unter Anwendung einer Renormalisierungsgruppentransformation
DE102013007692A1 (de) Verfahren und Vorrichtung zur Korrektur ternär gespeicherter binärer Daten
DE2340250C2 (de) Verfahren und Vorrichtung zur redundanzreduzierenden Codierung eines aus Blöcken zu je N Bits bestehenden Nachrichtenstromes
DE2916619A1 (de) System zum uebertragen binaerer daten ueber eine anzahl von kanaelen
DE102005022107B4 (de) Vorrichtung und Verfahren zum Bestimmen einer Position eines Bitfehlers in einer Bitfolge
WO2020099080A1 (de) Verfahren und vorrichtung zur umsetzung einer matrix-operation
DE2129383B2 (de) Pulscodemodulator mit knickkennlinien-amplitudenwandler
EP0003480A2 (de) Schaltungsanordnung zum Umwandeln von Binärinformationen mittels Kontrollbits
DE102020106501A1 (de) Fehlerkorrektur für LDPC-Dekodierer
DE1537188B2 (de) Anordnung zur Nullpunktsnachregelung eines Coders in Pulscodemodulationssystemen
DE4010735C2 (de)
DE2300505A1 (de) Vorrichtung zur schwellwertdecodierung
EP2823568B1 (de) Verfahren zur codierung eines datenstroms
EP0003232A1 (de) Schaltungsanordung zum Umwandeln von Binärinformationen mittels Kontrollbits
DE19728756A1 (de) Verfahren zum Auslegen eines festgewichteten neuronalen Netzwerks zur analogen Signalverarbeitung
DE2324542A1 (de) Schaltungsanordnung zur frequenzdifferenziellen phasenmodulation
DE2550801C2 (de) Schaltungsanordnung zur Umsetzung eines dezimalen Eingangscodes
DE112019003167T5 (de) Wahrscheinlichkeitsweitergabe über faktordiagramme
DE102018105847A1 (de) Datenwiederherstellung und Datenregeneration mittels Paritätscode
DE2516334B2 (de) Nicht-linearer Kodierer
DE1537556B2 (de) Analog digital stufenumsetzer
DE2334318C3 (de) Verfahren zum Umwandten eines Analogsignals in ein Digitalsignal

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R120 Application withdrawn or ip right abandoned