Hongzhi Wang - Architectures reconfigurables à base d'opérateur CORDIC

Fef83ca87fd2a7994d087631868acf8f?s=47 SCEE Team
April 23, 2009

Hongzhi Wang - Architectures reconfigurables à base d'opérateur CORDIC

Fef83ca87fd2a7994d087631868acf8f?s=128

SCEE Team

April 23, 2009
Tweet

Transcript

  1. INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES Architectures reconfigurables à

    base Architectures reconfigurables à base d'opérateur CORDIC pour le traitement d i l A li ti é t du signal: Applications aux récepteurs MIMO Hongzhi WANG Hongzhi WANG Soutenance de doctorat Mardi 28 Avril 2009 1 UMR 6164
  2. INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES PLAN • Contexte

    de l’étude P é t ti d tè MIMO • Présentation des systèmes MIMO • Architecture reconfigurable à base d’opérateur CORDIC • Application de l’architecture CBDRA • Implantation d’un algorithme MIMO SRA sur la CBDRA • Conclusions et perspectives Hongzhi Wang 28/04/2009 2
  3. INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES PLAN • Contexte

    de l’étude B i d f t é é ti d tè d di i ti – Besoins de future génération de systèmes de radiocommunications – Émergence d’une Radio Logicielle • Présentation des systèmes MIMO • Présentation des systèmes MIMO • Architecture reconfigurable à base d’opérateur CORDIC • Application de l’architecture CBDRA • Application de l architecture CBDRA • Implantation d’un algorithme MIMO SRA sur la CBDRA • Conclusions et perspectives • Conclusions et perspectives Hongzhi Wang 28/04/2009 3
  4. INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES Contexte de l’étude

    • Système de télécommunication actuel C l ité d li ti ’ é d ît – Complexité des applications n’a pas cessé de croître – Différents standards de communication coexistent – Circuit dédié à chaque standard Circuit dédié à chaque standard • Besoins de future génération de télécommunication g – Débit élevé – Efficacité spectrale  Développement de nouvelles techniques de – Flexibilité d’adaptation Radiocommunications répondant à ces besoins  Évolution vers la radio logicielle Hongzhi Wang 28/04/2009 4  Les techniques MIMO
  5. INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES Radio Logicielle “idéale”

    (SWR) Traitements Numériques CAN large bande Filtrage RF Numériques sur un processeur généraliste large bande RF RL défi i J Mi l 1995 • RL est défini par J.Mitola en 1995 • RL idéale nécessite l’utilisation des processeurs généralistes • Coût en consommation élevé • Limite des performances de convertisseurs Hongzhi Wang 28/04/2009 5
  6. INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES Radio Logicielle “restreinte”

    (SDR) Transp. RF/FI Filtrage RF Filtrage FI Traitements Numériques sur des Composants CAN FPGA DSP CPU Composants reconfigurables RAM ROM Interfaces • Besoins pour les architectures RL « restreinte» – Importantes ressources de calcul – Hétérogénéité des architectures – Reconfigurabilité des dispositifs • Opérateurs communs • Reconfiguration matérielle Hongzhi Wang 28/04/2009 6 partielle
  7. INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES Paramétrisation dans la

    RL Objectif: mettre en évidence les traitements communs dans les différents standards • Fonctions communes Fonctions communes – Niveau de granularité élevé – Mode de fonctionnement par une liste de paramètres • Opérateurs communs – Niveau de granularité fin – Cette approche est utilisé dans cette thèse Hongzhi Wang 28/04/2009 7
  8. INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES Approche “opérateur Commun”

    pour multi-standards Standard UMTS IS95 DECT WI-FI GSM Function HMI deconvolution Synchro Modulation Coding Source Channel Single FDM Multichannel OFDM Equalization Multichannel OFDM channel per channel Filter bank FIR FFT CIC Mapping Cordic Butterfly Retour au SDR MAC LUT   Z-1 Cordic 1 R d i V M C P li t J I t ll i k ? Th ti l t d ff b t Butterfly Hongzhi Wang 28/04/2009 8 1 Rodriguez V, Moy C, Palicot J, Install or invoke?: The optimal trade-off between performance and cost in the design of multi-standard reconfigurable radios, Wireless Communications and Mobile Computing Journal, Wiley , DOI 10.1002/wcm.487
  9. INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES Reconfiguration matérielle partielle

    p • La notion de reconfiguration dynamique est liée à la caractéristique de reconfiguration partielle caractéristique de reconfiguration partielle. • Reconfigurer une partie d’un système pendant que le reste de l’application continue à tourner. reste de l application continue à tourner. • Contrairement à la notion de reconfiguration statique. • Dans cette thèse, la reconfiguration partielle consiste à Dans cette thèse, la reconfiguration partielle consiste à modifier seulement une partie d’un FPGA. • Permet de réduire le temps de configuration tout en p g donnant une souplesse accrue au système. Hongzhi Wang 28/04/2009 9
  10. INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES Deux types de

    reconfiguration partielle (1) Avec dépendance de données(2) Sans dépendance de données Hongzhi Wang 28/04/2009 10
  11. INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES PLAN • Contexte

    de l’étude • Présentation des systèmes MIMO Présentation des systèmes MIMO – Les 2 familles de systèmes MIMO – Algorithmes de réception MIMO – Comparaison de TEB et de complexité des algorithmes MIMO • Architecture reconfigurable à base d’opérateur CORDIC • Application de l’architecture CBDRA • Implantation d’un algorithme MIMO SRA sur la CBDRA • Conclusions et perspectives Hongzhi Wang 28/04/2009 11
  12. INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES Modèle MIMO channel

    Transmitter Receiver Transmitter Receiver       T N h h     1 11       ) ( 1 k r        ) ( 1 k x        ) ( 1 k n    r1 (k) x1 (k) n1 (k) hM1 h11       R T R N N N h h     1       ) (k r R N        ) (k x T N        ) (k n R N    rN ( k ) xM (k) nM (k) hMN h1N ) ( ) ( ) ( k k k n x H r    Hongzhi Wang 28/04/2009 12
  13. INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES Les 2 familles

    de systèmes MIMO • Systèmes à base de Codage (Space-Time coding) pour y g ( p g) p amélioration des performances en TEB Codes Alamouti Tarokh – Codes Alamouti,Tarokh – Nombreux travaux…. S • Systèmes à base de multiplexage spatial pour augmenter le débit. – Travaux des Bell Labs – Contexte de notre étude Hongzhi Wang 28/04/2009 13
  14. INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES Algorithmes de réception

    MIMO • Matrice du canal H connue: –Maximum likelihood (ML) –Sphere decoding B h B d –Branch Bound –Récepteurs linéaires (ZF, MMSE) –Successive interference cancellation (SIC): V-BLAST (Square Root) M t i d l H i • Matrice du canal H inconnue: –MUK (Multiuser Kurtosis Maximization) CMA (C t t M d l Al ith ) –CMA (Constant Modulus Algorithm ) –CNA (Constant Norm Algorithm) Hongzhi Wang 28/04/2009 14
  15. INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES Comparaison des Algorithmes

    de réception MIMO Sphère ML OSIC V-BLAST TEB V BLAST V-BLAST square root ZF ou MMSE Antennas SIC V-BLAST F ill d l ith à S t ti d’i t fé SNR • Famille des algorithmes à Soustraction d’interférences – TEB proche de l’optimal – Faible complexité St bilité é i Hongzhi Wang 28/04/2009 15 – Stabilité numérique
  16. INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES Algorithme MIMO V-BLAST

    Square Root (SRA) Supposons la matrice du canal H connue 1 Décomposition QR de H augmentée de la quantité de bruit q ( ) 1. Décomposition QR de H augmentée de la quantité de bruit Pseudo-inverse: (aI+H*H)-1H* où P=(I +H*H)-1 (The covariance Matrice) Alors on obtient R-1=P1/2 H+=P1/2 Qa* Utilisation d’une relation récurrence pour Alors on obtient R =P , H =P Qa , Utilisation d une relation récurrence pour calculer P1/2 and Qa.    M M i M i P H    2 / 1 1 1 1          M M M    2 / 1 1 0 P1/2 P1/2 2 Ordonner les vecteurs de P1/2     M N i N i M M i M i i Q e P        1 1 2 / 1 1 1 1 0             M N i M M i Q P     2 / 1   i P1/2 Q Q P1/2 P1/2 i = 2. Ordonner les vecteurs de P1/2 Effectuer une transformation unitaire  pour rendre P1/2 triangulaire. 3. Actualiser Qa à partir de Qa. 4. Calculer les nulling vecteurs wi pour conserver la contribution la plus forte, 5. calculer le symbole le plus proche. 6. Soustraire l’interférence de ce signal décodé au signal reçu. Retour à l’étape 2 et effectuer les mêmes calculs pour le symbole suivant. Hongzhi Wang 28/04/2009 16 B. Hassibi: “An efficient square-root algorithm for BLAST,34th ASILOMAR Conference, 2000.
  17. INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES Représentation fonctionelle de

    l’algorithme SRA (1) g     M M M P H   2 / 1 1 1       M   1 0 Q = Q  P1/2 =    M i M i M M i M i M P P P 2 / 1 2 / 1 2 / 1 0               M N i N i M M i M M M i M i Q e P P H         1 1 2 / 1 1 1 2 / 1 1 1 0 1                M N i M M i Q P     2 / 1 0   i M1 Unitary transformation H P1/2 Q a M2 Unitary transformation  i i  M3 Unitary transformation  i input data Modules M1, M2, M3 basés sur CORDIC r s i P w i M4 Calculation of M5 Calculation of M6 Interferences p i Q* a ri p Modules M4, M5, M6 basés sur PE (MAC) output data nulling vectors yi and si Cancellation basés sur PE (MAC) w i = p i q* ,i ri-i = ri -h i ŝ i y i = w i r ŝ i = decision( y i ) (1) Hongzhi Wang 28/04/2009 17 (1)H. WANG, P. LERAY, J. PALICOT, Reconfigurable architecture for MIMO systems based on CORDIC operators, Comptes Rendus Physique, Elsevier, volume 7 septembre 2006, pp 735-750.
  18. INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES PLAN • Contexte

    de l’étude • Présentation des systèmes MIMO Présentation des systèmes MIMO • Architecture reconfigurable à base d’opérateur CORDIC – Opérateur CORDIC p – Présentation de l’architecture reconfigurable CBDRA • Application de l’architecture CBDRA aux récepteurs MIMO • Implantation d’un algorithme MIMO SRA sur la CBDRA • Conclusions et perspectives Hongzhi Wang 28/04/2009 18
  19. INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES L’algorithme CORDIC •

    CORDIC est un algorithme de calcul des fonctions trigonométriques et hyperboliques. • Il a été décrit pour la première fois en 1959 par J k E V ld Jack E. Volder • Il s’appuie sur une technique d’additions et de décalage entre vecteurs décalage entre vecteurs. • Il exécute des rotations sans utiliser d’opération de multiplication multiplication. CORDIC : COordinate Rotation DIgital Computer Hongzhi Wang 28/04/2009 19
  20. INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES Principe de l’algorithme

    CORDIC Y V’ x’ = x cos(θ) - y sin(θ) y’= y cos(θ) + x sin(θ) y’ V V’ y y cos(θ) + x sin(θ) xi+1 = xi - di . dyi où dy = y × 2-i X x y x’ V θ i+1 i i yi yi+1 = yi + di . dxi ai+1 = ai – di . dai dyi = yi × 2 dxi = xi × 2-i dai = tan-1(2-i) di = ±1 selon le signe de ai ou yi Mode vecteur: calcule simplement l’amplitude et la phase du vecteur à partir des coordonnées x et y Mode rotation: calcule la rotation du vecteur d’entrée d’un angle x x 90° 45° du vecteur à partir des coordonnées x et y Y g 90° 45° 26° (0,1) Y Phase = 90° Phase = 90° + 45° 45 26° 14° X 45        2 1 , 2 3 X Phase = 90°+45°+26° Hongzhi Wang 28/04/2009 20 X Le nombre d’itérations donne la précision Phase = 90° + 45° + 26° - 14° =137°
  21. INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES Concept de CORDIC

    x y θ Cordic_pipe1 REG xi yi tan-1(2-i) θi >>i >>i Cordic_pipe2 REG +/- +/- +/- Signe de yi ou θi n étages REG REG REG xi+1 yi+1 θ i+1 C di i architecture orientée Cordic_pipen REG très haut débit Hongzhi Wang 28/04/2009 21 x’ y’ θ’
  22. INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES Applications utilisant CORDIC

    CORDIC peut être utilisé dans de nombreuse fonctions de traitement du signal • La transformée de Fourier discrète, rapide • Le filtrage fréquentiel • Le filtrage récursif optimal • Le filtrage de Kalman • La décomposition en valeur singulière (SVD) • Les rotations Givens • Modulation numérique • Algorithme des moindres carrés récursif g … Hongzhi Wang 28/04/2009 22
  23. INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES FFT basée sur

    CORDIC π/4 ar ai ar ’ ai ' 3π/4 -ar -ai ar ’ ai ' Cordic type I Cordic type II π/4 ai br br ai br ’ br ’ 3π/4 ai -br -br ai -br ’ -br ’ I I I s(1) s(5) ŝ(1) -ŝ(5) FFT radix 2 sur 8-points L’ordre et I II I w1/4 w1/8 s(5) s(3) s(7) -ŝ(5) ŝ(2) -ŝ(6) l’amplitude à ajuster I I I II II II w2/8 s(2) s(6) s(4) ŝ(3) -ŝ(7) ŝ(4) s = 23/2 ·ŝ I II II w1/4 w3/8 s(8) -ŝ(8) twiddle factor w(x/y) = e(-j2πx)/Y B Heyne G Jurgen and M Bucker “Implementation of a Cordic Hongzhi Wang 28/04/2009 23 B.Heyne, G.Jurgen and M.Bucker , Implementation of a Cordic Based FFT on a Reconfigurable hardware Accelerator”, in Karlsruhe Workshop on Software Radios, 2004
  24. INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES SVD basée sur

    CORDIC Processeurs diagonaux Pii calculent P11 P12 P13 P14 les rotations suivantes: P22 P23 P21 P24 Processeurs non-diagonaux Pij appliquent les rotations suivantes: P33 P31 P32 P34 P43 P41 P42 P44 P43 P41 P42 P44 Architecture pour l’ algorithme Jacobi Les rotations peuvent être effectuées par les opérateurs CORDIC. R. P. Brent and F. T. Luk, The solution of singular-value and symmetric SVD Hongzhi Wang 28/04/2009 24 f g y eigenvalue problems on multiprocessor array, SIAM J. Scientific and Statistical Computing 6 (1985), 69-84.
  25. INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES Architecture reconfigurable CBDRA

    • L’architecture se décompose en trois niveaux: – le gestionnaire de l’architecture – le contrôleur de configuration – le bloc de traitement. Gestionnaire de E/S Mémoire de données Contrôleur Gestionnaire de L’architecture Contrôleur des tâches Interconnexion Contrôleur de configuration Mémoire de gestionnaire tâches CORDIC CORDIC CORDIC Mémoire de configuration Hongzhi Wang 28/04/2009 25
  26. INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES Reconfiguration statique et

    dynamique y q E/S Mémoire de données MUX5&6 MUX5&6 MUX5&6 MUX5&6 … … Interconnexion Contrôleur des tâches Reconfiguration partielle Reconfiguration dynamique MUX5&6 MUX5&6 MUX … MUX5&6 MUX5&6 MUX Reconfiguration statique CORDIC CORDIC CORDIC CORDIC CORDIC CORDIC CORDIC Reconfiguration statique CORDIC CORDIC CORDIC CORDIC CORDIC Hongzhi Wang 28/04/2009 26
  27. INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES Relation théorique entre

    le nombre CORDIC et les caractéristiques des applications Le temps maximal TC nécessaire doit rester inférieur au temps d’acquisition Tacq : Où On obtient Pour CORDIC à Np étages: Notations utilisées dans les équations: Hongzhi Wang 28/04/2009 27
  28. INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES Flots de conception

    FPGA Bit t l b Flot de conception modulaire Flot de conception reconfigurable Bitstreams globaux Bitstreams partiels Hongzhi Wang 28/04/2009 28 Flot de conception modulaire Flot de conception reconfigurable
  29. INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES Gestion de reconfiguration

    sur FPGA • Contrôleur externe – GPP ou DSP – port SelectMap ou JTAG • Contrôleur interne – processeur embarqué – uBlaze/PPC ou machine d’état – ICAP Hongzhi Wang 28/04/2009 29
  30. INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES PLAN • Contexte

    de l’étude • Présentation des systèmes MIMO Présentation des systèmes MIMO • Architecture reconfigurable à base d’opérateur CORDIC • Application de l’architecture CBDRA pp • Implantation d’un algorithme MIMO SRA sur la CBDRA • Conclusions et perspectives Conclusions et perspectives Hongzhi Wang 28/04/2009 30
  31. INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES Architecture des modules

    M1 ,M2 ,M3 Exemple: Calculs de P1/2 et Qa pour MIMO 2×2 dans le module M1 θ1 0 0 0 0 P0 1/2 et Q0 θ2 Ø1 0 Ø1 Ø1 Ø1 Ø2 Ø2 Ø2 0 0 0 Ø2 Ø2 0 -1 0 Contrôleur Interconnexion E/S Mémoire de données θ3 Ø3 Ø3 Ø3 Ø3 Ø3 θ3 θ4 θ4 θ3 0 Ø3 0 0 Co t ô eu des tâches CORDIC CORDIC CORDIC Interconnexion Ø4 Ø4 Ø4 Ø4 Ø4 Ø4 Ø4 0 -1 0 0 0 0 0 0 CORDIC CORDIC CORDIC P1/2 et Qa Structure parallèle (29 CORDIC) (1) Hongzhi Wang, Pierre Leray and Jacques Palicot, «An efficient MIMO V-BLAST decoder Structure reconfigurable Hongzhi Wang 28/04/2009 31 Hongzhi Wang, Pierre Leray and Jacques Palicot, «An efficient MIMO V BLAST decoder based on a dynamically reconfigurable FPGA including its reconfiguration management », ICC08, Beijng, China.
  32. INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES Relation théorique entre

    le nombre CORDIC et le débit du décodeur MIMO Dans un système MIMO Tacq est le temps de stationnarité du canal: Dans un système MIMO, Tacq est le temps de stationnarité du canal: Number of CORDIC On obtient: NCtotal Notations utilisées dans les équations: NCoptimal M débi Hongzhi Wang 28/04/2009 32 Max. demandé débit
  33. INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES Analyse de l’architecture

    reconfigurable Cette équation donne NC_optimal=5 pour un débit de 600Mb/s et la durée de stationnarité du canal à 1 s θ1 Ø1 0 0 0 0 P0 1/2 and Q0 θ2 Ø1 Ø1 Ø1 Cycle 1 Cycle 2 Ø1 0 Ø1 Ø1 Ø1 θ4 Ø2 Ø2 Ø2 0 0 0 Ø2 θ4 θ3 θ3 θ3 Ø2 0 -1 0 Cycle 2 Cycle 4 Cycle 3 5 parallel CORDIC Ø3 Ø3 Ø3 Ø3 Ø3 Ø4 Ø4 Ø4 Ø4 Ø4 Ø4 0 Ø4 0 Ø4 0 - 1 0 0 0 0 0 0 Cycle 4 Cycle 5 Cycle 7 θ 1 θ 2 Ø 1 Ø 1 Ø 1 Ø 1 Ø 2 Ø 2 Ø 2 Ø 2 Ø 2 θ 3 θ 3 θ 3 θ 4 θ 4 Ø 3 Ø 3 Ø 3 Ø 3 Ø 3 Ø 4 Ø 4 Ø 4 Ø 4 Ø 4 Ø 4 Ø 4 Ø 4 P1/2 andQa 4 4 4 4 4 4 4 Cycle 6 N cycles 1 2 3 4 5 6 7 2 4 3 4 Hongzhi Wang 28/04/2009 33
  34. INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES Analyse de l’architecture

    reconfigurable Cette équation donne NC_optimal=3 pour un débit de 360Mb/s et la durée de stationnarité du canal à 1 s P 1/2 d Q 3 parallel CORDIC θ1 0 0 0 0 P 0 1/2 and Q0 θ2 Cycle 1 θ1 p θ2 Ø1 Ø1 Ø1 Ø2 Ø2 Ø2 Ø4 Ø4 Ø4 Ø4 Ø3 Ø3 Ø3 Ø3 θ3 θ3 θ4 θ4 Ø1 0 Ø1 Ø1 Ø1 Ø2 Ø2 Ø2 0 0 0 Ø2 Ø2 0 -1 0 Cycle 2 Cycle 5 Cycle 4 Cycle 3 N cycles 1 2 3 4 5 6 7 8 9 10 Ø1 Ø2 Ø2 Ø4 Ø4 Ø3 Ø4 θ3 Ø3 θ4 Ø3 Ø3 Ø3 Ø3 Ø3 θ4 θ3 θ3 θ3 Ø3 0 0 Cycle 5 Cycle 6 Cycle 7 Cycle 8 P1/2 d Q Ø4 Ø4 Ø4 Ø4 Ø4 Ø4 Ø4 0 - 1 0 0 0 0 0 0 Cycle 7 Cycle 9 Cycle 10 Hongzhi Wang 28/04/2009 34 P1/2 and Qa
  35. INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES Utilisation de la

    reconfiguration dynamique CORDICθ1 CORDICθ2 ß 0 0 ß P0 1/2 and Q0 Reconfiguration 1 CORDIC Configuration Initialization CORDICØ1 CORDICØ1 CORDICØ1 Reconfiguration 1 Reconfiguration 2 Partial Configuration CORDICØ1 CORDICØ2 CORDICØ2 Reconfiguration 3 1part of processing Partial Configuration CORDICØ4 CORDICØ4 CORDICØ4 Reconfiguration 9 2 part of processing Partial Configuration Séquencements de la reconfiguration P1 1/2 and Qa CORDICØ4 CORDICØ4 CORDICØ4 Partial Configuration Chaque reconfiguration représente un état du reconfiguration Last part of processing End of decoding • Chaque reconfiguration représente un état du multiplexeur. • Les reconfigurations sont insérées dans les Hongzhi Wang 28/04/2009 35 traitements du décodeur.
  36. INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES Architecture de Modules

    M4 ,M5 ,M6 w r wi PE wi rin der PE MAC B U F F y Ord PE Decision F E R yi - si s rout i s PE • 1PE/antenne de réception • Le nombre total de PEs peut s’adapter à la vitesse de calcul de H Hongzhi Wang 28/04/2009 36
  37. INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES Architecture de l’ensemble

    du décodeur V-BLAST SRA RF Estimation Canal Détecteur A/D H r s Récepteur SRA Décodeur BUFFER contrôleur H r FIFO CORDIC CORDIC PE PE s FIFO CORDIC PE PE PE s CORDIC CORDIC Hongzhi Wang 28/04/2009 37
  38. INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES Le TEB en

    fonction du SNR • Les performances en terme de TEB sont identiques pour q p V-BLAST classique et V-BLAST SRA utilisant CORDIC. CORDIC. • CORDIC 15étages • Etude de l’influence du nombre d’ étages CORDIC nombre d étages CORDIC sur la performance TEB Hongzhi Wang 28/04/2009 38
  39. INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES Impact du nombre

    d’étages de l’opérateur CORDIC sur le TEB du décodeur • Les courbes TEB pour les SNR à 2dB et 6dB deviennent stables après 4i étages de calculs de l’opérateur CORDIC. l opérateur CORDIC. • Le courbe TEB pour le SNR à 10dB devient stable après 6i étage étage. • Il faut augmenter le pas de quantification pour avoir plus de précision quand le SNR devient grand. • Le pas de quantification est Le pas de quantification est un étage dans le CORDIC. Hongzhi Wang 28/04/2009 39
  40. INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES Comparaison des TEB

    en utilisant différents nombres d’étages CORDIC • Le TEB de V-BLAST classique et Le TEB de V BLAST classique et celui utilisant CORDIC de15 étages sont identiques. • A partir de 6 étages, le TEB commence à se dégrader. • Le bruit de quantification introduit par CORDIC de 6 étages devient par CORDIC de 6 étages devient prépondérant par rapport au bruit de transmission. Hongzhi Wang 28/04/2009 40
  41. INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES Impact du nombre

    d’étages de l’opérateur CORDIC sur le EQM du décodeur • le nombre d’étages CORDIC nécessaire est variable pour p différents SNR. • les nombres d’étages nécessaires pour les SNR à nécessaires pour les SNR à 20dB, 30dB, 40dB sont 6, 10, 14 respectivement pour que les courbes EQM deviennent courbes EQM deviennent stables. • Plus le SNR est élevé, plus le nombre d’étage nécessaire augmente, car le bruit de quantification devient q prépondérant par rapport au bruit de transmission. Hongzhi Wang 28/04/2009 41
  42. INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES Algorithme MIMO MMSE

    SRA Supposons la matrice du H connue 1 Décomposition QR de H augmentée de la quantité de bruit • MMSE SRA est un sous ensemble du V-BLAST SRA 1. Décomposition QR de H augmentée de la quantité de bruit Pseudo-inverse: (aI+H*H)-1H* où P=(aI +H*H)-1 (The covariance Matrice) Alors on obtient R-1=P1/2 H+=P1/2 Qa* Utilisation d’une relation récurrence Alors on obtient R =P , H =P Qa , Utilisation d une relation récurrence pour calculer P1/2 and Qa.    M M i M i P H    2 / 1 1 1 1          M M M    2 / 1 1 0 P1/2 P1/2     M N i N i M M i M i i Q e P        1 1 2 / 1 1 1 1 0             M N i M M i Q P     2 / 1   i P1/2 Q Q P1/2 Sans ordonnancement 2. Effectuer une transformation unitaire  pour rendre P1/2 triangulaire. 3. Actualier Qa à partir de Qa. 4. Calculer les nulling vecteurs wi Sans ordonnancement calculs en parallèle 5. calculer le symbole le plus proche. Sans soustraction des interférences p Hongzhi Wang 28/04/2009 42
  43. INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES CBDRA pour d’autres

    algorithmes MIMO :MMSE SRA f • Les performances en terme de TEB sont identiques pour MMSE classique et MMSE SRA utilisant CORDIC. • Nous pouvons optimiser les • Nous pouvons optimiser les ressources en diminuant le nombre d’étages de CORDIC Hongzhi Wang 28/04/2009 43
  44. INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES Algorithme MIMO CMA

    Signaux à ses sortie du filtre BSS: Filtre BSS WT y(n) z(n) Il faut donc trouver le séparateur W: Où le gradient est: Hongzhi Wang 28/04/2009 44
  45. INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES Algorithme CMA utilisant

    CORDIC Pour un système MIMO 2 × 2: Pour un système MIMO 2 × 2: Résumé des calculs remplacés par CORDIC Gain en complexité Gain en complexité Hongzhi Wang 28/04/2009 45
  46. INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES CBDRA pour d’autres

    algorithmes MIMO :CMA • Condition de simulation: –SNR = 30dB –SNR = 30dB –MIMO 2× 2 –Modulation 4-QAM • SINR obtenues à travers 100 réalisation, SNR = 15 S SG C La différence • Le valeur de SINR de SG-CMA classique est supérieur que celui utilisant CORDIC est liée à l’erreur de quantification • Ils convergent à la même vitesse: stable à partir de 2500 symboles. Hongzhi Wang 28/04/2009 46 y
  47. INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES PLAN • Contexte

    de l’étude • Présentation des systèmes MIMO Présentation des systèmes MIMO • Architecture reconfigurable à base d’opérateur CORDIC • Application de l’architecture CBDRA aux récepteurs MIMO pp p • Implantation d’un algorithme MIMO SRA sur la CBDRA • Conclusions et perspectives p p Hongzhi Wang 28/04/2009 47
  48. INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES Réalisation matérielle de

    CORDIC >>0 >>0 θ1 θi n constante xin yin ± ± ± Registre Registre >>1 >>1 θ2 signe constante Registre ± ± ± Registre Registre θ signe constante Registre ± ± >>2 >>2 ± θ3 Registre Registre g constante Registre ± ± >>3 >>3 ± θ4 signe constante Etage itératif de CORDIC Registre Registre >>4 >>4 θ5 signe constante Registre Hongzhi Wang 28/04/2009 48 ± ± ± xout yout θout Structure pipeline
  49. INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES β ŝ Architecture

    générale du décodeur Décodeur V-BLAST Square Root H β y ŝ Module de Décomposition Décodage des H y stockage de QR (CORDIC) Décodage des Données (PE) β P1/2 Qα pi y w Unité de contrôle Ordonnancement Calcul des vecteurs «nulling» pi q*α,i contrôle M1, M2, M3 H Q M4, M5, M6 M1 Unitary transformation H r P1/2 Q a M2 Unitary transformation  i i  M3 Unitary transformation  i p i Q* a input data Hongzhi Wang 28/04/2009 49 s i w i M4 Calculation of nulling vectors M5 Calculation of yi and si M6 Interferences Cancellation ri
  50. INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES Détails des modules

    implémentés M1 Unitary transformation H r P1/2 Q a M2 Unitary transformation  i i  M3 Unitary transformation  i Q* input data s i w i M4 Calculation of nulling vectors M5 Calculation of yi and si M6 Interferences Cancellation p i Q* a ri Calc ls des ecte rs n lling Hongzhi Wang 28/04/2009 50 Calculs des vecteurs « nulling »
  51. INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES Détails des modules

    implémentés M1 Unitary transformation H r P1/2 Q a M2 Unitary transformation  i i  M3 Unitary transformation  i Q* input data s i w i M4 Calculation of nulling vectors M5 Calculation of yi and si M6 Interferences Cancellation p i Q* a ri C Hongzhi Wang 28/04/2009 51 – Calculs des symboles estimés – Calculs des annulation des interférences
  52. INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES Architecture CBDRA avec

    reconfiguration dynamique Host manager Fichiers de reconfiguration (Bitstreams) Configuration Processing units (Bitstreams) Configuration Cache Memory Reconf units Reconfiguration Controller (MicroBlaze) Interconnections Reconf_req Reconf ack BM PRM_ 0 PRM 1 CRU CRU CORDIC I/O ICAP Reconf_ack PRM_ 1 PRM_ 2 Buffer I/O Fixed Modules Fixed Area Reconfigurable Area FPGA Hongzhi Wang 28/04/2009 52 Area
  53. INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES Vue du décodeur

    après placement/routage FPGA FPGA: Xilinx Virtex (MIMO 22 QPSK modulation) Hongzhi Wang 28/04/2009 53
  54. INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES TEB en fonction

    du SNR • Les performances en terme de TEB sont identiques pour q p V-BLAST classique et SRA utilisant CORDIC en virgule flottante et celui en virgule flottante et celui en virgule fixe. Hongzhi Wang 28/04/2009 54
  55. INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES Résultat de Synthèse

    FPGA: Xilinx Virtex (MIMO 22 modulation QPSK) Virtex-4 Virtex-II x2v-2000 FPGA reconfiguration dynamique Utilisant la reconfiguration statique 4 (3+1V) 4 (3+1V) y q 8 (3+2+2+1V) g q 4 (3+1V) 16 (5+4+4+3V) 50 (29+8+8+5V) Nb de CORDIC 40% 4505 6% 26% 90% Non applicable Non applicable % device surface 2857 9936 2857 14380 29036 Slices 150Mbits/s 10Mbit/s 135Mbits/s 360Mbits/s 600Mbits/s 600Mbits/s Débit St ti ité 159MHz 148.6 MHz Fréquence V: CORDIC en mode vecteur 1ms 1s Stationnarité du canal Hongzhi Wang 28/04/2009 55 V: CORDIC en mode vecteur
  56. INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES Temps de reconfiguration

    b d Sli i i 4 Nb de Slices Virtex-II Virtex-4 Sans reconfiguration ti ll 4505 16ms 2ms partielle Partie fixe 2857 12ms 1.5ms P i fi bl 76 0 4 0 05 Partie reconfigurable 76 0.4ms 0.05ms Le temps de reconfig ration dans le Virte 4 est 8 fois pl s • Le temps de reconfiguration dans le Virtex-4 est 8 fois plus petit que celui de Virtex-II. • La taille de Bitstream pour la reconfiguration partielle est petite, ce qui permet de diminuer le temps de reconfiguation. • Dans la technologie actuelle, le temps de reconfiguration reste long par rapport à la cadence de calcul du composant. Hongzhi Wang 28/04/2009 56
  57. INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES Résultat de synthèse

    Nb d’étages 15 6 FPGA Virtex-II 2000 Nb d’étages 15 6 FPGA Virtex-4 g Nb de CORDIC 4(3+1V) g Nb de CORDIC 4(3+1V) Slices 2857 2220 CORDIC Slices 2857 2220 % de Surface 26% 21% % de Surface 4% 3% Réduction de 22% en nombre de Slices Hongzhi Wang 28/04/2009 57
  58. INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES Conclusion et perspectives

    • Nous avons réalisé une architecture reconfigurable à base d'opérateur commun CORDIC pour répondre aux besoins de la multitude des standards de communication: – Nombre de CORIDC variable en fonction de débit – Nombre d’étages CORDIC peut être modifié en fonction de SNR. – Reconfiguration statique pour le débit élevé; reconfiguration dynamique pour la basse consommation et les limites de ressources. • Les applications de l’architecture CBDRA aux récepteur MIMO sont étudiées par 3 exemples: V-BLAST SRA, MMSE CMA et une i l t ti FPGA d’ dé d V BLAST SRA t é li é implantation FPGA d’un décodeur V-BLAST SRA est réalisée. Perspectives: • Implémenter les modules M4, M5, M6 à base de CORDIC Implémenter les modules M4, M5, M6 à base de CORDIC • Implémenter un décodeur MIMO HISD en utilisant CORDIC. • Continuer à étudier l'opérateur CORDIC comme un opérateur commun dans la paramétrisation de la radio logicielle commun dans la paramétrisation de la radio logicielle. • Apportera solutions différentes que les opérateurs classiques tels que le multiplieur, l'additionneur. Hongzhi Wang 28/04/2009 58 • Il serait envisageable de câbler l’opérateur CORDIC dans le FPGA comme le MAC.
  59. INSTITUT D’ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES Structures CORDIC pour

    M4,M5,M6 M1 Unitary transformation H Q a M2 Unitary transformation  i i  M3 Unitary transformation  i i d transformation r s i P1/2 transformation  i w i M4 Calculation of nulling vectors M5 Calculation of y and s M6 Interferences Cancellation i  transformation  i p i Q* a ri input data Gain en complexité nulling vectors yi and si Cancellation Hongzhi Wang 28/04/2009 59 Retour à la conclusion