Framework d'applications LTE sous LabVIEW Communications

Aperçu

Le framework d'applications LTE fournit une couche physique temps réel (PHY) prête à l'emploi et facilement modifiable ainsi que des exemples de conception de couches inférieures de contrôle d'accès au support (MAC) reposant sur la norme sans fil LTE. Le framework d'applications LTE est disponible avec la suite LabVIEW Communications System Design, aussi appelée LabVIEW Communications.

Ce framework d'applications représente un solide point de départ pour les chercheurs qui visent à améliorer la norme LTE en exploitant de tous nouveaux algorithmes et architectures capables de supporter une augmentation considérable du nombre de terminaux, en inventant de nouvelles formes d'ondes avec lesquelles moduler et démoduler les signaux, ou en trouvant de nouvelles architectures multi-antennaires qui tirent pleinement parti de la liberté qu'offre la technologie sans fil.

Le framework d'applications LTE est inclus dans les blocs modulaires MAC et PHY implémentés avec LabVIEW Communications. Il est conçu pour s'exécuter sur le FPGA Kintex-7 de Xilinx et sur le processeur polyvalent Intel 64 bits, tous deux étroitement intégrés aux têtes RF et au frontal analogique de la radio logicielle (SDR) de NI.

Le framework a été intégralement pensé pour être facilement modifiable, tout en se conformant aux principales spécifications imposées par la norme LTE. Cela permet aux chercheurs de monter rapidement leur laboratoire de prototypage temps réel. Après avoir sélectionné les aspects du protocole qu'ils souhaitent améliorer, ces derniers peuvent modifier la conception très simplement, puis comparer leurs innovations aux standards existants.

Contenu

Conformité aux spécifications LTE

Le framework d'applications LTE contient un un récepteur de liaison descendante et un émetteur conformes à la version 10 (3GPP release 10) de la norme LTE. Le récepteur de liaison descendante et l'émetteur comprennent tous les deux l'implémentation des voies suivantes sur FPGA :

  • Signal de synchronisation primaire (PSS)
  • Signaux de référence spécifiques aux cellules (CRS)
  • Signaux de référence spécifiques aux UE (UERS)
  • Canal de contrôle de liaison descendante physique (PDCCH)
  • Canal de données partagées de liaison descendante physique (PDSCH)

La structure de trame est strictement définie par les configurations suivantes :

  • Bande-passante de 20 MHz (100 blocs de ressources physiques)
  • Préfixe cyclique normal
  • Structure de trame : duplex à répartition dans le temps (TDD)
  • Configuration TDD UL/DL : 5
  • Configuration spécifique au secteur de trame : 5
  • Nombre d'accès antennes émettrices : 2 (seul l'accès antenne 1 est utilisé pour l'estimation et l'égalisation de canaux)

Les voies suivantes ne sont pas disponibles :

  • Signal de synchronisation secondaire (SSS)
  • Canal indicateur de format de commande physique (PCFICH)
  • Canal indicateur ARQ hybride physique (PHICH)
  • Canal de diffusion physique (PBCH)

Le signal de synchronisation primaire (PSS) est uniquement émis dans le secteur de trame 1. L'identifiant cellule (Cell ID) est fixé à 0.

Si les UERS sont activés, les deux positions pilotes possibles (AP 7, 8, 11, 13 et AP 9, 10, 12, 14) sont utilisées. Ainsi, le schéma de codage et de modulation (MCS) 28 ne s'applique pas parce que le taux de code qui en résulterait serait supérieur à 1.

Seul le format du PDCCH 1 (CFI = 1) peut être utilisé. Le format DCI est propriétaire, comme l'illustre la Figure 1. Chaque section du champ PRB Allocation représente 4 blocs de ressources physiques. Les MCS 0 à 28 sont conformes à la norme LTE. En revanche, les MCS 29, 30 et 31 ne sont pas supportés puisque le traitement HARQ n'est pas inclus. Étant donné que la version actuelle ne comporte pas de canal de retour, la valeur TPC est émise mais n'est pas appliquée côté récepteur.

La Figure 2 illustre la grille de ressources qui résulte de cette configuration.

Figure 1. Format DCI du canal PDCCH

Figure 2. Grille de ressources LTE utilisée

La structure de paquets MAC utilisée est présentée dans la Figure 3. La taille des blocs de transport PDSCH est définie selon la norme LTE. Elle dépend des MCS et des paramètres d'allocation des blocs de ressources. Le nombre d'octets de données d'utilisateurs (n) correspond à la taille minimale des blocs de transport PDSCH (moins celle de l'en-tête) et à la taille des données en octets actuellement dans la FIFO host-to-target. Les bits restants du bloc de transport sont comblés par des zéros (remplissage).

 Figure 3. Structure de paquets MAC

Aperçu de l'implémentation FPGA

Ce framework d'applications LTE s'appuie sur le modèle de projet de streaming NI USRP-RIO, qui contient la logique fondamentale pour s'interfacer avec le convertisseur A/N et N/A, corriger les éventuelles dégradations des signaux RF, effectuer la transposition numérique par abaissement de fréquence et configurer les terminaux en façade. Le traitement de la couche physique de la bande de base du récepteur de l'UE LTE de liaison descendante et celui de l'émetteur eNodeB LTE sont ensuite interfacés indépendemment au modèle de projet de streaming pour former la base de l'implémentation PHY temps réel. Tous ces composants sont décrits plus en détails dans les sections suivantes.

La Figure 4 illustre l'architecture du framework d'applications LTE. Les blocs grisés représentent les FIFO. Ceux en bleu représentent les FIFO orientées cible, celles en vert les FIFO DMA qui transfèrent les données entre le FPGA et l'hôte.

 Figure 4. Architecture du framework d'applications LTE sur NI USRP-RIO

  2.1.           Récepteur de liaison descendante

La fonctionnalité du récepteur de liaison descendante est distribuée sur cinq boucles, comme l'illustre la Figure 5. Le signal RF reçu est échantillonné par le C A/N, puis passé dans le bloc de transposition numérique par abaissement de fréquence pour être corrigé et que son débit soit converti. Après cela, le bloc Synchronisation de trame radio gère la détection et l'alignement temporel de la structure de trame LTE. La boucle FFT contient le bloc de conversion FFT, qui convertit les échantillons du domaine temporel au domaine fréquentiel. L'estimation et l'égalisation des canaux en fonction des signaux de référence spécifiques aux cellules (CRS) et aux UE (UERS) sont également effectués dans la boucle FFT. De plus, un démapper de ressources extrait les données de porteuse dans le domaine fréquentiel relatives aux 1 200 porteuses utilisées. Il marque également les données de porteuses avec des indicateurs de voies physiques. Les symboles QAM égalisés CRS marqués comme PDCCH sont relayés au récepteur du canal de contrôle de liaison descendante physique (PDCCH). Celui-ci décode les informations de commande de liaison descendante (DCI), qui contiennent les informations nécessaires au décodage du canal de données partagées de liaison descendante physique (PDSCH). Le décodeur PDSCH décode les données d'utilisateur selon que les données égalisées proviennent de signaux CRS ou UERS, en fonction de la configuration du récepteur. Les sections suivantes décrivent plus en détails les blocs de la Figure 5.

 Figure 5. Diagramme des blocs de récepteur de liaison descendante

  2.1.1.      Transposition numérique par abaissement de fréquence et correction des dégradations de signaux RF

Le bloc de transposition numérique par abaissement de fréquence (DDC) dans le framework d'applications LTE ressemble beaucoup à celui du modèle de projet de streaming NI USRP-RIO. Comme le montre la Figure 6, ce bloc corrige les dégradations I/Q dans le signal de bande de base, permet le réglage précis de la fréquence centrale et convertit la fréquence d'échantillonnage du C A/N en fréquence LTE standard, qui correspond à 30,72 Méch/s. Le DDC est configuré à partir de l'hôte. La correction du déséquilibre I/Q utilise des coefficients déterminés au moment de la fabrication et stockés dans l'EEPROM du matériel. Le DDC n'effectue aucun réglage lié à la température.

Le framework d'applications LTE inclut aussi un module de suppression de courant continu (DC) à l'intérieur du DDC pour compenser le décalage DC. Ce module utilise un bloc d'échantillons pour éliminer le décalage DC moyen.

La moyenne de 32,768 échantillons de type de données en virgule fixe au format 1,15 est calculée. Ce résultat est comparé à la valeur de correction utilisée. En fonction du signe de cette comparaison, la valeur de correction est soit augmentée, soit diminuée dans le bit de poids faible (LSB) après chaque calcul de moyenne. La valeur absolue de correction est limitée à 0,2.

 Figure 6. Diagramme des blocs de transposition numérique par abaissement de fréquence

  2.1.2.      Synchronisation de trame radio

Les données sont transférées de la boucle DDC à la boucle de synchronisation par le biais d'une FIFO. Le but principal de ce bloc est de s'aligner avec le début de la trame radio LTE. Ce bloc garantit également que seules les trames radio complètes seront transmises aux blocs de traitement suivants (les composants du bloc Synchronisation de trame radio sont présentés dans la Figure 7). La flèche la plus fine indique le flux de commande et les rectangles affichent les informations transférées.

La synchronisation s'effectue par le biais de mesures continues d'autocorrélation et de corrélation croisée. Les signaux LTE contiennent un signal de synchronisation primaire (PSS) détecté par deux filtres à réponse impulsionnelle finie (FIR) qui calculent la corrélation croisée. Cette opération est exécutée sur une fréquence d'échantillonage réduite à 1,92 Méch/s. La crête est détectée sur l'amplitude la plus élevée. Une unité de validation vérifie que l'amplitude maximum est bien 8 fois supérieure à l'énergie moyenne de la corrélation croisée. Par ailleurs, la distance crête-à-crête doit être inférieure à 5 échantillons.

En parallèle, une autocorrélation de la fréquence d'échantillonnage complète permet de situer les limites du symbole OFDM. La valeur d'autocorrélation correspond aux multiplications de conjugués retardés avec accumulation. Cette valeur peut être normalisée en la divisant par l'énergie. Une crête sera détectée au niveau de la plus grande amplitude si plus de 32 échantillons dépassent un seuil donné et que la distance jusqu'à la dernière crête est supérieure à 2,160 échantillons.

Le bloc Synchronisation de trame radio peut également mesurer et compenser le décalage de fréquence de porteuse (CFO). Le module d'estimation du décalage de fréquence entier (CFI) compare les positions des crêtes des deux corrélations et estime la part entière du décalage de fréquence de porteuse (CFO). La quantité totale de déplacements de fréquence est déterminée par la partie entière et fractionnaire du CFO, lui-même calculé à partir de la phase de la crête d'autocorrélation. La quantité de déplacement de fréquence ne s'applique au début de la trame radio que lorsque la synchronisation est trouvée. La partie fractionnaire est multipliée par la valeur FF_CFO définie par l'hôte pour éviter que les estimations imprécises ne dérivent trop le signal en fréquence. La valeur CFO peut également être déterminée comme une valeur statique à partir de l'hôte.

Après que plusieurs signaux PSS consécutifs ont été détectés et que l'estimation IFO a été effectuée, le bloc Ajustement temporel calcule la position de départ de la trame radio. Le bloc Alignement de trame radio utilise cette position pour transmettre toute une trame radio temporellement alignée à la boucle FFT suivante. Vous pouvez utiliser la commande avancée pour configurer le nombre d'échantillons que le récepteur devrait retirer du préfixe cyclique.

Si des crêtes PSS ou OFDM manquent, le bloc Estimation IFO invalide au moins une trame radio et ne transmet pas les échantillons correspondants à la boucle FFT.

 Figure 7. Diagramme des blocs de synchronisation de trame radio

  2.1.3.      Conversion FFT

Les données parviennent à la boucle de conversion FFT depuis la boucle de synchronisation de trame radio – elles sont donc déjà synchronisées. Cette boucle effectue une transformée de Fourier rapide (FFT) pour convertir les données du domaine temporel au domaine fréquentiel, marque les échantillons en fonction de la grille de ressources LTE, puis les distribue aux boucles du récepteur de canaux. La Figure 10 montre un aperçu de ce processus.

Au départ, un module de commande de poussée vérifie constamment l'état de remplissage de la FIFO d'échantillons entrants et déclenche une impulsion de synchronisation en lecture lorsque la quantité minimale requise est atteinte. Ce procédé garantit que les échantillons de chaque symbole OFDM sont traités de manière consécutive. Ensuite, le préfixe cyclique est retiré des échantillons en invalidant les premiers échantillons entrants. Les 2 048 échantillons restants sont envoyés à une FFT Xilinx. Suite à cela, le mapper de ressources génère les informations de cadencement relatives à chaque échantillon ainsi que la grille de ressources en indiquant le canal correspondant à chaque échantillon. Le mappage des ressources repose sur une configuration de structure de trame fixe décrite dans les spécifications LTE. Tous les modules suivants utilisent ce cluster booléen avec des éléments pour chaque canal LTE afin de déterminer la pertinence des échantillons.

Les données en sortie de la FFT sont réparties dans deux blocs d'estimation de canaux distincts qui s'exécutent en parallèle. La première estimation de canaux s'appuie sur les CRS. Les valeurs estimées du canal sont calculées par le biais de multiplications complexes conjugées. Une interpolation liénaire est appliquée dans le domaine fréquentiel entre les symboles de référence adjacents, comme le montre la Figure 8. Aux bords de ce symbole, la valeur estimée la plus proche est répétée (maintien d'ordre 0). Les symboles OFDM qui ne contiennent pas de séquences CRS dépendent de la seconde estimation de canaux (maintien d'ordre 0 dans le temps, comme le montre la Figure 9).

 Figure 8. Estimation de canal, domaine fréquentiel  Figure 9. Estimation de canal dans le temps

La seconde estimation de canaux s'appuie sur les UERS. Ces pilotes sont transférés dans chaque bloc de ressources physiques (PRB) assigné au PDSCH adressé à l'UE. À ce stade, l'allocation PRB est inconnue. L'estimation de canaux s'effectue donc sur chaque PRB. Les mêmes éléments de ressources peuvent utiliser plusieurs UERS, de sorte que la moyenne dans une sous-trame soit utilisée dans le même domaine temporel pour éliminer toutes autres séquences possibles (suppression d'interférences d'utilisateurs multiples). Dans le domaine fréquentiel, l'interpolation linéaire est utilisée dans les PRB en appliquant le maintien d'ordre 0 sur les pourtours.

L'estimation des canaux est transmise échantillon par échantillon aux modules d'égalisation des canaux, parallèlement aux données. L'égalisation des canaux détermine le résultat à partir de l'échantillon de données d et de l'estimation de canaux e en utilisant l'équation suivante :

 Figure 10. Diagramme du bloc Boucle FFT

  2.1.4.      Récepteur PDCCH

Le récepteur PDCCH fonctionne sur la sortie de l'égalisation des canaux basés sur les CRS pour le premier symbole OFDM de chaque sous-trame (CFI fixée à 1). Il décode les informations de commande de liaison descendante (DCI) pour l'UE donné dans le canal PDCCH. La Figure 11 présente le diagramme du bloc.

Tout comme pour la boucle FFT, un module s'assure que tous les symboles QAM PDCCH égalisés sont corrigés de manière consécutive. Un démappeur LLR traduit les symboles en soft bits, qui sont désentrelacés et désembrouillés par le biais des paramètres cellulaires et de cadencement donnés. Après cette étape, le démultiplexeur DCI procède à l'extraction de la gamme d'échantillons à utiliser pour décoder depuis tous les emplacements de messages DCI possibles, en fonction des paramètres de décalage CCE. Le décodeur DCI utilise le décodeur de Viterbi de Xilinx pour décoder les bits du bloc de transport DCI à partir des soft bits donnés. Le total du contrôle par redondance cyclique (CRC) est calculé sur le bloc de transport. Si cette valeur correspond à l'identifiant temporaire de réseau radio (RNTI), le message est interprété en fonction du format DCI (voir Figure 1). Un module de validation invalide les messages lorsque le contenu n'est pas supporté – comme lorsque MCS > 28 – ou pas autorisé pour la position actuelle dans la trame radio LTE – comme une assignation DL dans une sous-trame spéciale.

 Figure 11. Diagramme du bloc Récepteur PDCCH

  2.1.5.      Récepteur PDSCH

Cette dernière boucle de récepteur décode les bits du bloc de transport PDSCH transférés (c'est-à-dire les données de la charge utile d'utilisateurs actuelles). La Figure 12 illustre le schéma fonctionnel du récepteur PDSCH.

Le premier module gère deux FIFO alimentées par les égalisations de canaux dans la boucle FFT. Selon la configuration du système, le module utilisera les symboles QAM corrigés CRS ou UERS. Dès réception d'une configuration valide au niveau du récepteur PDCCH, les symboles sont lus à partir de la FIFO sélectionnée. Un autre démappeur de ressources indique les symboles QAM PDSCH valides ou invalides en fonction de l'allocation PRB déterminée par le message DCI décodé. Les symboles valides sont interprétés comme soft bits dans le démappeur LLR. Ces soft bits sont désembrouillés par le biais des paramètres cellulaires et du RNTI. Ensuite, le Turbo Decoder de Xilinx – intégré à leur décodeur de canal UL LTE – est utilisé pour décoder le bloc de transport PDSCH. Les hard bits du décodeur sont transférés à l'hôte par le biais d'une FIFO dédiée. Une autre FIFO écrit les informations relatives à l'état du décodage sur l'hôte.

 Figure 12. Diagramme du bloc Récepteur PDSCH

  2.2.           Émetteur de liaison descendante

La Figure 13 illustre le schéma fonctionnel simplifié de l'émetteur de liaison descendante.

 Figure 13 : Diagramme du bloc Émetteur de liaison descendante

Dès réception de l'impulsion provenant de la boucle DAC, le bloc Symbol Start Generator produit des impulsions pour chaque symbole OFDM dans une trame radio. Ensuite, le générateur d'indicateur génère les informations de cadencement pour chaque échantillon du symbole OFDM actuel, telles que la sous-porteuse, le bloc de ressources, le symbole OFDM et l'indicateur de sous-trame. Ces informations sont utilisées dans les émetteurs PDCCH et PDSCH pour générer les symboles QAM en fonction de la configuration du système et des données d'utilisateurs. L'impulsion est retardée jusqu'à ce que les deux émetteurs aient terminé leur exécution. Après cela, le mappeur de ressources génère le cluster booléen pour chaque canal physique similaire à la chaîne du récepteur. Chaque canal peut ensuite être rempli avec les symboles QAM dans la génération de la grille de ressources. Tous les canaux génèrent des zéros, au cas où l'échantillon actuel ne serait pas pertinent dans ce canal. Ce comportement permet de combiner tous les canaux par le biais d'une simple fonction OU.

Après avoir combiné tous les canaux, le DC est inséré et une FFT inversée (IFFT) convertit les données du domaine fréquentiel dans le domaine temporel. Le préfixe cyclique est rattaché à la sortie de l'IFFT, et les données sont transférées au domaine d'horloge DUC et DAC par l'intermédiaire d'une FIFO. La dernière étape concerne la transposition numérique par élévation de fréquence (DUC), identique à celle effectuée dans le modèle de projet de streaming NI URSP-RIO. Son schéma fonctionnel est présenté à la Figure 14. Cette conversion applique un gain numérique, effectue la correction du déséquilibre I/Q, le déplacement de fréquence et la conversion de la fréquence d'échantillonnage, de la fréquence standard LTE de 30,72 Méch./s à la fréquence d'échantillonnage DAC.

 Figure 14. Diagramme du bloc Transposition numérique par élévation de fréquence

 

  2.2.1.      Émetteur PDCCH

L'émetteur PDCCH crée tous les symboles QAM du canal PDCCH. Les blocs qu'il contient sont présentés dans la Figure 15.

Dès réception du déclenchement de symbole, le message DCI est généré en fonction des configurations de l'hôte. Le message est encodé et un CRC y est joint. Le module de multiplexeur DCI déplace les symboles générés à la position adéquate dans le canal PDCCCH. Suite à cela, toutes les données des canaux sont brouillées et entrelacées. Après avoir appliqué la modulation QPSK aux symboles, les échantillons I/Q PDCCH sont transmis à une FIFO qui les stocke jusqu'à ce que la génération de grille de ressouces les récupère.

 Figure 15. Diagramme du bloc Émetteur PDCCH

  2.2.2.      Émetteur PDSCH

L'émetteur PDSCH convertit les données d'utilisateurs de l'hôte en symboles QAM pour le canal PDSCH. La Figure 16 présente les blocs de cette chaîne de traitement.

Une petite implémentation MAC permet d'ajouter un en-tête MAC propriétaire au début d chaque bloc de transport PDSCH. Le bloc de transport restant est rempli avec les données d'utilisateurs disponibles dans la FIFO hôte. Si nécessaire, des bits remplis par des zéros sont ajoutés à la portion restante du bloc de transport. L'encodeur PDSCH utilise l'encodeur de canal DL LTE de Xilinx. La sortie du cœur est brouillée en fonction des spécifications LTE. La modulation QAM s'effectue ensuite. La valeur MCS de l'hôte détermine le schéma de modulation. Après la modulation, les symboles QAM PDSCH sont transmis à la FIFO qui retient ces valeurs jusqu'à ce qu'elles soient utilisées par la grille de ressources.

 Figure 16. Diagramme du bloc Émetteur PDSCH

  2.3.           Remarques concernant la synchronisation

Trois domaines d'horloge sont principalement utilisés dans le FPGA : 40 MHz, 120 MHz et 192 MHz.

Les boucles de configuration sont connectées au domaine d'horloge 40 MHz. Les informations de configuration sont définies avant l'exécution et utilisées ailleurs comme des constantes.

L'ensemble des boucles de traitement de bande de base s'exécutent à la vitesse d'horloge de 192 MHz. Les interfaces ADC et DAC de NI USRP-RIO s'exécutent à 120 MHz, en plus des convertisseurs de fréquence d'échantillonnage qui créent les données I/Q à 30,72 Méch./s. L'horloge de traitement 192 MHz et l'horloge de données 120 MHz ne sont pas synchronisées – cela est dû à la conception. Le traitement effectué dans le domaine 192 MHz a sufisamment de marge pour tenir compte des tolérances de fréquence entre les horloges 192 MHz et 120 MHz.

La chaîne de l'émetteur de liaison descendante repose sur un mécanisme de synchronisation conçu pour conserver l'alignement du traitement en bande de base et pour éviter tout dépassement – par valeurs inférieures ou supérieures – (overflow ou underflow) de la FIFO qui transfère les données entre les deux domaines d'horloge. L'hologe de données 120 MHz est utilisée comme référence de temsp absolue. Un déclenchement est généré dans le domaine d'horloge 120 MHz toutes les 10 millisecondes (pour chaque trame radio). Ce déclenchement est envoyé au domaine de traitement 192 MHz afin d'initier la création d'une nouvelle trame radio. La FIFO entre les deux domaines d'horloge garantit au module de transposition numérique par élévation de fréquence une bande passante constante.

Dans le cadre de tests, le FPGA contient une FIFO de rebouclage interne que vous pouvez utiliser pour contourner l'interface RF en transférant des échantillons directement du transmetteur au traitement en bande de base de l'émetteur. Le rebouclage interne est désactivé par défaut mais peut être activé à partir de l'hôte.

 

 Aperçu de l'implémentation hôte

Le framework d'applications LTE inclut un VI hôte de niveau principal pour configurer le FPGA et échanger les données de charge utile avec le FPGA.

Dans le coin supérieur gauche, les indicateurs et les commandes sont initialisés. Ensuite, le cluster de session (qui contient les références de tous les pointeurs requis) est généré. Toutes les boucles While utilisent ce cluster de session pendant l'exécution pour échanger des données ou accéder aux ressources FPGA. Après avoir appuyé sur le bouton Stop (ou en cas d'erreur), toutes les boucles While sont arrêtées et les pointeurs de la session sont fermés.

Les paramétrages possibles sont expliqués dans la documentation relative au projet, disponible après avoir créé une instance du framework d'applications LTE sous LabVIEW Communications. Ce VI hôte consiste en sept boucles principales indépendantes décrites ci-dessous.

Figure 17. Diagramme du VI hôte de niveau principal

  3.1.           Configurer NI USRP-RIO et l'IP LTE

Cette boucle gère la configuration des radiofréquences NI USRP-RIO et des chaînes de traitement LTE. Après avoir activé l'émetteur et le récepteur via les commutateurs RX et TX, les paramètres requis sont définis dans la chaîne de traitement LTE FPGA à l'aide des paramètres présentés sur la face-avant. La chaîne RF est ensuite lancée ou arrêtée. Certains cas d'erreur sont détectés et présentés à l'utilisateur dans des boîtes de dialogue.

  3.2.           Synchronisation et commande automatique de gain (AGC)

La boucle surveille en continu la puissance du signal reçu et ajuste le gain en conséquences pour la chaîne RX. Elle rapporte l'état de la synchronisation de la trame radio sur le FPGA et contrôle les indicateurs de débordement sur la face-avant.

  3.3.           Écriture d'indications et de graphes sur la face-avant

Cette section contient plusieurs boucles, une pour le spectre de puissance et une autre pour le calcul de la bande passante. La première boucle calcule le spectre de puissance de l'émetteur et du récepteur, la constellation PDCCH et PDSCH du signal reçu et l'estimation de canal de la séquence CRS.

Les files d'attente de données remplies par d'autres boucles dans le système créent la courbe de débit combinée. Ces files d'attente sont vidées à intervalles de temps réguliers. L'état des éléments lus est analysé et accumulé. Les valeurs des mesures de BLER sont ajoutées de sorte que vous puissiez voir le nombre total de sous-trames manquant depuis le taux d'erreur du bloc PDSCH.

  3.4.           Lecture/écriture de données UDP

Cette boucle gère les flux UDP entrant et sortants relatifs aux données d'utilisateurs. Le flux entrant est lu via le port spécifié sur la face-avant. Les données sont envoyées au FPGA par le biais d'une FIFO host-to-target. Une fois que les données valides sont décodées sur le FPGA, les données sont lues à partir de la FIFO et compactées dans un flux UDP. La destination de ce flux peut-être définie sur la face-avant.

  3.5.           État de lecture et erreurs

La première boucle lit toutes les informations relatives à l'état données par le récepteur PDSCH sur le FPGA. Étant donné que ces informations sont requises par le flux UDP sortant et pour le calcul de débit, les éléments lus sont dupliqués et écrits dans les files d'attente.

Toutes les boucles s'exécutent en parallèle pendant l'exécution du VI hôte. L'événement « bouton Stop » est capturé dans cette boucle et synchronisé avec toutes les autres boucles utilisant une queue d'événements. Chaque boucle contient le module de vérification d'arrêt connecté au terminal Condition de la boucle pour en sortir au cas où un arrêt ou une erreur serait capturé.

Conclusion

Le framework d'applications LTE 1.0 de LabVIEW Communications fournit une liaison descendante LTE temps réel sur la plate-forme SDR de NI. Ce framework vous permet de vous concentrer sur une zone de recherche spécifique en utilisant la liaison existante et en la modifiant ou en la complétant à volonté.

La souplesse de LabVIEW et la modularité de ce framework permettent d'échanger facilement des portions de la conception et de prototyper de nouveaux algorithmes pour les prochains systèmes sans fil. De plus, avec l'interface native de LabVIEW entre l'hôte et le FPGA, la conception peut-être partitionnée afin de mettre à profit l'exécution parallèle sur le FPGA et les calculs sur l'hôte.

Le fichier bitfile FPGA livré avec la conception est parfaitement fonctionnel et supporte les mode de test avec ou sans RF. Vous pouvez également utiliser un équipement RF externe tel que le transcepteur de signaux vectoriels NI 5644R pour simuler des interférences et différentes stuations de canaux.

Ce framework d'applications offre toute une variété de points de départ pour la recherche et le prototypage sans fil. Commencez dès maintenant en téléchargeant une version d'évaluation de LabVIEW Communications sur la page www.ni.com/labview-communications.

Des questions ? Contactez-nous à l'adresse labview.communications@ni.com.

Abréviations et acronymes

3GPP 3rd Generation Partnership Projects
ADC Analog-to-Digital Converter (convertisseur analogique/numérique)
AGC Automatic Gain Control (contrôle de gain automatique)
AP Antenna Port (accès antenne)
BLER Block Error Rate (taux d'erreur de bloc)
CFI Control Format Indicator (indicateur de format de commande)
CFO Carrier Frequency Offset (décalage des fréquences porteuses)
CRC Cyclic Redundancy Check (contrôle par redondance cyclique)
CRS Cell-specific Reference Signals (signaux de référence spécifiques aux cellules)
DAC Digital-to-Analog Converter (convertisseur numérique/analogique)
DC Direct Current (courant continu)
DCI Downlink Control Information (informations de commande de liaison descendante)
DDC Digital Down Conversion (transposition numérique par abaissement de fréquence)
DL Downlink (liaison descendante)
DMA Direct Memory Access (accès direct à la mémoire)
DUC Digital Up Conversion (transposition numérique par élévation de fréquence)
EEPROM Electrically Erasable Programmable Read Only Memory (mémoire morte programmable effaçable électriquement)
FFT Fast Fourier Transform (transformée de Fourier rapide)
FIFO First In First Out (premier entré, premier sorti)
FIR Finite Impulse Response (réponse finie à une impulsion)
FPGA Field Programmable Gate Array (réseau de portes programmables in situ)
HARQ Hybrid Automatic Repeat reQuest (requête automatique de répétition hybride)
IFFT Inverse Fast Fourier Transform (transformée de Fourier rapide inverse)
IFO Integer Frequency Offset (décalage de fréquence entier)
IQ In phase/Quadrature
LLR Log-Likelihood Ratio (rapport de vraisemblance logarithmique)
LSB Least Significant Bit (bit de poids faible)
LTE Long-Term Evolution (évolution à long terme)
MAC Medium Access Control layer (couche de contrôle d'accès au support)
MCS Modulation and Coding Scheme (schéma de modulation et de codage)
MSB Most Significant Bit (bit de poids fort)
OFDM Orthogonal Frequency-Division Multiplexing (multiplexage par répartition orthogonale de la fréquence)
PBCH Physical Broadcast Channel (canal de diffusion physique)
PCFICH Physical Control Format Indicator Channel (canal indicateur de format de contrôle physique)
PDCCH Physical Downlink Control CHannel (canal de contrôle de liaison descendante physique)
PDSCH Physical Downlink Shared CHannel (canal de données partagées de liaison descendante physique)
PHICH Physical Hybrid-ARQ Indicator CHannel (canal indicateur ARQ hybride physique)
PHY PHYsical layer (couche physique)
PRB Physical Resource Block (bloc de ressources physique)
PSS Primary Synchronization Signal (signal de synchronisation primaire)
QAM Quadrature Amplitude Modulation (modulation d'amplitude en quadrature)
QPSK Quadrature Phase-Shift Keying (modulation par déplacement de phase en quadrature)
RF Radio Frequency (radiofréquence)
RIO Reconfigurable Input/Ouput (entrées/sorties reconfigurables)
RNTI Radio Network Temporary Identifier (identifiant temporaire de réseau radio)
RX Récepteur
SDR Software-Defined Radio (radio logicielle)
SSS Secondary Synchronization Signal (signal de synchronisation secondaire)
TB Transport block (bloc de transport)
TDD Time Division Duplex (duplex à répartition dans le temps)
TPC Transmit Power Control (contrôle de puissance de transmission)
TX Transmetteur
UDP User Datagram Protocol (protocole UDP)
UE User Equipment (équipement d'utilisateurs)
UERS UE-specific Reference Signals (signaux de référence spécifiques aux UE)
UL Uplink (liaison montante)
USRP Universal Software Radio Peripheral (périphérique universel de radio logicielle)