DE19960269A1 - Channel encoding transmission method with effective, modular nesting or interlacing for applying turbo codes, involves using coincidence algorithm. - Google Patents

Channel encoding transmission method with effective, modular nesting or interlacing for applying turbo codes, involves using coincidence algorithm.

Info

Publication number
DE19960269A1
DE19960269A1 DE1999160269 DE19960269A DE19960269A1 DE 19960269 A1 DE19960269 A1 DE 19960269A1 DE 1999160269 DE1999160269 DE 1999160269 DE 19960269 A DE19960269 A DE 19960269A DE 19960269 A1 DE19960269 A1 DE 19960269A1
Authority
DE
Germany
Prior art keywords
chain
bit
bits
rank
transmitted
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE1999160269
Other languages
German (de)
Inventor
Eric Pite
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sagem SA
Original Assignee
Sagem SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sagem SA filed Critical Sagem SA
Publication of DE19960269A1 publication Critical patent/DE19960269A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/275Interleaver wherein the permutation pattern is obtained using a congruential operation of the type y=ax+b modulo c
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/2771Internal interleaver for turbo codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0071Use of interleaving
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0064Concatenated codes
    • H04L1/0066Parallel concatenated codes

Abstract

The method involves using an interlacing or nesting organ or permutation circuit that is designed in the form of a coincidence algorithm (21). This algorithm can be used for any length of bits to be processed, while fewer conditions are required in the production of specific circuits.

Description

Die vorliegende Erfindung hat ein Übertragungsverfahren mit Kanalcodierung zum Gegenstand, d. h. mit einer Erzeugung von zu übertragenden Bits, die die Übertragungsleistungen eines Kanals derart berücksichtigt, daß die Übertragungsqualität so perfekt wie möglich ist, trotz der diesem Kanal innewoh­ nenden, unvermeidlichen physischen Fehlern. Ziel der Erfin­ dung ist es, ein Verfahren vorzuschlagen, bei dem eine praktische Anwendung einer theoretischen und erprobten Lö­ sung mit Signalverarbeitungseinrichtungen mit begrenzter Leistung einfach auszuführen ist. Diese Einrichtungen sind insbesondere Mobilfunktelefone. Das Hauptverwendungsgebiet der Erfindung ist also die Mobilfunktelefonie. Die Erfin­ dung könnte aber auch bei Satellitenverbindungen angewandt werden. Allgemein ist die Erfindung immer dann einsetzbar, wenn man einen Turbocode verwenden möchte, für den eine wirksame und modulare Verschachtelung gesucht wird.The present invention has a transmission method with Channel coding on the subject, d. H. with a generation of bits to be transmitted, which indicate the transmission powers of a Channel taken into account in such a way that the transmission quality is as perfect as possible, despite the intrinsic to this channel resulting inevitable physical errors. Aim of the Erfin It is an idea to propose a procedure in which a practical application of a theoretical and proven solution solution with signal processing equipment with limited Performance is easy to do. These facilities are especially mobile phones. The main area of use  So the invention is mobile telephony. The Erfin could also be used for satellite connections become. In general, the invention can always be used if you want to use a turbo code for one effective and modular nesting is sought.

Bei der digitalen Informationsübertragung (Sprache, Bilder, Daten, usw.) unterscheidet man die Quellcodierung und die Kanalcodierung. Die Quellcodierung hat zum Ziel, die zu übertragenden digitalen Informationen zu komprimieren, so daß sie so wenig Platz wie möglich einnehmen, damit die Nutzdatenrate maximal ist. Dagegen besteht die Kanalcodie­ rung darin, der zu übertragenden Information eine Redundanz hinzuzufügen, damit die empfangene Information gegenüber den durch den Kanal verursachten Fehlern robuster ist. Hierbei verwandelt man eine unnütze Redundanz, die der ur­ sprünglichen Information, in eine nützliche Redundanz, die es ermöglicht, dem Übertragungsrauschen gegenüber wider­ standsfähig zu sein. Die Kanalcodierung hat also eine große Bedeutung. Eine große Anzahl von Kanalcodierungen steht seit den sechziger Jahren zur Verfügung. Man kennt unter anderen die Faltungs-Codierungen, die BCH-Codierungen, die Reed-Solomon-Codierungen usw. Die verwendeten Kanalcodie­ rungen unterscheiden sich je nach den ins Auge gefaßten An­ wendungen.With digital information transmission (voice, images, Data, etc.) one differentiates the source coding and the Channel coding. The aim of the source coding is to to compress transmitted digital information, so that they take up as little space as possible so that the User data rate is maximum. In contrast, the channel code exists redundancy in the information to be transmitted add to face the information received the errors caused by the channel is more robust. This turns an unnecessary redundancy that the original original information, in a useful redundancy that it allows to be reflected against the transmission noise to be stable. So the channel coding has a big one Importance. A large number of channel codes are available available since the 1960s. You know under others the convolutional codes, the BCH codes, the Reed-Solomon encodings, etc. The channel code used The requirements differ depending on the envisaged turns.

In der französischen Patentanmeldung 91 05280 mit dem Titel "Procédé de codage correcteur d'erreurs à au moins deux co­ dages convolutifs systématiques en parallèle, procédé de decodage itératif, module de décodage et décodeur corre­ spondant" (Fehlerkorrektur-Codierverfahren mit mindestens zwei parallelen, systematischen Faltungs-Codierungen, ite­ ratives Decodierverfahren, Decodiermodul und entsprechender Decodierer) sowie in der Druckschrift "Near Shannon limit error-correcting coding and decoding: Turbo Codes" Proc. In French patent application 91 05280 entitled "Procédé de codage correcteur d'erreurs à au moins deux co dages convolutifs systématiques en parallèle, procédé de decodage itératif, module de décodage et décodeur corre spondant "(error correction coding method with at least two parallel, systematic convolutional codes, ite ratative decoding method, decoding module and corresponding Decoder) and in the publication "Near Shannon limit error-correcting coding and decoding: Turbo Codes "Proc.  

1993 International Conference an Communications, von C. Berrou, A. Glavieux und P. Thitimajshima, wurde ein neues, Turbocode genanntes Codierschema vorgeschlagen, dessen Lei­ stungen sich dem theoretischen Grenzwert der Kapazität ei­ nes Kanals annähern, wie es das Theorem von C. Shannon be­ schreibt.1993 International Conference an Communications, by C. Berrou, A. Glavieux and P. Thitimajshima, became a new, Turbocode called coding scheme proposed, the Lei the theoretical limit of the capacity approximate a channel, as is the theorem of C. Shannon writes.

In einem Beispiel, in dem der Codiersatz 1/3 entspricht, überträgt man mit einer solchen Codierung einen Datenfluß X von zu codierenden Daten in Form von drei Datenflüssen Y1, Y2 und Y3 von codierten Daten. In einem Beispiel ist der Datenfluß Y1 gleich dem Datenfluß X. Der Datenfluß Y2 re­ sultiert aus der Codierung des Datenflusses X durch einen ersten rekursiven Faltungscodierer. Der Datenfluß Y3 resul­ tiert aus der Codierung einer Permutation, ungenauerweise Verschachtelung genannt, der Bits des Datenflusses X durch einen zweiten rekursiven Faltungscodierer. Ein Turbo- Encoder verwendet so mindestens zwei vorzugsweise systema­ tische, rekursive Faltungscodierer, wobei dem zweiten ein zeitliches Verschachtelungsorgan vorgeschaltet ist, das auf Blöcken festgelegter Größe arbeitet.In an example in which the coding set corresponds to 1/3, one transmits a data flow X with such a coding of data to be encoded in the form of three data flows Y1, Y2 and Y3 of encoded data. In one example it is Data flow Y1 is equal to data flow X. Data flow Y2 right results from the coding of the data flow X by a first recursive convolutional encoder. The data flow Y3 results based on the coding of a permutation, inaccurately Called interleaving, the bits of the data flow X through a second recursive convolutional encoder. A turbo Encoder thus uses at least two, preferably systema table, recursive convolutional encoder, the second one temporal interleaving device that is upstream Blocks of fixed size works.

Der Permutationskreis bzw. das Verschachtelungsorgan ist eine wesentliche Komponente der Turbocodes. Eine konzeptmä­ ßige Interpretation ihrer Funktionsweise ist im Artikel von G. Battail "A conceptual framework for understanding Turbo Codes", IEEE Journal an Selected Areas in Communications, Vol. 16, Nr. 2, Februar 1998 angegeben. Sehr kurz kann dar­ an erinnert werden, daß eine Verschachtelung, wenn sie gut durchgeführt ist, es ermöglicht, eine Zufallscodierung zu imitieren. Es ist auch daran zu erinnern, daß die Zufalls­ codierung bei der Demonstration des Theorems der Kapazität von C. Shannon eine zentrale Rolle spielt. Es wird allge­ mein darin übereingestimmt zu sagen, daß es zwei sehr wich­ tige Faktoren für die Gestaltung eines solchen Verschachte­ lungsorgans gibt. Der erste Faktor ist die Tiefe dieses Verschachtelungsorgans. Die Tiefe ist die Größe des Ver­ schachtelungsorgans, d. h. die Anzahl n von Bits, die es permutieren kann. Je größer die Tiefe, desto besser, d. h. desto wirksamer ist der Zufallscharakter. Der zweite Faktor ist der Zufallsgrad, den das Verschachtelungsorgan bei ei­ nem gegebenen Block einführen kann. Ein ideales Verschach­ telungsorgan ist dann ein reines Zufalls-Verschachtelungs­ organ, aber das gibt es in der Praxis nicht.The permutation circle or the nesting element is an essential component of the turbo codes. A conceptual The interpretation of how it works is in the article by G. Battail "A conceptual framework for understanding Turbo Codes ", IEEE Journal on Selected Areas in Communications, Vol. 16, No. 2, February 1998. Can be very short to be reminded that nesting if good is carried out, it allows random coding imitate. It should also be remembered that random coding in demonstrating the capacity theorem by C. Shannon plays a central role. It is common my agreed to say that it very much gave way to two factors for the design of such a shaft  governing body there. The first factor is the depth of this Nesting organ. The depth is the size of the ver nesting organ, d. H. the number n of bits it can permute. The greater the depth, the better. H. the more effective is the randomness. The second factor is the degree of randomness that the interleaving element at ei can introduce a given block. An ideal chess telungsorgan is then a pure random nesting organ, but that doesn't exist in practice.

Ein Verschachtelungsorgan hat nämlich zum Ziel, die Wörter von Codes geringer Gewichtung zu brechen, die am häufigsten zu übertragen sind. Es ist außerdem möglich, nichtzufäl­ lige Verschachtelungsorgane herzustellen, die wirksam die Wörter von Codes geringer Gewichtung bekämpfen. Unglückli­ cherweise haben diese letzteren Verschachtelungsorgane aber die Neigung, die Wirkungen der Codewörter hoher Gewichtung zu verstärken, was auch nicht wünschenswert ist. Das Krite­ rium, das es ermöglicht, ein optimales Verschachtelungsor­ gan herzustellen, muß die Codes aller Gewichtungen gleich­ zeitig berücksichtigen, und ein globales Optimum erreichen. Die Bestimmung dieses Kriteriums ist ein noch nicht gelö­ stes Problem.The goal of a nesting organ is the words break from low weight codes, the most common are to be transferred. It is also possible not to fail manufacture nesting organs that effectively the Combat words of low weight codes. Unfortunate However, the latter have nesting elements the tendency, the effects of high weight code words to reinforce, which is also undesirable. The Krite rium, which makes it possible to optimally nest gan, the codes of all weights must be the same take into account at an early stage and achieve a global optimum. The determination of this criterion has not yet been solved first problem.

Die bei den reellen Systemen gemäß dem Stand der Technik verwendeten Verschachtelungstechniken nutzen Matrizen. Die­ se Matrizen werden mit Hardwareschaltungen verwendet. Bei solchen Hardwareschaltungen werden die Daten oder Bits ei­ nes Blocks in Zeilen eingegeben, Matrixzeile für Matrixzei­ le. Sie werden anschließend in Spalten gelesen. Simulatio­ nen zeigen aber, daß die mit solchen Matrix-Verschachte­ lungsorganen erhaltenen Leistungen geringer sind als dieje­ nigen, die mit Verschachtelungsorganen erhalten werden, die durch Computerprogramme erzeugt werden, welche den Zufall imitieren. The real systems according to the state of the art The nesting techniques used use matrices. The These matrices are used with hardware circuits. At such hardware circuits will use the data or bits nes block entered in lines, matrix line for matrix line le. They are then read in columns. Simulation NEN show, however, that those with such matrix shafts benefits received are less than those nig that are obtained with nesting organs that are generated by computer programs which are random imitate.  

Andererseits erfordern die beweglichen Funkverbindungszel­ len der dritten Generation, insbesondere im Rahmen der Emp­ fehlung IMT 2000, die Verwendung vieler verschiedener Dien­ ste, die unterschiedlichen Datenraten und zeitlichen Bedin­ gungen zugeordnet sind. Unter Berücksichtigung der Leistun­ gen der Turbocodes ist es wahrscheinlich, daß sie für die Dienste verwendet werden, die einen großen Schutz gegen Fehler erfordern, aber eine gewisse Verzögerung unterstüt­ zen (die des Verschachtelungsorgans). Das von den Matrixsy­ stemen nicht gelöste Problem ist dann der starre Charakter der Abmessung der Datenblöcke, die verarbeitet werden kön­ nen. Diese starren Abmessungen resultieren aus der Abmes­ sung der gewählten Matrizen und ihrem Schreib-Lese-System.On the other hand, the mobile radio connection cells require third generation, especially within the Emp recommendation IMT 2000, the use of many different dien different data rates and temporal conditions conditions are assigned. Taking into account the performance According to the turbo codes, it is likely that they will be used for the Services are used that offer great protection against Require mistakes, but support some delay zen (that of the nesting organ). The Matrixsy The problem that is not solved is the rigid character the dimension of the data blocks that can be processed nen. These rigid dimensions result from the dimension solution of the selected matrices and their read / write system.

Wenn man zum Beispiel annimmt, über k verschiedene Dienste zu verfügen, die je Zeitverzögerungen von r1, r2, . . . rk Bits unterstützen, ist es das Ziel, für jeden Dienst ein Verschachtelungsorgan maximaler Tiefe zu erzeugen, wobei bekannt ist, daß die Leistungen der Verschachtelung auf der Größe des Verschachtelungsorgans beruhen. Eine Schwierig­ keit bei der üblicherweise vorgeschlagenen Matrix-Anwendung besteht darin, die verschiedenen Verschachtelungsorgane für die verschieden Blockgrößen fest spezifizieren zu müssen.If you assume, for example, about k different services to have the time delays of r1, r2,. . . rk Support bits, the goal is for each service To produce nesting element of maximum depth, whereby it is known that the nesting services on the Size of the nesting organ. A difficult one speed in the usually proposed matrix application is the different nesting organs for to have to specify the different block sizes.

Die vorliegende Erfindung hat zum Ziel, diese Probleme zu lösen. Sie schlägt vor, ein softwaremäßig hergestelltes Verschachtelungsorgan auszubilden, das außerdem nur sehr wenige Parameter im Speicher benötigt. Für einen Block von n zu verschachtelnden Bits, mit Rängen k von 1 bis n in der Kette der zu übertragenden Bits, wird erfindungsgemäß durch Permutation ein weiterer Block von n Bits einer verschach­ telten Kette erzeugt. Die Ränge der Bits in der verschach­ telten Kette sind dann Ränge h, so daß h = f(k). Die Funk­ tion f muß eine Permutation von {1, . . ., n} sein, d. h. eine bijektive Anwendung von {1, . ., n} in sich selbst. Um die Funktion f zu realisieren, wendet man erfindungsgemäß eine Gleichung linearer Kongruenz an. Man kann dann zeigen, daß die Wahl einer solchen Lösung zur Wirkung hat, daß auf spe­ zifische Schaltungen verzichtet wird und außerdem nur ge­ ringe Ressourcen in Bezug auf die Software benötigt werden. Der Zufallscharakter ist somit theoretisch nicht perfekt, aber seine Annäherung durch einen einfachen Kongruenz- Algorithmus ist absolut wirksam in Bezug auf das Problem der Leistungsverbesserung der gesuchten Kanalcodierung.The present invention aims to address these problems to solve. She suggests a software-made one Training nesting organ, which is also only very few parameters needed in the memory. For a block of n bits to be nested, with ranks k from 1 to n in the Chain of bits to be transmitted is, according to the invention, by Permutation another block of n bits one chess generated chain. The ranks of the bits in the chess Then the chain is r, so that h = f (k). The funk tion f must have a permutation of {1,. . ., n}, d. H. a  bijective application of {1,. ., n} in itself. To the To implement function f, according to the invention, one is used Equation of linear congruence. It can then be shown that the choice of such a solution has the effect that on spe specific circuits is dispensed with and also only ge ringe resources related to the software are needed. The random character is therefore theoretically not perfect, but its approximation through a simple congruence Algorithm is absolutely effective on the problem to improve the performance of the channel coding sought.

Die Erfindung hat also ein Übertragungsverfahren mit Ka­ nalcodierung zwischen einem Sender und einem Empfänger zum Gegenstand, bei dem
The invention thus relates to a transmission method with channel coding between a transmitter and a receiver, in which

  • - eine Bitkette von n zu übertragenden Bits mit einem ersten Codierer codiert wird, um eine erste codierte Kette zu erhalten,- A bit string of n bits to be transmitted with one first encoder is encoded to a first encoded chain to obtain,
  • - Bits der zu übertragenden Bitkette permutiert wer­ den, um eine weitere, sogenannte verschachtelte Bitkette zu erhalten,- Permutates bits of the bit string to be transmitted to add another so-called nested bit string receive,
  • - die verschachtelte Kette mit einem zweiten Codierer codiert wird, um eine zweite codierte Kette zu erhalten,- The nested chain with a second encoder is encoded to obtain a second encoded chain
  • - vom Sender zum Empfänger die zu übertragende Bitket­ te und/oder die erste und/oder die zweite codierte Kette übertragen werden,- from the sender to the receiver, the bitket to be transmitted te and / or the first and / or the second coded chain be transmitted,
  • - und entsprechend die von der Senderseite übertrage­ nen Ketten empfangen und decodiert werden, um die zu über­ tragende Bitkette wiederherzustellen,- and accordingly the one transmitted by the transmitter NEN chains are received and decoded to over the to restore the carrying bit string,

dadurch gekennzeichnet, daß
characterized in that

  • - zur Permutation der Bits der Bitkette von n zu über­ tragenden Bits einem Bit des Rangs k der zu übertragenden Bitkette ein Rang hk in der verschachtelten Kette zugeordnet wird, der von einem Rang hk-1 abhängt, der einem Bit des Rangs k-1 der zu übertragenden Bitkette zugeordnet ist, so daß der zugeordnete Rang hk von der Art ist:
    hk = a.hk-1 + b, Modulo m, wobei a, b und m ganze Zahlen sind.
    For the permutation of the bits of the bit chain of n bits to be transmitted, a bit of the rank k of the bit chain to be transmitted is assigned a rank h k in the nested chain which depends on a rank h k-1 which corresponds to a bit of the rank k 1 is assigned to the bit string to be transmitted, so that the assigned rank h k is of the type:
    h k = ah k-1 + b, modulo m, where a, b and m are integers.

Die Erfindung wird besser verstanden werden anhand der nachfolgenden Beschreibung und der Betrachtung der beilie­ genden Figuren. Diese sind nur darstellend und nicht die Erfindung einschränkend zu verstehen. Die Figuren zeigen:The invention will be better understood from the following description and the consideration of the enclosed figures. These are only illustrative and not that To understand the invention restrictively. The figures show:

Fig. 1 die funktionelle Darstellung einer Codier­ vorrichtung, die zur Anwendung des erfindungsgemäßen Ver­ fahrens genutzt werden kann; Figure 1 shows the functional representation of a coding device that can be used to apply the method according to the invention.

Fig. 2 ein Flußdiagramm der Verfahrensschritte des erfindungsgemäßen Verschachtelungsverfahrens; Fig. 2 is a flowchart of the method steps of the interleaving method according to the invention;

Tabelle 1, die ausdrücklich Teil der Beschrei­ bung ist, enthält bevorzugte Parameterwerte, die sich auf bevorzugte Ausführungsformen des erfindungsgemäßen Algo­ rithmus beziehen.Table 1, which is expressly part of the description Exercise contains preferred parameter values that relate to preferred embodiments of the algo according to the invention relate to the rhythm.

Fig. 1 zeigt eine funktionelle Darstellung von Einrichtun­ gen zur Anwendung eines erfindungsgemäßen Übertragungsver­ fahrens. Dieses Verfahren soll zwischen einem Sender 1 und einem Empfänger 2 angewendet werden. Der Sender 1 und der Empfänger 2 sind symbolisch dargestellt und miteinander über einen Kanal 3 verbunden. Das erfindungsgemäße Übertra­ gungsverfahren mit Kanalcodierung ist von der Art, die ei­ nen Datenfluß X, erzeugt vom Sender 1, in mehrere Daten­ flüsse Y1, Y2, Y3, Yi umwandelt, die vom Kanal 3 übertragen werden. Der Kanal 3 ist meist ein funkelektrischer Kanal, wobei eine Codierschaltung 4 das erfindungsgemäße Verfahren anwendet, der zwischen den Sender 1 und den Empfänger 2 ge­ schaltet ist und außerdem eine nicht dargestellte zugeord­ nete funkelektrische Sendeschaltung besitzt. Auf der Emp­ fangsseite sind Schaltungen geeignet, um entsprechend die Ketten Y1, Y2, Y3, Yi zu decodieren und zu empfangen und die übertragene Kette X wiederherzustellen. Fig. 1 shows a functional representation of Einrichtun conditions for using a transmission method according to the invention. This method is intended to be used between a transmitter 1 and a receiver 2 . The transmitter 1 and the receiver 2 are shown symbolically and connected to one another via a channel 3 . The transmission method according to the invention with channel coding is of the type which converts a data flow X, generated by the transmitter 1 , into a plurality of data flows Y1, Y2, Y3, Yi which are transmitted by the channel 3 . The channel 3 is usually a radio-electric channel, with a coding circuit 4 applying the method according to the invention, which is switched between the transmitter 1 and the receiver 2 and also has a not shown assigned radio-electric transmission circuit. On the receiving side, circuits are suitable for decoding and receiving the chains Y1, Y2, Y3, Yi and restoring the transmitted chain X accordingly.

Die Kanalcodierschaltung 4 besitzt einen ersten Faltungsco­ dierer 5, der eine Bitkette Y2 ausgehend von einer zu co­ dierenden Kette X erzeugt. In einem Beispiel ist dieser Faltungscodierer ein rekursiver Faltungscodierer. Er ent­ hält in seinem Prinzip eine bestimmte Anzahl von Verzöge­ rungsschaltungen 6 bis 9 in Kaskade, deren Ausgänge mit Ad­ dierern oder allgemeiner mit Operatoren 10 bis 13 verbunden sind. Die Operatoren 10 bis 13 haben zum Ziel, Bits der Kette X, die zu einem gegebenen Zeitpunkt zur Verfügung stehen, mit Bits dieser gleichen Kette, oder einer Umwand­ lung dieser Kette, zu kombinieren, die zu einem späteren Zeitpunkt zur Verfügung stehen. Der dargestellte Fal­ tungscodierer 5 wird rekursiver Codierer genannt, da die Faltungsprodukte, insbesondere diejenigen, die vom Operator 12 kommen, am Eingang des Systems in einem Operator 13 mit noch nicht verarbeiteten Bits der Kette X der zu codieren­ den Bits kombiniert werden. Wie oben erwähnt, wird die Her­ stellung eines rekursiven Faltungscodierers bevorzugt, da bei gleicher Codierkomplexität (und gleicher Schutzwirksam­ keit) ein solcher rekursiver Codierer weniger Operatoren und Verzögerungsschaltungen als ein nicht-rekursiver Codie­ rer erfordert, der die gleiche Umwandlung durchführt. Aus diesem Grund ist es erfindungsgemäß also a priori nicht notwendig, daß der Codierer 5 ein rekursiver Faltungscodie­ rer ist. Er könnte ein einfacher Faltungscodierer oder so­ gar ein anderes Codiersystem des Typs BCH oder Reed SOLOMON usw. sein, aber die Leistungen wären anders.The channel coding circuit 4 has a first convolutional encoder 5 which generates a bit chain Y2 starting from a chain X to be coded. In one example, this convolutional encoder is a recursive convolutional encoder. It contains in principle a certain number of delay circuits 6 to 9 in cascade, the outputs of which are connected to ad diers or more generally to operators 10 to 13 . The aim of the operators 10 to 13 is to combine bits of the chain X that are available at a given time with bits of this same chain, or a conversion of this chain, that are available at a later time. The illustrated folding encoder 5 is called a recursive encoder since the convolution products, in particular those coming from the operator 12, are combined at the input of the system in an operator 13 with not yet processed bits of the chain X of the bits to be encoded. As mentioned above, the manufacture of a recursive convolutional encoder is preferred because, with the same coding complexity (and the same protection efficiency), such a recursive encoder requires fewer operators and delay circuits than a non-recursive encoder that performs the same conversion. For this reason, according to the invention, it is therefore not a priori necessary for the encoder 5 to be a recursive convolutional encoder. It could be a simple convolutional encoder or some other BCH or Reed SOLOMON encoding system, etc., but the performance would be different.

Zusätzlich zu ihrer unveränderten Übertragung in der Kette Y1 oder in einer Faltungsform in der Kette Y2 wird erfin­ dungsgemäß die Kette X von zu verarbeitenden Bits in Form einer dritten codierten Kette Y3 von einem weiteren Codie­ rer 14 übertragen, der ebenfalls die Kette X von zu codie­ renden Bits empfängt. Die Besonderheit der Kette Y3 ist es, daß sie ausgehend von einer Permutation der Kette X der zu codierenden Bits erhalten wird. Diese Permutation wird von einem Permutationskreis durchgeführt, der auch Verschachte­ lungsorgan 15 genannt wird und zwischen den Eingang des Co­ dierers 14 und den Eingang der Codierschaltung 4 geschaltet ist.In addition to its unchanged transmission in the chain Y1 or in a convolution form in the chain Y2, the chain X of bits to be processed is inventively transferred in the form of a third coded chain Y3 by a further encoder 14 , which also encodes the chain X of code received bits. The peculiarity of the chain Y3 is that it is obtained on the basis of a permutation of the chain X of the bits to be coded. This permutation is carried out by a permutation circuit, which is also referred to as the manhole organ 15 and is connected between the input of the encoder 14 and the input of the coding circuit 4 .

Links in Fig. 1 ist in einem Beispiel bei einer Kette X von 12 Bits die vom Verschachtelungsorgan 15 Bit für Bit durchgeführte Verarbeitung, um die Kette X in eine permu­ tierte Kette X' umzuwandeln, dargestellt. Das Verschachte­ lungsorgan 15 ist vorzugsweise ein Software-Verschachte­ lungsorgan und sein Umwandlungsalgorithmus ist in Fig. 2 dargestellt. Um die Bits der Bitkette von n zu übertragen­ den Bits, in diesem Beispiel zwölf Bits, zu permutieren, ordnet man gemäß den obigen Ausführungen einem Bit mit dem Rang k der zu übertragenden Bitkette X einen Rang hk in der verschachtelten Kette X' zu. Die Besonderheit der Erfindung liegt darin, daß der Rang hk in der Kette X' vom Rang hk-1 abhängt, der einem Bit des Rangs k-1 der Bitkette X von zu übertragenden Bits zugeordnet ist. Die Abhängigkeit ist derart, daß
On the left in FIG. 1, in an example with a chain X of 12 bits, the processing carried out by the interleaver 15 bit by bit in order to convert the chain X into a permuted chain X 'is shown. The nesting element 15 is preferably a software nesting element and its conversion algorithm is shown in FIG. 2. In order to permute the bits of the bit chain from n to permute the bits, in this example twelve bits, a bit with the rank k of the bit string X to be transmitted is assigned a rank h k in the nested chain X 'according to the above statements. The special feature of the invention is that the rank h k in the chain X 'depends on the rank h k-1 , which is assigned to a bit of the rank k-1 of the bit string X of bits to be transmitted. The dependency is such that

hk = a. hk-1 + b Modulo mh k = a. h k-1 + b modulo m

In dieser Formel sind a, b und m ganze Zahlen, Parameter der Umwandlung. Zur Vervollständigung ist ein ergänzender Parameter und wesentlicher Bestandteil der Erfindung die Anzahl n von Bits der zu codierenden Kette X. Wie dies in der Einleitung bereits gesagt wurde, ermöglicht nämlich die Erfindung, die Codierung an die Länge der zu übertragenden Wörter anzupassen. Im Rahmen der GSM zum Beispiel ist be­ kannt, daß bei einem Nutzfenster von 156 Bits nur 142 Bits eine informative Bedeutung haben. Aus diesen 142 Bits wer­ den drei Gruppierungen gebildet. Eine erste und eine dritte Gruppierung stellen zu übertragende Informationen dar. Eine zweite, zwischen den beiden anderen liegende Gruppierung enthält Kohärenzinformationen, die es einer Kanaldecodier­ schaltung auf der Empfangsseite ermöglichen, die beiden er­ warteten Bitgruppierungen zu finden und die Übertragungs­ leistungen des Kanals zu verbessern. Es sind auch andere Normen möglich. Sogar bei der Norm GSM ist es möglich, die Übertragungsprotokolle hohen Datenraten anzupassen. In die­ sem Fall beträgt die Schlüssellänge der zu übertragenden Wörter nicht mehr 142 Bits, sondern kann sehr viel größer sein. Zum Beispiel kann sie 1024 Bits oder mehr betragen.In this formula, a, b and m are integers, parameters of conversion. To complete it is a supplement Parameters and an integral part of the invention Number n of bits of the chain X to be encoded the introduction has already been said, namely that Invention, the coding to the length of the transmitted Adapt words. In the context of GSM, for example, be knows that with a useful window of 156 bits only 142 bits  have an informative meaning. Out of these 142 bits who the three groups. A first and a third Grouping represents information to be transmitted second grouping between the other two contains coherency information that it is a channel decoder enable circuit on the receiving side, the two he waited to find bit groups and the transmission improve channel performance. There are others too Standards possible. Even with the GSM standard, it is possible to Adapt transmission protocols to high data rates. In the In this case, the key length is the one to be transmitted Words no longer 142 bits, but can be much larger his. For example, it can be 1024 bits or more.

Während eines Schritts 16 definiert man im vom Verschachte­ lungsorgan 15 angewendeten Programm die Werte der Parameter n, a, b und m. In der Folge wird man sehen, welches die Be­ dingungen sind, die auf der sorgfältigen Auswahl dieser Pa­ rameter lasten, da die fehlende Berücksichtigung dieser Be­ dingungen zu einem verschlechterten, wenn auch möglicher­ weise noch vom erfindungsgemäßen Codierungsalgorithmus ak­ zeptierbaren Betrieb führt. Nach dem Schritt 16 beginnt man während eines Schritts 17, die Kette X von zu übertragenden Bits zu durchsuchen. Dies geschieht in Form von zwei Befeh­ len 18 und 19, d. h. einem Befehl 18 k = 1 und hk = 1 gefolgt von einem Befehl 19 k = k + I. Der Befehl 18 bedeutet tat­ sächlich, daß man dem Bit des Rangs 1 in der zu übertragen­ den Kette X einen Rang hk = 1 in der Kette X' vor ihrer Co­ dierung durch den Codierer 14 verleiht. Dies ist nicht zwingend notwendig. Insbesondere könnte man für k = 1 vor­ sehen, einen Ausgangsrang hk ungleich 1 zu wählen. Es würde einfach genügen, daß hk kleiner ist als n. Die Wahl von hk ungleich 1 kann wie oben erwähnt dazu führen, die Bits ge­ ringer oder hoher Gewichtungen weder außergewöhnlich zu be­ lasten noch außergewöhnlich zu begünstigen. Wenn nötig, kann man vorsehen, daß hk bei jeder neuen Kette X, die einer Permutation unterzogen wird, seinen Wert ändert. Der Schritt 17 wird von einem Test 20 gefolgt, während dem man prüft, ob das zu verarbeitende Bit mit dem Rang k zur Kette X von n Bits gehört, oder ob es zu einer anderen Kette ge­ hört, die auf die Kette X folgt und auch n Bits aufweist. Wenn dies nicht der Fall ist, und zu Anfang ist es nicht der Fall, kann man den Rang hk finden, indem man den Befehl 21 anwendet, wissend, daß a, b und m bekannt sind.During a step 16 , the values of the parameters n, a, b and m are defined in the program used by the nesting member 15 . In the following it will be seen what the conditions are that impose the careful selection of these parameters, since the failure to take these conditions into account leads to a deteriorated, even if possibly still acceptable, operation of the coding algorithm according to the invention. After step 16 , step 17 begins to search the chain X of bits to be transmitted. This is done in the form of two commands 18 and 19 , ie a command 18 k = 1 and h k = 1 followed by a command 19 k = k + I. Command 18 actually means that the bit of rank 1 in which gives the chain X a rank h k = 1 in the chain X 'before its coding by the encoder 14 . This is not absolutely necessary. In particular, for k = 1 one could envisage choosing an initial rank h k not equal to 1. It would simply suffice for h k to be smaller than n. As mentioned above, the selection of h k not equal to 1 can lead to the bits of low or high weights being neither extraordinarily loaded nor favored in an exceptional manner. If necessary, it can be provided that h k changes its value with each new chain X which is subjected to a permutation. Step 17 is followed by a test 20 , during which one checks whether the bit to be processed with the rank k belongs to the chain X of n bits, or whether it belongs to another chain that follows the chain X and also n bits. If this is not the case, and initially it is not, the rank h k can be found using command 21 , knowing that a, b and m are known.

Wenn sie derart erzeugt werden, sind die Ränge hk nicht un­ bedingt zufällig über die ganze Kette X von Bits verteilt. Es ist außerdem sogar in manchen Fällen möglich, daß die Umwandlung 21 keine Permutation von {1, 2, . . ., n} ist. Da­ mit diese letzteren Kriterien erhalten werden, müssen den Parametern a, b und m bestimmte Bedingungen auferlegt wer­ den. Tatsächlich hat die (unendliche) Folge, die von der linearen Kongruenz des Schritts 21 definiert wird, als Pe­ riode m, wenn, und nur wenn, b und m teilerfremd sind; falls für jede Primzahl p, die m teilt, a-1 ein Vielfaches von p ist und falls a-1 ein Vielfaches von 4 ist, wenn m ein Vielfaches von 4 ist. Ein Nachweis dieser Bedingungen findet sich im Artikel von HULL und DOBELL, SIAM REVIEW, 4 (1962), Seiten 230 bis 254. In der Praxis genügt es, m = n+1 anzunehmen, um eine Permutation zu erzeugen.If they are generated in this way, the ranks hk are not necessarily randomly distributed over the entire chain X of bits. It is also possible, in some cases, that the conversion 21 does not permutate {1, 2,. . ., n} is. Since these latter criteria are obtained, certain conditions must be imposed on parameters a, b and m. In fact, the (infinite) sequence defined by the linear congruence of step 21 has as period m if, and only if, b and m are prime factors; if for every prime p that divides m, a-1 is a multiple of p, and if a-1 is a multiple of 4, if m is a multiple of 4. Evidence of these conditions can be found in the article by HULL and DOBELL, SIAM REVIEW, 4 (1962), pages 230 to 254. In practice it is sufficient to assume m = n + 1 in order to generate a permutation.

Im in Fig. 1 dargestellten Beispiel will man zwölf Bits permutieren. Man kann dann m = 13 nehmen. Es ist nämlich wichtig, daß m größer ist als n. Nachfolgend wird klar, wie man m wesentlich größer als n nimmt, um bestimmte Schwie­ rigkeiten des Algorithmus zu lösen. Bleibt die Wahl von a und b. Die Wahl von b ungleich Null führt dazu, hk ungleich 1 für k = 1 zu wählen. Meist wählt man b = 0. Um mit einem einzigen gemäß dem Schritt 21 angewendeten Algorithmus von einer Permutation zur anderen zu gelangen, reicht es, b (Modulo m) zum Rang jedes Bits hinzuzufügen, das vom Ver­ schachtelungsorgan 15 erzeugt wurde, in dem b den Wert Null hat. In Fig. 1 kann also die Codierschaltung 4 andere Co­ dierer enthalten, um andere Ketten Yi codierter Bits zu er­ zeugen. Anstatt jedes mal von der Kette X auszugehen und ein weiteres komplexes Verschachtelungsorgan 15 vorzusehen, kann es in diesem Fall nützlicher sein, von der Kette X' auszugehen, den Wert von b zu ändern und so ein zusätzli­ ches Verschachtelungsorgan zu geringeren Kosten herzustel­ len durch eine Addition von b, Modulo m, um einen anderen Codierer anzutreiben.In the example shown in FIG. 1, one wants to permute twelve bits. You can then take m = 13. It is important that m is greater than n. The following explains how to take m significantly larger than n in order to solve certain difficulties of the algorithm. That leaves the choice of a and b. The choice of b not equal to zero leads to choosing h k not equal to 1 for k = 1. Usually one chooses b = 0. To move from one permutation to another with a single algorithm applied according to step 21 , it suffices to add b (modulo m) to the rank of each bit generated by the interleaving member 15 , in which b has the value zero. In Fig. 1, the coding circuit 4 may contain other encoders to generate other chains of Yi coded bits. In this case, instead of starting from the chain X and providing a further complex interleaving element 15 , it can be more useful in this case to start from the chain X ', to change the value of b and thus to produce an additional interleaving element at a lower cost by one Add b, modulo m to drive another encoder.

Es bleibt also die Wähl von a. In einem Beispiel kann man a willkürlich in der Größenordnung der Hälfte von n oder der Hälfte von n-1 wählen. Zum Beispiel wählt man hier a = 6. Die Anwendung des Schritts 21 mit a = 6 und b = 0 für m = 13 gibt dann die folgenden Ergebnisse, wobei die erste Zei­ le die Ränge k der Bits der Kette X und die zweite Zeile die zugeordneten Ränge hk in der Kette X bedeuten:
So the choice of a remains. In one example, a can be chosen arbitrarily on the order of half of n or half of n-1. For example, here one chooses a = 6. The application of step 21 with a = 6 and b = 0 for m = 13 then gives the following results, the first line being the ranks k of the bits of the chain X and the second line being the assigned ranks h k in chain X mean:

Dieses Beispiel ist außerdem am linken Rand der Fig. 1 dargestellt. Die erste Zeile stellt die Ränge k der Bits der Kette X der zu verarbeitenden Bits und die zweite Zeile stellt die Ränge hk dar, die bei der Anwendung des Schritts 21 diesen Bits des Rangs k der Kette X zugeteilt wurden. Wie im Schritt 18 erwähnt, befindet sich das Bit des Rangs k = 1 auf dem Rang hk = 1 in der Kette X' der Codierbits. Für das Bit des Rangs k = 2 wendet man den Schritt 21 an. Dies ergibt einen Rang h2 = 6 × 1 + 0, Modulo 13, für b = 0. Die Operation 6 × 1 + 0 ergibt 6, Modulo 13, was das Ergebnis nicht verändert. Dies führt dazu, dem Bit des Rangs k = 2 einen Rang hk = 6 in der Kette X' zu verleihen. Für das Bit des Rangs k = 3 ergibt die Anwendung der Formel h3 = 6 × 6 + 0 Modulo 13. Dies ergibt 36, Modulo 13, d. h. 10. So werden nach und nach alle Ränge hk zugeteilt. Da vom Generator 1 nach und nach Bits der Kette X erzeugt werden können, ent­ hält das Verschachtelungsorgan 15 dann ein Register 22, in dem gemäß einem Schritt 23 nach und nach im Laufe ihrer Er­ zeugung durch den Generator 1 die Bits der Kette X' in Ab­ hängigkeit von dem Platz, der ihnen vom Schritt 21 zuge­ teilt wurde, eingeordnet werden. Die im Register 22 einge­ tragenen Pfeile beziehen sich auf diese Einordnung 23.This example is also shown on the left edge of FIG. 1. The first line represents the ranks k of the bits of the chain X of the bits to be processed and the second line represents the ranks h k that were assigned to these bits of the rank k of the chain X when step 21 was applied. As mentioned in step 18 , the bit of rank k = 1 is at rank h k = 1 in the chain X 'of the coding bits. Step 21 is used for the bit of rank k = 2. This gives a rank h 2 = 6 × 1 + 0, modulo 13 , for b = 0. The operation 6 × 1 + 0 results in 6, modulo 13 , which does not change the result. This results in giving the bit of rank k = 2 a rank h k = 6 in the chain X '. For the bit of rank k = 3, applying the formula h 3 = 6 × 6 + 0 modulo 13 . This gives 36, modulo 13 , ie 10. Gradually, all ranks h k are allocated. Since the generator 1 gradually bits of the chain X may be generated ent holds the interleaver 15 then a register 22 in which according to a step 23 gradually in the course of their He generation by the generator 1, the bits of the string X 'in Dependent on the space that was assigned to them by step 21 , can be classified. The arrows entered in register 22 relate to this classification 23 .

Wenn man eine festgelegte Anzahl n von Bits permutieren will und wenn m = n + 1 die Bedingungen nicht überprüfen kann (was selten der Fall ist), kann man ein m' größer als m finden, die Permutation mit Hilfe einer linearen Kongru­ enz in m' durchführen und anschließend die Zahlen größer als m streichen. Wenn man zum Beispiel zehn Bits permutie­ ren will, kann man wie oben m = 13, a = 6, b = 0 und h1 = 1 nehmen. Man erhält dann
If one wants to permute a fixed number n of bits and if m = n + 1 cannot check the conditions (which is rarely the case), one can find an m 'greater than m, the permutation with the help of a linear congruence in m '' and then cross out the numbers greater than m. For example, if you want to permute ten bits, you can take m = 13, a = 6, b = 0 and h 1 = 1 as above. You then get

Anschließend streicht man 12 und 11 und erhält eine zufäl­ lig organisierte Folge.
Then you delete 12 and 11 and get a randomly organized sequence.

Wenn man so handelt, mit m unbedingt höher als n + 1, ord­ net man sehr wohl einen Rang hk+1 in der verschachtelten Kette einem Bit des Rangs k der zu übertragenden Bitkette zu, wenn der normalerweise in der verschachtelten Kette zu­ teilbare Rang hk höher ist als n, und dies für alle Bits ei­ nes Rangs höher als k der zu übertragenden Bitkette. Tat­ sächlich hat man einen Rang 7 in der verschachtelten Kette dem Bit des Rangs 7 in der zu übertragenden Bitkette zuge­ ordnet, während der Rang 12, der normalerweise in der ver­ schachtelten Kette zuteilbar wäre, höher als 10 war. Eine solche Verschiebung wurde für alle Bits eines Rangs von mehr als 7 durchgeführt, d. h. die Bits der Ränge 8, 9 und 10 der zu übertragenden Bitkette. Im gezeigten Beispiel hat natürlich die Unterdrückung des Rangs 11 keinen Einfluß, da dieser Rang der letzte zugeordnete Rang war. Trotzdem kann das beschriebene Verschiebungsprinzip mehrfach angewendet werden.If one acts in this way, with m necessarily higher than n + 1, one assigns a rank h k + 1 in the nested chain to a bit of the rank k of the bit chain to be transmitted, if the rank normally to be divided in the nested chain h k is higher than n, and this for all bits of a rank higher than k of the bit string to be transmitted. In fact, a rank 7 in the nested chain has been assigned to the rank 7 bit in the bit string to be transmitted, while rank 12 , which would normally be assignable in the nested chain, was higher than 10. Such a shift was carried out for all bits of a rank of more than 7, ie the bits of the ranks 8 , 9 and 10 of the bit string to be transmitted. In the example shown, the suppression of rank 11 has of course no influence, since this rank was the last assigned rank. Nevertheless, the displacement principle described can be used several times.

Der Schritt 23 wird von einer Iteration durch Verzweigung zwischen den Befehlen 18 und 19 gefolgt. Wenn beim Test 20 der Rang des vom Generator 1 erzeugten Bits größer als k wird, liest man in einem Schritt 24 das im Register 22 ent­ haltene Wort und läßt es vom Codierer 14 codieren. Die Ket­ te Y von verarbeiteten Bits wird danach in einem Schritt 25 von der Sendeschaltung ausgegeben und in den Kanal 3 gesen­ det. Um die Verarbeitung durch den Codierer 14 flüssiger zu machen, ist es möglich, ein zweites Register 26 vorzusehen. Das zweite Register 26 gehört auch zum Verschachtelungsor­ gan 15. Während des Lesens der Kette X', der Codierung und der Sendung der im Register 22 enthaltenen Bits übernimmt in diesem Fall das Verschachtelungsorgan 15 die Aufgabe, eine weitere Kette X' von permutierten Bits zu bilden. In diesem Fall enthält gleichzeitig mit dem Schritt 24 der Al­ gorithmus der Fig. 2 eine Verzweigung 27 mit einem folgen­ den Wort mit n Bits zu einer folgenden zu verarbeitenden Kette X.Step 23 is followed by an iteration by branching between instructions 18 and 19 . If in the test 20 the rank of the bit generated by the generator 1 is greater than k, one reads the word contained in the register 22 in a step 24 and has it encoded by the encoder 14 . The chain Y of processed bits is then output in a step 25 by the transmission circuit and sent into channel 3 . In order to make the processing by the encoder 14 more fluid, it is possible to provide a second register 26 . The second register 26 also belongs to the nesting gate 15 . In this case, during the reading of the chain X ', the coding and the transmission of the bits contained in the register 22 , the interleaver 15 takes over the task of forming a further chain X' of permuted bits. In this case, at the same time as step 24, the algorithm of FIG. 2 contains a branch 27 with a follow the word with n bits to a subsequent chain X to be processed.

Nachfolgend werden in der TABELLE 1 Wertebeispiele der Pa­ rameter a, b und m angegeben. Below are examples of values for Pa parameters a, b and m specified.  

TABELLE 1 TABLE 1

In der Praxis wird die Wahl der Parameter a, b und m durch eine pragmatische Annäherung durchgeführt, indem die globa­ len Leistungen der Codierung mit verschiedenen Permutatio­ nen verglichen werden. Es wäre aber auch möglich, einen au­ tomatischen Algorithmus vorzusehen, der diese Parameter ausgehend von einer gegebenen Zahl n berechnen würde.In practice, the choice of parameters a, b and m is made by a pragmatic approach was carried out by the globa len performance of coding with different permutatio be compared. But it would also be possible to get an au automatic algorithm to provide these parameters would calculate from a given number n.

Bei dieser Berechnung wählt man in einem ersten Schritt m = n + 1. Dann wählt man a in der Größenordnung der Hälfte von m oder n. Die Bedingung, daß b und m teilerfremd sind, wird dann auf natürliche Weise erhalten, indem b = 0 gewählt wird. Dann sucht man alle Primzahlen p, die m teilen. Und man sucht a so, daß a-1 ein Vielfaches von p ist, unab­ hängig vom Wert von p. Zum Beispiel versucht man in einer Kette X von n = 1024 Bits m = 1025, was keine Primzahl ist. Man reduziert dann m im Primfaktor. Dann kann man schreiben 1025 = 5 × 5 × 41. Dies führt dazu, für a den Wert 5 × 41 + 1 zu wählen, d. h. a = 206. Man prüft anschließend, ob m-a ein Vielfaches von 5 und von 41 ist. Dann kann man b in Ab­ hängigkeit vom Rang des Verschachtelungsorgans 15 in der Gesamtheit der in der Codierschaltung 4 verwendeten Ver­ schachtelungsorgane definieren. Wenn es nur eines gibt, hat b den Wert 0. Wenn es zwei gibt, gilt für das erste b = 0 und für das zweite hat b einen anderen Wert, zum Beispiel a/2. In this calculation, in a first step one chooses m = n + 1. Then one chooses a in the order of half of m or n. The condition that b and m are prime factors is then naturally obtained by b = 0 is chosen. Then you look for all prime numbers p that divide m. And you search for a so that a-1 is a multiple of p, regardless of the value of p. For example, you try m = 1025 in a chain X of n = 1024 bits, which is not a prime number. One then reduces m in the prime factor. Then you can write 1025 = 5 × 5 × 41. This leads to choosing 5 × 41 + 1 for a, ie a = 206. You then check whether ma is a multiple of 5 and 41. Then one can define b as a function of the rank of the nesting element 15 in the entirety of the nesting elements used in the coding circuit 4 . If there is only one, b has the value 0. If there are two, the first b = 0 and the second b has a different value, for example a / 2.

Die Verwendung des erfindungsgemäßen Algorithmus erfordert die Multiplikation der Ränge hk-1 mit a. Dies stellt auf­ grund der Geschwindigkeit der heute in Verarbeitungsschal­ tungen verfügbaren Operatoren keine Schwierigkeit dar. Die Addition von b ist eine Operation, die im allgemeinen nur eine Zykluszeit verwendet. Die Kongruenz, Modulo m, kann mit einer einfachen Verschiebung des Lesens des vom Addie­ rer erzeugten Ergebnisses hergestellt werden, der b hinzu­ fügt, oder des Multiplikator mit a. Wenn man b = 0 wählt, hat dies natürlich den Vorteil, eine Operation wegzulassen, wobei die Verschiebung in diesem Fall auf dem Ergebnis der Multiplikation erfolgt.The use of the algorithm according to the invention requires multiplying the ranks h k-1 by a. This is not a problem due to the speed of the operators available today in processing circuits. The addition of b is an operation that generally uses only one cycle time. The congruence, modulo m, can be established by simply shifting the reading of the result generated by the adder, which adds b, or the multiplier with a. Of course, choosing b = 0 has the advantage of omitting an operation, in which case the shift is based on the result of the multiplication.

Die Vorteile der erfindungsgemäßen Lösung in Bezug auf den Stand der Technik sind:
The advantages of the solution according to the invention in relation to the prior art are:

  • - eine sehr große Einfachheit der Herstellung des Ver­ schachtelungsorgans 15 (Konzept, Kosten usw.);- A very great simplicity of manufacture of the nesting member 15 (concept, cost, etc.);
  • - bessere Leistungen in den Fällen, in denen Datenra­ ten und spezifische zeitliche Bedingungen berücksichtigt werden müssen;- better performance in cases where data and specific time conditions are taken into account Need to become;
  • - eine rein softwaremäßige Verwaltung, die nur gerin­ gen Speicherplatz benötigt, nur die des Registers 22, das sehr selten über 10 Kbits liegt;- A purely software management, which requires only a small amount of storage space, only that of register 22 , which is very rarely more than 10 kbits;
  • - eine Anpassungsfähigkeit an die verschiedenen bei einer ursprünglichen Anwendung vorhandenen Dienste, sowie eine Anpassungsfähigkeit an mögliche spätere Veränderungen. Es reicht nämlich, das in Fig. 2 dargestellte Programm zu ändern.- adaptability to the various services available in an original application, and adaptability to possible later changes. It is sufficient to change the program shown in FIG. 2.

Wenn der Zufallscharakter geändert werden soll, wie oben erklärt, kann man b den berechneten Rängen hk hinzufü­ gen. In einer Variante ist es möglich, eine Iteration des Verfahrens über die gefundenen Ränge hk durchzuführen. Bei dieser Iteration können a, b und m die gleichen oder andere sein. Man ordnet dann den vorhergehenden Rängen hk neue Rän­ ge h1 zu.If the random character is to be changed, as explained above, b can be added to the calculated ranks h k . In a variant, it is possible to iterate the method over the ranks h k found . In this iteration, a, b, and m can be the same or different. The previous ranks h k are then assigned new ranks ge h 1 .

Claims (8)

1. Übertragungsverfahren mit Kanalcodierung (4) zwischen einem Sender (1) und einem Empfänger (2), bei dem
  • - eine Bitkette (X) von n zu übertragenden Bits mit einem ersten Codierer codiert wird (5), um eine erste co­ dierte Kette (Y2) zu erhalten,
  • - Bits der zu übertragenden Bitkette permutiert werden (15), um eine weitere, sogenannte verschachtelte Bitkette (X') zu erhalten,
  • - die verschachtelte Kette mit einem zweiten Codierer codiert wird (14), um eine zweite codierte Kette (Y3) zu erhalten,
  • - vom Sender zum Empfänger die zu übertragende Bitket­ te und/oder die erste und/oder die zweite codierte Kette übertragen werden (3),
  • - und entsprechend die von der Senderseite übertrage­ nen Ketten empfangen und decodiert werden, um die zu über­ tragende Bitkette wiederherzustellen, dadurch gekennzeichnet, daß
  • - zur Permutation der Bits der Bitkette von n zu über­ tragenden Bits einem Bit des Rangs k der zu übertragenden Bitkette ein Rang hk in der verschachtelten Kette zugeordnet wird (21), der von einem Rang hk-1 abhängt, der einem Bit des Rangs k-1 der zu übertragenden Bitkette zugeordnet ist, so daß der zugeordnete Rang hk von der Art ist:
    hk = a.hk-1 + b, Modulo m, wobei a, b und m ganze Zahlen sind.
1. Transmission method with channel coding ( 4 ) between a transmitter ( 1 ) and a receiver ( 2 ), in which
  • a bit chain (X) of n bits to be transmitted is coded ( 5 ) with a first encoder in order to obtain a first coded chain (Y2),
  • Bits of the bit string to be transmitted are permuted ( 15 ) in order to obtain a further, so-called nested bit string (X '),
  • the interleaved chain is encoded with a second encoder ( 14 ) in order to obtain a second encoded chain (Y3),
  • - The bit chain to be transmitted and / or the first and / or the second coded chain are transmitted from the transmitter to the receiver ( 3 ),
  • - And accordingly the chains transmitted by the transmitter side NEN are received and decoded to restore the bit chain to be transmitted, characterized in that
  • - For permutation of the bits of the bit chain of n bits to be transmitted, a bit of the rank k of the bit chain to be transferred is assigned a rank h k in the nested chain ( 21 ), which depends on a rank h k-1 which corresponds to a bit of the Ranks k-1 is assigned to the bit string to be transmitted, so that the assigned rank h k is of the type:
    h k = ah k-1 + b, modulo m, where a, b and m are integers.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß m = n + 1.2. The method according to claim 1, characterized in that m = n + 1. 3. Verfahren nach Anspruch 1, dadurch geändert, daß m höher ist als n + 1 und daß man einen Rang hk+1 in der verschach­ telten Kette einem Bit des Rangs k der zu übertragenden Bitkette zuordnet, wenn der normalerweise in der verschach­ telten Kette zuteilbare Rang hk höher ist als n, und dies für alle Bits eines Rangs höher als k der zu übertragenden Bitkette.3. The method according to claim 1, characterized in that m is higher than n + 1 and that one assigns a rank h k + 1 in the interlaced chain to a bit of the rank k of the bit chain to be transmitted, if the normally in the interlaced Chain assignable rank h k is higher than n, and this for all bits of a rank higher than k of the bit chain to be transmitted. 4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch ge­ kennzeichnet, daß b und m teilerfremd sind, daß für jede Primzahl p, die m teilt, m-a ein Vielfaches von p ist, und daß a-1 ein Vielfaches von 4 ist, wenn m ein Vielfaches von 4 ist.4. The method according to any one of claims 1 to 3, characterized ge indicates that b and m are prime factors, that for each Prime p that divides m, m-a is a multiple of p, and that a-1 is a multiple of 4 if m is a multiple of 4 is. 5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch ge­ kennzeichnet, daß b = 0.5. The method according to any one of claims 1 to 4, characterized ge indicates that b = 0. 6. Verfahren nach einem der Ansprüche 1 bis 5, dadurch ge­ kennzeichnet, daß die Codierung eine rekursive Faltungsco­ dierung ist.6. The method according to any one of claims 1 to 5, characterized ge indicates that the coding is a recursive convolutional co dation is. 7. Verfahren nach einem der Ansprüche 1 bis 5, dadurch ge­ kennzeichnet, daß den Parametern a, b und m Werte verliehen werden, die einer der Zeilen der folgenden Tabelle entspre­ chen:
7. The method according to any one of claims 1 to 5, characterized in that the parameters a, b and m are given values corresponding to one of the lines of the following table:
8. Verfahren nach einem der Ansprüche 1 bis 7, dadurch ge­ kennzeichnet, daß die Zuordnung der Ränge wiederholt wird, indem den bereits zugeordneten Rängen (hk) neue Ränge (h1) zugeteilt werden.8. The method according to any one of claims 1 to 7, characterized in that the assignment of the ranks is repeated by the already assigned ranks (h k ) new ranks (h 1 ) are assigned.
DE1999160269 1998-12-14 1999-12-14 Channel encoding transmission method with effective, modular nesting or interlacing for applying turbo codes, involves using coincidence algorithm. Withdrawn DE19960269A1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR9815779A FR2787263B1 (en) 1998-12-14 1998-12-14 TRANSMISSION METHOD WITH EFFICIENT AND MODULAR INTERLOCKING CHANNEL CODING FOR TURBO CODES

Publications (1)

Publication Number Publication Date
DE19960269A1 true DE19960269A1 (en) 2000-06-15

Family

ID=9533957

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1999160269 Withdrawn DE19960269A1 (en) 1998-12-14 1999-12-14 Channel encoding transmission method with effective, modular nesting or interlacing for applying turbo codes, involves using coincidence algorithm.

Country Status (3)

Country Link
DE (1) DE19960269A1 (en)
FR (1) FR2787263B1 (en)
GB (1) GB2346782B (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7499507B2 (en) 1999-12-03 2009-03-03 Broadcom Corporation Synchronization module using a Viterbi slicer for a turbo decoder
EP1254544B1 (en) 1999-12-03 2015-04-29 Broadcom Corporation Embedded training sequences for carrier acquisition and tracking
GB2361850B (en) 2000-04-25 2003-12-24 Ubinetics Ltd Multiplexing and de-multiplexing
WO2002019552A2 (en) 2000-09-01 2002-03-07 Broadcom Corporation Satellite receiver
EP1329025A1 (en) 2000-09-05 2003-07-23 Broadcom Corporation Quasi error free (qef) communication using turbo codes
US7242726B2 (en) 2000-09-12 2007-07-10 Broadcom Corporation Parallel concatenated code with soft-in soft-out interactive turbo decoder
US6518892B2 (en) 2000-11-06 2003-02-11 Broadcom Corporation Stopping criteria for iterative decoding
JP4265345B2 (en) * 2003-08-22 2009-05-20 日本電気株式会社 Mobile phone, interleave parameter calculation device, method and program

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2706054B1 (en) * 1993-06-02 1995-07-13 Alcatel Mobile Comm France Method for interleaving a sequence of data elements, and corresponding interleaving device.
FR2737363B1 (en) * 1995-07-27 1997-09-05 France Telecom INTERLEAVING / DE-INTERLACING DATA ELEMENTS
US5983384A (en) * 1997-04-21 1999-11-09 General Electric Company Turbo-coding with staged data transmission and processing

Also Published As

Publication number Publication date
GB2346782A (en) 2000-08-16
FR2787263A1 (en) 2000-06-16
FR2787263B1 (en) 2002-10-25
GB9929541D0 (en) 2000-02-09
GB2346782B (en) 2004-01-14

Similar Documents

Publication Publication Date Title
DE60009973T2 (en) Nesting method, interleaver, turbo coding method and turbo encoder
DE3044208C2 (en) Interpolator for increasing the word speed of a digital signal
DE60020637T2 (en) Rate adaptation and channel interleaving for a communication system
DE69936908T2 (en) ITERATIVE DECODING OF PRODUCT CODES
DE10030407B4 (en) Method for optimal rate adaptation in a mobile communication system
DE60124488T2 (en) Interleaver and interleaving method for a UMTS turbo encoder
DE69837077T2 (en) Interleaver for turbo coder
DE69722571T2 (en) System and method for digital transmission with a product code combined with multidimensional modulation
DE3736193C2 (en)
DE60002705T2 (en) INNER ROW PERMUTATIONS FOR TURBOCODE
DE60016561T2 (en) BLOCK QUARTERING FOR TURBO CODING
DE19960269A1 (en) Channel encoding transmission method with effective, modular nesting or interlacing for applying turbo codes, involves using coincidence algorithm.
DE60104338T2 (en) DEVICE AND METHOD FOR TURBO DECODING WITH SIGNATURE DATA COMPARISON AS ABORT CRITERION
DE1803222B2 (en) PROCEDURE FOR SUMMARIZING PULSE-CODED MESSAGES
DE3810916C2 (en) Delta pulse code modulation
DE60319557T2 (en) Method for reducing the number of bits per soft bit
DE69910965T2 (en) PROCESS AND DEVICE FOR PROTECTION AGAINST ERRORS
DE60311997T2 (en) First interleaving method for a transmitter with two interleavers
DE2900844A1 (en) ARRANGEMENT FOR FILTERING COMPRESSED PULSE CODE MODULATED SIGNALS
EP1430614B1 (en) Method and device for determining the initialization states in pseudo-noise sequences
DE60014395T2 (en) PROCESS AND DEVICE FOR CODING WITH AT LEAST TWO PARALLEL CODERS
EP1232599B1 (en) Device for generating a digitally modulated test signal
WO2003088516A1 (en) Method and device for calculating an iterated state of feedback shift register arrangement
DE102007018095B4 (en) Apparatus and method for determining a statistical characteristic as additional signal information for decimation of a sequence of signal samples
EP1826911A1 (en) Encoding and decoding with Trellis-coded modulation

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8139 Disposal/non-payment of the annual fee