-
Die Erfindung betrifft eine Dekodiervorrichtung und ein Verfahren zum Dekodieren eines Polar-Codes.
-
Aus dem Stand der Technik, beispielsweise
WO 2018/228357 A1 ,
US 2020/0183780 A1 und
EP 3 657 684 A1 , sind Polar-Codes bekannt. Polar-Codes sind herkömmlicherweise polar-kodierte Nachrichtvektoren. Dabei werden in den Nachrichtvektoren vor einer Polar-Transformation an vorbestimmten Code-Positionen Frozen-Bits als Nullen reserviert, was auch als sogenanntes Frozen-Bit-Padding bezeichnet wird. Die restlichen Code-Positionen werden als Datenbits, also zur eigentlichen Übertragung der Information, verwendet. Die vorbestimmten Frozen-Bits sind bei vorgegebenen Nachrichtenlängen immer dieselben und sowohl beim Kodieren als auch beim Dekodieren bekannt. Die Polar-Kodierung umfasst das Frozen-Bit-Padding und die Polar-Transformation. Beim Senden von polar-kodierten Nachrichtvektoren wird jedes Bit der Nachricht über einen Kanal gesendet, wobei alle Kanäle identisch sind. Das heißt, dass die Kanäle alle dieselbe Informationskapazität aufweisen. Durch die Polar-Transformation werden die Bit-Kanäle jedoch polarisiert, wobei die Bit-Kanäle in (sehr) schlechte und (sehr) gute Kanäle aufgeteilt werden. Die Code-Positionen, welche durch schlechte Kanäle gesendet werden, werden als Frozen-Bits reserviert, sodass über diese keine Information übertragen wird. Die Code-Positionen, welche durch gute Kanäle gesendet werden, also durch solche mit hoher Informationskapazität, werden als Datenbits verwendet, sodass die Information möglichst verlust- und rauscharm übertragen wird.
-
Um Informationen über die Kanäle zu erhalten werden herkömmlicherweise zusätzliche sogenannte Pilotsymbole übertragen. Diese Pilotsymbole sind ebenfalls dem Sender und dem Empfänger bekannt. Bei der Dekodierung werden die erhaltenen Werte für die Pilotsymbole mit den bekannten Werten verglichen, wodurch ein Kanalkoeffizient geschätzt beziehungsweise bestimmt werden kann.
-
Die Verwendung von zusätzlichen Pilotsymbolen hat jedoch den Nachteil, dass die Länge des übertragenen Codes zunimmt, ohne dass die Informationsmenge auch zunimmt. Mit anderen Worten steigt durch die Verwendung von Pilotsymbolen zur Abschätzung beziehungsweise Bestimmung des Kanalkoeffizienten die Redundanz des Codes.
-
Es ist Aufgabe der Erfindung eine Dekodiervorrichtung und ein Verfahren zum Dekodieren bereitzustellen, welche zuverlässig und mit hoher Effizienz den Kanalkoeffizienten bestimmen können.
-
Die Lösung dieser Aufgabe erfolgt durch die Merkmale der unabhängigen Ansprüche. Die abhängigen Ansprüche haben vorteilhafte Weiterbildungen der Erfindung zum Inhalt.
-
Die Dekodiervorrichtung zum Dekodieren eines Polar-Codes ist hierfür eingerichtet, eine Anzahl von polar-kodierten Bits als eine Anzahl von Kanalbeobachtungen zu empfangen, welche durch zumindest einen rauschbehafteten Kanal als Kanaleingabe gesendet wurden. Dabei umfasst der Polar-Code einen polar-kodierten Nachrichtvektor, bei welchem, insbesondere mittels eines sogenannten Frozen-Bit-Padding, vor einer Polar-Transformation an vorbestimmten Code-Positionen Bits als Frozen-Bits reserviert sind und weitere Code-Positionen als Datenbits festgelegt sind. Dabei sind Kanalbeobachtungen die in den zumindest einen rauschbehafteten Kanal eingegebenen, durch diesen gesendeten und von der Dekodiervorrichtung empfangenen Bits. Diese empfangenen Einträge des Nachrichtvektors sind jedoch nicht zwangsläufig Bits, also können aufgrund des Rauschens Werte abweichend von 0 und 1 annehmen. Die Dekodiervorrichtung ist außerdem eingerichtet, die Anzahl der Kanalbeobachtungen zu dekodieren, um eine Anzahl von dekodierten Bits zu ermitteln, welche zumindest ein Frozen-Bit aufweisen. Dabei ist die Dekodiervorrichtung eingerichtet, eine Eigenschaft des Kanals als zumindest einen Kanalkoeffizienten unter Verwendung der Frozen-Bits zu bestimmen. Dadurch kann die Dekodiervorrichtung einen oder mehrere Kanalkoeffizienten effizient anhand der Frozen-Bits bestimmen, insbesondere ohne dass hierfür zusätzliche Symbole in dem Nachrichtvektor hinzugefügt werden müssen.
-
Bevorzugt ist die Dekodiervorrichtung eingerichtet, eine Mehrzahl von Kanalkoeffizienten zu bestimmen. Dabei sind die polar-kodierten Bits der Kanaleingabe in eine Mehrzahl von Bit-Untergruppen aufgeteilt, welche jeweils zumindest ein polar-kodiertes Bit enthalten und jeweils durch einen Kanal mit einem Kanalkoeffizienten gesendet wurden. Dabei sind insbesondere in jeder der Untergruppen vor einer Polar-Transformation an vorbestimmten Code-Positionen Bits als Frozen-Bits reserviert und weitere Code-Positionen als Datenbits festgelegt. Dadurch kann die Dekodiervorrichtung die Auswirkung des Kanals beziehungsweise der Kanäle auf eine übertragene Nachricht besonders präzise ermitteln. Durch Einstellen einer Anzahl von Bit-Untergruppen kann die Dekodiervorrichtung Effizienz und Genauigkeit der Ermittlung des Kanalkoeffizienten optimieren. Die nachstehenden Ausführungen gelten gleichermaßen für einen Kanalkoeffizienten oder mehrere Kanalkoeffizienten von mehreren Bit-Untergruppen.
-
Vorteilhafterweise ist die Dekodiervorrichtung eingerichtet, zur Bestimmung des zumindest einen Kanalkoeffizienten eine maximale Wahrscheinlichkeit zu ermitteln und unter Verwendung dieser Wahrscheinlichkeit den Kanalkoeffizienten zu bestimmen. Dabei ist die vorgenannte maximale Wahrscheinlichkeit eine Wahrscheinlichkeit, mit welcher ein dekodiertes Bit, welches ein Frozen-Bit ist, in Abhängigkeit des Kanalkoeffizienten einen für das Frozen-Bit vordefinierten Wert aufweist. Hierbei kann das Frozen-Bit beispielsweise als Null festgelegt sein. Dabei ist dann beispielsweise die vorgenannte Wahrscheinlichkeit eine Wahrscheinlichkeit, mit welcher das dekodierte Bit (welches für die Dekodiervorrichtung als ein Frozen-Bit bekannt ist) den Wert Null aufweist. Das Frozen-Bit muss allerdings nicht als null festgelegt sein. Die vorgenannte Wahrscheinlichkeit ist außerdem von dem Kanalkoeffizienten abhängig. Das heißt, dass die Dekodiervorrichtung eingerichtet ist, für verschiedene Kanalkoeffizienten eine Wahrscheinlichkeit für den Frozen-Bit-Wert (beispielsweise Null) zu ermitteln, wobei die maximale Wahrscheinlichkeit den entsprechenden Kanalkoeffizienten festlegt. Mit anderen Worten ermittelt die Dekodiervorrichtung die maximale Wahrscheinlichkeit für den Frozen-Bit-Wert in Abhängigkeit des Kanalkoeffizienten beziehungsweise für verschiedene Kanalkoeffizienten. Dadurch kann die Dekodiervorrichtung den Kanalkoeffizienten besonders effizient bestimmen.
-
Besonders vorteilhaft ist es, wenn die Wahrscheinlichkeit durch Ermitteln von jeweiligen Wahrscheinlichkeiten, mit welchen ein Frozen-Bit für verschiedene Kanalkoeffizienten einen für das Frozen-Bit vordefinierten Wert aufweist, und Bestimmen der maximalen der mit den jeweiligen Kanalkoeffizienten korrelierenden Wahrscheinlichkeiten ermittelt wird. Mit anderen Worten wird für verschiedene Kanalkoeffizienten eine Wahrscheinlichkeit für den Frozen-Bit-Wert für jedes dekodiertes Bit ermittelt. Die maximale Wahrscheinlichkeit der vorgenannten Wahrscheinlichkeiten wird bestimmt, um den Kanalkoeffizienten zu bestimmen. Dadurch kann die Dekodiervorrichtung den zumindest einen Kanalkoeffizienten besonders effizient bestimmen.
-
Bevorzugt ist der zumindest eine Kanalkoeffizient eine komplexe Zahl, welche einen Absolutwert umfasst. Hierbei ist die Dekodiervorrichtung vorteilhafterweise eingerichtet, den Absolutwert des Kanalkoeffizienten, insbesondere jedes der Kanalkoeffizienten, zu bestimmen. Hierfür ist die Dekodiervorrichtung eingerichtet, Beträge der empfangenen Kanalbeobachtungen, insbesondere Beträge der Kanalbeobachtungen aus einer der Bit-Untergruppe korrespondierenden Kanalbeobachtungs-Untergruppe, jeweils um eine Varianz des Rauschens, welche insbesondere vordefiniert ist, zu reduzieren und daraufhin aufzusummieren. Die aufsummierten und reduzierten Beträge werden des Weiteren auf einen Betrag der Kanaleingabe, insbesondere auf einen Betrag der Bit-Untergruppe, normiert. Der Betrag der Kanaleingabe und die Varianz des Rauschens sind der Dekodiervorrichtung bekannt. Dadurch kann die Dekodiervorrichtung besonders einfach anhand der empfangenen Bits die Stärke beziehungsweise Höhe und/oder Wert des Kanalkoeffizienten, insbesondere der Kanalkoeffizienten des Kanals bestimmen.
-
Besonders bevorzugt weist der komplexe Kanalkoeffizient einen Phasenwinkel auf. Dabei ist die Dekodiervorrichtung eingerichtet, den Phasenwinkel des komplexen Kanalkoeffizienten, insbesondere für jedes der Bit-Untergruppen, durch Ermitteln eines Maximums einer von dem Phasenwinkel abhängigen Optimierungsfunktion zu bestimmen. Dadurch kann die Dekodiervorrichtung besonders einfach und effizient den Kanalkoeffizienten, insbesondere den Phasenwinkel des Kanalkoeffizienten, bestimmen.
-
Insbesondere ist die Optimierungsfunktion vorteilhafterweise eine Wahrscheinlichkeit in Abhängigkeit des Phasenwinkels und des Absolutwerts des jeweiligen komplexen Kanalkoeffizienten. Dabei ist die vorgenannte Wahrscheinlichkeit eine Wahrscheinlichkeit, mit welcher ein dekodiertes Bit, welches ein Frozen-Bit, einen für das Frozen-Bit vordefinierten Wert aufweist. Mit anderen Worten ist die vorgenannte Wahrscheinlichkeit insbesondere abhängig von dem Phasenwinkel und dem Absolutwert des Kanalkoeffizienten und die Optimierungsfunktion durch diese Wahrscheinlichkeit bestimmt wird. Durch Ermitteln der maximalen dieser Wahrscheinlichkeiten für den vordefinierten Frozen-Bit-Wert können der Phasenwinkel und der Absolutwert des Kanalkoeffizienten bestimmt werden. Dadurch kann die Dekodiervorrichtung besonders effizient den Kanalkoeffizienten bestimmen.
-
Vorzugsweise ist die Dekodiervorrichtung dabei eingerichtet, das Maximum der Optimierungsfunktion für Phasenwinkel des jeweiligen komplexen Kanalkoeffizienten zwischen 0 und 2π, insbesondere 0 und π, zu bestimmen. Dabei können insbesondere Symmetrieeigenschaften des Phasenwinkels beziehungsweise der Optimierungsfunktion verwendet werden, um den Wertebereich des Phasenwinkels zu bestimmen, insbesondere zu verkleinern. Dadurch kann die Dekodiervorrichtung besonders effizient und einfach den Kanalkoeffizienten bestimmen.
-
Besonders vorteilhaft ist es, wenn die Dekodiervorrichtung eingerichtet ist, anhand des zumindest einen bestimmten Kanalkoeffizienten eine Liste von möglichen Kandidaten für jedes dekodierte Bit, insbesondere für den gesamten Nachrichtvektor, zu ermitteln. Dabei ist die Dekodiervorrichtung insbesondere eingerichtet, die vorgenannte Ermittlung mittels sukzessiver Auflösung-Listendekodierung (successive cancellation list decoding) durchzuführen. Insbesondere sind die möglichen Kandidaten dabei mit Wahrscheinlichkeiten verknüpft beziehungsweise korreliert. Dadurch kann die Dekodiervorrichtung vorteilhafterweise eine Mehrzahl von möglichen dekodierten Nachrichten (Nachrichtvektoren) bestimmen, wobei dadurch mögliche weitere Übertragungsfehler korrigiert werden können.
-
Die Dekodiervorrichtung ist in einer besonders bevorzugten Ausführung eingerichtet, die Liste von möglichen Kandidaten anhand des zumindest einen bestimmten komplexen Kanalkoeffizienten in einem ersten Phasenwinkelbereich von 0 bis π zu ermitteln und die Liste mit weiteren möglichen negativen Kandidaten zu ergänzen. Dabei korrespondieren die negativen Kandidaten zu den vorgenannten möglichen Kandidaten in dem ersten Phasenwinkelbereich von 0 bis π. Diese negativen Kandidaten entsprechen einem zweiten Phasenwinkelbereich, welcher gegenüber dem ersten Phasenwinkelbereich um π versetzt ist. Dadurch kann die Dekodiervorrichtung Symmetrieeigenschaften verwenden, um Kandidaten in dem ersten Phasenwinkelbereich von 0 bis π zu ermitteln und diese lediglich vorteilhafterweise um die negativen Kandidaten zu ergänzen, wodurch die Effizienz der Dekodiervorrichtung vorteilhafterweise erhöht wird.
-
Vorzugsweise ist die Dekodiervorrichtung eingerichtet, mittels zyklischer Redundanzüberprüfung (cyclic redundancy check) zu ermitteln, welcher der Kandidaten dem Nachrichtvektor vor der Polar-Kodierung, insbesondere vor der Polar-Transformation der Polar-Kodierung, entspricht. Dadurch kann die Dekodiervorrichtung besonders einfach und effizient den Nachrichtvektor, welcher über den rauschbehafteten Kanal gesendet wurde, bestimmen.
-
Besonders vorteilhaft ist es, wenn der Polar-Code, insbesondere jede Bit-Untergruppe des Polar-Codes jeweils, zumindest ein Pilotsymbol umfasst und die Dekodiervorrichtung eingerichtet ist, den zumindest einen Kanalkoeffizienten unter Verwendung des Pilotsymbols und der Frozen-Bits zu bestimmen. Dadurch kann die Genauigkeit der Fehlerkorrektur vorteilhafterweise erhöht werden.
-
Vorzugsweise ist die Dekodiervorrichtung eingerichtet, die Anzahl von polar-kodierten Bits über eine Mehrzahl von Übertragungskanälen zu empfangen, wobei der Kanalkoeffizient eine Kanalmatrix ist. Dabei kann die Kanalmatrix insbesondere komplexe Einträge aufweisen. Mit anderen Worten ist die Dekodiervorrichtung vorteilhafterweise eingerichtet, für SISO (single input single output), SIMO (single input multiple output), MISO (multiple input single output) und/oder MIMO (multiple input multiple output) anwendbar zu sein.
-
Die Dekodiervorrichtung weist vorteilhafterweise eine Empfangseinheit zum Empfangen der Anzahl von Kanalbeobachtungen und eine Recheneinheit zum Bestimmen des Kanalkoeffizienten auf.
-
Die Erfindung betrifft außerdem ein Verfahren zum Dekodieren eines Polar-Codes. Dabei umfasst, wie vorstehend erläutert, der Polar-Code einen polar-kodierten Nachrichtvektor, bei welchem vor einer Polar-Transformation an vorbestimmten Code-Positionen Bits als Frozen-Bits reserviert sind und weitere Code-Positionen als Datenbits festgelegt sind. Hierbei umfasst das Verfahren einen ersten Schritt des Empfangens einer Anzahl von polar-kodierten Bits als eine Anzahl von Kanalbeobachtungen. Dabei wurden die polar-kodierten Bits durch zumindest einen rauschbehafteten Kanal als Kanaleingabe gesendet. Des Weiteren umfasst das Verfahren den Schritt des Dekodierens der Anzahl der Kanalbeobachtungen, um eine Anzahl von dekodierten Bits zu ermitteln, welche zumindest ein Frozen-Bit aufweisen. Beim Dekodieren gemäß dem Verfahren wird außerdem eine Eigenschaft des Kanals als der zumindest eine Kanalkoeffizient unter Verwendung der Frozen-Bits bestimmt.
-
Die vorstehend erläuterte Dekodiervorrichtung ist insbesondere zum Durchführen des Verfahrens zum Dekodieren des Polar-Codes eingerichtet. Dabei können die vorstehend erläuterten bevorzugten Ausführungen der Dekodiervorrichtung als bevorzugte Ausführungen des Verfahrens zum Dekodieren, zu dessen Ausführung die Dekodiervorrichtung eingerichtet ist, verstanden werden.
-
Weitere Einzelheiten, Vorteile und Merkmale der vorliegenden Erfindung ergeben sich aus nachfolgender Beschreibung von Ausführungsbeispielen anhand der Zeichnung. Es zeigt:
- 1 eine schematische Konfiguration einer Dekodiervorrichtung gemäß der vorliegenden Erfindung,
- 2a,b eine schematische Übersicht einer Kodierung und einer Dekodierung gemäß der vorliegenden Erfindung, und
- 3 ein schematisches Blockschaltdiagramm eines Verfahrens zum Dekodieren gemäß der vorliegenden Erfindung.
-
1 zeigt eine schematische Konfiguration einer Dekodiervorrichtung 1 gemäß der vorliegenden Erfindung.
-
Die Dekodiervorrichtung 1 umfasst eine Empfangseinheit 2 und eine Recheneinheit 3. Die Empfangseinheit 2 weist beispielsweise zumindest eine Antenne auf. Die Recheneinheit 3 weist beispielsweise zumindest eine CPU auf. Alternativ oder zusätzlich zu der Recheneinheit 3 weist die Dekodiervorrichtung 1 eine Einheit zur analogen Signalverarbeitung auf, durch welche einige oder alle der im Folgenden beschriebenen Aufgaben der Recheneinheit 3 ausgeführt werden.
-
2a und 2b zeigen eine schematische Übersicht einer Kodierung und einer erfindungsgemäßen Dekodierung.
-
Zunächst wird, wie der 2a zu entnehmen ist, ein Bit-Vektor 20 mit Einträgen w1, ..., wk, welche die zu übertragende Nachricht enthalten, einer CRC-Kodiereinheit 21 (cyclic redundancy check) eingegeben. Die CRC-Kodiereinheit 21 fügt dabei weitere insbesondere redundante Einträge r1, ..., rk hinzu, welche bei einer CRC-Dekodierung (zyklische Redundanzüberprüfung, wie nachfolgend erläutert) verwendet werden, um einen Übertragungsfehler zu korrigieren. Dadurch resultiert ein die Einträge wi und ri umfassender CRC-Vektor 22.
-
Dieser CRC-Vektor 22 wird daraufhin einem sogenannten Frozen-Bit-Padding 23 unterzogen. Dabei werden, wie nachstehend erläutert, die Einträge wi und ri als Datenbits an vorbestimmten Bit-Positionen eingesetzt und sogenannte Frozen-Bits an den übrigen Bit-Positionen hinzugefügt. Daraus resultiert ein Nachrichtvektor 4.
-
Der Nachrichtvektor 4 wird als sogenannter Block-Code gebildet. Dabei umfasst der Nachrichtvektor 4 eine Mehrzahl von Bits U1 bis UN. Die Bits Ui umfassen Datenbits (wi und ri), welche zum Übermitteln der (eigentlichen) Information sowie Redundanzen verwendet beziehungsweise festgelegt werden. Des Weiteren umfasst der Nachrichtvektor 4 eine Mehrzahl von den sogenannten Frozen-Bits, welche beim Frozen-Bit-Padding 23 hinzugefügt wurden. Diese Frozen-Bits sind an vorbestimmten und bekannten Stellen des Nachrichtvektors 4 reserviert. Die Datenbits können hierbei Werte von 0 und 1 annehmen, wohingegen die Frozen-Bits hierbei als 0 festgelegt sind. Die Frozen-Bits können jedoch grundsätzlich auch als 1 festgelegt sein. Dabei können die Frozen-Bits auch Kombinationen von 0 und 1 sein. Das heißt, dass zumindest ein Frozen-Bit als 0 festgelegt sein kann, während zumindest ein weiteres Frozen-Bit als 1 festgelegt ist.
-
Bei Polar-Codes werden die Datenbits und Frozen-Bits derart gewählt, dass die Datenbits an Positionen gesetzt werden, welche über gute beziehungsweise bessere, insbesondere virtuelle, Übertragungskanäle übertragen werden. Die Frozen-Bits werden entsprechend an den Positionen der schlechten beziehungsweise der schlechteren Übertragungskanäle gesetzt. Diese verschiedenen Übertragungskanäle sind numerisch berechenbar und im Allgemeinen bekannt. Hintergrund hierfür ist, dass die Übertragungskanäle „polarisiert“ sind, also bei der Polar-Kodierung in (sehr) gute und (sehr) schlechte Kanäle aufgeteilt werden. Die vorgenannte Güte der Kanäle wird durch ihre Kapazität, Information zu übertragen, festgelegt. Bei vorgegebener Nachrichtlänge sind die verschiedenen Positionen, welche bevorzugt als Frozen-Bits festzulegen sind, und ihre Güte bekannt.
-
Dieser Nachrichtvektor 4 wird, wie der 2b zu entnehmen ist, in eine Polar-Transformiereinheit 5 eingegeben und in der Polar-Transformiereinheit 5 polar-transformiert, wobei durch Polar-Transformation ein Polar-Code 6, auch „Codeword“ genannt, erzeugt wird. Die Kombination des Frozen-Bit-Padding 23 mit der Polar-Transformation 5 wird zusammenfassend auch als Polar-Kodierung bezeichnet. Dieser Polar-Code 6 wird dann an die Dekodiervorrichtung 1 übertragen. Die Übertragung erfolgt über einen Übertragungskanal 7, welcher im Allgemeinen rauschbehaftet ist. Der Kanal 7 ist hierbei beispielhaft für eine Übertragung beispielsweise über Luft oder Elektronikkomponenten wie etwa Kabeln.
-
Das Signal wird von der Dekodiervorrichtung 1, insbesondere durch die Empfangseinheit 2 empfangen. Es wird somit von der Dekodiervorrichtung 1 eine Anzahl von polar-kodierten Bits x
i als eine Anzahl von Kanalbeobachtungen y
i empfangen, welche durch den rauschbehafteten Kanal 7 als Kanaleingabe 6 gesendet wurden. Dabei empfängt die Dekodiervorrichtung 1:
-
Hierbei ist y ein Vektor mit den Einträgen y
1 bis y
N, also mit den Einträgen y
i. x ist der polar-kodierte Vektor 6 mit den Einträgen x
i, welche insbesondere Bits sind. Die Einträge x
i sind Bits. z ist ein Vektor, welcher ein additives Gauß-Rauschen (AWGN) beinhaltet, wobei die Komponenten von z eine Verteilung
aufweisen, also:
-
Die Einträge von z sind vorbestimmt und bekannt.
-
Des Weiteren ist h ein unbekannter komplexer Kanalkoeffizient. Der Kanalkoeffizient h stellt beispielsweise ein unbekanntes Rauschen oder Übertragungsfehler des Kanals dar, welches Fehler in der Übertragung verursacht. y ist somit der empfangene und rauschbehaftete Vektor 8, wobei die Einträge y
i dessen auch als Kanalbeobachtungen bezeichnet werden. Diese Kanalbeobachtungen y
i können einen anderen Wertebereich als die Einträge x
i aufweisen. Das heißt, dass sie durch die Übertragung durch den Kanal 7 von 0 oder 1 verschiedene Werte aufweisen können. Die Dekodiervorrichtung 1, insbesondere die Recheneinheit 3, ist eingerichtet, diesen Kanalkoeffizienten h zu bestimmen, um die ursprünglich gesendeten Bits x
i zu bestimmen. Im Folgenden wird angenommen, dass der Kanal 7 ein sogenannter Rayleigh-Fading-Kanal ist, also einer Rayleigh-Verteilung für z unterliegt. Dann ist
wobei n
c eine Blocklänge der Vektoren y, x und z ist. Die Blocklänge n
c entspricht der Gesamtlänge des entsprechenden Vektors, also der Anzahl an Einträgen, insbesondere Bits, welche übertragen werden.
-
Der zu übertragende Vektor x kann weiter Pilotsymbole x
p mit der Anzahl n
p enthalten. Die Pilotsymbole x
p werden dem Polar-Code 6 vor der Übertragung hinzugefügt und sind im Allgemeinen der Transformiereinheit 5 und der Dekodiervorrichtung 1 bekannt. Dann ist die Gesamtzahl von Bits, also die Blocklänge des Polar-Codes 6
wobei n
d eine Anzahl von kodierten Bits (Frozen-Bits und Datenbits) ist.
-
Die Pilotsymbole x
p weisen die gleiche Leistung (power) wie die Datensymbole x
d auf:
-
Herkömmlicherweise wird der Kanalkoeffizient lediglich unter Verwendung der Pilotsymbole geschätzt, nämlich über:
wobei
eine Schätzung für den Kanalkoeffizienten h ist. Hierbei wird also eine Wahrscheinlichkeit, dass eine Kanalbeobachtung eines Pilotsymbols y
p (empfangenes Pilotsymbol) den Wert des bekannten Pilotsymbols x
p (gesendetes Pilotsymbol) in Abhängigkeit des Kanalkoeffizienten h einnimmt, maximiert. Durch die Funktion „argmax“ wird für diese maximierte Wahrscheinlichkeit ein h bestimmt.
-
Die Dekodiervorrichtung 1 der vorliegenden Erfindung verwendet jedoch zusätzlich oder alternativ zu den Pilotsymbolen xp, yp die Information über die Frozen-Bits.
-
Wenn keine Pilotsymbole eingefügt werden, also wenn
ist, verwendet die Dekodiervorrichtung 1 lediglich die Information über die Frozen-Bits zur Bestimmung des Kanalkoeffizienten h:
-
Hierfür wird der Kanalkoeffizient als komplex angenommen, also als
wobei |h| ein Absolutwert beziehungsweise eine Amplitude und φ eine Phase des Kanalkoeffizienten h ist.
-
Die Amplitude von h wird über eine sogenannte Momentenmethode bestimmt. Beispielsweise ergibt sich für Quadratur-Phasenumtastung (QPSK):
wobei σ der Dekodiervorrichtung 1 als Eingabe 11 eingegeben wird. Dabei ist σ die Varianz der angenommenen Rauschverteilung, beispielsweise Rayleigh-Fading, für den Kanal h. Der Absolutwert des gesendeten Polar-Codes x ist bekannt beziehungsweise wird der Dekodiervorrichtung 1 ebenfalls über die Eingabe 11 eingegeben.
-
Daraufhin wird die Phase φ des komplexen Kanalkoeffizienten h unter Verwendung des bestimmten Absolutwerts für h über eine von φ abhängigen Optimierungsfunktion
geschätzt. Dabei ist U
D die Information über den Satz von gesendeten Frozen-Bits mit dem Wert 0. Der Term
wird von der Dekodiervorrichtung 1 rekursiv über unvollständige sukzessive Auflösung (incomplete successive cancellation) bestimmt. Dieser Term wird auch als Wahrscheinlichkeit bezeichnet, mit welcher ein empfangenes Bit beziehungsweise ein empfangener Eintrag y
i, welcher ein Frozen-Bit ist, in Abhängigkeit des Kanalkoeffizienten den Wert des gesendeten Frozen-Bits (hierbei 0) einnimmt. Durch Maximieren dieser Wahrscheinlichkeit, mit welcher ein empfangenes Frozen-Bit den Wert eines Frozen-Bits einnimmt, kann die Dekodiervorrichtung 1 die Schätzung für φ bestimmen.
-
Hierbei werden zwei Werte für die Schätzung von φ mit einem Phasenunterschied von π bestimmt, welche die vorgenannte Wahrscheinlichkeit für ein Frozen-Bit maximieren, da die geschätzten Werte für x und h und -x und -h die gleiche ML-Metrik aufweisen:
-
Somit bestimmt die Dekodiervorrichtung 1 zunächst die Schätzung für φ in einem ersten Phasenwinkelbereich [0, π). Die Dekodiervorrichtung 1 führt SCL-Dekodierung (sukzessive Auflösung-Listendekodierung) (successive cancellation list decoding) mit dem geschätzten Wert für φ durch, um eine Liste von Kandidaten [x1, ... , xL] mit der Anzahl L und deren Wahrscheinlichkeiten unter Verwendung des geschätzten Werts für h auszugeben. Daraufhin fügt die Dekodiervorrichtung 1 Werte [-x1, ... , -xL] (auch negative Kandidaten genannt) der Liste mit den gleichen Wahrscheinlichkeiten hinzu. Um zwischen xi und -xi zu unterscheiden, kann ein äußerer Code (outer code) verwendet werden. Die negativen Kandidaten [-x1, ... , - xL] sind hierbei mit -1 multiplizierte Kandidaten [x1, ... , xL], wobei die negativen Kandidaten einem zweiten Phasenwinkelbereich entsprechen, welcher gegenüber dem ersten Phasenwinkelbereich um π versetzt ist.
-
Hierbei wird eine zyklische Redundanzüberprüfung (cyclic redundancy check) (CRC) von der Dekodiervorrichtung 1 durchgeführt, um ui zu bestimmen. Dadurch ermittelt die Dekodiervorrichtung 1 mittels der zyklischen Redundanzüberprüfung, welcher der vorstehend genannten Kandidaten dem Nachrichtvektor 4 vor der Polar-Transformation 5 entspricht.
-
Durch Bestimmen der wahrscheinlichsten Kandidaten für ein empfangenes Frozen-Bit kann die Dekodiervorrichtung 1 somit h beziehungsweise die Schätzung für h bestimmen und daraus eine Liste von Kandidaten für x bestimmen. Durch die zyklische Redundanzüberprüfung wird dann aus x der Nachrichtvektor 4 bestimmt. Die Dekodiervorrichtung 1 ist somit dazu eingerichtet, mittels zyklischer Redundanzüberprüfung zu ermitteln, welcher der Kandidaten dem Nachrichtvektor 4 vor der Polar-Transformation 5 entspricht.
-
Optional kann die Dekodiervorrichtung 1 zusätzlich die Information über die Pilotsymbole zur Bestimmung des Kanalkoeffizienten verwenden. Der Polar-Code 6 umfasst dabei bevorzugt zumindest ein Pilotsymbol und die Dekodiervorrichtung 1 ist dazu eingerichtet, den zumindest einen Kanalkoeffizienten unter Verwendung des Pilotsymbols und der Frozen-Bits zu bestimmen. Dabei wird die Amplitude von h nach der obigen Gleichung bestimmt. Die Phase von h wird dann über
bestimmt. Das heißt, dass die Dekodiervorrichtung 1 die Wahrscheinlichkeiten, dass ein empfangenes Pilotsymbol y
p den Wert eines gesendeten Pilotsymbols x
p einnimmt und die Wahrscheinlichkeiten, dass ein empfangenes Frozen-Bit y
d den gesendeten Frozen-Bit-Wert gemäß U
D einnimmt, für ein φ zwischen 0 und 2 π maximiert. Da die Wahrscheinlichkeiten von dem Kanalkoeffizienten abhängen, kann durch „argmax“ der Kanalkoeffizient h und folglich die ursprünglich gesendete Nachricht x bestimmt werden.
-
Hierbei kann insbesondere der äußere Code entfallen, da die Pilotsymbole zur Symmetriebrechung in dem Code-Buch von xi und -xi verwendet werden können.
-
Anschaulich formuliert empfängt die Dekodiervorrichtung 1 den rauschbehafteten Vektor 8 mit den Einträgen (empfangenen Bits) yi. Die Dekodiervorrichtung 1 berechnet dann, anhand der vorbestimmten Information UD über die gesendeten Frozen-Bits, eine Wahrscheinlichkeit pi (einen Wahrscheinlichkeitsvektor 10) für jedes dekodierte Bit vi eines dekodierten Codes 9. Die Wahrscheinlichkeiten pi hängen von dem Kanalkoeffizienten h wie vorstehend beschrieben ab und geben wieder, mit welcher Wahrscheinlichkeit ein vi für verschiedene h einen Bit-Wert (0 oder 1) einnimmt.
-
So ist beispielsweise ein erstes Bit v1 der dekodierten Bits vi ein Frozen-Bit und die weiteren Bits der dekodierten Bits v2 bis vi sind Daten-Bits. Entsprechend ist in diesem Beispiel ein erstes Bit u1 des Nachrichtvektors 4 ein Frozen-Bit und die weiteren Bits des Nachrichtvektors 4 sind Daten-Bits. Der Kanalkoeffizienten h wird durch die Dekodiervorrichtung 1 so ermittelt, dass die dem ersten Bit v1 zugehörige Wahrscheinlichkeit p1 maximal ist, wobei die Wahrscheinlichkeit p1 eine Wahrscheinlichkeit dafür ist, dass das erste Bit v1 den für das Frozen-Bit vordefinierten Wert annimmt.
-
Unter Verwendung der vorgenannten Wahrscheinlichkeiten, mit welchen ein empfangenes Frozen-Bit den Wert eines gesendeten Frozen-Bits einnimmt, bestimmt die Dekodiervorrichtung 1 den Kanalkoeffizienten h.
-
Zusammengefasst schätzt die Dekodiervorrichtung 1 den Absolutwert des komplexen Kanalkoeffizienten h unter Verwendung der Information 11 über den Absolutwert des gesendeten Polar-Codes x und über die Varianz σ der Rauschverteilung.
-
Daraufhin wird die Phase φ durch Maximieren der Wahrscheinlichkeiten in einem Bereich von [0, π) bestimmt. Dabei wird entweder nur die Wahrscheinlichkeit, mit welcher ein empfangenes Frozen-Bit den gesendeten Frozen-Bit-Wert einnimmt betrachtet, oder zusätzlich dazu noch die Wahrscheinlichkeit, mit welcher ein empfangenes Pilotsymbol den Wert eines gesendeten Pilotsymbols xp einnimmt betrachtet beziehungsweise maximiert.
-
Das Maximum dieser Wahrscheinlichkeiten führt dann zu einem geschätzten Wert für die Phase φ, womit ein gesamter geschätzter Wert für den Kanalkoeffizienten h bestimmt ist.
-
Daraufhin wird eine Liste von Kandidaten für den dekodierten Vektor 9 der Anzahl L mit höchsten Wahrscheinlichkeiten bestimmt und, falls keine Pilotsymbole xp verwendet werden, um die korrespondierenden negativen Kandidaten -xi mit den gleichen Wahrscheinlichkeiten ergänzt.
-
Mittels der zyklischen Redundanzüberprüfung (CRC) wird dann aus der Liste von Kandidaten der gesendete Vektor 6 bestimmt beziehungsweise der durch die CRC bestimmte Vektor 9 als mit dem gesendeten Vektor 6 übereinstimmend angenommen.
-
Die Dekodiervorrichtung 1 ist demnach eingerichtet, die Anzahl von Kanalbeobachtungen yi zu dekodieren, wobei die Dekodiervorrichtung 1 eingerichtet ist, den Kanalkoeffizienten h unter Verwendung der Frozen-Bits zu bestimmen.
-
Optional wird der ermittelte Kanalkoeffizient h oder die ermittelten Kanalkoeffizienten h für eine weitere Signalverarbeitung und/oder für eine Demodulierung der über den Kanal 7 empfangenen Kanalbeobachtungen genutzt.
-
Die vorstehend erläuterte Ermittlung des Kanalkoeffizienten h ist nicht auf einen Kanalkoeffizienten h beschränkt. Vielmehr kann jedes der Bits des polar-kodierten Vektors 6 über einen Kanal 7 mit einem eigenen Kanalkoeffizienten hi gesendet werden. Dabei können die Bits des polar-kodierten Vektors 6 in mehrere Bit-Untergruppen aufgeteilt werden. Jeder dieser Bit-Untergruppe wird dann ein Kanalkoeffizient hi zugeteilt. Die Kanalkoeffizienten hi sind hierbei insbesondere unabhängig voneinander. Mit anderen Worten wird die gesamte Kanaleingabe 6 einer Mehrzahl von unabhängigen Kanalkoeffizienten hi ausgesetzt. Somit kann durch eine geeignete Wahl der Anzahl von Bit-Untergruppen eine Genauigkeit der Bestimmung des beziehungsweise der Kanalkoeffizienten geregelt werden: Eine maximale Genauigkeit kann beispielsweise erzielt werden, wenn die Anzahl der Bit-Untergruppen der Anzahl an polar-kodierten Bits xi entspricht, wenn also für jedes polar-kodierte Bit xi ein Kanalkoeffizient bestimmt wird.
-
Hierfür werden die Vektoren y und x aufgeteilt in:
-
Dabei ist beispielsweise Yi ein Vektor, welcher mehrere Einträge des empfangen Vektors y aufweist und wird auch als Kanalbeobachtungs-Untergruppe bezeichnet. Die Anzahl der Yi entspricht der Anzahl an vorgenannten Untergruppen. Das heißt, dass i = 1, ..., / ist, wobei / die Anzahl der Untergruppen ist. Hierbei werden also anstelle eines Kanalkoeffizienten h mehrere Kanalkoeffizienten hi betrachtet, welche jeweils den Kanal 7 einer Bit-Untergruppe darstellen. Die Anzahl der Einträge der Vektoren y und x bleibt hierbei erhalten. Das heißt, dass die Anzahl der Untergruppen multipliziert mit der Anzahl der Einträge pro Untergruppe gleich der Anzahl an Einträgen der Vektoren y oder x entspricht. Hierbei muss jedoch nicht jede Untergruppe die gleiche Anzahl an Einträgen haben.
-
In diesem Fall wird dann die jeweilige Phase φ
i für jeden Kanalkoeffizienten h
i beziehungsweise für alle h
i wie folgt bestimmt.
-
Dabei werden also die Wahrscheinlichkeiten, ein Frozen-Bit zu erhalten (wie vorstehend für einen einzigen Kanalkoeffizienten erläutert), miteinander gekoppelt, sodass die vorgenannte Wahrscheinlichkeit für alle Phasen φi und alle Absolutwerte der jeweiligen Kanalkoeffizienten hi maximiert wird. Mit anderen Worten wird für jede Untergruppe i = 1, ..., / die Phase φi eines Kanalkoeffizienten hi dadurch bestimmt, dass die Wahrscheinlichkeit für alle Kanalkoeffizienten h1 bis hl maximiert wird.
-
Die Bestimmung des Absolutwerts |hi| des jeweiligen Kanalkoeffizienten hi entspricht im Wesentlichen der vorstehend erläuterten Bestimmung des Absolutwerts |h| eines einzelnen Kanalkoeffizienten h. Dabei werden jedoch anstelle der Absolutwerte |x| des gesamten gesendeten Vektors x die Absolutwerte |xi| der Einträge der dem hi entsprechenden Bit-Untergruppe xi verwendet.
-
Hierbei kann außerdem jede Bit-Untergruppe zumindest ein Pilotsymbol enthalten, womit die Dekodiervorrichtung 1 den entsprechenden Kanalkoeffizienten hi anhand der Frozen-Bits und der Pilotsymbole der Untergruppe bestimmen kann.
-
Optional ist die Dekodiervorrichtung 1 in entsprechender Weise dazu eingerichtet, die Anzahl von polar-kodierten Bits xi über eine Mehrzahl von Übertragungskanälen 7 zu empfangen, wobei der Kanalkoeffizient eine Kanalmatrix ist, welche insbesondere komplexe Einträge aufweist. Die Kanalmatrix wird dabei aus einzelnen Kanalkoeffizienten gebildet, die entsprechend der zuvor beschriebenen Kanalkoeffizienten hi ermittelt werden.
-
3 zeigt ein schematisches Blockschaltdiagramm eines Verfahrens 100 zum Dekodieren eines Polar-Codes 6.
-
Das Verfahren 100 umfasst dabei einen ersten Schritt S1 des Empfangens der polar-kodierten Bits xi, 6 als eine Anzahl von Kanalbeobachtungen yi, 8, welche durch den zumindest einen Kanal 7 als Kanaleingabe 6 gesendet wurden. Das Verfahren 100 umfasst außerdem einen zweiten Schritt S2 des Dekodierens der Anzahl von Kanalbeobachtungen yi, um wie vorstehend erläutert eine Anzahl von dekodierten Bits vi, 9 zu ermitteln, welche das zumindest eine Frozen-Bit aufweisen. Bei dem Schritt S2 des Verfahrens 100 wird, wie vorstehend mit Bezug auf die Dekodiervorrichtung 1 erläutert, die Eigenschaft des Kanals 7 als der zumindest eine Kanalkoeffizient h, hi unter Verwendung der Frozen-Bits bestimmt.
-
Neben der vorstehenden schriftlichen Beschreibung der Erfindung wird zu deren ergänzender Offenbarung hiermit explizit auf die zeichnerische Darstellung der Erfindung in den 1 bis 3 Bezug genommen.
-
Bezugszeichenliste
-
- 1
- Dekodiervorrichtung
- 2
- Empfangseinheit
- 3
- Recheneinheit
- 4
- Nachrichtvektor
- 5
- Polar-Transformiereinheit
- 6
- Polar-Code
- 7
- Kanal
- 8
- Empfangener Vektor (Kanalbeobachtungen)
- 9
- Dekodierter Vektor
- 10
- Wahrscheinlichkeitsvektor
- 11
- Eingabe für Dekodiervorrichtung
- 20
- Bit-Vektor
- 21
- CRC-Kodiereinheit
- 22
- CRC-Vektor
- 23
- Frozen-Bit-Padding
- 100
- Verfahren zum Dekodieren
- S1
- Erster Schritt
- S2
- Zweiter Schritt