-
Technisches Gebiet der Erfindung
-
Die
vorliegende Erfindung bezieht sich auf Kommunikationssysteme, bei
welchen Decoder dazu verwendet werden, um einen eingehenden Strom von
Datenblöcken
zu decodieren. Genauer gesagt, bezieht sich das Verfahren gemäß der Erfindung
auf eine Art und Weise der Einteilung von den Datenblöcken auf
eine Anzahl von iterativen Kanaldecodern in einer Gruppe, um die
Anzahl von Decodern zu minimieren, welche für einen bestimmten Bitstrom
benötigt
werden. Ebenfalls bezieht sich die vorliegende Erfindung auf eine
elektronische Kommunikationseinrichtung, welche eine Anzahl von
Decodern enthält,
welche auf das Verfahren von der Erfindung angepasst ist.
-
Beschreibung zum Stand der
Technik
-
Eine
elektronische Kommunikationseinrichtung, wie oben dargelegt, kann
beispielsweise ein Mobil- oder Zellular-Telefon, das heißt für UMTS („Universal Mobile Telecommunication
System"), ein Kommunikationsgerät, ein elektronischer
Organizer oder ein Smartphone sein.
-
Bei
der Entwicklung von WCDMA („Wide-Band
Code Division Multiple Access")
wurde ein neues Konzept vorgeschlagen, welches High Speed Downlink
Packet Access (HSDPA) genannt wird, welches einen High Speed Downlink
Shared Channel (HS-DSCH)
unterstützt.
Ein Hauptmerkmal von HSDPA ist die Einführung von einem ARQ-Protokoll
auf der physikalischen Schicht (Schicht 1, L1), das heißt unterhalb
des Funkverbindung-Steuerung (RLC)-Protokolls, welches ein ARQ-Protokoll zur Fehlerkorrektur
einsetzen kann.
-
Das
ARQ-Protokoll in HSDPA wird bei L1 eingeführt, um RLC-Neuübertragungen
zu vermeiden, welche eine beträchtliche
Rundfahrtzeit (RTT) einführen
können.
Zusätzlich
zu der Größe variiert die
durch RLC eingeführte
RTT in der Länge.
Daraus resultiert, dass Protokolle einer höheren Schicht, insbesondere
TCP, den durchgehenden Durchsatz von der Übertragungsverbindung, resultierend
aus der großen
und variierenden RTT, reduzieren.
-
Das
auf der L1 eingeführte
neue ARQ-Protokoll dient zur Korrektur des Großteils der Kanalfehler, bevor
sie RLC-Neuübertragungen
auslösen.
Der durchgehende Durchsatz wird dann erhalten, da TCP eine weniger
variierende und kürzere
RTT erfährt.
Es ist jedoch ein Erfordernis, dass die RTT auf HS-DSCH auf L1 so
klein wie möglich
ist. Ein starker Mitwirkender zur RTT ist der iterative Decodierungsprozess
in der elektronischen Kommunikationseinrichtung. Daraus folgend
wird es bevorzugt, dass der Decodierungsprozess so schnell wie möglich ist.
-
Der
HSDPA-Modus unterstützt
Abwärtsstrecke-Bitraten
von bis zu 15 Mbps, welche durch turbocodierte Datenpakete befördert werden.
Dies beinhaltet, dass mehr als ein Decoder in der elektronischen
Kommunikationseinrichtung zur Decodierung der hohen Bitrate zu verwenden
sind. Jedoch ist eine iterative Decoder-Implementierung recht groß und teuer.
Jeder zusätzliche
Decoder fügt
der Kommunikationseinrichtung eine Komplexität hinzu und verlangt einen
großen
Chipbereich.
-
Um
dazu in der Lage zu sein, die Bitraten von HSDPA vollständig zu
behandeln, werden bis zu 10 Decoder benötigt, wenn eine herkömmliche
Decodierungstechnik verwendet wird. Da der iterative Decodierungsprozess
von dem Mobiltelefon ein großer Mitwirkender
zur RTT sein kann, kann jeder zusätzliche Decoder die RTT von
dem Decodierungsprozess wesentlich erhöhen. Ebenfalls wird jeder zusätzliche Decoder
die Kosten und den Energieverbrauch von der Kommunikationseinrichtung
erhöhen.
-
Zhao
Suli: "The Applications
of Retransmission Schemes in the Radio Interface of Mobile Communication
Systems", Fifth
Asia-Pacific Conference an Communications and Fourth Optoelectronics
and Communications Conference – Vitality
to the new Century (IEEE cat. no. 99ex379), Proceedings of APCC/OECC'99 – 5TH Asia
Pacific Confe, Seiten 500–503,
vol.1, 1999, Beijing, China, Beijing Univ. Posts & Telecommun, China,
stellt eine Übersicht
von den Anwendungen von Neuübertragungs-Schemata in
mehreren Mobilkommunikationssystemen und mögliche Lösungen für die dritte Generation von
Mobilkommunikationssystemen dar.
-
Die
EP0973292 A2 offenbart
ein Feld von Turbocode-Decodern, wobei jeder einen zugehörigen lokalen
Speicherpuffer und ein Einteilungsmittel zum Einteilen von demodulierten
Meldungspaketen an jeden der Mehrzahl von Decoder-Prozessoren hat.
-
Umriss der Erfindung
-
Es
ist eine Aufgabe von der vorliegenden Erfindung, ein Verfahren zum
Implementieren eines Decodierprozesses bereitzustellen, welcher
dazu in der Lage ist, einen eingehenden Strom von codierten Datenblöcken zu
decodieren, welche mit einer hohen Bitrate empfangen werden. Genauer
gesagt, ist es eine Aufgabe von dem Verfahren gemäß der Erfindung,
die Anzahl von Decodern zu minimieren, welche erforderlich sind,
um die hohe Bitrate von Datenblöcken
zu empfangen, und die Verwendung von den Decodern zu optimieren.
-
Es
ist ferner eine Aufgabe des Verfahrens gemäß der Erfindung, die Komplexität, den Energieverbrauch
und die Kosten der Decoderimplementierung von einer elektronischen
tragbaren Kommunikationseinrichtung zu reduzieren.
-
Eine
weitere Aufgabe von der Erfindung liegt in der Bereitstellung von
einer tragbaren elektronischen Kommunikationseinrichtung, welche
dazu angepasst ist, um einen eingehenden Strom von Datenblöcken zu
decodieren, welche mit einer hohen Bitrate empfangen werden. Es
ist ebenfalls eine Aufgabe von der Erfindung, eine Einrichtung bereitzustellen, welche
eine niedrigere Decoderkomplexität,
einen niedrigeren Energieverbrauch und niedrigere Kosten hat, und
welche die Decoder wirksam verwendet.
-
Die
obigen Aufgaben werden durch ein Verfahren gelöst, gemäß dessen es möglich ist,
einen eingehenden Datenblock in einer Warteschlange zu speichern,
wenn alle Decoder von einer Gruppe von iterativen Decodern nicht
verfügbar
sind. Der erste Decoder, welche verfügbar ist, übernimmt den ersten Datenblock
in der Warteschlange. Ferner wird der Datenblock gemäß einem
HARQ-Protokoll übertragen,
welches die Möglichkeit
bereitstellt, nicht erfolgreich decodierte Datenblöcke zu speichern.
Daher wird ein nicht erfolgreich decodierter Datenblock an das Ende
von der Warteschlange bewegt und mit einem neu übertragenen Block von Daten
vor einer abermaligen Verarbeitung in jeglichen der Decodern von
der Gruppe zusammengefasst. Der Speicher-, Zusammenfass- und Decodierungsprozess
fährt fort, bis
eine ACK-Meldung an einen Übertrager
von dem codierten Datenblock übertragen
werden kann.
-
Durch
das Einteilen der empfangenen Blöcke
gemäß dem Verfahren
von der Erfindung ist es möglich,
die Anzahl von Decodern zu minimieren, welche für eine bestimmte empfangene
Bitrate erforderlich sind. Genauer gesagt, kann gemäß des erfindungsgemäßen Verfahrens
die Hochgeschwindigkeits-Bitrate in Zusammenhang mit HSDPA empfangen
und mit weniger Decodern, vorzugsweise zwei oder drei, decodiert
werden, als dies der Fall sein würde,
wenn die Decoder-Anzahl für
den schlechtesten Fall dimensioniert wäre. Der schlechteste Fall ist, wenn
alle empfangenen Blöcke
im Decoder bei einer maximalen Anzahl von Iterationen iteriert werden, und
zwar sogar dann, wenn eine CRC (Zyklische Redundanz-Überprüfung) nach
ein paar Iterationen überprüft. Gemäß der Erfindung
wird die CRC nach jeder Decoder-Iteration überprüft, und weitere Iterationen
werden gelöscht,
sobald die CRC überprüft. Auf diese
Weise wird die Decoderbenutzung erhöht, und zwar verglichen damit,
wenn die maximale Anzahl von Iterationen vorgenommen ist. Daraus
folgend kann die Anzahl von Decodern, welche zur Anwendung bei einer
bestimmten Bitrate angewendet werden, minimiert werden.
-
Die
obigen Aufgaben werden ebenfalls durch eine elektronische Kommunikationseinrichtung
gelöst,
welche zur Decodierung von Datenblöcken fähig ist, welche über eine
Drahtlosverbindung in einem Kommunikationsnetzwerk empfangen werden.
Die erfindungsgemäße Einrichtung
enthält
eine Warteschlange, welche zum temporären Speichern der Datenblöcke angepasst
ist, und eine Gruppe von Decodern, welche dazu angepasst sind, die
Datenblöcke zu
decodieren, wenn jeglicher der Decoder von der Gruppe verfügbar ist.
Vorteile von der Einrichtung gemäß der Erfindung
liegen in einer niedrigen Komplexität, in niedrigen Kosten und
in einem niedrigen Energieverbrauch.
-
Weitere
bevorzugte Merkmale von der Erfindung sind in den abhängigen Ansprüchen bestimmt.
-
Es
sollte hervorgehoben werden, dass die Ausdrücke „enthält/enthaltend", wenn in dieser
Beschreibung verwendet, herangezogen werden, um das Vorliegen von
angegebenen Merkmalen, Ganzzahlen, Schritten oder Bauteilen zu spezifizieren,
jedoch nicht das Vorliegen oder die Hinzufügung von einem oder mehreren
weiteren Merkmalen, Ganzzahlen, Schritten, Bauteilen oder Gruppen
davon ausschließen.
-
Kurze Beschreibung der Zeichnungen
-
Eine
bevorzugte Ausführungsform
von der vorliegenden Erfindung wird nun detaillierter mit Bezug
auf die begleitenden Zeichnungen beschrieben, in denen:
-
1 ein
Mobiltelefon gemäß der vorliegenden
Erfindung zeigt, welches betriebsmäßig mit einem Kommunikationsnetzwerk
verbunden ist;
-
2 ein
schematisches Aufbaudiagramm von einem Aufbau von einem Stapel von
Protokollen, jeweils im Mobiltelefon und im Kommunikationsnetzwerk,
ist;
-
3 ein
Blockdiagramm von einer Warteschlange und einer Gruppe von Decodern
ist, welche gemäß der Erfindung
angeordnet sind;
-
4 drei
unterschiedlich codierte Datenblöcke
darstellt;
-
5 ein
Ablaufdiagramm von der Einteilung von dem Decodierungsprozess gemäß der vorliegenden
Erfindung ist; und
-
6 ein
beispielhaftes Zeitdiagramm von dem Decodierungsprozess gemäß der Erfindung
ist.
-
Genaue Beschreibung von Ausführungsformen
-
1 dient
zur Darstellung von einer tragbaren Kommunikationseinrichtung, welche
als ein Mobiltelefon 1 ausgeführt ist, in welchem die vorliegende Erfindung
einbezogen ist. Das Mobiltelefon 1 enthält eine Antenne 10, welche
auf eine herkömmliche
Weise zur Verbindung des Mobiltelefons 1 mit einem Kommunikationsnetzwerk 21 über eine
Drahtlosverbindung 20 durch eine Basisstation 22 verwendet wird.
Auf eine bekannte Weise bietet das Kommunikationsnetzwerk 21,
beispielsweise ein UMTS-Netzwerk,
Sprach-, Daten- und Faxruf-Dienste an den Benutzer von dem Mobiltelefon 1 an.
Das Mobiltelefon 1 kann ebenfalls einen Zugriff auf zusätzliche
Anwendungen, wie beispielsweise Internet/Intranet, Videokonferenz,
Nachrichten-Pushdienst, Netzwerk-Spiele und Videotelefon, über das
Kommunikationsnetzwerk 21 haben. Ferner ist das Mobiltelefon 1 dazu angepasst,
einen eingehenden Strom von Datenblöcken, welche eine Bitrate von
bis zu 15 Mbps haben, zu empfangen (beispielsweise von einem Übertrager von
der Basisstation 22) und zu decodieren. Gemäß dem Verfahren
von der Erfindung werden die empfangenen Datenblöcke in eine Warteschlange gesetzt
und dann auf einem Pool von Decodern eingeteilt, wie im Folgenden
beschrieben wird.
-
Ferner
enthält
das Mobiltelefon 1 eine Anzeige 11, einen Lautsprecher 12,
ein Mikrophon 13 und eine Tastatur 14, alle auf
eine bekannte Weise, um eine Schnittstelle zur Verwendung des Mobiltelefons 1 zu
erzeugen.
-
Ferner
enthält
das Mobiltelefon 1 einen Empfänger und einen Übertrager
zum Austauschen von Daten mit dem Kommunikationsnetzwerk 21 über die Basisstation 22.
-
Das
Mobiltelefon 1 und das Kommunikationsnetzwerk 21 unterstützen einen
Hochgeschwindigkeits-Abwärtsstrecke-Paketzugriff (HSDPA),
welcher Abwärtsstrecke-Bitraten
von bis zu 15 Mbps, welche als turbocodierte Pakete befördert werden, darbietet.
-
2 zeigt
einen vereinfachten Stapel von Protokollen 31–35 für WCDMA,
welche im Mobiltelefon 1 angeordnet sind. Wie ebenfalls
in 2 gezeigt, enthält das Kommunikationsnetzwerk 21 auf eine
vereinfachte Weise einen Stapel von Protokollen 41–46,
welche den Protokollen 31–36 von dem Mobiltelefon 1 entsprechen.
Die Protokolle 31–36 und 41–46 unterstützen den
Austausch von Daten mit der hohen Bitrate zwischen dem Mobiltelefon 1 und
dem Kommunikationsnetzwerk 21, wie bereits bekannt ist und
hier nicht weiter beschrieben wird.
-
Ein
RLC-Protokoll 33, 43 stellt, zumindest im bestätigten Modus,
eine ARQ-Funktionalität 50 zwischen
Peers bereit, das heißt
zwischen den RLC-Schichten 24, 44 jeweils von
dem Mobiltelefon 1-Stapel und dem Kommunikationsnetzwerk 21-Stapel, wie durch
einen ersten Doppelpfeil in 2 angezeigt.
-
Ferner
ist ein zweites ARQ-Protokoll 51 zwischen den physikalischen
Schichten (Schicht 1, L1) 36, 46 jeweils von dem
Mobiltelefon 1 und dem Kommunikationsnetzwerk bereitgestellt,
wie durch einen zweiten Doppelpfeil in 2 angezeigt.
Genauer gesagt befindet sich die physikalische Schicht von dem Kommunikationsnetzwerk 21 an
der Basisstation 22 in 1. Das zweite
ARQ-Protokoll 51 steuert die Übertragung von Daten zwischen
der Basisstation 22 und dem Mobiltelefon 1. Dieses
zweite ARQ-Protokoll stellt eine Hybrid-ARQ (HARQ)-Funktionalität bereit.
Das HARQ-Protokoll 51 erlaubt dem Mobiltelefon 1 eine
bestimmte Verarbeitungszeit, und die empfangenen codierten Datenblöcke 61, 63 können daher
in einer Warteschlange 71 gespeichert werden, während sie
auf eine Decodierung in jeglichen der Decoder in einem Decoder-Pool 72 warten.
Die Datenblöcke 61, 63 stellen
verschiedene Typen von codierten Daten, beispielsweise Sprache,
Video und Daten, dar, welches im Folgenden ferner beschrieben wird.
Ebenfalls, wenn die Decodierung fehlerhaft ist, erfordert das HARQ-Protokoll 51 eine
NACK (nicht bestätigt)-Meldung,
welche an einen Empfänger
in der Basisstation 22 zu senden ist. Die NACK-Information
wird dann an eine HARQ-Steuerung in der Basisstation übertragen,
welche die fehlerhaften Blöcke 62 neu überträgt. In der
Zwischenzeit kann der Datenblock 61, 63, welcher
nicht erfolgreich decodiert wurde, in einem Speicher von dem Mobiltelefon 1 zur
nachfolgenden Zusammenfassung mit einem neu übertragenen Datenblock 62 von
der Basisstation 22 gespeichert werden. Dies wird im Folgenden
weiter diskutiert. Indem ACK/NACK-Meldungen zwischen der Li 36, 46 jeweils
von dem Mobiltelefon 1 und der Basisstation 22 gesendet
werden, können
Kanalfehler korrigiert werden, ohne dass das ARQ-Protokoll 50 von
der RLC-Schicht 34, 44 einbezogen wird. Dies stabilisiert
die RTT auf dem RLC-Pegel.
-
3 stellt
eine Decoder-Implementierung gemäß der vorliegenden
Erfindung dar. Ein lokaler Speicher, wie beispielsweise ein RAM-Speicher
oder ein Flash-Speicher, ist im Mobiltelefon 1 zur Implementierung
von einer Warteschlange 71 bereitgestellt, um die Datenblöcke 61, 63,
welche auf eine Decodierung warten, zeitweilig zu speichern, und
um sie möglicherweise
mit einem neu übertragenen
Datenblock 62 zusammenzufassen. Die Warteschlange 71 kann
durch eine zentrale Verarbeitungseinheit 75 (CPU), welche
durch jeglichen kommerziellen verfügbaren Mikroprozessor implementiert
wird, oder einen weiteren Typ von einer programmierbaren Logikschaltung
verwaltet und gesteuert werden. Daher ist die CPU 75 mit
der Warteschlange 71 verbunden.
-
Die
Warteschlange 71 ist mit einer Gruppe 72 von Decodern
verbunden, welche eine Anzahl (Ntd) von
einzelnen Decodern hat, welche in einem Parallel-Aufbau angeordnet
sind. Indem die Decoder parallel angeordnet werden, kann jeder Decoder
einen vollständigen
codierten Datenblock 61, 63 empfangen und ihn
unabhängig
von all den weiteren Decodern von der Gruppe 72 verarbeiten.
In dieser Ausführungsform
werden vorzugsweise zwei oder drei Turbo-Decoder verwendet.
-
Jedoch
kann jegliche Anzahl von iterativen Decodern, welche parallel angeordnet
werden können,
in der Gruppe 72 bereitgestellt und gemäß der vorliegenden Erfindung
implementiert werden. Folgend aus der parallelen Anordnung der Decoder
ist es möglich,
einige der Decoder auszuschalten, wenn die Bitrate keinen Dienst
von allen Decodern anfordert, und somit kann Energie eingespart
werden. Dieses und die Gesamtsteuerung von der Warteschlange 71 und
der Decodergruppe 72 wird durch die CPU 75 behandelt.
Daraus folgend ist die CPU 75 ebenfalls mit der Decodergruppe 72 verbunden.
-
Ferner
stellen zwei Rückführschleifen 73, 74 die
Möglichkeit
bereit, jeweils den ersten Datenblock 61, 63 von
der Warteschlange 71 oder einen Datenblock 61, 63 in
der Gruppe 72 von Decodern an die Warteschlange 71 zu
bewegen, wenn entweder das HARQ-Protokoll eine ACK/NACK-Meldung anfordert und
der Block 61, 63 nicht auf dem Decoder ausprobiert
wurde oder wenn der Block 61, 63 in der Verarbeitung
der Decodierung ist, jedoch bis jetzt nicht die CRC (Zyklische Redundanz-Überprüfung) passiert hat.
-
Im
UMTS-Standard wird der verwendete Encoder Architekturtyp als ein
parallel verketteter Faltungscode bezeichnet. In der UMTS-Spezifikation enthält der Encoder
zwei 8-Zustand-Komponenten-Encoder
und einen Verschachteler. Daten, welche gemäß diesem Standard codiert sind,
können unter
Verwendung einer iterativen Decodierungstechnik, wie beispielsweise
eine Turbodecoder-Implementierung, decodiert werden. Die Dienstzeit
in einem iterativen Decoder ist willkürlich, welches es vorteilhaft
gestaltet, einen Satz von Decodern zu gruppieren.
-
4 stellt
den codierten Datenblock 61 dar, welcher sich auf einen
Bitstrom bezieht, welcher Daten, wie beispielsweise Sprache, Video,
Fax, usw., darstellt, welcher einem Übertrager eingegeben wird. Der
Datenblock 61 wird durch jeglichen der Decoder von der
Gruppe 72 decodiert. Ebenfalls sind ein neu übertragener
codierter Datenblock 62 und ein zusammengefasster codierter
Datenblock 63, welcher ebenfalls durch jeglichen der Decoder
von der Gruppe 72 zu decodieren ist, dargestellt. Die Linien
von den Blöcken 61, 62, 63 entsprechen
den codierten Bits von den Blöcken.
Es ist jedoch zu erwähnen, dass
es dort für
gewöhnlich
viel mehr Bits in einem codierten Block als in 4 angezeigt
sind, gibt, da die Blöcke
von 4 lediglich darstellhaft sind. Der neu übertragene
Datenblock 62 bezieht sich auf die gleichen Informationsbits
wie der erste Datenblock 61. Der zusammengefasste Datenblock 63 enthält die Bits
von dem ersten und neu übertragenen
Datenblock 61, 62. Der erste Datenblock 61 enthält bestimmte
codierte Bits, welche durch Linien in dem ersten Datenblock 61 in 3 angezeigt
sind. Ebenfalls kann der neu übertragene
Datenblock 62, welcher sich auf die gleichen Informationsbits
wie der erste Datenblock 61 bezieht, weitere codierte Bits enthalten,
welche durch Linien in dem zweiten Datenblock 62 in 4 angezeigt
sind.
-
Der
neu übertragene
Datenblock 62 wird mit dem gespeicherten ersten Datenblock 61 beim
Empfang von beispielsweise einer Summierung der Wahrscheinlichkeitsverhältnisse
von den empfangenen codierten Bits zusammengefasst. Wie zu verstehen
ist, kann es mehr als eine Neuübertragung
geben, bei welcher jeder neu übertragene
Block nicht notwendigerweise die gleichen codierten Bits zu enthalten
braucht. Die Zusammenfassung bildet den zusammengefassten Datenblock 63 aus,
welcher mehr codierte Bits als jeweils Datenblöcke 61 und 62 enthalten
kann. Jedoch können
sich bestimmte codierte Bits zwischen Block 61 und 62 überlappen,
welches durch Linien in dem dritten Datenblock von 3 angezeigt
ist. Wenn der zusammengefasste Datenblock 63 ausgebildet
ist, ersetzt er den ersten Datenblock 61 in der Warteschlange 71.
Danach ist er zur Decodierung in jeglichen der Decoder von der Gruppe 72 bereit.
Ein zusammengefasster Datenblock 63, welcher erfolgreich
decodiert ist, kann abermals mit einem neu übertragenen Datenblock zur
nachfolgenden Decodierung zusammengefasst werden.
-
Die
Zusammenfassung von Datenblöcken 61, 62, 63 hat
den Vorteil, dass die Wahrscheinlichkeit von einer korrekten Decodierung
in vielen Fällen in
Abhängigkeit
von den Funkkanal-Bedingungen mit jeder Neuübertragung und Zusammenfassung
zunimmt.
-
Der
Datenblock 61, 63, welcher derzeit dem Decodierungsprozess
unterliegt, kann nach jeder Iteration hinsichtlich von Fehlern,
beispielsweise durch eine CRC (Zyklische Redundanz-Überprüfung)-Sequenz, überprüft werden.
Gemäß der Erfindung
wird die CRC nach jeder Decoder-Iteration überprüft, und weitere Iterationen
werden gelöscht,
sobald die CRC überprüft. Die
Wahrscheinlichkeit, dass der Datenblock fehlerfrei ist, nimmt mit
der Anzahl von Iterationen stark zu. Es ist jedoch zu erwähnen, dass,
wenn die Decodierung von den Datenblöcken 61, 63 nach ungefähr drei
Iterationen nicht erfolgreich vollendet ist, es unwahrscheinlich
ist, dass die Decodierung ohne eine Neuübertragung fortfahren wird.
Daraus folgend kann der iterative Decodierungsprozess von der vorliegenden
Erfindung vorzeitig an jeglicher Stufe von der Decodierung abgebrochen
werden. Anstelle dessen kann der verarbeitete Datenblock 61, 63 in
der Warteschlange 72 gespeichert werden, und eine Neuübertragung
von dem Datenblock 61, 63 wird durch das Mobiltelefon 1 angefordert,
indem eine NACK-Meldung
an die Basisstation 22 übertragen
wird.
-
Wenn
die maximale Anzahl von Iterationen erreicht ist, wird der iterative
Prozess von dem Decoder bedingungslos abgebrochen, und der Datenblock 61, 63,
welcher derzeit einer Decodierung unterläuft, wird an das Ende von der Warteschlange 72 bewegt, und
es wird eine Neuübertragung
von dem Datenblock 61, 63 angefordert. Der neu übertragene
Datenblock kann dann mit dem lokal gespeicherten Datenblock 61, 63 zusammengefasst
werden, wie oben dargelegt, bevor eine Decodierung von dem zusammengefassten
Block 63 eintritt, welches die Wahrscheinlichkeit von einer
korrekten Decodierung erhöht.
-
Ein
Verfahren zur Einteilung der Decoder von einem Mobiltelefon 1 gemäß der Erfindung
wird nun detailliert erläutert.
-
Das
Einteilungsverfahren gemäß der Erfindung
fasst die Wahrscheinlichkeit zum Neuübertragen von Datenblöcken 62 und
die Wahrscheinlichkeit zum Abbrechen des iterativen Decodierungsprozesses
von einem Datenblock 61, 63, welcher einer Verarbeitung
unterliegt, zusammen. Es ist ebenfalls möglich, einige der Decoder von
der Gruppe 72 auszuschalten, wie oben diskutiert. Dies
wird eine Verwendung von den iterativen Decoder-Ressourcen von dem
Mobiltelefon 1 so wirksam wie möglich gestalten. 3 zeigt
ein schematisches Blockdiagramm von der Warteschlange 71 und
der Gruppe 72 von Decodern. Eine Anzahl von Turbo-Decodern werden in
dieser Ausführungsform
verwendet, vorzugsweise zwei oder drei Decoder, für den 15-Mbps-Bitrate-Datenstrom.
Das HARQ-Protokoll 51 auf L1 46 von dem Übertrager
von der Basisstation 22 erfordert, dass die Decodierung
innerhalb einer vorbestimmten Zeitperiode beendet ist, nach der
der Übertrager
eine ACK/NACK-Meldung von dem Decodierungsprozess von dem Empfänger des
Mobiltelefons 1 erfordert.
-
Es
wird nun auf 5 Bezug genommen, welche in
einem Blockdiagramm die mögliche
Einteilung und Verarbeitung von den Datenblöcken 61, 63 darstellt,
welche auf eine Decodierung warten. Zunächst wird der Datenblock 61 bei 100 durch
den Empfänger
von dem Mobiltelefon 1 empfangen und in der Warteschlange 1 gespeichert.
In Abhängigkeit von
der Warteschlangen-Zeit wird bei 102 entschieden, ob eine
Neuübertragung
notwendig ist. Wenn dies der Fall ist, tritt eine Neuübertragung
auf, und der neu übertragene
Block 62 und der in Warteschlange gesetzte Block 61 werden
dann bei 102 zu einem zusammengefassten Block 63 zusammengefasst
und bei 103 weiter verarbeitet. Wenn eine Neuübertragung
nicht notwendig ist, wird der codierte Datenblock 61 direkt
an 103 übertragen,
wo bestimmt wird, ob irgendein Decoder verfügbar ist. Wenn dies der Fall
ist, wird der Block 61, 63 bei 105 an
jeglichen der Decoder bewegt, welcher zur Decodierung verfügbar ist.
Andererseits wird der Datenblock 61 bei 105 an
die Warteschlange bewegt.
-
Wenn
der Block 61 bei 105 gespeichert wird, wird bei 106 bestimmt,
ob das Zeitlimit erreicht wird, bevor der Datenblock 61, 63 an
jeglichen der Decoder bewegt wird. Das Resultat von dieser Bestimmung
führt zu
vier unterschiedlichen Fällen:
Im
ersten Fall, wenn das Zeitlimit erreicht wird, bevor irgendein Decoder
verfügbar
ist, wird der Datenblock 61, 63 an das Ende von
der Warteschlange 72 bewegt, wie durch die erste Rückführschleife 73 von 3 angezeigt.
Es wird ebenfalls eine NACK-Meldung bei 107 an den Übertrager
von der Basisstation 22 gesendet, welche eine Neuübertragung
von dem neu übertragenen
Datenblock 62 auslöst.
-
Im
zweiten Fall, wenn das Zeitlimit nicht erreicht ist, wird der Datenblock 61 bei 104 an
jeglichen der Decoder von der Gruppe 72 zur Decodierung
bewegt. Dann wird bei 108 bestimmt, ob die Decodierung
innerhalb des Zeitlimits erfolgreich ist. Eine erfolgreiche Decodierung
wird bei 109 eine ACK-Meldung auslösen, welche von dem Mobiltelefon 1 an den Übertrager
von der Basisstation 22 zu übertragen ist.
-
In
einem dritten Fall, wenn bei 108 bestimmt ist, dass die
Decodierung bei 104 innerhalb des Zeitlimits nicht beendet
(das heißt
keine erfolgreiche Decodierung) ist, wird bei 107 eine
NACK-Meldung an den Übertrager
von der Basisstation 22 übertragen. Ebenfalls wird der
Datenblock 61 an das Ende von der Warteschlange 71 bewegt,
welches durch die zweite Rückführschleife 74 in 3 angezeigt
ist.
-
In
dem vierten Fall, wenn bei 108 bestimmt ist, dass der Datenblock 61 nicht
erfolgreich decodiert ist oder die maximale Anzahl von Iterationen
innerhalb des Zeitlimits erreicht ist, wird bei 107 eine NACK-Meldung
von dem Mobiltelefon 1 an den Übertrager von der Basisstation 22 übertragen.
Ebenfalls wird der Datenblock 61 an das Ende von der Warteschlange 71 bewegt,
wie durch die zweite Rückführschleife 74 in 3 angezeigt.
-
Es
ist ebenfalls zu erwähnen,
dass es möglich
ist, den Decodierungsprozess bei 104 vorzeitig abzubrechen,
wie beispielsweise nach 2–3
Iterationen, wie oben diskutiert, im Falle, dass die CRC überprüft.
-
Wenn
ein Datenblock 61 an das Ende von der Warteschlange 71 bewegt
wird und darin gespeichert wird, tritt die Zusammenfassung mit dem
neu übertragenen
Block 62 zu einem zusammengefassten Block 63 während der
Einreihung auf. Dann wird der zusammengefasste Block 63 gemäß den Schritten 106, 107, 104, 108 verarbeitet,
bis die Decodierung erfolgreich vollendet ist, und die ACK-Meldung wird
bei Schritt 108 übertragen.
-
Im
Falle, dass eine fehlerhafte Decodierung wahrscheinlich ist, kann
es dann vorteilhaft sein, den iterativen Prozess im Decoder zu unterbrechen
und anstelle dessen eine Neuübertragung
anzufordern. Nach einer schnellen Neuübertragung von der Basisstation 22 kann
der neu übertragene
Datenblock 62 mit dem in der Warteschlange 71 gespeicherten
Datenblock 61 zusammengefasst werden, und der zusammengefasste
Datenblock 63 kann anstelle dessen decodiert werden. In
den meisten Fällen
ist die Leistung mit einer recht kleinen Anzahl von Iterationen,
vorzugsweise 1–3,
erfolgreich, und das Einteilungsverfahren gemäß der Erfindung nutzt diese Wahrscheinlichkeit
durch ein automatisches Anpassen, das heißt Erhöhen oder Verringern, der maximalen
Anzahl von Iterationen (Niter) in den Decodern
in Abhängigkeit
von der empfangenen Bitrate aus. Daher stellt die Einteilung von
dem Decodierungsprozess gemäß der Erfindung
die Möglichkeit
bereit, hohe Bitraten mit einer beschränkten Anzahl von Decodern zu
unterstützen.
-
Wenn
die Decodierung von den Datenblöcken 61, 63 nicht
erfolgreich war oder die Datenblöcke 61, 63 innerhalb
des Zeitlimits nicht an irgendeinem der Decoder bewegt wurden, werden
die Datenblöcke 61, 63 an
das Ende von der Warteschlange 71 bewegt, wie oben dargelegt.
Wenn der Übertrager von
der Basisstation 22 die ACK/NACK-Meldung empfängt, bestimmt
er, ob ein spezifischer Datenblock 61, 63 neu
zu übertragen
ist (NACK) oder ein neuer Block zu übertragen ist (ACK). Wenn eine NACK-Meldung
empfangen wird, wird ein Datenblock 62 vorbereitet und
an das Mobiltelefon 1 übertragen.
Wenn der neu übertragene
Datenblock 62 durch das Mobiltelefon 1 empfangen
wird, wird der neu übertragene
Datenblock 62 mit dem gespeicherten Datenblock 61, 63 zu
einem zusammengefassten Datenblock zusammengefasst, wie oben dargelegt. Dieser
zusammengefasste Datenblock 63 hat eine verbesserte Wahrscheinlichkeit
darin, erfolgreich decodiert zu werden, da der zusammengefasste
Block 63 mehr Energie und/oder Paritätsbits enthält. Ein Datenblock 61, 63 kann
mehrere Male zusammengefasst werden, wodurch die Wahrscheinlichkeit
zu einer erfolgreichen Decodierung nach jedem Zusammenfassen zunimmt.
-
Ein
wichtiges Merkmal von der vorliegenden Erfindung liegt darin, wenn
viele Datenblöcke 61, 63 darin
fehlerhaft sind, die Gruppe 72 von Decodern zu erreichen,
bevor sie an das Ende von der Warteschlange 71 bewegt werden.
In einem solchen Fall kann die maximale Anzahl von erlaubten Iterationen Niter von den Decodern automatisch, beispielsweise durch
die CPU 75, verringert werden. In dieser Ausführungsform
wird die Adaption von der maximalen Anzahl von Iterationen in jedem
Decoder automatisch durch die CPU 75 geändert, wenn die Anzahl von
Blöcken 61, 63,
welche direkt vom Anfang der Warteschlange 71 zum Ende
der Warteschlange 71 bewegt werden, vorbestimmte Indizes
erreicht. Jedoch, wie durch den Fachmann anerkannt wird, ist die
Adaption nicht unbedingt notwendig oder kann unterschiedlich implementiert
werden. Dies führt
zu einer verringerten Wahrscheinlichkeit von korrekt decodierten
Datenblöcken 61, 63,
jedoch verringert es ebenfalls die Decodierungszeit, das heißt, dass
mehrere Datenblöcke 61, 63 auf
der Gruppe 72 von Decodern pro Zeiteinheit ausprobiert
werden können. Die
optimale Anzahl von Iterationen N opt / iter in jedem Decoder von der Gruppe 72 und
die Indizes sind ein Entwurfsparameter, welcher in Abhängigkeit
von der derzeitigen Verbindungs-20-Qualität, als auch von den Bedienerpräferenzen
des Mobil-Telekommunikationsnetzwerks 21 unterschiedlich
eingestellt werden kann.
-
Die
maximale Anzahl von Iterationen von einem bestimmten Decoder von
der Gruppe von Decodern 72 kann ebenfalls automatisch in
Abhängigkeit von
dem Typ vom codierten Datenblock, welcher durch den Decoder zur
Decodierung empfangen wird, automatisch adaptiert werden. Wenn der
empfangene Datenblock zum ersten Mal zu decodieren ist, das heißt, dass
er kein zusammengefasster Datenblock ist, kann die maximale Anzahl
auf eine erste Anzahl von Iterationen, wie beispielsweise 8, eingestellt
werden. Wenn der empfangene Datenblock jedoch ein zusammengefasster
Datenblock 63 ist, kann die maximale Anzahl von Iterationen
auf eine zweite Anzahl von Iterationen, wie beispielsweise 1–4, eingestellt
werden. Ein zusammengefasster Datenblock hat eine erhöhte Wahrscheinlichkeit
einer erfolgreichen Decodierung. Somit, wenn der zusammengefasste
Datenblock nach der zweiten Anzahl von Iterationen nicht erfolgreich
decodiert ist, wird er wahrscheinlich nicht erfolgreich decodiert
werden. Die erste und zweite maximale Anzahl von Iterationen hat
den Vorteil, dass der Durchsatz von der Gruppe von Decodern zunehmen
wird.
-
6 zeigt
eine Simulation eines Decodierungsbetriebes, wenn ein N-gestaffeltes
Stopp- und Warte-Protokoll mit N = 6 unterschiedlichen Linien zur
Simulierung des HARQ-Protokolls 51 auf
L1 36, 46 verwendet wird. Das Einteilungs-Schema
für den Decodierungsprozess
gemäß der Erfindung
wird mit einem Decoder verwendet. Die angebotene Bitrate beträgt 2,88
Mbps und die Coderate beträgt
R = 0,5 in einem AWGN („Additives
Weißes
Gauss-Rauschen")-Kanal.
Aus Gründen
der Vereinfachung wird lediglich ein Decoder verwendet. Jedoch,
wie zuvor in diesem Dokument diskutiert, kann es notwendig sein,
mehr als einen Decoder bereitzustellen, um eine Bitrate von bis
zu 15 Mbps zu unterstützen.
-
In 6 ist
die Decodierungszeit, welche eine Anzahl von Iterationen enthält, durch
eine Linie umrissen, welche mit einem Kreis beginnt. Das Zeitlimit,
bei welchem es notwendig ist, die ACK/NACK-Meldung an den Übertrager
zu senden, ist durch eine Raute angezeigt. Eine erfolgreiche Decodierung
ist durch einen Kreis hinter der Linie angezeigt, während eine
nicht erfolgreiche Decodierung durch ein Quadrat angezeigt ist.
-
Wenn
der Empfänger
von dem Mobiltelefon 1 die Datenblöcke 61 empfängt, werden
sie in der Warteschlange 71 gespeichert, wenn kein Decoder verfügbar ist.
Wie in 6 zu erkennen, kann der erste ankommende Datenblock 61 direkt
an die Decoder ohne eine Zwischenspeicherung in der Warteschlange 71 bewegt
werden. Das Speichern wird symbolisch durch einen Spalt zwischen
dem Beginn des Kreises und dem vollständigen Empfang von dem Datenblock 61, 63 symbolisch
dargestellt. Jedoch ist zu der Zeit, bei welcher Datenblöcke Nummer
2–6 empfangen
werden, der Decoder nicht verfügbar,
und nachfolgend sind die Datenblöcke 61 in der
Warteschlange 71 zu speichern. Die Datenblöcke 61 werden
dann dem Decoder gemäß einer „das Älteste zuerst"-Regel zugeführt.
-
Die
Decodierung des ersten Datenblocks 61 wird innerhalb des
Zeitlimits beendet, ist jedoch nicht erfolgreich. Daraus folgend
wird eine NACK-Meldung an den Übertrager
von der Basisstation 22 übertragen, und der Datenblock 61 wird
an das Ende von der Warteschlange 71 bewegt. Dieser Übertrager
empfängt
die NACK-Meldung und bereitet den ersten Datenblock als einen neu übertragenen
Datenblock 72 vor und überträgt diesen.
Dies entspricht dem vierten Fall von 5.
-
Die
Decodierung des dritten Datenblocks 62 wird nicht innerhalb
des Zeitlimits beendet, und es wird eine NACK-Meldung an den Übertrager gesendet. Dies entspricht
dem dritten Fall von 5.
-
Der
erste Fall von 5, das heißt, dass der Datenblock 61 nicht
innerhalb des Zeitlimits an den Decoder bewegt. wird, tritt zum
ersten Mal auf, bei welchem der sechste Datenblock von 6 zu
decodieren ist. Da 6 den Betrieb von dem Decoder
offenbart, liegt der sechste Datenblock 61 in 6 während der
ersten Runde seiner beabsichtigten Decodierung nicht vor. Jedoch
wird eine NACK-Meldung an den Übertrager
von der Basisstation 22 übertragen, welches eine Neuübertragung
auslöst. Daher
ist das erste Mal, bei welchem der sechste Datenblock erscheint,
dieser ein zusammengefasster Datenblock 63.
-
Schließlich tritt
der zweite Fall von 5, das heißt, dass die Decodierung innerhalb
des Zeitlimits erfolgreich ist, auf, wenn der zweite Datenblock mit
einem neu übertragenen
Datenblock 62 zusammengefasst wurde, und der zusammengefasste
Datenblock 63 wird das erste Mal decodiert. Daraus folgend
wird eine ACK-Meldung an den Übertrager
von der Basisstation 22 übertragen, welcher dann einen siebten
Datenblock 61 über
Leitung 2 übertragen kann.
-
In
der Ausführungsform
für das
Simulationsergebnis von 6 wird die „das Älteste zuerst"-Regel verwendet,
das heißt,
dass dem Datenblock 61, 63 in der Warteschlange
eine Priorität
gegeben wird, welche die längste
Wartezeit hat. Dies führt
dazu, dass der sechste Datenblock in 6 in der
ersten Runde übersprungen
wird, wie oben diskutiert. Jedoch ist es in einer weiteren Ausführungsform
gleichwertig gut möglich,
die Datenblöcke 61, 63 von
der Warteschlange an die Decoder gemäß einem weiteren Prinzip zu
bewegen, beispielsweise „Zuletzt
herein – zuerst
heraus" (LIFO),
solange der Datenblock 61, 63 mit einem neu übertragenen
Datenblock 62 zusammengefasst wurde.
-
Anhand
von 6 ist deutlich, dass das Einteilungsverfahren
gemäß der Erfindung
die Verwendung von den Decodern optimiert, das heißt, dass
ein Decoder niemals im Leerlauf ist, solange es mehrere Datenblöcke 61, 63 in
der Warteschlange 71 gibt, welche auf die Decodierung warten.
Wenn jedoch einige Decoder in den Leerlauf kommen, oder wenn die Anzahl
von Blöcken 61, 63 in
der Warteschlange 71 gering ist, ist es möglich, jegliche
der Decoder automatisch auszuschalten, um eine Energie einzusparen.
Daraus folgend, wenn die Anzahl von Blöcken in der Warteschlange 71 zu
groß wird,
kann ein nicht aktiver Decoder automatisch aktiviert werden. In
dieser Ausführungsform
behandelt eine Steuerung, wie beispielsweise eine CPU 75,
die Aktivierung von den Decodern automatisch. Beispielsweise können jegliche
der Decoder aktiviert/deaktiviert werden, wenn die empfangene Bitrate
einen bestimmten vorbestimmten Pegel erreicht. Der Pegel ist ein
Entwurfsparameter, welcher beispielsweise auf Bedienerpräferenzen
in jedem bestimmten Fall basiert. Jedoch, wie durch den Fachmann
anerkannt, ist diese Aktivierung/Deaktivierung nicht notwendig oder
kann unterschiedlich implementiert werden. Das in der Ausführungsform
angezeigte Niter = 15 wurde als ein Beispiel gewählt, und
daraus resultierend werden einige Datenblöcke verfallen und an das Ende
von der Warteschlange 71 übertragen, bevor sie den Decoder
erreichen. Jedoch ist jegliche weitere angemessene Anzahl von Iterationen
in den Decodern innerhalb des Umfangs von der Erfindung gleichwertig
gut möglich.
-
Wie
verständlich
sind der Gesamtbetrieb von dem Mobiltelefon und der Austausch von
Datenblöcken 61, 62 im
Stand der Technik bekannt, und werden daher in diesem Dokument nicht
weiter diskutiert. Der Betrieb von der Warteschlange 71 und
der Gruppe von den Decodern, wie beispielsweise die Warteschlangen-Behandlung
und die Adaption von der Anzahl von aktiven Decodern und ihrer jeweiligen maximalen
Anzahl von Iterationen in den Decodern, kann durch die gleiche CPU 75 bereitgestellt
werden, welche irgendein kommerziell erhältlicher Mikroprozessor oder
eine programmierbare Logikschaltung sein kann.
-
Die
Erfindung wurde oben mit Bezug auf einige Ausführungsformen beschrieben. Jedoch
sind weitere Ausführungsformen
als jene wie oben angegeben gleichwertig gut innerhalb des Umfangs
von der Erfindung möglich,
welcher durch die anliegenden unabhängigen Ansprüche am besten
definiert ist.