FR2999841A1 - Procede de brouillage d'un systeme de communication par insertion de motifs factices dans un flux de donnees a emettre - Google Patents

Procede de brouillage d'un systeme de communication par insertion de motifs factices dans un flux de donnees a emettre Download PDF

Info

Publication number
FR2999841A1
FR2999841A1 FR1203475A FR1203475A FR2999841A1 FR 2999841 A1 FR2999841 A1 FR 2999841A1 FR 1203475 A FR1203475 A FR 1203475A FR 1203475 A FR1203475 A FR 1203475A FR 2999841 A1 FR2999841 A1 FR 2999841A1
Authority
FR
France
Prior art keywords
sequence
bits
dummy
code
signal
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.)
Granted
Application number
FR1203475A
Other languages
English (en)
Other versions
FR2999841B1 (fr
Inventor
Francois Delaveau
Francois Sirven
Philippe Viravau
Sebastien Mallier
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.)
Direction General pour lArmement DGA
Thales SA
Etat Francais
Original Assignee
Direction General pour lArmement DGA
Thales SA
Etat Francais
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 Direction General pour lArmement DGA, Thales SA, Etat Francais filed Critical Direction General pour lArmement DGA
Priority to FR1203475A priority Critical patent/FR2999841B1/fr
Priority to EP13803075.4A priority patent/EP2936714B1/fr
Priority to SG11201504912TA priority patent/SG11201504912TA/en
Priority to ES13803075.4T priority patent/ES2604904T3/es
Priority to PCT/EP2013/076588 priority patent/WO2014095653A1/fr
Publication of FR2999841A1 publication Critical patent/FR2999841A1/fr
Application granted granted Critical
Publication of FR2999841B1 publication Critical patent/FR2999841B1/fr
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04KSECRET COMMUNICATION; JAMMING OF COMMUNICATION
    • H04K3/00Jamming of communication; Counter-measures
    • H04K3/60Jamming involving special techniques
    • H04K3/65Jamming involving special techniques using deceptive jamming or spoofing, e.g. transmission of false signals for premature triggering of RCIED, for forced connection or disconnection to/from a network or for generation of dummy target signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04KSECRET COMMUNICATION; JAMMING OF COMMUNICATION
    • H04K2203/00Jamming of communication; Countermeasures
    • H04K2203/30Jamming or countermeasure characterized by the infrastructure components
    • H04K2203/34Jamming or countermeasure characterized by the infrastructure components involving multiple cooperating jammers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)

Abstract

Procédé de brouillage d'un système de communication (EM,REC) consistant à générer, dans un signal (S) destiné à être émis par un ou plusieurs émetteurs (EM_B1, EM_B2,...,EM_B3) compatible dudit système de communication (EM,REC), au moins une séquence factice (SYNCF), ledit procédé étant caractérisé en ce qu'il comprend les étapes suivantes : - Définir ladite séquence factice (SYNCF) et sa position temporelle et/ou fréquentielle au sein du signal (S) à émettre, - Estimer la valeur et la position des bits factices (BF) à insérer au sein de la séquence de données (Du,T) à émettre en entrée de la chaine d'émission ou d'une sous-partie de la chaine d'émission de sorte à obtenir, dans la séquence produite en sortie de la chaine d'émission, la valeur et la position temporelle prédéfinies des symboles de ladite séquence factice (SYNCF), - Insérer au sein de ladite séquence de données (Du,T), les bits factices (BF) aux positions obtenues.

Description

Procédé de brouillage d'un système de communication par insertion de motifs factices dans un flux de données à émettre L'invention concerne le domaine du brouillage dans lequel un objectif 5 consiste à neutraliser un système de communication en perturbant le signal émis par un émetteur du système et à destination d'un récepteur du système. Les systèmes de communication utilisent, lors de la génération du signal à émettre, des séquences particulières, insérées dans le signal, qui sont utilisées pour synchroniser les équipements émetteur et récepteur entre 10 eux. Ces séquences de synchronisation sont fixées une fois pour toutes par le protocole de communication ou le standard de mise en oeuvre du système et sont insérées dans le signal à émettre avec les séquencés d'informations modulées. L'invention porte sur un procédé de brouillage d'un système de 15 communication qui vise à transmettre un signal respectant le même standard que celui dudit système mais comportant plusieurs motifs de synchronisation factices insérés dans le but de rendre plus difficile, pour un récepteur, la synchronisation avec un émetteur. L'invention vise également à transformer un émetteur standard du 20 système de communication à brouiller en brouilleur sans modifier la chaine d'émission de cet équipement. Le ou les motif(s) de synchronisation factice(s) sont introduits dans le signal émis en générant directement dans la séquence de données binaires à transmettre, une séquence binaire adaptée. L'invention ne nécessite ainsi aucune modification de l'équipement émetteur 25 car elle intervient en amont de la chaine d'émission. Le problème technique visé par la présente invention consiste à neutraliser un système de communications à partir d'un ou plusieurs terminaux dudit système transformé(s) en brouilleur(s). En réutilisant un ou 30 plusieurs terminaux du système de communication que l'on souhaite neutraliser, on obtient un ou plusieurs brouilleurs à faibles coûts et qui peuvent s'adapter à une grande diversité de réseaux de communication standardisés. L'invention vise ainsi à concevoir une solution de brouillage qui ne nécessite pas d'équipements brouilleurs dédiés à cette seule fin.
Les systèmes de brouillage connus sont en général basés sur des équipements brouilleurs spécifiques qui présentent les inconvénients suivants. La consommation d'énergie dans un brouilleur est en général très élevée car la forme d'onde de brouillage utilisée n'est pas optimisée pour 10 neutraliser efficacement un système de communication. Pour limiter la consommation énergétique et pour garantir l'efficacité de la neutralisation, la forme d'onde de brouillage doit au contraire être aussi cohérente que possible avec les signaux dont on souhaite perturber la réception. 15 Par ailleurs, les formes d'onde de brouillage usuelles connues sont en général soit de combinatoire et de complexité faibles et de ce fait aisément détectables (c'est le cas notamment des formes d'onde dites de brouillage de barrage, qui rendent ces équipements très indiscrets), soit très complexes, lorsque le brouilleur vise, par exemple, à implémenter la forme 20 d'onde exacte du système de télécommunication à neutraliser pour réaliser des effets de leurrage ou de saturation des accès. En outre, de nombreux systèmes de brouillage connus souffrent le plus souvent d'un manque d'évolutivité, d'adaptabilité ou de souplesse principalement lié au choix des architectures matérielles et logicielles. 25 Enfin, les systèmes de brouillage connus qui présentent une portée significative sont aussi d'un coût, d'un encombrement et d'une consommation énergétique élevés. L'invention vise à résoudre les problèmes précités et à supprimer les 30 limitations des solutions de l'art antérieur en proposant un procédé de brouillage d'un système de communications à partir d'une modification des données utiles produites en entrée d'un terminal dudit système. L'invention consiste notamment à réaliser un codage spécifique des données utiles émises par un terminal compatible du système à neutraliser de sorte à générer indirectement dans le signal émis in fine, un ou plusieurs motifs de synchronisation factices aux caractéristiques stationnaires, qui soient aisément interprétables par les récepteurs du système de communication visé, et dont la récurrence et le placement dans la trame émise sont choisis pour optimiser les effets de leurrage et de saturation de la chaîne de réception visée. De cette façon, un récepteur du système à neutraliser ne peut plus se synchroniser correctement. La mise en oeuvre du procédé selon l'invention au niveau des données utiles à émettre et non au niveau de la chaine d'émission permet d'apporter une solution à faible coût qui ne nécessite pas de modifier l'équipement émetteur pour le transformer en brouilleur. En outre, l'utilisation de plusieurs terminaux modifiés permet de 15 constituer un réseau de brouilleurs coopératifs dont les performances de neutralisation sont accrues par rapport à l'utilisation d'un seul terminal modifié. En effet, la faible puissance d'émission d'un terminal est compensée par un maillage de l'espace à couvrir et par l'utilisation de plusieurs terminaux qui émettent des signaux de brouillage simultanés. Lorsque le 20 procédé selon l'invention est appliqué à une pluralité d'émetteurs, l'invention permet de reproduire, avec lesdits émetteurs, la topologie du système de communications à brouiller. L'invention permet également d'augmenter la couverture globale en environnement de propagation défavorable pour le réseau d'émetteurs mettant en oeuvre l'invention. L'invention permet 25 également d'accroître les effets de leurrage mais aussi les effets de saturation des accès. Plus généralement, l'invention permet d'induire des effets neutralisant le système de communication à brouiller mais qui sont difficiles à diagnostiquer ou à interpréter, dans la mesure ou ces effets reproduisent des cas rencontrés en ingénierie des réseaux de 30 radiocommunication, difficiles ou pathologiques, mais non exceptionnels.
L'invention a pour objet un procédé de brouillage d'un système de communication consistant à générer, dans un signal destiné à être émis par au moins un émetteur compatible dudit système de communication, au moins une séquence factice, ledit procédé étant caractérisé en ce qu'il comprend 5 les étapes suivantes : Définir ladite séquence factice et sa position temporelle et/ou fréquentielle au sein du signal à émettre, Estimer la valeur et la position des bits factices à insérer au sein de la séquence de données à émettre en entrée de la chaine 10 d'émission ou d'une sous-partie de la chaine d'émission de sorte à obtenir, dans la séquence produite en sortie de la chaine d'émission, la valeur et la position temporelle prédéfinies des symboles de ladite séquence factice, Insérer au sein de ladite séquence de données, les bits factices 15 aux positions obtenues. Selon un aspect particulier de l'invention, lorsque la fonction de transfert F de la chaine d'émission est inversible, la valeur et la position des bits factices sont estimées en déterminant la fonction de transfert inverse F-1 de ladite fonction de transfert F et en appliquant ladite fonction de transfert 20 inverse F-1 à ladite séquence factice. Selon un aspect particulier de l'invention, la fonction de transfert inverse F-1 de ladite chaine d'émission est déterminée en effectuant la composition, dans l'ordre inverse, des fonctions de transfert inverses des différents blocs composant ladite chaine. 25 Selon un aspect particulier de l'invention, la chaine d'émission comporte au moins un code correcteur de rendement k/n pour lequel l'inversion de sa fonction de transfert est réalisée en résolvant le système d'équations suivant n101 n10,P2 n10-P3 1110,pd Po --- ik-1] = [cp, --- CP, I où [cpi...cpd] sont les Mk-1,p2 ink-1,p3 nik-1,pd - symboles dont la valeur est fixée dans la séquence codée,[ ] est la séquence à produire en entrée dudit code, et mi,pi sont les coefficients de la matrice génératrice dudit code, p1,p2,...pd étant l'ensemble des positions des symboles dont la valeur est fixée dans la séquence codée, avec d un entier 5 égal au plus au nombre n de symboles de la séquence codée. Selon un aspect particulier de l'invention, ledit code correcteur est un code en bloc linéaire ou un code convolutif ou un turbo-code ou un code à faible densité LDPC Selon un aspect particulier de l'invention, la chaine d'émission 10 comporte en outre un brasseur et/ou un entrelaceur et/ou un module de mise en trame et/ou un codeur binaire à signal et/ou un modulateur. Selon un aspect particulier de l'invention, lorsque la fonction de transfert F de la chaine d'émission est non surjective, la valeur et la position des bits factices sont estimées en recherchant la séquence d'entrée T' de la 15 chaine d'émission qui minimise un critère de distance entre la séquence F(T')(t) obtenue en sortie de chaine d'émission lorsque ladite séquence T' est effectivement produite à son entrée, et ladite séquence factice. Selon un aspect particulier de l'invention, ledit critère de distance est pris égal à l'intégrale, sur une durée donnée, de la norme au carré de la 20 différence entre la séquence F(T')(t) obtenue en sortie de chaine d'émission ladite séquence factice. Selon un aspect particulier de l'invention, la recherche de la séquence d'entrée T' de la chaine d'émission qui minimise ledit critère de distance est effectué sur un sous-ensemble de l'ensemble des séquences binaires 25 possibles en entrée de la chaine d'émission. Selon un aspect particulier de l'invention, ladite séquence de données est produite par un applicatif, par exemple un codeur audio, image ou vidéo. Dans un mode particulier de réalisation de l'invention, lorsque la fonction de transfert F de la chaine d'émission est non surjective, les bits 30 factices sont insérés dans la séquence produite en entrée d'une sous-partie de la chaine d'émission dont la fonction de transfert est surjective et dont la sortie est commune à la sortie de la chaine d'émission. Selon un aspect particulier de cette variante de l'invention, ladite chaine d'émission comporte un dispositif de chiffrement et ladite sous-partie 5 de la chaine d'émission exclut ce dispositif. Selon un aspect particulier de l'invention, les valeurs des symboles de ladite séquence factice sont identiques à celles des symboles d'une séquence de synchronisation que comporte ledit signal pour synchroniser entre eux un récepteur et un émetteur compatibles dudit système de 10 communication. Selon un aspect particulier de l'invention, la position temporelle et/ou fréquentielle des symboles de ladite séquence factice sont différents de celles des symboles d'une séquence de synchronisation que comporte ledit signal pour synchroniser entre eux un récepteur et un émetteur compatibles 15 dudit système de communication. L'invention a également pour objet un dispositif d'émission d'un signal comportant une chaine d'émission pour transformer une séquence de données à émettre en un signal à émettre et un moyen adapté pour mettre en oeuvre le procédé selon l'invention. 20 L'invention a également pour objet un système de brouillage coopératif comprenant une pluralité de dispositifs d'émission selon l'invention et pour lesquels les positions temporelles et/ou fréquentielles desdites séquences factices insérées dans le signal émis par chaque dispositif d'émission sont différentes entre elles. 25 L'invention a également pour objet un système de brouillage coopératif comprenant une pluralité de dispositifs d'émission selon l'invention et pour lesquels chacun desdits dispositifs d'émission émet un signal comprenant une pluralité de séquences factices dont les valeurs et/ou positions temporelles et/ou positions fréquentielles sont différentes entre 30 elles.
L'invention a également pour objet un programme d'ordinateur comportant des instructions pour l'exécution du procédé selon l'invention, lorsque le programme est exécuté par un processeur et un support d'enregistrement lisible par un processeur sur lequel est enregistré un programme comportant des instructions pour l'exécution du procédé selon l'invention lorsque le programme est exécuté par un processeur. D'autres caractéristiques et avantages de la présente invention apparaîtront mieux à la lecture de la description qui suit en relation aux 10 dessins annexés qui représentent : La figure la, un schéma illustrant la synchronisation entre un récepteur et un émetteur compatibles d'un même système de télécommunication, La figure 1 b, un schéma illustrant, l'effet obtenu par application du 15 procédé de brouillage selon l'invention, La figure 2, un schéma illustrant la transformation opérée par la chaine d'émission d'un terminal émetteur pour convertir les données utiles à émettre en symboles modulés prêt à être émis par voie radio, 20 La figure 3, un schéma illustrant la génération, selon l'invention, de bits factices au sein des données utiles en entrée de la chaine d'émission d'un terminal émetteur, La figure 4, un schéma bloc des différentes fonctions successivement mises en oeuvre par un terminal émetteur, 25 La figure 5, un schéma des registres à décalage d'un code convolutif de rendement 1/2, La figure 6, une représentation, pour l'exemple de code convolutif associé à la figure 5, de la matrice génératrice d'un tel code, La figure 7, une illustration de la condition nécessaire et suffisante 30 pour imposer, en sortie du code convolutif défini aux figures 5 et 6, les valeurs d'une séquence de bits consécutifs, - La figure 8, une illustration des relations de parité d'un code poinçonné. Dans la suite de la description, l'expression « données utiles », « bits 5 utiles », « information utile » est employée pour désigner les données binaires à transmettre entre l'application exécutée par un émetteur et l'application correspondante exécutée par un récepteur par opposition aux données binaires présentes dans les trames transmises mais qui ne sont pas destinées à l'application exécutée par le récepteur mais sont employées à 10 des fins de signalisation, synchronisation ou toute autre fonction nécessaire au bon fonctionnement du système de communication. La figure la illustre, sur deux schémas, le principe de la 15 synchronisation entre un récepteur et un émetteur compatibles d'un même système de télécommunication. Sur le haut de la figure la est représenté un système de communication sans fils sous la forme d'un émetteur EM qui communique avec un récepteur REC par onde radio. La transformation des données 20 binaires à émettre en signal radio S peut être spécifiée par un standard ou une norme de télécommunications. Cette spécification définit notamment l'insertion, au sein du signal à émettre, de séquences de synchronisation SYNC. De telles séquences sont constituées de symboles connus des équipements du système et positionnées périodiquement ou selon un motif 25 temporel également connu à la fois de l'émetteur EM et du récepteur REC qui implémentent le même standard de télécommunications. Sur le bas de la figure la est représenté, sur un diagramme amplitude/temps, le résultat 10 obtenu en effectuant une corrélation de la séquence de synchronisation connue avec le signal reçu. Le pic d'amplitude 30 du résultat de corrélation donne une estimée de la position temporelle de la séquence de synchronisation dans le signal reçu. En effectuant une telle opération de corrélation, le récepteur REC peut se synchroniser temporellement avec l'émetteur EM en détectant par exemple le début, le milieu ou la fin d'une trame, indiqué par la présence de ladite séquence, au sein du signal émis. Un but de l'invention est de neutraliser le système de communications EM,REC en perturbant la synchronisation des équipements émetteurs et récepteurs. La figure lb illustre, sur deux schémas, le procédé de brouillage selon l'invention.
Sur le haut de la figure lb est représenté un ensemble d'émetteurs EM B1,EM B2,...,EM BN (avec N=3 dans l'exemple illustratif mais non limitatif de la figure lb, les émetteurs étants notés EM_Bl, EM_B2, EM_B3), compatibles du même standard de télécommunications que l'émetteur EM et le récepteur REC que l'on souhaite neutraliser. Ces émetteurs EM B1,EM B2,...,EM BN (avec toujours N=3 dans l'exemple de la figure 1b) sont modifiés, selon l'invention, afin de générer un signal de brouillage SB à destination du récepteur REC. Ils constituent un système de brouillage coopératif encore appelé réseau de brouilleurs coopératifs. Le signal de brouillage SB est de même nature que le signal S transmis par un émetteur EM du système de communications à neutraliser à la différence prêt qu'il comporte au moins une séquence de synchronisation factice SYNCF. Sur la figure lb est représenté le signal de brouillage SB constitué de la superposition des signaux de brouillage respectivement émis par N émetteurs adaptés EM_B1 , EM_B2,..., EM_BN. Chacun des N signaux de brouillage comporte au moins une séquence de synchronisation factice aux caractéristiques stationnaires SYNCF1, SYNCF2, SYNCFN, placées dans la trame selon des récurrences adaptées au fenêtrage temporel des récepteurs ciblés. Ces séquences sont donc à la fois plausibles pour le récepteur cible et suffisamment fréquentes pour être régulièrement présentes dans les fenêtres de traitement desdits récepteurs. Avantageusement, les séquences factices peuvent comporter les mêmes symboles que la séquence de synchronisation réelle SYNC mais être transmises à des instants temporels et/ou sur des fréquences différentes, et avec des récurrences trame multiples de celle du motif de synchronisation réel SYNC. Dans une variante de réalisation, chacun des N signaux de brouillage issus des émetteurs 5 EM B1 , EM B2,..., EM_BN comporte les N séquences de synchronisation factices SYNCH, SYNCF2,..., SYNCFN positionnées à des instants temporels différents dans la trame émise. Cette variante présente l'avantage d'augmenter la performance globale du signal de brouillage face à des réseaux de communications exploitant une combinatoire non triviale de 10 séquences de synchronisations SYNC. Dans une autre variante de réalisation, chacun des N émetteurs de brouillage EM_B1 , EM_B2,..., EM_BN émet respectivement un nombre significatif d'exemplaires de chacune des séquences de synchronisation factices (respectivement k1 séquences SYNCF1, k2 séquences SYNCF2,..., kN 15 séquences SYNCFN) positionnées à des instants temporels différents dans chaque trame émise. Cette variante présente là encore l'avantage d'augmenter la performance globale du signal de brouillage face à des récepteurs cibles dont la synchronisation précise n'est pas connue des brouilleurs EM_Bl, EM_B2,..., EM_BN. 20 La transmission de signaux de brouillage comprenant des séquences de synchronisation factices positionnées à des endroits aléatoires dans les trames émises a pour effet de rendre difficile voire impossible la synchronisation du récepteur REC qui ne saura pas discriminer le motif de synchronisation réel des motifs de synchronisation factices. 25 Cet effet est illustré sur le diagramme représenté au bas de la figure lb qui donne le résultat de l'opération de corrélation, effectuée par le récepteur REC, en présence des signaux de brouillage émis. Le pic d'amplitude du résultat de corrélation 10 correspondant à la séquence de synchronisation SYNC réelle est fortement pollué par une pluralité de pics 30 d'amplitudes de résultats de corrélation 11,12,13,14 correspondant à la présence de séquences de synchronisation factices.
Un des objectifs de l'invention est de permettre l'insertion de motifs de synchronisation factices dans le signal émis par un terminal du système de communications à brouiller sans modifier les éléments de la chaine d'émission de l'émetteur mais au contraire en agissant uniquement sur les données binaires utiles en entrée de la chaine d'émission. La figure 2 illustre schématiquement la transformation subie par une séquence de données binaires utiles Du à transmettre pour obtenir une séquence de symboles ST modulés, prêts à être émis par voie d'un signal radio. La transformation exécutée correspond à la fonction de transfert F de la chaine de transmission de l'émetteur. La séquence de symboles ST modulés est constituée d'une part de symboles utiles Su issus de la transformation des données binaires utiles Du et d'autre part d'au moins une séquence de synchronisation SYNC ou d'une séquence équivalente composée de symboles connus de tous les équipements du système de communication. La figure 3 illustre la mise en oeuvre du procédé selon l'invention, sur 20 un terminal compatible du système de communication à brouiller ou sur tout autre type d'émetteur apte à produire des signaux compatibles du système de communication à brouiller. Dans un premier temps, les séquences de synchronisation factices SYNCF générées sont positionnées dans une trame factice vide TF de même 25 taille qu'une séquence de symboles ST modulés réelle, aux positions temporelles choisies, différentes de la position temporelle d'une séquence de synchronisation réelle. Dans un second temps, on estime la valeur et la position des bits factices BF à insérer au sein de la séquence de données à émettre en entrée 30 de la chaine d'émission de sorte à obtenir, en sortie de la chaine d'émission, la valeur et la position temporelle prédéfinies des symboles desdites séquences factices SYNCF. Cette opération peut être réalisée en calculant la fonction de transfert inverse F-1 de la fonction de transfert F mise en oeuvre par la chaine de transmission puis en appliquant la fonction de transfert inverse F-1 à la trame factice TF pour obtenir une trame modulée DF comprenant les bits factices BF- Les bits factices BF sont ensuite insérés dans la séquence de données réelle à transmettre Du en entrée de la chaine de transmission en poinçonnant les positions relatives des bits factices de la trame factice DF dans une séquence de données réelle. La séquence de symboles modulés obtenus en sortie de la chaine de transmission comprend à la fois les symboles de données utiles Su, le motif de synchronisation réelle SYNC et les motifs de synchronisations factices SYNCF. Les bits factices peuvent être introduits directement dans le train de données utiles à transmettre et ce sans modifier ni effectuer d'intrusion dans 15 la chaine de transmission de l'équipement émetteur. Il est possible par exemple d'exploiter des modes de transmission de données au contenu utile complètement programmable (par exemple des services de messagerie) et de construire des messages complètement déterministes contenant les bits factices produisant en sortie les motifs 20 SYNCF recherchés. Il est aussi possible d'exploiter des modes de transmission correspondant à des applications, d'intervenir par exemple sur un flux utile provenant d'un codeur source audio ou vidéo. Pour cela, on intercepte par exemple les données binaires applicatives avant leur entrée dans la chaine 25 de transmission au niveau de la couche physique d'un modem. Cette interception peut aussi se faire au niveau d'une couche intermédiaire, par exemple au niveau de la couche réseau. Dans les deux cas on doit tenir compte, selon les procédures décrites plus loin des bits d'informations utiles voisins qui sont aléatoires et variables. 30 La figure 4 représente un schéma bloc des différentes fonctions successivement mises en oeuvre par un émetteur d'un système de communication pour émettre un signal contenant des données à transmettre. Les principales fonctions traditionnellement mises en oeuvre sont représentées, étant entendu que le schéma de la figure 4 est donné à titre illustratif et non limitatif. En particulier, certaines fonctions peuvent être omises et l'ordre de certaines fonctions peut être modifié. La fonction de transfert F de la chaine d'émission est égale à la composition des fonctions de transfert de chaque bloc fonctionnel indépendant de la chaîne, étant entendu que les blocs sont connectés en série. La fonction de transfert inverse F-1 est, lorsqu'elle existe, égale à la composition, dans l'ordre inverse, des fonctions de transfert inverses de chaque bloc. Autrement dit, si f1,f2,...fN sont les fonctions de transfert de chaque bloc fonctionnel de la chaine, alors la fonction de transfert F globale est égale à F= f1 o f20 o fN et la fonction de transfert inverse F-1 est égale à F-1 = fN-1 o fN-1-10 o Pour estimer la fonction de transfert inverse F-1 globale, il convient donc de déterminer la fonction de transfert inverse de chaque bloc unitaire. La fonction de transfert F directe de la chaine d'émission peut être connue lorsque l'invention est mise en oeuvre par le concepteur du système de communications ou lorsque ledit système respecte un standard connu. Elle peut également être estimée en testant l'équipement émetteur, par exemple en injectant des signaux de test à son entrée et en analysant les signaux obtenus en sortie. Les transformations appliquées dans la chaîne d'émission sur le train 25 binaire sont généralement réversibles, c'est à dire qu'il est possible à partir du train binaire en sortie de retrouver le train binaire d'entrée. Toutefois certaines fonctions mises en oeuvre par la chaine d'émission d'un système de communications peuvent ne pas être toujours surjectives. En d'autres termes, il peut arriver qu'un train binaire codé TBC, dont on 30 voudrait forcer les valeurs, en sortie d'un module de la chaîne d'émission ne corresponde à aucune série de bits utiles TBU en entrée dudit module. Par exemple, les opérations de codage canal ou de mise en trame transforment un train binaire utile de longueur Lu en un train binaire codé de longueur Lc. En raison des opérations de mise en trame, nécessaires pour assurer la synchronisation du récepteur, et de codage correcteur d'erreur, nécessaires pour compenser l'effet du canal de propagation, on a en pratique toujours Lc>Lu. Cela signifie que parmi les 24 séquences de Lc bits codés, seules 24 séquences peuvent être obtenues par codage. Le codage n'est donc jamais surjectif. Dans un tel cas, il n'est pas possible de déterminer la fonction de 10 transfert inverse F-1 de la chaine d'émission globale, mais seulement l'inverse F-1 de la chaine d'émission sur l'image restreinte F({TBU}) de l'ensemble {TBU} des trains de bits utiles en entrée de la chaîne d'émission. On cherche donc à déterminer dans quelle mesure il est possible de forcer la valeur de certains des bits du signal codé. En particulier, on cherche 15 à déterminer le nombre de bits dont la valeur peut être imposée et dans quelle mesure il est possible de choisir non seulement la valeur mais aussi la position de ces bits. Dans le cas d'un codeur canal, on cherche à imposer la valeur d'une série de bits codés consécutifs de manière à obtenir des motifs codés qui s'apparentent à des motifs de synchronisation. 20 La mise en oeuvre pratique consiste à analyser successivement les différentes transformations du train binaire en commençant par la transformation intervenant en dernier dans la chaine d'émission. Pour chaque transformation, on détermine les entrées qui doivent être appliquées pour obtenir en sortie le train binaire codé voulu. 25 Dans cette optique, les transformations élémentaires du train binaire et leur inversibilité sont analysées au cas par cas dans la suite de la description. 30 La chaine d'émission 400 représentée à la figure 4 comporte un applicatif 401 apte à générer ou transformer une séquence de données binaires à émettre. Les données à émettre peuvent être des données textuelles, audio, vidéo ou toute autre information. L'applicatif 401 peut également comporter une fonction de codage source, par exemple un codeur audio, image ou vidéo apte à supprimer ou réduire la redondance 5 d'information ou à réduire le bruit affectant la séquence. L'applicatif 401 génère en sortie une séquence binaire utile T à transmettre. L'invention est avantageusement mise en oeuvre en sortie de l'applicatif 401 en modifiant la séquence binaire utile T pour y insérer des bits factices de sorte à obtenir en sortie de chaine d'émission une séquence de symboles modulés F(T)(t) à 10 émettre comprenant au moins un motif de synchronisation factice. La chaine d'émission 400 peut également comporter un module de codage correcteur 402. L'objectif d'une fonction de codage correcteur est de transformer la 15 séquence binaire de données utiles reçue en sortie de l'applicatif 401 en une séquence binaire protégée de sorte que l'impact des erreurs dues au canal de transmission soit le plus réduit possible. Pour rendre la séquence binaire de données utiles plus robuste aux imperfections du canal de transmission, la fonction de codage correcteur ajoute de la redondance à cette séquence 20 binaire. La détermination de la fonction de transfert inverse d'un module de codage correcteur est équivalente à la recherche de la séquence binaire à produire en entrée du codeur correcteur pour, en sortie, obtenir une séquence codée dans laquelle la valeur et la position d'un nombre 25 prédéterminé de bits sont imposées. Il existe différents types de codes correcteurs parmi lesquels les codes linéaires en blocs, les codes convolutifs ou encore les turbo-codes et les codes à faible densité LDPC. Par la suite, la détermination de la fonction de transfert inverse d'un 30 codeur correcteur est décrite pour différents types de codes correcteurs, les codes linéaires en blocs, les codes convolutifs, ainsi que les turbo-codes et les codes LDPC. Codes linéaires en blocs Un code correcteur linéaire en blocs de rendement k/n transforme une séquence binaire comprenant k symboles en une séquence binaire protégée comprenant n symboles avec n strictement supérieur à k. Un tel code introduit donc n-k symboles de redondance. Les symboles peuvent être des bits ou être constitués de plusieurs bits concaténés. L'opération de codage en blocs est une transformation bi-univoque d'un mot du message i = (io en un mot de code c = (co définie par le système d'équations linéaires suivant (où « + » désigne l'addition modulo 2, «. » désigne la multiplication modulo 2) et gen sont des coefficients à valeur dans le corps de 15 Gallois GF(2), rangés dans une matrice de taille nxk : = gen pour 0 e=0 Parmi les 2n séquences binaires comprenant n bits qui existent, seules 2k peuvent être générées. L'opération de codage correcteur limite 20 donc la possibilité de générer n'importe quelle séquence binaire souhaitée. Le codage en bloc consiste à effectuer le produit d'un vecteur d'information en entrée de k bits par une matrice binaire, de rang plein, de taille en, appelée matrice génératrice, pour obtenir un vecteur codé de n bits. Souvent le code est dit systématique à gauche, respectivement à droite, 25 lorsque les k premiers, respectivement les k derniers, bits du vecteur codé de n bits correspondent aux k bits du vecteur d'information en entrée. L'opération de codage peut être illustrée par la relation suivante, où io,...ik-i sont les bits de la séquence utile en entrée, co,...cn_i sont les bits de la séquence codée et mii sont les coefficients de la matrice génératrice du 30 code.
M0,0 M0,1 M0,2 MO,n-1 [CO - - - crt-1]=P0 - - - 1k-11. ... ... ... ... ... Mk-1 0 Mk-1,1 Mk-1,2 - - - Mk-1,n-1 _ , Cas de codes en bloc systématique Dans le cas où le code est systématique à gauche, la séquence codée s'écrit [i0 - - - ik_Ick - - - c,i_1] . La transformée inverse de l'opération de codage consiste à analyser le mot reçu pour déterminer s'il s'agit d'un mot de code possible. S'il ne s'agit pas d'un mot de code possible, il faut le remplacer par le mot de code se trouvant à distance minimale du mot de code reçu. Ensuite, comme le code est systématique, l'information est obtenue en supprimant les n-k derniers bits du mot. Autrement dit, il est possible d'imposer, par le choix de la séquence d'entrée, la valeur en sortie des k premiers bits du mot codé. Les valeurs des n-k bits restants se déduisent alors des valeurs choisies pour les k bits qui ont été forcés. Il en est exactement de même pour un code en bloc systématique à droite. Cas de codage en bloc issus de codes cycliques Les codes en bloc utilisés couramment sont des codes en bloc cycliques ou bien sont dérivés de codes en bloc cycliques par poinçonnage ou raccourcissement. Dans le cas d'un code en bloc cyclique, si [co c,,1Jest un mot de code, toute permutation circulaire du mot ci+1 c1 co c1_1] est aussi un mot de code. En écrivant sous forme polynômiale les mots de code c(x)=co +c1 - X±C2 - X2 +...+Cn_1 - xn-1 , tous les mots de codes apparaissent comme des multiples d'un même polynôme( g\x)= go+ x + g2 x2 +...+gn_k - X" , de degré n-k, appelé polynôme générateur du code.
Un mot d'information [ic, ik_1] peut aussi s'écrire sous forme polynômiale (x)= i0 ±...± . Il est toujours possible d'écrire l'opération de codage sous forme systématique à droite. Cette opération de codage consiste à calculer la division de i(x).xn-k par ex). Le reste de la division est v(x) (de degré inférieur ou égal à n-k-1) et le quotient de la division est k(x). On a donc i(x).x" = k(x). ex)+v(x), et c(x)=i(x).xn-k +v(x)= k(x). ex). Comme v(x) est de degré inférieur ou égal à n-k-1, les valeurs des coefficients de c(x) pour les degrés supérieurs ou égaux à n-k sont les coefficients de i(x) décalés de n-k.
Il est donc toujours possible d'écrire les codes en bloc cycliques sous forme systématique à droite, et donc d'imposer la valeur des k derniers bits qui sont égaux aux bits d'information. Comme le code est cyclique, et que donc toute permutation circulaire d'un mot de code est aussi un mot de code, cela signifie qu'il est aussi possible, toujours pour les codes cycliques, 15 d'imposer la valeur de tout groupe de k bits consécutifs d'un mot de code. Par ailleurs, la dépendance entre les valeurs des bits en entrée du codeur et les bits en sortie du codeur est linéaire. Les valeurs des bits qui doivent être forcés en entrée du codeur dépendent de façon linéaire des valeurs des autres bits en entrée du codeur et des valeurs des bits forcés en 20 sortie du codeur. Cas général des codes en bloc Dans le cas plus général où le code n'est pas systématique ni issu de codes 25 cycliques, une condition suffisante pour pouvoir imposer la valeur d'un groupe de d bits en sortie du codeur, avec d inférieur ou égal à k, est que l'ensemble des positions p1,p2,...pd, des bits dans la séquence codée doit être tel que la sous-matrice de la matrice génératrice du code : n10-P1 M0-P2 n10-P3 mo,p, Mk-1,p2 Mk-1,p3 Mk-1,Pd _ est de rang plein, c'est-à-dire de rang égal à d. En effet lorsque cette condition est remplie, il est possible de déterminer la séquence [io ik_1] en entrée du codeur qui permet de fixer les valeurs de d bits ou symboles dans la séquence codée en résolvant le système d'équations suivant : [io - - - 1k-1] = [epi - ** CPd 1 MO,pi M0,p2 M0,p3 MO,Pd où [cpi...cpd] sont les ink-1,p2 Mk-1,p3 Mk-1,Pd bits ou symboles dont la valeur est fixée dans la séquence codée, les indices p1,p2,...pd, désignant les positions des bits ou symboles dans la séquence de 10 n bits ou symboles. Ainsi, pour tous les codes en bloc usuels, qui sont systématiques, ou cycliques, ou construits à partir de codes cycliques, c'est à dire pour la plupart des codes usuels, il est possible d'imposer, par le choix des entrées 15 du codeur, n'importe quel groupe de k bits consécutifs parmi les n bits du vecteur codé. Par ailleurs, dans le cas de deux mots de code successifs, en imposant les k derniers bits du ler mot de code et les k premiers bits du 2'd mot de code, il est possible d'imposer la valeur d'un groupe de 2k bits successifs sur une séquence binaire comprenant au moins deux mots de 20 codes. Dans le cas le plus général, la sous-matrice de la matrice génératrice du code en bloc correspondant aux positions des bits ou symboles à fixer est de rang plein. Cependant, dans certains cas, certaines sous-matrices de la 25 matrice génératrice peuvent ne pas être de rang plein. Un tel cas est illustré sur un exemple non limitatif d'un code de Hamming (7,4) dont la matrice génératrice M(7,4) est donnée par 1 1 0 1 0 0 0 0 1 1 0 1 0 0 M(7,4)= 1 1 1 0 0 1 0 1 0 1 0 0 0 1 Le polynôme générateur de ce code est ex)=1+ x+ x3 . Pour ce code il est possible d'imposer les 4 derniers bits (mo à m3) du mot de code car le 5 codage est systématique à droite. Pour obtenir le mot de code suivant : [c0 Cl C2 MO M1 //23], suffit de coder le vecteur d'information i(x)= [mo m1 m2 m3]. L'opération de codage est représentée par la relation suivante : xn-k 's,dro,'(x) est le vecteur à Csys,drotte(X)= i(X). V(X)= k s y sng(x), où k ,dro e(X) - 10 coder et csys,d,,,(x) est le mot de code obtenu. Il est également possible d'imposer, par exemple, les 4 premiers bits du mot de code aux valeurs du vecteur d'information [mo mi m2 m31. Pour cela il faut trouver le vecteur d'information qui, une fois codé, donne le mot de code 15 suivant : k sys,gauche(X) - g(X)= MO +m1 - X + M2 1113 x3 ±ct4a4 ±c15.x5 ct6a6 Pour calculer ce vecteur d'information ksys,gauche(X) on utilise la propriété que le code est invariant par permutation circulaire. On passe d'un codage systématique à droite à un codage systématique à gauche par 4 20 permutations circulaires vers la droite. Donc le mot de code [coc1 C2 1/21 M2 M3] devient le mot de code [//20 1/21 M2 M3 CO c] en effectuant ces 4 permutations circulaires. Le mot de code [mo mi m2 m3 c0 Cl c]est obtenu en codant le vecteur d'information i'(x)= [m3 c0 c1 C2] (car le code est systématique à 25 droite).
Par contre, on peut remarquer que si on considère la deuxième, la quatrième, la cinquième et la sixième colonne de la matrice génératrice du code M(7,4), on obtient la sous-matrice suivante qui n'est pas de rang plein, les coefficients de sa dernière ligne étant égaux à 0: 1 1 0 0 1 0 1 0 1 0 0 1 0 0 0 0- En effet, le rang d'une matrice correspond au nombre de colonnes indépendantes de la matrice ou de façon équivalente au nombre de lignes indépendantes de la matrice. Il n'est donc pas possible de forcer les valeurs de ces 4 bits (le deuxième, le 10 quatrième, le cinquième et le sixième) du mot codé : si on force la valeur de 3 de ces bits, la valeur du quatrième bit se déduit des valeurs imposées aux trois bits forcés. On ne peut donc pas, pour tout code (n, k) de rendement k/n, forcer la valeur 15 de n'importe quel groupe de k bits. Par contre, pour les codes utilisés le plus fréquemment, il est possible de forcer la valeur de tout groupe de n-k bits consécutifs lorsque la sous-matrice de la matrice génératrice du code associée aux positions des bits à fixer est de rang plein. 20 On précise ici les dépendances entre les valeurs des bits en entrée du codeur et les valeurs des bits en sortie du codeur. - Si on souhaite imposer la valeur d'un nombre limité I, inférieur à k, de bits en sortie du codeur, il suffit d'imposer la valeur de I bits en entrée du codeur. - Par contre, la valeur de ces bits dépend non seulement de la valeur du 25 motif généré en sortie du codeur mais aussi des valeurs des autres bits en entrée du codeur (que l'on peut le cas échéant forcer aussi dans le cadre de la mise en oeuvre de la présente invention). 1 1 0 1 0 0 0 0 1 1 0 1 0 0 1 1 1 0 0 1 0 1 0 1 0 0 0 1_ En reprenant l'exemple de la matrice de codage M(7,4) = si l'on veut forcer la valeur des 2 premiers bits codés, co et cl, on peut choisir un vecteur d'information i(x)=[f f1 io il], où io et il sont des bits d'information laissés libres et fo et f1 des bits forcés pour obtenir le motif 5 voulu. Les valeurs qu'il faut choisir pour fo et f1 afin d'obtenir les valeurs voulues de co et c1 sont données par les relations : f0=CO-Fi1 +i2 f1=CO+Cl +i2 Cela illustre que les valeurs des bits forcés en entrée du codeur (fo et f1) 10 dépendent de façon linéaire des valeurs des bits du motif en sortie du codeur (co et ci) et des valeurs des autres bits en entrée du codeur. Codes convolutifs 15 Les codes convolutifs constituent la deuxième grande famille des codes correcteurs d'erreurs. Alors que les codes linéaires en blocs permettent de découper le message en blocs de k symboles, les codes convolutifs appliquent une fenêtre glissante de k*(m+1) symboles sur le message et produisent une séquence continue de symboles codés. 20 En général, les symboles sont binaires (i.e. à valeur 0 ou 1 dans le corps de Gallois GF(2), « + » désigne l'addition modulo 2 et « . » désigne la multiplication modulo 2). Le plus souvent les codes convolutifs ont pour paramètre k=1 et le rendement du code est donc de la forme lin. Soit ai un symbole d'information, les symboles de parité bj associés à ai sont définis par 25 la relation de convolution suivante, où les ge,j,j sont les coefficients de n*k polynômes de degré m à coefficients et valeurs dans le corps de Gallois GF(2) (le code est entièrement défini par l'ensemble des coefficients ge,o, e = 0, m, j=0.. .k-1, i=0.. .n-1) : m k-1 ben+ =ZEge,, p k+i_e k , pour i = 0...n -1, Vp e=0 j=0 Les n symboles en sortie du codeur dépendent linéairement des k*(m+1) derniers symboles en entrée du codeur.
A partir d'un code de rendement 1/n, des codes dit « dérivés », correspondant à k>1, peuvent être construits par poinçonnage (le plus souvent k=n-1 après poinçonnage).
Plus généralement, lorsque le rendement du code est égal à k/n, le codage convolutif est un codage périodique de période k bits sur le signal binaire en entrée. Pour chaque nouveau groupe de k bits, n bits codés sont calculés. Les n bits codés sont des combinaisons de bits portant sur les (m+1) derniers groupes de k bits. m est la longueur de contrainte du code.
On illustre à présent sur un exemple non limitatif, l'étape du procédé selon l'invention qui consiste à inverser la fonction de transfert d'un code convolutif, autrement dit à déterminer la séquence de bits à produire en entrée pour obtenir en sortie une séquence codée dans laquelle la valeur et la position d'un nombre prédéterminé de bits sont fixées. Exemple non limitatif d'un code convolutif de rendement Y2 On considère un code binaire convolutif usuel, dont les registres sont représentés sur la figure 5, de rendement 1/2 et de longueur m+1=7 définit par deux polynômes de degrés 6 définis en notation octale par (171, 133). Ces deux polynômes s'écrivent G1(X)=1 + X + X2 + X3 + X6 et G2(X)= 1 + X2 + X3 + X5 + X6 et correspondent aux relations de récurrence b2n=an + an-i + an-2 + an_3 + an_6 et b2n-F1 = a + an_2 + an_3 + a + an_6 dans le corps de Galois GF2 (« +» désigne l'addition modulo 2). Les polynômes G1 et G2 sont appliqués aux bits en entrée pour former respectivement les bits de sortie d'indice pair et les bits de sorties d'indice impair entrelacés ensuite deux à deux sous la forme b2nb2n,1 pour former un flux binaire de taille égale à un multiple de 2. On illustre ci dessous la possibilité de choisir le train binaire en entrée de manière à générer des motifs voulus après codage. Pour ce code, à chaque période, pour un bit produit en entrée du codeur, deux bits sont générés en sortie. Suivant l'état des registres du codeur, les deux bits (b2n, b2n+1) en sortie sont à choisir parmi soit (0,0) ou (1,1), soit (0,1) ou (1,0). En effet, le dernier bit qui entre dans le codeur est utilisé pour le calcul de chacune des deux sorties du codeur : en changeant ce bit, on change les valeurs des deux sorties. Cela signifie que, pour un état du registre donné, les deux bits possibles en sortie sont à choisir parmi deux groupes complémentaires. Il est donc toujours possible de choisir le bit en entrée de manière à forcer la valeur d'un des deux bits de sortie. On peut donc aisément avec ce code forcer un bit sur deux en sortie du codeur. En pratique, pour les codes les plus performants utilisés dans un modem, les groupes de bits en sorties, pour un état du codeur, sont choisis de manière à être à distance maximale les uns des autres. Pour ces codes, le dernier bit qui entre dans le codeur est utilisé pour le calcul de chacune des deux sorties du codeur. On peut donc, pour tous les codes de rendement 1/2 usuels, forcer la valeur d'un bit sur deux en sortie du codeur. On démontre à présent qu'il est également possible de choisir une série de bits en entrée du codeur de façon à obtenir en sortie du codeur une séquence codée comprenant une série de bits consécutifs de valeur fixée.
Nous considérons à nouveau l'exemple précédent du codeur 1=k1n=112, (171, 133) de longueur m+1=7. Pour ce codeur, la réponse impulsionelle, c'est-à-dire la réponse du codeur à une séquence binaire d'entrée comprenant un bit de valeur 1 précédé et suivi de bits ayant tous la valeur 0, est donnée par la séquence 11101111000111, de longueur 14=2m+2.30 L'opération de codage peut s'écrire sous la forme matricielle, représentée en figure 6, où les lignes de la matrice génératrice du code correspondent à la réponse impulsionelle du codeur, décalées de 2 bits d'une ligne à l'autre (car n=2), ou plus généralement décalées de n bits d'une ligne à l'autre lorsque le code est de rendement 1/n. On obtient alors un formalisme identique à celui utilisé pour les codes en blocs linéaires, c'est-à-dire que la séquence codée est obtenue en effectuant le produit matriciel de la séquence d'information avec la matrice 10 génératrice définie ci-dessus. La même règle précédemment édictée concernant les codes en blocs linéaires peut ainsi être appliquée aux codes convolutifs, c'est-à-dire qu'il est possible d'imposer la valeur et la position d'un ensemble de bits en sortie du codeur si et seulement si la sous-matrice M correspondant aux colonnes des 15 bits de sortie est de rang plein, ce qu'illustre la figure 7 On voit donc que pour ce code convolutif, il est possible de forcer la valeur de 14 bits consécutifs en sortie du codeur, à partir des entrées. On peut aussi interpréter ce résultat du point de vue des relations de parité entre bits codés. Ces relations -déterministes- caractérisent de manière 20 biunivoque les dépendances vérifiées par les groupes de bits codés. En d'autres termes, les valeurs des bits codés correspondant à une relation de parité sont inter-dépendantes, Les valeurs des bits codés ne correspondant pas à une relation de parité peuvent être fixées indépendamment les unes des autres. Le code précédemment considéré a des relations de parité de 25 longueur 14 et espacées de 2 bits. Il est donc possible de choisir 14 bits codés consécutifs ne correspondant à aucune relation de parité entière, ce qui signifie que leurs valeurs peuvent être fixées de manière indépendante. Plus généralement il est possible d'imposer la valeur et la position 30 d'un ensemble de bits en sortie du codeur si et seulement si la sous-matrice mn 0,p2 M0,P3 - - - MO,Pd 26 de rang plein, avec mi j les k-1,p2 Mk-1,p3 - - - Mk-1,Pd _ est coefficients de la matrice génératrice et p1,p2,--.Pd, l'ensemble des positions des bits dont la valeur est fixée dans la séquence codée.
Finalement, dans le cas d'un code de rendement 1/2, le nombre maximum de bits successifs dont il est possible de fixer la valeur est égal à la longueur de la réponse impulsionelle du code, c'est-à-dire 2m+2 où m est la longueur de contrainte du code.
Exemple non limitatif d'un code con volutif poinçonné construit à partir d'un code con volutif de rendement Y2 Pour les codes poinçonnés, qui présentent une redondance plus faible, il est possible de forcer un plus grand nombre de bits consécutifs en sortie du codeur. Par exemple, le code défini par les polynômes précédents (171, 133) peut être poinçonné pour obtenir un code de rendement 3/4. Les relations de parité de ce code ont une longueur 26 (11111101011011001010011111) et sont espacées de 4 bits. Cet exemple est illustré à la figure 8 sur laquelle sont représentés les indices 800 des bits en sortie du codeur, une portion P28 de 28 bits consécutifs ne comportant aucune relation de parité entière et 3 relations de parités R1,R2,R2 liées audit code, de longueur égale à 26 bits. Les relations de parités sont vérifiées pour toutes les séquences de 26 bits démarrant sur un indice décalé de 4 bits pour chaque nouvelle séquence.
Par analogie directe avec ce qui précède, il est donc possible de choisir les valeurs prises par un groupe de 4(6+1)=28 bits. Cas général des codes con volutifs usuels Pour le cas plus général d'un code convolutif de rendement (n-1)/n, et de longueur de contrainte m, les relations de parité sont généralement de longueur n - m +2 (dans le cas de l'exemple précédent, on avait m=6 et n =4 après poinçonnage, les relations de parité étaient de longueur 26). Dans ce cas, et par analogie avec ce qui précède il est possible de choisir les bits en entrée du codeur de manière à forcer la valeur de n - (m + 1) bits consécutifs en sortie du codeur.
On voit donc qu'avec les codes convolutifs, il est possible, comme pour les codes en bloc de forcer la valeur de certains bits codés, éventuellement consécutifs et parfois en grand nombre. La condition pour que cette opération soit possible est que la matrice formée par les colonnes de la matrice de codage correspondant aux bits forcés soit de rang plein.
Il est en particulier possible de forcer la valeur de séquences de bits consécutifs de longueur significative, particulièrement quand le rendement du code est proche de 1 et quand la mémoire m du code est importante. De même que pour les codes en bloc, la dépendance entre les valeurs des bits en entrée du codeur et les bits en sortie du codeur est linéaire. Les valeurs des bits qui doivent être forcés en entrée du codeur dépendent de façon linéaire des valeurs des autres bits en entrée du codeur et des valeurs des bits forcés en sortie du codeur. Turbo-Codes produit L'invention s'applique également aux codes correcteurs de type turbo-codes produit. Les turbo-codes sont des codes correcteurs qui combinent au moins 30 deux codes simples en entrelaçant les entrées de manière à ce que chacun des codes simples voit une série d'informations différentes d'une part, et que l'information propre à chaque bit, bloc ou message soit répartie sur ses voisins d'autre part. De ce fait, même si une partie des bits, des blocs ou des messages est altérée pendant la transmission, l'information correspondante existe encore peu ou prou sur des bits, blocs ou messages voisins. La procédure de décodage est itérative et collaborative entre chaque code simple. Elle fait intervenir une notion de confiance sur chaque bit, bloc ou message décodé et diffère la décision finale sur leurs valeurs (« décision douce » ou « soft decision » en anglais). Chacun des décodeurs transmet aux autres l'information issue de son propre décodage (dite information extrinsèque) qui est multiplexée à l'information en entrée des autres codeurs.
Le bit, bloc ou message ainsi transmis est décodé une seconde fois par les autres codeurs simples, et l'information correspondante re-transmise vers les autres codeurs, etc. (d'où la dénomination « turbo » qui est liée à la procédure de décodage et non au code proprement dit). Les codes simples employables sont multiples.
II est possible d'utiliser des codes convolutifs. Des codes convolutifs récursifs et systématiques sont en pratique particulièrement adaptés. Les codes peuvent être placés en série ou en parallèle. La gestion astucieuse de l'entrelacement et de la détection/correction itérative des données par chaque code simple permet de démultiplier le pouvoir détecteur et correcteur du procédé global tout en limitant le nombre d'itérations et la complexité. Une autre structure de codage turbo correspond à des codes produits. Dans la version la plus simple correspondant à des codes produits à deux dimensions, le code produit de rendement k1 -k2 est construit à partir de n1 - n2 deux codes élémentaires C1 et C2 de rendement -1- et -L . Les codes ni n2 élémentaires utilisés sont des codes en bloc très simples (typiquement des codes de parité, des codes de Hamming ou bien des codes de Hamming étendus). Les n1 - n2 bits successifs apparaissent comme une suite de n2 mots de code C1. En considérant le train binaire décimé d'un facteur n1, on obtient des mots du code C2. Les turbo-codes produits, construits à partir de plusieurs codes en bloc s'apparentent à des codes en bloc quand il s'agit de déterminer s'il est 5 possible de générer le motif voulu. En effet, l'opération de codage peut se décomposer en des opérations de codage et d'entrelacement. Nous allons illustrer la décomposition d'un code produits en plusieurs opérations de codage et d'entrelacement à partir d'un exemple simple et non limitatif. Nous considérons un code produit construit à partir de deux codes k k 10 C1 et C2 de rendement --L et n1 n2 L'opération de codage d'un bloc de ki - k2 bit peut se décomposer de la façon suivante : Un codage avec le code C1 du train binaire : le codage transforme k2 groupes de k1 bits en k2 groupes de n1 bits. 15 Un entrelacement ligne/colonne simple : les bits sont écrits ligne par ligne dans une matrice de taille k2 lignes et n1 colonnes. Les bits sont ensuite lus colonnes par colonne. Un codage avec le code C2 du train binaire : le codage transforme n1 groupes de k2 bits en n1 groupes de n2 bits. 20 Un entrelacement ligne/colonne simple : les bits sont écrits ligne par ligne dans une matrice de taille n1 lignes et n2 colonnes. Les bits sont ensuite lus colonnes par colonne. En pratique, si on considère une portion limitée de bits consécutifs d'un bloc de n1 n2 bits codés (une portion de longueur n k' sensiblement plus petite 25 que n1 .k2), les contraintes du code C2 n'affectent pas cette portion car il n'existe aucune relation de parité liée au code C2 qui soit contenue entièrement dans cette portion de bits. En conséquence, si on considère une portion de bits consécutifs de taille inférieure à n1 k2, tout se passe comme s'il n'y avait que le code C1 quand il s'agit de déterminer les motifs qu'il est possible de forcer. A l'instar des codes en bloc, il est donc possible, notamment, de générer des motifs bits consécutifs de taille 2.
Codes LDPC (Low Density Parity Check) Les codes LDPC sont des codes en bloc particuliers qui sont construits de manière à ce que les bits de parité soient calculés en faisant intervenir une relation de parité de poids faible. Il s'agit en pratique de codes en bloc systématiques (mais non cycliques) et l'analyse faite sur les codes en bloc s'applique par analogie à la description faite précédemment. Les codes LDPC sont généralement de très grande taille. A l'instar de ce qui a été établi pour les codes en blocs, les codes LPDC permettent donc, notamment, de générer des motifs choisis avec séries de bits consécutifs de 15 grande longueur. En résumé, pour tout code correcteur pour lequel l'opération de codage peut être réalisée en multipliant la séquence d'information par une matrice génératrice pour obtenir la séquence codée, il est possible de fixer la 20 valeur et la position d'un ensemble de bits de la séquence codée en imposant une séquence binaire d'entrée particulière. Cette possibilité existe cependant uniquement si la sous-matrice, de la matrice génératrice, définie par 111,, v,P3 v,Pd est de rang plein, avec m,1 des mkm/_1,11 ln m_13 ' . r, coefficients de la matrice génératrice et p1,p2,...pd, l'ensemble des positions 25 des bits dont la valeur est fixée dans la séquence codée. Une matrice de rang plein est une matrice dont toutes les colonnes sont indépendantes. Si cela est le cas, il suffit de résoudre le système d'équations 31 --- 1k-1]=[C --- Cpd I e10-P1 n10,p2 n10,p3 MO,pd OÙ [cpi...cpd] sont les ink-1,112 Mk-1,p3 '-' nik-1,Pd _ bits ou symboles dont la valeur est fixée dans la séquence codée et i1,...ik sont les inconnues du système à fournir en entrée du codeur.
La chaine d'émission 400 peut également comporter un module d'embrouillage 403, également appelé brassage. Le brassage, ou embrouillage, est utilisé pour rendre la séquence binaire à émettre la plus aléatoire possible, en vue d'améliorer la synchronisation symbole mais également de contribuer à la protection des contenus des messages brassés. Son but est de supprimer les longues suites de bits égaux à 0 ou à 1 qui empêchent une récupération correcte du rythme symbole. Il existe plusieurs types de brasseurs parmi lesquels les brasseurs synchrones nécessitant une référence temporelle préalable ou les brasseurs auto-synchronisant.
Cette transformation est inversible, l'opération d'embrouillage consiste à transformer un groupe de L bits en un autre groupe de L bits et l'opération d'inversion de la transformation du train binaire est une opération effectuée par un récepteur. Ainsi, la fonction de transfert inverse d'un brasseur ou embrouilleur est aisément déductible de sa fonction de transfert directe.
Cas d'un embrouilleur synchrone Dans le cas d'un embrouilleur synchrone, une séquence pseudo aléatoire est ajoutée modulo 2 au signal binaire à embrouiller. La série binaire {..., ek, ...} représentant la séquence d'embrouillage est périodique, de période L longue. Les séquences les plus couramment utilisées pour l'embrouillage sont des séquences de longueur maximale, construites à partir d'un registre à décalage. Ces séquences sont générées par un registre à décalage rebouclé suivant un polynôme primitif E(X) = 1 + + ...+ cp.XP de degré P. On obtient une séquence de période L= Les séquences utilisées pour l'embrouillage peuvent cependant être tronquées. La k-ième sortie ek du registre à décalage vérifie la relation de récurrence ek = ek-i ...-F cp. ek_p, avec cp des coefficients constants dans le corps de Galois GF2 indépendants des données d'entrées et des données embrouillées, « + » désignant toujours l'addition modulo 2 dans GF2. Pour une série binaire en entrée notée {..., bk, ...}, la transformation F opérée par un embrouilleur synchrone peut s'écrire F({..., bk, bk+i, b'k, ...} avec b'k = bk + ek. La transformation F est parfaitement inversible. En effet, cette transformation F est égale à son inverse F-1=F puisque bk = b'k + ek et sachant que ek + ek =0 dans le corps de Galois GF2. L'opération F consiste en une nouvelle addition modulo 2 de la valeur des bits embrouillés par les sorties du même registre à décalage qu'à l'émission pour produire une séquence désembrouillée de longueur identique. Afin de pouvoir forcer le train binaire en sortie d'un embrouilleur synchrone, il suffit d'être correctement synchronisé avec l'opération d'embrouillage. Autrement dit, les positions des indices k ou de début de période doivent coïncider avant d'appliquer la transformation F-1=F aux bits embrouillés. Dans le cas d'un embrouilleur synchrone, la dépendance entre la valeur i d'un bit en entrée de l'embrouilleur et la valeur c du bit en sortie de l'embrouilleur est affine. Suivant la position du bit considéré, la dépendance est, soit c=i, soit c=i+1. Cas d'un embrouilleur auto-synchronisant Dans le cas d'un embrouilleur auto-synchronisant, les états du registre sont remplis avec un nombre fini de données embrouillées. La sortie du registre est additionnée modulo 2 au bit de donnée en entrée pour former le nouveau bit embrouillé.
La transformation F, opérée par un embrouilleur auto-synchronisant est définie par un registre à décalage de polynôme primitif E(X) = 1 + c1.X + ...+ cp.XP de degré P de période L= 2P-1 et s'écrit pour une série binaire en entrée notée {..., bk, bk+i, ...} sous la forme : F({..., bk, bk-o, ---})={-, b'k, b'k,i, ...} avec b'k = bk + cl. + ...+ cp. b'k_p « + » désignant toujours l'addition modulo 2 dans GF2). Ceci permet d'effectuer le désembrouillage 5 en réception de façon simple et sans avoir besoin de se synchroniser au préalable. En réception, on injecte les bits embrouillés dans le même registre qu'à l'émission pour reconstituer la sortie bk = b'k + c1. b'k-i + ...+ cp. b'k-p. La difficulté pour forcer les bits en sortie provient ici de ce que 10 l'expression des états du registre en fonction des données d'entrées bk (données non embrouillées) fait intervenir un nombre illimité desdites données d'entrée. Autrement dit toutes les entrées bk depuis la mise en route de l'embrouilleur interviennent dans la valeur des états du registre. Pour pouvoir forcer la valeur des données embrouillées il est 15 indispensable d'avoir accès de façon synchrone aux données embrouillées pour pouvoir adapter les données d'entrée de façon dynamique. Cette condition est nécessaire à l'application de l'invention si la chaîne d'émission comporte un embrouilleur auto-synchronisant. 20 La chaine d'émission 400 peut également comporter un module d'entrelacement 404. L'entrelacement est très utilisé sur les canaux de transmission pour lesquels les occurrences des erreurs sont regroupées par paquets. Sa fonction est de répartir aussi uniformément que possible lesdites erreurs. En 25 réception, les erreurs sont, après désentrelacement, placées de telle façon qu'elles impactent des mots de code différents. Ces erreurs peuvent alors être considérées comme dé-corrélées, et le pouvoir correcteur des décodeurs permet d'en minimiser l'impact. L'entrelacement apparaît aussi comme un moyen d'introduire de la diversité temporelle dans la chaîne de 30 transmission et contribue de ce fait à protéger celle-ci des évanouissements, des interférences et des brouillages éventuels. De nombreux entrelaceurs sont constitués par une table, les bits en entrée sont alors rangés par lignes dans la table, et les bits en sortie sont produits par lecture en colonne de la table. La transformation opérée par un entrelaceur est également une opération 5 inversible. Sa fonction de transfert inverse est déductible de sa fonction de transfert directe. En effet, il s'agit d'une transformation qui transforme un bloc de L bits en un autre bloc de L bits, en permutant simplement l'ordre des bits. Afin d'obtenir un bloc de bits voulu après entrelacement B'=b'k, ...b1k.L.-1,il suffit d'être synchronisé sur le bloc et d'appliquer sur ce train binaire B' la 10 permutation inverse, ce qui correspond à l'opération de dés-entrelacement effectuée classiquement par un récepteur. On obtient alors un bloc de bits B= bk, ...bk+L-1, qui une fois entrelacé, est strictement égal au train binaire B. La chaine d'émission 400 peut également comporter un module de 15 mise en trame 405. La mise en trame 405 permet au récepteur de se synchroniser sur les transformations du train binaire telles que les opérations d'entrelacement ou décodage, puis de récupérer des données structurées sous la forme d'un multiplexage de plusieurs flux ou de données sous forme de mots ou d'octets. Pour cela, une fois les données structurées sous forme 20 de trames correspondant à des motifs d'ordonnancement périodiques, la synchronisation du récepteur sur les trames s'effectue à l'aide de motifs périodiques synchrones des trames. Chaque trame est ainsi précédée, et/ou suivie, et/ou contient un mot de synchronisation spécifique utilisé pour effectuer la synchronisation du récepteur sur les trames reçues. Plusieurs 25 trames peuvent également être regroupées pour former une multi-trame ou une hyper-trame. Les motifs de synchronisation utilisés pour la mise en trame sont répétés dans la séquence émise et peuvent être détectés et brouillés comme cela a été expliqué précédemment. 30 La mise en trame limite la possibilité de forcer le signal modulé voulu puisque certains bits prennent des valeurs imposées à intervalle régulier, et qu'il est nécessaire de garder ces bits pour le bon fonctionnement du récepteur en liaison avec l'émetteur. Cette transformation n'est donc pas surjective pour des blocs de données dont la taille en sortie dépasse celle d'un bloc de données utiles par trame.
Toutefois, la mise en trame n'occupe qu'une part très limitée (et temporellement bien délimitée) du débit total (exemple : motif de début de trame n'utilisant que quelques symboles, etc.) et n'empêche pas de générer le signal codé voulu au sein d'une trame. Ce point n'est donc pas un écueil particulier pour la mise en oeuvre de l'invention. La chaine d'émission 400 peut également comporter un module de codage binaire à signal 406. Le codage binaire à signal est utilisé pour adapter le signal au canal de transmission. Il transforme le message numérique en un signal électrique en bande de base ou en un signal à basse fréquence. On peut citer deux grandes classes de codes binaires à signal, les codes de transcodage NRZ (Non Remise à Zéro) et les codes alphabétiques. La transformation opérée par un codeur binaire à signal est une 20 opération inversible. Sa fonction de transfert inverse est donc déductible de sa fonction de transfert directe. La chaine d'émission 400 comporte enfin un modulateur 407 qui transforme notamment la séquence binaire en une séquence de symboles 25 modulés. Les symboles sont pris dans un ensemble complexe appelé constellation. Un symbole peut regrouper plusieurs bits. On peut citer par exemple, les modulations de phase numérique ou PSK (Phase Shift Keying) ou les modulations d'amplitude numérique ou QAM (Quadrature Amplitude Modulation).
La transformation opérée par un modulateur est une opération inversible. Sa fonction de transfert inverse est donc déductible de sa fonction de transfert directe.
D'après ce qui précède, les transformations appliquées dans la chaîne d'émission sur le train binaire sont réversibles, c'est à dire qu'il est possible à partir du train binaire en sortie de retrouver le train binaire d'entrée. En pratique, de la redondance est même ajoutée de manière à pouvoir retrouver le signal binaire d'origine en présence d'erreurs sur le train binaire codé.
Toutefois, toujours d'après ce qui précède, certaines fonctions mises en oeuvre par la chaine d'émission d'un système de communications peuvent ne pas être toujours surjective ni inversibles. Il peut arriver qu'un train binaire codé TBC que l'on voudrait forcer en sortie de module ne corresponde à aucune série de bits « utile » TBU en entrée de module. C'est le cas notamment d'une fonction de codage correcteur en bloc ou convolutif qui ne respecte pas les critères énoncés précédemment ou de toute autre opération de codage non bijective. Dans un tel cas, il n'est pas possible de déterminer la fonction de transfert inverse F-1 de la chaine d'émission globale.
Pour contourner cette difficulté, deux variantes de réalisation de l'invention sont envisagées. Une première variante consiste à rechercher, parmi l'ensemble F({TBU}) des séquences modulées qu'il est possible d'obtenir en sortie de chaine d'émission à partir de l'ensemble {TBU} des séquences binaires possibles en entrée de chaine d'émission, la séquence binaire T' qui minimise la distance entre la transformation modulées en sortie F(T') de la séquence T' et la séquence modulée D recherchée qui contient au moins un motif de synchronisation factice positionné à l'emplacement souhaité. La distance considérée peut, par exemple, être une distance au sens des moindres carrés calculée en intégrant la différence entre une séquence possible F(T), T appartenant à l'ensemble {TBU}, et la séquence recherchée D sur un intervalle temporel fixé. Un critère possible peut être calculé à l'aide de la relation suivante : VT e {TBU}; C(T, D) = = fle)(t) - 2 dt On recherche ensuite la séquence d'entrée T' E {TBU} de la chaine d'émission qui minimise le critère C: T'= Argmin [C(T, D)] . Te{TBU} Toutefois, la mise en oeuvre pratique de cette variante doit tenir compte de deux contraintes principales. D'une part, pour des raisons de complexité, il n'est pas possible en pratique d'obtenir l'image F{TBU} des signaux modulés en sortie de chaîne d'émission correspondant à l'ensemble de tous les trains binaires utiles possibles (autrement dit, correspondant à l'intégralité de l'ensemble {TBU}), mais seulement un sous-ensemble restreint de cette image. D'autre part, on peut simplifier la mise en oeuvre de l'invention en se basant sur les supports temporels liés principalement aux opérations d'entrelacement, de codage et de mise en trame. En effet, il n'est pas utile en pratique pour la mise en oeuvre de l'invention de considérer des trains binaires T utiles dans l'ensemble {TBU} dont les signaux modulés F(T) en sortie (après codage et entrelacement notamment) se trouveraient dispersés sur des intervalles de temps trop longs, ou sur un trop grand nombre de trames en sortie, ou dont la distribution des positions des symboles serait trop lacunaire. En pratique donc, cette variante de l'invention peut être mise en oeuvre en restreignant l'ensemble {TBU} à un sous-ensemble {TBU'} qui ne 25 comprend que des séquences de bits utiles T dont les longueurs et positions après passage dans la chaîne d'émission (et notamment après passage dans les modules de codage et d'entrelacement) correspondent à des motifs factices SYNC'F, le cas échéant sous optimaux vis à vis du brouillage du réseau de communication, mais compatibles du standard de mise en oeuvre du système de télécommunication en terme de positions, de récurrence et de périodicité trame, et donc facile à générer et à insérer dans les trames de données utiles.
La structure temps/fréquence et/ou le choix des positions, longueurs et récurrences des signaux factices SYNC'F approchant au sens du critère mentionné plus haut les motifs factices SYNCF désirés en sortie, sont fixés en se basant sur les périodicités trames.
L'ensemble restreint {TBUl est ensuite pré-déterminé en inversant pour les motifs SYNC'F, analytiquement ou par simulation, les modules de la chaîne d'émission et notamment les modules d'entrelacement et les modules de codage.
Ceci permet notamment de simplifier la mise en oeuvre de l'invention en concentrant la recherche des séquences binaires T dans l'image inverse (notamment par les transformations de codage et d'entrelacement) d'un ensemble restreint de motifs factices SYNC'F en sortie, approchant correctement la séquence désirée SYNCF au sens du critère précédemment mentionné, et correspondant au plus à la durée d'une trame en sortie de chaîne d'émission (et/ou à la durée d'une trame d'information utile en entrée de ladite chaîne d'émission). On périodise les séquences binaires T' ainsi obtenues par trame d'information utile pour générer en sortie des motifs factices eux aussi périodiques et de période indexée sur celle de la trame du signal en sortie. Le calcul des positions des bits dans la séquence binaire T' pour obtenir un motif factice en sortie de chaine d'émission peut alors être réalisé une fois pour toutes.
Si l'on construit la séquence binaire T' de manière complètement artificielle en exploitant un mode de messagerie qui autorise une programmation complète du contenu des messages, le calcul des valeurs des bits de la séquence binaire T'peut aussi être réalisé une fois pour toutes. Si l'on construit la séquence binaire T' à partir d'un applicatif de type codeur audio ou vidéo produisant un contenu variable et aléatoire, le calcul 5 des relations (déterministes) donnant les valeurs des bits de la séquence binaire T' (en fonction du motif factice SYNC'F recherché et des bits d'information voisins) peut aussi être réalisé une fois pour toutes. En pratique, pour générer lesdites séquences binaires T, on doit donc 10 forcer la valeur de certains bits utiles, dits bits factices, (situés en entrée du codage canal) à des positions précises.. La transformation appliquée consiste à déterminer tout d'abord un partitionnement de la trame des données utiles en inversant les modules d'entrelacement codage : ceci détermine des positions bien précises, sur lesquelles on choisit 15 artificiellement les valeurs des bits factices de manière à générer les séquences factices après entrelacement et codage. Finalement, dans cette variante simplifiée de mise en oeuvre de l'invention, - les positions que prennent ces bits factices forcés sont déterminées en partant de la position et des valeurs des 20 séquences factices SYNC'F et en remontant les transformations du train binaire une par une, les valeurs que prennent ces bits factices ou les relations donnant les valeurs des bits factices selon les bits d'information voisins sont déterminées elles-aussi en remontant les 25 transformations du train binaire une par une. Si tous les étages de la chaîne d'émission sont concernés, les étapes clés portent sur l'inversion des opérations d'entrelacement et de codage correcteur.
30 Restant à l'échelle d'une trame de signal en sortie de chaîne d'émission, les positions, valeurs ou relations donnant les valeurs des bits factices dans le flux d'information utile sont fixes. Elles peuvent être calculées une fois pour toute puis être appliquées sur chaque trame successive. Une seconde variante de réalisation de l'invention consiste à appliquer l'invention à un sous ensemble situé en aval de la chaine d'émission constitué de blocs en série dont les fonctions de transfert sont toutes inversibles. En pratique, on identifie la portion de longueur maximale de la chaîne de transmission pour laquelle l'inversion du train binaire peut être réalisée de façon satisfaisante. Pour cela on remonte depuis le signal en sortie de modulateur vers la séquence de données utiles à émettre. Le train binaire destiné à produire des signaux modulés D(t), contenant une séquence de synchronisation factice, n'est injecté qu'au niveau de l'entrée de ce sous-ensemble, autrement dit en sortie de la première fonction non inversible de la chaine d'émission dans l'ordre séquentiel inverse des fonctions d'émission (allant du modulateur - fin de la chaine- au codeur correcteur - début de la chaine). Cette seconde variante de l'invention est par exemple appliquée si la chaine d'émission comporte un dispositif de chiffrement ou cryptographie dont la fonction présente par nature un inverse non déterminable. Le procédé selon l'invention peut s'implémenter à partir d'éléments logiciel. Un tel logiciel peut être exécuté par l'équipement émetteur de sorte à modifier la séquence binaire utile à émettre qui est par exemple produite par un applicatif. Il peut également être exécuté par un ordinateur connecté audit émetteur dans le but de le paramétrer. Le procédé selon l'invention peut être disponible en tant que produit 30 programme d'ordinateur sur un support lisible par ordinateur. Le support peut être électronique, magnétique, optique, électromagnétique ou être un support de diffusion de type infrarouge. De tels supports sont par exemple, des mémoires à semi-conducteur (Random Access Memory RAM, Read-Only Memory ROM), des bandes, des disquettes ou disques magnétiques ou optiques (Compact Disk - Read Only Memory (CD-ROM), Compact Disk - Read/Write (CD-R/W) and DVD).

Claims (19)

  1. REVENDICATIONS1. Procédé de brouillage d'un système de communication (EM, REC) consistant à générer, dans un signal (S) destiné à être émis par au moins un émetteur (EM B1, EM B2,..., EM B3) compatible dudit système de communication (EM, REC), au moins une séquence factice (SYNCF), ledit procédé étant caractérisé en ce qu'il comprend les étapes suivantes : Définir ladite séquence factice (SYNCF) et sa position temporelle et/ou fréquentielle au sein du signal (S) à émettre, Estimer la valeur et la position des bits factices (BF) à insérer au sein de la séquence de données (Du,T) à émettre en entrée de la chaine d'émission ou d'une sous-partie de la chaine d'émission de sorte à obtenir, dans la séquence produite en sortie de la chaine d'émission, la valeur et la position temporelle prédéfinies des symboles de ladite séquence factice (SYNCF), Insérer au sein de ladite séquence de données (Du,T), les bits factices (BF) aux positions obtenues.
  2. 2. Procédé de brouillage selon la revendication 1 dans lequel, lorsque la fonction de transfert F de la chaine d'émission est inversible, la valeur et la position des bits factices (BF) sont estimées en déterminant la fonction de transfert inverse F-1 de ladite fonction de transfert F et en appliquant ladite fonction de transfert inverse F-1 à ladite séquence factice (SYNCF).
  3. 3. Procédé de brouillage selon la revendication 2 dans lequel la fonction de transfert inverse F-1 de ladite chaîne d'émission est déterminée en effectuant la composition, dans l'ordre inverse, des fonctions de transfert inverses des différents blocs composant ladite chaine.
  4. 4. Procédé de brouillage selon la revendication 3 dans lequel la chaine d'émission comporte au moins un code correcteur (402) de rendementk/n pour lequel l'inversion de sa fonction de transfert est réalisée en résolvant le système d'équations suivant n101 n10,P2 1110,P3 n10,P1 --- 1k-1 1= --- C pd où [cpi...cpd] sont 1k-1,p2 Mk-1,p3 - - - ink-1,pd les symboles dont la valeur est fixée dans la séquence codée,[ est la séquence à produire en entrée dudit code, et rni,pi sont les coefficients de la matrice génératrice dudit code, p1,p2,...pd étant l'ensemble des positions des symboles dont la valeur est fixée dans la séquence codée, avec d un entier égal au plus au nombre n de symboles de la séquence codée.
  5. 5. Procédé de brouillage selon la revendication 4 dans lequel ledit code correcteur est un code en bloc linéaire ou un code convolutif ou un turbo-code ou un code à faible densité LDPC
  6. 6. Procédé de brouillage selon l'une des revendications 3 à 5 dans lequel la chaine d'émission comporte en outre un brasseur (403) et/ou un entrelaceur (404) et/ou un module de mise en trame (405) et/ou un codeur binaire à signal (406) et/ou un modulateur (407).
  7. 7. Procédé de brouillage selon la revendication 1 dans lequel, lorsque la fonction de transfert F de la chaine d'émission est non surjective, la valeur et la position des bits factices sont estimées en recherchant la séquence d'entrée T' de la chaine d'émission qui minimise un critère de distance entre la séquence F(T')(t) obtenue en sortie de chaine d'émission lorsque ladite séquence T' est effectivement produite à son entrée, et ladite séquence factice (SYNCF).
  8. 8. Procédé de brouillage selon la revendication 7 dans lequel, ledit critère de distance est pris égal à l'intégrale, sur une durée donnée, de la norme aucarré de la différence entre la séquence F(T')(t) obtenue en sortie de chaine d'émission ladite séquence factice (SYNCF).
  9. 9. Procédé de brouillage selon l'une des revendications 7 ou 8 dans lequel, la recherche de la séquence d'entrée T' de la chaine d'émission qui minimise ledit critère de distance est effectué sur un sous-ensemble de l'ensemble des séquences binaires possibles en entrée de la chaine d'émission.
  10. 10. Procédé de brouillage selon l'une des revendications précédentes dans lequel ladite séquence de données (Du,T) est produite par un applicatif (401), par exemple un codeur audio, image ou vidéo.
  11. 11. Procédé de brouillage selon la revendication 1 dans lequel, lorsque la fonction de transfert F de la chaine d'émission est non surjective, les bits factices (BF) sont insérés dans la séquence produite en entrée d'une sous-partie de la chaine d'émission dont la fonction de transfert est surjective et dont la sortie est commune à la sortie de la chaine d'émission.
  12. 12. Procédé de brouillage selon la revendication 11 dans lequel ladite chaine d'émission comporte un dispositif de chiffrement et ladite sous-partie de la chaine d'émission exclut ce dispositif.
  13. 13. Procédé de brouillage selon l'une des revendications précédentes dans lequel les valeurs des symboles de ladite séquence factice (SYNCF) sont identiques à celles des symboles d'une séquence de synchronisation (SYNC) que comporte ledit signal pour synchroniser entre eux un récepteur et un émetteur compatibles dudit système de communication.
  14. 14. Procédé de brouillage selon l'une des revendications précédentes dans lequel la position temporelle et/ou fréquentielle des symboles de ladite séquence factice (SYNCF) sont différents de celles des symboles d'une 2 99984 1 45 séquence de synchronisation (SYNC) que comporte ledit signal pour synchroniser entre eux un récepteur et un émetteur compatibles dudit système de communication. 5
  15. 15. Dispositif d'émission (EM_B1,EM_B2,...,EM_B3) d'un signal comportant une chaine d'émission pour transformer une séquence de données (Du,T) à émettre en un signal (S) à émettre et un moyen adapté pour mettre en oeuvre le procédé selon l'une des revendications 1 à 14. 10
  16. 16. Système de brouillage coopératif comprenant une pluralité de dispositifs d'émission (EM B1,EM B2,...,EM B3) selon la revendication 15 et pour lesquels les positions temporelles et/ou fréquentielles desdites séquences factices (SYNCF) insérées dans le signal émis par chaque dispositif d'émission sont différentes entre elles. 15
  17. 17. Système de brouillage coopératif comprenant une pluralité de dispositifs d'émission (EM_B1, EM_B2,...,EM_B3) selon la revendication 15 et pour lesquels chacun desdits dispositifs d'émission (EM_B1, EM B2,...,EM B3) émet un signal (S) comprenant une pluralité de 20 séquences factices (SYNCF) dont les valeurs et/ou positions temporelles et/ou positions fréquentielles sont différentes entre elles.
  18. 18. Programme d'ordinateur comportant' des instructions pour l'exécution du procédé selon l'une quelconque des revendications 1 à 14, lorsque le 25 programme est exécuté par un processeur.
  19. 19.Support d'enregistrement lisible par un processeur sur lequel est enregistré un programme comportant des instructions pour l'exécution du procédé selon l'une quelconque des revendications 1 à 14, lorsque le 30 programme est exécuté par un processeur.
FR1203475A 2012-12-19 2012-12-19 Procede de brouillage d'un systeme de communication par insertion de motifs factices dans un flux de donnees a emettre Expired - Fee Related FR2999841B1 (fr)

Priority Applications (5)

Application Number Priority Date Filing Date Title
FR1203475A FR2999841B1 (fr) 2012-12-19 2012-12-19 Procede de brouillage d'un systeme de communication par insertion de motifs factices dans un flux de donnees a emettre
EP13803075.4A EP2936714B1 (fr) 2012-12-19 2013-12-13 Procédé de brouillage d'un système de communication par insertion de motifs factices dans un flux de données à émettre
SG11201504912TA SG11201504912TA (en) 2012-12-19 2013-12-13 Method for scrambling a communication system by inserting dummy patterns into a data stream to be transmitted
ES13803075.4T ES2604904T3 (es) 2012-12-19 2013-12-13 Procedimiento de perturbación de un sistema de comunicación mediante la inserción de motivos ficticios en un flujo de datos a emitir
PCT/EP2013/076588 WO2014095653A1 (fr) 2012-12-19 2013-12-13 Procede de brouillage d'un systeme de communication par insertion de motifs factices dans un flux de donnees a emettre

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1203475A FR2999841B1 (fr) 2012-12-19 2012-12-19 Procede de brouillage d'un systeme de communication par insertion de motifs factices dans un flux de donnees a emettre

Publications (2)

Publication Number Publication Date
FR2999841A1 true FR2999841A1 (fr) 2014-06-20
FR2999841B1 FR2999841B1 (fr) 2015-01-16

Family

ID=48237008

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1203475A Expired - Fee Related FR2999841B1 (fr) 2012-12-19 2012-12-19 Procede de brouillage d'un systeme de communication par insertion de motifs factices dans un flux de donnees a emettre

Country Status (5)

Country Link
EP (1) EP2936714B1 (fr)
ES (1) ES2604904T3 (fr)
FR (1) FR2999841B1 (fr)
SG (1) SG11201504912TA (fr)
WO (1) WO2014095653A1 (fr)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4033682A1 (fr) * 2021-01-20 2022-07-27 Nokia Technologies Oy Protection de transmissions contre le brouillage

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2858742A1 (fr) * 2001-12-11 2005-02-11 Eads Defence & Security Ntwk Procede et dispositif de brouillage des communications dans un systeme de radiocommunications cellulaire
US20100302956A1 (en) * 2005-08-02 2010-12-02 Comhouse Wireless Lp Enhanced Methods of Cellular Environment Detection When Interoperating with Timed Interfers
US8055184B1 (en) * 2008-01-30 2011-11-08 Sprint Communications Company L.P. System and method for active jamming of confidential information transmitted at a point-of-sale reader

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2858742A1 (fr) * 2001-12-11 2005-02-11 Eads Defence & Security Ntwk Procede et dispositif de brouillage des communications dans un systeme de radiocommunications cellulaire
US20100302956A1 (en) * 2005-08-02 2010-12-02 Comhouse Wireless Lp Enhanced Methods of Cellular Environment Detection When Interoperating with Timed Interfers
US8055184B1 (en) * 2008-01-30 2011-11-08 Sprint Communications Company L.P. System and method for active jamming of confidential information transmitted at a point-of-sale reader

Also Published As

Publication number Publication date
FR2999841B1 (fr) 2015-01-16
ES2604904T3 (es) 2017-03-09
WO2014095653A1 (fr) 2014-06-26
EP2936714A1 (fr) 2015-10-28
SG11201504912TA (en) 2015-07-30
EP2936714B1 (fr) 2016-08-31

Similar Documents

Publication Publication Date Title
EP0996232B1 (fr) Procédé et dispositif d'entrelacement d'une séquence d'éléments de données
EP2232765A2 (fr) Procede et entite de chiffrement symetrique probabiliste
EP2936715B1 (fr) Procédé de leurrage d' un système d' interception et de brouillage par insertion de motifs de synchronisation factices dans le signal émis et émetteur mettant en oeuvre le procédé
EP2815508B1 (fr) Procede de transmission de mots de code correcteur d'erreur non binaire avec modulation ccsk, signal et dispositif correspondant
FR2512568A1 (fr) Systeme pour transferer des donnees binaires par une pluralite de canaux au moyen d'un codeur operant par convolution
EP0235477B1 (fr) Procédé et dispositif de transmission radioélectrique d'informations codées, résistant au brouillage
FR2985150A1 (fr) Procede de transmission d'un signal numerique pour un systeme ms-marc non-orthogonal, produit programme et dispositif relais correspondants
FR2912019A1 (fr) Procede de codage de donnees.
EP3539253A1 (fr) Procédé et dispositif d'émission de données chiffrées, procédé et dispositif d'extraction de données
Adamo et al. Joint scheme for physical layer error correction and security
EP2936714B1 (fr) Procédé de brouillage d'un système de communication par insertion de motifs factices dans un flux de données à émettre
FR3053193A1 (fr) Procede de transmission dynamique et selectif fd-dsdf d'un signal numerique pour un systeme marc/mamrc avec relais full-duplex et une voie de retour limitee, produit programme et dispositif relais correspondants
JP2009296217A (ja) 暗号通信装置
RU2671989C1 (ru) Способ передачи многоблочных сообщений каскадным кодом в комплексах связи
Nergui et al. Reliable and robust transmission and storage techniques for medical images with patient information
FR2706704A1 (fr) Système de transmission numérique à étalement de spectre obtenu par codage pseudo-aléatoire basse fréquence de l'information utile et procédé d'étalement et de compression de spectre utilisé dans un tel système.
EP2659615A1 (fr) Procede et systeme permettant de tester une integrite cryptographique d'une donnee tolerante aux erreurs
EP2727253B1 (fr) Procédé de traitement d'un paquet de données avant son émission dans un réseau de communication par radio, procédé de traitement d'un paquet de données reçu, dispositifs et systèmes associés
Pfeiffer et al. Combining scrambling and multilevel coding for physical-layer security
FR3061393A1 (fr) Procedes de codage et de decodage de paquets de donnees dans un corps de galois
EP0383711B1 (fr) Modem à mode de repli sécurisé, notamment pour le réseau téléphonique commuté
Macleod Coding
Kamel Security for wireless communications
Paglieri et al. Implementation and performance analysis of Barkan, Biham and Keller’s attack on A5/2
WO2023244105A1 (fr) Correction d'erreur segmentée pour post-traitement qkd

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 4

PLFP Fee payment

Year of fee payment: 5

ST Notification of lapse

Effective date: 20180831