Home

Implémentation sur DSP d`un démodulateur numérique du signal

image

Contents

1. 32 2 signal t 0 1 fe 20 fb e f d e load 120 3 plt dp Hilbert BO firl ordreh 480 fe 2 for 1 1 1 ordreh 1 Bh 1 B0 1 exp i 1 1 2 pi 9960 fe end s filter Bh 1 e s s ordrehr10 length s sr real s si imag s sl atan2 si sr F l length s Eer k 2 1 1 if s1 k s1 k 1 pi s1 k 1 s1 k s1 k 1 2 pi else if s1 k s1 k 1 gt pi s1 k 1 s1 k s1 k 1 2 pi else s1 k 1 s1 k s1 k 1 end end end 2 passe bas B firl ordreb fcb fe 2 Sref filter B 1 s1 Sref Sref ordreb 10 length Sref Sref Sref mean Sref 1 1000 DEE EEE EEE 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 20 VAR 2 passe bas Svar filter B 1 e Svar Svar ordreb tordreh 20 length Svar Svar Svar mean Svar 1 1000 loor q 1 cos 2 pi fh t 16 sin 2 pi fb t cos 2 pi fb t 60 pi 180 33 DEPHASAGE detection des z ros n 0y1 2 while n lt 18 if Sref i l Sref i A i 1 Sref i 1 B Sref i 1 Sre
2. valeur en sortie int phase_M 2 3 120 valeur en sortie valeur en sortie lt lt 24 Decalage a droite valeur en sortie valeur en sortie 0x80000000 Bit de signe 5 out port b valeur en sortie commande de clignotement if k lt 4 set flag SET FLAGI TGL FLAG set flag SET FLAG2 TGL FLAG set flag SET FLAG3 TGL FLAG moy_ref moy_ref 30 fe par fe 30 nbech pour une periode du 30 Hz f9960 fe moy_ref 2 pi 29 filtrepb Svar tampon4 pomepepeeeeeeeeeCALCUL DE LA VALEUR MOYENNE VAR Preno okk moy_var moyenne Svar i0 1000 moyenne sur une periode de 30 Hz rech zero ref tref moy ref rech zero Svar tvar moy var perado kC A CUL DES FREQUENCES DU REF ET DU VAR Stee f30 freq tref if ref i0 moy_ref Svar i0 moy_var gt 0 for i 0 i lt nb_zer i tref 1 f30 tref 1 tvar 1 25180 phase moyenne tref 0 nb zer for i 0 i lt nb_zer 2 i tref i f30 tref i 1 tvar i 2 180 phase moyenne tref 0 nb_zer 2 rtk kk kkk CORRECTION DU DEPHASAGE DU AU FILTRE DE HILBERT phase phase 180 f30 ordreh fe else pereas kk CORRECTION DU DEPHASAGE DU A LA DERIVATION kkk phase phase 1 f30 2 180 2 fe Buffer k fmodf phase 360 if Buffer k 0 l Buffer k 360 if k nb_saisies 1 H 0 H o Ki else k 30 if 4 DII K 1 gt 3 d 1 si buffer plein phase M 0 Min1 1000
3. Max1 1000 Min2 1000 Max2 1000 for i 0 i lt nb_saisies d 1 d k 1 i if Buffer i lt Minl Min2 Min Min Buffer i else if Buffer 1 Min2 Min2 Bvuffer 1 if Buffer i gt Max1 Max2 Max Max1 Buffer i else if Buffer i gt Max2 Max2 Buffer i phase M Buffer 1 phase M Max1 Min1 Max2 Min2 phase M phase_M nb_saisies d 1 d k 1 4 if Max1 Min1 gt 355 Max1 Min1 gt 355 si phase proche de 0 ou 36095 phase M 0 Min1 1000 Max1 1000 Min2 1000 Max2 1000 for i 0 i lt nb_saisies d 1 d k 1 i if Buffer i gt 355 Buffer i 360 31 if Buffer 1 Min1 l Min2 Min Minl Buffer i if Buffer i lt Min2 Min2 Buffer i else if Buffer i gt Max1 Max2 Max Max1 Buffer i if Buffer i gt Max2 Max2 Buffer i else phase_M Bufferli phase_M Max1 Min1 Max Min2 phase_M phase_M nb_saisies d 1 d k 1 4 2 _ Programme Matlab clc clear all close all param tres kk kkbkk kkk kkkkkkkkkkkkxk fcb 90 fb 30 fh 9960 q 64 fe 30000 ordreb 100 ordreh 100
4. 1100 30Khz 33Mhz qui est la fr quence d horloge du DSP Ensuite une boucle infinie est ouverte qui permettra aux mesures de phases de se succ der Au d but de cette boucle les interruptions sont autoris es pendant 11500 acquisitions qui correspond au nombre d chantillons souhait Pendant ces interruptions le filtrage et le traitement du REF sont effectu s et la premi re op ration qui suit consiste r cup rer la fr quence f9960 partir de la valeur moyenne du signal REF d modul Le signal VAR est ensuite filtr gr ce la fonction filtrage passe bas et sa moyenne est r cup r e Les fonctions de recherche de z ros sont ensuite appliqu es successivement aux deux signaux trait s Pour pr voir le d phasage d au filtre de Hilbert on r cup re ensuite la fr quence du signal REF gr ce la fonction freq 21 Un algorithme permet ensuite de mesurer l avance de phase du VAR partir des deux tableaux de z ros Ce d phasage brut est ensuite corrig du d phasage d au filtre de Hilbert et la d rivation La phase ainsi obtenue est translat e dans l intervalle 0 360 puis m moris e dans le buffer tournant Enfin un algorithme permet de moyenner les valeurs de phases contenues dans le buffer tournant en excluant 4 valeurs extr mes les deux valeurs maximales et minimales Un algorithme sp cifique est employ si les valeurs maximums et minimums sont loign es d au moins 3559 En ef
5. ESE Ek Ier la KEO Petr ea ee E En Le LORS Ben Magnitude dB 80 i i l i i 0 02 0 04 0 06 0 08 0 1 OBI 0 14 0 16 0 18 Normalized Frequency x rad sample Phase degrees H Oo Oo i i i 1 1 i i 0 02 0 04 0 06 0 08 oA 0 12 0 14 0 16 0 18 Normalized Frequency xn rad sample Figure 7 a diagrammes de Bode du filtre de Hilbert centre f 9960 Hz T m H r il D 100 FF H i 150 i Oo 0 2 04 0 5 0 8 d Normalized Frequency xn rad sample o T T D eo0ok e H l i H D H D S 1D0O0k KEE p EES i H i i 1500 i i i Q GE 04 06 0 8 J Normalized Frequency xn rad sample Figure 8 Le r sultat de ce filtrage est de la forme 0 6 exp j o t n sin Q t 61 62 o bl et 62 sont des phases caract ristiques du filtre de Hilbert qui seront explicit es par la suite Il reste ensuite r cup rer l argument de exponentielle complexe o t n sin Qt 61 02 En pratique la fonction arctan2 de Matlab est valeurs dans Lal et la fonction temporelle obtenue pr sente donc des discontinuit s de 7 T et de T n Figure 9 13 Figure 9 La solution retenue est de d tecter ces discontinuit s en comparant 2 valeurs cons cutives et d ajouter 27 si s n 1 s n 7 de soustraire 27 si s n 1 s n gt Figure 10
6. TRANSPOSITION DU PROGRAMME SUR DSP 1 Choix du processeur de signaux Le signal e t varie entre 0 8 V et 3 2 V autour de la valeur moyenne 2V Parmi les DSP dont nous disposions I ENAC seul I ANALOG DEVICE 21020 peut accepter des signaux voluant dans cette plage de tensions et contenant une composante continue De plus il tait le seul pouvoir monter jusqu 30 kHz pour la fr quence d chantillonnage 2 Structure du programme Le programme est constitu d une partie principale d une proc dure d interruption et de trois fonctions moyenne filtrage passe bas recherche de z ros Le programme principal configure le timer autorise ou non l interruption d chantillonnage effectue le traitement du signal VAR et mesure le d phasage Il doit aussi g rer un buffer tournant qui permet de moyenner les mesures de d phasage La proc dure d chantillonnage capte la valeur en entr e duplique le signal pour pouvoir effectuer deux traitements distincts sur le REF et le VAR et traite le signal REF pour diminuer la dur e des traitements ult rieurs dans le main La dur e de traitement doit en effet tre minimis e afin de permettre l utilisation du programme en temps r el 3 Le programme principal MAIN Apr s les d clarations de variables le programme principal configure la proc dure d interruption et le timer Celui ci est r gl 30 Khz au moyen de l argument 1100 de la fonction timer_set En effet
7. de espacement entre les raies T T So 50 100 Amplitude en dB 150 200 250 1 1 1 1 9900 9950 10000 10050 frequence en Hz Figure 3 On constate que le signal analytique est sym trique autour de la raie 9960 Hz 30 332 Il s vanouie rapidement pour f gt 10440 Hz 10440 9960 16 30 9960 480 droite et pour f lt 9480 Hz 9480 9960 16 30 9960 480 Nous consid rerons donc que le signal analytique a un spectre born compris entre 9480 et 10440 Hz Remarque On peut aboutir cette hypoth se en raisonnant avec la notion de fr quence instantan e A l instant t e t sp poss de une fr quence instantan e f t avec f t 1 271 SC oHnAQcosQt fo Af cosQt o Af n 30 16 30 480 Hz On voit donc que le signal est plus ou moins contract l instant t et sa fr quence instantan e oscille entre et fn Af et fo Af i e entre 9960 480 Hz et 9960 480 Hz dans le cas id al cf param tres normalis s par OACI On convient donc en pratique que le spectre se limite la bande 9960 480 9960 480 Hz Spectre du signal re u et traiter en entr e de la partie BF E fs p 30 VAR Continu Identification Radiophonie 25480 27480 4 es J LA 1 ar H p 1 N H L f0 3000 1020 300 30 0 30 300 1020 3000 fo f Hz Donn es propres au VOR de PENAC Fr quence de la station 110 4 MHz Puissance de l metteur
8. de m me signe l instant initial on fera la moyenne des diff rences tref i 1 tvar i En pratique if Sref 1 Svar 1 gt 0 for i l N dt i tref i tvar i dT mean dt else for i 1 N 2 dt r tref i 1 tvar i dT mean dt end Les premiers r sultats ont mis en vidence l avantage de choisir N pair En effet les demi p riodes ne sont pas strictement gales car les signaux trait s ne sont pas exactement centr s Pour convertir la diff rence temporelle en d phasage on multiplie le r sultat par 27 f30 o f30 est la fr quence mesur e des signaux 30 REF et 30 VAR On obtient alors l avance de phase brute non corrig e du 30 VAR par rapport au 30 REF 17 Remarque la valeur f30 s extrait des s ries de z ros En effet en faisant la moyenne des diff rences tref i 1 tref i on obtient une estimation de la demi p riode du 30 REF for i 1 N 2 dt i tref i 1 tref i end Fref 1 mean dt 2 En pratique seule la fr quence du 30 REF sera mesur e car la modulation de fr quence offre une meilleure protection contre le bruit Cette fr quence f30 est employ e pour la correction de phase du filtre de Hilbert Remarque dans le programme C final nous avons fait le choix de travailler avec les valeurs Sref moy_ref et Svar moy var dans l algorithme de recherche des z ros plut t que de centrer pr alablement les signaux car on vite ainsi l ex cution de 2 boucles
9. 50 W Capteur de contr le plac 30 m de la station Niveau re u par le r cepteur 26 dBm Niveau apr s d tection 2V pour la composante continue 0 6 V cr te pour la composante 9960 Hz 0 6 V cr te pour la composante 30 Hz 0 2 V pour la composante 1020 Hz Nous avons pris ce VOR pour r f rence dans notre tude De plus pour r aliser les tests nous n avons pas g n r les signaux d identification et de phonie car seuls le d phasage Am entre le 30 REF et le 30 VAR nous int resse D sormais nous nous int resserons donc un signal du type e t 2 0 6 cos oot nsinQt 0 6cos Qt avec D entre 0 et 360 D a Nous avons simul son allure sous Matlab pour 20 Figure 4 signal YOR r el avec un d phasage de 20 entre le VAR etle REF 1 1 1 1 1 1 500 1000 1500 2000 2500 3000 3500 Figure 4 Repr sentation sch matique du spectre E f de e t E 9s p 30VAR Continu 16 5 dB 2 480 2 480 9960 30 0 30 9960 f Hz Spectre E f de e t simule sous Matlab 150 100 50 100 Amplitude en dB 150 200 250 300 1 5 1 0 5 0 0 5 1 175 frequence en Hz x 104 Figure 5 5 Choix de la fr quence d chantillonnage D apr s le th or me de Shannon on sait qu il faut choisir une fr quence d chantillonnage fe sup rieure 2 fois la fr quence maximale du spectre E f pour que l op ra
10. Echantillon ref NB IT Echantillon 1 2pi else if ref NB IT Echantillon ref NB IT Echantillon 1 pi ref NB IT Echantillon 1 ref NB IT Echantillon ref NB IT Echantillon 1 2 pi else ref NB IT Echantillon 1 ref NB IT Echantillon ref NB IT Echantillon 1 filtrage passe bas du ref ref NB_IT_Echantillon 1 fir ref NB_IT_Echantillon 1 an_filtre30 tampon3 ordreb 1 if NB_IT_Echantillon 1 gt 10 amp amp NB_IT_Echantillon 1 lt 10 fe 30 moy_ref ref NB_IT_Echantillon 1 NB_IT_Echantillon int main void int i int k 0 int d 0 float Max1 Min1 Max2 Min2 phase float tref nb_zer tvar nb_zer in_port_analogique_vers_numerique 0 Ordre initial de conversion interrupt SIG TMZO it d echantillonnage Definition et armement de l IT d echantillonnage sample 1 28 timer set 1100 1100 choix de la frequence d echantillonage 30 KHZ Te 1 fe a 33000000 a etant le parametre de timer set pour carte a quarzt a 33 Mhz initialisation des LEDS set_flagSET_FLAG1 SET_FLAG set flag SET FLAG2 SET FLAG set flag SET FLAG3 SET FLAG while 1 timer on moy ref 0 moy_var 0 sortie 0 NB_IT_Echantillon 0 while NB_IT_Echantillon lt nb_ech idle Blocage et Attente IT timer_off sortie de phase moyenne sur l oscilloscope
11. Enfin en d rivant expression obtenue on aboutit s t 00 n Q cos Q t 01 signal sinusoidal 30 Hz de moyenne 00 14 signal ref apr s le d pliage et la d rivation T T T 1 1 1 1 1 2000 4000 6000 8000 10000 12000 Figure 11 En pratique les op rations de d pliage et de d rivation seront r alis es en m me temps gr ce l algorithme for k 2 longueur s if s k s k 1 pi s k 1 s k s k 1 2 pi else if s k s k 1 gt pi s k 1 s k s k 1 2 pi else s k 1 s k s k 1 end end end On calcule la valeur moy_ref moyenne de s t ce qui permet de r cup rer la valeur de fo On note f9960 la valeur mesur e de fo qui n interviendra pas dans la correction de phase Ensuite l application du m me filtre passe bas que celui de la voie VAR permet de lisser la courbe Figure 12 et apporte un d phasage gal den Lors du calcul du d phasage on travaillera sur les valeurs obtenues en auxquels on retranchera la moyenne signal ref apr s depliage d rivation et filtrage passe bas T T T T T Ze 2 16 2 14 BE 2 08 2 06 2 04 2702 1 98 1 1 1 1 1 2000 4000 6000 8000 10000 Figure 12 15 3 Calcul du d phasage Pour mesurer le d phasage entre les deux signaux re us la solution consiste d tecter les z ros de chaque signal filtr et centr sur un temps donn et comparer leurs positions respectives La d tection aboutit deux s ri
12. PNA Impl mentation sur DSP d un d modulateur num rique du signal a ronautique VOR Projet d option de 2 ann e de cycle d Ing nieur l ENAC THOMAS Johan Responsable de projet LUCAS Fabrice M Jean Marc Louis Sommaire 3 II Presenta on du recepte t sse de a enr pe EEN 4 1 R le et principe de fonctionnement du VOR esssesesessesssresssrresssressserissssreesssreesseseessnt 4 2 Signal re u en entr e du r cepteur du signal YOR RN 4 3 Synoptique d un r cepteur VOR a0 a 5 4 Etude de l entr e de la partie BP 6 5 Choix de la fr quence d chantillonnage 10 NI D veloppement des algorithmes 11 1 Extraction du signal variable 30 VAR ss 11 2 Extraction du signal de r f rence 30 REF modul 12 3 Calcul du d phasag ss is NES SUE lo et E 16 4 Correction du d phasage ss 18 3 EE Ee 20 IV Transposition du programme sur DSP 21 l Choix du processeur d Signaux ksta Deche Age oblas plato 21 2 Structure du programmeert si skoro ondado Volo EENS d e 21 3 Le programme principal MAIN 21 4 La proc dure d interruption ei 22 5 lzes operations de Tiltr se pe aus dit Messe tt Nr et 22 6 Mode d emplot 44 2224er de Ee 23 KE TT E 24 AA PAS Ci Lee OS ha skr iua spo DE sponte o ibo ano arl da 25 PIOBIAMME C nnn une o o pe lo a ean ko KS E 25 2 Programme Matlab f issus ins te eee in Met
13. a navigation a rienne Cette aide radio lectrique au sol rayonne dans tout azimut un signal indiquant l utilisateur son rel vement magn tique pris la station d mission r f renc e au Nord Magn tique Plus pr cis ment le VOR met une porteuse VHF modul e de fa on transmettre simultan ment et ind pendamment deux signaux BF 30 Hz un signal de r f rence 30 REF dont la phase est identique quel que soit l azimut d mission un signal variable 30 VAR dont le d phasage Ap par rapport au pr c dent est gal l azimut a de la direction d mission Or une bonne s paration des deux signaux dans le r cepteur bord n cessite deux modulations diff rentes C est pourquoi l OACT a retenu dans le cas du VOR Conventionnel VOR C la m thode suivante le 30 VAR est transmis directement en modulation d amplitude de la porteuse 0 le 30 REF est transmis au moyen d une sous porteuse fo 2109 9960 Hz modul e en fr quence par le 30 REF Cette sous porteuse modul e est alors transmise son tour par modulation d amplitude de la porteuse 0 Le VOR transmet galement par modulation d amplitude de la porteuse des signaux d identification de la station et de radiophonie 2 Signal recu en entr e du r cepteur du signal VOR Le signal re u en entr e d un r cepteur VOR peut se mettre sous la forme suivante s t Ep 1 mi cos o0t nsinQt m identification m3 phon
14. al dns ta 32 I INTRODUCTION Les r cepteurs au sol de contr le du signal VOR r alisent actuellement un traitement analogique du signal basse fr quence BF VOR Un traitement num rique serait pr f rable car il permettrait d obtenir une meilleure stabilit ainsi qu une meilleure reproductibilit des mesures et surtout d inclure ces r cepteurs dans une cha ne d acquisition automatique de mesures pilot e par PC Ce projet montre qu il est possible de r aliser un tel traitement tout en conservant l ordre de pr cision des r cepteurs analogiques L outil qui nous a permis d obtenir un tel r sultat est le processeur de signaux DSP 21020 de la famille ANALOG DEVICE la quantification sur 8 bits qu il effectue lors de l chantillonnage et la pr cision des calculs qu il op re format des donn es 32 bits l ments cl s lorsque l on recherche la pr cision ont permis de satisfaire au cahier des charges D autres caract ristiques choix possibles pour la fr quence d horloge que nous expliciterons dans ce rapport nous ont conduit le choisir Toutefois nous montrerons que des qualit s sup rieures notamment en terme de quantification permettraient d aboutir des r sultats sup rieurs VHF Omnirange radiophare VHF omnidirectionnel II PRESENTATION DU RECEPTEUR 1 R le et principe de fonctionnement du VOR Le VOR est le syst me de mesure d azimut normalis par I OACI pour l
15. de 11500 it rations gain de temps lors de l ex cution du programme en C 4 Correction du d phasage e D phasage appliqu au 30 VAR DPps d au filtre passe bas de la voie VAR e D phasage appliqu au 30 REF apr s application de l algorithme de d pliage d rivation on obtient le signal s t te 2 2n fo n Q 27 cos Q t te 2 01 car la d rivation translate le signal de te 2 vers la gauche En effet chaque it ration k on calcule la d riv e en k 1 2 s k s k 1 et on la stocke s k 1 Enfin ce signal est filtr par le m me filtre passe bas que celui de la voie VAR qui lui apporte un d phasage gale Wrp Au total en sortie de la voie REF on obtient le 30 REF d phas de d1 Q te 2 pe Au d phasage calcul var Oref il faut donc ajouter le correctif A b1 Q te 2 Reste d terminer 61 On tudie pour cela le filtrage de Hilbert On note Hhitber fJet Hof les gabarits respectifs du filtre de Hilbert et du passe bas RIF d ordre 100 101 coefficients a phase lin aire et de fr quence de coupure 480 Hz dont il est issu On peut crire Hpv f sous la forme Hp f A f exp j2rf fe to o vaut to 100 2fe A f 1 dans la bande passante 480 Hz 480 Hz et A f 0 ailleurs Or Hhitbert f Hpb f 9960 donc Hhibert f A f 9960 exp j27 f 9960 to Hhilber f A f 9960 exp J27f to exp j2n 9960 to En entr e on a e t de transform e de Fourier E f On note x t l
16. e signal de sortie et X f sa transform e de Fourier X f Hhibert f E F 18 Hohilbert f tant nul en dehors de la bande B 9960 480 Hz 9960 480 Hz et si on note Eg f la fonction qui vaut E f dans B et 0 partout ailleurs on obtient X f Hhiterr f Ep f X f A f 9960 exp j27rf to exp its 9960 to EB f X f exp j2r7 9960 to exp j2rf to EB f 1 Or Es f spectre E f restreint la bande B est en fait la transform e de Fourier du signal analytique du 30 REF modul au coefficient multiplicatif 5 pres c est dire de eB t 0 6 expl j o t n sin Q t Si on exprime la relation 1 en temporel on obtient x t exp 2Tx 9960 to eB t to x t 0 6 expl j 00 t to n sin O t to 2 99607to Donc 1 Q to 61 Q 100 2 fe Conclusion le correctif AP appliquer vaut N 100 2fe Q te 2 radians En pratique on applique lun correctif AD en degr de 180 f30 100 fe f30 2 180 2fe 19 5 R sultats obtenus Voici les courbes d erreurs obtenues sous Matlab partir de signaux simul s plus ou moins quantifi s Celles ci pr disent une erreur finale acceptable On remarque qu en augmentant la quantification l erreur diminue de fa on significative Figure 13 et 14 Figure 13 pr vision des erreurs obtenues avec notre DSP quantification sur 8 bits Figure 14 pr visions des erreurs obtenues avec une quantification sur 16 bits 20 IV
17. e sinusoide 30 Hz On calcule ensuite la moyenne moy_var de ce signal lors du calcul du d phasage on travaillera sur les valeurs obtenues auxquels on retranchera la moyenne 2 Extraction du signal de r f rence 30 REF modul Pour obtenir le signal REF il faut filtrer la bande spectrale 9960 480 9960 480 Le signal initial est de la forme e t 2 0 6 cos amp t nsin Qt 0 6 cos Q t Or le signal portant l information est en fait l argument du signal modul en fr quence La m thode employ e consiste filtrer les composantes fr quentielles positives autour de 9960 Hz puis r cup rer l argument gr ce la fonction arctan appliqu e au couple partie imaginaire partie r elle 16 5 dB 2 480 2 480 9960 30 0 30 9960 f Hz Nous avons choisi un filtre de Hilbert Figure 7 autour de 9960 Hz Celui ci est obtenu par translation d un RIF passe bas Pour effectuer la translation de ce filtre il suffit de r cup rer les coefficients du passe bas et de les multiplier par exp j 2rckfo fe o k est l indice du coefficient En effet Hhibert f Hpb f 9960 2 ak exp j 2rk f 9960 fe gt ak exp j2n kf fe o ak ak exp j2r k9960 fe Le filtre ak choisi est un filtre RIF passe bas d ordre 100 phase lin aire et de fr quence de coupure 480 Hz Figure 8 Il sera r alis par la fonction firl de Matlab 12 diagrammes de Bode du filtre passe bas de reference T T T I
18. es de N valeurs temporelles correspondant aux positions des z ros du REF et du VAR tref 1 N et tvar 1 N Pour cela on d tecte les changements de signe du signal puis pour minimiser l effet du bruit on effectue une r gression lin aire sur les 4 points entourant le changement de signe Pour un ensemble de points xi yi la r gression lin aire donne une droite affine y a x b avec Ns Id NS AS x D Ir 9 xD xp NOTOJ S t a t b 16 Voici l algorithme utilis i 0 n 0 while n lt N if Sref i 1 Sref i lt 0 A i 1 Sref i 1 i Sref i i 1 Sref i 1 i 2 Sref i 2 B Sref i 1l Sref i Sref i l Sref i 2 tref n 1 4 i 2 A B 4 1 2 4 i 6 4 A B 4 1 2 fe n n 1 i itround fe fb 2 50 end if Sref i 0 tref n 1 i fe n n 1 i i round fe fb 2 50 end i i i end 1 correspond au pointeur de position sur l axe temporel n comptabilise le nombre de z ros A et B sont deux calculs servant la r gression i i round fe fb 2 50 permet de positionner le pointeur peu avant le z ro suivant Ensuite pour le calcul du d phasage on doit tenir compte des fronts montants ou descendants Si les deux signaux sont positifs ou n gatifs l instant initial le premier z ro du REF et du VAR sont deux z ros descendants ou montants et le d phasage sera calcul en faisant la moyenne des diff rences tref i tvar i Si les deux signaux ne sont pas
19. f tl n 1 fe n n 1 i it round fe fb 2 50 end if Sref i 0 tl n 1 i fe n n 1 i i round fe fb 2 50 end i i i end 0 i Sref i i 1 Sref i 1 i 2 Sref i 2 i Sref i l Sref i 2 4 j 2 A B 4 i 2 4 i 6 4 A B 4 i 2 m 0 i 2 while m lt 18 if Svar i 1 Svar i A i 1 Svar i 1 B Svar i 1 Svar 0 i Svar i i 1 Svar i 1 i 2 Svar i 2 i Svar i l Svar i 2 t2 m 1 4 1 2 A BX 4 172 4 x1 6 4 A B 4 i 2 fe m m 1 i i round fe fb 2 50 end if Svar i 0 t2 m 1 i fe m m 1 i i round fe fb 2 50 end i i i end mesure de la fr quence for r 1 16 dt r tl r l tl r end frequence l mean dt 2 fil tl frequence 2 pi fi2 t2 frequence 2 pi correction de la phase apport e par le filtre de Hilbert fi2 fi2 pi frequence ordreh fe par la derivee i2 1 2 e frequence 2 pi l Mm d Hh ob 34 mesure du d phasage if Sref 2 Svar 2 gt 0 dfi fil fi2 mu mean dfi else for r 1 16 dfi r fil r 1 fi2 r mu mean dfi end end positionnement dans pi pi while abs mu gt pi mu mu sign mu 2 pi end affichage du dephasage en degr s dephasage mu 180 pi 35
20. fet dans ce cas la phase doit tre proche de 0 ou 360 et chaque phase m moris e doit tre ramen e au voisinage de 0 pour viter l effet de la discontinuit 0 360 Il suffit pour cela de soustraire 360 aux phases sup rieures 355 avant de recalculer la moyenne 4 La proc dure d interruption Apr s l acquisition de la valeur d entr e celle ci re oit un bit de signe et est convertie sur les 8 bits de poids faible pour viter de d passer par la suite la valeur maximum quantifiable Cette valeur est ensuite dupliqu e pour pouvoir faire le traitement du VAR dans la suite du main Le REF est ensuite appliqu au filtre de Hilbert qui comporte deux composantes une r elle et une imaginaire Celles ci sont obtenues en prenant les parties r elle et imaginaire du filtre donn par Matlab Apr s l utilisation de la fonction atan2f sur le couple partie Imaginaire partie R elle l algorithme de d pliage d rivation puis le filtrage passe bas sont ensuite appliqu s Enfin la valeur REF est somm e une variable sp cifique afin de calculer la moyenne sur 1000 chantillons 5 Les op rations de filtrage En vue du filtrage les coefficients des filtres sont import s au d but du programme On importe ainsi 3 s ries de coefficients les coefficients du passe bas et les deux s ries de coefficients du filtre de Hilbert parties r elle et imaginaire La fonction FIR n cessite aussi l utilisation de tam
21. ie m cos Qt a cos ot Organisation de l Aviation Civile Internationale Les valeurs num riques des diff rents param tres normalis s par l OACT sont Ep amplitude du champ lectrique en limite de couverture Ep 90 uV m pulsation de la porteuse dans la bande 108 118 Mhz m taux de modulation de la sous porteuse 30 nominal Qo pulsation de la sous porteuse 9960 Hz 1 Q pulsation des signaux 30 REF et 30 VAR 30 Hz 1 n indice de modulation 16 1 soit une excursion en fr quence Afo de l ordre 480 Hz 16 30 m taux de modulation de l identification 10 ou 5 tonalit 1020 Hz d coup e suivant le code MORSE m taux de modulation cr te de la phonie lt 30 bande spectrale limit e 300 3000 Hz m taux de modulation du 30 VAR pour le VOR C m4 30 pour le VOR C 3 Synoptique d un r cepteur VOR Filtre D tecteur Filtre Voie Passe bande FM Passe bas REF Fo 9960 F 30 s t 2 Ap a R cepteur D tecteur Comparateur Correcteur AM Filtre Voie VAR Passe bas F 30 Partie HF Partie BF La partie HF tant d j r alis e notre projet a consist traiter l entr e e t de la partie BF afin d extraire Ag d phasage entre le 30 REF et le 30 VAR avec une pr cision de 0 1 4 Etude de l entr e de la partie BF Le signal apr s d tection peut se mettre sous la forme suivante e t E 1 m1 co
22. moy 1 e i0 i moy i 1 e 10 1 11 moy i 2 e 10 i 2 moy B e i0 i 1 e i0 1 e i0 1 1 e 10 i 2 4 moy te n 4 i 2 FA B 4 1F1 4 1 6 4 A B 4 i 2 fe teln G e i0 1 eli0 H G 1 eli0 1 e i0 H fe n n i i 1 fe 60 50 if e i0 moy te n i fe n n i i fe 60 50 i i Tree Procedure d echantillonage par interruption 7k akak kkk void it_d_echantillonnage int interrupt_Number sample 1 valeur_en_entree in port analogique vers numerique Acquisition de la valeur sur 8 bits in port analogique vers numerique 0 Ordre de nouvelle conversion 5 valeur en entree valeur en entree Ox80000000 Bit de signe valeur en entree valeur en entree gt gt 24 Decalage a droite sample float valeur en entree et conversion au format ad hoc ref NB IT Echantillon sample Svar NB IT Echantillon ref NB IT Echantillon 27 filtrage de hilbert du ref sample_outr fir ref NB_IT_Echantillon an_filtre9960r tampon1 ordreh 1 sample_outi fir ref NB_IT_Echantillon an_filtre9960i tampon2 ordreh 1 ref NB_IT_Echantillon atan2f sample_outi sample_outr depliage derivation du ref if NB_IT_Echantillon gt ordreh 11 if ref NB IT Echantillon ref NB IT Echantillon 1 pi ref NB IT Echantillon 1 ref NB IT
23. nt permis de r pondre au cahier des charges pr cision de 0 1 sur le d phasage apr s 8 secondes d acquisitions Un mat riel plus ad quat aurait cependant permis d am liorer ces r sultats En effet nous n avons utilis qu une partie de la plage de quantification du DSP ce qui revient r duire le taux de quantification Or les r sultats obtenus sur Matlab mettent en vidence ses effets la pr cision est d grad e de fa on significative L id al serait d utiliser un DSP fonctionnant sur la plage 0 5V 3 5V avec une quantification sur 16 bits Par contre la fr quence d chantillonnage 30 KHz semble suffisante son augmentation sous Matlab n am liore pas sensiblement les r sultats 24 VI ANNEXES 1 Programme C Module MANIP 2 C Auteur LUCAS_THOMAS ENAC L01 Responsable de projet M J M LOUIS Date JUIN 2003 Ikea k k k kkk k k k kkk k define fe 30000 define ordreb 100 define ordreh 100 define pi 3 14159265358979 define nb_ech 11500 define nb_zer 16 define nb_saisies 20 include lt 21020 h gt include lt signal h gt include lt filters h gt include lt macros h gt include lt math h gt include lt stats h gt include lt fir9960r h gt include lt fir9960i h gt include lt fir30 h gt PERS k k kk k kkk kk NEPINITION DES ACCES CONVERTISSEURS kk DEF PORT in port analogique vers numerique unsigned int adc b dm DEF PORT ou
24. pons servant m moriser les valeurs d entr e pr c dentes Ces tampons ont pour premier l ment un entier indiquant la position de la valeur d entr e courante ainsi que 101 autres valeurs dans le cas de notre filtre d ordre 100 Ils ne demandent pas tre remis z ro car les anciennes valeurs n ont d influence que sur la phase transitoire qui n est pas prise en compte pour le calcul du d phasage La fonction FIR demande aussi en entr e le nombre de coefficients du filtre utilis 101 dans notre cas 22 6 Mode d emploi Une fois le programme lanc et la phase mesurer s lectionn e l utilisateur doit tre s r que le buffer tournant est enti rement rempli Pour cela un clignotement de LED est command si l indice du buffer est inf rieur 4 Ainsi si l utilisateur modifie la phase entre deux clignotements il devra attendre deux s ries de clignotements et s il la modifie pendant un clignotement il attendra la fin du clignotement suivant Notre programme final n cessite 8 secondes pour effectuer un cycle du buffer tournant Une tension continue repr sentant la phase moyenne est aussi inject e en sortie afin d tre visualis e sur oscilloscope Cela permet d observer une valeur approch e de la phase Pour obtenir la phase de fa on pr cise on devra stopper momentan ment le programme F4 et acc der la m moire du DSP 23 V CONCLUSION Le programme et le mat riel utilis s nous o
25. s ot nsin t mz identification m3 phonie m4 cos Qt a On peut galement donner une repr sentation fr quentielle de ce signal Le spectre du signal d identification se compose d une raie 1020 Hz et le spectre de la phonie s tend sur la bande 300 3000Hz Le signal 30VAR E my cos Qt a signal sinusoidal pur la fr quence 30 Hz poss de un spectre form d une raie 30 Hz La repr sentation spectrale du dernier terme e 0s p E cos wot nsinQt est a priori moins imm diate Remarquons tout d abord que ce signal est p riodique de fr quence 30 Hz en effet Q 30 Hz et oo 9960 30 332 Hz est un multiple de Q Le spectre est donc un spectre de raies espac es de 30 Hz On peut montrer qu elle sont en nombre infini Sous Matlab nous avons pu visualiser ce spectre Figure 1 Spectre de la sous porteuse f modul e par le 30 REF T T T T 100 50 50 100 Amplitude en dB 150 200 250 F 300 1 1 1 1 d 0 0 5 1 E frequence en Hz 10 Figure 1 En zoomant sur la partie droite du spectre fr quences positives c est dire sur le spectre du signal analytique au coefficient multiplicatif pr s on peut observer les raies Figure2 avec un espacement de 30 Hz Figure3 Partie analytique du spectre T T T 50 50 100 Amplitude en dB 150 200 250 L L L 1 1 9000 9500 10000 10500 11000 frequence en Hz Figure 2 Visualisation
26. t port b unsigned int dac b dm DEF PORT out port a unsigned int dac a dm float sample sample outr sample outi moy ref moy var int valeur en entree int valeur en sortie int sortie int NB IT Echantillon int i0 ordreb ordreh 20 pour eliminer phases transitoires 25 float tampon ordreh 2 tampon2 ordreh 2 tampon3 ordreb 2 tampon4 ordreb 2 float ref nb ech Svar nb ech float f30 f9960 float phase M float Buffer nb_saisies JRR RR SR SRSRSR RISK Onction frequence mesuree FF ee float freq float t int 1 float m 0 float buf nb zer 2 for 150 i lt nb zer 2 i bufli l t i 1 t i m bufli return nb_zer 2 m 2 OncCtOn UE UE float moyenne float buf int deb int n int i float m m 0 for i deb i lt deb n i m bufli m m n return m pereon e moj imo ek k kEonction filtre PB3 ek HE He HE HE olojn ok void filtrepb float e float tmp int i for i ordreh 10 i lt nb_ech i eli fir e i an_filtre30 tmp ordreb 1 26 FFOnction de recherche des ZETOS void rech_zero float e float te float moy float A B int n 0 1 0 While n lt nb_zer if e i0 1 1 moy e i0 H moy lt O A i 1 e i0 i 1
27. tion d chantillonnage soit r versible La fr quence maximale est gale fr quence maximale de la sous porteuse modul e par le 30 REF savoir fo Af fo n Q 27 Or dans le pire des cas fo n et 0 2x valent 10059 Hz 9960 1 01 17 16 1 30 3 30 1 01 Donc au pire la fr quence maximale est de 10574 Nous avons choisi une fr quence d chantillonnage fe 30 kHz 10 III DEVELOPPEMENT DES ALGORITHMES 1 Extraction du signal variable 30 VAR 16 5 dB 2 480 2 480 9960 30 0 30 9960 f Hz Pour obtenir le signal VAR il suffit de filtrer la raie 30 Hz Toutefois il est difficile de g n rer sous Matlab un filtre passe bande 30 Hz sans d border sur le continu moins d avoir un ordre tr s lev ce qui entra nerait de longs temps de calculs On adopte alors la m thode suivante On utilise un filtre RIF passe bas d ordre 100 phase lin aire et de fr quence de coupure 90 Hz Figure 6 Il sera r alis par la fonction Dr de Matlab Diagrammes de Bode du filtre passe bas servant extraction du VAR Magnitude dB 0 01 0 02 0 03 0 04 0 05 0 06 0 07 Normalized Frequency xn rad sample 100 200 300 400 500 Phase degrees Normalized Frequency xn rad sample Figure 6 Filtre R ponse Impulsionnelle Finie 11 A la sortie de la voie VAR on obtient la composante continue et le 30 VAR d phas de Vra d phasage appliqu un

Download Pdf Manuals

image

Related Search

Related Contents

Grizzly G0675 Planer User Manual  la formation du contrat de vente en ligne et la protection du  Invacare® Tornado SERVICE MANUAL  Istruzioni per l`uso EUROTOP 601 A EUROTOP 611 A  Cooper Lighting Fail-Safe DRX User's Manual  Discreet Acoustics Modular PLUS Series  

Copyright © All rights reserved.
Failed to retrieve file