FR2922698A1 - Procede de decodage d'un ensemble de symboles, produit programme d'ordinateur, moyen de stockage et noeud recepteur correspondants - Google Patents

Procede de decodage d'un ensemble de symboles, produit programme d'ordinateur, moyen de stockage et noeud recepteur correspondants Download PDF

Info

Publication number
FR2922698A1
FR2922698A1 FR0758403A FR0758403A FR2922698A1 FR 2922698 A1 FR2922698 A1 FR 2922698A1 FR 0758403 A FR0758403 A FR 0758403A FR 0758403 A FR0758403 A FR 0758403A FR 2922698 A1 FR2922698 A1 FR 2922698A1
Authority
FR
France
Prior art keywords
node
symbols
receiving node
erasures
data packet
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
FR0758403A
Other languages
English (en)
Other versions
FR2922698B1 (fr
Inventor
Mounir Achir
Bars Philippe Le
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to FR0758403A priority Critical patent/FR2922698B1/fr
Publication of FR2922698A1 publication Critical patent/FR2922698A1/fr
Application granted granted Critical
Publication of FR2922698B1 publication Critical patent/FR2922698B1/fr
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/20Arrangements for detecting or preventing errors in the information received using signal quality detector
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0079Formats for control data
    • H04L1/0082Formats for control data fields explicitly indicating existence of error in data being transmitted, e.g. so that downstream stations can avoid decoding erroneous packet; relays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/14Relay systems
    • H04B7/15Active relay systems
    • H04B7/155Ground-based stations
    • H04B7/15592Adapting at the relay station communication parameters for supporting cooperative relaying, i.e. transmission of the same data via direct - and relayed path
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/02Arrangements for detecting or preventing errors in the information received by diversity reception
    • H04L1/06Arrangements for detecting or preventing errors in the information received by diversity reception using space diversity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0097Relays

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

L'invention concerne un procédé de décodage d'un ensemble de symboles à décoder, extraits d'un contenu de données, plusieurs paquets de données représentatifs de l'ensemble de symboles à décoder étant reçus par un noeud récepteur d'un réseau de communication, dans le cadre de la diffusion, au sein du réseau, du contenu de données par un noeud émetteur vers le noeud récepteur, les paquets de données étant codés au moyen d'un code correcteur d'erreur permettant un décodage par effacement.Selon l'invention, le noeud récepteur effectue les étapes d'obtention d'un ensemble préféré d'au moins deux des paquets de données reçus, pour lequel un nombre estimé d'effacements est inférieur à un seuil déterminé, ledit nombre d'effacements étant estimé à partir d'une information de qualité de transmission déterminée pour chaque paquet de données dudit ensemble préféré ; et de décodage par effacement (780) de l'ensemble de symboles à décoder, à partir des blocs de l'ensemble préféré.

Description

Procédé de décodage d'un ensemble de symboles, produit programme d'ordinateur, moyen de stockage et noeud récepteur correspondants. 1. Domaine de l'invention Le domaine de l'invention est celui de la mise en oeuvre de codes correcteurs d' erreurs dans des réseaux de télécommunications. Plus précisément, l'invention concerne la mise en oeuvre de tels codes correcteurs d'erreurs dans le cadre de la diffusion de paquets dans un réseau de communication sans-fil maillé. 2. Solutions de l'art antérieur Dans un réseau de communication sans fil maillé, les noeuds du réseau s'échangent des paquets (comprenant par exemple des messages d'information) de taille fixe grâce à des transmissions sans fil (par exemple radios). Cependant, dans le cadre de la diffusion d'un paquet d'un noeud source vers un noeud destinataire (ou noeud récepteur final), le paquet peut se trouver altéré lorsqu'il est reçu par le noeud destinataire. Une telle altération peut provenir par exemple du fait que la distance à parcourir entre le noeud source et le noeud destinataire est importante ou du fait de masquages causés, par exemple, par un individu traversant le champ de transmission du paquet. Ainsi, on peut mettre en oeuvre un code correcteur d'erreur de type code de redondance afin de corriger ces altérations et donc d'améliorer la robustesse de la transmission du paquet dans le réseau. Par ailleurs, lors de sa transmission du noeud source vers le noeud destinataire dans le réseau maillé, le paquet peut être relayé, par des noeuds intermédiaires (ou noeuds relais) qui, dès qu'ils reçoivent le paquet, le retransmettent vers le noeud destinataire, et ceci afin d'augmenter encore la robustesse de la transmission du paquet dans le réseau du fait qu'ainsi, le noeud destinataire reçoit plusieurs copies du paquet. Ces retransmissions constituent un code correcteur d'erreur de type à répétition. Ainsi, une technique classique de décodage des multiples copies d'un même paquet de données reçues par un noeud du réseau de communication maillé consiste à effectuer une comparaison exhaustive symbole à symbole de toutes les copies reçues pour en déterminer le nombre d'effacements. Lorsque le même symbole est différent pour chaque copie, celui-ci est considéré comme erroné. Inversement, le symbole est considéré comme correct si au moins deux valeurs du même symbole sont identiques parmi les copies reçues.
Par ailleurs, dans le cadre de la mise en oeuvre d'un code correcteur d'erreur par effacement lors de la diffusion du paquet, un décodeur de ce code correcteur d'erreur par effacement peut ensuite être utilisé afin de retrouver la valeur d'origine des symboles erronés des copies reçues. Cependant, un inconvénient de cette technique classique de correction d'erreurs est qu'elle requiert un temps de calcul élevé qui peut devenir, dans certains cas, préjudiciable. Par ailleurs, un autre inconvénient de cette technique classique est qu'elle met en oeuvre une utilisation importante des ressources disponibles au niveau du noeud destinataire du paquet. 3. Objectifs de l'invention L'invention a notamment pour objectif de pallier ces inconvénients de l'art antérieur. Plus précisément, un objectif de l'invention, dans au moins un de ses modes de réalisation, est de fournir, dans le cadre de la diffusion d'un contenu de données codé au moyen d'un code correcteur d'erreur du type à répétition ainsi qu'un code correcteur d'erreur par effacement dans un réseau de communication depuis un noeud émetteur vers un noeud destinataire, une technique de décodage de ces codes d'erreur présentant un temps de traitement réduit par rapport aux techniques classiques.
Un autre objectif de l'invention, dans au moins un de ses modes de réalisation, est de fournir une technique permettant de limiter l'utilisation des ressources requises pour effectuer la correction des erreurs. L'invention, dans au moins un de ses modes de réalisation, a encore pour objectif de fournir une telle technique qui soit simple à mettre en oeuvre et pour un faible coût. 4. Exposé de l'invention Conformément à un mode de réalisation particulier, l'invention concerne un procédé de décodage d'un ensemble de symboles, dit ensemble de symboles à décoder, extraits d'un contenu de données, plusieurs paquets de données représentatifs dudit ensemble de symboles à décoder étant reçus par un noeud récepteur d'un réseau de communication comprenant une pluralité de noeuds, dans le cadre de la diffusion, au sein du réseau, du contenu de données par un noeud émetteur vers au moins ledit noeud récepteur, lesdits paquets de données étant codés au moyen d'un code correcteur d'erreur permettant un décodage par effacement.
Le noeud récepteur effectue les étapes suivantes : - obtention d'un ensemble d'au moins deux desdits paquets de données reçus, dit ensemble préféré, pour lequel un nombre estimé d'effacements est inférieur à un seuil déterminé, ledit nombre d'effacements étant estimé à partir d'une information de qualité de transmission déterminée pour chaque paquet de données dudit ensemble préféré, pour sa transmission depuis le noeud émetteur jusqu'au noeud récepteur ; - décodage par effacement dudit ensemble de symboles à décoder, à partir des blocs dudit ensemble préféré. Le principe général de l'invention repose, dans le cadre de la diffusion d'un ensemble de paquets de données représentatifs d'un même ensemble de données, les paquets de données étant codés au moyen d'un code correcteur d'erreur, sur le décodage d'un sous ensemble de paquets de données parmi l'ensemble des paquets reçus, ledit sous-ensemble étant sélectionné selon sa valeur de nombre d'effacements estimée à partir d'une information de qualité de transmission déterminée pour chaque paquet de données du sous-ensemble. Ainsi, l'invention permet, dans le cadre de la diffusion d'un contenu de données codé au moyen d'un code correcteur d'erreur par effacement dans un réseau de communication depuis un noeud émetteur vers un noeud destinataire, le noeud destinataire recevant une pluralité de paquets de données représentatifs d'un même morceau de contenu, de corriger et décoder ces paquets de données de manière à obtenir le morceau de contenu avec un temps de traitement réduit par rapport aux techniques classiques.
Un avantage important du procédé de l'invention est d'accélérer la phase de calcul du nombre d'effacements d'un ensemble de paquets de données puisqu'au lieu de le déterminer classiquement par une comparaison exhaustive symbole à symbole, en balayant l'ensemble des copies, on estime ce nombre pour un sous-ensemble dudit ensemble à partir d'une information de qualité de transmission des paquets de données (rapport signal à bruit). Ceci permet également de limiter les ressources requises pour effectuer la correction des erreurs.
Avantageusement, ledit nombre d'effacements est estimé à partir de la formule suivante : NEffaeements = k L j (1_(1_BERJ) 1=1 j=1,j*i
avec :
NErracements : ledit nombre d'effacements estimé ; BERS : le taux d'erreur binaire du paquet de données j pour sa transmission depuis le noeud émetteur jusqu'au noeud récepteur ;
k : la taille d'un paquet de données en bits ;
N : le nombre de bits par symbole ;
M : le nombre de paquets de données dudit ensemble préféré.
Ainsi, la formule précitée permet de réaliser une estimation du nombre d'effacements à partir des informations de qualité de transmission de chacun des paquets de données dudit ensemble préféré, sans effectuer de comparaison exhaustive symbole à symbole de tous les paquets de données reçus par le noeud récepteur.
Préférentiellement, ladite étape d'obtention dudit ensemble préféré comprend une étape d'estimation d'un nombre d'effacements pour chaque ensemble d'une pluralité d'ensembles d'au moins deux desdits paquets de données reçus, et une étape de sélection, parmi le ou les ensemble(s) dont le nombre d'effacements estimé est inférieur au seuil déterminé, de l'ensemble dont le nombre d'effacements estimé est le plus faible. Ainsi, la sélection de l'ensemble de paquets de données reçus dont le nombre d'effacements estimés est le plus faible permet d'accélérer la phase de décodage par effacement dudit ensemble de symboles à décoder, le nombre d'effacements à corriger étant réduit. De manière avantageuse, le procédé de décodage est mis en oeuvre dès la réception par le noeud récepteur d'au moins deux paquets de données représentatifs de l'ensemble de symboles à décoder et à la réception ultérieure d'au moins un desdits paquets de données jusqu'à obtention dudit ensemble préféré. Ainsi, le temps de traitement de l'étape de décodage est diminué notablement puisqu'il n'est plus nécessaire d'attendre la réception, par le noeud récepteur, de tous les paquets de données représentatifs d'un même ensemble de symboles de données. Selon une caractéristique préférentielle, ledit seuil déterminé est égal à la capacité de correction d'effacements dudit code correcteur d'erreur permettant un décodage par effacement auquel est retranchée une marge déterminée. De cette manière, on limite le risque que le décodage ne puisse pas être effectué par le code correcteur d'erreur. En effet, estimer un nombre d'effacements présente un risque d'erreur par rapport au nombre réel d'effacements. En prenant une marge déterminée sur la capacité de correction d'erreur du décodeur, on prend ainsi en compte un certain taux d'erreur d'estimation pour déterminer les paquets de données à utiliser pour le décodage.
Avantageusement, le code correcteur d'erreur est un code de type Reed Solomon ayant un nombre de symboles de parité, et la capacité de correction d'effacements dudit code correcteur d'erreur est égal au nombre de symboles de parité. Le code correcteur d'erreur étant de type Reed-Solomon, il est ainsi considéré que la capacité de correction d'erreur du décodeur est déterminée par le nombre de symboles de parité du code de Reed-Solomon. On ne prend pas alors en compte d'autres techniques dont pourrait disposer le décodeur pour rendre plus robuste l'encodage des données vis-à-vis des conditions de transmission. Un encodage de type Reed-Solomon suffit donc à la mise en oeuvre de la détermination des paquets de données à utiliser pour le décodage.
Préférentiellement, un noeud, dit noeud relais, parmi la pluralité de noeuds du réseau de communication, étant en charge de retransmettre au moins un paquet de données reçu et représentatif de l'ensemble de symboles à décoder, ladite information de qualité de transmission pour ledit paquet de données étant déterminée par ledit noeud relais pour sa transmission depuis le noeud émetteur jusqu'au noeud relais, ladite information de qualité de transmission pour ledit paquet de données est déterminée à nouveau par le noeud récepteur pour sa transmission depuis le noeud émetteur jusqu'au noeud récepteur à partir de l'information de qualité de transmission déterminée par le noeud relais. Ainsi, on obtient, pour chaque paquet de données d'un ensemble préféré de paquets de données, une information de qualité associée à la transmission depuis le noeud émetteur vers le noeud récepteur. Cette information est mise à jour au fur et à mesure de la progression du paquet de données du noeud émetteur vers le noeud récepteur, et le noeud récepteur peut ainsi obtenir l'information de qualité de transmission d'un paquet de données pour sa transmission depuis le noeud source malgré la présence d'au moins un noeud relais sur le chemin de paquet de données entre le noeud source et le noeud récepteur. Avantageusement, ledit paquet de données comprend ladite information de qualité de transmission que ledit noeud relais a déterminée, encodée avec un code correcteur d'erreur plus robuste que celui utilisé pour les autres données dudit paquet de données. Ainsi, l'information est contenue dans un champ dédié du paquet de données. Ce champ, ayant un encodage propre plus robuste que le reste du paquet de données, sera moins sensible aux interférences de transmission que le reste du paquet, et pourra être décoder de manière fiable, ce qui permettra une estimation fiable des effacements. L'invention concerne également un produit programme d'ordinateur, téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par un processeur, comprenant des instructions de code de programme pour la mise en oeuvre du procédé de décodage tel que décrit précédemment.
L'invention concerne aussi un moyen de stockage, éventuellement totalement ou partiellement amovible, lisible par un ordinateur, stockant un jeu d'instructions exécutables par ledit ordinateur pour mettre en oeuvre le procédé de décodage tel que décrit précédemment.
L'invention concerne également un noeud récepteur comprenant des moyens de décodage d'un ensemble de symboles, dit ensemble de symboles à décoder, extraits d'un contenu de données, plusieurs paquets de données représentatifs dudit ensemble de symboles à décoder étant reçus par ledit noeud récepteur d'un réseau de communication comprenant une pluralité de noeuds, dans le cadre de la diffusion, au sein du réseau, du contenu de données par un noeud émetteur vers au moins ledit noeud récepteur, lesdits paquets de données étant codés au moyen d'un code correcteur d'erreur permettant un décodage par effacement.
Ledit noeud récepteur comprend :
- des moyens d'obtention d'un ensemble d'au moins deux desdits paquets de données reçus, dit ensemble préféré, pour lequel un nombre estimé
d'effacements est inférieur à un seuil déterminé, ledit nombre
d'effacements étant estimé à partir d'une information de qualité de
transmission déterminée pour chaque paquet de données dudit ensemble
préféré, pour sa transmission depuis le noeud émetteur jusqu'au noeud récepteur;
- des moyens de décodage par effacement dudit ensemble de symboles à décoder, à partir des blocs dudit ensemble préféré.
Avantageusement, le noeud récepteur comprend des moyens d'estimation dudit nombre d'effacements à partir de la formule suivante : NEffaeements = k v" fJ 1ù BER; i=1 j=1,j*i avec : NErfacements : ledit nombre d'effacements estimé ; BERS : le taux d'erreur binaire du paquet de données j pour sa transmission depuis le noeud émetteur jusqu'au noeud récepteur ; k : la taille d'un paquet de données en bits ; N : le nombre de bits par symbole ; M : le nombre de paquets de données dudit ensemble préféré. Préférentiellement, lesdits moyens d'obtention dudit ensemble préféré comprennent des moyens d'estimation d'un nombre d'effacements pour chaque ensemble d'une pluralité d'ensembles d'au moins deux desdits paquets de données reçus, et des moyens de sélection, parmi le ou les ensemble(s) dont le nombre d'effacements estimé est inférieur au seuil déterminé, de l'ensemble dont le nombre d'effacements estimé est le plus faible. De façon avantageuse, lesdits moyens de décodage dudit ensemble de symboles à décoder sont activés dès la réception par le noeud récepteur d'au moins deux paquets de données représentatifs de l'ensemble de symboles à décoder et à la réception ultérieure d'au moins un desdits paquets de données jusqu'à obtention dudit ensemble préféré. De manière préférentielle, ledit seuil déterminé est égal à la capacité de 20 correction d'effacements dudit code correcteur d'erreur permettant un décodage par effacement auquel est retranchée une marge déterminée. Avantageusement, le code correcteur d'erreur est un code de type Reed Solomon ayant un nombre de symboles de parité, et la capacité de correction d'effacements dudit code correcteur d'erreur est égal au nombre de symboles de 25 parité. Préférentiellement, un noeud, dit noeud relais, parmi la pluralité de noeuds du réseau de communication, étant en charge de retransmettre au moins un paquet de données reçu et représentatif de l'ensemble de symboles à décoder, ladite information de qualité de transmission pour ledit paquet de données étant 30 déterminée par ledit noeud relais pour sa transmission depuis le noeud émetteur jusqu'au noeud relais, le noeud récepteur comprend des moyens de détermination de ladite information de qualité de transmission pour ledit paquet de données pour sa transmission depuis le noeud émetteur jusqu'au noeud récepteur à partir de l'information de qualité de transmission déterminée par le noeud relais. Selon une caractéristique avantageuse de l'invention, ledit paquet de données comprend ladite information de qualité de transmission que ledit noeud relais a déterminée, encodée avec un code correcteur d'erreur plus robuste que celui utilisé pour les autres données dudit paquet de données. 5. Liste des figures D'autres caractéristiques et avantages de l'invention apparaîtront plus clairement à la lecture de la description suivante d'un mode de réalisation préférentiel, donné à titre de simple exemple illustratif et non limitatif, et des dessins annexés, parmi lesquels : -la figure 1 présente un schéma d'un réseau de communication dans lequel peut être mis en oeuvre un procédé de décodage selon un mode de 15 réalisation particulier conforme à l'invention ; - la figure 2 présente un exemple d'architecture générique d'un module de décodage du réseau de communication mettant en oeuvre le procédé de décodage selon le mode de réalisation particulier conforme à l'invention ; - la figure 3 illustre un exemple de courbes représentant le nombre estimé 20 d'effacements obtenu à partir de l'équation (1) selon l'invention et celui obtenu avec une comparaison classique symbole à symbole ; - la figure 4 présente un exemple d'organisation en blocs de données d'un paquet de données radio transmis au sein du réseau de communication, selon le mode de réalisation particulier conforme à l'invention ; 25 - la figure 5 décrit une technique de transmission de la valeur du taux d'erreur binaire BER associée à un paquet de données radio le long d'un chemin de transmission du paquet de données, d'un noeud source à un noeud destination par l'intermédiaire d'au moins un autre noeud, selon le mode de réalisation particulier de l'invention ; 30 - la figure 6 présente les étapes principales d'un algorithme de mise à jour du taux d'erreur binaire associé à un paquet de données radio selon le mode de réalisation particulier de l'invention ; -la figure 7 présente les étapes principales d'un algorithme général du procédé de décodage de l'invention selon le mode de réalisation particulier de l'invention. 6. Description d'un mode de réalisation de l'invention Selon une application particulière du procédé de décodage selon un mode de réalisation particulier de l'invention, on se place dans la suite dans le cadre d'un réseau sans fil soumis à de fortes interférences (évanouissements ou fading en anglais), par exemple causés par des obstacles fixes ou mobiles présents dans l'aire de mise en oeuvre d'un réseau de communication à 60GHz, tel qu'illustré par la figure 1. Bien entendu, l'invention s'applique également dans le cadre de tout autre réseau de communication existant, sans-fil ou filaire. Ainsi, le réseau de communication 100, tel qu'illustré par la figure 1, comprend six noeuds de communication référencés 110, 120, 130, 140, 150, 160. Chacun des noeuds de communication 110, 120, 130, 140, 150, 160 du réseau de communication 100 est capable d'émettre et de recevoir des données. On se place dans la suite dans le cas particulier de la diffusion, dans le réseau de communication 100, d'un contenu de données (comprenant plusieurs ensembles de symboles de données) par le noeud de communication 110, également appelé noeud source ou noeud émetteur, vers le noeud de communication 160, encore appelé noeud récepteur final. Dans ce cas particulier, le noeud récepteur final 160 reçoit plusieurs copies (encore appelées paquets de données) issues de multiples transmissions représentatives d'un même ensemble de symboles (plusieurs paquets de données sont ainsi représentatifs d'un même ensemble de symboles), qui sont retransmises par les noeuds 120, 130, 140, 150, également appelés noeuds relais, vers le noeud récepteur final 160, à partir d'une transmission initiale de l'ensemble de symboles par le noeud source 110.
Les liens 111, 112, 113, 114, 115, 121, 131, 141 et 151 représentent le parcours de différentes copies représentatives d'un même ensemble de symboles et reçues par le noeud récepteur final 160. Le noeud source 110 émet un paquet de données. Ce même paquet de données est reçu par les noeuds relais 120, 130, 140, 150 et par le noeud récepteur final 160 via les liens 111, 112, 113, 114 et 115 respectivement. Le paquet de données est alors relayé par les noeud relais 120, 130, 140, 150 via les liens 121, 131, 141 et 151 respectivement, jusqu'au noeud récepteur final 160. Les paquets de données sont reçus par chacun des noeuds du réseau avec un certain taux d'erreur (les copies ne sont donc pas a priori identiques) à cause des interférences liées au canal de transmission.
Les noeuds relais sont en effet en charge de relayer les données transmises par le noeud source 110 de manière qu'elles parviennent au noeud récepteur final 160. Ce mode de transmission permet la réception, par le noeud récepteur final 160, d'un groupe de paquets de données représentatifs d'un même ensemble de symboles qui sera exploité afin d'améliorer la qualité de service de l'application (correction des erreurs dans les données reçues afin de retrouvée la donnée initiale). La retransmission des paquets de données par les noeuds relais peut notamment être réalisée en mettant en oeuvre un protocole appartenant à la couche 2 (ou Layer 2 en anglais) liaison de données ou couche MAC (pour en anglais Medium Access Control ). Aussi, une structure particulière des paquets de données de la couche réseau (ou Layer 3 pour en français couche 3 ), ou de la couche MAC ( Layer 2 ) peut être nécessaire pour mettre en oeuvre l'invention, comme décrit ultérieurement en relation avec la figure 4. Dans le cadre de cette diffusion, le procédé de décodage d'un ensemble de symboles selon l'invention (décrit de manière plus détaillée notamment en relation avec la figure 7) est mis en oeuvre sous la forme d'un logiciel et/ou d'une pluralité de sous logiciels (comprenant une pluralité d'algorithmes décrits ci- après) qui est (sont) exécuté(s) dans plusieurs machines de calcul reprogrammables (par exemple un ordinateur, un DSP, un microcontrôleur) ou de calcul dédié (par exemple un ensemble de portes logiques comme un composant FPGA ou ASIC) du réseau 100, par exemple dans le noeud récepteur final 160 et les noeuds relais 120 à 150. Selon le mode de réalisation particulier conforme à l'invention, un module de décodage (tel que décrit ci-après en relation avec la figure 2) mettant en oeuvre le procédé de décodage de l'invention est intégré dans chacun des noeuds récepteur final 160 et relais 120 à 150. Selon une variante du mode de réalisation particulier de l'invention, le module de décodage est un dispositif indépendant qui peut émettre et recevoir des 10 données en provenance de n'importe quel noeud du réseau 100. On présente désormais, en relation avec la figure 2, un exemple d'architecture générique d'un module de décodage du réseau de communication 100 mettant en oeuvre le procédé de décodage selon le mode de réalisation particulier conforme à l'invention. 15 Le module de décodage 200 comprend notamment les éléments suivants : - un bloc de mémoire d'exécution RAM 230 (pour en anglais Read Access Memory ) ; - un bloc de mémoire non volatile 240 (pour en anglais Read Only Memory ) ; 20 - une unité de traitement 260, encore appelée CPU (pour en anglais Central Processing Unit ). Le bloc de mémoire d'exécution 230 et le bloc de mémoire non volatile 240 sont associés directement au CPU 260 ; - un module émetteur-récepteur radio 250 (ou Radio Transceiver en anglais) qui reçoit et transmet les paquets de données (ou copies) ; 25 - un module de traitement 210 qui communique avec le CPU 260. Par ailleurs, le module émetteur-récepteur radio RF (pour Radio Frequency en anglais) 250 transfert les paquets de données reçus vers le module de traitement 210. Par ailleurs, selon le mode de réalisation particulier de l'invention, le 30 module de traitement 210 du module de décodage 200 comprend notamment : - un module d'interface CPU IF 211 au travers duquel le CPU 260 communique avec le module de traitement 210. Le module d'interface CPU IF 211 gère notamment les échanges de données entre les différents blocs du module de traitement 210 (ci-après détaillés) et le CPU 260 ; - une mémoire de données 212 qui permet de stocker les différentes copies reçues afin d'en effectuer une sélection comme décrit ultérieurement ;
- un contrôleur de sélection de copies 213 qui permet de contrôler et d'exécuter une étape de sélection de copies ci-après décrit en relation avec la figure 7. Le contrôleur 213 récupère, de l'estimateur 214 (décrit ci- après) du paramètre SNR par l'intermédiaire de la mémoire de données 212, une information représentative du rapport signal à bruit ou SNR (pour Signal to Noise Ratio en anglais) en correspondance avec les différentes copies reçues ;
- un estimateur 219 de taux d' erreur binaire ou BER (pour en anglais Bit Error Rate ) qui détermine, à partir de l'information représentative du rapport signal à bruit (qualité de transmission) et d'un abaque liant celui-ci au taux d' erreur binaire, le taux d' erreur binaire correspondant à chacune des copies reçues ;
- un calculateur 220 du nombre d'effacements qui détermine un nombre 20 estimé d'effacements, correspondant aux copies sélectionnées par le contrôleur de sélection 213, à partir de la formule (1) suivante :
NEffacements = k û (l ûBERS )N (1) 1=1 J=1,J*i
avec :
NEffacements : le nombre d'effacements estimé ;
25 BERS : le taux d'erreur binaire du paquet de données j pour sa transmission depuis le noeud source jusqu'au noeud récepteur final (éventuellement par l'intermédiaire d'au moins un noeud relais);
k : la taille d'un paquet de données en bits ;
N : le nombre de bits par symbole ;
30 M : le nombre de copies sélectionnées.
Le nombre d'effacements obtenu correspond au nombre d'effacements pour un ensemble donné de copies sélectionnées parmi toutes les copies stockées dans la mémoire de données 212 ; - un comparateur symbole à symbole 221 en charge de comparer symbole à symbole les copies sélectionnées pour déterminer le nombre d'effacements réel qui leur est associé ; - un estimateur 214 du paramètre SNR qui calcule le rapport SNR pour chaque paquet de données reçu et stocké dans la mémoire 212. Le rapport SNR peut être mesuré au niveau radio, par exemple au moyen d'un indicateur RSSI (pour en anglais Received Signal Strength Indication ), ou bien au niveau de la modulation. Dans le cadre du mode de réalisation particulier de l'invention, l'estimation du paramètre SNR est mise en oeuvre selon une technique bien connue de l'Homme du Métier et décrite dans le document de brevet US 2002/0041640. Aussi, selon cette technique, une estimation du bruit du canal de transmission, noté B, est obtenue en accumulant les mesures de la déviation de la puissance de chaque symbole reçu par rapport à une valeur théorique. La valeur théorique correspond à la puissance du symbole qui a la distance la plus petite par rapport au symbole reçu. Le résultat est divisé par le nombre de symboles considérés. Ceci correspond à l'application du critère du maximum de vraisemblance qui assimile un symbole reçu à son plus proche voisin en termes de distance. La formule (2) ainsi obtenue est la suivante : jrnin[(s: Si ûz B = `-' k (2) avec i : un nombre entier ; k : le nombre de symboles par paquets de données ; min : la plus petite distance euclidienne entre un symbole reçu et un point théorique de la constellation de la modulation ; Si* : la position du symbole reçu ; et
Si : la position du symbole théorique.
Lorsque le calcul du bruit du canal après la réception d'un paquet de données a été réalisé, il est possible d'estimer le rapport signal sur bruit en divisant la puissance moyenne par symbole sur la puissance du bruit calculée selon la formule (2) précédente. La formule (3) donnant le rapport SNR d'un paquet de données est alors la suivante :
k(s; )2 SNR = `-~ (3) B.k
- un émetteur 216 de paquets de données radio. L'émetteur 216 intègre notamment les fonctions de modulation et de codage convolutionnel ;
- un récepteur 215 de paquets de données radio (ou Radio packet receiver en anglais) qui transmet les paquets de données reçus à la mémoire de données 212 ;
- un codeur de données 217, par exemple de type Reed-Solomon, se charge du codage des données. Bien entendu, selon une variante du mode de réalisation particulier, il est envisageable de mettre en oeuvre tout autre type de code correcteur d'erreur permettant un décodage par effacement que le code de Reed-Solomon. Le codeur 217 est mis en oeuvre lors de l'envoi d'un paquet de données. Les données parviennent au codeur 217, de l'application émettrice via l'unité de traitement CPU 260 et le module d'interface CPU IF 211. Les données, une fois encodées, sont transmises à l'émetteur 216 de paquet de données en vue de leur transmission radio par le module émetteur-récepteur radio 250 ;
- un décodeur de données 218, par exemple de type Reed-Solomon se charge du décodage des données. Comme précédemment précisé, il est envisageable de mettre en oeuvre tout autre type de code correcteur d'erreur permettant un décodage par effacement autre que le code de Reed Solomon. Le décodeur Reed-Solomon 218 reçoit une copie à corriger et un vecteur d'effacements associé (précisant la position de chacun des effacements de la copie à corriger). La copie à corriger ainsi que le vecteur d'effacements associé sont issus d'une étape de localisation des effacements mise en oeuvre par le contrôleur 213 tel qu'ultérieurement décrit en relation avec la figure 7. Grâce aux informations fournies par le vecteur d'effacements associé à une copie donnée, le décodeur Reed-Solomon 218 peut doubler le nombre de corrections qu'il peut effectuer sur la copie (comparé au cas où il ne recevoit qu'une information de présence d'erreurs, sans localisation de ces erreurs).
On décrit ci-après la formule (1) précédente mise en oeuvre par le calculateur du nombre d'effacements 220 afin de déterminer un nombre estimé d'effacements pour un ensemble de copies sélectionnées. On rappelle l'expression de la formule (1) : k E (1_(1_BER1fl N t=11=1,1*i
avec : NEffacements : le nombre d'effacements estimé ;
BERS : le taux d'erreur binaire du paquet de données j pour sa transmission depuis le noeud source jusqu'au noeud récepteur final ;
k : la taille d'un paquet de données en bits ;
N : le nombre de bits par symbole ; M : le nombre de copies sélectionnées.
On considère dans la suite de la description les valeurs numériques suivantes uniquement à titre d'exemple numérique non limitatif : M = 3 copies ; N = 8 bits et k = 914 bits.
Ainsi, la formule (1) modélise la comparaison symbole à symbole de plusieurs copies. Le principe de base de la formule (1) consiste à calculer le taux d'erreur symbole ou SER (pour Symbol Error Rate en anglais) à partir du taux d'erreur binaire ou BER et du nombre de bits, noté N, que contient un symbole (une copie comprenant au moins un symbole).
La formule mathématique (4) suivante exprime la relation entre le SER et le 30 BER pour un paquet de données (ou copie) i : NEffacements SERS =1û (1û BER, )N (4) On assimile, dans les exemples qui suivent, le taux SER à la probabilité qu'un symbole soit erroné, et on note Pi cette probabilité de sorte que : Pi= SERS.
Selon un premier exemple donné simplement à titre illustratif, on considère le cas d'une comparaison de deux paquets de données (ou copies). Ainsi, en considérant deux copies d'un même ensemble de symboles transmis par le noeud source 110 et reçues par le noeud récepteur final 160, la probabilité, notée P, pour que les deux copies aient une valeur différente pour un même symbole (c'est-à-dire de même position dans chacune des copies), pris aléatoirement dans l'ensemble des symboles de chacune des copies, est égale à : P=P+Pi (5) Il est à noter toutefois que, dans la formule (5) précédente, un terme a été négligé. En effet, il est supposé que la probabilité que deux symboles erronés soient égaux est nulle. En multipliant la probabilité P obtenue par le nombre total de symboles qu'on peut comparer (c'est-à-dire le nombre de symboles par paquet de données), on obtient le nombre de symboles différents entre les deux copies. Ce nombre est égal à la formule (6) suivante : NEffacements = YN.(P + P1) (6) Le nombre fourni par la formule (6) correspond au nombre estimé d'effacements qui seraient obtenus en comparant les deux copies symbole à symbole. Selon un second exemple donné simplement à titre illustratif, on considère 25 le cas d'une comparaison de trois paquets de données (ou copies). Dans le cas de trois copies, on obtient une formule similaire mais du troisième ordre. En effet, en adoptant la même hypothèse, à savoir que la probabilité que deux symboles erronés soient égaux est nulle, la probabilité P pour que les trois copies aient une valeur différente pour un même symbole, pris aléatoirement dans l'ensemble des symboles associé à chacune des copies i, j, 1 est égale à : P=PPJ +POP+PP (7) Le nombre estimé d'effacements est alors égal à : NEfacemen = k (PP + P. P + PP) (8) Selon un troisième exemple également donné simplement à titre illustratif, on considère le cas d'une comparaison de quatre paquets de données (ou copies). Ainsi, en considérant quatre copies en adoptant la même hypothèse (la probabilité que deux symboles erronés soient égaux est nulle), on obtient une formule du quatrième ordre. La probabilité P pour que les quatre copies aient une valeur différente pour un même symbole, pris aléatoirement dans l'ensemble des symboles associé à chacune des copies i, j, 1, m est égale à : P = PP,P +PPPm +PiPP. +PPPm (9) Le nombre estimé d'effacements est alors égal à : NEffacements k (13,1 ;131 + PPPm +PPm + PPPm) (10) Ainsi, l'étude de ces trois exemples permet de généraliser au cas de M copies. On obtient alors la formule (1) précitée. On présente désormais en relation avec la figure 3, un exemple de courbes représentant le nombre estimé d'effacements obtenu à partir de l'équation (1) selon l'invention et celui obtenu avec une comparaison classique symbole à symbole. Ainsi, la figure 3 présente trois comparaisons entre le nombre d'effacements, noté E, obtenu avec le module de décodage 300 de l'invention, et celui obtenu par une comparaison exhaustive symbole à symbole en fonction du nombre de copies, noté N, pour différents taux d'erreur binaire (avec une taille des paquets de données égale à 114 octets et une taille des symboles égale à 8bits selon notre exemple numérique précité).
Sur la légende de la figure 3, S10 (respectivement S20 ; S30) correspond à la courbe obtenue au moyen d'une comparaison exhaustive symbole à symbole avec un nombre d'erreur pour chaque paquet de données égal à 10 bits erronés (respectivement 20 bits erronés ; 30 bits erronés).
De manière similaire, T10 (respectivement T20 ; T30) correspond à la courbe obtenue par estimation du nombre d'effacements en appliquant la formule (1) et un nombre d'erreur égal à 10 bits erronés (respectivement 20 bits erronés ; 30 bits erronés) par paquet de données. Ainsi, ces courbes prouvent la validité de la formule (1) pour les taux d'erreur binaire BER suivant : 1,1%, 2,2% et 3,3%. En effet, pour une valeur du taux BER égale à 1,1%, les deux courbes (courbe obtenue à partir de la formule (1) et courbe obtenue avec une comparaison symbole à symbole) donnent nettement le même nombre d'effacements pour un nombre de copies N.
Lorsque le taux d'erreur augmente, un petit écart se creuse entre les deux courbes probablement à cause des deux hypothèses considérées : - la première hypothèse supposant que le taux SER correspond à la probabilité d'avoir un symbole erroné dans une copie ; et - la seconde hypothèse considérant que deux symboles erronés ne peuvent avoir la même valeur. Les deux hypothèses précitées simplifient avantageusement l'estimation du nombre d'effacements et rendent également le procédé de décodage plus rapide qu'une comparaison exhaustive symbole à symbole de copies. On décrit, en relation avec la figure 4, un exemple d'organisation en blocs de données d'un paquet de données radio transmis au sein du réseau de communication, selon le mode de réalisation particulier conforme à l'invention. Ainsi, un paquet de données radio 400 comprend notamment les champs (ou blocs) de données suivants : - un préambule (ou preamble en anglais) 450 permettant de détecter le début du paquet de données radio 400 afin de le synchroniser au sein du réseau de communication 100 ; - un champ de données utiles (ou payload en anglais) MAC 410 ; - un champ en-tête (ou header en anglais) MAC 460. Le champ en-tête MAC 460 comprend notamment les champs suivants : - un champ adresse source 440 ; -un champ adresse de destination 430 ; - un champ BER 420 qui permet de sauvegarder le taux d'erreur binaire BER associé au paquet de données radio. Un codage robuste du champ BER peut être envisagé afin de garantir une protection élevée de son contenu. En effet, ce champ 420 est soumis (comme le champ de données utiles 410) aux imperfections du canal de transmission du réseau de communication 100, et peut donc être sujet à des erreurs binaires (pouvant fausser totalement le calcul du nombre d'effacements selon l'invention). Aussi, une solution peut consister en l'utilisation d'un codage convolutif avec un taux de codage égal par exemple à 3/4 pour le champ de données utiles 410, et un taux de codage égal par exemple à 1/2 pour le champ en-tête 460 (comprenant notamment le champ BER 420). Il convient de noter que le champ BER 420 est un champ qui diffère d'une copie à l'autre, bien qu'elles soient représentatives du même morceau de contenu. En effet, le mécanisme de retransmission (décrit en relation avec les figures 1 et 5) offrant une diversité spatiale et temporelle impliquant que l'information de BER a une forte probabilité de différer d'une copie à l'autre. Bien entendu, le champ BER 420 n'est pas pris en compte dans la détermination des effacements. Le regroupement du champ 410 de données utiles MAC et du champ en- tête MAC 460 constitue le champ de données utiles physiques (encore noté PHY). Un mécanisme de transmission du taux BER associé à un paquet de données radio peut être mis en oeuvre comme décrit ci-après en relation avec la figure 5. On présente désormais, en relation avec la figure 5, une technique de transmission, de la valeur du taux d'erreur binaire BER associée à un paquet de données radio le long d'un chemin de transmission du paquet de données, d'un noeud source à un noeud destination par l'intermédiaire d'au moins un autre noeud, selon le mode de réalisation particulier de l'invention. Le champ BER 420 d'un paquet de données radio émis par le noeud source 110 est mis à jour après chaque transmission intermédiaire (encore appelée saut ou hop en anglais) d'un premier noeud (par exemple un noeud source, un noeud relais) vers un second noeud (par exemple un noeud relais, un noeud récepteur final) rencontrés par le paquet au cours de sa transmission depuis le noeud source 110 jusqu'au noeud récepteur final 160. La mise à jour du champ BER 420 consiste à additionner la valeur 10 sauvegardée dans le champ 420 avec la nouvelle valeur mesurée lors de la transmission intermédiaire. Tel qu'illustré par la figure 5, on envisage, à titre d'exemple non limitatif, le cas où le noeud source 160 communique avec le noeud récepteur final 160 via le noeud relais 1 (référencé 120) et le noeud relais 4 (référencé 150) du réseau de 15 communication 100 décrit en relation avec la figure 1. Ainsi, dans cet exemple, le noeud source 110 transmet un paquet de données radio au noeud relais 120 au moyen du lien de communication 520. Le noeud relais 120 calcule ensuite, dès réception du paquet de données, le rapport signal à bruit au moyen de l'estimateur de paramètre SNR 214 de son module de 20 décodage 200. Ainsi faisant, le noeud relais 120 peut estimer le taux d'erreur binaire de cette communication par l'intermédiaire de son estimateur de paramètre BER 219 qui se réfère à une table de conversion (ou abaque) SNR û BER. La table de conversion peut être stockée dans la mémoire de données 212. Le noeud relais 120 met ensuite à jour le champ BER 420 dans le 25 champ en-tête 460 du paquet de données, et transfère le paquet de données au noeud relais 150. Le noeud relais 150 réalise les mêmes opérations que le noeud relais 120, à savoir le calcul du rapport SNR du lien de communication 540, l'estimation du taux BER correspondant avec la même table, et la mise à jour du champ BER 30 420 du paquet de données. Il transfère ensuite le paquet de données au noeud récepteur final 160.
Le noeud récepteur final 160 dispose ainsi du taux d'erreur binaire BER correspondant aux deux premiers sauts, ce qui lui permet d'estimer le taux d'erreur binaire total sur le chemin suivi par le paquet de données depuis le noeud source 110, en prenant en plus en compte, comme décrit précédemment, l'estimation du taux BER liée au lien 560. On présente désormais, en relation avec la figure 6, les étapes principales d'un algorithme de mise à jour du taux d'erreur binaire associé à un paquet de données radio selon le mode de réalisation particulier de l'invention. Dans une étape 610, l'algorithme de mise à jour du taux d'erreur binaire est initialisé. Dans une étape 620, un paquet de données radio destiné à être transmis par un noeud du réseau de communication 100 est considéré. Dans une étape 630, on vérifie si le noeud du réseau de communication 100 qui souhaite transmettre le paquet de données est le noeud source 110.
En cas de vérification négative de l'étape 630 (le noeud considéré n'est pas le noeud source 110, mais un noeud relais), on mesure, au cours d'une étape 640, le rapport signal à bruit associé au paquet de données à transmettre. La mesure du rapport signal à bruit peut être effectuée par l'estimateur de SNR 214 du module de décodage 200 de l'invention.
Dans une étape 650, le champ BER 420 du paquet de données radio considéré est mis à jour en additionnant la valeur du taux d'erreur binaire préalable avec celle estimée à partir du rapport signal à bruit mesuré dans l'étape 640. L'estimation du taux d'erreur binaire associé à la dernière transmission peut être réalisée par l'estimateur BER 219. La valeur de taux d'erreur binaire préalable est obtenue à partir de la copie reçue et stockée dans la mémoire 212. Le champ BER 420 de l'en-tête MAC 460 est récupéré et une correction d'erreur lui est appliquée. En effet, ce champ, comme toute information des données utiles PHY 470 est susceptible de contenir des erreurs à cause des interférences liées au canal de transmission. Comme précédemment indiqué, le champ BER 420 a été encodé avec un code correcteur d'erreur préférentiellement plus robuste que le code correcteur d'erreur utilisé pour les données utiles MAC 410, ceci afin que le noeud recevant un paquet de données puisse obtenir l'information de BER malgré les interférences du canal de transmission. Il convient de noter que cette information est de taille notablement inférieure à celle des données utiles MAC transportées par le paquet. Ainsi, l'utilisation d'un code correcteur d'erreur plus robuste pour l'information de BER, donc nécessitant plus de données de redondance, ne réduit pas de manière significative la bande passante utile. De plus, sa petite taille permet une correction d'erreur et un décodage rapide de l'information, sans commune mesure avec la correction d'erreur et le décodage des données utiles MAC.
Dans une étape 660, le noeud relais considéré transfère le paquet de données radio au noeud du réseau suivant (noeud relais ou noeud récepteur final) ce qui achève l'algorithme (étape 680). En cas de vérification positive à l'étape 630 (le noeud considéré est le noeud source), le champ BER du paquet de données considéré est initialisé à 0. Le paquet de données est ensuite directement transmis sur le canal de transmission (étape 660) ce qui achève l'algorithme (étape 680). On décrit désormais, en relation avec la figure 7, les étapes principales d'un algorithme général du procédé de décodage de l'invention selon le mode de réalisation particulier. Selon ce mode de réalisation particulier, l'algorithme général est implémenté et géré par le contrôleur de sélection de copies 213 du module de décodage 200. Selon une variante du mode de réalisation particulier de l'invention, le procédé de décodage peut être mis en oeuvre après l'obtention, par le noeud récepteur final, d'une information (encore appelée information de déclenchement) indiquant qu'un nombre suffisant (par exemple 2 ou 3) de paquets de données représentatifs de l'ensemble de symboles à décoder ont été reçus par le noeud récepteur final.
Dans une étape 700, l'algorithme général est initialisé.
Dans une étape 710, le contrôleur de sélection de copies 213 attend la réception d'une copie (ou paquet de données). On considère, en reprenant notre exemple numérique précité, qu'au maximum huit copies représentatives d'un même ensemble de symboles peuvent être reçues. Bien entendu, toute autre valeur numérique peut être envisagée. Dans une étape 720, une copie est reçue par le contrôleur de sélection de copies 213. Dans une étape 730, le contrôleur de sélection 213 vérifie si le nombre de copies reçues est suffisant pour calculer un nombre d'effacements. On rappelle que, dans notre exemple numérique, le nombre de copies utilisées pour le calcul du nombre d'effacements est égal à m = 3 copies. En cas de vérification négative de l'étape 730 (le nombre de copies n'est pas suffisant), le contrôleur de sélection 213 sauvegarde, au cours d'une étape 770, la copie reçue lors de l'étape 720 dans un groupe courant de copies, et retourne à un état d'attente (étape 710). Les copies sont sauvegardées dans une liste de la mémoire de données 212 du module de décodage 200. En cas de vérifications positive de l'étape 730 (le nombre de copies est suffisant), le contrôleur 213 procède, dans une étape 740, au calcul du nombre estimé d'effacements pour chacun des triplets de copies possibles (M=3 copies), parmi l'ensemble des copies appartenant au groupe courant de copies, par application de la formule (1) précédemment établie. Selon notre exemple numérique, le nombre maximum de triplets de copies (ce nombre dépendant du nombre de copies reçues) est égal à Cs soit Cg = 56 où S est le nombre maximum de copies d'un même ensemble de symboles pouvant être reçues. Ainsi, le contrôleur 218 détermine un maximum de 56 nombres estimés d'effacements. Dans une étape 750, on vérifie si le nombre estimé d'effacements obtenu pour un triplet de copies (encore appelées copies sélectionnées) au cours de l'étape 740 est inférieur à un seuil donné. Ce seuil donné correspond, dans le mode de réalisation particulier de l'invention, à la capacité de correction d'erreurs du décodeur Reed-Solomon (ou plus généralement du code correcteur d'erreur permettant un décodage par effacement).
Un code correcteur d'erreur de type Reed Solomon a un nombre de symboles de parité, c'est-à-dire un nombre d'effacements en dessous duquel il lui est possible de décoder la donnée malgré les erreurs présentes. La capacité de correction d'erreurs du décodeur par effacement correspond alors à ce nombre de symboles de parité. Il convient de noter que, comme le nombre d'effacements obtenu grâce à l'équation (1) est estimé, il peut être bon de définir le seuil donné comme étant la capacité de correction d'erreurs du décodeur Reed-Solomon sur laquelle est appliquée un certaine marge de manière à compenser l'incertitude liée à l'estimation. Dans le cas où plusieurs nombres d'effacements associés à des triplets de copies différents sont inférieurs à la capacité de correction d'erreurs du décodeur Reed-Solomon, le contrôleur 213 peut choisir le triplet de copies ayant le nombre estimé d'effacements le plus faible.
Dans une variante préférée du mode de réalisation particulier selon l'invention, le premier triplet de copies obtenu qui permet d'obtenir un nombre estimé d'effacements inférieur à la capacité de correction d'erreurs du décodeur Reed-Solomon, est sélectionné en vue d'une détermination du nombre d'effacements réels du triplet sélectionné et un décodage des données dont le triplet de copies est représentatif, dans le cas où le nombre réel d'effacements est inférieur à la capacité de correction d'erreurs du décodeur Reed-Solomon. Dans le cas contraire, un nouveau triplet de copies qui permet d'obtenir un nombre estimé d'effacements inférieur à la capacité de correction d'erreurs du décodeur Reed-Solomon, est sélectionné, et le nombre réel d'effacement est déterminé pour ce triplet. En cas de vérification négative de l'étape 750 (le nombre estimé d'effacements obtenu est supérieur à la capacité de correction d'erreurs du décodeur Reed-Solomon), la dernière copie reçue lors de l'étape 720 est sauvegardée dans le groupe courant de copies (étape 770) et l'algorithme retourne à l'étape 710. Le contrôleur 213 est dans un état d'attente de réception d'une autre copie pour effectuer le calcul du nombre estimé d'effacements avec les nouvelles combinaisons possibles. En cas de vérification positive de l'étape 750 (le nombre estimé d'effacements obtenu est inférieur à la capacité de correction d'erreurs du décodeur Reed-Solomon), la localisation des effacements au sein des copies est effectuée dans une étape 760. Cette étape de localisation des effacements (étape 760) consiste notamment à déterminer la position de chaque effacement associé à l'ensemble des trois copies sélectionnées au moyen d'une comparaison classique symbole à symbole des copies. La comparaison symbole à symbole, faite uniquement sur les copies sélectionnées, permet de localiser les symboles erronés afin de les corriger ensuite par le décodeur Reed-Solomon. Il est avantageux de localiser les effacements, cela augmente la capacité de correction du décodeur Reed Solomon. L'étape de localisation permet, outre le fait de localiser les effacements, de déterminer le nombre réel d'effacements associé au trois copies.
Dans une étape 780, le contrôleur 213 vérifie si le nombre d'effacements réel déterminé dans l'étape 760 est inférieur à la capacité de correction du décodeur Reed-Solomon 218. La vérification de l'étape 780 permet de prévenir le cas où l'estimation faite à partir de l'équation (1) et des informations de rapport signal à bruit (et donc du taux d'erreur binaire) est erronée.
En cas de vérification négative de l'étape 790 (le nombre d'effacements réel est supérieur à la capacité de correction du décodeur Reed-Solomon 218), la dernière copie reçue est sauvegardée (étape 770), et l'algorithme retourne à l'étape 710, et un nouveau triplet de copies devra être sélectionné. En cas de vérification positive de l'étape 790 (le nombre d'effacements réel est inférieur à la capacité de correction du décodeur Reed-Solomon 218), la position des effacements ainsi que la copie à corriger sont transmises au décodeur Reed Solomon 218 qui en effectue le décodage dans une étape 780. L'algorithme s'achève ensuite dans une étape 799, une fois la copie corrigée. La détermination du nombre d'effacements peut être très avantageuse 30 lorsqu'on utilise un décodage du type Reed-Solomon, ce qui est le mode de réalisation particulier de l'invention, puisqu'une information sur la position des effacements peut doubler la capacité de correction de ce décodeur. Un avantage important du procédé de l'invention est d'accélérer la phase de calcul du nombre d'effacements puisque l'on détermine d'une manière très simple ce nombre avec les premières copies reçues. Dès que les copies qui permettent d'avoir le nombre d'effacements nécessaire sont sélectionnées, la phase de décodage peut être exécutée. Ceci donne en outre l'avantage de rendre le système plus rapide qu'une comparaison exhaustive symbole à symbole, car il est basé sur un calcul de probabilités d'exécution plus rapide que la comparaison exhaustive symbole à symbole.

Claims (18)

REVENDICATIONS
1. Procédé de décodage d'un ensemble de symboles, dit ensemble de symboles à décoder, extraits d'un contenu de données, plusieurs paquets de données représentatifs dudit ensemble de symboles à décoder étant reçus par un noeud récepteur (160) d'un réseau de communication (100) comprenant une pluralité de noeuds (110, 120, 130, 140, 150, 160), dans le cadre de la diffusion, au sein du réseau, du contenu de données par un noeud émetteur (110) vers au moins ledit noeud récepteur, lesdits paquets de données étant codés au moyen d'un code correcteur d'erreur permettant un décodage par effacement, caractérisé en ce que le noeud récepteur (160) effectue les étapes suivantes : - obtention d'un ensemble d'au moins deux desdits paquets de données reçus, dit ensemble préféré, pour lequel un nombre estimé d'effacements est inférieur à un seuil déterminé, ledit nombre d'effacements étant estimé à partir d'une information de qualité de transmission déterminée pour chaque paquet de données dudit ensemble préféré, pour sa transmission depuis le noeud émetteur (110) jusqu'au noeud récepteur (160) ; - décodage par effacement (780) dudit ensemble de symboles à décoder, à partir des blocs dudit ensemble préféré.
2. Procédé de décodage selon la revendication 1, caractérisé en ce que ledit 20 nombre d'effacements est estimé à partir de la formule suivante : NEQeements = k v" j (1_(1_BERJ) i=1 j=1,1*i avec : NErracements : ledit nombre d'effacements estimé ; BERS : le taux d'erreur binaire du paquet de données j pour sa transmission depuis le noeud émetteur (110) jusqu'au noeud récepteur (160) ; 25 k : la taille d'un paquet de données en bits ; N : le nombre de bits par symbole ; M : le nombre de paquets de données dudit ensemble préféré.
3. Procédé de décodage selon l'une quelconque des revendications 1 et 2, caractérisé en ce que ladite étape d'obtention dudit ensemble préféré comprendune étape d'estimation (740) d'un nombre d'effacements pour chaque ensemble d'une pluralité d'ensembles d'au moins deux desdits paquets de données reçus, et une étape de sélection (750), parmi le ou les ensemble(s) dont le nombre d'effacements estimé est inférieur au seuil déterminé, de l'ensemble dont le nombre d'effacements estimé est le plus faible.
4. Procédé de décodage selon l'une quelconque des revendications 1 à 3, caractérisé en ce qu'il est mis en oeuvre dès la réception par le noeud récepteur (160) d'au moins deux paquets de données représentatifs de l'ensemble de symboles à décoder et à la réception ultérieure d'au moins un desdits paquets de données jusqu'à obtention dudit ensemble préféré.
5. Procédé de décodage selon l'une quelconque des revendications 1 à 4, caractérisé en ce que ledit seuil déterminé est égal à la capacité de correction d'effacements dudit code correcteur d'erreur permettant un décodage par effacement auquel est retranchée une marge déterminée.
6. Procédé de décodage selon l'une quelconque des revendications 1 à 5, caractérisé en ce que le code correcteur d'erreur est un code de type Reed Solomon ayant un nombre de symboles de parité, et en ce que la capacité de correction d'effacements dudit code correcteur d' erreur est égal au nombre de symboles de parité.
7. Procédé de décodage selon l'une quelconque des revendications 1 à 6, caractérisé en ce que, un noeud (120, 130, 140, 150), dit noeud relais, parmi la pluralité de noeuds du réseau de communication (100), étant en charge de retransmettre au moins un paquet de données reçu et représentatif de l'ensemble de symboles à décoder, ladite information de qualité de transmission pour ledit paquet de données étant déterminée par ledit noeud relais pour sa transmission depuis le noeud émetteur (110) jusqu'au noeud relais, ladite information de qualité de transmission pour ledit paquet de données est déterminée à nouveau par le noeud récepteur (160) pour sa transmission depuis le noeud émetteur (110) jusqu'au noeud récepteur (160) à partir de l'information de qualité de transmission déterminée par le noeud relais.
8. Procédé de décodage selon la revendication 7, caractérisé en ce que leditpaquet de données comprend ladite information de qualité de transmission que ledit noeud relais (120, 130, 140, 150) a déterminée, encodée avec un code correcteur d'erreur plus robuste que celui utilisé pour les autres données dudit paquet de données.
9. Produit programme d'ordinateur, téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par un processeur, caractérisé en ce qu'il comprend des instructions de code de programme pour la mise en oeuvre du procédé de décodage selon l'une au moins des revendications 1 à 8.
10. Moyen de stockage, éventuellement totalement ou partiellement amovible, lisible par un ordinateur, stockant un jeu d'instructions exécutables par ledit ordinateur pour mettre en oeuvre le procédé de décodage selon l'une au moins des revendications 1 à 8.
11. Noeud récepteur comprenant des moyens de décodage d'un ensemble de symboles, dit ensemble de symboles à décoder, extraits d'un contenu de données, plusieurs paquets de données représentatifs dudit ensemble de symboles à décoder étant reçus par ledit noeud récepteur (160) d'un réseau de communication (100) comprenant une pluralité de noeuds (110, 120, 130, 140, 150, 160), dans le cadre de la diffusion, au sein du réseau (100), du contenu de données par un noeud émetteur (110) vers au moins ledit noeud récepteur (160), lesdits paquets de données étant codés au moyen d'un code correcteur d'erreur permettant un décodage par effacement, caractérisé en ce qu'il comprend : - des moyens d'obtention d'un ensemble d'au moins deux desdits paquets de données reçus, dit ensemble préféré, pour lequel un nombre estimé d'effacements est inférieur à un seuil déterminé, ledit nombre d'effacements étant estimé à partir d'une information de qualité de transmission déterminée pour chaque paquet de données dudit ensemble préféré, pour sa transmission depuis le noeud émetteur (110) jusqu'au noeud récepteur (160) ; - des moyens de décodage par effacement dudit ensemble de symboles àdécoder, à partir des blocs dudit ensemble préféré.
12. Noeud récepteur selon la revendication 11, caractérisé en ce qu'il comprend des moyens d'estimation dudit nombre d'effacements à partir de la formule suivante : k NEffaeements = L j (1_(1_BERJ) 1=1 j=1,j*i avec : NErracements : ledit nombre d'effacements estimé ; BERS : le taux d'erreur binaire du paquet de données j pour sa transmission depuis le noeud émetteur (110) jusqu'au noeud récepteur (160) ; k : la taille d'un paquet de données en bits ; N : le nombre de bits par symbole ; M : le nombre de paquets de données dudit ensemble préféré.
13. Noeud récepteur selon l'une quelconque des revendications 11 et 12, caractérisé en ce que lesdits moyens d'obtention dudit ensemble préféré comprennent des moyens d'estimation d'un nombre d'effacements pour chaque ensemble d'une pluralité d'ensembles d'au moins deux desdits paquets de données reçus, et des moyens de sélection, parmi le ou les ensemble(s) dont le nombre d'effacements estimé est inférieur au seuil déterminé, de l'ensemble dont le nombre d'effacements estimé est le plus faible.
14. Noeud récepteur selon l'une quelconque des revendications 11 à 13, caractérisé en ce que lesdits moyens de décodage dudit ensemble de symboles à décoder sont activés dès la réception par le noeud récepteur (160) d'au moins deux paquets de données représentatifs de l'ensemble de symboles à décoder et à la réception ultérieure d'au moins un desdits paquets de données jusqu'à obtention dudit ensemble préféré.
15. Noeud récepteur selon l'une quelconque des revendications 11 à 14, caractérisé en ce que ledit seuil déterminé est égal à la capacité de correction d'effacements dudit code correcteur d'erreur permettant un décodage par effacement auquel est retranchée une marge déterminée.
16. Noeud récepteur selon l'une quelconque des revendications 11 à 15,caractérisé en ce que le code correcteur d'erreur est un code de type Reed Solomon ayant un nombre de symboles de parité, et en ce que la capacité de correction d'effacements dudit code correcteur d' erreur est égal au nombre de symboles de parité.
17. Noeud récepteur selon l'une quelconque des revendications 11 à 16, caractérisé en ce que, un noeud (120, 130, 140, 150), dit noeud relais, parmi la pluralité de noeuds du réseau de communication (100), étant en charge de retransmettre au moins un paquet de données reçu et représentatif de l'ensemble de symboles à décoder, ladite information de qualité de transmission pour ledit paquet de données étant déterminée par ledit noeud relais (120, 130, 140, 150) pour sa transmission depuis le noeud émetteur (110) jusqu'au noeud relais, le noeud récepteur (160) comprend des moyens de détermination de ladite information de qualité de transmission pour ledit paquet de données pour sa transmission depuis le noeud émetteur jusqu'au noeud récepteur à partir de l'information de qualité de transmission déterminée par le noeud relais.
18. Noeud récepteur selon la revendication 17, caractérisé en ce que ledit paquet de données comprend ladite information de qualité de transmission que ledit noeud relais (120, 130, 140, 150) a déterminée, encodée avec un code correcteur d'erreur plus robuste que celui utilisé pour les autres données dudit paquet de données.
FR0758403A 2007-10-17 2007-10-17 Procede de decodage d'un ensemble de symboles, produit programme d'ordinateur, moyen de stockage et noeud recepteur correspondants Expired - Fee Related FR2922698B1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR0758403A FR2922698B1 (fr) 2007-10-17 2007-10-17 Procede de decodage d'un ensemble de symboles, produit programme d'ordinateur, moyen de stockage et noeud recepteur correspondants

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0758403A FR2922698B1 (fr) 2007-10-17 2007-10-17 Procede de decodage d'un ensemble de symboles, produit programme d'ordinateur, moyen de stockage et noeud recepteur correspondants

Publications (2)

Publication Number Publication Date
FR2922698A1 true FR2922698A1 (fr) 2009-04-24
FR2922698B1 FR2922698B1 (fr) 2009-12-11

Family

ID=39591337

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0758403A Expired - Fee Related FR2922698B1 (fr) 2007-10-17 2007-10-17 Procede de decodage d'un ensemble de symboles, produit programme d'ordinateur, moyen de stockage et noeud recepteur correspondants

Country Status (1)

Country Link
FR (1) FR2922698B1 (fr)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1993006671A1 (fr) * 1991-09-20 1993-04-01 Motorola, Inc. Correction d'erreurs etendue d'un message de donnees emis
WO1993018589A1 (fr) * 1992-03-13 1993-09-16 Digital Equipment Corporation Recuperation de donnees apres une defaillance de correction d'erreur
US6389573B1 (en) * 1999-06-29 2002-05-14 Maxtor Corporation Enhanced read retrial scheme

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1993006671A1 (fr) * 1991-09-20 1993-04-01 Motorola, Inc. Correction d'erreurs etendue d'un message de donnees emis
WO1993018589A1 (fr) * 1992-03-13 1993-09-16 Digital Equipment Corporation Recuperation de donnees apres une defaillance de correction d'erreur
US6389573B1 (en) * 1999-06-29 2002-05-14 Maxtor Corporation Enhanced read retrial scheme

Also Published As

Publication number Publication date
FR2922698B1 (fr) 2009-12-11

Similar Documents

Publication Publication Date Title
EP2385648B1 (fr) Réseau coopératif à stratégie de demande de retransmission adaptative
FR2929063A1 (fr) Procede et dispositif d'allocation de chemins de transmission de donnees dans un reseau de communication synchrone, produit programme d'ordinateur et moyen de stockage correspondants
EP3756295A1 (fr) Procédé et système omamrc de transmission avec adaptation lente de lien sous contrainte d'un bler
FR2905209A1 (fr) Procede et dispositif de decodage de blocs encodes avec un code ldpc
EP2661814A1 (fr) Procédé de décodage et décodeur
EP3639427B1 (fr) Procédé et système omamrc de transmission avec adaptation lente de lien
FR2960725A1 (fr) Procede et dispositif de configuration d'un schema d'encodage/decodage global dans un reseau de communication, produit programme d'ordinateur et moyen de stockage correspondants
FR2948246A1 (fr) Procede et dispositif d'allocation de bande passante liberee dans un reseau de communication, produit programme d'ordinateur et moyen de stockage correspondants
FR3009462B1 (fr) Procede ameliore de decodage d'un code correcteur avec passage de message, en particulier pour le decodage de codes ldpc ou codes turbo
EP3224978B1 (fr) Procédé et dispositif de relayage souple et sélectif ssdf
FR3023103A1 (fr) Procede de transmission dynamique et selectif fd-dsdf d'un signal numerique pour un systeme marc avec un relais full-duplex, produit programme et dispositif relais correspondants
FR2944171A1 (fr) Procede et dispositif de modulation mettant en oeuvre une modulation differentielle, procede et dispositif de demodulation, signal et produits programme d'ordinateur correspondants.
FR2922698A1 (fr) Procede de decodage d'un ensemble de symboles, produit programme d'ordinateur, moyen de stockage et noeud recepteur correspondants
FR2919773A1 (fr) Procede de decodage de blocs de donnees de contenus, produit programme d'ordinateur, moyen de stockage et dispositif de decodage correspondants
WO2006087497A2 (fr) Procede et dispositif de synchronisation trame
FR2924288A1 (fr) Procede et dispositif de decodage iteratif par effacement, produit programme d'ordinateur et moyen de stockage correspondants
FR2932628A1 (fr) Procede et dispositif de decodage par commutation d'un mode multicopies vers un mode monocopie, produit programme d'ordinateur et moyen de stockage correspondants
EP2722992B1 (fr) Méthode de codage pour canal à évanouissement quasi-périodique
EP3552346A1 (fr) Procédé d'émission d'un message, procédé de réception, dispositif d'émission, dispositif de réception et système de communication associés
FR2934736A1 (fr) Procede et dispositif de transmission dans un reseau maille a codage reseau, procede et dispositif de reception, signal, produits programme d'ordinateur et moyens de stockage correspondants
WO2024002899A1 (fr) Procédé de transmission et système omamrc avec une stratégie de sélection lors de retransmissions tenant compte du débit des sources et d'un unique échange de contrôle
WO2011051627A2 (fr) Procédé et dispositif d'évaluation d'une transmission numérique série codée sur un canal non stationnaire
FR2921777A1 (fr) Procede d'acquittement hierarchique de donnees, produit programme d'ordinateur, moyen de stockage et noeud correspondants.
FR2942579A1 (fr) Procedes de transmission et reception de copies d'un paquet vers un noeud destination pour decodage par erreur/ effacement, produit programme d'ordinateur, moyen de stockage et noeuds correspondants.
EP2786498B1 (fr) Decodeur de faible complexite pour codage convolutif

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20140630