WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Implantation d'algorithme de filtrage numérique sur FPGA(réseau de portes programmables)

( Télécharger le fichier original )
par Mohamed Bendada
Université Ferhat Abbas de Sétif Algérie - Master électronique  2010
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

b) Exemple :

On souhaite établir la fonction de transfert H(z) du filtre qui effectue la moyenne glissante sur les 2 derniers échantillons arrivés sur l'entrée.

Son algorithme s'écrit :

avec : a0 = a1 = 0.5

En utilisant la règle de passage au domaine des «z», l'algorithme se transforme en : Y(Z)=0.5 * ( x(z) + x(z) . z-1 )

Ce qui donne la fonction de transfert en z du filtre = 0.5 (1+z-1)

On tirera les réponses en amplitude et en phase :

La réponse fréquentielle sera donc :

Dans un filtre passe bas, la fréquence de coupure est la fréquence où l'amplitude sera diminue par -3db, donc à partir de la figure de la réponse en amplitude (figureIII.4), l'atténuation de 3db correspond à la fréquence de coupure de 2.5 Mhz .

Figure III.4 : Réponse fréquentiel en amplitude

c) Simulation et interprétation :

Pour vérifier le bon fonctionnement du filtre, nous allons lui transmettre une série d'échantillon sur x(n), ce test va valider le fonctionnement théorique fait dans les paragraphes précédents, nous allons fournir au filtre une impulsion sur x, est nous devrions avoir une réponse impulsionnelle comme celle décrite dans le tableau suivant.

Tableau III.1 : Réponse impulsionnelle théorique du filtre FIR 1er ordre.

n

X(n)

Y(n)

 

binaire

Entier

binaire

-

3

0

4.

0000

0

0000

e

2
-

0

0000

0

0000

1
0

1

1111

0.5

0110

 

1

0

0000

0.5

0110

2

0

0000

0

0000

 

Le résultat de simulation de cet exemple sous le logiciel de simulation ModelSim est représenté sur le chronogramme de la figure suivant.

Figure III.5 Le résultat de la simulation de filtre du1 ère ordre

À l'instant t = 150 ns l'entrée est une impulsion de x='1111' c'est-à-dire la valeur maximal de l'entrée coder sur 4 bits (k=4 x=15) ce qui représente 1 dans le modèle théorique soit x(n) = 1, de ce fait la sortie doit être divisé sur 15 pour avoir les résultats attendus, ceci est réaliser en éliminant les 4 premiers bits à droite (pour éviter d'ajouter un algorithme de division). Alors la valeur résultante sur reg_y doit être justifiée en éliminant les 4 bits de droite.

À 250 ns => x = 15 (1111)b et a0=7 (0111)b Et on à y(n)= a0 * x(n) = 7 * 15 / 16 = 6.5625

Sur le chronogramme de simulation on récupère 6 (0110)b, et en élimine les 0.5625 qui correspond à `1001' en binaire.

Ce filtre permet d'interpoler deux échantillons successifs en calculant leur moyenne. Utile pour augmenter artificiellement la fréquence d'échantillonnage d'un signal en doublant le nombre d'échantillons.

· On constate dans cet exemple que la réponse impulsionnelle est limitée à deux échantillons.

·

Les coefficients d'un filtre non récursif sont donc égaux aux échantillons de sa réponse impulsionnelle.

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Nous devons apprendre à vivre ensemble comme des frères sinon nous allons mourir tous ensemble comme des idiots"   Martin Luther King