Table des matières PDF

Filtres passe-bande analogique et numérique

1. Introduction

Dans une première partie, on se propose de tester et de caractériser un filtre passe-bande analogique dont le facteur de qualité peut être ajusté. En seconde partie, on verra comment réaliser un filtre passe-bande numérique similaire au filtre analogique.

Matériel :

2. Filtre analogique

2.a. Étude en régime sinusoïdal

Le filtre passe-bande analogique est un filtre actif de type Sallen-Key. Sa description et sa fonction de transfert théorique sont données en annexe A. Le boitier comporte les bornes suivantes :

  • Borne noire : masse.
  • Bornes rouge et bleu : alimentation, respectivement +15 V et -15 V.
  • Borne jaune : entrée du filtre.
  • Borne verte : sortie du filtre.

Le facteur de qualité Q du filtre peut être ajusté avec le potentiomètre à vis. Le gain à la résonance dépend aussi de ce réglage. On peut donc contrôler le facteur de qualité en ajustant ce gain (voir annexe A).

Calculer la valeur du gain maximal A permettant d'obtenir le facteur de qualité Q=8.

Faire le réglage.

Relever le gain et le déphasage du filtre pour des fréquences allant de 100 à 10000 hertz.

Tracer le gain en décibel et le déphasage en fonction de la fréquence en échelle logarithmique.

Tracer le gain en fonction de la fréquence.

Comparer les caractéristiques du filtre (fréquence de résonance et facteur de qualité) à celles prévues.

2.b. Réponse à un échelon

Comme expliqué dans l'annexe A, l'étude de la réponse à un échelon permet de déterminer le facteur de qualité du filtre.

Mettre en œuvre une méthode permettant d'obtenir la réponse à un échelon du filtre, au moyen d'un signal carré périodique.

Étudier la réponse à l'échelon avec l'oscilloscope. En déduire une détermination du facteur de qualité par la méthode du décrément logarithmique. Comparer à la valeur obtenue précédemment et à la valeur prévue.

2.c. Réponse impulsionnelle

Théoriquement, la réponse impulsionnelle est obtenue en appliquant en entrée une impulsion de largeur nulle est de hauteur infinie (impulsion de Dirac). La réponse impulsionnelle d'un filtre passe-bande du second ordre présente une forme similaire à la réponse à un échelon, avec une décroissance exponentielle déterminée par le facteur de qualité comme précédemment. Un autre intérêt de la réponse impulsionnelle vient du spectre parfaitement plat de l'impulsion de Dirac, dont la transformée de Fourier est égale à 1. En conséquence, la transformée de Fourier de la réponse impulsionnelle est égale à la réponse fréquentielle de filtre.

Expérimentalement, on doit bien sûr appliquer une impulsion de durée finie, petite par rapport aux échelles de temps de la réponse impulsionnelle, mais assez grande pour obtenir une réponse notable. Après numérisation, on réalise la transformée de Fourier discrète de la réponse impulsionnelle afin d'obtenir la réponse fréquentielle du filtre.

L'impulsion sera générée avec la carte Sysam SP5 par sa sortie SA1. Les entrées EA0 et EA1 de cette carte seront reliées respectivement à l'entrée et à la sortie du filtre. Le script suivant programme et génère une impulsion tout en enregistrant les signaux d'entrée et de sortie : acquisitionReponseImpulsionnelle.py. Il fait aussi le calcul de la transformée de Fourier discrète afin d'obtenir la réponse fréquentielle.

Obtenir la réponse impulsionnelle du filtre.

Calculer le facteur de qualité à partir de cette réponse.

Vérifier que le spectre de l'impulsion est à peu près constant sur le domaine de fréquence allant de 100 à 10000 hertz.

Comparer la réponse fréquentielle obtenue par transformée de Fourier à celle obtenue précédemment en régime sinusoïdal. On pourra par exemple tracer sur le même graphique les deux courbes du gain en fonction de la fréquence.

3. Filtre numérique

3.a. Conception

L'annexe B décrit une méthode de conception d'un filtre récursif biquadratique passe-bande. Le script suivant (à compléter) permet de définir le filtre et de tracer sa réponse fréquentielle.

reponseFrequentiellePasseBandeRIF.py
import numpy
import scipy.signal
from matplotlib.pyplot import *
fe=
fo=
omega_a=numpy.pi*fo/(fe/2)
r=
b0=(1-r*r)*0.5
b=[b0,0,-b0]
a=[1,-2*r*numpy.cos(omega_a),r*r]
w,h =scipy.signal.freqz(b,a)
g = numpy.absolute(h)
phase = numpy.unwrap(numpy.angle(h))
figure(figsize=(8,8))
subplot(211)
plot(w/(2*numpy.pi)*fe,g)
xlabel("f (Hz)")
ylabel("G")
grid()
subplot(212)
plot(w/(2*numpy.pi)*fe,phase)
xlabel("f (Hz)")
ylabel("phi")
grid()
show()
            

Calculer un filtre passe-bande de fréquence de résonance 1000 Hz en choisissant de manière adaptée la fréquence d'échantillonnage.

Observer l'influence du coefficient r.

Observer l'influence de la fréquence d'échantillonnage.

Pour une fréquence d'échantillonnage de 20 kHz, choisir un coefficient r permettant d'obtenir une réponse fréquentielle proche de celle du filtre analogique.

3.b. Réponse impulsionnelle

La réponse impulsionnelle d'un filtre numérique est obtenue facilement par le calcul avec une impulsion unité en entrée, c'est-à-dire x0=1 et xn=0 pour n>0.

Écrire un script python qui calcule et trace la réponse impulsionnelle du filtre.

Ajuster le coefficient r pour obtenir une réponse impulsionnelle très proche de celle du filtre analogique.

Déterminer directement le facteur de qualité Q à partir de la réponse impulsionnelle, par la méthode du décrément logarithmique.

3.c. Réalisation

On réalise le filtrage numérique du signal délivré par le GBF, dont la sortie est branchée sur l'entrée EA0 de la carte d'acquisition. Le script suivant réalise une acquisition et un filtrage en temps réel tout en affichant les signaux d'entrée et de sortie du filtre numérique : acquisitionFiltragePasseBandeBiquad.py.

Tester le filtre numérique avec un signal sinusoïdal. Vérifier la fréquence de résonance.

Relever les fréquences de coupure à -3 dB. En déduire la largeur de bande passante. Comparer à la valeur calculée avec le facteur de qualité.

3.d. Réponse à un échelon

En procédant comme pour le filtre analogique, obtenir la réponse à un échelon du filtre numérique.

Comparer à la réponse impulsionnelle.

Déterminer le facteur de qualité avec la réponse à l'échelon et comparer à la valeur précédente.

3.e. Application

Utiliser le filtre passe-bande numérique pour convertir un signal carré en signal sinusoïdal. Si nécessaire, augmenter le facteur de qualité.

4. Annexe A : filtre passe-bande analogique

4.a. Circuit électronique

figureA.svgFigure pleine page

Le bloc constitué de l'amplificateur, des deux résistances et du potentiomètre à sa droite est un amplificateur de gain K, ajustable entre 4,3 et 5,3 avec le potentiomètre.

4.b. Fonction de transfert

La fonction de transfert de ce filtre est :

H(ω)=A1Qjωω01+1Qjωω0+(jωω0)2(1)

avec :

A=K5-K(2)ω0=2RC(3)Q=25-K(4)

ω0 est la pulsation de résonance, correspondant au maximum du gain et à un déphasage nul. Q est le facteur de qualité. La largeur de la bande passante à -3 dB est :

Δω=ω0Q(5)

Le gain maximal est A. Le facteur de qualité augmente avec A selon la relation :

Q=25(1+A)(6)

En se plaçant en régime sinusoïdal à la fréquence de résonance f0, le réglage du potentiomètre permet d'obtenir le gain A correspondant au facteur de qualité souhaité.

4.c. Réponse à un échelon

On écrit tout d'abord la fonction de transfert avec la variable s=jω :

H(s)=Aω0Qss2+ω0Qs+ω02(7)

L'équation différentielle reliant le signal de sortie au signal d'entrée se déduit de cette forme :

d2Vsdt2+ω0QdVsdt+ω02Vs=Aω0QdVedt(8)

D'une manière générale (quel que soit le signal d'entrée) la résolution de cette équation nécessite les racines de l'équation :

s2+ω0Qs+ω02=0(9)

c'est-à-dire les pôles de la fonction de transfert H(s). On se place dans le cas Q>1/2 où les deux pôles p1 et p2 sont complexes conjugués :

pi=-ω02Q±jω01-14Q2(10)

Lorsque Q>5, on peut utiliser l'approximation suivante :

pi-ω02Q±jω0(11)

La réponse à un échelon a alors la forme suivante :

Vs(t)=exp(-ω02Qt)(A1cos(ω0t)+A2cos(ω0t))(12)

Il s'agit d'oscillations amorties de pulsation ω0. Après un nombre d'oscillations égal au facteur de qualité, le facteur exponentiel est égal à :

exp(-ω02Q2πQω0)=exp(-π)=0,043(13)

Une estimation rapide du facteur de qualité à partir de la réponse à un échelon expérimentale peut être faite en comptant les oscillations jusqu'à réduction à 4,3% de l'amplitude maximale. Pour une détermination plus précise, la méthode du décrément logarithmique doit être utilisée. Elle consiste à relever le rapport x des deux maxima entre lesquels il y a n oscillations. Le facteur de qualité est alors :

Q=πnln(x)(14)

5. Annexe B : filtre numérique passe-bande

Un filtre numérique transforme un signal d'entrée défini par une suite de nombres xn en un signal de sortie yn. Un filtre numérique passe-bande similaire au filtre analogique précédent peut être réalisé au moyen d'un filtre récursif, défini par une relation de récurrence de la forme suivante :

yn=b0xn+b1xn-1+b2xn-2-a1yn-1-a2yn-2(15)

La fonction de transfert en Z d'un tel filtre est :

H(z)=b0+b1z-1+b2z-21+a1z-1+a2z-2(16)

Ce type de filtre est qualifié de biquadratique car le numérateur et le dénominateur de la fonction de transfert sont du deuxième ordre.

Pour concevoir un filtre passe-bande biquadratique, nous utilisons la méthode de Conception d'un filtre par placement des zéros et des pôles.

On choisit deux pôles complexes conjugués dont la partie imaginaire est la pulsation de résonance souhaitée et la partie réelle un nombre réel r inférieur strictement à 1 (pour la stabilité) mais proche de 1 pour avoir un grand facteur de qualité. Les deux zéros sont 1 et -1 afin d'annuler le gain à la fréquence nulle et à la fréquence de Nyquist. Voici la fonction de transfert en Z :

H(z)=b0(z-1)(z+1)(z-reiΩa)(z-re-iΩa)=b01-z-21-2rcos(Ωa)z-1+r2z-2(17)

La pulsation de résonance réduite est définie à partir de la fréquence de résonance f0 et de la fréquence d'échantillonnage fe par :

Ωa=2πf0fe(18)

Le gain maximal est maintenu égal à 1 en choisissant :

b0=1-r22(19)

Finalement, les coefficients du filtre sont :

b0=1-r22(20)b1=0(21)b2=-b0(22)a1=-2rcos(Ωa)(23)a2=r2(24)
Creative Commons LicenseTextes et figures sont mis à disposition sous contrat Creative Commons.