-
Die Erfindung betrifft Mobilkommunikation der nächsten Generation, genauer gesagt, ein Verfahren zur optimalen Ratenanpassung zum Ausführen einer Einstellung der Coderate auf ein optimales Niveau durch Ausführen eines Wiederholvorgangs an jeweiligen Bitströmen in Transportkanälen, die bei einem Mobilkommunikationssystem der nächsten Generation voneinander verschiedene Dienste liefern.
-
ARIE in Japan, ETSI in Europa, T1 in den USA, TTA in Korea und TTC in Japan haben ein fortschrittliches Mobilkommunikationssystem der nächsten Generation auf Grundlage einer Funkzugriffstechnik und einer Netzwerkkerntechnik für das vorhandene GSM(global system for mobile communications)-System, das Multimediadienste wie Audio, Video und Daten bereitstellt, entworfen.
-
Es sollte eine technische Spezifikation für dieses fortschrittliche Mobilkommunikationssystem der nächsten Generation vorgestellt werden, wobei das zugehörige Projekt als Partnerschaftsprojekt der dritten Generation (3GPP = third generation partnership project) bezeichnet wird.
-
Das 3GPP ist in mehrere Gruppen für technische Spezifikationen (TSG = technical specification group) unterteilt, und innerhalb des Forschungsgebiets eines Funkzugriffsnetzes (RAN = radio access network) innerhalb der TSGs beim 3GPP wird eine technische Spezifikation zur Ratenanpassung bei der Aufwärtsübertragung und zur Ratenanpassung bei der Abwärtsübertragung angegeben.
-
Diese Ratenanpassung wird dadurch realisiert, dass ein Einstellvorgang so ausgeführt wird, dass eine Koderate von einem Wert erzielt wird, der für eine Funkschnittstelle am geeignetsten ist, was durch einen Weglassprozess zum Entfernen eines speziellen Bits oder einen Wiederholprozess zum Hinzufügen eines speziellen Bits in einem durch Kanalcodierung erzeugten Bitstrom erfolgt.
-
Bei der Ratenanpassung verwendete Algorithmen können in Weglassalgorithmen und Wiederholungsalgorithmen unterteilt werden, und bei der Aufwärts- und der Abwärtsübertragung werden verschiedene Ratenanpassungsalgorithmen realisiert, weswegen in einer Abwärtsstrecke eine Verschachtelung für einen ratenangepassten Bitstrom ausgeführt wird, während in einer Aufwärtsstrecke eine Ratenanpassung für einen verschachtelten Bitstrom ausgeführt wird. Eine detaillierte Beschreibung hierzu wird anhand der 1 und 2 gegeben.
-
1 ist ein Blockdiagramm, das einen Transportkanal für Multiplexbetrieb eines Teils der Struktur zur Aufwärtsübertragung gemäß einem herkömmlichen 3GPP-Standard zeigt.
-
Bei der Aufwärtsübertragung werden Datenströme mehrerer Transportblöcke mit derselben Dienstqualität (QoS = quality of service) einem Multiplexvorgang unterzogen. Die gemultiplexten Datenströme durchlaufen eine Kanalcodierung, die entsprechend einer gewünschten Coderate ausgeführt wird, und sie werden dann in mehrere Sequenzen aufgeteilt, die eine Prozedur einer ersten Verschachtelung mit der Einheit eines Codesymbols durchlaufen. Derartige erste Verschachtelungssequenzen erfahren eine Ratenanpassung unter Verwendung des Weglass- oder des Wiederholalgorithmus.
-
2 ist ein Blockdiagramm, das einen Transportkanal mit Multiplexvorgang für einen Teil der Struktur für Abwärtsübertragung beim herkömmlichen 3GPP-Standard zeigt.
-
Auch bei der Abwärtsübertragung werden Datenströme mehrerer Transportblöcke mit derselben QoS gemultiplext. Die gemultiplexten Datenströme erfahren eine Kanalcodierung entsprechend der erforderlichen Coderate, und dann werden sie in mehrere Sequenzen aufgeteilt, die eine Ratenanpassungsprozedur unter Verwendung des Weglass- oder des Wiederholalgorithmus erfahren. Derartige ratenangepasste Sequenzen erfahren eine erste Verschachtelung mit der Einheit eines Codesymbols.
-
Beim Kanalcodierungsvorgang, wie er im Transportkanal (TrCH = transport channel) der Aufwärts- oder der Abwärtsstrecke anwendbar ist, wird eine Faltungscodierung oder eine Turbocodierung ausgeführt, wobei auch andere spezielle Kanalcodierungen angewandt werden können.
-
Als Verschachtelungseinrichtung zur Ausführung der ersten Verschachtelung in dieser Aufwärts- oder Abwärtsstrecke wird eine mehrstufige Verschachtelungseinrichtung (MIL = multistage interleaver) verwendet. Es sei darauf hingewiesen, dass die Spanne bei der ersten Verschachtelung unter Verwendung eines MIL denselben Wert wie das Übertragungszeitintervall (TTL) des TrCH aufweist.
-
Die MIL schreibt einen Bitstrom mit Zeileneinheit in einen Verschachtelungsspeicher ein, liest aus diesem mit der Einheit einer Spalte aus und erzeugt einen Ausgangsbitstrom. Dabei ist die charakteristische Vorgehensweise, dass eine Regel auf Grundlage einer Bitumkehr-Reihenfolge bei der Reihenfolge des Lesens des Verschachtelungsspeichers angewandt wird.
-
Wenn z. B. die Spaltenanzahl für die erste Verschachtelungseinrichtung 8 ist, kann jede Spaltenzahl durch drei Ziffern repräsentiert werden. Eine Bitumkehr für die Spaltenzahl kann auf solche Weise ausgeführt werden, dass der Bitwert der Spaltenzahl umgekehrt wird, d. h. bei einem Verfahren wie '0(000) → 0(000)', '1(001) → 4(100)', '2(010 → 2(010)', '3(011) → 6(110)' usw., wodurch von der ersten MIL ein Spaltenbitstrom auf Grundlage der Reihenfolge ”0 4 2 6 1 5 3 7” ausgegeben wird, anstatt dass er auf Grundlage der Reihenfolge ”0 1 2 3 4 5 6 7” ausgegeben wird.
-
Die folgende Tabelle 1 repräsentiert die Reihenfolge des von der MIL ausgegebenen Spaltenbitstroms auf Grundlage der jeweiligen Spalten der Verschachtelungseinrichtung. [Tabelle 1]
R(k)
K | R(0) | R(1) | R(2) | R(3) | R(4) | R(5) | R(6) | R(7) |
2 | 0 | 1 | | | | | | |
4 | 0 | 2 | 1 | 3 | | | | |
8 | 0 | 4 | 2 | 6 | 1 | 5 | 3 | 7 |
-
Tabelle 1 zeigt die Bitumkehr, wenn die Spalte in der Verschachtelungseinrichtung 2, 4 und 8 ist, wobei R(k) das Ergebnis des Bitumkehrvorgangs angibt.
-
3 zeigt als Beispiel die Reihenfolge im von der MIL ausgegebenen Spaltenbitstrom für den Fall, dass die Spaltennummer K in der Verschachtelungseinrichtung 8 ist, wie in Tabelle 1 angegeben.
-
In den dunkleren Blöcken in 3 angegebene Zahlen geben die Reihenfolge im Spaltenbitstrom an, wie er tatsächlich von der Verschachtelungseinrichtung ausgegeben wird.
-
In einem Turbocodierer wird ein Codesymbol durch ein Systembit, ein 1. Paritätsbit und ein 2. Paritätsbit aufgebaut.
-
Das 1. Paritätsbit repräsentiert Ausgangsbits eines ersten rekursiven System-Faltungscodierers (RSC-Codierer = Recursive Systematic Convolutional Coder), und das 2. Paritätsbit repräsentiert Ausgangsbits eines zweiten RSC-Codierers. Beim Turbocode ist, im Unterschied zum Faltungscode, das Bedeutungsausmaß der drei das Codesymbol aufbauenden Bits voneinander verschieden. Anders gesagt, ist, hinsichtlich der systematischen Sequenz, der 1. Paritätssequenz und der 2. Paritätssequenz, die einer Turbocodierung und Aufteilung unterzogen wurden, die systematische Sequenz beim Decodieren relativ wichtig und die restlichen Paritätssequenzen sind in ihrem Bedeutungsausmaß verringert.
-
Daher ist es unabdingbar, einen Algorithmus zum Ausschließen eines Weglassvorgangs aus der systematischen Sequenz zu verwenden und bei der Weglasstechnik für den Turbocode nur ein gleichmäßiges Weglassen bei den restlichen Paritätssequenzen auszuführen.
-
Nachfolgend wird der herkömmliche Weglassalgorithmus für die Turbocodierung in der Abwärtsstrecke beschrieben.
-
Zur Turbocodierung in der Abwärtsstrecke wird der Weglassvorgang mit der Einheit eines Codesymbols ausgeführt, im Unterschied zum Faltungscode, bei dem das Weglassen im Wesentlichen in der Einheit eines Codebits ausgeführt wird.
-
Als ein Beispiel sorgt einer der Weglassalgorithmen für den Turbocode in der Abwärtsstrecke dafür, dass die Weglassposition der Codesymboleinheit so bestimmt wird, dass das Weglassen konstant mit einer Codesymboleinheit ausgeführt wird, woraufhin die Paritätssequenzen an einer entsprechenden Codesymbolposition abwechselnd weggelassen werden.
-
Bei einem anderen Weglassalgorithmus zur Turbocodierung in der Abwärtsstrecke wird eine Position, an der ein Weglassen mit Codesymboleinheit auftritt, auf den doppelten Abstand vergrößert, woraufhin die Paritätssequenzen gleichzeitig für jedes Codesymbol weggelassen werden, in dem ein jeweiliger Weglassvorgang auftritt.
-
Diese beschriebenen Weglassalgorithmen zur Turbocodierung werden in der Abwärtsstrecke berücksichtigt, d. h., dass das Weglassen unabhängig von der Verschachtelungsprozedur ausgeführt werden kann, da die Weglassprozedur zur Turbocodierung in der Abwärtsstrecke vor der Verschachtelung auftritt.
-
Wenn jedoch der Weglassalgorithmus zur Turbocodierung in der Aufwärtsstrecke betrachtet wird, sollte die Weglassprozedur zur Ratenanpassung nach der Verschachtelung ausgeführt werden, weswegen zusätzliche Terme im Vergleich zur Abwärtsstrecke zu berücksichtigen sind.
-
D. h., dass bei der Weglassprozedur zur Turbocodierung in der Abwärtsstrecke verwendete Parameter nicht als solche verwendet werden können, also andere Parameter verwendet werden sollten, um einem gleichmäßigen Weglassen mit Codebiteinheit unter Berücksichtigung der Verschachtelung zu genügen. Anders gesagt, sollte, wenn der gleichmäßige Umfang für den jeweiligen verschachtelten Spaltenbitstrom weggelassen wird, der Parameter so bestimmt werden, dass der Weglassvorgang selbst für den Bitstrom vor der Verschachtelung gleichmäßig ausgeführt wird.
-
Um derartigen zusätzlichen Termen zu genügen, sollte ein optimaler Weglassalgorithmus zur Turbocodierung in der Aufwärtsstrecke vorgeschlagen werden, jedoch wird derzeit keine Weglasstechnik für einen derartigen Turbocode in Betracht gezogen.
-
Ferner entsteht dann, wenn der bei einer vorhandenen Abwärtsstrecke verwendeten Parameter unverändert bei der Aufwärtsstrecke verwendet wird, selbst bei der Wiederholungsprozedur für den Turbocode, ein Problem dahingehend, dass nur der Strom einer speziellen Zeile wiederholt wird.
-
Auch liegt derzeit die Situation vor, dass kein Ratenanpassungsverfahren betrachtet wird, das auf alle Kanalcodes wie den Turbocode und den Faltungscode usw. sowie auf bei der Aufwärts- und der Abwärtsübertragung verwendete Kanalcodes anwendbar ist.
-
Die Veröffentlichung von LGIC: Alternative Uplink Puncturing Algorithm (TSG-RAN Working Group 1(Radio) meeting #6, Espoo, Finland, 13.–16. Juli 1999; TSGR1#6(99)XXX vom 9. Juli 1999 beschreibt einen Punktierungs- oder Weglassalgorithmus, bei dem zunächst Verschiebewerte S für die einzelnen Spalten virtueller Verschachtelungsmuster berechnet werden, die auf der Grundlage eines konkreten ersten Verschachtelungsmusters erhalten werden. Bei der Berechnung der einzelnen zu punktierenden Bitpositionen in beiden der virtuellen Verschachtelungsmuster wird dann ein und dasselbe Punktierungsmuster verwendet. Die Vorgehensweise beim Wiederholen von Bits ist hier nicht angesprochen.
-
Der Erfindung liegt die Aufgabe zugrunde, ein optimales Ratenanpassungsverfahren zu schaffen, mit dem für jeden Bitstrom in TrCHs, die im Mobilkommunikationssystem der nächsten Generation voneinander verschiedene Dienste unter Verwendung von breitbandigem Codemultiplex-Vielfachzugriff (nachfolgend als W-CDMA = Wideband Code Division Multiple Access) bereitstellen, für ein gleichmäßiges Wiederholmuster gesorgt ist.
-
Diese Aufgabe wird erfindungsgemäß durch das Verfahren nach Anspruch 1 gelöst. Vorteilhafte Weiterbildungen und Ausgestaltungen der Erfindung sind in den Unteransprüchen beschrieben.
-
Die beigefügten Zeichnungen, die vorhanden sind, um für ein weiteres Verständnis der Erfindung zu sorgen, veranschaulichen Ausführungsbeispiele der Erfindung, und sie dienen zusammen mit der Beschreibung dazu, die Prinzipien der Erfindung zu erläutern.
-
1 ist ein Blockdiagramm, das einen Transportkanal mit einem Multiplexvorgang für einen Teil einer Struktur für eine Aufwärtsstrecke gemäß einem herkömmlichen 3GPP-Standard zeigt;
-
2 ist ein Blockdiagramm, das einen Transportkanal mit einem Multiplexvorgang für einen Teil einer Struktur für eine Abwärtsstrecke gemäß einem herkömmlichen 3GPP-Standard zeigt;
-
3 veranschaulicht in einem Beispiel die Reihenfolge eines von einer MIL ausgegebenen Spaltenbitstroms für den Fall, dass die Spaltenzahl der verwendeten Verschachtelungseinrichtung K = 8 ist;
-
4 ist ein Blockdiagramm, das eine Prozedur für optimale Ratenanpassung in der Aufwärtsstrecke gemäß der Erfindung zeigt;
-
5 zeigt ein Blockdiagramm zum Aufbau eines Kanalcodierers bei der Erfindung;
-
6 zeigt ein Verschachtelungsmuster von einer MIL für den Fall, dass eine Verschachtelungseinrichtung mit der Spaltenzahl K = 8 verwendet wird;
-
7 zeigt ein virtuelles Verschachtelungsmuster für zwei codierte Paritätssequenzen;
-
8 zeigt jeweilige Weglassmuster, wie sie durch eine erfindungsgemäße Ratenanpassungsprozedur für die Aufwärtsstrecke betreffend das in 7 dargestellte virtuelle Verschachtelungsmuster erzeugt werden;
-
9 zeigt die gesamten Weglassmuster für den Fall, dass das in 8 dargestellte Weglassmuster für jede virtuelle Verschachtelungseinrichtung tatsächlich auf ein erstes Verschachtelungsmuster angewandt wird;
-
10 zeigt jeweilige Weglassmuster, wie sie durch eine erfindungsgemäße Prozedur zur Ratenanpassung in der Aufwärtsstrecke betreffend das in 7 dargestellte virtuelle Verschachtelungsmuster erzeugt werden, und zwar für den Fall, dass die Anzahl der Weglassungen pro Spalte einer ersten Verschachtelungseinrichtung eine ungerade Zahl ist;
-
11 zeigt ein anderes Beispiel für ein Weglassmuster gemäß der Erfindung für den Fall, dass die Anzahl der Weglassungen pro Spalte einer ersten Verschachtelungseinrichtung eine ungerade Zahl ist;
-
12 zeigt ein anderes Beispiel bei dem ein anderes Weglassmuster, wie es durch eine erfindungsgemäße Prozedur zur optimalen Ratenanpassung erzeugt wird, tatsächlich auf ein erstes Verschachtelungsmuster angewandt wird, und zwar für den Fall, dass die Anzahl von Weglassungen pro Spalte einer ersten Verschachtelungseinrichtung eine ungerade Zahl ist;
-
13 zeigt ein Weglassmuster für einen Turbocode, wie durch Einstellen eines Parameters a erzeugt, der bei einer erfindungsgemäßen Prozedur zur optimalen Ratenanpassung verwendet wird;
-
14 zeigt ein Weglassmuster für eine Einrichtung zur virtuellen Verschachtelung mittels bekannter Berechnung eines Verschiebeparameters sowie ein Weglassmuster in der Einrichtung zur virtuellen Verschachtelung mittels erfindungsgemäßer Berechnung des Verschiebeparameters für den Fall, dass ein Gesamtweglassen von mehr als 33,3% erzeugt wird, d. h. für den Fall, dass für jede Paritätssequenz ein Weglassen von über 50% erzeugt wird; und
-
15 zeigt ein Wiederholungsmuster unter Verwendung eines bekannten Parameters sowie ein Wiederholungsmuster unter Verwendung des erfindungsgemäßen Parameters;
-
Nun wird im Einzelnen auf bevorzugte Ausführungsformen der Erfindung Bezug genommen, zu denen Beispiele in den beigefügten Zeichnungen veranschaulicht sind.
-
Vor einer detaillierten Beschreibung der Erfindung erfolgt eine Beschreibung zweier Decodierer, wie sie in einem einen Turbocode nutzenden System verwendet werden. An den zwei Enden einer Verschachtelungseinrichtung in einem Turbodecodierer sind ein erster und ein zweiter Decodierer angeordnet, und in diese eingegebene Codebits sind jeweils mit Elementen einer 1. Paritätssequenz und einer 2. Paritätssequenz gebildet. Um die Gesamtfunktion des Turbodecodierers zu verbessern, ist es wichtig, dass die beiden Decodierer jeweils dasselbe Decodiervermögen aufweisen. Ein wichtiger Gesichtspunkt für einen Decodierer ist es, um sein Funktionsvermögen zu maximieren, dass das Weglassen an einer eingegebenen Paritätssequenz für den Decodierer mit einem gleichmäßigen Intervall erfolgt.
-
Daher ist es sehr wichtig, dass das Weglassen auf Grundlage eines gleichmäßigen Werts die 1. Paritätssequenz eines ersten RSC-Codierers und die 2. Paritätssequenz eines zweiten RSC-Codierers beeinflusst, wobei derartige Eigenschaften der Decodierungsprozedur auf der Sendeseite berücksichtigt werden, und das Weglassen auf Grundlage eines gleichmäßigen Intervalls sollte die jeweiligen Paritätssequenzen beeinflussen.
-
Demgemäß erfüllt ein Weglassalgorithmus für einen Turbocode in einer Aufwärtsstrecke gemäß einem Ausführungsbeispiel der Erfindung die folgenden Bedingungen:
- – Erstens ist ein Weglassen eines Elements der systematischen Sequenz ausgeschlossen.
- – Zweitens wird, für Paritätssequenzelemente, ein Weglassvorgang auf Grundlage eines gleichmäßigen Werts aus Elementen der 1. und 2. Paritätssequenz erzeugt.
- – Drittens weist in einer Gesamtbitspalte vor dem Ausführen einer ersten Verschachtelung mit der Einheit eines Codesymbols die Position für das Weglassen in jeder Paritätssequenz ein gleichmäßiges Intervall auf.
- – Zusätzlich zu diesen drei Bedingungen bei der Erfindung könnte die folgende eine Bedingung entsprechend einer speziellen Eigenschaft einer Aufwärtsstrecke berücksichtigt werden.
- – Viertens wird ein Weglassen mit demselben Wert für alle Funkübertragungsrahmen, die die Verschachtelung durchlaufen haben, erzeugt, d. h. es wird ein gleichmässiges Codebit für jeweilige verschachtelte Spaltenbitströme weggelassen.
-
Bei der Erfindung wird ein Weglassalgorithmus angegeben, der alle obigen Bedingungen für einen Turbocode in einer Aufwärtsstrecke erfüllt.
-
Eine Weglassprozedur für eine Turbocode-Ratenanpassung in einer Aufwärtsstrecke gemäß der Erfindung wird wie folgt detaillierter erläutert.
-
Der Zweckdienlichkeit halber wird hier nur ein Fall beschrieben, bei dem die Anzahl K der Spalten in einer Verschachtelungseinrichtung den Wert 8 hat. Die Erfindung ist jedoch auf andere Fälle anwendbar, wie dann, wenn die Anzahl K der Spalten in der Verschachtelungseinrichtung 1, 2, 4 ist.
-
4 ist ein Blockdiagramm, das eine optimale Prozedur zur Ratenanpassung in einer Aufwärtsstrecke gemäß der Erfindung veranschaulicht, und 5 ist ein Blockdiagramm, das detaillierter den Aufbau eines Kanalcodierers bei der Erfindung zeigt.
-
Im Fall von Turbocodierung mit der Rate 1/3, ist x als Ausgangssignals eines Kanalcodierers 10 eine systematische Sequenz, y ist eine 1. Paritätssequenz und z ist eine 2. Paritätssequenz, wie im zweiten RSC-Codierer mittels der Eingabe einer turboverschachtelten systematischen Sequenz erzeugt.
-
Diese aufgeteilten Sequenzen sind Ausgangssignale, die sich als Ergebnis der Turbocodierung für den TrCH ergeben, und sie werden dann einer ersten Verschachtelung unterzogen, die für eine Sequenz ausgeführt wird, die durch Multiplexen der aufgeteilten Sequenzen erhalten wurde.
-
Zwei Paritätssequenzen y, z innerhalb der turbocodierten Ausgangssignale sind Ausgangssignale der jeweiligen RSC-Codierer 12, 13.
-
Bei der Erfindung wird speziell jedes unabhängige virtuelle Verschachtelungsmuster für ein Element der 1. Paritätssequenz (y) und ein Element der 2. Paritätssequenz (z) unter drei Sequenzen aufgebaut, die die erste Verschachtelung durchlaufen, und dieser Aufbauvorgang wird in einem Bitauswählblock 30 ausgeführt.
-
Ein Ratenanpassungsblock (RMB) 40 führt denselben Weglassalgorithmus gesondert an zwei individuellen virtuellen Verschachtelungsmusters aus, die im Bitauswählblock 30 aufgebaut wurden.
-
6 zeigt ein Verschachtelungsmuster einer ersten Verschachtelungseinrichtung 20, wenn die Spaltenzahl K der bei der Erfindung verwendeten Verschachtelungseinrichtung 8 ist, und 7 zeigt virtuelle Verschachtelungsmuster für zwei codierte Paritätssequenzen.
-
7a zeigt ein virtuelles Verschachtelungsmuster für das Element der ersten Paritätssequenz, und 7b zeigt ein virtuelles Verschachtelungsmuster für das Element der zweiten Paritätssequenz.
-
In 7 repräsentieren Zahlen in den oberen dunklen Teilen Spaltenzahlen einer ursprünglichen ersten Verschachtelungseinrichtung in 6. Anders gesagt, ist die Beziehung zwischen Spaltenzahlen in der virtuellen Verschachtelungseinrichtung und Spaltenzahlen in der tatsächlichen ersten Verschachtelungseinrichtung dargestellt.
-
Der Ratenanpassungsblock (RMB) 40 gemäß dem Ausführungsbeispiel der Erfindung führt im Wesentlichen zwei im Folgenden beschriebene Prozeduren so aus, dass ein Weglassen auf Grundlage einer jeweils gleichmäßigen Größe in zwei virtuellen Verschachtelungseinrichtungen mit derartiger Konstruktion mit einem gleichmäßigen Intervall an einer Sequenz vor der virtuellen Verschachtelung erzeugt werden kann.
-
Als Erstes werden Verschiebeparameter pro Spalte jedes virtuellen Verschachtelungsmusters berechnet.
-
Als Nächstes wird der erste berechnete Verschiebeparameter pro Spalte bei einem tatsächlichen Weglassalgorithmus für ein ursprüngliches Verschachtelungsmuster angewandt. D. h., dass die Verschiebeparameter pro Spalte des virtuellen Verschachtelungsmusters berechnet werden und dies auf den Verschiebeparameter für jede Spalte des ersten Verschachtelungsmusters abgebildet wird.
-
Der RMB 40 wird bei einem Algorithmus verwendet, bei dem das Weglassen mit der Anzahl P von Bits für jede individuelle Spaltensequenz mit der Bitlänge NC im in 6 dargestellten ersten Verschachtelungsmuster ausgeführt wird.
-
Demgemäß wird, für das Element der ersten Paritätssequenz mit einer Bitlänge von NC/3 pro jeweiliger Spalte der Weglassvorgang mit der Anzahl P/2 von Bits ausgeführt, und für das Element der zweiten Paritätssequenz mit der Bitlänge NC/3 wird es für jede jeweilige Spalte ausgeführt, wobei der Weglassvorgang auch mit der Anzahl P/2 von Bits ausgeführt wird.
-
Dabei wendet, wie oben angegeben, der RMB 40 denselben Weglassalgorithmus gesondert auf zwei jeweilige virtuelle Verschachtelungsmuster an, die im Bitauswählblock 30 aufgebaut wurden, d. h. auf die jeweiligen Paritätssequenzelemente.
-
Hierzu sollte als Erstes für jede Spalte der ersten Verschachtelungseinrichtung 20 ein Anfangsfehlerversatzwert eini gewonnen werden. Um den Anfangsfehlerversatzwert eini zu gewinnen, sollte der auf jede Spalte eines Verschachtelungsspeichers angewandte Verschiebeparameter durch einen ersten bzw. einen zweiten Parameterbestimmungsalgorithmus berechnet werden.
-
Nachfolgend werden der erste und der zweite Parameterbestimmungsalgorithmus zum Berechnen der Verschiebeparameter S1, S2 beschrieben, wie sie beim Weglassalgorithmus für die ersten und zweiten Paritätssequenzelemente zu verwenden sind.
-
Beim ersten Parameterbestimmungsalgorithmus zum Berechnen des Verschiebeparameters S1 für das 1. Paritätssequenzelement werden, wenn jede Spalte in der ersten Verschachtelungseinrichtung mit der Bitlänge NC aufgebaut wird, wie in 6 dargestellt, und das Weglassen der Anzahl P von Bits in jeder jeweiligen Spalte ausgeführt wird, die folgenden Grundbedingungen erforderlich. Für die nachfolgend beschriebenen Prozeduren wird als Erstes der Zweckdienlichkeit der Erläuterung halber angenommen, dass P nur einen geradzahligen Wert aufweist. Die Erzeugung eines Werts P für eine ungerade Zahl wird später beschrieben.
-
Als Erstes gilt für die Codesymbolzahl N = ⌊NC/3⌋, wobei ⌊x⌋ die maximale ganze Zahl ist, die nicht größer als x ist, was ein Abschneiden nach dem Dezimalpunkt von x bedeutet, und N kein tatsächliches Codesymbol ist, jedoch als Codesymbol angesehen wird.
-
Zweitens beträgt die Anzahl der Codesymbole nach dem Weglassen: Ni = N – P/2 (1)
-
Drittens gilt q = ⌊N/|Ni – N|⌋, wobei q den mittleren Weglassabstand in Codesymboleinheit repräsentiert.
-
Wenn q unter der obigen grundlegenden Vorbedingung berechnet wird, ist der erste Parameterbestimmungsalgorithmus zum Berechnen des für jede Spalte anwendbaren Verschiebeparameters S1 aus dem berechneten Wert q wie folgt repräsentiert:
-
Beim ersten Parameterbestimmungsalgorithmus wird ”q' = q – GCD(q, K)/K” bereitgestellt, um ein fortlaufendes Weglassen in derselben Spalte zu verhindern, wobei GCD(q, K) den größten gemeinsamen Teiler angibt und R[(3k + 1)modK] ein Ausdruck ist, der dadurch erstellt wird, dass eine Abbildung vom virtuellen Verschachtelungsmuster an die tatsächliche erste Verschachtelungseinrichtung und eine gedankliche Beziehung zwischen den jeweiligen Spalten der ersten Verschachtelungseinrichtung und der Reihenfolge von Funkübertragungsrahmen berücksichtigt werden.
-
S1[R[3k + 1)modK]] = ⌈i·q'⌉divK ist ein Ausdruck, der bereitgestellt wird, um den Verschiebeparameter S1 pro sich ergebendem Funkübertragungsrahmen zu berechnen, wobei das verwendete Zeichen ⌈x⌉ die minimale ganze Zahl angibt, die größer als x ist.
-
Auch sind die folgenden grundlegenden Vorbedingungen beim zweiten Parameterbestimmungsalgorithmus zum Berechnen des Verschiebeparameters S2 für das zweite Paritätssequenzelement erforderlich, wenn jede Spalte der ersten Verschachtelungseinrichtung mit der Bitlänge NC aufgebaut wird, wie in 6 dargestellt, und das Weglassen der Anzahl P von Bits pro jeweiliger Spalte ausgeführt wird.
-
Als Erstes gilt für die Codesymbolzahl N = NC/3, wobei χ die maximale ganze Zahl ist, die nicht größer als x ist, was ein Abschneiden nach dem Dezimalpunkt von x bedeutet, und N kein tatsächliches Codesymbol ist, jedoch als Codesymbol angesehen wird.
-
Zweitens beträgt die Anzahl der Codesymbole nach dem Weglassen: Ni = N – P/2 (2)
-
Drittens gilt q = ⌊N/|Ni – N|⌋, wobei q den mittleren Weglassabstand in Codesymboleinheit repräsentiert.
-
Wenn q unter der obigen grundlegenden Vorbedingung berechnet wird, ist der zweite Parameterbestimmungsalgorithmus zum Berechnen des für jede Spalte anwendbaren Verschiebeparameters S2 aus dem berechneten Wert q wie folgt repräsentiert:
-
Beim zweiten Parameterbestimmungsalgorithmus wird ”q' = q – GCD(q, K)/K” bereitgestellt, um ein fortlaufendes Weglassen in derselben Spalte zu verhindern, wobei GCD(q, K) den größten gemeinsamen Teiler angibt und R[(3k + 2)modK] ein Ausdruck ist, der dadurch erstellt wird, dass eine Abbildung vom virtuellen Verschachtelungsmuster an die tatsächliche zweite Verschachtelungseinrichtung und eine gedankliche Beziehung zwischen den jeweiligen Spalten der zweiten Verschachtelungseinrichtung und der Reihenfolge von Funkübertragungsrahmen berücksichtigt werden.
-
S2[R[(3k + 2)modK]] = ⌈i·q'⌉divK ist ein Ausdruck, der bereitgestellt wird, um den Verschiebeparameter S2 pro sich ergebendem Funkübertragungsrahmen zu berechnen, wobei das verwendete Zeichen ⌈x⌉ die minimale ganze Zahl angibt, die größer als x ist.
-
Die Verschiebeparameter S1, S2 werden durch einen derartigen Parameterbestimmungsalgorithmus, wie er oben angegeben ist, für jede Spalte berechnet, und danach wird der folgende Ratenanpassungsalgorithmus zum Weglassen unter Verwendung des daraus gewonnenen Anfangsfehlerversatzwerts eini ausgeführt.
-
Beim Ratenanpassungs-Weglassalgorithmus werden eine Berechnungsprozedur für den Anfangsfehlerversatzwert eini für das erste Paritätssequenzelement und eine Berechnungsprozedur für den Anfangsfehlerversatzwert eini für das zweite Paritätssequenzelement gesondert ausgeführt.
-
Der folgende Ratenanpassungs-Weglassalgorithmus benötigt die folgenden grundlegenden Vorbedingungen:
- – Erstens gilt NC: Anzahl von Datenbits in jeder Spalte der ersten Verschachtelungseinrichtung.
- – zweitens gilt P = Maximalanzahl von Weglassungen, die pro Spalte in der ersten Verschachtelungseinrichtung zulässig sind.
- – Drittens gilt N = NC/3, was die Anzahl von Bits für jede Paritätsbitsequenz und die Anzahl von Ausführungsvorgängen in der folgenden Schleife bestimmt.
- – Viertens hat die Anzahl der Codesymbole nach dem Weglassen den Wert Ni (1. Paritätssequenz: Ausdruck (1); 2. Paritätssequenz: Ausdruck (2)).
- – Fünftens ist K die Anzahl von Funkübertragungsrahmen von der ersten Verschachtelungseinrichtung {k = 0, 1, 2, 3, ..., K–1}, wobei K die Anzahl der Spalten in der ersten Verschachtelungseinrichtung ist.
-
Wenn ein Weglassvorgang auszuführen ist, gilt
y = (N – Ni); Anzahl der Weglassungsbits
eini = (a·Sj(k)·y + N)mod(a·N); wobei j für die erste Paritätssequenz den Wert 1 und für die zweite Paritätssequenz den Wert 2 aufweist.
wenn (eini = 0)
eini = a·N
e = eini
m = 1; index des laufenden Bits
Ausführen, während m ≤ N gilt
e = e – a·y; Fehler aktualisieren
wenn e ≤ 0, dann; Überprüfen, ob das Bit mit der Nr. m weggelassen werden sollte
Weglassen des Bits m aus jeder Paritätssequenz
e = e + a·N; Fehler aktualisieren
Ende von wenn (end if)
m = m + 1; Index des nächsten Bits
Ende der Ausführung (end do)
-
Die vorstehende Prozedur wird als Musterbestimmungsalgorithmus bei der Ratenanpassung bezeichnet. Es können mehrere Weglassmuster dadurch erzielt werden, dass im Musterbestimmungsalgorithmus verschiedene Werte für 'a' bereitgestellt werden. Im Allgemeinen wird, im Fall eines Faltungscodes, 2 als Wert a verwendet. Jedoch können im Fall des Turbocodes voneinander verschiedene Werte a für die erste und zweite Paritätssequenz verwendet werden. Anders gesagt, kann a = 2 für die erste Paritätssequenz und a = 1 für die zweite Paritätssequenz verwendet werden. Umgekehrt kann a = 1 für die erste Paritätssequenz verwendet werden, und a = 2 kann für die zweite Paritätssequenz verwendet werden. Auch kann der Wert 2 sowohl für die erste als auch die zweite Paritätssequenz verwendet werden.
-
8 zeigt jedes von der Ratenanpassungsprozedur für die Aufwärtsstrecke gemäß dem Ausführungsbeispiel der Erfindung erzeugte Weglassmuster betreffend das in 7 dargestellte virtuelle Verschachtelungsmuster. 8a zeigt das Weglassmuster der virtuellen Verschachtelungseinrichtung für das Element der ersten Paritätssequenz (y) und 8b zeigt das Weglassmuster der virtuellen Verschachtelungseinrichtung für das Element der zweiten Paritätssequenz (z). Bei diesem Beispiel ist angenommen, dass eine Anwendung sowohl auf die erste als auch die zweite Paritätssequenz dadurch möglich ist, dass der Wert a als 2 fixiert wird. 8c zeigt das Weglassmuster für die virtuelle Verschachtelungseinrichtung für die erste Paritätssequenz für den Fall, dass a den Wert 1 hat. 8d zeigt das Weglassmuster für die virtuelle Verschachtelungseinrichtung für die zweite Paritätssequenz für den Fall, dass a den Wert 2 hat. 8e zeigt das Weglassmuster für die virtuelle Verschachtelungseinrichtung für die erste Paritätssequenz für den Fall, dass a den Wert 2 hat. 8f zeigt das Weglassmuster für die virtuelle Verschachtelungseinrichtung für die zweite Paritätssequenz für den Fall, dass a den Wert 1 hat.
-
9 zeigt ein gesamtes Weglassmuster für den Fall, dass das Weglassmuster jeder virtuellen Verschachtelungseinrichtung, wie in 8 dargestellt, tatsächlich beim ersten Verschachtelungsmuster angewandt wird. 9a zeigt das Weglassmuster für den Fall der Fixierung des Werts a auf 2 und die Verwendung dieses Werts für die erste und zweite Paritätssequenz. 9b gilt für ein Weglassmuster für den Fall der Verwendung des Werts a von 1 bzw. 2 für die erste bzw. zweite Paritätssequenz. 9c ist das Weglassmuster für den Fall, dass als Wert a 2 bzw. 1 für die erste bzw. zweite Paritätssequenz verwendet wird.
-
9 gilt für den Fall, dass die Gesamtbitanzahl bei der ersten Verschachtelung 288 ist und 32 Bits unter diesen weggelassen werden.
-
Beim obigen Ratenanpassalgorithmus werden schließlich 4 Bits auf Grundlage jeder Spalte des ersten Verschachtelungsmusters weggelassen, d. h. 4 Bits unter 32 Bits (288/8) in jeder Spalte werden weggelassen.
-
Wenn dieser Fall mit dem virtuellen Verschachtelungsmuster für jedes Paritätssequenzelement, wie in 7 dargestellt, verglichen wird, werden 2 Bits pro Spalte in jedem virtuellen Verschachtelungsmuster weggelassen. Anders gesagt, werden 2 Bits von 12 Bits (96/8) in jeder Spalte weggelassen.
-
Die Ratenanpassungs-Weglassprozedur gemäß dem Ausführungsbeispiel der Erfindung für einen Turbocode, wie oben beschrieben, gilt für den Fall, dass das Weglassen so auftritt, dass die Zielcoderate unter 1/2 liegt, und sie gilt auch für den Fall, dass die Weglassbitzahl einer geraden Anzahl von Bits für jede Spalte in der ersten Verschachtelungseinrichtung ist.
-
Jedoch kann pro Spalte in allen Bitspalten der ersten Verschachtelungseinrichtung eine ungerade Anzahl von Bits weggelassen werden.
-
Demgemäß wird durch die Erfindung eine Prozedur für optimales Weglassen selbst in Fällen erzielt, in denen die Zielcoderate unter 1/2 liegt und die Anzahl weggelassener Bits in jeder Spalte des ersten Verschachtelungsmuster ungerade ist.
-
10 zeigt ein Weglassmuster, wie es von einer Ratenanpassungsprozedur für eine Aufwärtsstrecke gemäß einem Ausführungsbeispiel der Erfindung erzeugt wird, und zwar betreffend das in 2 dargestellte virtuelle Verschachtelungsmuster für den Fall, dass das Ausmaß des Weglassens pro Spalte in einer ersten Verschachtelungseinrichtung einer ungeraden Zahl entspricht, wobei 10 abweichend vom Fall der 9, bei dem pro Spalte des ersten Verschachtelungsmusters eine gerade Anzahl von Bits weggelassen wird, den Fall zeigt, dass pro Spalte des ersten Verschachtelungsmusters eine ungerade Anzahl von Bits weggelassen wird.
-
Genauer gesagt, werden im Fall der 9 32 Bits unter allen Bitspalten bei der ersten Verschachtelung weggelassen, d. h. 4 Bits pro Spalte.
-
Jedoch sollten 3 Bits pro Spalte weggelassen werden, wenn insgesamt 34 Bits unter den gesamten Bitspalten der ersten Verschachtelung wegzulassen sind, wie im Fall der 10.
-
Daher sollte durch den oben beschriebenen Parameterbestimmungsalgorithmus jedes 1,5-te Bit der ersten und zweiten Paritätssequenzelemente weggelassen werden. Da dies jedoch tatsächlich unmöglich ist, wird ein komplementäres Verfahren wie folgt angegeben.
-
Das Verfahren zum Lösen dieses Problems kann im Wesentlichen drei Varianten zeigen.
-
Gemäß einem ersten Verfahren, werden, wenn 3 Bits für jede Spalte des ersten Verschachtelungsmusters weggelassen werden sollten, gemäß ⌈1,5⌉ = 2 zwei Bits pro erster Paritätssequenz weggelassen, und gemäß ⌊1,5⌋ = 1 wird auch ein Bit pro zweiter Paritätssequenz weggelassen. In diesem Fall sollten die oben genannten Ausdrücke (1) und (2) wie folgt verallgemeinert werden:
Ni = N – ⌈P/2⌉ (1'); 1. Paritätssequenz
Ni = N – ⌊P/2⌋ (2'); 2. Paritätssequenz
-
Bei einem zweiten Verfahren wird der Paritätsbestimmungsalgorithmus so realisiert, dass gemäß ⌊1,5⌋ = 1 ein Bit in der ersten Paritätssequenz weggelassen wird und gemäß ⌈1,5⌉ = 2 zwei Bits in der zweiten Paritätssequenz weggelassen werden. In diesem Fall sollten die oben genannten Ausdrücke (1) und (2) wie folgt verallgemeinert werden.
Ni = N – ⌊P/2⌋ (1''); 1. Paritätssequenz
Ni = N – ⌈P/2⌉ (2''); 2. Paritätssequenz
-
Anders gesagt werden, beim Realisieren des Parameterbestimmungsalgorithmus, betreffend die erste und zweite Paritätssequenz, mit Ausnahme der systematischen Sequenz, unter den nach der Turbocodierung ausgegebenen Sequenzen, im Fall einer vorab festgelegten Anzahl P von Weglassungsbits, ⌈P/2⌉ Bits aus der ersten Paritätssequenz weggelassen, und ⌊P/2⌋ Bits werden aus der zweiten Paritätssequenz weggelassen, oder ⌊P/2⌋ Bits werden aus der ersten Paritätssequenz weggelassen und ⌈P/2⌉ Bits werden aus der zweiten Paritätssequenz weggelassen.
-
Probleme entstehen dann, wenn der Verschiebeparameter berechnet wird und das Weglassen durch ein solches Verfahren ausgeführt wird. Wenn die Weglasszahl P eine ungerade Zahl ist und ⌊P/2⌋ Weglassungen an der ersten Paritätssequenz vorgenommen werden und ⌈P/2⌉ Weglassungen an der zweiten Paritätssequenz vorgenommen werden, existiert gemäß einer Gesamtbetrachtung eine Differenz hinsichtlich der Weglasszahl, die durch die Anzahl von Spalten in der ersten Verschachtelungseinrichtung bedingt ist. Anders gesagt, wird, wenn die Anzahl der Spalten in der ersten Verschachtelungseinrichtung K ist, der Gesamtweglasswert für die erste Paritätssequenz ein Wert, der maximal um K kleiner ist, wenn mit dem Weglasswert für die zweite Paritätssequenz verglichen wird. D. h., dass der Weglassvorgang für die erste und die zweite Sequenz ein gleichmäßiges Weglassintervall aufweist, das Weglassintervall jedoch für die erste und zweite Sequenz unterschiedlich wird. D. h., dass bei diesem Beispiel das Weglassintervall für die erste Paritätssequenz einen größeren Wert als das Weglassintervall für die zweite Paritätssequenz aufweist. Jedoch beeinflusst die Differenz zwischen den Weglasswerten von maximal K die Gesamtfunktion des Turbodecodierers nicht wesentlich.
-
10 zeigt die sich ergebenden Weglassmuster für die Fälle, dass die Anzahl ⌊P/2⌋ = 1 Weglassvorgänge an der ersten Paritätssequenz ausgeführt wird und die Anzahl ⌈P/2⌉ = 2 Weglassvorgänge an der zweiten Paritätssequenz vorgenommen wird, wenn die Anzahl P von Weglassungen den Wert 3 einnimmt. Hierbei ist angenommen, dass a für sowohl die erste als auch die zweite Paritätssequenz den Wert 2 hat. Dabei zeigt 10a das Weglassmuster für die virtuelle Verschachtelungseinrichtung für die erste Paritätssequenz, und 10b zeigt das Weglassmuster für die virtuelle Verschachtelungseinrichtung für die zweite Paritätssequenz. 10c zeigt das sich ergebende Weglassmuster für die erste Verschachtelungseinrichtung.
-
11 zeigt das sich ergebende Weglassmuster für die Fälle, dass die Anzahl ⌈P/2⌉ = 2 Weglassungen an der ersten Paritätssequenz vorgenommen wird und die Anzahl ⌊P/2⌋ = 1 von Weglassungen an der zweiten Paritätssequenz vorgenommen wird, wenn die Anzahl P von Weglassungen 3 ist. Dabei zeigt 11a das Weglassmuster für die virtuelle Verschachtelungseinrichtung für die erste Paritätssequenz, und 11b zeigt das Weglassmuster für die virtuelle Verschachtelungseinrichtung für die zweite Paritätssequenz. 11c zeigt das sich ergebende Weglassmuster für die erste Verschachtelungseinrichtung.
-
Beim dritten Verfahren wird schließlich, wenn die Anzahl der Weglassungen pro Spalte P ist, ein Bitverschiebewert für die virtuelle Verschachtelungseinrichtung mittels des Weglasswerts ⌈P/2⌉ berechnet. Ein Anfangsfehlerversatz eini jedes RMB wird unter Verwendung eines derartig berechneten Bitverschiebewerts S1 und S2 berechnet. In jedem RMB wird die Weglassung zur Ratenanpassung unter Verwendung dieses berechneten Werts eini ausgeführt, um eine Weglassung vom Wert ⌈P/2⌉ zu erzeugen. In diesem Fall sollten die oben genannten Ausdrücke (1) und (2) wie folgt verallgemeinert werden.
Ni = N – ⌈P/2⌉ (1'''); 1. Paritätssequenz
Ni = N – ⌈P/2⌉ (2'''); 2. Paritätssequenz
-
Danach wird der Musterbestimmungsalgorithmus zur Ratenanpassung so ausgeführt, dass das Weglassen eines Teilbits, in diesem Fall des Bits 1, für die erste und zweite Paritätssequenz ausgeschlossen wird. Der Wert einer so ausgeführten Gesamtweglassung sollte P·K sein. Um diesen Erfordernissen zu genügen, existieren mehrere Verfahren. Es wird als Erstes das einfachste Verfahren beschrieben, gemäß dem das Weglassen für ein Bit in der ersten Paritätssequenz für Spalten mit der Reihenfolge gerader Zahlen in der ersten Verschachtelungseinrichtung ausgeschlossen ist. Indessen ist in Spalten auf Grundlage der Reihenfolge ungerader Zahlen das Weglassen eines Bits in der zweiten Paritätssequenz ausgeschlossen. Wenn derartige Prozeduren wiederholt werden, wird, hinsichtlich der Verschachtlerspalten mit der Reihenfolge gerader Zahlen, ein Weglassen von mehr als 1 Bit erzeugt, und zwar für die zweite Paritätssequenz in Vergleich mit der ersten Paritätssequenz. Im Gegensatz hierzu wird, für Verschachtelungsspalten mit der Reihenfolge ungerader Zahlen, ein Weglassen für mehr als 1 Bit erzeugt, und zwar für die erste Paritätssequenz in Vergleich mit der zweiten Paritätssequenz. Es kann auch das entgegengesetzte Verfahren in Betracht gezogen werden. Wenn derartige Prozeduren durchlaufen werden, ist eine neue Logik zum Ausschließen eines Weglassens von 1 Bit pro Verschachtlerspalte erforderlich. Das einfachste Verfahren für diese Logik besteht darin, eine auszuschließende Weglassposition bereitzustellen, und zwar als abschließende Weglassposition, wenn das Weglassen pro Spalte für jede Paritätssequenz ausgeführt wird.
-
Beim Ausführen des Ratenanpassalgorithmus als anderem Beispiel, wird, für die Anzahl K/2 von Spalten vor dem ersten Verschachtelungsmuster, ein abschließendes Weglassen in der ersten Paritätssequenz ausgeschlossen, und für die nachfolgende Anzahl K/2 von Spalten wird ein abschließendes Weglassen in der zweiten Paritätssequenz ausgeschlossen. Dabei ist auch der entgegengesetzte Fall möglich.
-
12 zeigt das Weglassmuster für den Fall der Verwendung des obigen dritten Verfahrens beim Ausführen des Weglassvorgangs für drei Bits pro Spalte. D. h., dass ein Verfahren verwendet wird, bei dem das Weglassmuster jeder virtuellen Verschachtelungseinrichtung durch ⌈P/2⌉ = 2 gewonnen wird, woraufhin bei einer tatsächlichen Weglassprozedur das abschließende Weglassen in der ersten Paritätssequenz für eine Spalte in der Reihenfolge gerader Zahlen ausgelassen wird und das abschließende Weglassen in der zweiten Paritätssequenz für eine Spalte in der Reihenfolge ungerader Zahlen ausgeschlossen wird.
-
Beim oben genannten dritten Verfahren ist die Weglasszahl für jede Paritätssequenz immer vom selben Wert, unabhängig davon, ob die Weglasszahl P pro Spalte in der ersten Verschachtelungseinrichtung eine ungerade oder eine gerade Zahl ist. Jedoch zeigt dieses Verfahren Mängel. So ist erstens zusätzlich eine Logik zum Ausschließen des abschließenden Weglassens aus einer der Paritätssequenzen pro Spalte erforderlich. Ein anderer Mangel besteht darin, dass das Weglasserfordernis betreffend ein gleichmäßiges Intervall für jede Paritätssequenz nicht erfüllt ist. D. h., dass, da für jede Spalte das abschließende Weglassen ausgeschlossen ist, Gleichmäßigkeit im Weglassintervall hinsichtlich der Sequenz vor dem ursprünglichen Verschachteln gestört ist, wie in 12 dargestellt.
-
Die obigen drei Verfahren können das Problem für den Fall lösen, dass die Weglasszahl P pro Spalte in der ersten Verschachtelungseinrichtung eine ungerade Zahl ist. Alle drei Verfahren verfügen über jeweilige Vorteile und Mängel. Bevorzugter ist jedoch das erste oder zweite Verfahren unter Berücksichtigung eines Mangels betreffend eine Verkomplizierung, die durch die Hinzufügung der Logik verursacht wird, mit einem Kompromiss hinsichtlich des Funktionsvermögens.
-
Schließlich wird bei der erfindungsgemäßen Ratenanpassprozedur der Weglassalgorithmus für den Faltungscode der vorhandenen Biteinheit unverändert verwendet und es kann auch die Weglassposition auf Grundlage eines gleichmäßigen Intervalls für jede Paritätssequenz konzipiert werden, weswegen ein gleichmäßiges Weglassen für den Turbocode in einer Aufwärtsstrecke realisiert ist.
-
Außerdem konzentrierte sich zwar die obige Beschreibung auf gleichmäßiges Weglassen beim Turbocode, jedoch sind der oben beschriebene Parameterbestimmungsalgorithmus und der Weglassalgorithmus zur Ratenanpassung in erweiternder Weise sogar bei einem Fall anwendbar, bei dem der Kanalcodierer eine Faltungscodierung ausführt.
-
Als detaillierte Beschreibung hierfür gibt das Folgende eine Prozedur zum Festlegen des optimalen Parameters an, um ein gleichmäßiges Weglassmuster für einen Kanalcode wie den Turbocode und den Faltungscode usw. auf Grundlage des obigen Weglassalgorithmus zur Ratenanpassung zu erhalten. Ferner wird, auf Grundlage des obigen Weglassalgorithmus zur Ratenanpassung eine Weglassprozedur zur Ratenanpassung beschrieben, die sowohl für den in der Aufwärtsstrecke verwendeten Kanalcode als auch den in der Abwärtsstrecke verwendeten Kanalcode anwendbar ist.
-
Vor der detaillierten Beschreibung zu einem Ausführungsbeispiel der Erfindung wird die Funktion des RMB in 4 angegeben, der einen Algorithmus durch Anwenden mehrerer aufgeteilter Sequenzen hinsichtlich des folgenden Ratenanpassalgorithmus, entsprechend einer Zielcoderate, ausführt.
-
Dabei verwendet der RMB mehrere Parameter, und bei den verwendeten Parametern gemäß der Zielcoderate existiert ein Parameter, der die Anzahl von Bits für jede aufgeteilte Eingangssequenz repräsentiert, ein Parameter, der die Bitmenge angibt, die in jedem aufgeteilten Bitstrom, der eine Kanalcodierung durchlaufen hat, weggelassen wird, und ein Parameter, der beim Einstellen eines Weglassmusters verwendet wird.
-
Wenn der RMB die turbocodierten Sequenzen als Eingangssignal enthält, wird ein Weglassen für die systematische Sequenz ausgeschlossen, wodurch ein Weglassbitwert repräsentierender Parameter 0 wird, und der Parameterwert, der den Weglassbitwert für die erste und zweite Paritätssequenz anzeigt, wird ⌈P/2⌉ bzw. ⌊P/2⌋.
-
Beim oben genannten Ratenanpassalgorithmus für den Turbocode in der Aufwärtsstrecke werden in der Tabelle 2 dargestellte Parameter verwendet, um ein gleichmäßiges Weglassmuster oder ein gleichmäßiges Wiederholungsmuster zu erhalten. Wie es aus der Tabelle 2 ersichtlich ist, stehen insgesamt sechs Kombinationen zur Verfügung. Anders gesagt, können sechs voneinander verschiedene Weglassmuster dadurch erhalten werden, dass die Werte a und der Weglasswert für die individuelle Paritätssequenz geändert werden. Tabelle 2
| systematische Sequenz (x) | 1. Paritätssequenz (y) | 2. Paritätssequenz (z) |
a | 2
2
2 | 2
1
1 | 2
2
1 |
Anzahl von Weglassbits | 0 | ⌈P/2⌉ oder ⌊P/2⌋ | ⌈P/2⌉ oder ⌊P/2⌋ |
Sequenzlänge | ⌊NC/3⌋ | ⌊NC/3⌋ | ⌊NC/3⌋ |
-
Obwohl in der Aufwärtsstrecke eine der obigen sechs Kombinationen verwendet wird, besteht keine all zu große Differenz hinsichtlich der Gesamtfunktion des Turbodecodierers.
-
Jedoch kann der verallgemeinerte Weglassalgorithmus zur Ratenanpassung nicht nur in der Aufwärtsstrecke sondern auch der Abwärtsstrecke angewandt werden, wenn der Parameter a zum Einstellen der Weglassbitposition geeignet eingestellt wird, und es kann in gleicher Weise eine Anwendung beim Faltungscode erfolgen.
-
Dazu kann ein erfindungsgemäßer RMB Parameter verwenden, wie sie durch die folgenden Tabellen 3, 4 und 5 repräsentiert sind. [Tabelle 3]
| systematische Sequenz (x) | 1. Paritätssequenz (y) | 2. Paritätssequenz (z) |
a | 2 | 1 | 2 |
Anzahl von Weglassbits | 0 | ⌊P/2⌋ | ⌈P/2⌉ |
Sequenzlänge | ⌊NC/3⌋ | ⌊NC/3⌋ | ⌊NC/3⌋ |
-
Tabelle 3 zeigt Parameter, wie sie im RMB für den Turbocode verwendet werden.
-
Bei einem Beispiel wird, wenn der a für alle zwei Paritätssequenzen auf 2 fixiert ist und er dann beim Ratenanpassalgorithmus angewandt wird, anschließend eine Herleitung entsprechend 2·y vom anfänglichen Fehlerversatzwert eini ausgeführt, und dann wird ein entsprechendes Bit weggelassen, wenn sein aktualisierter Fehlerwert der Bedingung e ≤ 0 genügt. Nach dem Weglassen wird 2·N zu einem abschließend aktualisierten Fehlerwert addiert, und der Algorithmus zum Festlegen des als Nächstes wegzulassenden Bits arbeitet kontinuierlich.
-
Jedoch wird, wenn die Parameter der obigen Tabelle 3 hierbei angewandt werden, die Position des anfangs in der ersten Paritätssequenz weggelassenen Bits auf ungefähr das Doppelte erhöht, und wenn der mittlere Weglassabstand durch eine ganze Zahl repräsentiert wird, entspricht die Zunahme genau dem Doppelten, wie es in 11 dargestellt ist.
-
13a zeigt die Weglassmuster für den Turbocode, wenn für den Parameter a bei der erfindungsgemäßen Weglassprozedur zur optimalen Ratenanpassung der Wert 2 in allen beiden Paritätssequenzen verwendet wird, und 13b zeigt den entsprechenden Fall, wenn der Wert 1 für die 1. Paritätssequenz und der Wert 2 für die 2. Paritätssequenz verwendet wird.
-
Wie es aus den 13a und 13b erkennbar ist, wird zum Einstellen der Weglassbitposition für den Parameter a für die erste Paritätssequenz der Wert 1 verwendet, und für die zweite Paritätssequenz wird der Wert 2 verwendet, weswegen über den gesamten Weglassalgorithmus ein gleichmäßiges Weglassen für die 1. und 2. Paritätssequenz gewährleistet ist. Gleichmäßiges Weglassen ist sogar für das gesamte Paritätssequenzpaar erfüllt, wobei es sich um das Weglassmuster von Berrou mit 1/2 Rate, das allgemein bekannt ist, handelt. D. h., dass dann, wenn die in der Tabelle 3 verwendeten Parameter verwendet werden, das Weglassmuster gemäß Berrou durch die Weglassprozedur zur Ratenanpassung realisiert werden kann.
-
Die folgenden Tabellen 4 und 5 zeigen Parameter, wie sie im RMB für den Faltungscode verwendbar sind. [Tabelle 4]
| 5578-Sequenz (x) | 6638-Sequenz (y) | 7118-Sequenz (z) |
a | 2 | 1 | 2 |
Anzahl von Weglassbits | P | 0 | 0 |
Sequenzlänge | ⌊NC/3⌋ | ⌊NC/3⌋ | ⌊NC/3⌋ |
[Tabelle 5]
| 5578-Sequenz (x) | 6638-Sequenz (y) | 7118-Sequenz (z) |
a | 2 | 1 | 2 |
Anzahl von Weglassbits | ⌈P/2⌉ | ⌊P/2⌋ | 0 |
Sequenzlänge | ⌊NC/3⌋ | ⌊NC/3⌋ | ⌊NC/3⌋ |
-
Bei einem Faltungscode der Rate 1/3, wie er aktuell beim 3GPP-Standard verwendet wird, verwendet jeder Kanalcodierer ein Polynom 5578 = 1011011112, 6638 = 1101100112, 7118 = 1110010012.
-
Die durch das Polynom 5578 = 1011011112 ausgegebene Sequenz ist x, die durch das Polynom 6638 = 1101100112 ausgegebene Sequenz ist y und die durch das Polynom 7118 = 1110010012 ausgegebene Sequenz ist z.
-
Dabei ist es beim Ratenanpassalgorithmus für den Faltungscode üblich, dass ein gleichmäßiges Weglassen für den kanalcodierten Gesamtbitstrom ausgeführt wird, was unter der Bedingung erfolgt, dass alle jeweiligen Ausgangssequenzen dieselbe Bedeutung beim Ausführen der Faltungscodierung haben, abweichend vom Fall, dass die systematische Sequenz unter den ausgegebenen Sequenzen des Kanalcodierers höhere Bedeutung als die erste und zweite Paritätssequenz hat, was gilt, wenn der Kanalcodierer die Turbocodierung ausführt.
-
Jedoch hat selbst im Fall eines tatsächlich die Faltungscodierung ausführenden Kanalcodierers jede Ausgangssequenz anderen Einfluss auf die gesamte Hamming-Gewichtung. Demgemäß ist es erforderlich, um eine wirkungsvollere Funktion zu erzielen, ein Weglassen für eine spezielle Sequenz mit höherer Bedeutung unter den der Faltungscodierung unterzogenen Ausgangssequenzen auszuschließen.
-
Derzeit ist es wünschenswert, das Weglassen für die Sequenz z, die durch das Polynom 7118 = 1110010012 ausgegeben wird, unter den drei faltungscodierten Ausgangssequenzen x, y, z auszuschließen. Demgemäß werden die Parameter der Tabelle 4 bei der Erfindung dazu verwendet, das Weglassen nur für die durch das Polynom 5578 = 1011011112 ausgegebene Sequenz x auszuführen, während bei einem anderen Beispiel der Erfindung die Parameter der 5 dazu verwendet werden, abwechselnd Weglassungen für die durch das Polynom 5578 = 1011011112 ausgegebene Sequenz x und die durch das Polynom 6 usw. ausgegebene Sequenz y auszuführen.
-
Zusätzlich können die in den folgenden Tabellen 6 und 7 verwendeten Parameter selektiv verwendet werden, wenn ein tatsächlicher Kanalcodierer eine Faltungscodierung ausführt. [Tabelle 6]
| 5578-Sequenz (x) | 6638-Sequenz (y) | 7118-Sequenz (z) |
a | 2 | 2 | 1 |
Anzahl von Weglassbits | P | 0 | 0 |
Sequenzlänge | ⌊NC/3⌋ | ⌊NC/3⌋ | ⌊NC/3⌋ |
[Tabelle 7]
| 5578-Sequenz (x) | 6638-Sequenz (y) | 7118-Sequenz (z) |
a | 2 | 2 | 1 |
Anzahl von Weglassbits | ⌈P/2⌉ | ⌊P/2⌋ | 0 |
Sequenzlänge | ⌊NC/3⌋ | ⌊NC/3⌋ | ⌊NC/3⌋ |
-
Entsprechend kann derselbe Weglassalgorithmus zur Ratenanpassung in der Aufwärtsstrecke und der Abwärtsstrecke dadurch angewandt werden, dass eine Kontrolle und Verwendung der Parameter bei der erfindungsgemäßen Weglassprozedur zur Ratenanpassung erfolgen, und es kann auch, selbst für den Turbo- und den Faltungscode, derselbe Weglassalgorithmus zur Ratenanpassung verwendet werden. Insbesondere ist keine spezielle Logik dazu erforderlich, das Weglassen auszuschließen, wenn die obigen Parameter verwendet werden.
-
Wie oben angegeben, wurde ein Verfahren zum Erzeugen von Parametern beschrieben, die dazu dienen, in einer Aufwärtsstrecke ein gleichmäßiges Weglassmuster zu erzeugen. Bei der obigen Prozedur arbeitet das Weglassen für die gesamten Bitspalten ohne jedes Problem bis zu 33,3%. Übrigens wird, wenn ein Weglassen von über 33,3% auftritt, d. h., wenn die durch das Weglassen zur Ratenanpassung zu erhaltende Zielcodierungsrate mehr als 1/2 beträgt, ein Weglassen für jede Paritätssequenz von jeweils über 50% erzeugt, und schließlich wird durch q = ⌊N/|Ni – N|⌋ ein mittlerer Weglassabstand q auf Grundlage der Codesymboleinheit für jede Paritätssequenz erhalten, wodurch sich ein Wert unter 2 ergibt.
-
Nachfolgend wird davon ausgegangen, dass ΔN das Ausmaß der Ratenanpassung definiere. D. h., dass dann, wenn die Anzahl der Eingangsbit in den Ratenanpassblock N ist und in diesem die Ratenanpassung mit dem Ausmaß ΔN ausgeführt wird, das sich ergebende Ausgangssignal des RMB die Länge N + ΔN aufweist. Gemäß dem Obigen kann Ni als N + ΔN repräsentiert werden. Wenn ΔN negatives Vorzeichen aufweist, bedeutet dies, dass im RMB ein Weglassen vom Umfang |ΔN| ausgeführt werden soll, während andernfalls im RMB ein Wiederholen vom Ausmaß ΔN erfolgen sollte. Es sei darauf hingewiesen, dass ΔN nun ein Wert mit Vorzeichen ist.
-
Wenn q einen Wert unter 2 aufweist, wird herkömmlicherweise bestimmt, dass der Verschiebeparameterwert für jeden Funkübertragungsrahmen abwechselnd den Wert 0 bzw. 1 aufweist. Auch arbeitet das Weglassen, im Grundalgorithmus, nur dann gut, wenn das Verhältnis von N und |ΔN| nahe bei 2 liegt, wobei indessen die Gleichmäßigkeit der Weglassmuster umso schlechter wird, je kleiner das Verhältnis ausgehend von 2 ist. D. h., dass zwar ein gleichmäßiges Weglassen für jede Spalte erzeugt wird, jedoch die Bedingung gleichmäßigen Weglassens für die Sequenz vor der virtuellen Verschachtelung nicht erfüllt ist.
-
Demgemäß wird bei der Erfindung, wenn die Weglassrate für die gesamten Bitspalten bei der Ratenanpassprozedur über 33,3% beträgt, d. h., bei einem Weglassen von über 50%, mit einer Beeinflussung zweier Paritätssequenzen, der Verschiebewert dadurch berechnet, dass ein Konzept für eine Bitposition zur Erzeugung eines Weglassens und einer Bitposition ohne Erzeugung eines Weglassens ausgetauscht wird, um ein gleichmäßigeres Weglassmuster zu erzielen, und insbesondere wird die Anzahl von Bits ohne Erzeugung eines Weglassens bei der Berechnung der Verschiebeparameter angewandt.
-
Bei der Erfindung wird ferner zum Vorbereiten eines Falls, bei dem ein Weglassen von über 50% jede Paritätssequenz beeinflussen sollte, ein neuer Parameter R durch eine modifizierte Modulooperation definiert, so dass ein gleichmäßigeres Weglassen erzeugt werden kann, und der Weglassbereich wird unter Verwendung dieses Parameters R berechnet. Hierbei ist eine Modulooperation an einem negativen Wert auf umlaufende Weise definiert, was bedeutet ΔN mod N ≡ N – |ΔN|, wenn ΔN negativ ist.
-
Wenn ein Weglassen von über 50% erzeugt wird und ein Weglassen unter 50% erzeugt wird, werden Parameter q für zwei Paritätssequenzen, die den mittleren Weglassabstand mit Codesymboleinheit repräsentieren, voneinander verschieden berechnet. Abschließend werden die Verschiebeparameter mittels der verschieden berechneten Werte q entsprechend der Weglassrate berechnet, und es erfolgt Anwendung beim Weglassalgorithmus zur Ratenanpassung.
-
Beim obigen verallgemeinerten Ratenanpassalgorithmus weist der den mittleren Weglassabstand mit Codesymboleinheit angebende Parameter q den folgenden Wert auf, und genauer gesagt, hat q einen positiven (+) Wert, wenn ein Weglassen von über 50% für sowohl die erste als auch die zweite Paritätssequenz ausgeführt wird, wohingegen q einen negativen (–) Wert aufweist, wenn ein Weglassen von jeweils unter 50% für zwei Paritätssequenzen ausgeführt wird. Daher erfolgt Verwendung zum Berechnen der Verschiebeparameter für jede Paritätssequenz.
-
Andere Parameterbestimmungsalgorithmen gemäß der Erfindung zum Berechnen der Verschiebeparameter für die dabei erzeugte erste Paritätssequenz sind die folgenden.
”N = ⌊NC/3⌋; jeweilige Sequenzgröße zum Weglassen.
ΔNi = ⌊ΔN/2⌋; wegzulassende Bitmenge für die erste Paritätssequenz, wobei |ΔN| das Weglassausmaß für jede Spalte in der ersten Verschachtelungseinrichtung bedeutet.
”R = ΔN, modN = N – |ΔNi|;
wenn ((R ≠ o) & (2·R ≤ N))
q = ⌈N/R⌉
andernfalls
q = ⌈N/(R – N)⌉
Ende von wenn (endif)
wenn q geradzahlig ist
dann q' = q + (GCD(|q|, K))/K
andernfalls q' = q.
Ende von wenn (endif)
für (i = 0; i < K; i++)
k = |⌊i·q'⌋|modK
S1[R[(3k + 1)modK]] = |⌊i·q'⌋|divK
Ende von für (endfor)”
-
Eine ähnliche Prozedur wird für die zweite Paritätssequenz angewandt, um den Verschiebeparameter S2 für die 2. Paritätssequenz zu berechnen.
”N = ⌊NC/3⌋; jeweilige Sequenzgröße zum Weglassen.
ΔNi = ⌈ΔN/2⌉; wegzulassende Bitmenge für die erste Paritätssequenz, wobei |ΔN| das Weglassausmaß für jede Spalte in der ersten Verschachtelungseinrichtung bedeutet.
”R = ΔN, modN = N – |ΔNi|;
wenn ((R ≠ o) & (2·R ≤ N))
q = ⌈N/R⌉
andernfalls
q = ⌈N/(R – N)⌉
Ende von wenn (endif)
wenn q geradzahlig ist
dann q' = q + (GCD(|q|, K))/K
andernfalls q' = q
Ende von wenn (endif)
für (i = 0; i < K; i++)
k = |⌊i·q'⌋|modK
S2[R[(3k + 2)modK]] = |⌊i·q'⌋|divK
Ende von für (endfor)”
-
Eine ähnliche Prozedur wird für die zweite Paritätssequenz angewandt, um den Verschiebeparameter S2 für die 2. Paritätssequenz zu berechnen.
-
Bei den zwei obigen Parameterbestimmungsalgorithmen ist q' = q + (GCD|q|, K))/K vorhanden, um zu verhindern, dass das Weglassen in derselben Spalte forgesetzt wird, und k = |⌊Li·q'⌋|modK zeigt die Spaltennummer in der virtuellen Verschachtelungseinrichtung an. Auch ist S1[R[(3k + 1)modK]] = |⌊i·q'⌋|divK ein Ausdruck, der die Prozedur zum Entwerfen des Verschiebeparameters pro Spalte in der virtuellen Verschachtelungseinrichtung für die 1. Paritätssequenz in der Reihenfolge der tatsächlichen Funkübertragungsrahmen zeigt, und S2[R[(3k + 2)modK]] = |⌊i·q'⌋|divK ein Ausdruck, der die Prozedur zum Entwerfen des Verschiebeparameters pro Spalte in der virtuellen Verschachtelungseinrichtung für die 2. Paritätssequenz in der Reihenfolge der tatsächlichen Funkübertragungsrahmen zeigt. In der obigen Berechnungsprozedur entspricht ”wenn ((R ≠ 0) & (2·R ≤ N))” dem Fall einer Weglassrate von über 50%. D. h., wenn der Fall berücksichtigt wird, dass ein Weglassen von über 50% auftritt, erfolgt eine Berechnung mittels R = N – |ΔNi|, wie oben angegeben. Demgemäß ist zu beachten, wenn der Wert q unter Verwendung des Werts R berechnet wird, dass die Anzahl der Bits ohne Auftreten einer Weglassung innerhalb der Länge N einer gesamten Bitspalte für die virtuelle Verschachtelungseinrichtung, wie in den Ratenanpassblock eingegeben, repräsentiert ist. Im entgegengesetzten Fall ist zu beachten, da bei der Berechnung des Werts q der Wert R–N = –|ΔNi| verwendet wird, dass der Wert q im Ergebnis durch die tatsächliche Weglasszahl berechnet wird.
-
Unter Verwendung der obigen Prozedur zum Berechnen des mittleren Weglassabstands q in Codesymboleinheit für jede Paritätssequenz weist der Absolutwert von q immer einen Wert über 2 auf, weswegen die Gleichmäßigkeit des Weglassmusters erhalten bleibt.
-
Wenn als Beispiel angenommen wird, dass die gesamte, einer Ratenanpassung zu unterziehende Bitspalte aus 24 Bits besteht, d. h. NC = 24, und ΔN den Wert –12 aufweist, wenn für die gesamte Bitspalte ein Weglassen von 50% erzeugt wird, werden 6 Bits in der aus 8 Bits bestehenden 1. Paritätssequenz weggelassen, d. h., dass ein Weglassen von über 50% erzeugt wird. In gleicher Weise werden 6 Bits auch für die 2. Paritätssequenz weggelassen. In diesem Fall erfolgt beim Parameterbestimmungsalgorithmus zum Berechnen des erfindungsgemäßen Verschiebeparameters die Berechnung mittels des Parameters R = N – |ΔN| = 8 – 6 = 2. Da R = 2 die Bedingung (R ≠ 0) & (2·R ≤ N) erfüllt, wird der mittlere Weglassabstand q in Codesymboleinheit für die 1. Paritätssequenz ⌈8/2⌉ = 4. Anders gesagt, wird beim Ermitteln des mittleren Weglassabstands eine Anzahl nicht weggelassener Bits vom Wert 2 anstelle von 6 als Anzahl wegzulassender Bits verwendet. Es ist zu beachten, dass das Verschieben auf Grundlage von Bits ausgeführt wird, für die beim Berechnen der Verschiebewerte kein Weglassen auftritt.
-
14a zeigt das Weglassmuster für die virtuelle Verschachtelungseinrichtung für die 1. Paritätssequenz beim Turbocode für den Fall der Verwendung eines vorhandenen Berechnungsverfahrens für den Verschiebeparameter, wenn angenommen wird, dass die gesamte, einer Ratenanpassung zu unterziehende Bitspalte aus 24 Bits besteht, d. h. NC = 24, und dass ΔN wegen Erzeugung eines Weglassens von 50% für diese gesamte Bitspalte den Wert –12 aufweist. Wie es aus der Zeichnung erkennbar ist, tritt eine Position ohne Erzeugung einer Weglassung konzentriert in der dritten und vierten Zeile sowie der siebten und achten Zeile in der virtuellen Verschachtelungseinrichtung auf. 14b repräsentiert das Verschachtelungsmuster in der virtuellen Verschachtelungseinrichtung für die erste Paritätssequenz, wie es erhalten wird, wenn ein Berechnungsverfahren für Verschiebeparameter verwendet wird, das für diesen Fall geändert ist. Wie es aus der Zeichnung ersichtlich ist, werden Positionen ohne Erzeugung eines Weglassvorgangs so gleichmäßig wie möglich.
-
Schließlich ist zu beachten, dass zwar für jede Paritätssequenz ein Weglassen von über 50% auftritt, jedoch der Absolutwert des mittleren Weglassabstands q auf Grundlage der Codesymboleinheit für jede Paritätssequenz immer einen Wert über 2 aufweist.
-
Wenn das Ausmaß des Weglassens in jeder Paritätssequenz unter 50% beträgt, stimmen der durch das oben angegebene Verfahren erhaltene Verschiebewert und der durch das vorhandene Verfahren erhaltene Verschiebewert genau überein.
-
Das Weglassmuster in der virtuellen Verschachtelungseinrichtung kann für jede Paritätssequenz auch dasselbe gleichmäßige Weglassmuster wie dieses sein.
-
Nachfolgend wird eine Wiederholungsprozedur für den Kanalcode in der Aufwärtsstrecke gemäß einem anderen Ausführungsbeispiel der Erfindung beschrieben.
-
Bei den bereits beschriebenen erfindungsgemäßen Prozeduren zur Ratenanpassung wird der im Parameterbestimmungsalgorithmus verwendete Wert K als einer der Werte 1, 2, 4 und 8 bestimmt. Auch ist q' keine ganze Zahl sondern ein Vielfaches von 1/8.
-
q ist ein mittlerer Parameter zum Erhalten des Verschiebeparameters, und er zeigt den mittleren Wiederholabstand in der gesamten Bitsequenz an.
-
Bei der erfindungsgemäßen Wiederholungsprozedur wird ferner der Verschiebeparameter pro Spalte durch den Parameterbestimmungsalgorithmus berechnet, und danach wird ein Wiederholalgorithmus ausgeführt. Abweichend von der oben angegebenen Weglassprozedur ist es nicht erforderlich, für den aufgeteilten, codierten Bitstrom eine gesonderte Wiederholung zur Ratenanpassung auszuführen. D. h., dass eine Wiederholung zur Ratenanpassung über den nicht aufgeteilten codierten Bitstrom ausgeführt wird.
-
Der vorhandene Parameterbestimmungsalgorithmus beruht mehr auf einer Berechnung des Verschiebeparameters, wie für die Weglassprozedur erstellt. Demgemäß entstehen die folgenden Probleme, wenn der vorhandene Parameterbestimmungsalgorithmus unverändert bei der Wiederholungsprozedur angewandt wird.
-
Eine beträchtliche Wiederholrate für jede Sequenz, wie für eine Wiederholungsprozedur eingegeben, beträgt aktuell mehr als 100%. Unterschiedlich von der Weglassprozedur besteht keine ausdrückliche Obergrenze für die Wiederholrate. Wenn die aktuelle Wiederholungsprozedur unverändert angewandt wird, treten verschiedene Probleme auf, wenn die Wiederholrate 50% beträgt, wobei ein erstes Problem dann entsteht, wenn die Wiederholrate 100% überschreitet, und ein zweites Problem entsteht, wenn die Wiederholrate nahe bei 50%, zusammen mit einem Überschreiten von 50%, liegt.
-
Erstens gilt der Fall, dass die Wiederholrate für jede eingegebene Sequenz 100% überschreitet, für den Fall, dass die pro Spalte wiederholte Anzahl ΔN von Bits größer als die Größe N der Eingangssequenz ist, und in diesem Fall wird der Wert q zu 0 bestimmt, weswegen kein Verschiebeparameter für den Rest der anderen Spalten, mit Ausnahme der ersten Spalte in der ersten Verschachtelungseinrichtung, zugewiesen wird. D. h., dass eine Berechnung eines Verschiebeparameters pro Spalte in der ersten Verschachtelungseinrichtung unmöglich ist.
-
Zweitens wurde der vorhandene Parameter dadurch festgelegt, dass nur der Fall betrachtet wurde, dass die Wiederholrate für die eingegebenen Sequenzen unter 0–50% beträgt, und der Fall einer Wiederholrate über 50% wurde nicht betrachtet.
-
Demgemäß kann ein Wiederholungsmuster auftreten, wie es in 15a dargestellt ist.
-
15a zeigt ein Wiederholungsmuster, das unter Verwendung des Grundparameters erstellt wird, und wenn durch den Parameterbestimmungsalgorithmus zum Berechnen des Verschiebeparameters für die Wiederholungsprozedur ein Parameter berechnet wird, der für eine Wiederholrate von 51% geeignet ist, weist der mittlere Wiederholabstand q mit Codesymboleinheit einen kleineren Wert als 2 auf, was sich aus q = ⌊N/|ΔN|⌋ = ⌊100/51⌋ ergibt. Schließlich wird beim tatsächlichen Algorithmus q = 1 angewandt, wodurch die Verschiebeparameter für alle Spalten der ersten Verschachtelungseinrichtung zu 0 berechnet werden.
-
Im Fall von N = 11, ΔN = 6 und K = 8 erhält q den Wert 1, weswegen der schließlich berechnete Verschiebeparameter 0 wird, so dass das Wiederholmuster durch das in 15a dargestellte Bild repräsentiert ist.
-
D. h., dass dann, wenn die Wiederholrate über 50% beträgt, Fälle auftreten, in denen alle Bits in einigen Zeilen wiederholt werden und Bits in einigen Zeilen nie wiederholt werden, was die Gleichmäßigkeitserfordernisse in der Sequenz vor der ersten Verschachtelung zerstört.
-
Für die Erfindung werden für derartige Fälle drei Verfahren zum Lösen von Problemen angegeben, wie sie im vorhandenen Fall entstehen, wenn die Wiederholrate 50% überschreitet.
-
Ein erstes Verfahren ist das folgende Berechnungsverfahren für Verschiebeparameter, wie es dann angewandt wird, wenn berücksichtigt wird, dass die Wiederholrate nahe bei 50% liegt, gemeinsam mit einem Überschreiten von 50%.
-
Der bei jeder Speicherspalte in der ersten Verschachtelungseinrichtung anwendbare Verschiebeparameter wird für die in die erste Verschachtelungseinrichtung eingegebene Sequenz wie folgt berechnet:
q = ⌊N/ΔN⌋
wenn (q ≤ 2)
für 1 = 0 bis K–1
S[R[1 mod K]] = (1 mod 2)
andernfalls
wenn q geradzahlig ist
dann q' = q – GCD(q, K)/K
andernfalls q' = q
Ende von wenn (endif)
für k = 0 bis K–1
S[R[⌈k·q⌉modK]] = k·q'divK
Ende von für (end for)”
-
Wenn der den mittleren Wiederholabstand mit Codesymboleinheit anzeigende Wert q als Wert unter 2 berechnet wird, wird der pro Spalte zugeordnete Verschiebeparameter abwechselnd zu 0 und 1 bestimmt. Gemäß einem Beispiel wird, wenn die Größe N der Eingangssequenz 11 ist und die Anzahl wiederholter Bits für die Eingabesequenz zu ΔN = 6 und K = 8 bestimmt ist, beim Wiederholalgorithmus tatsächlich der Verschiebeparameter 0 oder 1 pro Spalte angewandt. Schließlich weisen, wenn die Wiederholrate ungefähr 50%, gemeinsam mit einem Überschreiten von 50%, beträgt, Positionen wiederholter Bits, wie in 15 dargestellt, ein gleichmäßiges Wiederholungsmuster in den restlichen Zeilen mit Ausnahme der ersten Zeile auf.
-
Wenn jedoch die Wiederholrate unter 50% beträgt, wird der Verschiebeparameter pro Spalte der virtuellen Verschachtelungseinrichtung zu S[R[⌈k·q⌉modK]] = ⌈k·q⌉divK berechnet, in gleicher Weise wie beim vorhandenen Verfahren, woraufhin der Wiederholalgorithmus für die Aufwärtsstrecke unter Verwendung des festgelegten Parameterwerts ausgeführt wird.
-
Bei einem zweiten Verfahren für den Fall, dass die Wiederholrate bei der Eingangssequenz 100% überschreitet, wird eine Berechnungsprozedur für einen Verschiebeparameter dadurch bewerkstelligt, dass betrachtet wird, wann die pro Spalte wiederholte Anzahl ΔN von Bits größer als die Größe N der Eingangssequenz ist.
-
Der in jeder Speicherspalte der ersten Verschachtelungseinrichtung anzuwendende Verschiebeparameter wird wie folgt für die Sequenz in der ersten Verschachtelungseinrichtung berechnet. Dabei wird unter Verwendung der Modulooperation ein neuer Parameter R definiert, und dieser Wert R wird beim Berechnen eines mittleren Parameters q verwendet, der den mittleren Wiederholabstand über den gesamten codierten Bitstrom repräsentiert.
”R = |ΔN| mod N
q = ⌊N/R⌋ ... nur wenn R ≠ 0
wenn q geradzahlig ist
dann q' = q – GCD(q, K)/K
andernfalls q' = q
Ende von wenn (endif)
für k = 0 bis K–1
S[R[⌈k·q⌉modK]] = ⌈k·q'⌉divK
Ende von für (end for)”
-
Wenn die obige Größe N der Eingangssequenz den Wert 11 aufweist und die Anzahl ΔN wiederholter Bits für die Eingangssequenz 13 ist, wird R gemäß R = ΔN mod N zu 2 berechnet. Demgemäß wird q durch q = ⌊N/R⌋ als 5 berechnet, abweichend vom vorhandenen Fall, bei dem q zu 0 berechnet wird.
-
Dieser Wert wird bei S[R[⌈k·q⌉modK]] = ⌈k·q'⌉divK angewandt, um den Verschiebeparameter pro Spalte in der ersten Verschachtelungseinrichtung zu berechnen, und danach wird der Wiederholalgorithmus für die Aufwärtsstrecke unter Verwendung des so festgelegten Parameterwerts ausgeführt. Abschließend wird, wenn die Wiederholrate 100% überschreitet, für die eingegebene Sequenz eine Wiederholung von 100% ausgeführt, und dann wird ein neuer Wert q zum Festlegen der restlichen Bitpositionen zu wiederholender Bits berechnet. Demgemäß weisen die Positionen der restlichen zu wiederholenden Bits ein gleichmäßiges Wiederholmuster auf, wenn der Wert des Verschiebeparameters beim Wiederholalgorithmus für die Aufwärtsstrecke angewandt wird.
-
Bei einem dritten Verfahren, das darin besteht, dass das obige erste und zweite Verfahren kombiniert sind, werden die Parameterbestimmungsprozeduren zur Berechnung zweier Verschiebeparameter kombiniert, und zwar für die Fälle, dass die Wiederholrate nahe bei 50% liegt, gemeinsam mit einem Überschreiten von 50%, und dass die pro Spalte wiederholte Bitzahl ΔN größer als die Größe N der Eingangssequenz ist.
-
Der in jeder Speicherspalte der ersten Verschachtelungseinrichtung anzuwendende Verschiebeparameter wird wie folgt für eine in diesen eingegebene Sequenz berechnet. Es wird ein neuer Parameter R verwendet, und dieser wird beim Berechnen eines Mittelwertparameters q verwendet, der den mittleren Wiederholabstand der Codesymboleinheit repräsentiert, und in der folgenden Prozedur kann selbst eine Anwendung im Fall R = 0 erfolgen, d. h. dann, wenn die Wiederholrate 100% oder 200% ist.
”R = ΔN mod N
wenn (R = 0) q = 1;
andernfalls q = ⌊N/ΔN⌋
Ende von wenn (endif)
wenn (q ≤ 2)
für l = 0 bis K–1
S[R[l mod K]] = 1 mod 2
andernfalls
wenn q geradzahlig ist
dann q' = q – GCD(q, K)/K
andernfalls q' = q
Ende von wenn (endif)
für k = 0 bis K–1
S[R[⌈k·q⌉modK]] = ⌈k·q'⌉divK
Ende von für (end for)”
-
Der obige Algorithmus ist dann voll einsetzbar, wenn die verfügbare Wiederholrate für die aktuelle Eingangssequenz mehr als 100% beträgt, und wenn der dadurch bestimmte Verschiebeparameter beim Wiederholalgorithmus für die Aufwärtsstrecke angewandt wird, kann ein Wiederholmuster erhalten werden, bei dem die Positionen wiederholter Bits vollständig gleichmäßig sind.
-
Wie oben angegeben, können gemäß der Erfindung mehrere Wirkungen wie folgt erzielt werden:
- – Erstens wird ein Weglassvorgang mit einem Weglassabstand auf Grundlage einer gleichmäßigen Symboleinheit für jede Paritätssequenz von RSC-Codierern hinsichtlich Weglassbedingungen für einen Turbocode in einer Aufwärtsstrecke realisiert.
- – Zweitens wird ein gleichmäßiges Weglassen selbst in einer Aufwärtsstrecke realisiert, wodurch die gesamte Decodierfunktion merklich verbessert ist, da der Weglassabstand mit Symboleinheit unter Verwendung eines Weglassalgorithmus konzipiert werden kann, der auf der vorhandenen Biteinheit als solcher beruht.
- – Drittens wird gleichmäßiges Weglassen unabhängig von der wegzulassenden Bitmenge realisiert, weswegen dafür derselbe Parameter im Weglassalgorithmus für einen Kanalcode in einer Aufwärts- und einer Abwärtsstrecke angewandt werden kann.
- – Viertens ist, wenn das Weglassen für eine gesamte, turbocodierte Eingangssequenz in einer Aufwärtsstrecke mehr als 33,3% beträgt, d. h. selbst dann, wenn die Weglassrate in der ersten und zweiten Paritätssequenz jeweils über 50% beträgt, die Bedingung gleichmäßigen Weglassens für jede Spalte und Zeile eines Musters virtueller Verschachtelung erfüllt werden.
- – Fünftens wird eine bessere Musterfunktion erhalten, wenn die Weglassrate für eine turbocodierte Gesamtsequenz über 33,3% beträgt, weswegen der Vorgang für einen begrenzten oberen Bereich des Weglassumfangs nicht nur in einem normalen Modus sondern insbesondere auch einem komprimierten Modus gleichmäßiger ausgeführt werden kann.
- – Sechstens kann der Verschiebeparameter pro Spalte eines verwendeten Verschachtelungsmusters sogar für jede beliebige Wiederholrate berechnet werden. Insbesondere dann, wenn die Wiederholrate für die Eingangssequenz 100% überschreitet und die pro Spalte wiederholte Bitzahl größer als die Größe der Eingangssequenz ist, wird jeder Verschiebeparameter erneut für den Rest anderer Spalten, die eine erste Spalte des Verschachtelungsmusters enthalten, erneut berechnet. Demgemäß kann ein gleichmäßiges Wiederholmuster erzielt werden, wenn dieser Verschiebeparameter bei einem Wiederholalgorithmus für die Aufwärtsstrecke angewandt wird. Ferner wird, wenn die Wiederholrate für die Eingangssequenz nahe bei 50% liegt, gemeinsam mit einem Überschreiten von 50%, der im Wiederholalgorithmus für die Aufwärtsstrecke anzuwendende Verschiebeparameter unter Verwendung einer speziell hinzugefügten Funktion (R) bezeichnet, wodurch ein gleichmäßiges Wiederholmuster für alle restlichen Zeilen mit Ausnahme der ersten Zeile entsprechend einer Eigenschaften des Wiederholalgorithmus erzielt werden kann.