TP CONTROLE Filtre I4

Rémi Maubanc I4 GRIT

Partie I : Manipulation, Synthèse de filtres numériques

Fe = 200; % Fréquence de coupure
Rp = 1; % Atténuation en bande passante
Rs = 20; % Atténuation en bande coupée

Gabarit 1 : Passe-bas

wp_1 = 25 / (Fe / 2);
ws_1 = 35 / (Fe / 2);

Gabarit 2 : Passe-bande

wp_2 = [.25 .35];
ws_2 = [.2 .4];

Gabarit 3 : Passe-haut

wp_3 = 35 / (Fe / 2);
ws_3 = 25 / (Fe / 2);

1) Synthèse par l'approximation de Butterworth

Gabarit 1 : Passe-bas

[Nb, wb] = buttord(wp_1, ws_1, Rp, Rs);
[Bb, Ab] = butter(Nb, wb);
Calcul des coeficients de H(z)
[Hb, wb] = freqz(Bb, Ab, 1024, Fe);
Affichage du graphique représentatif
plot(wb, abs(Hb));

Gabarit 2 : Passe bande

[Nb, wb] = buttord(wp_2, ws_2, Rp, Rs);
[Bb, Ab] = butter(Nb, wb);
[Hb, wb] = freqz(Bb, Ab, 1024, Fe);
plot(wb, abs(Hb));
Les variables wp_2 et ws_2 sont des vecteurs qui contiennent chaque débuts et chaque fins des bandes. Il en faut deux, un pour le début et un pour la fin.

Gabarit 3 : Passe-haut

[Nb, wb] = buttord(wp_3, ws_3, Rp, Rs);
[Bb, Ab] = butter(Nb, wb, "high");
[Hb, wb] = freqz(Bb, Ab, 1024, Fe);
plot(wb, abs(Hb));
L'argument "high" permet de préciser que l'on veut un filtre passe-haut.

2) Synthèse par l'approximation de Chebyshev

Gabarit 1 : Passe-bas

[Nb, wb] = cheb1ord(wp_1, ws_1, Rp, Rs);
[Bb, Ab] = cheby1(Nb, Rp, wb);
Calcul des coeficients de H(z)
[Hb, wb] = freqz(Bb, Ab, 1024, Fe);
Affichage du graphique représentatif
plot(wb, abs(Hb));

Gabarit 2 : Passe bande

[Nb, wb] = cheb1ord(wp_2, ws_2, Rp, Rs);
[Bb, Ab] = cheby1(Nb, Rp, wb);
[Hb, wb] = freqz(Bb, Ab, 1024, Fe);
plot(wb, abs(Hb));
Les variables wp_2 et ws_2 sont des vecteurs qui contiennent chaque débuts et chaque fins des bandes. Il en faut deux, un pour le début et un pour la fin.

Gabarit 3 : Passe-haut

[Nb, wb] = cheb1ord(wp_3, ws_3, Rp, Rs);
[Bb, Ab] = cheby1(Nb, Rp, wb, "high");
[Hb, wb] = freqz(Bb, Ab, 1024, Fe);
plot(wb, abs(Hb));
L'argument "high" permet de préciser que l'on veut un filtre passe-haut.

3) Comparaison entre l'approximation de Butterworth et celle de Chebyshev

Fonction de Butterworth

Fonction de Chebyshev

Partie II : Filtre stop bande à large bande

Fe = 2000; % Fréquence de coupure
Rp = 0.5; % Atténuation en bande passante
Rs = 35; % Atténuation en bande coupée

Création du filtre passe-bas

wp = 100 / (Fe / 2);
ws = 175 / (Fe / 2);
[N, w] = cheb1ord(wp, ws, Rp, Rs);
[Bb, Ab] = cheby1(N, Rp, w);
[Hb, w] = freqz(Bb, Ab, 1024, Fe);
plot(w, abs(Hb));

Création du filtre passe-haut

wp = 400 / (Fe / 2);
ws = 225 / (Fe / 2);
[N, w] = cheb1ord(wp, ws, Rp, Rs);
[Bh, Ah] = cheby1(N, Rp, w, 'high');
[Hb, w] = freqz(Bh, Ah, 1024, Fe);
plot(w, abs(Hb));

Combinaison des deux filtres