Changes between Version 2 and Version 3 of Component/trx_ofdm


Ignore:
Timestamp:
Jan 28, 2009, 6:42:41 PM (15 years ago)
Author:
ivan.miro-panades@…
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Component/trx_ofdm

    v2 v3  
    123123|| 0x83                       ||   IT_CFG        ||     mask_IT                                                                                ||
    124124
     125Le détail des champs de configuration est le suivant:
     126[[Image(aaa)]]
     127
     128=== 3.3) Flot des données OFDM ===
     129Le flot de données OFDM qui traite le bloc trx_ofdm est composé de données et des pilotes. Les données et les pilotes sont des valeurs complexes composées d'une partie réelle (I) et d'une partie imaginaire (Q). Chaque partie est encodée en 16bits signé et l'ensemble de I+Q forme une valeur du flot de données de 32 bits.
     130[[Image(bbb)]]
     131
     132Quand on envoie un flot de donnés au TRX_OFDM, la fréquence centrale se situe au milieu du flot de donnés.
     133
     134=== 3.4) Masques de données et pilotes ===
     135Les masques de données et pilotes sont utilisés pour réaliser les opérations de Framing et Deframing. Un masque de données/pilote contient 2048 bits (étalé en 64 mots de 32bits), un bit par donnée de FFT/IFFT. Si le bit vaut 1, une valeur de donnée/pilote sera prise en considération. Le comportement des masques est différent en fonction si sont utilisés dans le Framing ou le Deframing.
     136
     137
     138
     139==== 3.4.1) Framing ====
     140Dans le module de Framing, on examine les bits à 1 des masques pour savoir dans quelle position on doit ranger les données et les pilotes. Le résultat est un vecteur qui combine les valeurs de données, des pilotes et des 0. Les positions de ce vecteur qui ne continent ni données ni pilotes sont initialisés à 0.
     141
     142La Figure 3 montre un exemple de Framing avec deux FIFOs d'entrée. La combinaison des données et pilotes obtient les données à envoyer à la IFFT.
     143
     144Le nombre de 1 dans le masque de données indique le nombre de données qui seront utilisés dans la FIFO de données. De la même manière, le nombre de 1 dans le masque de pilotes indique le nombre de pilotes qui seront lus de la FIFO de pilotes.
     145
     146[[Image(ccc)]]
     147
     148
     149La Figure 4 montre un exemple de Framing avec une FIFO d'entrée qui contient les données et ensuite les pilotes. Le nombre de 1 dans le masque de données et masque de pilotes, indique le nombre total de données qui seront utilisés dans le FIFO d'entrée.
     150
     151[[Image(ggg)]]
     152
     153==== 3.4.2) Deframing ====
     154Le vecteur de sortie de la FFT est analysé pour extraire les valeurs de données et les pilotes. La position des 1 dans les masques indique la position de la valeur à extraire. Si la masque de données et la masque de pilotes contient 0 pour une même adresse, la valeur du vecteur de sortie de la FFT à cette adresse n'est pas utilisé.
     155
     156Le Deframing permet de séparer les données et les pilotes dans des FIFOs différentes après la FFT. La figure suivante montre un exemple de Deframing avec des masques de données et pilotes.
     157
     158[[Image(jjj)]]
     159Le nombre de 1 dans le masque de données indique le nombre de données qui seront extraites. De la même manière, le nombre de 1 dans le masque de pilotes indique le nombre de pilotes qui seront extraites.
     160
     161
     162=== 3.5) Intervalle de garde ===
     163En sortie de l’IFFT seulement, un intervalle dit « de garde » peut être ajouté au symbole OFDM. Le paramètre gi_insertion à 1 indique que cet intervalle de garde sera appliqué. Dans ce cas, le paramètre gi_size est utilisé pour compter le nombre d’échantillons à ajouter AVANT le symbole OFDM. Le premier échantillon est récupéré à l’emplacement (taille_fft-gi_size). Les échantillons suivants sont récupérés séquentiellement jusqu’au dernier échantillon du symbole OFDM. Le symbole OFDM complet est ensuite envoyé. En sortie, nous aurons donc size_fft + gi_size échantillons de 32 bits.
     164
     165=== 3.6) Shift carrier et shift parity ===
     166Deux paramètres supplémentaires permettent de modifier les valeurs des échantillons en entrée de l’IFFT seulement.
     167
     168 * Shift carrier à 1 défini que les échantillons vont être modifiés
     169 * Dans ce cas :
     170   * si shift parity vaut 0, la valeur des échantillons impairs sont inversés (I et Q indépendamment sur 16 bits signés).
     171   * si shift parity vaut 1, la valeur des échantillons pairs sont inversés (I et Q indépendamment sur 16 bits signés).
     172
     173 
     174
     175