Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
TURBO CODER WITH FACILITATED SYNCHRONISATION
Document Type and Number:
WIPO Patent Application WO/2002/043251
Kind Code:
A1
Abstract:
The invention concerns a data transmission device comprising a turbo coder (22) comprising an interleaver operating on two interleaving blocks and means (26) for producing symbols from said codes (D, Y1, Y2) supplied by the turbo coder The device comprises means (28) for inserting a synchronising sequence into said symbols at a site having a predetermined relationship position relative to the symbols produced with the codes associated with a common interleaving block.

Inventors:
MEYER JACQUES (FR)
Application Number:
PCT/FR2001/003660
Publication Date:
May 30, 2002
Filing Date:
November 21, 2001
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ST MICROELECTRONICS SA (FR)
MEYER JACQUES (FR)
International Classes:
H03M5/14; H03M13/23; H03M13/29; H03M13/27; H03M13/33; H04L1/00; (IPC1-7): H03M13/33; H03M13/29; H04L7/04
Domestic Patent References:
WO2000035101A12000-06-15
WO2001076079A22001-10-11
WO1997045980A11997-12-04
Foreign References:
EP0631396A21994-12-28
US5937016A1999-08-10
US5710783A1998-01-20
EP0748056A21996-12-11
FR2775854A11999-09-10
EP0998069A22000-05-03
Other References:
ROBERTSON P.: "Fortschrittberichte VDI, Reihe 10: Informatik/Kommunikations- technik Nr.376", 1995, VDI-VERLAG, article "Optimal frame synchronization for continuous and packet data transmission", pages: 15 - 25
BERNER J. ET AL.: "Deep space network turbo decoder implementation", PROC., IEEE AEROSPACE CONFERENCE, 10 March 2001 (2001-03-10), pages 3 - 1149,3-1156
See also references of EP 1346481A1
Attorney, Agent or Firm:
De Beaumont, Michel (rue Champollion Grenoble, FR)
Download PDF:
Claims:
REVENDICATIONS
1. Dispositif de transmission de données comprenant un codeur à turbocodes (22) comportant un brasseur agissant sur des blocs de brassage, et un moyen (26) pour élaborer des symboles à partir de codes (D, Y1, Y2) fournis par le codeur à turbocodes, caractérisé en ce que le dispositif comprend un moyen (28) pour insérer une séquence de synchronisation dans lesdits symboles à un emplacement présentant une relation de position prédéterminée par rapport aux symboles élaborés à l'aide de codes associés à un mme bloc de brassage.
2. Dispositif selon la revendication 1, comprenant un moyen de perforation (24) recevant les codes fournis par le codeur à turbocodes (22) et fournissant au moyen (26) d'élabo ration de symboles une partie seulement des codes fournis par ledit codeur (22).
3. Dispositif selon la revendication 2, dans lequel le moyen de perforation (24) est réinitialisé lorsqu'il reçoit des codes associés à un nouveau bloc de brassage.
4. Dispositif selon l'une des revendications précé dentes, dans lequel les symboles sont utilisés pour moduler en phase et/ou en amplitude une porteuse à fréquence fixe (MPSK, QAM).
5. Procédé pour transmettre des données comprenant les étapes suivantes : a) coder les données à transmettre par un codeur à turbocodes (22) comportant un brasseur agissant sur des blocs de brassage ; b) élaborer des symboles à partir de codes fournis par le codeur à turbocodes ; c) insérer une séquence de synchronisation dans lesdits symboles à un emplacement présentant une relation de position déterminée par rapport aux symboles élaborés à l'aide de codes associés à un mme bloc de brassage ; et d) transmettre les symboles obtenus après l'étape c) d'insertion de séquence de synchronisation.
6. Procédé selon la revendication 5, comprenant, entre l'étape a) de codage et l'étape b) d'élaboration de symboles, une étape de perforation consistant à sélectionner une partie seulement des codes fournis par ledit codeur (22) par un moyen de perforation (24).
7. Procédé selon la revendication 6, comprenant une étape de réinitialisation du moyen de perforation (24) lorsque le moyen de perforation (24) reçoit des codes associés à un nouveau bloc de brassage.
8. Procédé pour décoder des données transmises par un dispositif selon une des revendications 1 à 4 ou un procédé selon une des revendications 5 à 7, comprenant les étapes suivantes : a) pour chaque groupe de n symboles reçus, n corres pondant au nombre de symboles d'une séquence de synchronisation, calculer une quantité représentative de la probabilité de pré sence d'une séquence de synchronisation ; b) si ladite quantité dépasse un seuil déterminé, incrémenter un compteurdécompteur initialement mis à zéro ; c) après une durée correspondant à une période possible de la séquence de synchronisation, calculer à nouveau une quantité représentative de la probabilité de présence d'une séquence de synchronisation et incrémenter le compteur décompter si une séquence de synchronisation est à nouveau détectée ; sinon, décrémenter le compteurdécompteur ; d) lorsque le compteurdécompteur atteint son maximum, déclarer que l'état synchronisé est atteint ; et e) si le compteurdécompteur atteint son minimum, remettre le comptèurdécompteur à zéro et attendre une autre détection de synchronisation.
9. Procédé selon la revendication 8, dans lequel, après une durée déterminée sans atteindre l'état synchronisé, on réalise l'étape d'essayer une autre période possible de la séquence de synchronisation.
10. Procédé selon l'une des revendications 8 ou 9, dans lequel, lorsque l'état synchronisé a été atteint, on réalise l'étape consistant à décoder les symboles.
Description:
CODEUR A TURBOCODES A SYNCHRONISATION FACILITEE La présente invention concerne la transmission de don- nées, et en particulier la transmission de données numériques codées à l'aide d'un codeur à turbocodes.

Un codeur à turbocodes comprend deux (ou plus de deux) circuits de codage simples de type convolutif et un ou plusieurs brasseurs ("interleaver"en anglais), opérant sur des blocs de données de grande taille (typiquement, de 100 à 16000 bits).

La figure 1 illustre un codeur classique à quatre états de type convolutif. Le codeur 1 reçoit, à chaque coup d'une horloge non représentée, un bit D. Le bit D fait partie d'une suite de bits correspondant à des données à transmettre, numérisées et mises sous forme série.

Par une première branche 11, le bit de données D est directement fourni en sortie du codeur 1. Par une seconde branche 12, le bit D est fourni à un circuit de codage C. Le circuit C fournit en sortie un bit Y, dit bit de redondance.

Le circuit C comprend quatre bascules Bi de type D (Bo, B1, B2, B3) connectées en série et cinq additionneurs 2i (20, 21, 22, 23 et 24). Les additionneurs 2i sont des additionneurs modulo 2. A chaque coup d'horloge, l'état ("0"ou "1") à l'entrée d'une bascule Bi est transféré à sa sortie. Les additionneurs 2i sont couplés à des éléments du codeur 1 (entrée, bascules Bi, autres additionneurs, sortie) de sorte que le bit de redondance Y représente une combinaison linéaire de quatre bits de données successifs.

Le bit de redondance Y a pour expression

dans laquelle bi représente un coefficient dépendant de la structure du codeur C et dans laquelle Dn_i désigne les bits de données suivants : pour i=0, le bit de données D présent en sortie en mme temps que le bit Y et, pour i allant de 1 à 3, les bits de données correspondant aux trois coups d'horloge précédents. Le signe E désigne une somme modulo 2.

Le circuit de codage C comporte quatre bascules Bi. Il est dit à quatre états. Le nombre total des combinaisons possi- bles des états des bascules Bi est égal à 24, c'est-à-dire 16.

En sortie du codeur 1, on obtient ainsi un bit de don- nées D associé à un bit de redondance Y qui est une combinaison linéaire de plusieurs bits D successifs. Après transmission, une combinaison linéaire semblable est calculée en réception et les bits de redondance Y permettent de corriger d'éventuelles erreurs survenues aux bits D au cours de la transmission.

La figure 2 illustre un codeur à turbocodes 5, réalisé au moyen de deux circuits de codage C1 et C2, dont chacun est semblable au circuit C de la figure 1.

Le codeur 5 reçoit en entrée des bits de données D correspondant aux données à transmettre. L'entrée du codeur 5 attaque trois branches parallèles 51, 52 et 53. Par la branche 51, les bits de données D sont fournis directement à la sortie du codeur. Dans la branche 52, les bits de données D sont fournis au circuit de codage C1. Le circuit Cl fournit un premier bit de redondance Y1. Dans la branche 53, les bits de données D sont fournis à un brasseur 6 en série avec un circuit de codage C2.

Le brasseur 6 opère de la façon suivante. Dans un pre- mier temps, le brasseur 6 stocke un nombre prédéterminé de bits,

correspondant à un bloc de brassage. Dans un deuxième temps, le brasseur brasse les bits dans un ordre prédéterminé, et il four- nit en sortie les bits du bloc de brassage dans un ordre différent de leur ordre d'arrivée. Les opérations de stockage et de fourniture des bits brassés se font en parallèle, le brasseur 6 stockant les bits d'un bloc de brassage tandis qu'il fournit les bits brassés du bloc précédent. On appelle longueur du bras- seur le nombre de bits d'un bloc de brassage.

La sortie du brasseur 6 attaque le circuit de codage C2. Le circuit C2 fournit un second bit de redondance Y2. La sortie du codeur 5 fournit à chaque coup d'horloge un code comprenant un bit de données D, associé à deux bits de redondance, Yl et Y2. Les codes D, Yl et Y2 sont envoyés par l'intermédiaire d'un canal de transmission (antenne, câble, etc), après modulation adéquate, en général QAM ("Quadrature Amplitude Modulation") ou MPSK ("Multiple Phase Shift Keying").

En raison de l'existence du brasseur, les bits de redondance Y2 sont élaborés avec des bits qui peuvent tre très éloignés temporellement des bits de données fournis simultanément avec les bits Y2 par le codeur 5. Le codeur 5 peut tre considéré comme un codeur équivalent à un codeur convolutif simple dont le nombre d'états, c'est-à-dire le nombre de bascules en série, est sensiblement équivalent à la longueur du brasseur. Le décodage de codes obtenus à 1'aide du codeur 5 est relativement simple, sa complexité restant limitée à la complexité de décodage des codes obtenus par les circuits C1 et C2.

La figure 3 représente un décodeur 8 pour décoder des codes transmis par le codeur 5 de la figure 2.

Le décodeur 8 reçoit un signal formé de bits D', Y'1 et Y'2, correspondant respectivement aux bits de données D, et aux bits de redondance Y1 et Y2 qui ont été transmis. Le décodeur 8 comprend un circuit de décodage 10, DEC1. Le circuit DEC1 reçoit, à chaque coup d'horloge, un bit D'et un bit correspondant Y'1. Le circuit DEC1 a une structure simple,

correspondant sensiblement à la structure d'un décodeur assurant le décodage de codes codés à 1'aide du circuit Cl uniquement. Le circuit DEC1 fournit, à chaque coup d'horloge, un nombre lié à la probabilité de la valeur du bit de données D. En sortie du circuit DEC1, on obtient une estimation des bits D où certaines erreurs sont corrigées.

La sortie du circuit DEC1 est fournie à un brasseur 12, de mme structure que le brasseur 6 de la figure 2. Le brasseur 12 agit sur des blocs de données de mme longueur que le brasseur 6 et fournit des bits brassés de la mme façon que dans le brasseur 6. La sortie du brasseur 12 est fournie à un circuit de décodage 14, DEC2. Le circuit DEC2 reçoit aussi le second bit de redondance, Y'2, reçu en mme temps que le bit D' présent à l'entrée du décodeur 8. Le circuit DEC2 a sensiblement la mme structure que le circuit DEC1 et il fournit une estimation plus précise des bits D, dans laquelle davantage d'erreurs ont été corrigées.

Le circuit DEC2 attaque un circuit de brassage 16, qui remet dans l'ordre d'arrivée les bits brassés par le brasseur 12. La sortie du brasseur 16 est ramenée en entrée du circuit DEC1 par une liaison 18. La liaison 18 permet au circuit DEC1 de prendre en compte la sortie du circuit DEC2. Le décodeur 8 est un décodeur itératif. Après quelques itérations, on considère que la plupart des erreurs sont corrigées et les données sont obtenues avant ou après le circuit DEC1.

Pour réaliser un décodage convenable, il faut que le brasseur 12 soit synchronisé avec le brasseur 6 du codeur. En effet, le brassage du brasseur 12 doit porter sur des bits appartenant aux mmes blocs de brassage que le brasseur 6. Le brasseur 16 est synchronisé avec le brasseur 12.

Pour assurer la synchronisation du brasseur 12 avec le brasseur 6, il est connu d'insérer une séquence de bits de syn- chronisation à intervalles réguliers dans le flot des bits transmis par le codeur. Comme les bits de synchronisation peuvent avoir été entachés d'erreurs lors de la transmission, on

ne cherche pas à les déterminer immédiatement après réception avant décodage du reste des bits, car cela pourrait conduire à mal synchroniser le brasseur 12.

Par conséquent, on décode l'ensemble des bits reçus dans le décodeur 8. On fait l'hypothèse qu'un bit reçu quelconque correspond à la première position d'un bloc de brassage, et on décode les bits reçus. On détermine une probabilité de vraisemblance de l'hypothèse faite. On réalise d'autres essais à l'aide des bits suivants jusqu'à ce que L+r bits, si le brasseur a une longueur L et r est le nombre de bits de synchronisation par bloc, ont été considérés comme pouvant correspondre à la première position d'un bloc de brassage. On définit le début de la période de brassage à l'aide de l'essai qui a permis d'obtenir la probabilité la plus élevée. Cela représente L+r essais. Comme L est grand, le temps mis par le décodeur pour se synchroniser peut devenir prohibitif.

Une autre difficulté du décodage est que, en pratique, tous les bits de redondance ne sont pas transmis.

La figure 4 illustre les bits transmis d'un codeur dit 2/3. Le rapport 2/3 est appelé taux de transmission. Un codeur 2/3 est un codeur qui transmet deux bits de données pour trois bits transmis.

En figure 4, quatre bits de données successifs Di (Do à D3) sont illustrés, ainsi que les bits de redondance Yli et Y2i (i allant de 0 à 3) obtenus en mme temps que chaque bit de données Di. Les bits entourés sont les bits transmis. Les bits transmis forment la séquence Do, D1, Y11, D2, D3 et Y23. Cette séquence définit une séquence dite"de perforation"et se répète tous les 4 bits de données.

Les bits de données sont en général toujours transmis.

La technique pour choisir les données de redondance à transmettre s'appelle la perforation ("puncture"en anglais). La perforation est réalisée à l'aide d'un masque de perforation, par exemple une table, qui élimine les bits qui ne doivent pas tre transmis. Au décodage, on doit, dans le flot des bits

reçus, déterminer quels bits sont les bits de données et, parmi les bits de redondance, quels sont les bits de type Y1 et ceux de type Y2. En d'autres termes, il faut reconnaître la phase de perforation, c'est-à-dire le bit correspondant au début d'une séquence de perforation. Au décodage, le décodeur doit se synchroniser sur la phase de perforation. Cela est réalisé en essayant tous les cas possibles, et en choisissant le meilleur.

En outre, au codage, le taux de transmission peut tre choisi entre plusieurs taux possibles, par exemple 1/2,2/3, 3/4,5/6,5/8 ou 8/9. Le décodeur 8 sait que le taux de transmission utilisé est un des taux possibles, mais il ignore de quel taux il s'agit. Le décodeur de l'art antérieur essaye tous les cas possibles afin de retrouver le taux de transmission utilisé. Les recherches à faire sont longues. Par exemple, avec un brasseur agissant sur des blocs de 2048 bits et trois taux possibles de redondance respectivement égaux à 2/3,5/6 et 8/9, 180000 essais de plusieurs milliers de bits chacun doivent tre réalisés. Les essais à faire peuvent devenir si nombreux que le traitement en temps réel de 1'information peut devenir impossible.

De plus, si une modulation QAM ou MPSK a été utilisée en transmission, le nombre d'essais effectués au décodage doit tre multiplié par deux en QAM et par M en MPSK. En effet, au décodage, la phase 0 de la porteuse n'est connue qu'à s/2 près en QAM et à 27 ! :/M près en MPSK, et le décodeur doit lever cette ambiguïté en essayant tous les cas possibles pour la phase.

Un objet de la présente invention est de prévoir un codeur et un procédé de codage à turbocodes permettant de synchroniser facilement le décodeur sur le brasseur du codeur.

Un autre objet de la présente invention est de prévoir un codeur et un procédé de codage à turbocodes permettant de synchroniser facilement le décodeur sur la phase de perforation du codeur.

Pour atteindre ces objets, la présente invention pré- voit un dispositif de transmission de données comprenant un

codeur à turbocodes comportant un brasseur agissant sur des blocs de brassage, et un moyen pour élaborer des symboles à partir de codes fournis par le codeur à turbocodes. Le dispositif comprend un moyen pour insérer une séquence de synchronisation dans lesdits symboles à un emplacement présentant une relation de position prédéterminée par rapport aux symboles élaborés à 1'aide de codes associés à un mme bloc de brassage.

Selon un mode de réalisation de la présente invention, le dispositif comprend un moyen de perforation recevant les codes fournis par le codeur à turbocodes et fournissant au moyen d'élaboration de symboles une partie seulement des codes fournis par ledit codeur.

Selon un mode de réalisation de la présente invention, le moyen de perforation est réinitialisé lorsqu'il reçoit des codes associés à un nouveau bloc de brassage.

Selon un mode de réalisation de la présente invention, les symboles sont utilisés pour moduler en phase et/ou en ampli- tude une porteuse à fréquence fixe.

La présente invention prévoit aussi un procédé pour transmettre des données comprenant les étapes suivantes : a) coder les données à transmettre par un codeur à turbocodes comportant un brasseur agissant sur des blocs de brassage ; b) élaborer des symboles à partir de codes fournis par le codeur à turbocodes ; c) insérer une séquence de synchronisation dans lesdits symboles à un emplacement présentant une relation de position déterminée par rapport aux symboles élaborés à l'aide de codes associés à un mme bloc de brassage ; et d) transmettre les symboles obtenus après l'étape c) d'insertion de séquence de synchronisation.

Selon un mode de réalisation de la présente invention, le procédé comprend, entre l'étape a) de codage et l'étape b) d'élaboration de symboles, une étape de perforation consistant à

sélectionner une partie seulement des codes fournis par ledit codeur par un moyen de perforation.

Selon un mode de réalisation de la présente invention, le procédé comprend une étape de réinitialisation du moyen de perforation lorsque le moyen de perforation reçoit des codes associés à un nouveau bloc de brassage.

L'invention prévoit aussi un procédé pour décoder des données transmises par un dispositif ou un procédé ci-dessus, comprenant les étapes suivantes : a) pour chaque groupe de n symboles reçus, n corres- pondant au nombre de symboles d'une séquence de synchronisation, calculer une quantité représentative de la probabilité de pré- sence d'une séquence de synchronisation ; b) si ladite quantité dépasse un seuil déterminé, incrémenter un compteur-décompteur initialement mis à zéro ; c) après une durée correspondant à une période possible de la séquence de synchronisation, calculer à nouveau une quantité représentative de la probabilité de présence d'une séquence de synchronisation et incrémenter le compteur- décompter si une séquence de synchronisation est à nouveau détectée ; sinon, décrémenter le compteur-décompteur ; d) lorsque le compteur-décompteur atteint son maximum, déclarer que l'état synchronisé est atteint ; et e) si le compteur-décompteur atteint son minimum, remettre le compteur-décompteur à zéro et attendre une autre détection de synchronisation.

Selon un mode de réalisation de la présente invention, après une durée déterminée sans atteindre l'état synchronisé, on réalise l'étape d'essayer une autre période possible de la séquence de synchronisation.

Selon un mode de réalisation de la présente invention, lorsque l'état synchronisé a été atteint, on réalise l'étape consistant à décoder les symboles.

Ces objets, caractéristiques et avantages, ainsi que d'autres de la présente invention seront exposés en détail dans

la description suivante de modes de réalisation particuliers faite à titre non-limitatif en relation avec les figures jointes parmi lesquelles : la figure 1 illustre un codeur classique de type convolutif ; la figure 2 illustre un codeur classique à turbocodes ; la figure 3 illustre un décodeur classique correspon- dant au codeur de la figure 2 ; la figure 4 illustre une séquence de perforation avec un taux de transmission de 2/3 ; la figure 5 représente un codeur selon la présente invention ; la figure 6 représente une séquence de perforation avec un taux de transmission de 8/9 ; la figure 7 illustre une modulation 8PSK ; et la figure 8 représente un décodeur selon la présente invention.

En figure 5, des bits de données D, correspondant aux données à transmettre, sont fournis sous forme série à l'entrée d'un codeur 20. Le codeur 20 comprend un circuit de codage à turbocodes 22 ("turbocoder"). Le circuit 22 fournit, à chaque coup d'une horloge non représentée, un bit de données D, un premier bit de redondance Y1 et un second bit de redondance Y2.

Le circuit 22 peut tre identique au codeur 5 de la figure 2 ou à un codeur à turbocodes de tout type connu fournissant des bits de données, et deux bits de redondance ou plus.

Les bits D, Y1 et Y2 attaquent un circuit de perfora- tion 24. Le circuit 24 détermine, en fonction du taux de transmission souhaité, les données de redondance à conserver en vue de la transmission. Pour ce faire, le circuit 24 utilise un masque de perforation. Une séquence de perforation peut tre définie par le nombre de bits de données traités en une fois par le masque de perforation. Le circuit 24 est adaptable à divers taux de transmission et, par suite, les séquences de perforation peuvent comporter des nombres de bits différents.

Le circuit 24 de la présente invention est réinitialisé au début de chaque bloc de brassage. Par exemple, lorsque le premier bit Y2 d'un nouveau bloc de brassage est fourni par le circuit 22 au circuit 24, on fait en sorte que le circuit 24 initie une séquence de perforation. Cette réinitialisation est symbolisée par la ligne pointillée 25, reliant le circuit 22 au circuit 24.

La sortie du circuit 24 fournit une suite de bits, comprenant les bits de données D et les bits de redondance Y1 et Y2 retenus. La sortie du circuit 24 attaque un circuit 26 d'éla- boration de symboles. Le circuit 26 utilise les bits qui lui sont fournis pour former des symboles qu'il transmet à sa sortie. Un symbole est une information analogique, par exemple un nombre complexe, correspondant à un nombre prédéterminé de bits successifs de la suite de bits fournie par le circuit 24.

Les symboles peuvent représenter une information de phase dans une modulation de type MPSK, ou une information de phase et d'amplitude dans une modulation de type QAM.

La figure 6 illustre le cas où les symboles formés correspondent à trois bits consécutifs et où le taux de transmission est 8/9.

En figure 6,16 bits Di (Do à D15) constituent les bits de données correspondant à une séquence de perforation.

Sous chaque bit Di, sont représentés les bits de redondance Yli et Y2i fournis par le circuit de codage 22. Comme il y a huit bits de données pour neuf bits transmis, et que par ailleurs il y a deux types différents de bits de redondance à transmettre (Y1 et Y2), la séquence de perforation comporte 16 bits de données. Les bits de redondance sélectionnés sont le bit Y27 après le bit D7 et le bit Y114, après le bit D14. Le circuit 26 va fournir, pour chaque séquence de perforation, un premier symbole SO correspondant aux bits de données Do à D. Les symboles suivants, S1 à S5 correspondent respectivement à D3 à D5 ; D6, D7, Y27 D8 à D1o D1l à D13 D14, Y114, D15. En figure 6, les bits à transmettre sont entourés d'un cercle et

les bits utilisés pour former un symbole sont entourés d'un cadre noir.

Le nombre de bits utilisés pour former un symbole est fonction du mode de transmission souhaité. Par exemple, des symboles formés de trois bits sont particulièrement adaptés à une modulation 8PSK, illustrée en figure 7.

La figure 7 illustre une constellation de huit symboles dans un plan complexe x'Ox, y'Oy. A chaque symbole, pour la transmission, on fait correspondre une phase particulière de la porteuse. La demi-droite Ox correspond à la phase 0 de la porteuse. Un symbole S peut tre représenté par un nombre complexe X+Yj, ou par sa phase (p par rapport à la demi- droite Ox. La phase de la porteuse modulée est, pour le symbole S représenté (001), (p=37t/8. Dans une modulation QAM (non représentée), la porteuse est modulée en phase et en amplitude ; chaque symbole peut alors tre associé à un nombre complexe de module spécifique.

En figure 5, les symboles élaborés par le circuit 26 sont fournis à un circuit 28 d'insertion de symboles de synchro- nisation. Le circuit 28 insère une séquence de synchronisation dans le train de symboles issus du circuit 26. La séquence de synchronisation peut comporter un nombre quelconque de symboles, quatre par exemple, ou mme un seul symbole. Les symboles de la séquence de synchronisation sont des symboles qui peuvent figurer par ailleurs dans le train de symboles issus du circuit 26.

L'insertion des symboles de la séquence de synchro- nisation est réalisée à un emplacement prédéterminé dans le train de symboles issu du circuit 26. Cet emplacement est choisi de la manière suivante. Parmi les bits D, Y1, Y2 fournis par le circuit 22, on considère d'abord les bits qui sont associés à un mme bloc de brassage. Ces bits correspondent aux bits de données D d'un bloc de brassage et aux bits de redondance Y1, Y2 fournis par le circuit 22 en mme temps que les bits D du bloc de brassage considéré. Ensuite, on considère les symboles

élaborés à l'aide de ces bits associés à un mme bloc de brassage, et on insère les symboles de la séquence de synchronisation a un emplacement prédéterminé parmi ces symboles, par exemple après le troisième symbole de l'ensemble de symboles ainsi défini. On répète l'opération pour chacun des blocs de brassage suivants.

L'emplacement prédéterminé d'insertion de la séquence de synchronisation est quelconque parmi les symboles élaborés à l'aide de bits associés à un mme bloc de brassage. Ainsi, la séquence de synchronisation peut tre insérée entre des symboles élaborés à partir de bits associés à des blocs de brassage différents. Dans ce cas, le repérage de la séquence de synchronisation à la réception fournit directement une indication du début des blocs de brassage. Des liaisons en traits pointillés 27,27'reliant respectivement les circuits 22 et 24 au circuit 28 symbolisent les relations permettant l'insertion de la séquence de synchronisation à l'emplacement prédéterminé. En outre, si le circuit 26 est adaptable par exemple à plusieurs types de modulation et peut élaborer des symboles correspondant à des nombres différents de bits, le circuit 28 peut recevoir du circuit 26 une information indiquant le nombre de bits utilisés pour former un symbole.

On notera que, dans le codeur selon la présente inven- tion, les symboles de synchronisation n'occupent pas toujours la mme position temporelle dans le train de symboles transmis, les symboles de synchronisation n'étant pas toujours séparés par un mme nombre de symboles. En effet, le nombre de symboles séparant deux séquences de synchronisation successives dépend au moins du taux de transmission utilisé, inconnu du décodeur.

Ainsi, lors d'une transmission donnée, la séquence de synchronisation présente une période spécifique, c'est-à-dire qu'elle intervient à intervalles réguliers, mais cette période fait partie d'un ensemble de périodes possibles et est inconnue du décodeur, qui ne connaît que l'ensemble des périodes possibles.

La sortie du circuit 28 attaque un circuit modulateur 30, par l'intermédiaire d'éventuels filtres non représentés, comme des filtres de lissage, destinés à supprimer d'éventuelles fréquences indésirables. La modulation effectuée par le modu- lateur 30 est par exemple une modulation de type QAM ou MPSK, M étant égal à 4,8,16 ou 32. Si le modulateur 30 est par exemple de type 16QAM ou 16PSK, les symboles correspondront à quatre bits. S'il s'agit d'un modulateur 8PSK, les symboles seront des symboles correspondant à trois bits, comme cela a été vu en relation avec la figure 7. La sortie du modulateur 30 pilote un canal de transmission, pouvant tre par exemple un câble ou une liaison hertzienne.

La figure 8 illustre un décodeur 40 selon la présente invention. Les signaux reçus par le décodeur 40 correspondent aux signaux émis par le codeur 20 et sont, le cas échéant, entachés d'erreurs.

Les signaux reçus attaquent un démodulateur 42 ("DEMOD"), dans lequel ils sont démodulés pour fournir une suite de symboles. Les symboles fournis par le démodulateur 42 sont fournis à un circuit 44 de détection des symboles de synchro- nisation.

Le circuit 44 a pour fonction de déterminer les sym- boles de synchronisation parmi les symboles qui lui sont fournis. Le circuit 44 opère de la façon suivante.

Si la séquence de synchronisation comporte n symboles (n est connu du décodeur), pour chaque groupe de n symboles reçus, on calcule une quantité représentative de la probabilité de présence de la séquence de synchronisation. Par exemple, on peut calculer la somme des carrés des distances entre les sym- boles reçus et les symboles de synchronisation. On peut aussi calculer la somme des valeurs absolues de ces distances.

Si la quantité calculée dépasse un certain seuil déterminé, on fait l'hypothèse que l'on est en présence de la séquence de synchronisation et un compteur/décompteur non représenté, présent dans le circuit 44, est incrémenté. La

sortie du compteur/décompteur peut varier entre une valeur minimum négative ou nulle et une valeur maximum positive. Le compteur/décompteur est initialement mis à zéro. Après une période possible de la séquence de synchronisation, si une synchronisation est à nouveau détectée, on incrémente le compteur/décompteur. Sinon on le décrémente.

Lorsque la sortie du compteur/décompteur atteint sa valeur maximale, on déclare que l'état synchronisé est atteint.

On retire alors les symboles de synchronisation et les symboles restants (correspondants aux bits de données et de redondance) sont fournis à un circuit de décodage 46.

Si la sortie du compteur/décompteur atteint sa valeur minimale, on remet le compteur/décompteur à zéro et on attend une autre détection de synchronisation. Après un certain temps sans atteindre l'état synchronisé, on essaye une autre période possible pour la séquence de synchronisation. Si, après épuisement des possibilités, il n'y a toujours pas eu synchronisation, on en déduit qu'il n'y a pas de données transmises dans les signaux reçus. En général cependant, des données sont transmises et le circuit de décodage 46 reçoit une suite de symboles à décoder.

On notera que le décodeur 40 lève l'ambiguïté qui existe sur la phase 0 de la porteuse en essayant tous les cas possibles pour la phase (huit en modulation 8PSK). Comme le nombre total d'essais à faire est très réduit dans la présente invention par rapport à l'art antérieur, on pourra aisément réaliser en parallèle les essais destinés à lever l'ambiguïté de phase, afin de parvenir plus rapidement à l'état synchronisé.

Le circuit 46 transforme d'abord les symboles qu'il reçoit en une suite de bits. Dans cette suite de bits, le bit correspondant au début d'un bloc de brassage est connu, du fait de la relation de position prédéterminée entre les symboles de synchronisation et ceux issus d'un mme bloc de brassage. Le circuit 44 transmet au circuit 46 une information sur la position du bit correspondant au début de chaque bloc de

brassage, ce qui est symbolisé sur la figure par la ligne pointillée 45.

Comme les bits associés à un bloc de brassage sont parfaitement connus, et que par ailleurs la séquence de perforation a été réinitialisée au début du bloc de brassage, le circuit 46 décode sans difficulté les symboles fournis. Le cir- cuit 46 fournit, en sortie du décodeur 40 des bits de données D présentant peu d'erreurs.

Le décodeur 40 présente plusieurs avantages.

En effet, dans la présente invention, il n'est pas nécessaire d'attendre le décodage complet des données pour déterminer la synchronisation. Comme le décodeur 46 n'est pas dans la boucle de recherche de synchronisation, les essais à faire sont beaucoup moins nombreux et prennent moins de temps. Dans la pré- sente invention, il n'est pas nécessaire de rechercher le début des séquences de perforation, puisque ceux-ci sont liés aux blocs de brassage. Aussi, la synchronisation peut se faire dans des conditions où le codeur à turbocodes n'a pas de gain, c'est-à- dire où il produit plus d'erreurs qu'il n'en corrige.

Dans un exemple pratique, le brasseur agit sur des blocs de 2048 bits ; le taux de transmission R est un des taux R = 2/3,5/6 ou 8/9 ; la séquence de synchronisation comprend quatre symboles de synchronisation. Alors, le nombre de bits séparant deux séquences de synchronisation est 2048/ (3xR), pour une modulation 8PSK où les symboles correspondent à trois bits.

Dans ce cas, le décodeur de la présente invention se synchronise en moins de 10 millisecondes pour un débit de données égal à 20 mégabauds, alors que, à débit de données égal, il faut plusieurs secondes, soit une durée plusieurs centaines de fois supérieure, au décodeur de l'art antérieur pour se synchroniser.

Bien entendu, la présente invention est susceptible de diverses variantes et modifications qui apparaîtront à l'homme de l'art. En particulier, lorsque le circuit de codage 22 est un codeur d'un type fournissant plus de deux bits de redondance pour chaque bit de données, le circuit 24 sera adapté sans peine

par l'homme du métier pour fournir des symboles à l'aide des bits qui lui sont fournis.

Aussi, les circuits 24 et 26 d'élaboration et d'inser- tion de symboles de synchronisation pourront tre réalisés sous la forme d'un seul circuit réalisant ces deux fonctions. Aussi, le circuit 46 pourra tre scindé en plusieurs circuits réalisant chacun une fonction distincte du circuit 46.

Aussi, dans ce qui précède, une séquence de synchron- sation est introduite entre les symboles correspondant aux bits d'un mme bloc de brassage. Bien entendu, la séquence de synchronisation peut tre introduite après un nombre prédéterminé quelconque de symboles correspondant aux bits d'un mme bloc de brassage, ce nombre prédéterminé étant connu du décodeur. Aussi, plusieurs séquences de synchronisation peuvent tre introduites entre les symboles correspondant aux bits d'un mme bloc de brassage. Aussi, deux séquences de synchronisation successives pourront tre séparées par un nombre de symboles correspondant aux bits de deux blocs de brassage ou plus.