Brevet FR2710218A1 — publié le 19950324

DISPOSITIF DE DETECTION DE PERTE DE SYNCHRONISATION TRAME POUR MODULATIONS MULTIDIMENSIONNELLES ET MODEM COMPORTANT UN TEL DISPOSITIF Description La présente invention concerne un dispositif de détection de perte de synchronisation trame pour modulations à 2N dimensions, chaque trame émise étant composée de N symboles correspondant chacun à un point d'une constellation bidimensionnelle. L'invention concerne également un modem comportant un tel dispositif. De telles modulations multidimensionnelles sont largement utilisées dans le domaine des modulations numériques qui utilisent en effet le plus souvent un codage en treillis basé sur l'ajout d'un élément binaire de redondance pour chaque symbole à coder, ce qui a pour effet de doubler la taille de la constellation nécessaire. Pour les communications à haut débit (19200 eb/s par exemple), cette taille devient excessive. L'utilisation de modulations à 2N dimensions qui consistent à regrouper N symboles pour le codage, de façon à former une trame, et à n'ajouter qu'un élément binaire de redondance pour chaque trame, permet alors de limiter l'accroissement de la constellation. Un récepteur de modulations multidimensionnelles doit donc disposer d'une synchronisation trame lui permettant de reconnaître le début ou la fin de chaque trame pour différencier exactement les symboles qui y sont regroupés. Un dispositif de synchronisation trame pour modulations codées en treillis est exposé dans le brevet US 4,641,327. Il nécessite de choisir la modulation utilisée de façon à interdire les transitions du codeur convolutif résultant d'une détection incorrecte du début des trames par le récepteur. L'existence d'une séquence interdite est ensuite détectée lorsque la différence entre une première grandeur dite métrique de chemin à l'instant t, et une seconde grandeur dite métrique de branche minimum pour la transition (t-l) à t, est différente de zéro. Un tel dispositif n'est donc pas applicable à une modulation quelconque. Le but de la présente invention est de proposer un dispositif qui détecte toute perte de cette synchronisation trame quelque soit la modulation utilisée, et sans émettre d'éléments binaires supplémentaires. A chaque détection, une nouvelle phase de synchronisation trame est alors relancée, ce qui permet de continuer à assurer une bonne qualité de réception. Pour cela, un dispositif de détection de perte de synchronisation trame selon l'invention et tel que décrit dans le paragraphe introductif est caractérisé en ce qu'il comporte un module de surveillance d'une variable représentant une erreur de décodage par rapport à une erreur due au bruit de transmission, ce module de surveillance permettant de détecter une perte de synchronisation trame lorsque, sur un grand nombre de trames successives, cette variable dépasse un seuil fixé. Dans un mode de réalisation particulièrement avantageux, lorsque les modulations sont codées en treillis, le dispositif selon l'invention comporte en outre: - un module de calcul d'une valeur moyenne de l'erreur due au bruit, cette erreur étant égale à la distance qui le sépare du point de la constellation dont il est le plus proche, - un module de calcul d'une valeur moyenne de l'erreur de décodage fournie par un algorithme de décodage, cette erreur étant égale à la distance séparant le point reçu du point décodé par ledit algorithme. Ce mode de réalisation présente l'avantage, en calculant une valeur moyenne des erreurs données par l'algorithme de décodage, d'utiliser les éléments binaires redondants introduits par le codage convolutif pour détecter la perte de synchronisation trame. Dans un autre mode de réalisation avantageux, le dispositif selon l'invention comporte en outre un module de calcul de la variable à surveiller, qui est donnée par une expression du type: V(s) = D(s) - N. E(s) o D(s) et E(s) sont respectivement les valeurs moyennes de l'erreur de décodage et de l'erreur due au bruit calculées au sème symbole, et N est un entier naturel. Cette variable V(s) présente l'intérêt de ne pas dépendre du bruit, ce qui permet de la comparer à un seuil fixé pour déterminer s'il y a perte de synchronisation trame. D'autres particularités, détails et avantages de la présente invention seront mis en évidence par la description qui va suivre en regard des dessins annexés qui sont donnés à titre d'exemples non limitatifs, dans lesquels: - la figure 1 représente un exemple de dispositif de détection de perte de synchronisation trame selon l'invention, - la figure 2 représente un exemple d'organigramme de fonctionnement d'un module de surveillance d'un dispositif selon l'invention, - la figure 3 représente un modem comportant un dispositif selon l'invention. Dans la suite de la description on se placera dans le cas de modulations multidimensionnelles codées en treillis, ce qui correspond au cas le plus largement utilisé actuellement. Il semble donc nécessaire d'en rappeler brièvement le principe. Les modulations codées en treillis sont basées sur la décomposition de la constellation en sous-ensembles: ces sous- ensembles sont choisis de telle sorte que la distance euclidienne carrée minimum séparant deux points d'un même sous-ensemble soit maximale. Il est donc possible de diviser plusieurs fois la constellation jusqu'à obtenir la distance souhaitée. Ainsi, pour transmettre Q éléments binaires d'information, on ajoute P éléments binaires de redondance utilisant donc une constellation de 2Q+P points (dans la pratique P est en général fixé égal à 1): M des Q éléments binaires d'information sont alors utilisés par un codeur convolutif de taux M/M+P (ce qui correspond à l'ajout de P éléments binaires de redondance) pour désigner l'un des 2M+P sous-ensembles de la constellation; et les Q-M éléments binaires restant servent à déterminer, à l'intérieur d'un sous-ensemble désigné, l'un des 2Q-M points. Le comportement d'un codeur convolutif est décrit par un treillis: la transmission d'une trame correspond à la transition d'un état initial à un état final le long du treillis. L'algorithme de Viterbi est connu pour être une méthode optimale de décodage de ces codes convolutifs. Son principe est décrit dans l'article "The Viterbi Algorithm" de G. David Forney paru le 3 mars 1973 dans la revue "Proceedings of the IEEE". Succinctement on peut rappeler qu'il comporte les étapes suivantes: - Pour chacun des N symboles d'une trame reçue, il faut déterminer le symbole qui en est le plus proche dans chaque sous-ensemble de la constellation bidimensionnelle. Les y.N distances ainsi obtenues (y étant le nombre de sous-ensembles de la constellation, lié à la partition utilisée) sont alors combinées entre elles pour former des métriques de branches, associées à ladite trame et correspondant aux transitions possibles entre deux états (état initial et état final) du treillis. - Puis, à chaque état final est associé une métrique de chemin. Le treillis définit les z états initiaux dont peut être issu cet état final: il s'agit alors de calculer les z grandeurs formées par la somme de la métrique de chemin associée à chacun de ces états initiaux et de la métrique de branche associée à la transition état initial-état final correspondante. La métrique de chemin associée à l'état final est égale à la plus faible de ces z grandeurs (qui correspond au plus court chemin le long du treillis). Cette opération consiste donc à sélectionner pour chaque état final l'état initial dont il est le plus probablement issu. Dans la suite de la description, c'est cet algorithme de Viterbi qui est utilisé comme algorithme de décodage. Toutefois d'autres algorithmes sous-optimaux sont utilisables. D'après la figure 1, un dispositif de détection de perte de synchronisation trame selon l'invention comporte un module 1 de calcul d'une valeur moyenne de l'erreur due au bruit, un module 2 de calcul d'une valeur moyenne de l'erreur de décodage, un module 3 de calcul de la variable à surveiller qui représente l'erreur de décodage par rapport à l'erreur due au bruit, et enfin un module 4 de surveillance de la valeur de cette variable. Le module 1 permet de calculer une valeur moyenne E(s) au sème symbole de l'erreur due au bruit, à l'aide, par exemple, de la formule de la moyenne donnée ci-dessous: E(s) = (1-X). E(s-1) + k.e(s) o: - E(s) et E(s-1) sont respectivement les valeurs moyennes aux sème et (s-l)ème symboles de l'erreur due au bruit, - X est un coefficient très faible devant 1, égal par exemple à 2-8 - e(s) est l'erreur due au bruit pour le symbole s; elle est choisie égale à la distance qui sépare le symbole reçu s du point de la constellation qui en est le plus proche, et elle est fournie en entrée au module 1. Cette valeur moyenne E(s) de l'erreur due au bruit est mise à jour par le module 1 pour chaque nouveau symbole reçu. Le module 2 permet de calculer une valeur moyenne D(t) à la tème trame de l'erreur de décodage, à l'aide, par exemple de la formule donnée ci-dessous: D(t) = (1 - p).D(t-1) + p.d(t) o: - D(t) et D(t-1) sont respectivement les valeurs moyennes à la tème et à la (t-l)ème trame de l'erreur de décodage, - p est un coefficient très faible devant 1, choisi de préférence égal à X, - et d(t) est l'erreur de décodage pour la trame t; elle est choisie, dans un mode de réalisation particulièrement avantageux du dispositif selon l'invention, égale à la métrique de branche qui est associée à la trame t le long du plus court chemin déterminé par l'algorithme de Viterbi, et elle est fournie en entrée au module 2. Cette valeur moyenne D(t) de l'erreur de décodage est mise à jour par le module 2 pour chaque nouvelle trame reçue. Le module 3 permet de calculer la variable V(t) à surveiller qui représente l'erreur de décodage par rapport à l'erreur due au bruit. Cette variable V(t) est mise à jour de manière avantageuse à partir de la formule suivante pour chaque trame t: V(t) = D(t) - N.E(st) o st est le dernier symbole de la trame t. Le facteur N permet de prendre en compte la différence de dimension entre E(st) qui est une distance, et D(t) qui, étant égale à une métrique de branche, correspond à la somme de N distances. Le module 4 permet de surveiller la valeur de cette variable V(t) tous les N symboles, et détecte une perte de synchronisation trame lorsque, sur un grand nombre de trames successives, la valeur de V(t) dépasse un seuil fixé. La figure 2 donne un exemple d'algorithme de fonctionnement du module 4 qui est activé pour chaque trame t décodée. La signification des différentes cases de cet organigramme est donnée ci-dessous dans l'ordre d'exécution: - case K1: Cette case représente le début de l'algorithme. - case K2: Le module de surveillance teste si la variable V(t) est supérieure à un seuil S fixé. Ce seuil S est déterminé d'après la formule suivante, en fonction de l'unité U choisie pour coder la constellation: S = U2/a o a est une grandeur réelle de préférence égale ou proche de 2. Si V(t)>S, le module de surveillance suit la branche "Y" de l'organigramme et exécute la case K3, sinon, il suit la branche "NO" et exécute la case K6. - case K3: Une variable, appelée compteur est incrémentée d'une unité. Ce compteur, qui est ainsi incrémenté d'une unité lorsque, pour une trame t, une perte de synchronisation trame a été détectée, permet dans la suite de l'algorithme (case K4) de vérifier si cette perte a été confirmée sur un nombre suffisant de trames avant de relancer une synchronisation trame. - case K4: La valeur de la variable compteur est comparée à une borne B qui est fixée égale à quelques milliers de trames de façon à correspondre à une durée de surveillance de quelques secondes. (Cette borne B doit être fixée en fonction des coefficients X et p qui représentent l'inverse des durées d'intégration pour le calcul des valeurs moyennes E(s) et D(t). Ainsi la durée de surveillance doit être largement supérieure aux durées d'intégration.) Si la variable compteur dépasse la borne B, le module de surveillance suit la branche "Y" de l'organigramme et passe à la case K5. Sinon, il suit la branche "NO" et passe à la case K7. - case K5: le module de surveillance relance une phase de synchronisation trame. - case K6: La variable compteur est remise à zéro. - case K7: Fin de l'algorithme. Dans un mode de réalisation particulièrement avantageux, le dispositif selon l'invention comporte un ensemble à microprocesseur 11 comprenant un microprocesseur proprement dit 12, une mémoire de travail 13 et une mémoire morte 14 contenant des instructions nécessaires à la mise en oeuvre du dispositif de détection de perte de synchronisation trame tel que décrit ci- dessus. Les modems haut débits qui utilisent des modulations multidimensionnelles constituent une application particulièrement intéressante du dispositif de détection de perte de synchronisation trame selon l'invention. Sur la figure 3, un tel modem, qui porte la référence 6, permet de connecter un terminal numérique 5 à une ligne de transmission du type ligne téléphonique 7. Ce modem comporte des ensembles à microprocesseurs 10 et 11, un premier circuit d'interface 15 qui permet de le relier au terminal 5, et un second circuit d'interface 20 qui permet de transformer les signaux en provenance de la ligne téléphonique 7 en signaux numériques et réciproquement. Ce circuit d'interface 20 est décrit dans le brevet européen n 0318105. L'ensemble à microprocesseur 10 est affecté à la gestion du modem, et l'ensemble 11 qui assure les opérations de transmission, comporte un microprocesseur 12, une mémoire vive de travail 13 et une mémoire morte contenant en outre les instructions permettant de mettre en oeuvre le dispositif selon l'invention. Il va de soi que des modifications peuvent être apportées aux modes de réalisation qui viennent d'être décrits, notamment par substitution de moyen techniques équivalents, sans que l'on sorte pour cela du cadre de la présente invention. REVENDICATIONS 1. Dispositif de détection de perte de synchronisation trame pour modulations à 2N dimensions, chaque trame émise étant composée de N symboles correspondant chacun à un point d'une constellation bidimensionnelle, caractérisé en ce qu'il comporte un module de surveillance (4) d'une variable représentant une erreur de décodage par rapport à une erreur due au bruit de transmission, ce module de surveillance (4) permettant de détecter une perte de synchronisation trame lorsque, sur un grand nombre de trames successives, cette variable dépasse un seuil fixé. 2. Dispositif de détection de perte de synchronisation trame selon la revendication 1, caractérisé en ce que, les modulations étant codées en treillis, il comporte en outre: - un module (1) de calcul d'une valeur moyenne de l'erreur due au bruit, cette erreur étant égale, pour chaque symbole reçu, à la distance qui le sépare du point de la constellation dont il est le plus proche, - un module (2) de calcul d'une valeur moyenne de l'erreur de décodage fournie par un algorithme de décodage, cette erreur étant égale à la distance séparant le point reçu du point décodé par ledit algorithme. 3. Dispositif selon l'une des revendications 1 ou 2, caractérisé en ce qu'il comporte en outre un module (3) de calcul de la variable à surveiller, qui est donnée par une expression du type: V(s) = D(s) - N.E(s) o D(s) et E(s) sont respectivement les valeurs moyennes de l'erreur de décodage et de l'erreur due au bruit calculées au sème symbole, et N est un entier naturel. 4. Dispositif selon l'une des revendications 1 à 3, caractérisé en ce que la valeur moyenne des erreurs dues au bruit est calculée à partir d'une expression du type: E(s) = (1-X).E(s-1) + X.e(s) o: - E(s) et E(s-1) sont respectivement les valeurs moyennes des erreurs dues au bruit aux sème et (s-l)ème symboles, - e(s) désigne l'erreur due au bruit pour le sème symbole, - X est un coefficient très faible devant 1. 5. Dispositif selon l'une des revendications 1 à 4, caractérisé en ce que la valeur moyenne des erreurs de décodage est calculée à partir d'une expression du type: D(s) = (1-p).D(s-1) + i.d(s) o: - D(s) et D(s-1) sont respectivement les valeurs moyennes des erreurs de décodage aux sème et (s-l)ème symboles, - d(s) désigne l'erreur de décodage pour le sème symbole, - p est un coefficient très faible devant 1. 6. Dispositif selon l'une des revendications 1 à 5, caractérisé en ce que la valeur du seuil est donnée par une expression du type: S = U2/a o U est la valeur unité utilisée pour coder la constellation, et a est une valeur proche de 2. 7. Dispositif selon l'une des revendications 1 à 6, caractérisé en ce qu'avant de décider qu'il y a perte de synchronisation trame, la surveillance a lieu sur une durée comprise entre quelques secondes et une dizaine de secondes. 8. Dispositif selon l'une des revendications 3 à 7, caractérisé en ce que les modules de calcul (1, 2, 3) et le module de surveillance (4) sont formés à partir d'un ensemble à microprocesseur. 9. Modem (6) caractérisé en ce qu'il comporte un dispositif de détection de perte de synchronisation trame selon l'une des revendications 1 à 8.