DE102020119183A1 - System und Verfahren zum Identifizieren und Dekodieren von Reed-Muller-Codes in Polarcodes - Google Patents

System und Verfahren zum Identifizieren und Dekodieren von Reed-Muller-Codes in Polarcodes Download PDF

Info

Publication number
DE102020119183A1
DE102020119183A1 DE102020119183.9A DE102020119183A DE102020119183A1 DE 102020119183 A1 DE102020119183 A1 DE 102020119183A1 DE 102020119183 A DE102020119183 A DE 102020119183A DE 102020119183 A1 DE102020119183 A1 DE 102020119183A1
Authority
DE
Germany
Prior art keywords
nodes
decoding
node
reed
sscl
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.)
Pending
Application number
DE102020119183.9A
Other languages
English (en)
Inventor
Hamid Saber
Hsien-Ping LIN
Jung Hyun Bae
Nadim Ghaddar
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
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of DE102020119183A1 publication Critical patent/DE102020119183A1/de
Pending 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/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2948Iterative decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/136Reed-Muller [RM] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3707Adaptive decoding and hybrid decoding, e.g. decoding methods or techniques providing more than one decoding algorithm for one code
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3905Maximum a posteriori probability [MAP] decoding or approximations thereof based on trellis or lattice decoding, e.g. forward-backward algorithm, log-MAP decoding, max-log-MAP decoding
    • H03M13/3927Log-Likelihood Ratio [LLR] computation by combination of forward and backward metrics into LLRs
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/45Soft decoding, i.e. using symbol reliability information
    • H03M13/458Soft decoding, i.e. using symbol reliability information by updating bit probabilities or hard decisions in an iterative fashion for convergence to a final decoding result
    • 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/6572Implementations using a tree structure, e.g. implementations in which the complexity is reduced by a tree structure from O(n) to O (log(n))

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Error Detection And Correction (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Es sind ein Verfahren und eine Vorrichtung zum Dekodieren eines Polarcodes vorgesehen. Ein vereinfachter SSCL-Dekodierungsbaum (SSCL = simplified successive cancellation list) für den Polarcode wird erzeugt. Der SSCL-Dekodierungsbaum enthält eine Vielzahl von Knoten. Ein oder mehrere Knoten aus der Vielzahl von Knoten werden als Knoten identifiziert, die Reed-Muller-Codes zur Dekodierung verwenden. Die Dekodierung der empfangenen Log-Likelihood-Ratios (LLRs) wird unter Verwendung von Reed-Muller-Codes an dem einen oder den mehreren Knoten durchgeführt. Harte Entscheidungswerte werden von dem einen oder den mehreren Knoten ausgegeben.

Description

  • FELD
  • Die vorliegende Offenbarung bezieht sich allgemein auf die Dekodierung von Polarcodes und insbesondere auf ein Verfahren und ein System zur Identifizierung und Dekodierung von Reed-Muller-Codes in Polarcodes.
  • HINTERGRUND
  • Polarcodes sind kapazitätserhaltende Codes, die vom 3rd Generation Partnership Project (3GPP) als Fehlerkorrekturcode auf Steuerkanälen der 5th Generation New Radio (5G NR) ausgewählt wurden. Polarcodes teilen den Kanal in gute Bit-Kanäle und schlechte Bit-Kanäle auf.
  • Polarcodes werden klassischerweise mit einem Decoder für sukzessives Abziehen (SCD) (SCD = successive cancellation decoder) dekodiert, der eine Rechenkomplexität in der Größenordnung von (N log N) für einen Code der Länge N aufweist, wobei N eine ganze Zahl ist. Die serielle Natur eines SCD führt jedoch auch zu einer großen Dekodier-Latenzzeit von (N log N). Die SCD-Dekodier-Latenzzeit kann unter Verwendung der mehrdimensionalen polaren Dekodierung, bei der die Multiplizitäten jedes Knotens eines Dekodierungsbaums parallel decodiert werden, auf 2N — 2 reduziert werden. Eine bessere Dekodierungsleistung kann durch Listendekodierung von Polarcodes erreicht werden. Die Listendekodierung eines Polarcodes weist jedoch eine Rechenkomplexität in der Größenordnung von O(LN log N) für eine Listengröße von L auf, die ein L-fache Steigerung gegenüber der Dekodierung durch sukzessives Abziehen eines Polarcodes darstellt.
  • Die SCL-Dekodierung (SCL = successive cancellation list, Liste-basiertes sukzessives Abziehen) von Polarcodes leidet aufgrund ihres sukzessiven Dekodierungscharakters unter einer hohen Latenzzeit. Die vereinfachte SCL-Dekodierung (Simplified SCL, SSCL) kann den Durchsatz der SCL-Dekodierung verbessern, indem bestimmte konstituierende Codes der polaren Kodierungsstruktur ausgenutzt werden. Die identifizierten konstituierenden Codes enthalten Rate-0-Codes, Rate-1-Codes, Wiederholungs (REP)-Codes und Einzelparitäts-Prüfcodes (SPC = single-parity check codes).
  • ZUSAMMENFASSUNG
  • Nach einer Ausführungsform ist ein Verfahren zum Dekodieren eines Polarcodes vorgesehen. Es wird ein SSCL-Dekodierungsbaum für den Polarcode erzeugt. Der SSCL-Dekodierungsbaum enthält eine Vielzahl von Knoten. Ein oder mehrere Knoten aus der Vielzahl von Knoten werden als Knoten identifiziert, die Reed-Muller-Codes zum Dekodieren verwenden. Die Dekodierung der empfangenen Log-Likelihood-Ratios (LLRs) wird unter Verwendung von Reed-Muller-Codes an dem einen oder mehreren Knoten durchgeführt. Harte Entscheidungswerte werden von dem einen oder den mehreren Knoten ausgegeben.
  • Nach einer Ausführungsform ist eine Nutzergerät (UE) vorgesehen, das einen Prozessor und ein nicht temporäres computerlesbares Speichermedium zur Speicherung von Anweisungen enthält. Wenn die Befehle ausgeführt werden, veranlassen sie den Prozessor, einen SSCL-Dekodierungsbaum für einen Polarcode zu erzeugen. Der SSCL-Dekodierungsbaum umfasst eine Vielzahl von Knoten. Die Anweisungen veranlassen den Prozessor auch, einen oder mehrere Knoten aus der Vielzahl von Knoten zu identifizieren, die Reed-Muller-Codes zur Dekodierung verwenden. Die Anweisungen veranlassen den Prozessor ferner, die Dekodierung der empfangenen LLRs unter Verwendung von Reed-Muller-Codes an dem einen oder den mehreren Knoten durchzuführen und harte Entscheidungswerte von dem einen oder den mehreren Knoten auszugeben.
  • Figurenliste
  • Die vorstehenden und andere Aspekte, Merkmale und Vorteile bestimmter Ausführungsformen der vorliegenden Offenbarung werden aus der folgenden detaillierten Beschreibung in Verbindung mit den beigefügten Zeichnungen deutlicher hervorgehen, in der
    • 1 ist ein Diagramm, das einen SCL-Dekodierungsbaum für einen Polarcode veranschaulicht;
    • 2 ist ein Diagramm, das einen SSCL-Dekodierungsbaum für einen Polarcode veranschaulicht;
    • 3 ist ein Diagramm, das einen SSCL-Dekodierungsbaum mit neuen speziellen Knoten (SNs) nach einer Ausführungsform veranschaulicht;
    • 4 ist ein Ablaufdiagramm, das ein Verfahren zum Dekodieren eines Polarcodes nach einer Ausführungsform veranschaulicht;
    • 5 ist ein Ablaufdiagramm, das ein Verfahren zum Dekodieren von SNs eines SSCL-Dekodierungsbaums nach einer Ausführungsform veranschaulicht; und
    • 6 ist ein Blockdiagramm einer elektronischen Vorrichtung in einer Netzwerkumgebung nach einer Ausführungsform.
  • DETAILLIERTE BESCHREIBUNG
  • Im Folgenden werden Ausführungsformen der vorliegenden Offenbarung unter Bezugnahme auf die beigefügten Zeichnungen ausführlich beschrieben. Es ist zu beachten, dass die gleichen Elemente durch die gleichen Referenznummern bezeichnet werden, obwohl sie in verschiedenen Zeichnungen gezeigt werden. In der folgenden Beschreibung werden spezifische Details wie detaillierte Konfigurationen und Komponenten lediglich angegeben, um das Gesamtverständnis der Ausführungsformen der vorliegenden Offenbarung zu unterstützen. Daher sollte es für den Fachmann offensichtlich sein, dass verschiedene Änderungen und Modifikationen an den hier beschriebenen Ausführungsformen vorgenommen werden können, ohne vom Umfang der vorliegenden Offenbarung abzuweichen. Darüber hinaus wird aus Gründen der Klarheit und Prägnanz auf Beschreibungen bekannter Funktionen und Konstruktionen verzichtet. Die nachstehend beschriebenen Begriffe sind Begriffe, die unter Berücksichtigung der Funktionen in der vorliegenden Offenbarung definiert sind und je nach Benutzer, Absichten der Benutzer oder Gepflogenheiten unterschiedlich sein können. Daher sollten die Definitionen der Begriffe auf der Grundlage der Inhalte dieser gesamten Spezifikation festgelegt werden.
  • Die vorliegende Offenbarung kann verschiedene Modifikationen und verschiedene Ausführungsformen aufweisen, von denen nachstehend unter Bezugnahme auf die beigefügten Zeichnungen Ausführungsformen ausführlich beschrieben werden. Es sollte jedoch verstanden werden, dass die vorliegende Offenbarung nicht auf die Ausführungsformen beschränkt ist, sondern alle Modifikationen, Äquivalente und Alternativen im Rahmen der vorliegenden Offenbarung umfasst.
  • Obwohl die Begriffe, die eine Ordnungszahl wie erste, zweite usw. enthalten, zur Beschreibung verschiedener Elemente verwendet werden können, werden die Strukturelemente durch die Begriffe nicht eingeschränkt. Die Begriffe werden nur verwendet, um ein Element von einem anderen Element zu unterscheiden. Ein erstes Strukturelement kann beispielsweise als zweites Strukturelement bezeichnet werden, ohne vom Anwendungsbereich der vorliegenden Offenbarung abzuweichen. In ähnlicher Weise kann das zweite Strukturelement auch als das erste Strukturelement bezeichnet werden. In der hier verwendeten Form schließt der Begriff „und/oder“ alle Kombinationen von einem oder mehreren verbundenen Elementen ein.
  • Die hier verwendeten Begriffe dienen lediglich dazu, verschiedene Ausführungsformen der vorliegenden Offenbarung zu beschreiben, sind aber nicht dazu gedacht, die vorliegende Offenbarung einzuschränken. Singularformen sollen auch Pluralformen einschließen, es sei denn, aus dem Kontext geht eindeutig etwas anderes hervor. In der vorliegenden Offenbarung ist zu verstehen, dass die Begriffe „enthalten“ oder „aufweisen“ die Existenz eines oder mehrerer Merkmale, einer oder mehrerer Zahlen, eines oder mehrerer Schritte, einer oder mehrerer Operationen, eines oder mehrerer Strukturelemente, eines oder mehrerer Teile oder einer Kombination davon anzeigen und die Existenz oder Wahrscheinlichkeit der Hinzufügung eines oder mehrerer anderer Merkmale, einer oder mehrerer Zahlen, eines oder mehrerer Schritte, einer oder mehrerer Operationen, eines oder mehrerer Strukturelemente, eines oder mehrerer Teile oder einer Kombination davon nicht ausschließen.
  • Sofern nicht anders definiert, weisen alle hier verwendeten Begriffe die gleiche Bedeutung auf, wie sie ein Fachmann auf einem Fachgebiet versteht, zu dem die vorliegende Offenbarung gehört. Begriffe, wie sie in einem allgemein gebräuchlichen Wörterbuch definiert sind, sind so auszulegen, dass sie die gleichen Bedeutungen aufweisen wie die kontextuellen Bedeutungen auf dem betreffenden Fachgebiet, und sind nicht so auszulegen, dass sie ideale oder übermäßig formale Bedeutungen aufweisen, es sei denn, sie sind in der vorliegenden Offenbarung klar definiert.
  • Die elektronische Vorrichtung nach einer Ausführungsform kann eine von verschiedenen Arten von elektronischen Vorrichtungen sein. Bei den elektronischen Vorrichtungen kann es sich zum Beispiel um eine tragbare Kommunikationsvorrichtung (z. B. ein Smartphone), einen Computer, eine tragbare Multimediavorrichtung, eine tragbare medizinische Vorrichtung, eine Kamera, eine am Körper tragbare Vorrichtung oder eine Haushaltsvorrichtung handeln. Nach einer Ausführungsform der Offenbarung ist eine elektronische Vorrichtung nicht auf die vorstehend beschriebenen Vorrichtungen beschränkt.
  • Die in der vorliegenden Offenbarung verwendeten Begriffe sollen die vorliegende Offenbarung nicht einschränken, sondern sollen verschiedene Änderungen, Äquivalente oder Ersatz für eine entsprechende Ausführungsform enthalten. In Bezug auf die Beschreibungen der beigefügten Zeichnungen können ähnliche Referenzzahlen verwendet werden, um auf ähnliche oder verwandte Elemente zu verweisen. Eine singuläre Form eines Substantivs, das einem Gegenstand entspricht, kann einen oder mehrere der Gegenstände einschließen, es sei denn, aus dem relevanten Kontext geht eindeutig etwas anderes hervor. In der hier verwendeten Form kann jeder der hier verwendeten Ausdrücke wie „A oder B“, „mindestens eines der Elemente A und B“, „mindestens eines der Elemente A oder B“, „A, B oder C“, „mindestens eines der Elemente A, B und C“ und „mindestens eines der Elemente A, B oder C“ alle möglichen Kombinationen der Gegenstände einschließen, die zusammen in einem entsprechenden der Ausdrücke aufgeführt sind. In der hier verwendeten Form können Begriffe wie „1.“, „2.“, „erster“ und „zweiter“ verwendet werden, um eine entsprechende Komponente von einer anderen Komponente zu unterscheiden, sie sind jedoch nicht dazu gedacht, die Komponenten in anderen Aspekten (z. B. Wichtigkeit oder Reihenfolge) einzuschränken. Es ist beabsichtigt, dass wenn ein Element (z. B. ein erstes Element) mit oder ohne den Begriff „wirk-,, oder „kommunikativ“, als „gekoppelt mit“, „gekoppelt an“ oder „verbunden mit“ einem anderen Element (z.B. einem zweiten Element) bezeichnet wird, dies anzeigt, dass das Element mit dem anderen Element direkt (z. B. verdrahtet), drahtlos oder über ein drittes Element gekoppelt sein kann.
  • Wie hier verwendet, kann der Begriff „Modul“ eine in Hardware, Software oder Firmware implementierte Einheit enthalten und austauschbar mit anderen Begriffen wie z. B. „Logik“, „logischer Block“, „Teil“ und „Schaltung“ verwendet werden. Ein Modul kann eine einzelne integrale Komponente oder eine minimale Einheit oder ein Teil davon sein, die bzw. der geeignet ist, eine oder mehrere Funktionen auszuführen. Nach einer Ausführungsform kann ein Modul z. B. in Form einer anwendungsspezifischen integrierten Schaltung (ASIC) implementiert sein.
  • Das vorliegende System und Verfahren ist auf die Identifizierung von konstituierenden Codes in einem SSCL-Dekodierungsbaum eines Polarcodes ausgerichtet, der zur Familie der Reed-Muller-Codes gehört. Dekodierungsschemata, die die symmetrische Struktur der Reed-Muller-Codes nutzen, können an diesen Knotenpunkten eingesetzt werden. Insbesondere wird die Reed-Muller-Dekodierung in die SSCL-Dekodierung von Polarcodes integriert oder angewendet, wodurch die Dekodierlatenz verbessert und verringert wird, ohne dass ein Verlust an Blockfehlerratenleistung in Kauf genommen werden muss.
  • Dabei können die Begriffe Knoten und Code austauschbar verwendet werden. Die Maximum-Likelihood (ML)-Dekodierung von Reed-Muller-Codes kann, wie im Folgenden näher beschrieben, effizient unter Verwendung eines Hadamard-Decoders durchgeführt werden.
  • 1 ist ein Diagramm, das einen SCL-Dekodierungsbaum für einen Polarcode veranschaulicht. Konkret veranschaulicht 1 einen SCL-Dekodierungsbaum für einen Polarcode der Länge 16. Jeder Knoten 102 des Baumes ist mit einem konstituierenden Code verbunden. LLR-Vektoren für die Codebits werden von den Eltern-Knoten zu den Kind-Knoten geliefert, während die harten Entscheidungswerte der Codebits von den Kind-Knoten zurück zu den Eltern-Knoten geliefert werden. Weiße Knoten 104 stellen eingefrorene Bits des Polarcodes der Länge 16 dar, während schwarze Knoten 106 Informationsbits des Polarcodes der Länge 16 darstellen. Schattierte Knoten stellen Knoten dar, die im Dekodierungsbaum durchlaufen werden, um die eingefrorenen Bits und die Informationsbits zu bestimmen.
  • 2 ist ein Diagramm, das einen SSCL-Dekodierungsbaum für einen Polarcode veranschaulicht. Konkret veranschaulicht 2 einen SSCL-Dekodierungsbaum für einen Polarcode der gleichen Länge 16 von 1. Jeder Knoten 202 des Baumes ist mit einem konstituierenden Code verbunden. Es werden vier Typen von SNs identifiziert: ein Rate-0-Knoten 204, der einen Rate-0-Code verwendet; ein Rate-1-Knoten 206, der einen Rate-1-Code verwendet; ein SPC-Knoten 208, der einen SCP-Code verwendet; und ein REP-Knoten 210, der einen REP-Code verwendet. Schattierte Knoten werden durchlaufen, und Knoten 212, die durch gestrichelte Linien dargestellt sind, werden nicht durchlaufen, da sie Kinder von SNs sind. Daher kann die Dekodier-Latenzzeit des SSCL-Decoders deutlich geringer als die des SCL-Decoders aus 1 sein.
  • 3 ist ein Diagramm, das einen SSCL-Dekodierungsbaum mit neuen SNs nach einer Ausführungsform veranschaulicht. Konkret veranschaulicht 3 einen SSCL-Dekodierungsbaum für denselben Polarcode der Länge 16 von 1 und 2. Jeder Knoten des Baumes ist mit einem konstituierenden Code verbunden. Ein Reed-Muller-Untercode (Sub-RM) -Knoten 304 und ein Reed-Muller (RM)-Knoten 306 sind als Kind-Knoten eines Eltern-Knotens 302 identifiziert. Sobald die Dekodierung den Sub-RM-Knoten 304 erreicht, übernimmt ein Hadamard-Decoder die Dekodierungsaufgabe und gibt einen Satz von Werten für harte Entscheidungen an den Eltern-Knoten 302 aus. Die harten Entscheidungswerte werden dann zur Berechnung der LLRs für den RM-Knoten 306 verwendet. Der Hadamard-Decoder wird erneut eingesetzt, um die Dekodierung des RM-Knotens 306 durchzuführen. Der SSCL-Decoder von 3 unterscheidet sich vom SSCL-Decoder von 2 dadurch, dass in 3 der Hadamard-Decoder anstelle der SSCL-Dekodierung zur Verarbeitung jedes RM-Knotens und Sub-RM-Knotens verwendet wird.
  • Ähnlich wie in 2 werden Knoten 308, die mit gestrichelten Linien dargestellt sind, nicht durchlaufen, da sie Kinder von SNs sind, und daher kann die Dekodier-Latenzzeit des SSCL-Decoders deutlich geringer als die des SCL-Decoders aus 1 und des SSCL-Decoders aus 2 sein.
  • Nach einer Ausführungsform werden der Sub-RM-Knoten 304 und der RM-Knoten 306 zu den Typen von SNs hinzugefügt, die im SSCL-Dekodierungsbaum verwendet werden. Ein SSCL-Dekodierungsbaum kann also Rate-0-Knoten, Rate-1-Knoten, SPC-Knoten, REP-Knoten, Sub-RM-Knoten und/oder RM-Knoten enthalten.
  • Codewörter in Erster-Ordnung-Reed-Muller-Codes sind Auswertungen von Polynomen in F2 [Z1, ..., Zm], die einen Grad von höchstens einem, d. h. jedem Codewort c ∈ RM(m, 1) kann als Polynom in der nachstehend in Gleichung (1) angegebenen Form dargestellt werden. u 0 + i = 1 m u i Z i ,
    Figure DE102020119183A1_0001
    wobei u = ( u 0 ,..., u m ) F 2 m + 1
    Figure DE102020119183A1_0002
    der Informationsvektor ist, und das Codewort c die Bewertung dieses Polynoms bei jedem z = ( z 0 ,..., z m ) F 2 m
    Figure DE102020119183A1_0003
    ist. Das erste Bit des Codeworts c ist zum Beispiel die Bewertung des Polynoms bei ( 0,...,0 ) F 2 m ,
    Figure DE102020119183A1_0004
    während das letzte Bit des Codeworts c die Bewertung des Polynoms bei ( 1,...,1 ) F 2 m
    Figure DE102020119183A1_0005
    ist. Jedes Bit des Codeworts c kann durch die binären Vektoren in F 2 m ,
    Figure DE102020119183A1_0006
    d. h. c(z) entspricht dem Bit des Codeworts c das der Bewertung des Polynoms bei z gleich ist.
  • Die ML-Dekodierung eines Reed-Muller-Codes ist, wie nachstehend in Gleichung (2) angegeben, dargestellt. c ^ M L = a r g m a x c R M ( m ,1 ) z F 2 m ( 1 ) c ( z ) L L R ( c ( z ) )
    Figure DE102020119183A1_0007
  • Da c ( z ) = u 0 + i = 1 m u i z i ,
    Figure DE102020119183A1_0008
    bestimmt das vorliegende System u = ( u 0 ,..., u m ) F 2 m + 1 ,
    Figure DE102020119183A1_0009
    um nachstehende Gleichung (3) zu maximieren. ( 1 ) u 0 z F 2 m ( 1 ) i = 1 m u i z i L L R ( c ( z ) )
    Figure DE102020119183A1_0010
  • Für einen binären Vektor u = ( u 1 ,..., u m ) F 2 m ,
    Figure DE102020119183A1_0011
    ist L(u), wie in Gleichung (4) angegeben, definiert. L ( u ) z F 2 m ( 1 ) i = 1 m u i z i L L R ( c ( z ) )
    Figure DE102020119183A1_0012
    ( L ( u ) , u F 2 m )
    Figure DE102020119183A1_0013
    i ist die Hadamard-Transformation des Vektors ( L L R ( z ) , z F 2 m ) ,
    Figure DE102020119183A1_0014
    die in 0 (N log N), wobei N = 2m, effizient berechnet werden kann.
  • Da ( L ( u ) , u F 2 m )
    Figure DE102020119183A1_0015
    erreicht wird, kann u* = (u1*, ..., um*) bestimmt werden, was |L(u)| maximiert. Wenn L(u*) > 0, ist die Ausgabe des Decoders (u0* = 0, u1*, ..., um*). Andernfalls ist die Ausgabe des Decoders (u0* = 1, u1*, ..., um*).
  • Um die wahrscheinlichsten L Kandidaten zu finden, kann eine Reihe von L Vektoren ( u 1 * ,..., u L * )
    Figure DE102020119183A1_0016
    mit einem Maximum |L(u)| bestimmt werden, und das erste Bit jedes Kandidaten kann, wie vorstehend beschrieben (d. h. in Abhängigkeit von dem Vorzeichen von L(u*)), dekodiert werden.
  • Der Hadamard-Decoder liefert Wahrscheinlichkeitsmetriken für jedes Codewort im Erster-Ordnung-Reed-Muller-Codebuch. Somit kann die Ausgabe des Hadamard-Decoders zur Dekodierung jedes Untercodes des Codebuchs verwendet werden. Nehmen wir zum Beispiel einen Erster-Ordnung-Reed-Muller-Code, der das in Gleichung (5) dargestellte Muster aus Informationen und eingefrorenen Bits aufweist. R M 1 _ p a t t e r n = ( F , F , F , F , )
    Figure DE102020119183A1_0017
  • Angenommen, der Decoder stößt auf einen Knoten mit dem in Gleichung (6) gezeigten Muster von Informationen und eingefrorenen Bits: R M 1 _ s u b _ p a t t e r n = ( F , F , F , F , F , )
    Figure DE102020119183A1_0018
  • Dies würde einem Untercode des Reed-Muller-Codes der Länge 8 entsprechen. Daher kann die Hadamard-Transformation zur Bestimmung der Wahrscheinlichkeitsmetriken jedes Reed-Muller-Codeworts angewendet werden. Anstatt alle Metriken zu berücksichtigen, kann die Teilmenge, die dem Untercode des Reed-Muller-Codes entspricht, in Betracht gezogen werden.
  • Erster-Ordnung-Reed-Muller-Codes werden zusammen mit ihren Untercodes im Dekodierungsbaum der Polarcodes identifiziert, und der Hadamard-Decoder wird an diesen Knotenpunkten angewendet. Die Komplexität des Hadamard-Decoders ist 0(N log N), wobei N die Codeblocklänge ist. Die Verwendung des Hadamard-Decoders ist effizienter als das Durchqueren des Teilbaums dieser Knoten.
  • Erster-Ordnung-Reed-Muller-Codes und ihre Untercodes kommen bei der Dekodierung von 5G-NR-Polarcodes, zusätzlich zu Rate-0-Codes, Rate-1-Codes, SPC-Codes und REP-Codes, häufig als konstituierende Codes vor. Für die meisten Aggregationsebenen und Abwärtsstrecken-Steuerinformationen (DCI)-Größen (DCI = downlink control information) kommen im Dekodierungsbaum mehrere Erster-Ordnung-Reed-Muller-Knoten mit verschiedenen Knotengrößen bis zu einer Knotengröße von 64 vor. In ähnlicher Weise werden auch Knoten identifiziert, die den Untercodes von Erster-Ordnung-Reed-Muller-Codes entsprechen.
  • In einem 5G-NR-Polarcode für eine Aggregationsebene von 4 und einer DCI-Größe von 100 Bit existieren 2 Erster-Ordnung-Reed-Muller-Knoten mit einer Länge von 8, 1 mit einer Länge von 16 und 1 mit einer Länge von 32. Zusätzlich gibt es im 5G-NR-Polarcode 1 Untercode eines Reed-Muller-Codes der Länge 8, 1 der Länge 16 und 3 der Länge 32.
  • 4 ist ein Ablaufdiagramm, das ein Verfahren zum Dekodieren eines Polarcodes nach einer Ausführungsform veranschaulicht. Bei 402 wird ein SSCL-Dekodierungsbaum für den Polarcode erzeugt. Der SSCL-Dekodierungsbaum enthält eine Vielzahl von Knoten. Jeder Knoten ist mit einem konstituierenden Code verbunden. Der SSCL-Dekodierungsbaum bestimmt eingefrorene Bits und Informationsbits des Polarcodes. Bei 404 werden ein oder mehrere Knoten aus der Vielzahl von Knoten als Knoten identifiziert, die Reed-Muller-Codes zur Dekodierung verwenden. Die Reed-Muller-Codes können Erster-Ordnung-Reed-Muller-Codes und Untercodes von Reed-Muller-Codes enthalten. Mindestens ein Knoten aus der Vielzahl der Knoten kann auch als Knoten identifiziert werden, der Rate-0-, Rate-1-, SPC- oder REP-Codes zum Dekodieren verwendet.
  • Bei 406 wird die Dekodierung der empfangenen LLRs unter Verwendung von Reed-Muller-Codes an einem oder mehreren Knoten durchgeführt. Die ML-Dekodierung wird mit einem Hadamard-Decoder durchgeführt. Bei 408 werden harte Entscheidungswerte von einem oder mehreren Knoten ausgegeben. Die Werte für harte Entscheidungen werden an einen Eltern-Knoten des einen oder der mehreren Knoten ausgegeben, und Kind-Knoten des einen oder der mehreren Knoten werden in der SSCL-Dekodierungsstruktur nicht durchlaufen.
  • Unter Bezugnahme auf 5 veranschaulicht ein Ablaufdiagramm ein Verfahren zum Dekodieren eines SSCL-Dekodierungsbaums in SNs nach einer Ausführungsform. Bei 502 wird ein erster Knoten als Knoten identifiziert, der Untercodes von Reed-Muller-Codes verwendet. Bei 504 wird ein zweiter Knoten als Knoten identifiziert, der Erster-Ordnung-Reed-Muller-Codes verwendet. Bei 506 wird die ML-Dekodierung der ersten LLRs am ersten Knoten unter Verwendung eines Hadamard-Decoders durchgeführt. Bei 508 werden die ersten harten Entscheidungswerte vom ersten Knoten an einen Eltern-Knoten ausgegeben. Bei 510 werden zweite LLRs am zweiten Knoten vom Eltern-Knoten auf der Grundlage der ersten harten Entscheidungswerte vom Eltern-Knoten empfangen. Bei 512 wird die ML-Dekodierung der zweiten LLRs am zweiten Knoten unter Verwendung des Hadamard-Decoders durchgeführt. Bei 514 werden die Werte für die zweite harte Entscheidung vom zweiten Knoten an den Eltern-Knoten ausgegeben.
  • 6 ist ein Blockdiagramm einer elektronischen Vorrichtung in einer Netzwerkumgebung nach einer Ausführungsform. Unter Bezugnahme auf 6 kann eine elektronische Vorrichtung 601 in einer Netzwerkumgebung 600 mit einer elektronischen Vorrichtung 602 über ein erstes Netzwerk 698 (z. B. ein Drahtlos-Kommunikationsnetzwerk mit kurzer Reichweite), oder mit einer elektronischen Vorrichtung 604 oder einem Server 608 über ein zweites Netzwerk 699 (z. B. ein Drahtlos-Kommunikationsnetzwerk mit großer Reichweite) kommunizieren. Die elektronische Vorrichtung 601 kann mit der elektronischen Vorrichtung 604 über den Server 608 kommunizieren. Die elektronische Vorrichtung 601 kann einen Prozessor 620, einen Speicher 630, eine Eingabevorrichtung 650, eine Tonausgabevorrichtung 655, eine Anzeigevorrichtung 660, ein Audiomodul 670, ein Sensormodul 676, eine Schnittstelle 677, ein Haptikmodul 679, ein Kameramodul 680, ein Leistungsverwaltungsmodul 688, eine Batterie 689, ein Kommunikationsmodul 690, ein Teilnehmer-Identifikationsmodul (SIM) 696 oder ein Antennenmodul 697 enthalten. In einer Ausführungsform kann mindestens eine (z. B. die Anzeigevorrichtung 660 oder das Kameramodul 680) der Komponenten bei der elektronischen Vorrichtung 601 weggelassen werden, oder es können eine oder mehrere andere Komponenten zu der elektronischen Vorrichtung 601 hinzugefügt werden. Einige der Komponenten können als eine einzige integrierte Schaltung (IC) implementiert werden. Das Sensormodul 676 (z. B. ein Fingerabdrucksensor, ein Iris-Sensor oder ein Beleuchtungsstärkesensor) kann zum Beispiel in der Anzeigevorrichtung 660 (z. B. einer Anzeige) eingebettet sein.
  • Der Prozessor 620 kann z. B. Software (z. B. ein Programm 640) ausführen, um mindestens eine andere Komponente (z. B. eine Hardware- oder Softwarekomponente) der mit dem Prozessor 620 gekoppelten elektronischen Vorrichtung 601 zu steuern, und kann verschiedene Datenverarbeitungen oder Berechnungen durchführen. Zumindest als Teil der Datenverarbeitung oder Berechnungen kann der Prozessor 620 einen von einer anderen Komponente (z. B. dem Sensormodul 676 oder dem Kommunikationsmodul 690) empfangenen Befehl oder empfangene Daten in den flüchtigen Speicher 632 laden, den im flüchtigen Speicher 632 gespeicherten Befehl oder die Daten verarbeiten und die resultierenden Daten im nichtflüchtigen Speicher 634 speichern. Der Prozessor 620 kann einen Hauptprozessor 621 (z. B. eine zentrale Verarbeitungseinheit (CPU) oder einen Anwendungsprozessor (AP)) und einen Hilfsprozessor 623 (z. B. eine Graphikverarbeitungseinheit (GPU), einen Bildsignalprozessor (ISP), einen Sensor-Hub-Prozessor oder einen Kommunikationsprozessor (CP)) enthalten, der unabhängig vom Hauptprozessor 621 oder in Verbindung mit diesem betrieben werden kann. Zusätzlich oder alternativ kann der Hilfsprozessor 623 so angepasst werden, dass er weniger Leistung als der Hauptprozessor 621 aufnimmt oder eine bestimmte Funktion ausführt. Der Hilfsprozessor 623 kann separat vom Hauptprozessor 621 oder als Teil davon implementiert werden.
  • Der Hilfsprozessor 623 kann zumindest einige der Funktionen oder Zustände steuern, die sich auf mindestens eine Komponente (z. B. die Anzeigevorrichtung 660, das Sensormodul 676 oder das Kommunikationsmodul 690) unter den Komponenten der elektronischen Vorrichtung 601 beziehen, und zwar anstelle des Hauptprozessors 621, während sich der Hauptprozessor 621 in einem inaktiven Zustand (z. B. Ruhezustand) befindet, oder zusammen mit dem Hauptprozessor 621, während sich der Hauptprozessor 621 in einem aktiven Zustand (z. B. Ausführen einer Anwendung) befindet. Der Hilfsprozessor 623 (z. B. ein Bildsignalprozessor oder ein Kommunikationsprozessor) kann als Teil einer anderen Komponente (z. B. des Kameramoduls 680 oder des Kommunikationsmoduls 690) implementiert werden, die funktionell mit dem Hilfsprozessor 623 verbunden ist.
  • Der Speicher 630 kann verschiedene Daten speichern, die von mindestens einer Komponente (z. B. dem Prozessor 620 oder dem Sensormodul 676) der elektronischen Vorrichtung 601 verwendet werden. Die verschiedenen Daten können z. B. Software (z. B. das Programm 640) und Eingabedaten oder Ausgabedaten für einen damit verbundenen Befehl enthalten. Der Speicher 630 kann den flüchtigen Speicher 632 oder den nichtflüchtigen Speicher 634 enthalten.
  • Das Programm 640 kann als Software im Speicher 630 abgelegt werden und kann z. B. ein Betriebssystem (OS) 642, eine Middleware 644 oder eine Anwendung 646 enthalten.
  • Die Eingabevorrichtung 650 kann einen Befehl oder Daten, die von einer anderen Komponente (z. B. dem Prozessor 620) der elektronischen Vorrichtung 601 verwendet werden sollen, von außerhalb (z. B. von einem Benutzer) der elektronischen Vorrichtung 601 empfangen. Die Eingabevorrichtung 650 kann z. B. ein Mikrofon, eine Maus oder eine Tastatur enthalten.
  • Die Tonausgabevorrichtung 655 kann Tonsignale nach Außerhalb der elektronischen Vorrichtung 601 ausgeben. Die Tonausgabevorrichtung 655 kann z. B. einen Lautsprecher oder einen Empfänger enthalten. Der Lautsprecher kann für allgemeine Zwecke verwendet werden, z. B. für die Wiedergabe von Multimedia oder Aufnahmen, und der Empfänger kann zum Empfang eines eingehenden Anrufs verwendet werden. Der Empfänger kann vom Lautsprecher getrennt oder als Teil davon ausgeführt sein.
  • Die Anzeigevorrichtung 660 kann visuell Informationen nach Außerhalb der elektronischen Vorrichtung 601 (z. B. an einen Benutzer) liefern. Die Anzeigevorrichtung 660 kann z. B. eine Anzeige, eine Hologrammvorrichtung oder einen Projektor und eine Steuerschaltung zur Steuerung einer entsprechenden von einer Anzeige, einer Hologrammvorrichtung und einem Projektor enthalten. Die Anzeigevorrichtung 660 kann eine Berührungsschaltung enthalten, die so ausgelegt ist, um eine Berührung zu erkennen, oder eine Sensorschaltung (z. B. einen Drucksensor), der ausgelegt ist, um die Intensität der durch die Berührung entstehenden Kraft zu messen.
  • Das Audiomodul 670 kann einen Ton in ein elektrisches Signal umwandeln und umgekehrt. Das Audiomodul 670 kann den Ton über die Eingabevorrichtung 650 erhalten oder den Ton über die Tonausgabevorrichtung 655 oder einen Kopfhörer einer externen elektronischen Vorrichtung 602, die direkt (z. B. verkabelt) oder drahtlos mit der elektronischen Vorrichtung 601 gekoppelt ist, ausgeben.
  • Das Sensormodul 676 kann einen Betriebszustand (z. B. Leistung oder Temperatur) der elektronischen Vorrichtung 601 oder einen Umgebungszustand (z. B. den Zustand eines Benutzers) außerhalb der elektronischen Vorrichtung 601 erkennen und dann ein elektrisches Signal oder einen Datenwert erzeugen, der dem erfassten Zustand entspricht. Das Sensormodul 676 kann z. B. einen Gestensensor, einen Gyrosensor, einen Luftdrucksensor, einen Magnetsensor, einen Beschleunigungssensor, einen Griffsensor, einen Näherungssensor, einen Farbsensor, einen Infrarot (IR)-Sensor, einen biometrischen Sensor, einen Temperatursensor, einen Feuchtigkeitssensor oder einen Beleuchtungsstärkesensor enthalten.
  • Die Schnittstelle 677 kann ein oder mehrere spezifizierte Protokolle unterstützen, die verwendet werden, damit die elektronische Vorrichtung 601 direkt (z. B. verdrahtet) oder drahtlos mit der externen elektronischen Vorrichtung 602 gekoppelt werden kann. Die Schnittstelle 677 kann z. B. eine hochauflösende Multimediaschnittstelle (HDMI), eine Universal Serial Bus (USB)-Schnittstelle, eine sichere digitale (SD)-Kartenschnittstelle oder eine Audioschnittstelle enthalten.
  • Eine Anschlussklemme 678 kann einen Stecker enthalten, über den die elektronische Vorrichtung 601 physisch mit der externen elektronischen Vorrichtung 602 verbunden werden kann. Die Anschlussklemme 678 kann z. B. einen HDMI-Anschluss, einen USB-Anschluss, einen SD-Karten-Anschluss oder einen Audioanschluss (z. B. einen Kopfhöreranschluss) enthalten.
  • Das Haptikmodul 679 kann ein elektrisches Signal in einen mechanischen Reiz (z. B. eine Vibration oder eine Bewegung) oder in einen elektrischen Reiz umwandeln, der von einem Benutzer über die taktile oder kinästhetische Empfindung erkannt werden kann. Das Haptikmodul 679 kann z. B. einen Motor, ein piezoelektrisches Element oder einen elektrischen Stimulator enthalten.
  • Das Kameramodul 680 kann ein Standbild oder bewegte Bilder aufnehmen. Das Kameramodul 680 kann ein oder mehrere Objektive, Bildsensoren, Bildsignalprozessoren oder Blitzvorrichtungen enthalten.
  • Das Leistungsverwaltungsmodul 688 kann die Stromversorgung der elektronischen Vorrichtung 601 verwalten. Das Leistungsverwaltungsmodul 688 kann zumindest als Teil z. B. einer Leistungsverwaltungsmodul-Integrierte-Schaltung (PMIC) implementiert werden.
  • Die Batterie 689 kann mindestens eine Komponente der elektronischen Vorrichtung 601 mit Leistung versorgen. Die Batterie 689 kann z. B. eine Primärzelle, die nicht wiederaufladbar ist, eine Sekundärzelle, die wiederaufladbar ist, oder eine Brennstoffzelle enthalten.
  • Das Kommunikationsmodul 690 kann das Einrichten eines direkten (z. B. verdrahteten) Kommunikationskanals oder eines drahtlosen Kommunikationskanals zwischen der elektronischen Vorrichtung 601 und der externen elektronischen Vorrichtung (z. B. der elektronischen Vorrichtung 602, der elektronischen Vorrichtung 604 oder dem Server 608) und das Durchführen der Kommunikation über den eingerichteten Kommunikationskanal unterstützen. Das Kommunikationsmodul 690 kann einen oder mehrere Kommunikationsprozessoren enthalten, die unabhängig vom Prozessor 620 (z. B. dem AP) betrieben werden können und eine direkte (z. B. drahtgebundene) Kommunikation oder eine Drahtlos-Kommunikation unterstützen. Das Kommunikationsmodul 690 kann ein Drahtlos-Kommunikationsmodul 692 (z. B. ein zellulares Kommunikationsmodul, ein Drahtlos-Kommunikationsmodul mit kurzer Reichweite oder ein GNSS-Kommunikationsmodul (Global Navigation Satellite System)) oder ein drahtgebundenes Kommunikationsmodul 694 (z. B. ein LAN-Kommunikationsmodul (Local Area Network) oder ein PLC-Kommunikationsmodul (Power Line Communication)) enthalten. Ein entsprechendes dieser Kommunikationsmodule kann mit der externen elektronischen Vorrichtung über das erste Netzwerk 698 (z. B. ein Kommunikationsnetzwerk mit kurzer Reichweite, wie Bluetooth™, WiFi-Direkt (WiFi = wireless-fidelity) oder einen Standard der Infrared Data Association (IrDA)) oder das zweite Netzwerk 699 (z. B. ein Kommunikationsnetzwerk mit großer Reichweite, wie ein zellulares Netzwerk, das Internet oder ein Computernetzwerk (z. B. LAN oder Wide Area Network (WAN)) kommunizieren. Diese verschiedenen Arten von Kommunikationsmodulen können als eine einzige Komponente (z. B. ein einzelner IC) oder als mehrere voneinander getrennte Komponenten (z. B. mehrere ICs) implementiert werden. Das Drahtlos-Kommunikationsmodul 692 kann die elektronische Vorrichtung 601 in einem Kommunikationsnetz, wie z. B. dem ersten Netz 698 oder dem zweiten Netz 699, unter Verwendung von Teilnehmerinformationen (z. B. die im Teilnehmeridentifikationsmodul 696 gespeicherte internationale mobile Teilnehmeridentität (IMSI)), identifizieren und authentifizieren.
  • Das Antennenmodul 697 kann ein Signal oder eine Leistung nach oder von außerhalb der elektronischen Vorrichtung 601 (z. B. von der externen elektronischen Vorrichtung) senden oder empfangen. Das Antennenmodul 697 kann eine oder mehrere Antennen enthalten, von denen mindestens eine Antenne, die für ein im Kommunikationsnetz verwendetes Kommunikationsschema geeignet ist, wie das erste Netz 698 oder das zweite Netz 699, z. B. durch das Kommunikationsmodul 690 (z. B. das Drahtlos-Kommunikationsmodul 692) ausgewählt werden kann. Das Signal oder die Leistung kann dann zwischen dem Kommunikationsmodul 690 und der externen elektronischen Vorrichtung über die gewählte mindestens eine Antenne gesendet oder empfangen werden.
  • Zumindest einige der vorstehend beschriebenen Komponenten können miteinander gekoppelt sein und Signale (z. B. Befehle oder Daten) zwischen ihnen über ein interperipheres Kommunikationsschema (z. B. einen Bus, einen GPIO (GPIO = General Purpose Input und Output, Allgemeinzweck-Eingang-/Ausgang) eine serielle Peripherieschnittstelle (SPI) oder eine MIPI (MIPI = Mobile Industry Processor Interface) austauschen.
  • Befehle oder Daten können zwischen der elektronischen Vorrichtung 601 und der externen elektronischen Vorrichtung 604 über den mit dem zweiten Netzwerk 699 gekoppelten Server 608 übertragen oder empfangen werden. Jede der elektronischen Vorrichtungen 602 und 604 kann eine Vorrichtung desselben Typs oder eines anderen Typs als die elektronische Vorrichtung 601 sein. Alle oder einige der auf der elektronischen Vorrichtung 601 auszuführenden Operationen können auf einem oder mehreren der externen elektronischen Vorrichtungen 602, 604 oder 608 ausgeführt werden. Wenn die elektronische Vorrichtung 601 beispielsweise eine Funktion oder einen Dienst automatisch oder als Antwort auf eine Anfrage eines Benutzers oder einer anderen Vorrichtung durchführen soll, kann die elektronische Vorrichtung 601 anstelle oder zusätzlich zur Ausführung der Funktion oder des Dienstes die eine oder die mehreren externen elektronischen Vorrichtungen auffordern, zumindest einen Teil der Funktion oder des Dienstes auszuführen. Die externe(n) elektronische(n) Vorrichtung(e), die die Anforderung empfängt (empfangen), kann (können) zumindest einen Teil der angeforderten Funktion oder des Dienstes oder eine zusätzliche Funktion oder einen zusätzlichen Dienst im Zusammenhang mit der Anforderung durchführen und das Ergebnis der Durchführung zu der elektronischen Vorrichtung 601 übertragen. Die elektronische Vorrichtung 601 kann das Ergebnis, mit oder ohne weitere Verarbeitung des Ergebnisses, zumindest als Teil einer Antwort auf die Anfrage bereitstellen. Zu diesem Zweck kann z. B. eine Cloud-Computing-, Distributed-Computing- oder eine Client-Server-Computing-Technologie verwendet werden.
  • Eine Ausführungsform kann als Software (z. B. das Programm 640) implementiert sein, die einen oder mehrere Anweisungen enthält, die auf einem Speichermedium (z. B. internen Speicher 636 oder externen Speicher 638) gespeichert sind, das von einer Maschine (z. B. der elektronischen Vorrichtung 601) gelesen werden kann. So kann z. B. ein Prozessor der elektronischen Vorrichtung 601 mindestens einen der einen oder der mehreren auf dem Speichermedium gespeicherten Anweisungen aufrufen und diese mit oder ohne Verwendung einer oder mehrerer anderer Komponenten unter der Steuerung des Prozessors ausführen. Somit kann eine Maschine so betrieben werden, dass sie mindestens eine Funktion entsprechend der mindestens einen aufgerufenen Anweisung ausführt. Die eine oder die mehreren Anweisungen können einen von einem Compiler erzeugten Code oder einen von einem Interpreter ausführbaren Code enthalten. Ein maschinenlesbares Speichermedium kann in Form eines nicht flüchtigen Speichermediums vorgesehen werden. Der Begriff „nicht flüchtig“ weist daraufhin, dass das Speichermedium eine materielle Vorrichtung ist und kein Signal (z. B. eine elektromagnetische Welle) enthält, aber dieser Begriff unterscheidet nicht zwischen der semipermanenten Speicherung von Daten auf dem Speichermedium und der temporären Speicherung der Daten auf dem Speichermedium.
  • Nach einer Ausführungsform kann ein Verfahren der Offenbarung in einem Computerprogrammprodukt enthalten sein und vorgesehen werden. Das Computerprogrammprodukt kann als ein Produkt zwischen einem Verkäufer und einem Käufer gehandelt werden. Das Computerprogrammprodukt kann in Form eines maschinenlesbaren Speichermediums (z. B. eines Compact-Disc-Lesespeichers (CD-ROM)) vertrieben werden, oder es kann online über einen Anwendungsspeicher (z. B. Play Store™) oder direkt zwischen zwei Benutzervorrichtungen (z. B. Smartphones) vertrieben (z. B. heruntergeladen oder hochgeladen) werden. Beim Online-Vertrieb kann zumindest ein Teil des Computerprogrammprodukts temporär erzeugt oder zumindest temporär auf dem maschinenlesbaren Speichermedium, z. B. im Speicher des Servers des Herstellers, auf einem Server des Anwendungsspeichers oder auf einem Relay-Server, gespeichert werden.
  • Nach einer Ausführungsform kann jede Komponente (z. B. ein Modul oder ein Programm) der vorstehend beschriebenen Komponenten eine einzelne Entität oder mehrere Entitäten enthalten. Eine oder mehrere der vorstehend beschriebenen Komponenten können weggelassen werden, oder es können eine oder mehrere andere Komponenten hinzugefügt werden. Alternativ oder zusätzlich können mehrere Komponenten (z. B. Module oder Programme) in eine einzige Komponente integriert werden. In diesem Fall kann die integrierte Komponente immer noch eine oder mehrere Funktionen jeder der Vielzahl von Komponenten in gleicher oder ähnlicher Weise erfüllen, wie sie von einer entsprechenden der Vielzahl von Komponenten vor der Integration erfüllt werden. Durch das Modul, das Programm oder eine andere Komponente durchgeführte Operationen können sequentiell, parallel, wiederholt oder heuristisch durchgeführt werden, oder eine oder mehrere der Operationen können in einer anderen Reihenfolge ausgeführt oder weggelassen werden, oder es können eine oder mehrere andere Operationen hinzugefügt werden.
  • Obwohl bestimmte Ausführungsformen der vorliegenden Offenbarung in der detaillierten Beschreibung der vorliegenden Offenbarung beschrieben wurden, kann die vorliegende Offenbarung in verschiedenen Formen modifiziert werden, ohne vom Anwendungsbereich der vorliegenden Offenbarung abzuweichen. Daher soll der Umfang der vorliegenden Offenbarung nicht nur auf der Grundlage der beschriebenen Ausführungsformen, sondern vielmehr auf der Grundlage der beigefügten Ansprüche und deren Äquivalente bestimmt werden.

Claims (20)

  1. Verfahren zum Dekodieren eines Polarcodes, wobei das Verfahren umfasst: Erzeugen eines SSCL-Dekodierungsbaums (SSCL = simplified successive cancellation list) für den Polarcode, wobei der SSCL-Dekodierungsbaum eine Vielzahl von Knoten umfasst; Identifizieren eines oder mehrerer Knoten aus der Vielzahl der Knoten, die Reed-Muller-Codes zum Dekodieren verwenden; Durchführen der Dekodierung der empfangenen Log-Likelihood-Ratios (LLRs) unter Verwendung von Reed-Muller-Codes an einem oder mehreren Knoten; und Ausgeben von harten Entscheidungswerten von einem oder mehreren Knoten.
  2. Verfahren nach Anspruch 1, wobei jeder Knoten der Vielzahl von Knoten mit einem konstituierenden Code verbunden ist.
  3. Verfahren nach Anspruch 1, wobei das Durchführen der Dekodierung umfasst: Durchführen der Maximum-Likelihood (ML)-Dekodierung mit einem Hadamard-Decoder.
  4. Verfahren nach Anspruch 1, wobei der SSCL-Dekodierungsbaum eingefrorene Bits und Informationsbits des Polarcodes bestimmt.
  5. Verfahren nach Anspruch 1, bei dem Kind-Knoten eines oder mehrerer Knoten im SSCL-Dekodierungsbaum nicht durchlaufen werden.
  6. Verfahren nach Anspruch 1, wobei die Reed-Muller-Codes Erster-Ordnung-Reed-Muller-Codes und Untercodes von Reed-Muller-Codes umfassen.
  7. Verfahren nach Anspruch 6, wobei das Identifizieren des einen oder mehrerer Knoten umfasst: Identifizieren eines ersten Knotens aus der Vielzahl von Knoten als die Untercodes von Reed-Muller-Codes verwendend; und Identifizieren eines zweiten Knotens aus der Vielzahl von Knoten unter Verwendung der Erster-Ordnung-Reed-Muller-Codes.
  8. Verfahren nach Anspruch 7, wobei das Durchführen der Dekodierung und Ausgeben von harte Entscheidungswerten umfasst: Durchführen der ML-Dekodierung der ersten LLRs am ersten Knoten unter Verwendung eines Hadamard-Decoders; Ausgeben der ersten harten Entscheidungswerte vom ersten Knoten an einen Eltern-Knoten; Empfangen von zweiten LLRs vom Eltern-Knoten am zweiten Knoten, basierend auf den ersten harten Entscheidungswerten; Durchführen der ML-Dekodierung der zweiten LLRs am zweiten Knoten unter Verwendung des Hadamard-Decoders; und Ausgeben der zweiten harten Entscheidungswerte vom zweiten Knoten an den Eltern-Knoten.
  9. Verfahren nach Anspruch 1, bei dem die harten Entscheidungswerte an einen Eltern-Knoten des einen oder der mehreren Knoten ausgegeben werden.
  10. Verfahren nach Anspruch 1, ferner umfassend: Identifizieren mindestens eines Knotens aus der Vielzahl der Knoten, der Rate-0-, Rate-1-, Einzelparitäts-Prüf- oder Wiederholungscodes zum Dekodieren verwendet.
  11. Nutzergerät (UE), umfassend: einen Prozessor; und ein nicht temporäres computerlesbares Speichermedium, das Anweisungen speichert, die bei ihrer Ausführung den Prozessor dazu veranlassen: einen vereinfachten SSCL-Dekodierungsbaum (SSCL = simplified successive cancellation list) für einen Polarcode zu erzeugen, wobei der SSCL-Dekodierungsbaum eine Vielzahl von Knoten umfasst; einen oder mehrere Knoten aus der Vielzahl der Knoten als Reed-Muller-Codes für die Dekodierung zu identifizieren; die Dekodierung der empfangenen Log-Likelihood-Ratios (LLRs) unter Verwendung von Reed-Muller-Codes an einem oder mehreren Knoten durchzuführen; und harte Entscheidungswerte von dem einen oder mehreren Knoten auszugeben.
  12. UE nach Anspruch 11, wobei jeder Knoten der Vielzahl von Knoten einem konstituierenden Code zugeordnet ist.
  13. UE nach Anspruch 11, wobei die Anweisungen bei der Durchführung der Dekodierung den Prozessor ferner dazu veranlassen: eine Maximum-Likelihood (ML)-Dekodierung unter Verwendung eines Hadamard-Decoders durchzuführen.
  14. UE nach Anspruch 11, wobei der SSCL-Dekodierungsbaum gefrorene Bits und Informationsbits des Polarcodes bestimmt.
  15. UE nach Anspruch 11, wobei Kind-Knoten des einen oder mehrerer Knoten im SSCL-Dekodierungsbaum nicht durchlaufen werden.
  16. UE nach Anspruch 11, wobei die Reed-Muller-Codes Erster-Ordnung-Reed-Muller-Codes und Untercodes von Reed-Muller-Codes umfassen.
  17. UE nach Anspruch 16, wobei die Anweisungen bei der Identifizierung des einen oder mehrerer Knoten den Prozessor weiter dazu veranlassen: einen ersten Knoten aus der Vielzahl von Knoten als die Untercodes von Reed-Muller-Codes verwendend zu identifizieren; und einen zweiten Knoten aus der Vielzahl von Knoten als den Erster-Ordnung-Reed-Muller-Codes verwendend zu identifizieren.
  18. UE nach Anspruch 17, wobei die Anweisungen bei der Durchführung der Dekodierung und Ausgabe von Werten für harte Entscheidungen den Prozessor weiter dazu veranlassen: eine ML-Dekodierung der ersten LLRs am ersten Knoten unter Verwendung eines Hadamard-Decoders durchzuführen; erste harte Entscheidungswerte vom ersten Knoten an einen Eltern-Knoten auszugeben; am zweiten Knoten zweite LLRs vom Eltern-Knoten auf der Grundlage der ersten harten Entscheidungswerte zu erhalten; eine ML-Dekodierung der zweiten LLRs am zweiten Knoten unter Verwendung des Hadamard-Decoders durchzuführen; und zweite harte Entscheidungswerte vom zweiten Knoten an den Eltern-Knoten auszugeben.
  19. UE nach Anspruch 11, wobei die harten Entscheidungswerte an einen Eltern-Knoten des einen oder der mehreren Knoten ausgegeben werden.
  20. UE nach Anspruch 11, wobei die Anweisungen den Prozessor ferner dazu veranlassen: mindestens einen Knoten aus der Vielzahl von Knoten als einen Knoten zu identifizieren, der Rate-0-, Rate-1-, Einzelparitäts-Prüf- oder Wiederholungscodes zum Dekodieren verwendend zu identifizieren.
DE102020119183.9A 2019-09-27 2020-07-21 System und Verfahren zum Identifizieren und Dekodieren von Reed-Muller-Codes in Polarcodes Pending DE102020119183A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962906996P 2019-09-27 2019-09-27
US62/906,996 2019-09-27
US16/928,826 2020-07-14
US16/928,826 US11271596B2 (en) 2019-09-27 2020-07-14 System and method for identifying and decoding Reed-Muller codes in polar codes

Publications (1)

Publication Number Publication Date
DE102020119183A1 true DE102020119183A1 (de) 2021-04-01

Family

ID=74872815

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020119183.9A Pending DE102020119183A1 (de) 2019-09-27 2020-07-21 System und Verfahren zum Identifizieren und Dekodieren von Reed-Muller-Codes in Polarcodes

Country Status (3)

Country Link
US (1) US11271596B2 (de)
CN (1) CN112583421A (de)
DE (1) DE102020119183A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102523423B1 (ko) * 2021-02-09 2023-04-18 아주대학교산학협력단 극 부호 연속 제거 비트 반전 복호 장치 및 방법
US11641252B1 (en) * 2022-03-04 2023-05-02 Qualcomm Incorporated Differential based decoding for a non-coherent signal

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100652000B1 (ko) 1999-08-31 2006-11-30 엘지전자 주식회사 확장 전송 포맷 조합 지시자의 부호화 및 복호 방법
KR20120110376A (ko) * 2011-03-29 2012-10-10 삼성전자주식회사 데이터 복조 방법 및 데이터 통신 방법
JP2013201582A (ja) * 2012-03-23 2013-10-03 Sharp Corp 受信装置、復号後尤度算出装置および受信方法
CN103368583B (zh) * 2012-04-11 2016-08-17 华为技术有限公司 极性码的译码方法和译码装置
CN105493459B (zh) 2013-08-22 2020-03-03 Lg 电子株式会社 在无线接入系统中通过使用空间调制方案发送数据的方法和设备
RU2571587C2 (ru) * 2014-04-10 2015-12-20 Самсунг Электроникс Ко., Лтд. Способ и устройство кодирования и декодирования данных в скрученном полярном коде
US9954645B2 (en) * 2014-12-05 2018-04-24 Lg Electronics Inc. Method and device for providing secure transmission based on polar code
EP3381128B1 (de) * 2015-11-24 2020-01-01 Coherent Logix, Incorporated Speicherverwaltung und pfadsortierung in einem polarcodedecodierer mit sukzessiv-löschung-listendecodierung
US10320428B2 (en) * 2016-08-15 2019-06-11 Qualcomm Incorporated Outputting of codeword bits for transmission prior to loading all input bits
WO2018104822A1 (en) * 2016-12-08 2018-06-14 Celeno Communications (Israel) Ltd. Establishing a secure uplink channel by transmitting a secret word over a secure downlink channel
WO2018201404A1 (en) 2017-05-04 2018-11-08 Qualcomm Incorporated Polar codes for uplink control information
US10833705B2 (en) 2017-08-02 2020-11-10 Qualcomm Incorporated Information bit distribution design for polar codes
CN117040690A (zh) 2017-08-11 2023-11-10 相干逻辑公司 Dci盲检测时用于多模式块辨别的加扰序列设计
US10868571B2 (en) * 2019-03-15 2020-12-15 Sequans Communications S.A. Adaptive-SCL polar decoder

Also Published As

Publication number Publication date
CN112583421A (zh) 2021-03-30
US20210099188A1 (en) 2021-04-01
US11271596B2 (en) 2022-03-08

Similar Documents

Publication Publication Date Title
Watanabe Symmetry of physical laws. Part III. Prediction and retrodiction
DE112017002971T5 (de) Effiziente Reduzierung von Ressourcen für die Simulation fermionischer Hamilton-Operatoren aufQuantenhardware
US20210326639A1 (en) Image recognition method, electronic device and storage medium
CN111563192B (zh) 实体对齐方法、装置、电子设备及存储介质
US20230353828A1 (en) Model-based data processing method and apparatus
DE102020119183A1 (de) System und Verfahren zum Identifizieren und Dekodieren von Reed-Muller-Codes in Polarcodes
CN111105375A (zh) 图像生成方法及其模型训练方法、装置及电子设备
DE102021115299A1 (de) Verfahren und vorrichtung zum kontinuierlichen few-shot-lernen ohne vergessen
EP4202768A1 (de) Maschinenlernmodelltrainingsverfahren und zugehörige vorrichtung
US20210279589A1 (en) Electronic device and control method thereof
DE112019002560T5 (de) Vorrichtung, verfahren und system zum bereitstellen eines verzögerten taktsignals an eine schaltung für sperrdaten
CN112215171A (zh) 目标检测方法、装置、设备及计算机可读存储介质
CN116310667B (zh) 联合对比损失和重建损失的自监督视觉表征学习方法
CN108270944A (zh) 一种基于分数阶变换的数字图像加密的方法及装置
CN113408668A (zh) 基于联邦学习系统的决策树构建方法、装置及电子设备
DE112020004171T5 (de) Abfrage auf grundlage von wissensgraphen in einem chatbot mit künstlicher intelligenz mit einer erkennung von basisabfrageelementen und einer erzeugung von graphpfaden
CN109697083B (zh) 数据的定点化加速方法、装置、电子设备及存储介质
CN113419719B (zh) 一种基于业务场景的接口用例生成方法及系统
CN110781139A (zh) 一种教案资源的管理系统及方法、电子设备
CN111382560A (zh) 一种制作课件方法及系统、电子设备
DE102021113535A9 (de) Senderstrahlformung an der Basisstation mit Teilkanalinformationen und UE-Rückmeldung
US20220365762A1 (en) Neural network model conversion method server, and storage medium
DE102021117295A1 (de) Deep-Learning-basierte Kanalpufferkompression
DE102019117402B3 (de) Vorrichtung und Verfahren für eine nichtiterative Singulärwertzerlegung
CN113051379B (zh) 一种知识点推荐方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
R012 Request for examination validly filed