Commentaires Examen TS219 Codage Canal ENSEIRB-MATMECA / T2 2011-2012
Évolution de la moyenne à l examen de TS219 16 14 12 10 8 6 4 2 0 MOYENNE : 5,5 Moyenne TS219 Questions de cours Codage
Questions n 1 Question : expliquer quels sont les avantages des codes cycliques par rapport aux codes en blocs linéaires Réponse : les codes cycliques sont générés à partir d un circuit à base de registre à décalage. Par rapport aux codes en blocs linéaires, l avantage est double : Les codes en blocs linéaires codent les données par multiplication matricielle. Ce traitement bloc introduit une certaine latence. Le codage cyclique est plus rapide car il est fait en temps-réel. Il y a un gain de temps. Le codage cyclique ne nécessite pas le stockage d une matrice génératrice. Il y a un gain d espace mémoire.
Erreur n 1 : les codes cycliques ont de meilleures propriétés de détection et de correction Les codes cycliques utilisent plus de redondance que les codes en blocs linéaires. En effet, chaque mot code obtenu par codage cyclique est l image d un autre mot code obtenu par permutation cyclique. Ainsi, plus redondant, les codes cycliques sont plus capables de détecter les erreurs. FAUX La seconde phrase est sensée expliquer la première VRAI mais cela n explique pas le première phrase EXEMPLE
Autre exemple Les avantages des codes cycliques par rapport aux codes en blocs linéaires sont un meilleur taux de codage et moins de bits de redondance donc une efficacité spectrale meilleure. FAUX : les codes cycliques n ont pas, par définition, moins de bits de redondance que les codes en bloc linéaires Imprécis : qu est ce qu un bon taux de codage? VRAI seulement sur le point «moins de redondance = meilleure efficacité spectrale» mais cela est valable quel que soit le code
Erreur n 2 : l avantage est la propriété de permutation cyclique Les codes cycliques se distinguent par une simple permutation circulaire, d où la facilité de leur obtention à partir d un seul code, contrairement aux codes en blocs linéaires standard qui n ont pas de relation entre eux. FAUX : un seul mot de code ne suffit pas générer tous les mots de codes Imprécis : les mots de codes forment tout de même un sous-espace vectoriel EXEMPLE
Exemple de bonne réponse Les codes en blocs linéaires standard nécessitent un traitement des données par bloc ce qui s oppose à une transmission en temps réel par exemple, contrairement aux codes cycliques. Les ressources en mémoire sont également moins importantes car les codes en blocs linéaires requièrent un stockage matriciel. Source : Maximilien OBERLIS
Question n 2 Question : expliquer deux points de l implantation des codes cycliques dans les protocoles de niveau 2 : le codage de mots de données de taille variable, l absence de correction. Réponse : le circuit de codage d un code cyclique permet de générer (n-k) bits de redondance, et ce, quelle que soit la taille des données en entrée du codeur. Cela est adapté aux PDUsdes protocoles de niveau 2 qui sont de taille variable. Par ailleurs, pour corriger les erreurs, il faut au moins une table «syndrome / erreur commise» par taille de données. Sachant que la taille de la table est de 2 x 2 n-k avec n-k=16 ou 32 et qu il peut y avoir plus de 1e3 tailles de données différentes, le stockage des tables prendrait trop d espace mémoire (2e3 x 2 16 données) et le temps d accès aux tables prendrait trop de temps. Voilà pourquoi seule la détection d erreur est mise en œuvre.
Erreur n 1 : le codage de trames de longueur variable se fait par «zeropadding» Pour des données de taille variable, on ajoute selon la norme définie des zero paddingpour avoir un k et n fixes. Il est possible d avoir des données de taille variable notamment grâce au fait que les vecteurs de la famille génératrice soient liés (par des permutations). FAUX : les données de tailles variables passent toutes par le même codeur qui produit (n-k) bits de redondance Allo? Houston? Je ne vous comprend pas EXEMPLES
Erreur n 2 : la correction n est pas possible car la taille (variable) des données n est pas connue La fonction de correction n est pas mise en œuvre car le nombre de bits en sortie n est pas défini FAUX : il y a, dans chaque trame, un champ «longueur de la trame» Consulter MINGER, RMILI et SY pour une correction
Défaut majeur pour cette question : Le temps de correction d une erreur serait trop long. trop d imprécisions [ ] la fonction n est pas mise en œuvre à la réception car le codeur rajoute lui-même des bits faux. Imprécis : seuls 10% de la réponse sont formulés Allo? Houston? Je ne vous comprend pas EXEMPLES
Question n 3 Question : expliquer le mode de fonctionnement des deux modes de HARQ Réponse : dans le mode HARQ1, toute trame erronée pour cause de CRC faux est stockée. Lorsque la trame est retransmise, la dernière version est combinée aux versions erronées précédentes (si le code de base était de rendement 1/n, il est de 1/(mn) avec m versions de la même trame). Dans HARQ2, les trames retransmises n ont pas la même forme que la première trame. Par exemple, si des codes convolutifspoinçonnés sont utilisés, la première trame comprend les données et un premier jeu de bits de parité et la seconde comprend un deuxième jeu de bits de parité.
Erreur n 1 : confusion entre ARQ et HARQ1 et entre HARQ1 et HARQ2 Le fonctionnement des deux types de HARQ est : le premier corrige les erreurs avant la transmission, le deuxième tente de corriger les erreurs une fois, si la correction ne s effectue pas, il demande la retransmission des données Allo? Houston? Je ne vous comprend pas FAUX : ça, c est le fonctionnement de ARQ EXEMPLE
Autres exemples Le HARQ permet un ré-envoi automatique des données après un certain temps d attente T. HARQ type 1 détecte l erreur et demande la retransmission. HARQ type 2 détecte l erreur, essaie de la corriger et n envoie la demande de retransmission qu en cas d échec. NB : présenter ARQ est horssujet. FAUX : ça, c est le fonctionnement de ARQ FAUX : il y a confusion entre correction par le FEC (couche physique) et la détection par le CRC (couche liaison)
Erreur n 2 : confusion sur la place et le rôle du bloc ForwardErrorCorrection (FEC) Le CRC est un code pour le niveau 2 et sert à faire de la détection d erreur Le FEC est le code pour la couche physique et sert à faire de la correction Consulter BREVET, MORERE et SY pour une correction
Question n 4 Représenter l architecture du décodeur turbo appliqué à la concaténation parallèle de codes convolutifs systématiques. Enseignement à retirer étant donné les résultats sur cette question : Il faut venir en cours ETprendre des notes
Codage convolutif 1 bit en entrée, 3 bits en sortie : le rendement est de 1/3 La distance libre minimale est la distance de Hammingentre le chemin tout zéros et le premier chemin partant de l état tout zéro et y revenant un en nombre minimal de transitions : 7 Erreur typique : n-k-1 (pour le codes RS) Le treillis décrit une transition du codeur Erreur typique sur la représentation du treillis : inclure la phase transitoire
Décodage de Viterbi Un chemin survivant par état une fois le régime stationnaire atteint, c.-à-d. une fois qu il y a plusieurs chemins arrivant à chaque état. Erreur fréquente (confusion avec l exemple du cours) : sélectionner le meilleur chemin au bout de N transitions et continuer le décodage à partir d un seul état
Manque d explications Difficulté de noter car Pas ou peu de calculs sur le treillis Pas ou peu lisible Règle pour avoir tous les points : résultat juste Règle pour avoir tous les points : résultat juste et calculs intermédiaires ou démarche juste