📊 Filtrage Numérique - Semestre 6

Année Universitaire : 2022-2023
Semestre : 6
Crédits : 2,5 ECTS
Spécialité : Traitement du Signal et Automatique


PART A - Présentation Générale du Cours

Vue d'ensemble

Ce cours approfondit le traitement numérique du signal avec un focus sur la conception et l’implémentation de filtres numériques. Il couvre les deux grandes familles de filtres : FIR (Finite Impulse Response) et IIR (Infinite Impulse Response), avec leurs méthodes de conception respectives. Le cours combine théorie mathématique (transformée en Z, réponse fréquentielle) et pratique (MATLAB, implémentation).

Objectifs pédagogiques :

Position dans le cursus

Ce cours s’appuie sur et complète :

Il prépare aux applications :


PART B - Expérience Personnelle et Contexte d’Apprentissage

Organisation et ressources

Le module était structuré autour de trois axes :

1. Cours magistraux :

2. Travaux dirigés :

3. Travaux pratiques MATLAB :

Ressources pédagogiques :

Déroulement et méthodologie

Approche progressive :

Le cours adoptait une approche en trois étapes :

  1. Théorie : établir les fondements mathématiques (transformée en Z, équations aux différences)
  2. Méthodes : appliquer des techniques systématiques de conception
  3. Pratique : valider et optimiser avec MATLAB
Filtrage numérique

Figure : Principe du filtrage numérique - Réduction du bruit par filtrage

Exemple de conception de filtre passe-bas FIR :

Cahier des charges :

Démarche :

  1. Choix de la méthode (fenêtre de Hamming pour compromis)
  2. Calcul de l’ordre nécessaire (fonction du gabarit)
  3. Génération des coefficients avec MATLAB : fir1(N, Wn, ‘low’)
  4. Vérification de la réponse fréquentielle : freqz(b, a)
  5. Test sur signal réel

Examens et évaluations

Format des examens :

Les annales montrent une structure récurrente :

Exercice 1 : Filtres FIR (30-40%)

Exercice 2 : Filtres IIR (30-40%)

Exercice 3 : Implémentation (20-30%)

Difficultés courantes :

Outils MATLAB utilisés

Fonctions principales :

% Conception FIR
b = fir1(N, Wn, 'type');              % Fenêtre
b = firpm(N, F, A);                    % Parks-McClellan (optimal)

% Conception IIR
[b,a] = butter(N, Wn, 'type');         % Butterworth
[b,a] = cheby1(N, Rp, Wn, 'type');     % Chebyshev Type I
[b,a] = cheby2(N, Rs, Wn, 'type');     % Chebyshev Type II
[b,a] = ellip(N, Rp, Rs, Wn, 'type');  % Elliptique

% Analyse
freqz(b, a, N);                        % Réponse fréquentielle
zplane(b, a);                          % Diagramme pôles-zéros
grpdelay(b, a);                        % Délai de groupe
filter(b, a, x);                       % Filtrage

PART C - Aspects Techniques Détaillés

1. Fondements : Transformée en Z

La transformée en Z est l’équivalent discret de la transformée de Laplace.

Définition : Pour un signal discret x[n], la transformée en Z est :

X(z) = somme de x[n] × z^(-n) pour n de -infini à +infini

Propriétés importantes :

Région de convergence (ROC) : Zone du plan complexe où la transformée converge. Critique pour la stabilité.

Lien avec la transformée de Fourier : Sur le cercle unité (z = e^(jω)), la transformée en Z devient la DTFT (Discrete-Time Fourier Transform).

2. Filtres FIR (Finite Impulse Response)

Caractéristiques :

Un filtre FIR a une réponse impulsionnelle de durée finie :

y[n] = b0×x[n] + b1×x[n-1] + … + bN×x[n-N]

Fonction de transfert : H(z) = b0 + b1×z^(-1) + … + bN×z^(-N)

Avantages :

Inconvénients :

Méthode des fenêtres :

Principe : partir de la réponse impulsionnelle idéale (infinie) et la tronquer avec une fenêtre.

Fenêtre Lobe principal Atténuation bande coupée Ondulation
Rectangulaire Étroit -21 dB Forte (9%)
Hamming Moyen -53 dB Moyenne (0,2%)
Hanning Moyen -44 dB Moyenne
Blackman Large -74 dB Faible
Kaiser Ajustable Paramétrable Paramétrable

Compromis : largeur du lobe principal (bande de transition) vs atténuation bande coupée.

Exemple : filtre passe-bas avec fenêtre de Hamming

% Spécifications
Fs = 8000;           % Fréquence d'échantillonnage (Hz)
Fc = 1000;           % Fréquence de coupure (Hz)
N = 50;              % Ordre du filtre

% Fréquence normalisée (0 à 1, où 1 = Fs/2)
Wn = Fc / (Fs/2);

% Conception
b = fir1(N, Wn, 'low', hamming(N+1));

% Visualisation
freqz(b, 1, 1024, Fs);
title('Filtre passe-bas FIR - Hamming');

Méthode de Parks-McClellan (optimal) :

Algorithme d’échange de Remez pour obtenir une réponse équi-ondulation (ripple égal en bande passante et bande coupée).

Avantage : ordre minimal pour un gabarit donné.

% Spécifications
F = [0 0.2 0.3 1];     % Fréquences normalisées
A = [1 1 0 0];         % Amplitudes souhaitées
b = firpm(50, F, A);   % Conception optimale

3. Filtres IIR (Infinite Impulse Response)

Caractéristiques :

Un filtre IIR utilise une rétroaction (récursion) :

y[n] = b0×x[n] + b1×x[n-1] + … - a1×y[n-1] - a2×y[n-2] - …

Fonction de transfert : H(z) = B(z) / A(z) = (b0 + b1×z^(-1) + …) / (1 + a1×z^(-1) + a2×z^(-2) + …)

Avantages :

Inconvénients :

Conception par transformation de filtres analogiques :

On part d’un filtre analogique éprouvé (Butterworth, Chebyshev, Elliptique) et on le transforme en filtre numérique.

Approximations analogiques :

Type Bande passante Bande coupée Phase Ordre
Butterworth Maximalement plate Monotone Bonne Élevé
Chebyshev I Ondulations Monotone Moyenne Moyen
Chebyshev II Plate Ondulations Moyenne Moyen
Elliptique Ondulations Ondulations Mauvaise Faible

Transformation bilinéaire :

Méthode la plus utilisée. Transforme l’axe imaginaire du plan s (analogique) vers le cercle unité du plan z (numérique).

Transformation : s = (2/T) × (1 - z^(-1)) / (1 + z^(-1))

où T est la période d’échantillonnage.

Pré-déformation en fréquence :

La transformation bilinéaire déforme les fréquences selon :

Omega_analogique = (2/T) × tan(omega_numérique × T/2)

Il faut donc pré-déformer les spécifications avant transformation :

% Spécifications numériques
Fs = 1000;              % Hz
Fc = 100;               % Hz
Wn = Fc / (Fs/2);       % Fréquence normalisée

% Conception Butterworth ordre 4
[b, a] = butter(4, Wn, 'low');

% Vérification stabilité
disp(roots(a));         % Tous les pôles doivent être < 1 en module

Invariance impulsionnelle :

Consiste à échantillonner la réponse impulsionnelle analogique.

Avantage : correspondance exacte en temporel. Inconvénient : repliement spectral (aliasing) si signal large bande.

4. Stabilité des Filtres Numériques

Critère de stabilité :

Un filtre numérique est stable si et seulement si tous ses pôles sont à l’intérieur du cercle unité du plan z.

Module de chaque pôle < 1

Diagramme pôles-zéros :

Outil essentiel pour visualiser et analyser la stabilité.

[b, a] = butter(4, 0.2, 'low');
zplane(b, a);

Interprétation :

5. Structures d'Implémentation

Forme directe I :

Implémentation littérale de l’équation aux différences.

Forme directe II :

Réarrangement pour minimiser les mémoires (retards).

Forme en cascade (biquads) :

Décomposition en cellules du 2ème ordre (sections de second ordre).

H(z) = H1(z) × H2(z) × … × Hk(z)

Forme parallèle :

Décomposition en fractions partielles.

H(z) = H0 + H1(z) + H2(z) + … + Hk(z)

6. Effets de la Quantification

Sources d’erreurs en virgule fixe :

  1. Quantification des coefficients :
    • Les coefficients b[k] et a[k] sont arrondis
    • Impact : déplacement des pôles et zéros
    • Risque : pôles sortent du cercle unité → instabilité
  2. Quantification des calculs :
    • Produits et sommes arrondis à chaque étape
    • Accumulation d’erreurs (bruit de quantification)
  3. Débordement (overflow) :
    • Résultats intermédiaires dépassent la capacité
    • Solution : mise à l’échelle (scaling)

Nombre de bits nécessaires :

Règle empirique :

7. Réponse Fréquentielle et Analyse

Module et phase :

La réponse fréquentielle H(e^(jω)) caractérise le filtre :

Phase linéaire :

Condition pour éviter la distorsion de phase : arg(H(ω)) = -α×ω + β

Les filtres FIR peuvent avoir une phase linéaire si leurs coefficients sont symétriques ou antisymétriques.

Délai de groupe :

Mesure du retard en fonction de la fréquence :

τg(ω) = -d[arg(H(ω))] / dω

Pour phase linéaire : délai de groupe constant.

Analyse MATLAB :

[H, W] = freqz(b, a, 1024);
% Module en dB
subplot(2,1,1);
plot(W/pi, 20*log10(abs(H)));
ylabel('Magnitude (dB)');
% Phase
subplot(2,1,2);
plot(W/pi, angle(H));
ylabel('Phase (radians)');
xlabel('Fréquence normalisée (×π rad/échantillon)');

PART D - Analyse Réflexive et Perspectives

Compétences acquises

Conception systématique de filtres : Le cours a fourni une méthodologie rigoureuse pour passer d’un cahier des charges (fréquences, atténuations) à un filtre implémentable. Savoir choisir entre FIR et IIR selon les contraintes.

Maîtrise de MATLAB : Les TPs ont développé une aisance avec Signal Processing Toolbox, indispensable pour le traitement du signal moderne. Capacité à prototyper rapidement des solutions.

Analyse fréquentielle : Compréhension approfondie du lien temps-fréquence, importance de la stabilité, impact des pôles et zéros sur la réponse.

Points clés à retenir

1. FIR vs IIR - Le choix fondamental :

Critère Choisir FIR Choisir IIR
Phase linéaire requise
Ordre faible critique
Stabilité garantie ✗ (vérifier)
Audio, images IIR possible
Temps réel contraint ✗ (ordre élevé)

2. Stabilité avant tout : Toujours vérifier que les pôles sont dans le cercle unité. Un filtre instable est inutilisable.

3. Fréquences normalisées : Attention aux conversions : fréquence physique (Hz) → normalisée (0 à 1) → pulsation numérique (0 à π).

4. Quantification : En implémentation réelle (DSP, FPGA), les effets de virgule fixe peuvent détruire les performances. Toujours simuler avec quantification.

Applications pratiques

Audio et musique :

Biomédical :

Télécommunications :

Traitement d’images :

Liens avec projets et autres cours

Projets personnels : Les compétences en filtrage numérique ont été appliquées dans plusieurs contextes :

Complémentarité avec d’autres cours :

Limites et ouvertures

Limites du cours :

Ouvertures vers :

Évolution technologique

Tendances actuelles :

Outils modernes :

Conclusion

Le filtrage numérique est un pilier du traitement du signal. Maîtriser FIR et IIR, comprendre le compromis ordre/performances, et savoir utiliser les outils de conception sont des compétences essentielles pour l’ingénieur en systèmes embarqués, télécommunications, ou traitement de données.

Ce cours a fourni une base solide théorique (transformée en Z, stabilité) et pratique (MATLAB, implémentation). La capacité à concevoir un filtre adapté à un cahier des charges, vérifier sa stabilité, et l’implémenter efficacement est désormais acquise.

Ressources pour approfondir :

Liens avec les autres cours :


📚 Documents de Cours

📖 Sujet Examen 2023

Énoncé de l'examen de Filtrage Numérique 2023 avec exercices sur FIR/IIR, transformée en Z et conception de filtres.

📥 Télécharger le sujet

📖 Correction Examen 2023

Correction détaillée de l'examen avec les solutions complètes et explications des méthodes de conception.

📥 Télécharger la correction


Cours enseigné en 2022-2023 à l’INSA Toulouse, Département Génie Électrique et Informatique.