DE112011101995T5 - Verfahren und Vorrichtung für eine Parallelverarbeitung in einem Gigabit-LDPC-Decodierer - Google Patents

Verfahren und Vorrichtung für eine Parallelverarbeitung in einem Gigabit-LDPC-Decodierer Download PDF

Info

Publication number
DE112011101995T5
DE112011101995T5 DE112011101995T DE112011101995T DE112011101995T5 DE 112011101995 T5 DE112011101995 T5 DE 112011101995T5 DE 112011101995 T DE112011101995 T DE 112011101995T DE 112011101995 T DE112011101995 T DE 112011101995T DE 112011101995 T5 DE112011101995 T5 DE 112011101995T5
Authority
DE
Germany
Prior art keywords
row
parity check
ldpc
decoding
check matrix
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
DE112011101995T
Other languages
English (en)
Inventor
Eran Pisek
Shadi Abu-Surra
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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
Priority claimed from US12/855,442 external-priority patent/US8495450B2/en
Priority claimed from US12/876,903 external-priority patent/US8560911B2/en
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of DE112011101995T5 publication Critical patent/DE112011101995T5/de
Withdrawn legal-status Critical Current

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/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
    • 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/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • 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
    • H03M13/114Shuffled, staggered, layered or turbo decoding schedules
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/03Shaping networks in transmitter or receiver, e.g. adaptive shaping networks

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)
  • Mathematical Physics (AREA)
  • Power Engineering (AREA)
  • Error Detection And Correction (AREA)

Abstract

Ein Empfänger zur Verwendung in einem drahtlosen Kommunikationsnetzwerk, der in der Lage ist, codierte Übertragungen zu decodieren. Der Empfänger umfasst eine Empfangswegschaltung zum Empfangen und Abwärtsumwandeln eines eingehenden Hochfrequenzsignals (HF-Signals), um ein codiertes Empfangssignal zu erzeugen; und einen Low-Density-Parity-Check-Decodierer (LDPC-Decodierer), der der Empfangswegschaltung zugehörig ist, zum Decodieren des codierten Empfangssignals. Der LDPC-Decodierer umfasst des Weiteren einen Speicher zum Speichern einer Paritätsprüfungsmatrix H, die Zeilen R und Spalten C umfasst, wobei jedes Element der Paritätsprüfungsmatrix H entweder einen Verschiebungswert oder einen Wert –1 umfasst; und eine Vielzahl von Verarbeitungselementen zum Durchführen einer geschichteten LDPC-Decodierung, wobei zumindest ein Verarbeitungselement in der Lage ist, in demselben Zyklus eine erste Zeile und eine zweite Zeile der Paritätsprüfungsmatrix H zu verarbeiten.

Description

  • Technisches Gebiet
  • Die vorliegende Anwendung bezieht sich allgemein auf drahtlose Kommunikationseinrichtungen und insbesondere auf das Codieren und Decodieren von Daten, die zwischen drahtlosen Kommunikationseinrichtungen übertragen werden.
  • Hintergrund der Technik
  • In der Informationstheorie ist ein Low-Density-Parity-Check-Code (Paritätsprüfungscode mit geringer Dichte, LDPC-Code) ein Fehlerkorrekturcode zum Übertragen einer Nachricht über einen verrauschten Übertragungskanal. Bei LDPC-Codes handelt es sich um eine Klasse von linearen Blockcodes. LDPC- und sonstige Fehlerkorrekturcodes können eine perfekte Übertragung zwar nicht garantieren, die Wahrscheinlichkeit, dass Informationen verloren gehen, kann jedoch so weit, wie erwünscht ist, verringert werden. LDPC war der erste Code, der Datenübertragungsraten nahe dem theoretischen Maximum ermöglichte, das als Shannon-Grenze bezeichnet wird. LDPC-Codes können mit 0,0045 dB der Shannon-Grenze arbeiten. Bei seiner Entwicklung im Jahr 1963 konnte LDPC noch nicht implementiert werden. Turbocodes, die 1993 entdeckt wurden, wurden in den späten 1990-er Jahren zum Codierungsschema der Wahl. Turbocodes werden für Anwendungen wie zum Beispiel Weltraum-Satellitenkommunikation verwendet. LDPC erfordert eine komplexe Verarbeitung, ist jedoch mit Stand von 2007 das effizienteste Schema, das entdeckt worden ist. LDPC-Codes können zu einer großen Mindestdistanz (im Folgenden „dmin1 führen und die Decodierungskomplexität verringern.
  • Offenlegung der Erfindung
  • Lösung des Problems
  • Es wird ein Empfänger zur Verwendung in einem drahtlosen Kommunikationsnetzwerk bereitgestellt, der in der Lage ist, codierte Übertragungen zu decodieren.
  • Vorteilhafte Wirkungen der Erfindung
  • Die vorliegende Offenlegung beschreibt eine Vorrichtung und ein Verfahren zum Erhöhen der Konstruktionseffizienz für einen LDPC-Decodierer mit 1 Gbps.
  • Kurze Beschreibung der Zeichnungen
  • Für ein umfassenderes Verständnis der vorliegenden Offenlegung und ihrer Vorteile wird nun auf die folgende Beschreibung zusammen mit den beigefügten Zeichnungen Bezug genommen, in denen gleiche Bezugszeichen gleiche Teile darstellen:
  • 1 veranschaulicht ein beispielhaftes drahtloses Netzwerk 100, das ACK/NACK-Nachrichten gemäß einer beispielhaften Ausführungsform der Offenlegung überträgt;
  • 2A stellt ein Übersichtsschaubild eines Übertragungsweges bei einem orthogonalen Frequenzmehrfachzugriffsverfahren gemäß einer beispielhaften Ausführungsform der Offenlegung dar;
  • 2B stellt ein Übersichtsschaubild eines Empfangsweges bei einem orthogonalen Frequenzmehrfachzugriffsverfahren gemäß einer beispielhaften Ausführungsform der Offenlegung dar;
  • 3 veranschaulicht eine Top-Level-Architektur eines LDPC-CRISP gemäß Ausführungsformen der vorliegenden Offenlegung;
  • 4 veranschaulicht einen Tanner-Graphen, der einer Paritätsprüfungsmatrix gemäß Ausführungsformen der vorliegenden Offenlegung entspricht;
  • 5A veranschaulicht einen Code mit einer Rate 1/2 gemäß einer Ausführungsform eines herkömmlichen LDPC-Decodierers;
  • 5B veranschaulicht einen Code mit einer Rate 5/6 gemäß einer Ausführungsform eines herkömmlichen LDPC-Decodierers;
  • 6 veranschaulicht ein ausführliches Blockschaubild eines beispielhaften LDPC-Decodierers, der eine Decodierung gemäß einem Flooding-Verfahren durchführt;
  • 7 veranschaulicht ein ausführliches Blockschaubild eines beispielhaften LDPC-Decodierers, der eine geschichtete Decodierung gemäß den Prinzipien der vorliegenden Offenlegung durchführt;
  • 8 stellt eine Matrix H für einen Code mit der Rate 1/2 dar;
  • 9 stellt eine Matrix H für einen Code mit einer Rate 5/8 dar;
  • 10 stellt eine Matrix H für einen Code mit einer Rate 3/4 dar; und
  • 11 stellt eine Matrix H für einen Code mit einer Rate 13/16 dar.
  • Das beste Verfahren zur Ausführung der Erfindung
  • Es wird ein Empfänger zur Verwendung in einem drahtlosen Kommunikationsnetzwerk bereitgestellt, der in der Lage ist, codierte Übertragungen zu decodieren. Der Empfänger umfasst eine Empfangswegschaltung zum Empfangen und Abwärtsumwandeln eines eingehenden Hochfrequenzsignals (HF-Signals), um ein codiertes Empfangssignal zu erzeugen; und einen Low-Density-Parity-Check-Decodierer (LDPC-Decodierer), der der Empfangswegschaltung zugehörig ist, zum Decodieren des codierten Empfangssignals. Der LDPC-Decodierer umfasst des Weiteren einen Speicher zum Speichern einer Paritätsprüfungsmatrix H, die Zeilen R und Spalten C umfasst, wobei jedes Element der Paritätsprüfungsmatrix H entweder einen Verschiebungswert oder einen Wert –1 umfasst; und eine Vielzahl von Verarbeitungselementen zum Durchführen einer geschichteten LDPC-Decodierung, wobei zumindest ein Verarbeitungselement in der Lage ist, in demselben Zyklus eine erste Zeile und eine zweite Zeile der Paritätsprüfungsmatrix H zu verarbeiten.
  • Es wird ein Verfahren zum Decodieren von Übertragungen in einem drahtlosen Kommunikationsnetzwerk bereitgestellt. Das Verfahren umfasst die Schritte eines Empfangens und eines Abwärtsumwandelns eines eingehenden Hochfrequenzsignals (HF-Signals) in einer Empfangseinrichtung, um ein codiertes Empfangssignal zu erzeugen; und eines Decodierens des codierten Empfangssignals in einem Low-Density-Parity-Check-Decodierer (LDPC-Decodierer). Der LDPC-Decodierer umfasst einen Speicher zum Speichern einer Paritätsprüfungsmatrix H, die Zeilen R und Spalten C umfasst, wobei jedes Element der Paritätsprüfungsmatrix H entweder einen Verschiebungswert oder einen Wert –1 umfasst. Das Verfahren umfasst des Weiteren ein Verarbeiten einer ersten Zeile und einer zweiten Zeile der Paritätsprüfungsmatrix H in demselben Zyklus in einem Verarbeitungselement des Decodierers, das in der Lage ist, eine geschichtete LDPC-Decodierung durchzuführen.
  • Bevor im Folgenden die genaue Beschreibung der Erfindung erfolgt, ist es möglicherweise von Vorteil, Definitionen bestimmter Wörter und Ausdrücke darzulegen, die in dieser gesamten Patentveröffentlichung verwendet werden: Die Begriffe „enthalten” und „umfassen” wie auch Ableitungen davon bedeuten eine Einschließung ohne Einschränkung; der Begriff „oder” ist einschließend und bedeutet „und/oder”; die Ausdrücke „zugehörig” und „damit verbunden” wie auch Ableitungen davon können „beinhalten” „eingeschlossen sein in”, „untereinander verbunden”, „enthalten”, „enthalten sein in”, „verbunden sein mit”, „angeschlossen sein an”, „kommunizierend verbunden mit”, „zusammenarbeiten mit”, „verzahnen”, „nebeneinander stellen”, „in unmittelbarer Nachbarschaft gelegen”, „gebunden sein an”, „aufweisen”, „eine Eigenschaft aufweisen von” oder dergleichen bedeuten; und der Begriff „Steuereinheit” bedeutet jegliche Einrichtung, jegliches System oder jeglichen Teil davon, die, das bzw. der zumindest einen Vorgang steuert, wobei eine solche Einrichtung in Hardware, Firmware oder Software oder in einer Kombination von zumindest zwei dieser umgesetzt werden kann. Es ist zu beachten, dass die Funktionalität, die einer bestimmten Steuereinheit zugehörig ist, zentral oder verteilt, gleichgültig, ob lokal oder entfernt, sein kann. Definitionen für bestimmte Wörter und Ausdrücke werden in dieser gesamten Patentveröffentlichung bereitgestellt, und Kennern der Technik sollte ersichtlich sein, dass solche Definitionen in vielen, wenn nicht in den meisten Fällen, für vorherige wie auch künftige Verwendungen solcher definierter Wörter und Ausdrücke gelten.
  • Verfahren für die Erfindung
  • Die im Folgenden erörterten 1 bis 11 und die verschiedenen Ausführungen, die dazu verwendet werden, die Prinzipien der vorliegenden Offenlegung in dieser Patentveröffentlichung zu beschreiben, dienen lediglich der Veranschaulichung und sind nicht so zu verstehen, dass sie die Offenlegung in jeglicher Hinsicht einschränken. Kennern der Technik ist ersichtlich, dass die Prinzipien der vorliegenden Offenlegung in einem beliebigen, in geeigneter Weise angeordneten, drahtlosen oder drahtgebundenen Kommunikationssystem umgesetzt werden können.
  • Die vorliegende Offenlegung beschreibt eine Vorrichtung und ein Verfahren zum Erhöhen der Konstruktionseffizienz für einen LDPC-Decodierer mit > 1 Gbps. Die vorgeschlagene Architektur unterstützt LDPC-Codes der Matrix H für Z = 42, wie in der US-Patentanmeldung mit dem Aktenzeichen 12/876.903 vorgeschlagen, die zuvor oben durch Bezugnahme eingeschlossen worden ist. Die vorgeschlagene Architektur unterstützt außerdem LDPC-Codes der Matrix H für Z = 24, wie in der US-Patentanmeldung mit dem Aktenzeichen 12/855.442 vorgeschlagen, die zuvor oben durch Bezugnahme eingeschlossen worden ist.
  • Im Wesentlichen können LDPC-Decodierungsverfahren in zwei Hauptkategorien eingeteilt werden. Eine erste Kategorie, die als Flooding- oder parallele Decodierung bezeichnet wird, ignoriert Zeilenkonflikte, um die Parallelität zu erhöhen. Eine zweite Kategorie, die als geschichtete oder serielle Decodierung bezeichnet wird, verwendet die Informationen, die zwischen Zeilenverarbeitungen angesammelt werden. Bei einer geschichteten Decodierung kann aufgrund von Konflikten die Verarbeitung von mehr Zyklen je Iteration erforderlich sein. Die geschichtete Decodierung erfordert jedoch erheblich weniger Iterationen (33% bis 50% weniger Iterationen), um sich derselben BLER-Leistung zu nähern wie die Flooding-Decodierung.
  • Lösungen nach dem Stand der Technik für Gigabit-LDPC-Decodierung haben hauptsächlich das Flooding-Decodierungsverfahren berücksichtigt, um die LDPC-Verarbeitungsparallelität zu erhöhen, um Anforderungen an den Durchsatz zu erfüllen, und haben mögliche Konflikte zwischen den Prüfknoten ignoriert. Dadurch wurde die Verarbeitungseffizienz verringert und die Anzahl der erforderlichen Iterationen erhöht, um die Ziel-FER/BER zu erreichen, was zu einem erhöhten Energieverbrauch führte.
  • 8 bis 11 stellen ein Beispiel für eine LDPC-Decodierung mit vier verschiedenen Raten dar, die durch vierverschiedene Matrizen H, wie in WiGig/802.11 ad, Spec 1.0 definiert, mit einer Blockgröße von 672 Bit unterstützt werden. Wie im Folgenden genauer erörtert wird, beschreiben 8 bis 11, wie die beiden Decodierungsverfahren (geschichtet und Flooding) die vorgegebene Rate und die Matrix H verarbeiten können und geben an, wie viele LDPC-Maschinen(-Verarbeitungselemente) und -Zyklen zum Verarbeiten der Matrix H erforderlich sind. Es wird ein Vergleich zwischen den beiden Decodierungsverfahren für die Verarbeitung der betreffenden Rate bereitgestellt.
  • Allgemein bestehen die Vorteile einer Flooding-Decodierungsarchitektur für WiGig in Folgendem: i) Hochgeschwindigkeitsverarbeitung (1 Iteration/Zyklus); und ii) kurze Latenzzeiten (Einzelblockverarbeitung). Die Nachteile einer Flooding-Decodierungsarchitektur für WiGig sind: i) höherer Energieverbrauch je Gatterzahl je Durchsatz; 2langsamere Konvergenz (33 bis 50% langsamer); iii) geringere Effizienz (d. h. im Fall der Rate 13/16 – 3 Zeilen und 4 Maschinen); und iv) längerer kritischer Pfad.
  • Allgemein bestehen die Vorteile einer geschichteten Decodierungsarchitektur für WiGig in Folgendem: i) geringere Gatterzahl je Durchsatz (3 Maschinen statt 4 Maschinen); ii) Skalierbarkeit (Synthesefähigkeit-Einzelmaschinensynthese); iii) kürzerer kritischer Pfad (reduzierte Logik, keine Notwendigkeit, vor dem Zurückschreiben Minimalwerte hinzuzufügen); und iv) ermöglicht vorzeitigen Abbruch zwischen Zeilen. Die Nachteile einer geschichteten Decodierungsarchitektur für WiGig sind: i) 1,5× maximale Latenzzeit aufgrund mehrerer Blöcke; und ii) größere Puffer zur Unterstützung mehrerer Blöcke.
  • 1 veranschaulicht ein beispielhaftes drahtloses Netzwerk 100, das LDPC-Codierungen und -Decodierung gemäß den Prinzipien der vorliegenden Offenlegung durchführt. Bei der veranschaulichten Ausführungsform umfasst das drahtlose Netzwerk 100 eine Basisstation (BS) 101, eine Basisstation (BS) 102, eine Basisstation (BS) 103 und sonstige ähnliche (nicht dargestellte) Basisstationen. Die Basisstation 101 steht mit der Basisstation 102 und der Basisstation 103 in Verbindung. Die Basisstation 101 steht außerdem mit dem Internet 130 oder einem ähnlichen (nicht dargestellten) IP-basierten Netzwerk in Verbindung.
  • Die Basisstation 102 stellt (über die Basisstation 101) einen drahtlosen Breitbandzugang zum Internet 130 für eine erste Vielzahl von Mobilstationen innerhalb eines Abdeckungsbereichs 120 der Basisstation 102 bereit. Die erste Vielzahl von Mobilstationen umfasst eine Mobilstation 111, die sich in einem kleinen Unternehmen (small business, SB) befinden kann, eine Mobilstation 112, die sich in einem Großunternehmen (enterprise, E) befinden kann, eine Mobilstation 113, die sich an einem WiFi-Hotspot (HS) befinden kann, eine Mobilstation 114, die sich in einer ersten Wohnung (residence, R) befinden kann, eine Mobilstation 115, die sich in einer zweiten Wohnung (R) befinden kann, und eine Mobilstation 116, bei der es sich um ein Mobilgerät (M) wie zum Beispiel ein Mobiltelefon, einen drahtlosen Laptop, einen drahtlosen PDA oder dergleichen handeln kann.
  • Die Basisstation 103 stellt (über die Basisstation 101) einen drahtlosen Breitbandzugang zum Internet 130 für eine zweite Vielzahl von Mobilstationen innerhalb eines Abdeckungsbereichs 125 der Basisstation 103 bereit. Die zweite Vielzahl von Mobilstationen umfasst die Mobilstation 115 und die Mobilstation 116. Bei einer beispielhaften Ausführungsform können die Basisstationen 101 bis 103 miteinander und mit den Mobilstationen 111 bis 116 mithilfe von OFDM- oder OFDMA-Techniken kommunizieren.
  • Die Basisstation 101 kann entweder mit einer größeren Anzahl oder mit einer kleineren Anzahl von Basisstationen in Verbindung stehen. Wenngleich in 1 nur sechs Mobilstation dargestellt werden, versteht es sich darüber hinaus, dass das drahtlose Netzwerk 100 einen drahtlosen Breitbandzugang für zusätzliche Mobilstationen bereitstellen kann. Es wird darauf hingewiesen, dass sich die Mobilstation 115 und die Mobilstation 116 an den Rändern sowohl des Abdeckungsbereichs 120 als auch des Abdeckungsbereichs 125 befinden. Die Mobilstation 115 und die Mobilstation 116 kommunizieren jeweils sowohl mit der Basisstation 102 als auch mit der Basisstation 103, und ihre Betriebsart kann als Verbindungsübergabe bezeichnet werden, die Kennern der Technik bekannt ist.
  • Die Mobilstationen 111 bis 116 können über das Internet 130 auf Sprach-, Daten-, Video-, Videokonferenz- und/oder sonstige Breitbanddienste zugreifen. Bei einer beispielhaften Ausführungsform können eine oder mehrere der Mobilstationen 111 bis 116 einem Zugangspunkt (access point, AP) eines WiFi-WLAN zugehörig sein. Bei der Mobilstation 116 kann es sich um beliebige einer Anzahl von Mobilgeräten handeln, darunter um ein(en) WLAN-fähige(n/s) Laptop-Computer, persönlichen Datenassistenten, Notebook, Handgerät oder eine sonstige WLAN-fähige Einrichtung. Bei den Mobilstationen 114 und 115 kann es sich zum Beispiel um ein(en) WLAN-fähige(n/s) Personal-Computer (PC), Laptop-Computer, Gateway oder eine sonstige Einrichtung handeln.
  • 2A ist ein Übersichtsschaubild eines Übertragungsweges bei einem orthogonalen Frequenzmehrfachzugriffsverfahren (orthogonal frequency division multiple access, OFDMA). 2B ist ein Übersichtsschaubild eines Empfangsweges bei einem orthogonalen Frequenzmehrfachzugriffsverfahren (OFDMA). In den 2A und 2B ist, lediglich zum Zweck der Veranschaulichung und Erläuterung, der OFDMA-Übertragungsweg in der Basisstation (BS) 102 umgesetzt und der OFDMA-Empfangsweg in der Mobilstation (MS) 116 umgesetzt. Es versteht sich jedoch für einen Kenner der Technik, dass der OFDMA-Empfangsweg auch in der BS 102 umgesetzt werden kann und der OFDMA-Übertragungsweg in der MS 116 umgesetzt werden kann.
  • Der Übertragungsweg in der BS 102 umfasst einen Kanalcodierungs- und -modulierungsblock 205, einen Seriell-zu-Parallel-Block (S-zu-P-Block) 210, einen Block für eine schnelle Fourier-Umkehrtransformation (Inverse Fast Fourier Transform, IFFT) 215 mit der Größe N, einen Parallel-zu-Seriell-Block (P-zu-S-Block) 220, einen Block 225 zum Hinzufügen eines zyklischen Präfixes und einen Aufwärtswandler (up-converter, UC) 230. Der Empfangsweg in der MS 116 umfasst einen Abwärtswandler (down-converter, DC) 255, einen Block 260 zum Entfernen des zyklischen Präfixes, einen Seriell-zu-Parallel-Block (S-zu-P-Block) 265, einen Block für eine schnelle Fourier-Transformation (Fast Fourier Transformation, FFT) 270 mit der Größe N, einen Parallel-zu-Seriell-Block (P-zu-S-Block) 275 und einen Kanaldecodierungs- und -demodulierungsblock 280.
  • Zumindest einige der Komponenten in den 2A und 2B können in Software umgesetzt werden, während andere Komponenten durch konfigurierbare Hardware oder eine Mischung aus Software und konfigurierbarer Hardware umgesetzt werden können. Insbesondere wird angemerkt, dass die in dieser Offenlegungsschrift beschriebenen FFT-Blöcke und IFFT-Blöcke als konfigurierbare Software-Algorithmen umgesetzt werden können, wobei der Wert der Größe N entsprechend der Umsetzung modifiziert werden kann.
  • In der BS 102 empfängt der Kanalcodierungs- und -modulierungsblock 205 einen Satz von Informations-Bits, wendet eine LDPC-Codierung an und moduliert (z. B. mit QPSK, QAM) die Eingabe-Bits, um eine Sequenz von Frequenzbereichsmodulations-Symbolen zu erzeugen. Der Seriell-zu-Parallel-Block 210 wandelt (d. h. demultiplext) die seriellen modulierten Symbole in parallele Daten um, um N parallele Symbolströme zu erzeugen, wobei N die IFFT/FFT-Größe ist, die in der BS 102 und der MS 116 verwendet wird. Der IFFT-Block 215 mit der Größe N führt anschließend einen IFFT-Vorgang an den N parallelen Symbolströmen durch, um Zeitbereichs-Ausgangssignale zu erzeugen. Der Parallel-zu-Seriell-Block 220 wandelt (d. h. multiplext) die parallelen Zeitbereichs-Ausgangssymbole aus dem IFFT-Block 215 mit der Größe N um, um ein serielles Zeitbereichssignal zu erzeugen. Der Block 225 zum Hinzufügen eines zyklischen Präfixes fügt dann dem Zeitbereichssignal ein zyklisches Präfix hinzu. Der Aufwärtswandler 230 moduliert schließlich die Ausgabe des Blocks 225 zum Hinzufügen eines zyklischen Präfixes in Hochfrequenz zur Übertragung über einen Funkkanal (d. h. er wandelt sie aufwärts). Das Signal kann auch vor dem Umwandeln in Hochfrequenz im Basisband gefiltert werden
  • Das übertragene HF-Signal trifft in der MS 116 ein, nachdem es den Funkkanal durchlaufen hat, und es werden Vorgänge durchgeführt, die zu denjenigen an der BS 102 umgekehrt sind. Der Abwärtswandler 255 wandelt das Empfangssignal abwärts in die Basisbandfrequenz um, und der Block 260 zum Entfernen des zyklischen Präfixes entfernt das zyklische Präfix, um das serielle Zeitbereichs-Basisbandsignal zu erzeugen. Der Seriell-zu-Parallel-Block 265 wandelt das Zeitbereichs-Basisbandsignal in parallele Zeitbereichssignale um. Der FFT-Block 270 mit der Größe N führt anschließend einen FFT-Algorithmus durch, um N parallele Frequenzbereichssignale zu erzeugen. Der Parallel-zu-Seriell-Block 275 wandelt die parallelen Frequenzbereichssignale in eine Sequenz von modulierten Datensymbolen um. Der Kanaldecodierungs- und -demodulierungsblock 280 demoduliert und decodiert dann die modulierten Symbole (d. h. er führt eine LDPC-Decodierung an ihnen durch), um den ursprünglichen Eingabedatenstrom wiederherzustellen.
  • Jede der Basisstationen 101 bis 103 kann einen Übertragungsweg umsetzen, der mit dem Übertragen auf der Abwärtsstrecke zu den Mobilstationen 111 bis 116 vergleichbar ist, und kann einen Empfangsweg umsetzen, der mit dem Empfangen auf der Aufwärtsstrecke von den Mobilstationen 111 bis 116 vergleichbar ist. In ähnlicher Weise kann jede der Mobilstationen 111 bis 126 einen Übertragungsweg entsprechend der Architektur zum Übertragen auf der Aufwärtsstrecke zu den Basisstationen 101 bis 103 umsetzen und kann einen Empfangsweg entsprechend der Architektur zum Empfangen auf der Abwärtsstrecke von den Basisstationen 101 bis 103 umsetzen.
  • Der Kanaldecodierungs- und -demodulierungsblock 280 decodiert die empfangenen Daten. Der Kanaldecodierungs- und -demodulierungsblock 280 umfasst einen Decodierer, der dazu konfiguriert ist, einen Low-Density-Parity-Check-Decodierungsvorgang durchzuführen. Bei einigen Ausführungsformen umfasst der Kanaldecodierungs- und demodulierungsblock 280 einen oder mehrere Prozessoren mit rekonfigurierbarem Befehlssatz für kontextbasierte Operationen (context-based Operation reconfigurable instruction set processors, CRISPs) wie zum Beispiel den bzw. die CRISP-Prozessor(en), der/die in einer oder mehreren aus der Anmeldung mit dem Aktenzeichen 11/123.313, eingereicht am 06. Mai 2005, mit dem Titel „Context-Based Operation Reconfigurable Instruction Set Processor And Method Of Operation”; dem Patent Nr. 7.769.912, eingereicht am 01. Juni 2005, mit dem Titel „MultiStandard SDR Architecture Using Context-Based Operation Reconfigurable Instruction Set Processors”; dem Patent Nr. 7.483.933, erteilt am 27. Januar 2009, mit dem Titel „Correlation Architecture For Use In Software-Defined Radio Systems”; der Anmeldung mit dem Aktenzeichen 11/225.479, eingereicht am 13. September 2005, mit dem Titel „Turbo Code Decoder Architecture For Use In Software-Defined Radio Systems”; und der Anmeldung mit dem Aktenzeichen 11/501.577, eingereicht am 09. August 2006, mit dem Titel „Multi-Code Correlation Architecture For Use In Software-Defined Radio Systems” beschrieben werden, die sämtlich durch Bezugnahme in die vorliegende Anmeldung eingeschlossen sind, als ob sie hierin vollständig dargelegt würden.
  • 3 veranschaulicht eine Top-Level-Architektur eines LDPC-CRISP 300 gemäß Ausführungsformen der vorliegenden Offenlegung. Die in 3 dargestellte Ausführungsform des LDPC-CRISP 300 dient lediglich der Veranschaulichung. Es könnten sonstige Ausführungsformen von Top-Level-Architekturen für den LDPC-CRISP 300 verwendet werden, ohne vom Umfang dieser Offenlegung abzuweichen. Der LDPC-CRISP 300 kann in dem Kanaldecodierungs- und -demodulierungsblock 280 in 2 umgesetzt werden.
  • Der LDPC-CRISP 300 umfasst einen Befehlsdecodierer- & Adressenerzeugerblock 305. Bei einigen Ausführungsformen kann es sich bei dem Befehlsdecodierer- & Adressenerzeugerblock 305 um einen programmierbaren endlichen Automaten handeln. Bei einigen Ausführungsformen arbeitet der Befehlsdecodierer- & Adressenerzeugerblock 305 als Steuereinheit für den LDPC-CRISP 300 und seine Komponenten. Der LDPC-CRISP 300 umfasst außerdem einen Eingabepufferblock 310, einen Leseschalterblock 315, eine Prozessoranordnung 320, einen Schreibschalterblock 325 und einen extrinsischen Pufferblock 330. Bei einigen (nicht ausdrücklich veranschaulichten) Ausführungsformen umfasst der Eingabepufferblock 310 den extrinsischen Pufferblock 330 (z. B. kann es sich bei dem Eingabepufferblock 310 und dem extrinsischen Puffer 330 um denselben Block handeln).
  • Der Befehlsdecodierer- & Adressenerzeugerblock 305 umfasst eine Vielzahl von Befehlen zum Steuern von Vorgängen des LDPC-CRISP 300. Bei einigen Ausführungsformen ist ein Abschnitt (z. B. ein Teil oder alle) der Vielzahl von Befehlen rekonfigurierbar, um den Betrieb des LDCP-CRISP 300 zu variieren. Die Vielzahl von Befehlen kann so rekonfiguriert werden, dass der LDCP-CRISP 300 eine serielle V-Decodierung oder eine serielle C-Decodierung durchführt. Zusätzlich kann die Vielzahl von Befehlen so rekonfiguriert werden, dass der LDPC-CRISP 300 eine Decodierung durch eine Flooding-Technik, eine geschichtete Technik, eine Sum-Product-Technik oder eine Min-Sum-Technik durchführt. Die Vielzahl von Befehlen kann außerdem so rekonfiguriert werden, dass eine Anzahl von Iterationen variiert wird, die so durchgeführt wird, dass der LDPC-CRISP 300 nur eine Anzahl von Iterationen durchführt oder weiterhin Iterationen durchführt, bis ein vorgegebenes Ereignis eintritt oder ein vorgegebener Zeitraum verstrichen ist.
  • Des Weiteren kann die Vielzahl von Befehlen so rekonfiguriert werden, dass der LDPC-CRISP 300 eine Decodierung für einen oder mehrere aus IEEE 802.16e (im Folgenden „WiMax”), Digital Video Broadcasting-Satellite-Second Generation (im Folgenden „DVB-S2”) und International Mobile Telecommunications-Advanced (im Folgenden „IMT-Advanced” oder „4G”) durchführt. Der LDPC-CRISP 300 kann auf jedes System angewendet werden, das einen LDPC-Decodierungsalgorithmus umfasst, darunter, jedoch nicht beschränkt auf CDMA, OFDMA, WiMax, Systeme der dritten Generation (third generation, 3G) und 4G-Systeme. Darüber hinaus kann die Vielzahl von Befehlen so rekonfiguriert werden, dass der LDPC-CRISP 300 die Anzahl von LDPC-CRISP-Decodierereinheiten zur Verwendung bei dem Decodierungsvorgang variiert. Der Befehlsdecodierer- & Adressenerzeugerblock 305 ist außerdem dazu konfiguriert, eine Matrix H zu speichern (im Folgenden im Hinblick auf 5A und 5B erörtert).
  • Der Eingabepufferblock 310 ist dazu konfiguriert, Daten (z. B. Codewörter oder Symbole) zu empfangen. Der Eingabepufferblock 310 umfasst eine Anzahl von Speicherblöcken zum Speichern der empfangenen Daten. Bei einigen Ausführungsformen kann der Eingabepufferblock 310 vierundzwanzig (24) Speicherblöcke zum Speichern der empfangenen Daten umfassen.
  • Der Leseschalter liest die Matrix H aus dem Befehlsdecodierer- & Adressenerzeugerblock 305. Der Leseschalter 315 liest außerdem die empfangenen Daten aus dem Eingabepufferblock 310. Der Leseschalter 315 verwendet die Matrix H dazu zu ermitteln, ab welcher Position die Daten aus dem Eingabepuffer 310 gelesen werden sollen. Der Leseschalter 315 ist dazu konfiguriert, einen Z-Faktor-Rechtsverschiebungsmultiplexer(MUX)-Vorgang auf die empfangenen Daten anzuwenden, die aus dem Eingabepufferblock 310 gelesen worden sind. Der Z-Faktor-Rechtsverschiebungsmultiplexer(MUX)-Vorgang beruht auf den Verschiebungsdaten, die aus der Matrix H errechnet worden sind, oder auf dem Verschiebungsvektor (im Folgenden im Hinblick auf 5A und 5B erörtert).
  • Die Prozessoranordnung 320 umfasst eine Anzahl von Prozessorelementen. Jedes Prozessorelement (PE) umfasst eine Vielzahl von Prozessoren, die dazu konfiguriert sind, eine Flooding-Technik, eine geschichtete Technik, eine Sum-Product-Technik oder eine Min-Sum-Technik durchzuführen. Beispielsweise kann die Prozessoranordnung 320 dazu konfiguriert sein, Minimalwerte mithilfe einer Min-Sum-Technik zu suchen. Des Weiteren ist die Prozessoranordnung 320 dazu konfiguriert, eine Decodierung für einen oder mehrere aus WiMax, DVB-S2 und 4G durchzuführen. Bei einigen Ausführungsformen umfasst die Prozessoranordnung 320 vier (4) Prozessorelemente, wobei jedes Prozessorelement vierundzwanzig (24) Prozessoren umfasst. Bei solchen Ausführungsformen kann der LDPC-CRISP 300 als 2/4-Einheiten-LDPC-Decoder-CRISP bezeichnet werden.
  • Der Schreibschalterblock 325 ist dazu konfiguriert, eine Min/Next-Min-Auswahl und -Summen von der Prozessoranordnung 320 zu empfangen. Der Schreibschalterblock 325 ist des Weiteren dazu konfiguriert, einen Z-Faktor-Linksverschiebungs-MUX-Vorgang auf die Min/Next-Min-Auswahl und -Summen, die von der Prozessoranordnung 320 empfangen wurden, anzuwenden, um einen Satz von extrinsischen Ausgabedaten zu erzeugen. Ferner ist der Schreibschalterblock 325 dazu konfiguriert, die extrinsischen Ausgabedaten des Schreibschalterblocks 325 in den extrinsischen Pufferblock 330 zu schreiben. Beispielsweise ist der Schreibschalterblock 325 dazu konfiguriert, die Matrix H zu verwenden, um den durch den Leseschalter 315 durchgeführten Vorgang umzukehren.
  • Der extrinsische Pufferblock 330 ist dazu konfiguriert, die extrinsischen Ausgabedaten in einer Anzahl von Speichereinheiten zu speichern. Bei einigen Ausführungsformen umfasst der extrinsische Pufferblock 330 vierundzwanzig (24) Speichereinheiten. Der extrinsische Pufferblock 330 ist außerdem so mit dem Leseschalter 315 verbunden, dass der Leseschalter 315 die extrinsischen Ausgabedaten (im Folgenden auch als „extrinsische Ausgabe” bezeichnet) lesen kann.
  • Auf diese Weise ist der LDPC-CRISP 300 in der Lage, eine Anzahl von Iterationen der empfangenen Daten durchzuführen. Der LDPC-CRISP 300 ist in der Lage, die Eingabedaten zu lesen und einen Decodierungsprozess auf die Eingabedaten anzuwenden, um extrinsische Daten auszugeben. Anschließend führt der LDPC-CRISP 300 eine oder mehrere Iterationen des Decodierungsprozesses unter Verwendung der extrinsischen Daten aus dem vorherigen Decodierungsprozess als Eingabe für den nächsten Decodierungsprozess durch. Die Eingabedaten als solche werden nur einmal verwendet, und anschließend erzeugt der LDPC-CRISP 300 die extrinsischen Daten zur Verwendung in den nachfolgenden Iterationen.
  • Der LDPC-CRISP 300 kann so konfiguriert werden, dass er Iterationen durchführt, bis ein Beendigungsereignis eintritt. Beispielsweise kann der LDPC-CRISP 300 dazu konfiguriert werden, eine vorgegebene Anzahl von Iterationen durchzuführen. Darüber hinaus kann der LDPC-CRISP 300 dazu konfiguriert werden, Iterationen durchzuführen, bis die extrinsischen Daten einen vorgegebenen Wert (z. B. einen Konvergenzpunkt) erreichen. Des Weiteren kann der LDPC-CRISP 300 so konfiguriert werden, dass er Iterationen durchführt, bis eine Ausgabe des höchstwertigen Bits (most significant bit, MSB) über mehrere aufeinanderfolgende Iterationen unverändert ist.
  • Bei LDPC-Codes handelt es sich um lineare Codes, die durch dünnbesetzte Paritätsprüfungsmatrizen (H) gekennzeichnet sein können. Die Matrix H weist eine geringe Dichte von binären 1-Bits auf. Die dünne Besetzung von H führt zu einem großen dmin und verringert die Decodierungskomplexität. Eine beispielhafte Matrix H wird durch die Gleichung 1 dargestellt: [Gleichung 1]
    Figure 00130001
  • Ein LDPC-Code ist regulär, wenn jede Zeile dasselbe Gewicht (Wr) aufweist und jede Spalte dasselbe Gewicht (Wc) aufweist. Der reguläre LDPC-Code wird mit (Wc, Wr)-regular angegeben. Anderenfalls ist der LDPC-Code irregulär. Reguläre Codes lassen sich leichter implementieren und analysieren. Ferner weisen reguläre Codes geringere Grundfehler auf. Irreguläre Codes können jedoch die Kapazität besser ausschöpfen als reguläre Codes.
  • 4 veranschaulicht einen Tanner-Graphen 400, der einer Paritätsprüfmatrix gemäß Ausführungsformen der vorliegenden Offenlegung entspricht. Die in 4 dargestellte Ausführungsform des Tanner-Graphen 400 dient lediglich der Veranschaulichung. Es könnten sonstige Ausführungsformen des Tanner-Graphen 400 verwendet werden, ohne vom Umfang dieser Offenlegung abzuweichen.
  • Bei dem Tanner-Graphen 400 handelt es sich um einen bipartiten Graphen. Bei bipartiten Graphen werden Knoten in zwei getrennte Sätze aufgeteilt, und die Kanten verbinden nur Knoten zweier unterschiedlicher Typen. Die beiden Typen von Knoten in dem Tanner-Graphen 400 werden als variable Knoten (im Folgenden „V-Knoten”) und Prüfknoten (check nodes, im Folgenden „C-Knoten”) bezeichnet.
  • V-Knoten entsprechen Bits des Codewortes oder, gleichwertig, Spalten der Paritätsprüfungsmatrix H. Es sind n V-Knoten vorhanden. V-Knoten werden auch als „Bit-Knoten” bezeichnet. C-Knoten entsprechen Paritätsprüfungsgleichungen oder, gleichwertig, Zeilen der Paritätsprüfungsmatrix H. Es sind zumindest m = n – k C-Knoten vorhanden.
  • Der Tanner-Graph 400 entspricht der Paritätsprüfungsmatrix H, die durch Gleichung 1 veranschaulicht wird. Der Tanner-Graph 400 umfasst fünf (5) C-Knoten (die Anzahl der Paritäts-Bits) und zehn (10) V-Knoten (die Anzahl der Bits in einem Codewort). Der C-Knoten fi ist mit dem V-Knoten cj verbunden, wenn es sich bei dem Element hij der Matrix H um eine binäre 1 handelt. Beispielsweise ist der C-Knoten f0 mit c0, c1, c2, c3, c5, c7 und c9 verbunden. Die Verbindung zwischen f0 und c0 entspricht h00; die Verbindung zwischen f0 und c2 entspricht h01; und so weiter. Folglich entsprechen die Verbindungen mit f0 der ersten Zeile in der Matrix H, wie in Gleichung 2 weiter veranschaulicht wird:
  • [Gleichung 2]
    • H 0 = [1 1 1 1 0 1 0 1 0 1]
  • Bei einem Grad eines Knotens handelt es sich um die Anzahl der Kanten (z. B. Verbindungen), die mit dem Knoten verbunden sind. Ein Zyklus ist in dem Tanner-Graphen 400 die Gesamtlänge eines Weges mit unterschiedlichen Kanten, der in sich selbst endet. Ein Weg von c1→f2→c2→f0→c1 ist ein Beispiel für einen kurzen Zyklus. Kurze Zyklen sollten vermieden werden, da kurze Zyklen die Decodierungsleistung beeinträchtigen. Kurze Zyklen treten in der Matrix H durch Spalten mit einer Überlappung von zwei zutage.
  • Bei einigen Ausführungsformen verwendet der LDPC-CRISP 300 einen Sum-Product-Prozess zum Decodieren der LDPC-Codes. Bei einigen solchen Ausführungsformen wird eine Decodierung mit harter Entscheidung durchgeführt. Bei anderen solchen Ausführungsformen wird eine Decodierung mit weicher Entscheidung durchgeführt. Bei zusätzlichen und alternativen Ausführungsformen verwendet der LDPC-CRISP 300 einen Min-Sum-Prozess.
  • Der LDPC-CRISP 300 ist als Universaldecodierer zur Verwendung mit mehreren Übertragungsstandards konfiguriert, darunter, jedoch nicht beschränkt auf WiMax, DVB-S2 und 4G. Der LDPC ist dazu konfiguriert, eine Anzahl von Coderaten zu verwenden, darunter, jedoch nicht beschränkt auf: die Coderate 1/2, die Coderate 5/8, die Coderate 3/4 und die Coderate 13/16.
  • 5A veranschaulicht einen Code 500 mit der Rate 1/2 gemäß einer Ausführungsform eines herkömmlichen LDPC-Decodierers. Die in 5A dargestellte Ausführungsform des Codes 500 mit der Rate 1/2 dient lediglich der Veranschaulichung. Es könnten sonstige Ausführungsformen des Codes 500 mit der Rate 1/2 verwendet werden, ohne vom Umfang dieser Offenlegung abzuweichen.
  • Bei einigen Ausführungsformen kann die Paritätsprüfungsmatrix H, die in einem Empfangsweg gespeichert ist (die z. B. in dem Kanaldecodierer und -demodulator 280 gespeichert ist) entsprechend dem Code 500 mit der Rate 1/2 konfiguriert werden. Bei dem Code 500 mit der Rate 1/2 handelt es sich um eine 576-×-288-Matrix, die eine Übertragung von fünfhundertsechsundsiebzig (576) Bits pro Rahmen (bits per frame, bpf) darstellt. Bei dem Code 500 mit der Rate 1/2 stellen die ersten zwölf (12) Spalten 505 systematische (oder Daten-)Bits dar, wohingegen die zweiten zwölf (12) Spalten 510 Paritäts-(oder Redundanz-)Bits darstellen. Jedes Bit ist ein Positions-Bit, das eine 24-×-24-Matrix darstellt. Der Z-Faktor definiert die Anzahl der Bits pro Matrix. Der Z-Faktor kann zum Beispiel vierundzwanzig (24) betragen. Insofern umfasst bei dem Code 500 mit der Rate 1/2 jeder Rahmen bei der Übertragung zweihundertachtundachtzig (288) systematische Bits und zweihundertachtundachtzig (288) Paritäts-Bits. Ein Wert –1 stellt eine Nullmatrix (0-Matrix) dar. Dementsprechend gibt ein Wert „–1” an, dass die Position in der Berechnung nicht verwendet wird. Bei den verbleibenden Werten (d. h. die nicht –1 sind) handelt es sich um Positionswerte, die eine Matrix darstellen. Beispielsweise wird die Matrix, die durch den Positionswert 94 dargestellt wird, der in h01 515 zu finden ist, durch vier (4) dividiert und abgerundet, um dreiundzwanzig (23) zu erzielen. Anschließend wird die Einheitsmatrix dreiundzwanzig Mal verschoben.
  • 5B veranschaulicht einen Code 550 mit der Rate 5/6 gemäß einer Ausführungsform eines herkömmlichen LDPC-Decodierers. Die in 5B dargestellte Ausführungsform des Codes 550 mit der Rate 5/6 dient lediglich der Veranschaulichung. Es könnten sonstige Ausführungsformen des Codes 550 mit der Rate 5/6 verwendet werden, ohne vom Umfang dieser Offenlegung abzuweichen.
  • Bei einigen Ausführungsformen kann die Paritätsprüfungsmatrix H entsprechend dem Code 550 mit der Rate 5/6 konfiguriert werden. Bei dem Code 550 mit der Rate 5/6 handelt es sich um eine 576-×-288-Matrix, die eine Übertragung von fünfhundertsechsundsiebzig (576) bpf darstellt. Bei dem Code 550 mit der Rate 5/6 stellen die ersten zwanzig (20) Spalten 555 systematische (Daten-)Bits dar, wohingegen die letzten vier (4) Spalten 560 Paritäts-(oder Redundanz-)Bits darstellen. Insofern umfasst bei der Verwendung des Codes 550 mit der Rate 5/6 jeder Rahmen bei der Übertragung vierhundertachtzig (480) systematische Bits und sechsundneunzig (96) Paritäts-Bits. Ein Wert –1 stellt eine 24-×-24-Nullmatrix (0-Matrix) dar. Dementsprechend gibt ein Wert –1 an, dass das Bit nicht verwendet wird. Bei den verbleibenden Werten (die nicht –1 sind) handelt es sich um Positionswerte, die eine Matrix darstellen. Beispielsweise wird die Matrix, die durch den Positionswert 25 dargestellt wird, der in h01 565 zu finden ist, durch vier (4) dividiert und abgerundet, um sechs (6) zu erzielen. Anschließend wird die Einheitsmatrix sechs Mal verschoben.
  • Bei einigen Ausführungsformen kann eine 4G-Matrix H zwei Vektoren umfassen. Bei solchen Ausführungsformen umfasst der erste Vektor nur die Positionswerte, wohingegen der zweite Vektor einen Verschiebungswert umfasst. Beispielsweise wird der Positionsvektor für die erste Zeile der Matrix H 500 durch Gleichung 3 veranschaulicht:
  • [Gleichung 3]
    • H0 = [1 2 8 9 12 13]
  • Jeder Wert in dem Vektor H0, der in Gleichung 3 veranschaulicht wird, stellt eine Spaltenposition ungleich null (z. B. nicht „–1” für die Zeile 0 dar.3 Darüber hinaus wird der zweite Vektor (hierin als Hs0 bezeichnet), der die Verschiebungswerte für die Matrix H 500 enthält, durch Gleichung 4 veranschaulicht: [Gleichung 4]
    Figure 00180001
  • Wenn man die Brüche auflöst, kann die Gleichung 4 als Gleichung 5 geschrieben werden:
  • [Gleichung 5]
    • Hs0 = [23 18 13 20 1 0]
  • 6 veranschaulicht ein ausführliches Blockschaubild eines beispielhaften LDPC-Decodierer-CRISP 600, der eine Decodierung gemäß einem Flooding-Verfahren durchführt. Die in 6 dargestellte Ausführungsform des LDPC-CRISP 600 für serielle V-Decodierung dient lediglich der Veranschaulichung. Es könnten sonstige Ausführungsformen des LDPC-CRISP 600 verwendet werden, ohne vom Umfang dieser Offenlegung abzuweichen. In 6 wird angenommen, dass Decodierungsvorgänge an insgesamt N = 672 Bit durchgeführt werden. Bei einer Decodierung mit einer Rate 1/2 wären folglich 336 systematische Bits und 336 Parität-Bits vorhanden. Für Z = 42 werden die 336 systematischen Bits in 8 Blöcke von jeweils 42 Daten-Bits segmentiert, und die 336 Paritäts-Bits werden in 8 Blöcke von jeweils 42 Paritäts-Bits segmentiert.
  • Der LDPC-CRISP 600 umfasst einen Eingabepuffer, der eine Vielzahl von einzelnen Speichereinheiten 605 umfasst. Bei den einzelnen Speichereinheiten 605 handelt es sich um eine Vielzahl von getrennten und unterschiedlichen Speichereinrichtungen, die jeweils in der Lage sind, Daten in unabhängigen Datenschreibvorgängen zu empfangen, die in den übrigen einzelnen Speichereinheiten 605 auftreten.4 Bei einer beispielhaften Ausführungsform umfasst der LDPC-CRISP 600 sechzehn (16) Speichereinheiten 605a bis 605p. Es versteht sich, dass die Darstellung von 16 Speichereinheiten lediglich beispielhaft ist und die Vielzahl von Speichereinheiten 605 eine beliebige Anzahl von Speichereinheiten umfassen kann. Die Speichereinheiten 605a bis 605p sind dazu konfiguriert, über den Empfangsweg empfangene Daten zu speichern. Der LDPC-CRISP 600 ist als solcher dazu konfiguriert, 16 Daten gleichzeitig zu lesen (statt nur ein Datum gleichzeitig, wenn lediglich eine Speichereinheit verwendet wird).
  • Beispielsweise kann jede Speichereinheit 605 Datenstichproben (z. B. 8 weiche Bits) aus dem Empfangsweg in 2B empfangen. In einem solchen Beispiel empfängt die Speichereinheit 605a Stichproben 0 bis 41 von systematischen Daten zu einem Zeitpunkt t0, wenn die Speichereinheit 605a Daten empfängt. In ähnlicher Weise würde die Speichereinheit 605b Datenstichproben 42 bis 83 zum Zeitpunkt t0 empfangen und so weiter. Schließlich würde die Speichereinheit 605p Datenstichproben 629 bis 671 zum Zeitpunkt t0 empfangen. Folglich empfangen die Speichereinheiten 605a bis 605p gleichzeitig (336) Stichproben von Daten (systematische oder Paritätsdaten).
  • Der LDPC-CRISP 600 umfasst außerdem einen extrinsischen/Zeilensubtrahiererblock 610. Der extrinsische/Zeilensubtrahiererblock 610 ist dazu konfiguriert, dass er zumindest einen Abschnitt extrinsischer Daten, die durch einen Schreibschalter 640 in den Speicherbänken gespeichert worden sind, entfernt. Der extrinsische/Zeilensubtrahiererblock 610 verfügt über 16 Eingabekanäle, einen für jede der Speichereinheiten 605a bis 605p, und über 16 Ausgabekanäle.
  • Der LDPC-CRISP 600 umfasst außerdem einen 1-zu-1-Leseschalter 615. Der Leseschalter 615 wählt N variable Eingaben aus den 16 Eingabe-/extrinsischen Daten je Zeile aus und richtet sie aus. N entspricht der Anzahl von Prozessorelementen (z. B. Prozessoren), die in einer Prozessoranordnung 625 arbeiten.
  • Der LDPC-CRISP 600 umfasst einen Z-Faktor-Rechtsverschiebungs-MUX-Block 620. Der Z-Faktor-Rechtsverschiebungs-MUX-Block 620 ist dazu konfiguriert, einen Z-Faktor-Rechtsverschiebungs-MUX-Vorgang auf die empfangenen Daten, die aus den Speicherbänken 605 (über die Blocke 610 und 615) gelesen worden sind, anzuwenden. Nach dem Auswählen der N Eingaben/extrinsischen Ausgaben richtet der Z-Faktor-Rechtsverschiebungs-MUX-Block 620 die N Eingaben/extrinsischen Ausgaben auf der Grundlage der Matrix H aus (d. h. der führt eine Z-Verschiebung an ihnen aus).
  • Beispielsweise wird die Z-Faktorverschiebung auf die Daten in jeder Speichereinheit 605 entsprechend der Matrix H 500 angewendet. Da jeder Positionswert einer 42-×-42-Matrix (z. B. 42 Stichproben von Daten) entspricht, werden beispielsweise alle 42 Stichproben von Daten in jeder Speichereinheit 605 auf der Grundlage des in der Matrix H zu findenden Positionswertes verarbeitet. Folglich werden sämtliche Daten in den Speichereinheiten 605a bis 605p auf der Grundlage der Matrix H verschoben.
  • Ein Minimumerkennungsblock 625 umfasst eine Anzahl von Prozessoren, die dazu konfiguriert sind, eine Flooding-Technik, eine Sum-Product-Technik oder eine Min-Sum-Technik durchzuführen. Der Minimumerkennungsblock 625 kann Strukturen und Funktionen ähnlich der Prozessoranordnung 320 in 3 umfassen. Beispielsweise kann der Minimumerkennungsblock 625 dazu konfiguriert sein, Minimalwerte mithilfe einer Min-Sum-Technik zu suchen. Des Weiteren ist der Minimumerkennungsblock 625 dazu konfiguriert, eine Decodierung für einen beliebigen oder mehrere beliebige aus WiMax, DVB-S2 und 4G durchzuführen. Jeder der Prozessoren in dem Minimumerkennungsblock 625 ist dazu konfiguriert, eine unterschiedliche Gleichung anzuwenden, wie durch die Matrix H dargestellt. Bei einigen Ausführungsformen umfasst die Prozessoranordnung 16 Prozessoren. Bei einigen zusätzlichen und alternativen Ausführungsformen umfasst der Minimumerkennungsblock 625 eine einzige Einheit mit 42 Prozessoren.
  • Jedes der Prozessorelemente in dem Minimumerkennungsblock 625 ist dazu konfiguriert, aus jeder der Speichereinheiten 605a bis 605p zu lesen, so dass alle in einer der Speichereinheiten 605a bis 605p gespeicherten Daten gleichzeitig unter Verwendung einer unterschiedlichen Gleichung verarbeitet werden.
  • Der Minimumerkennungsblock 625 ist von der Anzahl der Z-Faktor-Spalten abhängig, die pro Zyklus verarbeitet werden. Bei einigen Ausführungsformen ist der Minimumerkennungsblock 625 dazu konfiguriert, einen Minimalwert (Min-Wert) und einen nächsten Minimalwert (Next-Min-Wert) entsprechend dem kleinsten Bit-Wert bzw. dem zweitkleinsten Bit-Wert auszugeben. Der Minimumerkennungsblock 625 speichert die Min- und Next-Min-Werte in einem oder mehreren Registern. Das eine oder die mehreren Register sind in dem Minimumerkennungsblock 625 enthalten.
  • Der LDPC-CRISP 600 umfasst eine Anzahl von Auswahl- und Additionsblöcken 630. Bei einigen Ausführungsformen umfasst der LDPC-CRISP 600 einen ersten Auswahl- und Additionsblock 630a und einen zweiten Auswahl- und Additionsblock 630b. Jeder der Auswahl- und Additionsblöcke 630 ist dazu konfiguriert, einen Min/Next-Min-Auswahl- und -Additionsvorgang durchzuführen. Bei einigen Ausführungsformen ist der erste Auswahl- und Additionsblock 630a dazu konfiguriert, den Min/Next-Min-Auswahl- und -Additionsvorgang an einem ersten Prüfknoten durchzuführen, wohingegen der zweite Auswahl- und Additionsblock 630b dazu konfiguriert ist, den Min/hext-Min-Auswahl- und -Additionsvorgang an einem zweiten Prüfknoten durchzuführen.
  • Der LDPC-CRISP 600 umfasst des Weiteren eine Anzahl von Z-Faktor-Linksverschiebungs-MUX-Blöcken 635. Bei einigen Ausführungsformen umfasst der LDPC-CRISP 600 einen ersten Z-Faktor-Linksverschiebungs-MUX-Block 635a und einen zweiten Z-Faktor-Linksverschiebungs-MUX-Block 635b. Jeder der Anzahl von Z-Faktor-Linksverschiebungs-MUX-Blöcken 634a, b ist dazu konfiguriert, eine Min/Next-Min-Auswahl und Min/Next-Min-Summen zu empfangen und einen Z-Faktor-Linksverschiebungs-MUX-Vorgang an der empfangenen Min/Next-Min-Auswahl und den empfangenen Min/Next-Min-Summen durchzuführen.
  • Der LDPC-CRISP 600 ist dazu konfiguriert, einen Satz von Ausgabedaten (z. B. von extrinsischen Ausgaben) zu erzeugen. Jeder einer Anzahl von Schreibschalterblöcken 640 ist dazu konfiguriert, die Ausgabedaten der Z-Faktor-Linksverschiebungs-MUX-Blöcke 635 in zumindest eine aus einer Vielzahl von extrinsischen Speichereinheiten 645 und die Vielzahl von Speicherbänken 605 zu schreiben. Bei einigen Ausführungsformen ist ein erster Schreibschalterblock 640a dazu konfiguriert, die Ausgabedaten in die Vielzahl von extrinsischen Speichereinheiten 645 zu schreiben, wohingegen ein zweiter Schreibschalterblock 640b dazu konfiguriert ist, die Ausgabedaten in die Vielzahl von Speichereinheiten 605 zu schreiben.
  • 7 veranschaulicht ein ausführliches Blockschaubild eines beispielhaften LDPC-Decodierer-CRISP 700, der eine geschichtete Decodierung gemäß den Prinzipien der vorliegenden Offenlegung durchführt. Herkömmliche Verfahren zur geschichteten Decodierung verarbeiten jeweils eine Zeile der Matrix H. Decodierte Informationen aus einer Zeile werden beim Decodieren von nachfolgenden Zeilen verwendet. Das verbesserte Verfahren zur geschichteten Decodierung unterscheidet sich jedoch von herkömmlichen Verfahren zur geschichteten Decodierung insofern, als zwei Zeilen gleichzeitig decodiert werden können, sofern Spaltenelemente in den beiden ausgewählten Zeilen der Matrix sich gegenseitig ausschließen oder nicht überlappend sind (d. h. die Elemente aus derselben Spalte werden nicht gleichzeitig verwendet).
  • 8 kann zur Veranschaulichung dieses Konzeptes herangezogen werden. 8 stellt eine Matrix H für einen Code mit einer Rate 1/2 dar. Die erste Zeile der Matrix H und die dritte Zeile der Matrix H schließen sich gegenseitig aus oder sind nicht überlappend. Es wird daran erinnert, dass ein Eintrag –1 in der Matrix H angibt, dass der entsprechende Eintrag in der Matrix H beim Decodieren der systematischen und der Paritäts-Bits nicht verwendet wird. Bei jedem Spaltenelement in der ersten Zeile der Matrix H, das nicht –1 ist, ist das entsprechende Spaltenelement in der dritten Zeile der Matrix H –1 (nicht verwendet). In ähnlicher Weise ist bei jedem Spaltenelement in der dritten Zeile der Matrix H, das nicht –1 ist, das entsprechende Spaltenelement in der ersten Zeile der Matrix H –1 (nicht verwendet).
  • Genauer gesagt, die Werte der ersten (= 40), dritten (= 38), fünften (= 13), siebten (= 5) und neunten (= 18) Spalte der ersten Zeile entsprechen sämtlich Werten von –1 in der ersten, dritten, fünften, siebten und neunten Spalte der dritten Zeile. Außerdem entsprechen die Werte der zweiten (= 36), vierten (= 31), sechsten (= 7), achten (= 34), zehnten (= 10) und elften (= 41) Spalte der dritten Zeile sämtlich Werten von –1 in der zweiten, vierten, sechsten, achten, zehnten und elften Spalte der ersten Zeile.
  • Es ist diese Eigenschaft der ersten und der dritten Zeile, die gleichzeitig decodiert werden sollen, sich gegenseitig auszuschließen (oder nicht zu überlappen), selbst bei einem Verfahren zur geschichteten Decodierung.[Satz unverständlich, möglichweise unvollständig] In ähnlicher Weise schließen sich die zweite und die vierte Zeile der Matrix H in 8 gegenseitig aus und können gleichzeitig decodiert werden.
  • In 7 ähneln viele der Komponentenblöcke des LDPC-CRISP 700 dem LDPC-CRISP 600 in 6. Insbesondere umfasst der LDPC-CRISP 700 einen Eingabepuffer, der eine Vielzahl von einzelnen Speichereinheiten 605a bis 605p umfasst, wie bei dem LDPC-CRIPS5 600. Der LDPC-CRISP 700 umfasst darüber hinaus einen extrinsischen/Zeilensubtrahiererblock 610 wie bei dem LDPC-CRIPS6 600.
  • Der 1-zu-1-Leseschalter 615 ist in 7 jedoch durch einen 1-×-16-zu-2-×-8-Leseschalter 715 ersetzt worden. Der Leseschalter 715 empfängt die 16 Eingabekanäle von dem Subtrahiererblock 610, teilt jedoch die Ausgaben in zwei getrennte 8-Kanalausgaben auf, eine für jede der sich gegenseitig ausschließenden Zeilen, die gleichzeitig verarbeitet werden.
  • Anschließend werden die beiden getrennten Kanäle parallel verarbeitet. Der Z-Faktor-Rechtsverschiebungs-MUX-Block 720a führt eine Rechtsverschiebung an einer ersten Gruppe von acht Ausgaben (entsprechend einer sich gegenseitig ausschließenden Matrixzeile) aus dem Subtrahiererblock 715 durch. Der Z-Faktor-Rechtsverschiebungs-MUX-Block 720b führt eine Rechtsverschiebung an einer zweiten Gruppe von acht Ausgaben (entsprechend einer zweiten sich gegenseitig ausschließenden Matrixzeile) aus dem Subtrahiererblock 715 durch.
  • Ein Minimumerkennungsblock 725 umfasst eine Anzahl von Prozessoren, die dazu konfiguriert sind, einen Vorgang einer geschichteten Decodierung an einer Gruppe von 8 Ausgabekanälen aus dem MUX-Block 720a gleichzeitig mit einer weiteren Gruppe von 8 Ausgabekanälen aus dem MUX-Block 720b durchzuführen. Anders als der Minimumerkennungsblock 625 (der einen Min-Wert und einen Next-Min-Wert erzeugt) erzeugt der Minimumerkennungsblock 725 ein Paar solcher Werte, nämlich einen Min-Wert und einen Next-Min-Wert für die Ausgaben aus dem MUX-Block 720a und einen Min-Wert und einen Next-Min-Wert für die Ausgaben aus dem MUX-Block 720b. Auf der Grundlage der aktuellen verarbeiteten Zeilen der Matrix H kann der Minimumerkennungsblock 725 entweder die beiden Min-Werte (und zwei entsprechende Next-Min-Werte) der beiden Sätze von 8 Eingaben (für zwei sich gegenseitig ausschließende Zeilen) oder einen einzelnen Min-Wert (und den entsprechenden Next-Min-Wert) aller 16 Eingaben (für eine einzelne Zeile) ausgeben.
  • Die Auswahl- und Additionsblöcke 730a, 730b, 730c und 730d führen Vorgänge durch, die mit den Vorgängen vergleichbar sind, die durch die Auswahl- und Additionsblöcke 630a und 730b durchgeführt werden. Jeder der Auswahl- und Additionsblöcke 730a bis 730d verarbeitet jedoch 8 Eingabekanäle und erzeugt 8 Ausgabekanäle, wohingegen jeder der Auswahl- und Additionsblöcke 630a und 630b 16 Eingabekanäle verarbeitet und 16 Ausgabekanäle erzeugt.
  • In ähnlicher Weise führen die Z-Faktor-Rechtsverschiebungs-MUX-Blöcke 735a, 735b, 735c und 750d Vorgänge durch, die mit den Vorgängen vergleichbar sind, die durch die Z-Faktor-Linksverschiebungs-MUX-Blöcke 635a und 635b durchgeführt werden. Jeder der MUX-Blöcke 735a bis 750d verarbeitet jedoch 8 Eingabekanäle und erzeugt 8 Ausgabekanäle, wohingegen die MUX-Blöcke 635a und 635b jeweils 16 Eingabekanäle verarbeiten und 16 Ausgabekanäle erzeugen.
  • Schließlich umfasst der LDPC-CRISP 700 Schreibschalterblöcke 740a und 740b, bei denen es sich um 2-×-8-zu-1-×-16-Einrichtungen handelt, die den Vorgang des 1-×-16-zu-2-×-8-Leseschalters 715 umkehren. Der Schreibschalterblock 740a schreibt Ausgabedaten in die extrinsischen Speichereinheiten 645a bis 645p. Der Schreibschalterblock 740b schreibt die Ausgabedaten in die Speichereinheiten 605a bis 605p.
  • 8 bis 11 veranschaulichen die komparativen Vorteile der geschichteten Decodierung gemäß den Prinzipien der vorliegenden Offenlegung.
  • 8 stellt eine Matrix H für einen Code mit der Rate 1/2 dar. Bei einer beispielhaften Ausführungsform umfasst der LDPC-Decodierer-CRISP 700 16 Verarbeitungselemente, wobei jedes Verarbeitungselement 42 Daten- oder Paritäts-Bits pro Zyklus verarbeitet. Bei dem Code mit der Rate 1/2 in 8 sind 4 Paare unabhängiger (d. h. sich gegenseitig ausschließender oder nicht überlappender) Zeilen vorhanden, die unabhängig voneinander verarbeitet werden können (d. h. parallele Maschinen für ein Flooding). Bei einem Maximum von Wr = 8 Eingaben pro Zeile kann jede Maschine 2 Zeilen (8 + 8 Verarbeitungselemente) pro Zyklus verarbeiten.
  • Bei einem geschichteten Vorgang verarbeitet eine Maschine Nr. P0 die erste und die dritte Zeile in einem ersten Zyklus (T = 0). Die Maschine Nr. P0 verarbeitet die zweite und die vierte Zeile in einem zweiten Zyklus (T = 1). Die Maschine Nr. P0 verarbeitet die fünfte und die siebte Zeile in einem dritten Zyklus (T = 2). Schließlich verarbeitet die Maschine Nr. P0 die sechste und die achte Zeile in einem vierten Zyklus (T = 3).
  • Bei einem Flooding-Vorgang verarbeitet die Maschine Nr. P0 die erste und die dritte Zeile, eine Maschine Nr. P1 verarbeitet die zweite und die vierte Zeile, eine Maschine Nr. P2 verarbeitet die fünfte und die siebte Zeile, und eine Maschine Nr. P3 verarbeitet die sechste und die achte Zeile, alle in demselben Zyklus.
  • Folglich ist das Flooding vier Mal schneller als die geschichtete Decodierung, erfordert jedoch vier Mal so viele Verarbeitungselemente. Bei der Flooding-Decodierung wird jedoch Konvergenz um 33 bis 50% langsamer erreicht als bei einer geschichteten Decodierung. Infolgedessen ist die Flooding-Decodierung etwa 33% weniger effizient als die geschichtete Decodierung.
  • 9 stellt eine Matrix H für einen Code mit einer Rate 5/8 dar. Bei dem Code mit der Rate 5/8 sind 2 Paare unabhängiger Zeilen, die unabhängig voneinander verarbeitet werden können, und 2 abhängige Zeilen (d h. 4 parallele Maschine für ein Flooding) vorhanden. Bei den 2 Paaren mit einem Maximum von Wr <= 8 Eingaben pro Zeile kann jede Maschine 2 Zeilen (8 + 8 Verarbeitungselemente) pro Zyklus verarbeiten.
  • Bei einem geschichteten Vorgang verarbeitet die Maschine Nr. P0 die erste7 in einem ersten Zyklus (T = 0). Die Maschine Nr. P0 verarbeitet die zweite Zeile in einem zweiten Zyklus (T = 1). Die Maschine Nr. P0 verarbeitet die dritte und die fünfte Zeile in einem dritten Zyklus (T = 2). Schließlich verarbeitet die Maschine Nr. P0 die vierte und die sechste Zeile in einem vierten Zyklus (T = 3).
  • Bei einem Flooding-Vorgang verarbeitet die Maschine Nr. P0 die erste Zeile, die Maschine Nr. P1 verarbeitet die zweite Zeile, die Maschine Nr. P2 verarbeitet die dritte und die fünfte Zeile, und die Maschine Nr. P3 verarbeitet die vierte und die sechste Zeile, alle in demselben Zyklus. Auf diese Weise ist das Flooding vier Mal schneller als die geschichtete Decodierung, erfordert jedoch vier Mal so viele Verarbeitungselemente.
  • Wiederum ist das Flooding vier Mal schneller als die geschichtete Decodierung, erfordert jedoch vier Mal so viele Verarbeitungselemente. Bei der Flooding-Decodierung wird jedoch Konvergenz um 33 bis 50% langsamer erreicht als bei einer geschichteten Decodierung. Infolgedessen ist die Flooding-Decodierung etwa 33% weniger effizient als die geschichtete Decodierung.
  • 10 stellt eine Matrix H für einen Code mit der Rate 3/4 dar. Bei dem Code mit der Rate 3/4 sind 0 Paare unabhängiger Zeilen, die unabhängig voneinander verarbeitet werden können, und 4 abhängige Zeilen (d h. 4 parallele Maschine für ein Flooding) vorhanden.
  • Bei einem geschichteten Vorgang verarbeitet die Maschine Nr. P0 die erste8 in einem ersten Zyklus (T = 0). Die Maschine Nr. P0 verarbeitet die zweite Zeile in einem zweiten Zyklus (T = 1). Die Maschine Nr. P0 verarbeitet die dritte Zeile in einem dritten Zyklus (T = 2). Schließlich verarbeitet die Maschine Nr. P0 die vierte Zeile in einem vierten Zyklus (T = 3).
  • Bei einem Flooding-Vorgang verarbeitet die Maschine Nr. P0 die erste Zeile, die Maschine Nr. P1 verarbeitet die zweite Zeile, die Maschine Nr. P2 verarbeitet die dritte Zeile, und die Maschine Nr. P3 verarbeitet die vierte Zeile, alle in demselben Zyklus.
  • Folglich ist das Flooding vier Mal schneller als die geschichtete Decodierung, erfordert jedoch vier Mal so viele Verarbeitungselemente. Bei der Flooding-Decodierung wird jedoch Konvergenz um 33 bis 50% langsamer erreicht als bei einer geschichteten Decodierung. Infolgedessen ist die Flooding-Decodierung etwa 33% weniger effizient als die geschichtete Decodierung.
  • 11 stellt eine Matrix H für einen Code mit einer Rate 13/16 dar. Bei dem Code mit der Rate 13/16 sind 0 Paare unabhängiger Zeilen, die unabhängig voneinander verarbeitet werden können, und 3 abhängige Zeilen (d h. mindestens 4 parallele Maschinen für ein Flooding zur Unterstützung der anderen Raten oben) vorhanden.
  • Bei einem geschichteten Vorgang verarbeitet die Maschine Nr. P0 die erste9 in einem ersten Zyklus (T = 0). Die Maschine Nr. P0 verarbeitet die zweite Zeile in einem zweiten Zyklus (T = 1). Die Maschine Nr. P0 verarbeitet die dritte Zeile in einem dritten Zyklus (T = 2).
  • Bei einem Flooding-Vorgang verarbeitet die Maschine Nr. P0 die erste Zeile, die Maschine Nr. P1 verarbeitet die zweite Zeile, und die Maschine Nr. P2 verarbeitet die dritte Zeile, alle in demselben Zyklus.
  • Folglich ist das Flooding drei Mal schneller als die geschichtete Decodierung, erfordert jedoch vier Mal so viele Verarbeitungselemente. Bei der Flooding-Decodierung wird jedoch Konvergenz um 33 bis 50% langsamer erreicht als bei einer geschichteten Decodierung. Infolgedessen ist die Flooding-Decodierung etwa 50% weniger effizient als die geschichtete Decodierung.
  • Die vorliegende Offenlegung ist zwar anhand einer beispielhaften Ausführungsform beschrieben worden, verschiedene Änderungen und Modifizierungen können jedoch einem Kenner der Technik vorgeschlagen werden. Es ist beabsichtigt, dass die vorliegende Offenlegung solche Änderungen und Modifizierungen als in den Umfang der beigefügten Ansprüche fallend einschließt.
  • 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
    • IEEE 802.16e [0044]

Claims (20)

  1. Empfänger zur Verwendung in einer drahtlosen Kommunikationseinrichtung, der umfasst: eine Empfangswegschaltung zum Empfangen und Abwärtsumwandeln eines eingehenden Hochfrequenzsignals (HF-Signals), um ein codiertes Empfangssignal zu erzeugen; und einen Low-Density-Parity-Check-Decodierer (LDPC-Decodierer), der der Empfangswegschaltung zugehörig ist, zum Decodieren des codierten Empfangssignals, wobei der LDPC-Decodierer umfasst: einen Speicher zum Speichern einer Paritätsprüfungsmatrix H, die Zeilen R und Spalten C umfasst, wobei jedes Element der Paritätsprüfungsmatrix H entweder einen Verschiebungswert oder einen Wert –1 umfasst; und eine Vielzahl von Verarbeitungselementen zum Durchführen einer geschichteten LDPC-Decodierung, wobei zumindest ein Verarbeitungselement in der Lage ist, in demselben Zyklus eine erste Zeile und eine zweite Zeile der Paritätsprüfungsmatrix H zu verarbeiten.
  2. Empfänger nach Anspruch 1, wobei sich Elemente der ersten Zeile und Elemente der zweiten Zeile gegenseitig ausschließen.
  3. Empfänger nach Anspruch 1, wobei für jedes Element der ersten Zeile, das einen Verschiebungswert aufweist, ein entsprechendes Element in derselben Spalte in der zweiten Zeile einen Wert –1 aufweist.
  4. Empfänger nach Anspruch 3, wobei für jedes Element der ersten Zeile, das einen Wert –1 aufweist, ein entsprechendes Element in derselben Spalte in der zweiten Zeile einen Verschiebungswert aufweist.
  5. Empfänger nach Anspruch 1, wobei die Paritätsprüfungsmatrix H einem Code mit einer Rate 1/2 zugehörig ist.
  6. Empfänger nach Anspruch 1, wobei die Paritätsprüfungsmatrix H einem Code mit einer Rate 5/8 zugehörig ist.
  7. Decodierungsverfahren zur Verwendung in einer drahtlosen Kommunikationseinrichtung, das umfasst: Empfangen und Abwärtsumwandeln eines eingehenden Hochfrequenzsignals (HF-Signals) in einer Empfangseinrichtung, um eine codiertes Empfangssignal zu erzeugen; und Decodieren des codierten Empfangssignals in einem Low-Density-Parity-Check-Decodierer (LDPC-Decodierer), wobei der LDPC-Decodierer einen Speicher zum Speichern einer Paritätsprüfungsmatrix H umfasst, die Zeilen R und Spalten C umfasst, wobei jedes Element der Paritätsprüfungsmatrix H entweder einen Verschiebungswert oder einen Wert –1 umfasst; und Verarbeiten einer ersten Zeile und einer zweiten Zeile der Paritätsprüfungsmatrix H in demselben Zyklus in einem Verarbeitungselement des Decodierers, das in der Lage ist, eine geschichtete LDPC-Decodierung durchzuführen.
  8. Verfahren nach Anspruch 7, wobei sich Elemente der ersten Zeile und Elemente der zweiten Zeile gegenseitig ausschließen.
  9. Verfahren nach Anspruch 7, wobei für jedes Element der ersten Zeile, das einen Verschiebungswert aufweist, ein entsprechendes Element in derselben Spalte in der zweiten Zeile einen Wert –1 aufweist.
  10. Verfahren nach Anspruch 9, wobei für jedes Element der ersten Zeile, das einen Wert –1 aufweist, ein entsprechendes Element in derselben Spalte in der zweiten Zeile einen Verschiebungswert aufweist.
  11. Verfahren nach Anspruch 7, wobei die Paritätsprüfungsmatrix H einem Code mit einer Rate 1/2 zugehörig ist.
  12. Verfahren nach Anspruch 7, wobei die Paritätsprüfungsmatrix H einem Code mit einer Rate 5/8 zugehörig ist.
  13. Mobilstation zur Verwendung in einem drahtlosen Netzwerk, die in der Lage ist, mit zumindest einer Basisstation des drahtlosen Netzwerks zu kommunizieren, wobei die Mobilstation umfasst: eine Empfangswegschaltung zum Empfangen und Abwärtsumwandeln eines eingehenden Hochfrequenzsignals (HF-Signals), das durch die zumindest eine Basisstation übertragen worden ist, um ein codiertes Empfangssignal zu erzeugen; und einen Low-Density-Parity-Check-Decoder (LDPC-Decoder), der der Empfangswegschaltung zugehörig ist, zum Decodieren des codierten Empfangssignals, wobei der LDPC-Decodierer umfasst: einen Speicher zum Speichern einer Paritätsprüfungsmatrix H, die Zeilen R und Spalten C umfasst, wobei jedes Element der Paritätsprüfungsmatrix H entweder einen Verschiebungswert oder einen Wert –1 umfasst; und eine Vielzahl von Verarbeitungselementen zum Durchführen einer geschichteten LDPC-Decodierung, wobei zumindest ein Verarbeitungselement in der Lage ist, in demselben Zyklus eine erste Zeile und eine zweite Zeile der Paritätsprüfungsmatrix H zu verarbeiten.
  14. Mobilstation nach Anspruch 13, wobei sich Elemente der ersten Zeile und Elemente der zweiten Zeile gegenseitig ausschließen.
  15. Mobilstation nach Anspruch 13, wobei für jedes Element der ersten Zeile, das einen Verschiebungswert aufweist, ein entsprechendes Element in derselben Spalte in der zweiten Zeile einen Wert –1 aufweist.
  16. Mobilstation nach Anspruch 15, wobei für jedes Element der ersten Zeile, das einen Wert –1 aufweist, ein entsprechendes Element in derselben Spalte in der zweiten Zeile einen Verschiebungswert aufweist.
  17. Mobilstation nach Anspruch 13, wobei die Paritätsprüfungsmatrix H einem Code mit einer Rate 1/2 zugehörig ist.
  18. Mobilstation nach Anspruch 13, wobei die Paritätsprüfungsmatrix H einem Code mit einer Rate 5/8 zugehörig ist.
  19. Mobilstation nach Anspruch 13, wobei der Empfangsweg einen Empfangsweg eines orthogonalen Frequenzmehrfachzugriffsverfahrens (OFDMA) umfasst.
  20. Mobilstation nach Anspruch 13, wobei die Mobilstation gemäß der WiGig-Spezifikation 1.0 arbeitet.
DE112011101995T 2010-06-14 2011-06-14 Verfahren und Vorrichtung für eine Parallelverarbeitung in einem Gigabit-LDPC-Decodierer Withdrawn DE112011101995T5 (de)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US35461410P 2010-06-14 2010-06-14
US61/354,614 2010-06-14
US12/855,442 2010-08-12
US12/855,442 US8495450B2 (en) 2009-08-24 2010-08-12 System and method for structured LDPC code family with fixed code length and no puncturing
US12/876,903 US8560911B2 (en) 2009-09-14 2010-09-07 System and method for structured LDPC code family
US12/876,903 2010-09-07
US13/159,091 2011-06-13
US13/159,091 US8732565B2 (en) 2010-06-14 2011-06-13 Method and apparatus for parallel processing in a gigabit LDPC decoder
PCT/KR2011/004351 WO2011159089A2 (en) 2010-06-14 2011-06-14 Method and apparatus for parallel processing in a gigabit ldpc decoder

Publications (1)

Publication Number Publication Date
DE112011101995T5 true DE112011101995T5 (de) 2013-05-16

Family

ID=45097235

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112011101995T Withdrawn DE112011101995T5 (de) 2010-06-14 2011-06-14 Verfahren und Vorrichtung für eine Parallelverarbeitung in einem Gigabit-LDPC-Decodierer

Country Status (5)

Country Link
US (1) US8732565B2 (de)
KR (1) KR20130092426A (de)
CN (1) CN102939720B (de)
DE (1) DE112011101995T5 (de)
WO (1) WO2011159089A2 (de)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8495450B2 (en) * 2009-08-24 2013-07-23 Samsung Electronics Co., Ltd. System and method for structured LDPC code family with fixed code length and no puncturing
US8560911B2 (en) * 2009-09-14 2013-10-15 Samsung Electronics Co., Ltd. System and method for structured LDPC code family
US8971261B2 (en) 2010-06-02 2015-03-03 Samsung Electronics Co., Ltd. Method and system for transmitting channel state information in wireless communication systems
US9634693B2 (en) 2010-08-12 2017-04-25 Samsung Electronics Co., Ltd Apparatus and method for decoding LDPC codes in a communications system
US8977937B2 (en) * 2012-03-16 2015-03-10 Lsi Corporation Systems and methods for compression driven variable rate decoding in a data processing system
US9214959B2 (en) 2013-02-19 2015-12-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for skip layer data decoding
US9274889B2 (en) 2013-05-29 2016-03-01 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for data processing using global iteration result reuse
US8959414B2 (en) 2013-06-13 2015-02-17 Lsi Corporation Systems and methods for hybrid layer data decoding
US8917466B1 (en) 2013-07-17 2014-12-23 Lsi Corporation Systems and methods for governing in-flight data sets in a data processing system
US8817404B1 (en) 2013-07-18 2014-08-26 Lsi Corporation Systems and methods for data processing control
US8908307B1 (en) 2013-08-23 2014-12-09 Lsi Corporation Systems and methods for hard disk drive region based data encoding
US9196299B2 (en) 2013-08-23 2015-11-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for enhanced data encoding and decoding
US9400797B2 (en) 2013-09-17 2016-07-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for recovered data stitching
US9219503B2 (en) 2013-10-16 2015-12-22 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for multi-algorithm concatenation encoding and decoding
US9323606B2 (en) 2013-11-21 2016-04-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for FAID follower decoding
RU2014104571A (ru) 2014-02-10 2015-08-20 ЭлЭсАй Корпорейшн Системы и способы для эффективного с точки зрения площади кодирования данных
US9378765B2 (en) 2014-04-03 2016-06-28 Seagate Technology Llc Systems and methods for differential message scaling in a decoding process
US20160191079A1 (en) * 2014-12-24 2016-06-30 Avago Technologies General Ip (Singapore) Pte. Ltd. Low Dynamic Power Check Node Processor For Low Density Parity Check Decoder
US10523364B2 (en) * 2015-11-06 2019-12-31 Samsung Electronics Co., Ltd. Channel coding framework for 802.11AY and larger block-length LDPC codes for 11AY with 2-step lifting matrices and in-place property
EP3232574A1 (de) * 2016-04-14 2017-10-18 Xieon Networks S.à r.l. Decodierer für eine familie von ratenkompatiblen low-density parity check (ldpc) codes
CN108282246B (zh) * 2017-01-05 2023-09-01 华为技术有限公司 信息处理的方法、设备和通信系统
US10594339B2 (en) * 2017-02-03 2020-03-17 Huawei Technologies Co., Ltd. Method for generating parity check matrix for low density parity check coding
US10735138B2 (en) 2017-05-02 2020-08-04 Futurewei Technologies, Inc. Multi-label offset lifting method
US10848182B2 (en) 2018-09-13 2020-11-24 Apple Inc. Iterative decoding with early termination criterion that permits errors in redundancy part
EP3963723A4 (de) 2019-09-10 2022-07-20 Samsung Electronics Co., Ltd. Verfahren und vorrichtung zur decodierung von daten in einem kommunikations- oder rundfunksystem

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5583500A (en) 1993-02-10 1996-12-10 Ricoh Corporation Method and apparatus for parallel encoding and decoding of data
US6141788A (en) * 1998-03-13 2000-10-31 Lucent Technologies Inc. Method and apparatus for forward error correction in packet networks
US6854082B1 (en) 2001-11-27 2005-02-08 Lsi Logic Corporation Unequal error protection Reed-Muller code generator and decoder
JP4546246B2 (ja) * 2002-10-05 2010-09-15 デジタル ファウンテン, インコーポレイテッド 連鎖的暗号化反応の系統的記号化および復号化
US7334181B2 (en) 2003-09-04 2008-02-19 The Directv Group, Inc. Method and system for providing short block length low density parity check (LDPC) codes
US7395490B2 (en) 2004-07-21 2008-07-01 Qualcomm Incorporated LDPC decoding methods and apparatus
US8306541B2 (en) 2005-03-08 2012-11-06 Qualcomm Incorporated Data rate methods and apparatus
KR20060108959A (ko) 2005-04-13 2006-10-19 삼성전자주식회사 블록단위의 저밀도 패리티 체크 행렬 생성 방법 및 장치와그 기록매체
KR101157246B1 (ko) 2005-05-16 2012-06-15 삼성전자주식회사 저밀도 패리티 검사 부호의 패딩 및 천공 방법
US7499490B2 (en) 2005-06-24 2009-03-03 California Institute Of Technology Encoders for block-circulant LDPC codes
US7343539B2 (en) 2005-06-24 2008-03-11 The United States Of America As Represented By The United States National Aeronautics And Space Administration ARA type protograph codes
US7853862B2 (en) 2005-08-03 2010-12-14 Qualcomm Incorporated Systems and methods for a turbo low-density parity-check decoder
KR100946905B1 (ko) 2005-09-27 2010-03-09 삼성전자주식회사 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 신호 송수신 장치 및 방법
KR100943623B1 (ko) 2005-09-30 2010-02-24 삼성전자주식회사 저밀도 패러티 검사 부호의 천공기법
KR100804793B1 (ko) 2005-10-07 2008-02-20 삼성전자주식회사 저밀도 패러티 검사 복호기에서의 검사 노드 갱신 방법
US8132072B2 (en) 2006-01-06 2012-03-06 Qualcomm Incorporated System and method for providing H-ARQ rate compatible codes for high throughput applications
US7984368B2 (en) 2006-09-01 2011-07-19 Samsung Electronics Co., Ltd. Method and system for increasing decoder throughput
US8086929B2 (en) 2006-11-17 2011-12-27 Lg Electronics Inc. Method of executing LDPC coding using parity check matrix
US8161363B2 (en) 2006-12-04 2012-04-17 Samsung Electronics Co., Ltd Apparatus and method to encode/decode block low density parity check codes in a communication system
CA2674719A1 (en) 2007-01-24 2008-07-31 Qualcomm Incorporated Ldpc encoding and decoding of packets of variable sizes
US8117523B2 (en) 2007-05-23 2012-02-14 California Institute Of Technology Rate-compatible protograph LDPC code families with linear minimum distance
US7966548B2 (en) 2007-06-29 2011-06-21 Alcatel-Lucent Usa Inc. Method and system for encoding data using rate-compatible irregular LDPC codes based on edge growth and parity splitting
US20090013239A1 (en) 2007-07-02 2009-01-08 Broadcom Corporation LDPC (Low Density Parity Check) decoder employing distributed check and/or variable node architecture
US20090070659A1 (en) 2007-09-11 2009-03-12 Legend Silicon Corp. Ldpc decoder with an improved llr update method using a set of relative values free from a shifting action
KR101430490B1 (ko) 2008-02-28 2014-08-14 엘지전자 주식회사 데이터 정보와 제어 정보의 다중화 방법
US20090300461A1 (en) 2008-05-29 2009-12-03 Gadi Shor Device, method and computer program product for communication
US8209592B2 (en) 2008-06-20 2012-06-26 Samsung Electronics Co., Ltd. Method and apparatus for software-defined radio LDPC decoder
US20100067512A1 (en) 2008-09-17 2010-03-18 Samsung Electronics Co., Ltd. Uplink transmit diversity schemes with 4 antenna ports
US8145986B2 (en) * 2008-09-22 2012-03-27 Broadcom Corporation Multi-CSI (Cyclic Shifted Identity) sub-matrix based LDPC (Low Density Parity Check) codes
TWI504299B (zh) 2008-10-20 2015-10-11 Interdigital Patent Holdings 載波聚合上鏈控制資訊傳輸方法
US8340199B2 (en) 2008-10-27 2012-12-25 Samsung Electronics Co., Ltd. 8-transmit antenna reference signal design for downlink communications in a wireless system
US8422439B2 (en) 2008-12-31 2013-04-16 Motorola Mobility Llc Apparatus and method for communicating control information over a data channel in the absence of user data
US8630673B2 (en) 2009-03-03 2014-01-14 Qualcomm, Incorporated Method and system for reducing feedback information in multicarrier-based communication systems based on frequency grouping
US8495450B2 (en) 2009-08-24 2013-07-23 Samsung Electronics Co., Ltd. System and method for structured LDPC code family with fixed code length and no puncturing
US8560911B2 (en) 2009-09-14 2013-10-15 Samsung Electronics Co., Ltd. System and method for structured LDPC code family
US8681841B2 (en) * 2009-11-09 2014-03-25 Adeptence, Llc Method and apparatus for a single-carrier wireless communication system
US8767640B2 (en) * 2009-11-09 2014-07-01 Adeptence, Llc Method and apparatus for directional centralized contention based period in a wireless communication system
US8839078B2 (en) * 2010-03-05 2014-09-16 Samsung Electronics Co., Ltd. Application layer FEC framework for WiGig
US8971261B2 (en) 2010-06-02 2015-03-03 Samsung Electronics Co., Ltd. Method and system for transmitting channel state information in wireless communication systems
US9634693B2 (en) * 2010-08-12 2017-04-25 Samsung Electronics Co., Ltd Apparatus and method for decoding LDPC codes in a communications system
US8627166B2 (en) * 2011-03-16 2014-01-07 Samsung Electronics Co., Ltd. LDPC code family for millimeter-wave band communications in a wireless network

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
IEEE 802.16e

Also Published As

Publication number Publication date
WO2011159089A2 (en) 2011-12-22
CN102939720B (zh) 2016-01-06
CN102939720A (zh) 2013-02-20
WO2011159089A3 (en) 2012-04-12
KR20130092426A (ko) 2013-08-20
US20110307760A1 (en) 2011-12-15
US8732565B2 (en) 2014-05-20

Similar Documents

Publication Publication Date Title
DE112011101995T5 (de) Verfahren und Vorrichtung für eine Parallelverarbeitung in einem Gigabit-LDPC-Decodierer
US10505671B2 (en) Polar code encoding method and device
DE102009017540B4 (de) Verfahren zum Wiederherstellen verlorener und/oder beschädigter Daten
DE602004003324T2 (de) Verfahren und Vorrichtung für die Encodierung von Low Density Parity Check (LDPC) Codes langer und kurzer Blocklänge
DE60313832T2 (de) Verfahren und System für die Generierung von Low Density Parity Check (LDPC) Codes
DE102020116075B4 (de) Kommunikationssystem mit einer konfigurierbaren modulationsordnung und zugehöriges verfahren und vorrichtung
DE112006001178B4 (de) Techniken für rekonfigurierbare Decoder für ein drahtloses System
DE69905987T2 (de) Verfahren und Gerät zur Kodierung und Signalübertragung unter Verwendung eines Sub-Codes von einem Produktcodes
EP3226453B1 (de) Verfahren und vorrichtung zur übertragung von indikationsinformationen
DE202017007614U1 (de) Kommunikationsvorrichtung, Computerspeichermedium, Computerprogrammprodukt und Kommunikationssystem
DE102018113351A1 (de) Polares Codieren und Decodieren unter Verwendung von vordefinierten Informationen
DE112005002300T5 (de) Ratenkompatible gekürzte quasi-zyklische dünnbesetzte Paritätskontrolle-Codes (LDPC-CODES)
DE112008003398T5 (de) Rekursive Reduktion der Rückkopplung des Kanalzustands
DE102015104418A1 (de) Umordnen einer Strahlformungsmatrix
DE102014111284A1 (de) Verfahren zum Bestimmen einer Übertragungsrichtung für eine Kommunikation, Verfahren zum Bestimmen einer Vorcodierungsmatrix für eine Kommunikation und hierfür konfigurierte Vorrichtung
DE112006003922T5 (de) Modifikation bei einem Meggit-Decodierer für Fehlerkorrekturverfahren bei Bursts
DE102010035210B4 (de) Verfahren zur Rückgewinnung verlorener Daten und zur Korrektur korrumpierter Daten
KR20100066395A (ko) 비경쟁 기반 병렬 처리 다중모드 엘디피씨 복호 장치
DE102009035921B4 (de) Decoder für Fehlerkorrekturcodes
DE10196688B3 (de) Ein Decodierer für eine trellis-basierte Kanalcodierung
DE102013022398B3 (de) Wirksames Demapping von Konstellationen
KR102635532B1 (ko) 폴라 코딩을 이용한 신호 송수신 방법 및 장치
DE102020133739A1 (de) Extrem hohe Codierungsraten für WLAN-Systeme einer nächsten Generation
DE102012220334B3 (de) Verfahren zum Wiederherstellen verlorengegangener und/oder beschädigter Daten
DE102014012156A1 (de) Soft-Output-MIMO-Decodierer mit geringer Komplexität

Legal Events

Date Code Title Description
R005 Application deemed withdrawn due to failure to request examination