Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
LOW-COMPLEXITY ENCODER FOR CONVOLUTIONAL ENCODING
Document Type and Number:
WIPO Patent Application WO/2013/079540
Kind Code:
A1
Abstract:
The invention relates, according to the first form thereof, to a transmission error correction method, wherein at least two encoded binary series from a binary series that is to be transmitted and encoded by means of a convolutional code are received from a communication channel. Said method is characterized in that same comprises the following steps: producing, from two received encoded binary series, comparison binary series that coincide in the absence of transmission errors on the communication channel; comparing the comparison binary series and forming a detection binary series corresponding to the logic operation OU-exclusive of the two comparison binary series; and, in the event that the comparison binary series diverge from a divergence point, verifying if the series made up of P bits of the detection binary series from the divergence point corresponds to a listed transmission error and correcting, if necessary, the received encoded binary series.

Inventors:
CHIODINI ALAIN (FR)
GILLET MICHEL (FR)
Application Number:
PCT/EP2012/073853
Publication Date:
June 06, 2013
Filing Date:
November 28, 2012
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SAGEM DEFENSE SECURITE (FR)
International Classes:
H03M13/29; H03M13/37; H03M13/39
Foreign References:
US20110209029A12011-08-25
FR2765749A11999-01-08
Other References:
None
Attorney, Agent or Firm:
CALLON DE LAMARCK, Jean-Robert (FR)
Download PDF:
Claims:
REVENDICATIONS

1. Procédé pour la correction d'erreurs de transmission dans lequel au moins deux suites binaires codées correspondent chacune au résultat de la convolution d'une même suite binaire à transmettre avec les coefficients d'un polynôme générateur respectif et sont reçues depuis un canal de communication, caractérisé en ce qu'il comporte les étapes consistant à :

- produire, à partir de deux suites binaires codées reçues, des suites binaires de comparaison qui coïncident en l'absence d'erreurs de transmission sur le canal de communication ;

- comparer les suites binaires de comparaison et former une suite binaire de détection correspondant à l'opération logique OU-excl usif des deux suites bi nai res de comparaison;

- en cas de divergence des suites binaires de comparaison à partir d'un point de divergence, vérifier si la séquence constituée de P bits de la suite binaire de détection à partir du point de divergence correspond à une erreur de transmission répertoriée et corriger le cas échéant les suites binaires codées reçues.

2. Procédé selon la revendication 1 , dans lequel pour produire les suites binaires de comparaison, on réalise la convolution de chacune des suites binaires codées reçues avec les coefficients du polynôme générateur ayant servi à coder l'autre suite binaire codée reçue.

3. Procédé selon la revendication 1 , dans lequel pour produire les suites binaires de comparaison, on réalise la déconvolution de chacune des suites binaires codées reçues au moyen du polynôme générateur ayant servi à la coder.

4. Procédé selon l'une des revendications précédentes, dans lequel on n'opère pas de correction si le point de divergence correspond à une position qui excède la longueur de la séquence binaire à décoder.

5. Procédé selon l'une des revendications 1 à 4, dans lequel si la séquence constituée de P bits de la suite de détection à partir du point de divergence ne correspond pas à une erreur de transmission répertoriée, on met en œuvre les étapes consistant à :

- corriger une erreur dans une première des suites binaires codées reçues pour former une suite corrigée ; - former à partir de la suite corrigée une nouvelle suite binaire de comparaison qui coïncide en l'absence d'erreurs de transmission sur le canal de communication avec la suite binaire de comparaison formée à partir de la seconde suite binaire codée reçue ;

- valider la correction apportée à la première des suites binaires codées reçues si la divergence entre la nouvelle suite binaire de comparaison et la suite binaire de comparaison formée à partir de la seconde suite binaire codée reçue apparaît plus tardivement que la divergence préalablement détectée entre les deux suites binaires de comparaison formées à partir de la première et de la seconde suites binaires codées reçues.

6. Procédé selon la revendication 5, dans lequel si la correction apportée à la première des suites binaires codées reçues n'est pas validée, on corrige une erreur dans la seconde des suites binaires codées reçues. 7. Procédé selon l'une des revendications précédentes, caractérisé en ce qu'il prend fin lorsque le nombre d'erreurs corrigées excède une limite donnée.

8. Procédé selon l'une des revendications précédentes, dans lequel on forme une première suite binaire de détection à partir des suites binaires de comparaison produites conformément au procédé de la revendication 2 et une seconde suite binaire de détection à partir des suites binaires de comparaison produites conformément au procédé de la revendication 3, et dans lequel si on identifie plusieurs erreurs répertoriées à l'aide de la première ou de la seconde suite binaire de détection, on réalise une discrimination parmi ces erreurs répertoriées en vérifiant si l'une et/ou l'autre de ces erreurs ont également été identifiées à l'aide de l'autre suite binaire de détection.

9. Récepteur de données, caractérisé en ce qu'il comporte un décodeur de code convolutif comprenant une mémoire pour stocker des erreurs de transmission répertoriées et un processeur configuré pour mettre en œuvre le procédé selon l'une des revendications précédentes.

10. Système de transmission de données comprenant un émetteur et un récepteur selon la revendication précédente. 1 1 . Système de transmission de données selon la revendication précédente, dans lequel l'émetteur comprend un codeur configuré pour mettre en œuvre une compression de données de voix selon un codée à un débit binaire inférieur au débit binaire maximal dudit codée et pour mettre en œuvre un codage eonvolutif des données de voix ainsi compressées exploitant l'espace binaire libéré de par l'utilisation dudit débit binaire inférieur.

Description:
DECODEUR DE FAIBLE COMPLEXITE POUR CODAGE CONVOLUTIF

DOMAINE DE L'INVENTION

Le domaine de l'invention est celui des codes détecteurs et correcteurs d'erreurs, et plus précisément celui des codes dits convolutifs. Dans ce cadre, l'invention concerne un décodeur de faible complexité pour codes convolutifs.

ARRIERE PLAN DE L'INVENTION

Les codes convolutifs forment une classe souple et efficace de codes détecteurs et correcteurs d'erreurs. Il s'agit des codes les plus utilisés actuellement dans les systèmes de communications fixes et mobiles. Le terme « convolutif » traduit le fait que la suite de bits codés est le résultat de la convolution de la suite de bits d'information par les coefficients d'au moins deux séquences binaires fixes appelées polynômes générateurs.

Le codage des données bi naires à émettre est effectué à l'aide d' un codeur convolutionnel : la sortie de ce dispositif dépend de l'information courante à coder (instant n) ainsi que de l'information précédente (instants n-1 , n-2, n-K+1 ) et de l'état du codeur. Le paramètre K est appelé la longueur de contrainte du code et définit le nombre d'états du code convolutif (2 K 1 ). En pratique, un codeur convolutionnel est réalisé à l'aide d'un registre à décalage et de « OU exclusifs ».

La manière classique de décoder un code est de comparer la séquence reçue y(n) à toutes les séquences possibles x(n) susceptibles d'être émises et de choisir la plus vraisemblable parmi elles. Cette manière de procéder présente une complexité exponentielle (croissante avec la taille de la séquence reçue) et n'est par conséquent pas réalisable en pratique. La réduction de l'écart entre le message observé et le message décodé est effectuée selon le critère du maximum de vraisemblance. La méthode de décodage la plus répandue actuellement, et notamment intégrée dans bon nombre de produits de masse (GSM, WiFi, etc.), est basée sur l'algorithme de Viterbi (il s'agit d'un algorithme de programmation dynamique qui prend en compte la structure répétitive du treillis généré à partir des polynômes générateurs du code convolutif utilisé). Il permet à la réception d'un mot y de déterminer le mot de code x le plus proche (selon le critère du maximum de vraisemblance). Le décodage à maximum de vraisemblance consiste à chercher dans le treillis du code le chemin le plus proche de la séquence reçue.

Un inconvénient du décodeur de Viterbi est que sa complexité est élevée et peut ne pas être compatible avec les ressources logicielles du récepteur devant mettre en œuvre le décodage. Cette complexité se traduit également par une consommation d'énergie électrique qui peut s'avérer trop importante vis-à-vis des ressources de certains récepteurs (appareils portables en particulier).

Il existe donc un besoin pour une solution de décodage de codes convolutifs dont la complexité serait très faible par rapport à celles reposant sur l'algorithme de Viterbi.

II est en outre à noter qu'en pratique le décodeur de Viterbi ne peut réaliser le décodage de codes convolutifs ayant une longueur de contrainte supérieure à 7 car sa complexité s'accroîtrait alors au point de devenir prohibitive. On comprend donc que le pouvoir de correction (ou gain de codage) est en réalité limité.

EXPOSÉ DE L'INVENTION

L'invention a pour objectif de proposer un décodeur de code convolutif de faible complexité et propose à cet effet selon un premier aspect un procédé pour la correction d'erreurs de transmission dans lequel au moins deux suites binaires codées correspondent chacune au résultat de la convolution d'une même suite binaire à transmettre avec les coefficients d'un polynôme générateur respectif et sont reçues depuis un canal de communication, caractérisé en ce qu'il comporte les étapes consistant à :

- produire, à partir de deux suites binaires codées reçues, des suites binaires de comparaison qui coïncident en l'absence d'erreurs de transmission sur le canal de communication ;

- comparer les suites binaires de comparaison et former une suite binaire de détection correspondant à l'opération logique OU-excl usif des deux suites bi nai res de comparaison;

- en cas de divergence des suites binaires de comparaison à partir d'un point de divergence, vérifier si la séquence constituée de P bits de la suite binaire de détection à partir du point de divergence correspond à une erreur de transmission répertoriée et corriger le cas échéant les suites binaires codées reçues.

L'invention concerne selon un second aspect un récepteur de données, caractérisé en ce qu'il comporte un décodeur de code convolutif comprenant une mémoire pour stocker des erreurs de transmission répertoriées et un processeur configuré pour mettre en œuvre le procédé selon le premier aspect de l'invention.

L'invention s'étend également à un système de transmission de données comprenant un émetteur et un récepteur selon le second aspect de l'invention. BREVE DESCRIPTION DES DESSINS

D'autres aspects, buts et avantages de la présente invention apparaîtront mieux à la lecture de la description détaillée suivante de formes de réalisation préférées de celle-ci, donnée à titre d'exemple non limitatif, et faite en référence à l'unique figure 1 annexée qui représente un schéma de principe du décodeur objet de l'invention.

DESCRIPTION DETAILLEE DE L'INVENTION

L'invention concerne selon son premier aspect un procédé pour la correction d'erreurs de transmission dans au moins deux suites binaires codées résultant du codage d'un message à transmettre par un code convolutif et transmises sur un canal de communication.

Chacune des suites binaires codées résulte préférentiellement du codage convolutif d'une même suite binaire « source » à transmettre exploitant deux polynômes générateurs. On obtient alors deux suites binaires codées qui correspondent ainsi chacune au résultat de la convolution d'une suite binaire « source » à transmettre avec les coefficients d'un polynôme générateur respectif, à savoir une première suite binaire résultant de la convolution de la suite binaire à transmettre avec un premier polynôme générateur et une seconde suite binaire résultant de la suite binaire à transmettre avec un second polynôme générateur différent du premier polynôme générateur.

A titre d'exemple purement illustratif, les suites binaires codées sont produites par un codeur implémentant le code convolutif exploitant les polynômes générateurs [133] 8 et [171] 8 (notation octale) sur une longueur de contrainte égale à 7. Les coefficients ces polynômes sont ainsi les suivants : [101 101 1] 2 et [11 11001] 2 .

On relèvera que l'invention n'est pas limitée par le nombre de polynômes générateurs exploités par le code convolutif utilisé. Ainsi, si le code convolutif utilisé comporte plus de deux polynômes générateurs et, par conséquent, produit plus de deux suites binaires, on peut alors se ramener au cas simple basé sur l'utilisation de deux suites binaires (cas préférentiellement décrit dans ce qui suit) en traitant par exemple, en parallèle ou successivement, tous les couples de suites binaires qu'il est possible de former avec le jeu de suites binaires produites par le code convolutif utilisé.

En référence à la figure 1 , le procédé de correction d'erreurs débute par la réception depuis le canal de communication d'au moins deux suites binaires codées reçues A RX et B RX (ces deux suites sont extraites d'une même suite binaire « source » par désentrelacement).

Au cours d'une première étape représentée par le bloc 10 sur la figure 1 , on produit, à partir des deux suites binaires codées reçues A RX , B rx , des suites binaires de comparaison ADEC, BQEC qui coïncident en l 'absence d'erre u rs de transm ission su r le canal de communication.

Selon un premier mode de réalisation, on produit les suites binaires de comparaison ADEC, B DE C en réalisant la convolution de chacune des suites binaires codées reçues ARX, B RX , avec les coefficients du polynôme générateur ayant servi à coder l'autre suite binaire codée reçue. On note dans ce qui suit M la suite binaire à transmettre, P A , respectivement P B , le polynôme générateur correspondant à l'obtention de la suite codée AJX (= M*P A ) , respectivement Β Τ χ (=M*P B ) transmise sur le canal de transmission depuis lequel elle est reçue sous la forme de la suite codée reçue ARX, respectivement BRX. Dans le cadre de ce premier mode de réalisation, on utilise le polynôme P B pour la convolution de la suite A RX et le polynôme P A pour la convolution de la suite B RX . En l'absence d'erreurs de transmission sur le canal (AJX = ARX et JX = BRX), les suites binaires de comparaison sont identiques :

Selon un second mode de réalisation, on produit les suites binaires de comparaison ADEC, B D EC en réalisant la déconvolution de chacune des suites binaires codées reçues au moyen du polynôme générateur ayant servi à la coder à l'émission. En l'absence d'erreurs de tra nsm issio n su r le cana l , les su ites bi n ai res d e com pa ra ison so nt i dentiq ues et correspondent à la suite à émettre : /PA=M*PA*1/PA=M e t

On notera dès à présent q ue dans une variante de réalisation avantageuse de l'invention, ces deux modes de réalisation sont mis en œuvre conjointement en produisant deux paires de suites binaires de comparaison.

Tel que représenté par le bloc 20, on vient ensuite comparer les suites binaires de comparaison A D EC, B D EC et former une suite binaire de détection X correspondant à l'opération logique OU-exclusif des deux suites binaires de comparaison.

En l'absence d'erreurs, les suites binaires de comparaison A D EC et B D EC doivent coïncider parfaitement. En présence d'erreurs, elles vont diverger à partir d'un certain point

(point de divergence D) identifiable facilement grâce à la suite binaire de détection X. L'indice temporel associé à ce point permet de repérer précisément le début de la séquence d'erreurs. Le bloc 30 sur la figure 1 représente la détection d'un tel point de divergence, tandis que le bloc 40 illustre le fait que si D excède la longueur N de la séquence binaire à décoder alors on n'opère pas de correction et le décodage prend fin.

Tel que représenté par les blocs 50 et 60, on vient ensuite vérifier si la séquence constituée de P bits de la suite binaire de détection à parti r du poi nt de divergence correspond à une erreur de transmission répertoriée. On corrige le cas échéant (bloc 70) les suites binaires codées reçues.

On notera que P est par exemple égal à 2K-1 dans le cas du premier mode de réalisation, et par exemple égale à K dans le cas du premier mode de réalisation, K représentant la longueur de contraintes du code convolutif.

Selon un mode de réalisation, ladite séquence est utilisée pour calculer (bloc 50) une métrique correspondant par exemple au nombre entier constitué des bits consécutifs X(D) à X(D+P-1 ). Cette métrique permet d'identifier le cas échéant la séquence d'erreurs détectée (bloc 60 au cours duquel on vérifie si la métrique est connue). Ainsi dans le cadre de l'invention, un certain nombre d'erreurs triviales (simples, doubles, triples et quadruples) a été répertoriée, chacune associée à une valeur de la métrique. Dès lors, si la métrique ainsi calculée à partir de la séquence constituée des bits consécutifs X(D) à X(D+P-1 ) correspond à une erreur répertoriée, alors les suites binaires codées reçues sont corrigées (bloc 70).

Les valeurs de la métrique retenues pour la détection d'erreurs triviales peuvent être les suivantes (la liste ci-dessous n'est pas exhaustive) :

Séquences d'erreurs simples, doubles, triples et quadruples triviales détectées

Métrique

Indice D-4 D-3 D-2 D- l D D+l D+2 D+3

Suite ARX X

1 12

Suite BRX

Suite ARX X

87

Suite BRX X

Suite ARX X

99

Suite BRX X

Suite ARX X

121

Suite BRX X

Suite ARX

78

Suite BRX X Suite ARX X

Suite BRX X

Suite ARX X

Suite BRX X

Suite ARX X

Suite BRX X

Suite ARX X X

Suite BRX

Suite ARX

Suite BRX X X

Suite ARX X X

Suite BRX

Suite ARX

Suite BRX X X

Suite ARX X X

Suite BRX

Suite ARX

Suite BRX X X

Suite ARX X

Suite BRX X

Suite ARX X X Suite BRX X

Suite ARX X

81

Suite BRX X X

Suite ARX X

103

Suite BRX X X

Suite ARX X X

67

Suite BRX X X

Suite ARX X X

84

Suite BRX X X

Suite ARX X X

94

Suite BRX X X

Suite ARX X X

98

Suite BRX X X

Si au bloc 60 de la figu re 1 , la métrique ne correspond à aucune des erreurs répertoriées, on peut selon un mode de réalisation de l'invention mettre en œuvre un décodage de Viterbi des suites binaires codées reçues.

De manière préférentielle, l'invention propose le mécanisme suivant lorsqu'au bloc 60 de la figure 1 , la métrique ne correspond à aucune des erreurs répertoriées. Il est tout d'abord fait l'hypothèse que seule l'une des suites binaires codées reçues (par exemple A RX ) est corrompue et on corrige alors (bloc 80) ce qui est supposée être une erreur, par exemple une erreur simple, dans cette suite binaires codée reçue pour former une suite corrigée (notée A' RX ci-après).

On cherche ensuite à valider cette correction. Pour cela on forme à partir de la suite corrigée A' RX une nouvelle suite binaire de comparaison A' DE c qui coïncide en l'absence d'erreurs de transmission sur le canal de communication avec la suite binaire de comparaison B DEC formée à partir de la seconde suite binaire codée reçue. La nouvelle suite binaire de comparaison A' DE c est obtenu de manière similaire à la suite binaire A DE c, selon l'un des deux modes de réalisation décrits précédemment.

La correction apportée à la suite A RX est validée (bloc 90) si la divergence entre la nouvelle suite binaire de comparaison A' DE c et la suite binaire de comparaison B DE c formée à partir de la seconde suite binaire codée reçue apparaît plus tardivement que la divergence préalablement détectée entre les deux suites binaires de comparaison A DEC et B DEC . Ainsi si l'indice temporel associé au nouveau point de divergence dépasse le précédent point de divergence d'au moins une unité alors la correction est validée, et le procédé de correction d'erreurs se poursuit.

Sinon, la correction sur A RX est annulée (bloc 100), et on suppose que la suite B RX est corrompue. On corrige alors (bloc 1 10) ce qui est supposée être une erreur sur cette suite B RX et le procédé de correction d'erreurs se poursuit.

De manière préférentielle, le procédé de correction d'erreurs prend fin lorsque le nombre d'erreurs corrigées excède une limite donnée.

On a décrit précédemment deux modes de réalisation des suites binaires de comparaison A DEC et B DEC Dans une variante de réalisation avantageuse de l'invention, ces deux modes de réalisation sont mis en œuvre conjointement en produisant deux paires de suites binaires de comparaison. On forme ensuite deux suites binaires de détection, chacune à partir de la comparaison des suites binaires de comparaison de l'une des paires et on calcule alors deux métriques m1 (correspondant à la mise en œuvre du premier mode de réalisation) et m2 (correspondant à la mise en œuvre du second mode de réalisation) en présence d'erreurs de transmission. Une métrique pouvant correspondre à plusieurs profils d'erreurs de transmission, le fait de disposer de deux métriques de discriminer un unique profil d'erreur de transmission en levant avec une seconde métrique l'ambiguïté résultant d'une première métrique. On peut de la sorte corriger un nombre d'erreurs plus important.

On comprend donc que l'invention porte sur l'utilisation de l'une ou l'autre métrique seule, et préférentiellement sur l'utilisation des deux métriques ensemble, la métrique m2 servant à lever une ambiguïté relevée par la métrique m1 ou vice-versa.

Les performances du décodeur objet de l'invention sont proches de celles du décodeur de Viterbi dans le cas de l'utilisation de décisions dures en sortie du démodulateur côté récepteur. Toutefois, la complexité du décodeur selon l'invention est très faible comparée à celle du décodeur de Viterbi de sorte qu'un tel décodeur peut être implémenté malgré des ressources logicielles limitées. Le décodeur selon l'invention représente donc une alternative avantageuse au décodeur de Viterbi, permettant de réduire significativement la surface de silicium, le nombre d'opérations et la consommation d'énergie électrique nécessaires à l'implémentation et au fonctionnement d'un décodeur de codes convolutifs. Cette alternative s'avère également avantageuse en ce qu'elle permet le décodage de codes convolutifs ayant une longueur de contrainte supérieure à 7 (ce que ne peut faire en pratique le décodeur de Viterbi du fait de sa complexité qui serait alors prohibitive) et donc de réaliser des gains de codage importants.

Une application que l'on pourra faire de l'invention concerne les communications mettant en œuvre une compression audio selon le codée G.726 par exemple, notamment dans le cadre de communications reposant sur la norme de téléphonie sans fil DECT (en anglais, « Digital Européen Cordless Téléphone »). Le débit binaire du codée G.726 peut être de 16, 24, 32 ou 40 kbits/s. L'invention propose de configurer le codée à un débit binaire inférieur au débit maximal (par exemple à 16 kbits/s dans des applications où il est normalement utilisé à 32 kbits/s) et d'exploiter l'espace binaire (16 kbits/s) ainsi libérée pour faire du codage de canal.

On aura compris que l'invention n'est pas limitée au procédé de correction d'erreurs de transmission selon son premier aspect, mais s'étend également à un récepteur de données incorporant un décodeur de code convolutif comprenant une mémoire pour stocker des erreurs de transmission répertoriées et un processeur configuré pour mettre en œuvre le procédé selon le premier aspect de l'invention. L'invention s'étend également à un système de transmission de données comprenant un émetteur et un récepteur incorporant un décodeur de code convolutif conforme à l'invention. L'émetteur peut notamment incorporé un codeur configuré pour mettre en œuvre une compression de données de voix selon un codée à un débit binaire inférieur au débit binaire maximal dudit codée et pour mettre en œuvre un codage convolutif des données de voix ainsi compressées exploitant l'espace binaire libéré de par l'utilisation dudit débit binaire inférieur.