Corrections Traitement Signal
Corrections Traitement Signal
www.cybersuebec.ca/mbihi/
SEANCE 6 … Janvier 2025
### Partie A : Modélisation
1. Considérez un circuit RC série où R = 10 kΩ et C = 100 nF.
a) Établissez l'équation différentielle reliant la tension d'entrée Ve(t) à la tension de sortie Vs(t).
b) Résolvez cette équation pour déterminer la solution générale.
c) Trouvez la transformée de Laplace du système.
d) Déterminez la fonction de transfert H(p) = Vs(p)/Ve(p).
www.cybersuebec.ca/mbihi/
SEANCE 6 … Janvier 2025
1. Écrivez l'équation de récurrence correspondant à ce filtre.
2. Déterminez la réponse impulsionnelle de ce filtre.
3. Étudiez la stabilité de ce filtre.
% Définition des paramètres figure;
fs1 = 100; % Fréquence du premier signal en subplot(2,1,1);
Hz plot(t(1:50), x(1:50), 'b.-');
fs2 = 4000; % Fréquence du second signal en title('Signal échantillonné (50 premiers
Hz échantillons)');
Am1 = 2; % Amplitude du premier signal xlabel('Temps (s)');
Am2 = 4; % Amplitude du second signal ylabel('Amplitude');
f0 = 20000; % Fréquence d'échantillonnage en grid on;
Hz
T0 = 1/f0; % Période d'échantillonnage en % Calcul du spectre à l'aide de la FFT
secondes X = fft(x)/N;
N = 256; % Nombre d'échantillons f = f0*(0:N/2-1)/N; % Axe des fréquences
jusqu'à la fréquence de Nyquist
% Génération des échantillons temporels
n = 0:N-1; % Affichage du spectre d'amplitude
t = n*T0; % Vecteur de temps discret subplot(2,1,2);
plot(f, 2*abs(X(1:N/2)), 'r');
% Génération du signal échantillonné title('Spectre d''amplitude du signal');
x = Am1*sin(2*pi*fs1*t) + Am2*sin(2*pi*fs2*t); xlabel('Fréquence (Hz)');
ylabel('|X(f)|');
% Affichage du signal grid on;
www.cybersuebec.ca/mbihi/
SEANCE 6 … Janvier 2025
5. Établissez l'équation de récurrence correspondant à ce filtre numérique.
Analysez les résultats obtenus en commentant l'efficacité du filtrage et en vérifiant que les
spécifications sont respectées.
1. Établissez l'équation différentielle liant la tension de sortie Vs(t) à la tension d'entrée Ve(t).
2. Déterminez la fonction de transfert H(p) = Vs(p)/Ve(p) du filtre.
3. Calculez :
a) La pulsation de coupure ωc
b) La fréquence de coupure fc
c) Le gain en décibels à la fréquence de coupure
4. Tracez le diagramme de Bode asymptotique (gain et phase) de ce filtre.
5. Déterminez l'expression du gain en décibels GdB en fonction de la fréquence normalisée (ω/ωc).
www.cybersuebec.ca/mbihi/
SEANCE 6 … Janvier 2025
Considérez le signal défini par :
x(t) = sin(2π×fs×t) + 2sin(2π×40fs×t), avec fs = 100 Hz
1. Écrivez un script MATLAB qui génère ce signal sur une durée de 0,1 seconde avec une fréquence
d'échantillonnage f₀ = 20 kHz.
2. Calculez et affichez la valeur moyenne et la valeur efficace de ce signal.
3. Représentez graphiquement ce signal dans le domaine temporel.
4. Calculez et représentez le spectre d'amplitude de ce signal à l'aide de la fonction FFT de MATLAB.
www.cybersuebec.ca/mbihi/
SEANCE 6 … Janvier 2025
t = n*T0; % Vecteur temps ylabel('Phase (degrés)');
x = sin(2*pi*fs*t) + 2*sin(2*pi*f_high*t); grid on;
xlim([0 5000]);
% Analyse temporelle
mean_x = mean(x); % Valeur moyenne % Application du filtre avec dlsim
rms_x = sqrt(mean(x.^2)); % Valeur efficace y = dlsim(num, den, x);
www.cybersuebec.ca/mbihi/
SEANCE 6 … Janvier 2025
% Affichage des résultats de performance % Affichage des résultats numériques dans la console
figure(4); disp(['Moyenne du signal d''entrée: '
subplot(2,1,1); num2str(mean_x)]);
bar([SNR_input, SNR_output]); disp(['Valeur efficace du signal d''entrée: '
set(gca, 'XTickLabel', {'SNR Entrée', 'SNR num2str(rms_x)]);
Sortie'}); disp(['SNR avant filtrage: ' num2str(SNR_input) ' dB']);
title('Rapport Signal/Bruit (dB)'); disp(['SNR après filtrage: ' num2str(SNR_output) '
ylabel('SNR (dB)'); dB']);
grid on; disp(['Atténuation à ' num2str(f_high) ' Hz: '
num2str(20*log10(abs(Y(idx_high))/abs(X(idx_high))))
' dB']);
```
---
## Partie A : Modélisation
### Question 1
**a) Établir l'équation différentielle reliant la tension d'entrée Ve(t) à la tension de sortie Vs(t)**
Dans un circuit RC série, la tension de sortie Vs(t) est mesurée aux bornes du condensateur C.
D'après la loi des mailles, on a : Ve(t) = R·i(t) + Vs(t)
www.cybersuebec.ca/mbihi/
SEANCE 6 … Janvier 2025
**b) Résoudre cette équation pour déterminer la solution générale**
La solution générale de cette équation dépend de la forme de Ve(t). Pour une entrée quelconque, on
peut utiliser l'intégrale de convolution :
En remplaçant τ = 1 ms :
H(p) = 1/(1·10⁻³·p + 1)
### Question 2
**a) Déterminer la fréquence de coupure fc du filtre**
- À f = fc (ω = ωc = 1/τ) :
|H(jωc)| = 1/√(1 + 1²) = 1/√2 ≈ 0,7071
G(dB) = 20·log₁₀(0,7071) ≈ -3 dB
- À f = fc/10 (ω = ωc/10) :
Ginfo4 - Techniques de Traitement du signal - Pr MBIHI Jean, Professeur Titulaire de Classe exceptionnelle
www.cybersuebec.ca/mbihi/
SEANCE 6 … Janvier 2025
|H(jωc/10)| = 1/√(1 + (0,1)²) ≈ 1/√1,01 ≈ 0,995
G(dB) = 20·log₁₀(0,995) ≈ -0,04 dB
- À f = 10×fc (ω = 10·ωc) :
|H(j10ωc)| = 1/√(1 + 10²) = 1/√101 ≈ 0,0995
G(dB) = 20·log₁₀(0,0995) ≈ -20 dB
**c) Quelle est la pente d'atténuation en dB/décade dans la zone des hautes fréquences?**
Pour un filtre du premier ordre comme celui-ci, la pente d'atténuation dans la zone des hautes
fréquences (ω >> ωc) est de -20 dB/décade.
### Question 1
**Calculer et représenter la réponse indicielle du système (réponse à un échelon unitaire)**
Pour un échelon unitaire Ve(t) = u(t), la transformée de Laplace est Ve(p) = 1/p.
Avec τ = 1 ms :
Vs(t) = 1 - e^(-t/0.001) pour t ≥ 0
Cette réponse indicielle montre que la sortie part de 0 et tend asymptotiquement vers 1, avec une
constante de temps τ = 1 ms.
### Question 2
**Si l'entrée est un signal sinusoïdal Ve(t) = 5sin(2π×500t) V**
Le signal de sortie est donc en retard de phase d'environ 72,4° par rapport à l'entrée.
Ginfo4 - Techniques de Traitement du signal - Pr MBIHI Jean, Professeur Titulaire de Classe exceptionnelle
www.cybersuebec.ca/mbihi/
SEANCE 6 … Janvier 2025
### Question 3
**Expliquer pourquoi ce circuit peut être considéré comme un filtre passe-bas**
### Question 1
**Si l'on souhaite numériser ce système avec une période d'échantillonnage T₀ = 0,1 ms**
**a) Cette fréquence d'échantillonnage est-elle suffisante pour respecter le théorème de Nyquist si le
signal d'entrée contient des fréquences jusqu'à 4 kHz?**
D'après le théorème de Nyquist, pour représenter correctement un signal contenant des fréquences
jusqu'à fmax, la fréquence d'échantillonnage doit satisfaire f₀ > 2×fmax.
Comme f₀ = 10 kHz > 8 kHz, la fréquence d'échantillonnage est suffisante pour respecter le théorème
de Nyquist.
Pour convertir la fonction de transfert analogique H(p) en fonction de transfert numérique D(z), on
peut utiliser la transformation bilinéaire :
p = (2/T₀)·(1-z⁻¹)/(1+z⁻¹)
Simplifions :
D(z) = (1+z⁻¹)/(τ·(2/T₀)·(1-z⁻¹) + (1+z⁻¹))
D(z) = (1+z⁻¹)/((2τ/T₀)·(1-z⁻¹) + (1+z⁻¹))
D(z) = (1+z⁻¹)/((2τ/T₀ - 1)·(1-z⁻¹) + 2·(1))
Avec τ = 1 ms et T₀ = 0,1 ms :
2τ/T₀ = 2×0.001/0.0001 = 20
www.cybersuebec.ca/mbihi/
SEANCE 6 … Janvier 2025
D(z) = (z + 1)/(21z - 19)
Avec T₀ = 0,1 ms et τ = 1 ms :
e^(-T₀/τ) = e^(-0.1) ≈ 0,9048
### Question 1
**Déterminer la fréquence maximale présente dans ce signal**
### Question 2
**Quelle est la fréquence d'échantillonnage minimale théorique nécessaire selon le théorème de
Nyquist?**
Selon le théorème de Nyquist, la fréquence d'échantillonnage minimale f₀,min doit être supérieure à
deux fois la fréquence maximale du signal :
f₀,min > 2×fmax = 2×4000 = 8000 Hz
### Question 3
**Pour une application pratique, on choisit f₀ = 20 kHz comme fréquence d'échantillonnage**
www.cybersuebec.ca/mbihi/
SEANCE 6 … Janvier 2025
Calculons les valeurs pour n = 0, 1, 2, 3, 4 :
Représentation graphique : Un graphique avec les points (0,0), (1,3.8672), (2,3.93), (3,2.5396), (4,-
2.1006) reliés par une courbe.
### Question 4
**Calculer la valeur moyenne et la valeur efficace de ce signal sur une période de 10 ms**
La valeur moyenne d'un signal périodique sur une période complète est donnée par :
Vmoy = (1/T)·∫₀ᵀ x(t)dt
Pour les signaux sinusoïdaux, la valeur moyenne sur une période complète est nulle :
Vmoy = 0
### Question 1
**Calculer la transformée de Fourier X(f) du signal x(t)**
### Question 2
**Représenter le spectre d'amplitude |X(f)|**
www.cybersuebec.ca/mbihi/
SEANCE 6 … Janvier 2025
|X(f)| = |j·[δ(f-100) - δ(f+100) + 2δ(f-4000) - 2δ(f+4000)]|
= |δ(f-100) - δ(f+100) + 2δ(f-4000) - 2δ(f+4000)|
Pour un spectre bilatéral, on obtient des impulsions de Dirac aux fréquences ±100 Hz et ±4000 Hz, avec
des amplitudes de 1 et 2 respectivement.
### Question 3
**Calculer la puissance spectrale P₍ₓ₎(f) = |X(f)|² du signal**
### Question 4
**Si on applique ce signal à l'entrée d'un filtre passe-bas de fréquence de coupure fc = 1 kHz**
Le filtre passe-bas va laisser passer les fréquences inférieures à fc = 1 kHz et atténuer les fréquences
supérieures.
Pour un filtre passe-bas réel (non idéal), la composante à 4000 Hz serait atténuée mais pas
complètement supprimée. Son amplitude dépendrait de l'ordre du filtre et de la distance entre fc et
4000 Hz.
Pour un filtre passe-bas idéal, le signal de sortie serait uniquement composé de la composante basse
fréquence :
y(t) = 2sin(2π×100t)
Pour un filtre passe-bas réel, la composante à 4000 Hz serait atténuée d'un facteur dépendant de la
fonction de transfert du filtre à cette fréquence.
Ginfo4 - Techniques de Traitement du signal - Pr MBIHI Jean, Professeur Titulaire de Classe exceptionnelle
www.cybersuebec.ca/mbihi/
SEANCE 6 … Janvier 2025
Si on considère un filtre passe-bas du premier ordre, le gain à f = 4000 Hz serait :
G(4000 Hz) = 1/√(1 + (4000/1000)²) = 1/√17 ≈ 0,243
### Question 1
**Écrire l'équation de récurrence correspondant à ce filtre**
### Question 2
**Déterminer la réponse impulsionnelle de ce filtre**
La réponse impulsionnelle h[n] est la sortie du filtre lorsque l'entrée est une impulsion de Dirac
discrète δ[n].
Pour n = 0 :
h[0] = 0,0308·δ[0] = 0,0308
Pour n = 1 :
h[1] = 0,9692·h[0] + 0,0308·δ[1] = 0,9692·0,0308 + 0 = 0,0299
Pour n = 2 :
h[2] = 0,9692·h[1] + 0,0308·δ[2] = 0,9692·0,0299 + 0 = 0,0290
Pour n = 3 :
h[3] = 0,9692·h[2] + 0,0308·δ[3] = 0,9692·0,0290 + 0 = 0,0281
Ginfo4 - Techniques de Traitement du signal - Pr MBIHI Jean, Professeur Titulaire de Classe exceptionnelle
www.cybersuebec.ca/mbihi/
SEANCE 6 … Janvier 2025
Cette séquence continue avec h[n] = 0,9692·h[n-1] pour n > 0, ce qui donne :
h[n] = 0,0308·(0,9692)^n pour n ≥ 0
h[n] = 0 pour n < 0
La réponse impulsionnelle est une séquence exponentielle décroissante, typique d'un filtre passe-bas
du premier ordre.
### Question 3
**Étudier la stabilité de ce filtre**
Un filtre numérique est stable si tous les pôles de sa fonction de transfert sont à l'intérieur du cercle
unité dans le plan complexe z.
Comme |e⁻ᵃᵀ⁰| = 0,9692 < 1, le pôle est à l'intérieur du cercle unité, donc le filtre est stable.
Autre preuve de stabilité : la réponse impulsionnelle h[n] = 0,0308·(0,9692)^n tend vers 0 quand n tend
vers l'infini, ce qui est une condition nécessaire et suffisante pour la stabilité BIBO (Bounded Input,
Bounded Output).
### Question 1
**Quelle est la fréquence maximale contenue dans ce signal ?**
### Question 2
**La condition de Nyquist est-elle respectée ? Justifiez.**
Selon le théorème de Nyquist, la fréquence d'échantillonnage f₀ doit être supérieure à deux fois la
fréquence maximale du signal :
f₀ > 2×fmax
La condition de Nyquist est donc bien respectée, ce qui garantit qu'il n'y aura pas de repliement
spectral lors de l'échantillonnage.
Ginfo4 - Techniques de Traitement du signal - Pr MBIHI Jean, Professeur Titulaire de Classe exceptionnelle
www.cybersuebec.ca/mbihi/
SEANCE 6 … Janvier 2025
### Question 3
**Représenter graphiquement l'allure du spectre d'amplitude théorique |X(f)|**
Le spectre d'amplitude théorique |X(f)| d'un signal échantillonné contient des raies aux fréquences des
composantes sinusoïdales.
Graphiquement, cela se représente par deux raies verticales, une à 100 Hz d'amplitude 1 et une à 4000
Hz d'amplitude 2.
La fréquence maximale contenue dans ce signal est 4000 Hz, correspondant à la deuxième composante
sinusoïdale.
La condition de Nyquist stipule que la fréquence d'échantillonnage f₀ doit être supérieure ou égale à
deux fois la fréquence maximale du signal :
- Fréquence d'échantillonnage f₀ = 10 kHz
- Fréquence maximale du signal = 4 kHz
- Condition de Nyquist : f₀ ≥ 2×fmax → 10 kHz ≥ 2×4 kHz = 8 kHz
La condition de Nyquist est donc respectée, ce qui signifie que le signal peut être échantillonné sans
repliement spectral.
www.cybersuebec.ca/mbihi/
SEANCE 6 … Janvier 2025
 est située dans les basses
fréquences, tandis que celle que nous voulons éliminer (4 kHz) est située dans les hautes fréquences.
Un filtre passe-bas du premier ordre est suffisant pour cette application. Sa fonction de transfert
analogique est :
H(p) = k / (1 + p/ωc)
où :
- k est le gain statique (nous prendrons k = 1)
- ωc est la pulsation de coupure
- p est la variable de Laplace
H(p) = ωc / (p + ωc)
La fréquence de coupure doit être choisie entre 100 Hz (fréquence à conserver) et 4000 Hz (fréquence
à éliminer). Pour assurer une bonne séparation entre ces deux composantes, on peut choisir une
fréquence de coupure de :
fc = 500 Hz
Cette valeur permet de laisser passer la composante à 100 Hz avec une atténuation minimale tout en
commençant à atténuer significativement les fréquences plus élevées.
Pour convertir la fonction de transfert analogique en fonction de transfert numérique, nous utilisons la
transformation bilinéaire :
p = (2/T₀) × (1-z⁻¹)/(1+z⁻¹)
www.cybersuebec.ca/mbihi/
SEANCE 6 … Janvier 2025
Substituons cette expression dans H(p) = ωc / (p + ωc) :
Simplifions :
D(z) = ωc / ((2/T₀) × (1-z⁻¹)/(1+z⁻¹) + ωc)
= ωc(1+z⁻¹) / ((2/T₀)(1-z⁻¹) + ωc(1+z⁻¹))
= ωc(1+z⁻¹) / ((2/T₀ + ωc) + (ωc - 2/T₀)z⁻¹)
```matlab
% Paramètres du signal
f1 = 100; % Fréquence de la première composante (Hz)
f2 = 4000; % Fréquence de la seconde composante (Hz)
fs = 10000; % Fréquence d'échantillonnage (Hz)
Ts = 1/fs; % Période d'échantillonnage (s)
N = 1024; % Nombre d'échantillons
Ginfo4 - Techniques de Traitement du signal - Pr MBIHI Jean, Professeur Titulaire de Classe exceptionnelle
www.cybersuebec.ca/mbihi/
SEANCE 6 … Janvier 2025
% Génération du signal d'entrée
n = 0:N-1; % Vecteur d'indices
t = n*Ts; % Vecteur temps
x = sin(2*pi*f1*t) + 2*sin(2*pi*f2*t); % Signal d'entrée
% Coefficients du filtre
b = K*[1 1]; % Numérateur
a = [1 -(1-K)/(1+K)]; % Dénominateur
% Application du filtre
y = filter(b, a, x); % Filtrage du signal d'entrée
subplot(2,1,2);
plot(t(1:200), y(1:200));
title('Signal de sortie y[n] (200 premiers échantillons)');
xlabel('Temps (s)');
ylabel('Amplitude');
grid on;
subplot(2,1,2);
plot(f, 2*abs(Y(1:N/2)));
title('Spectre d''amplitude du signal de sortie');
xlabel('Fréquence (Hz)');
Ginfo4 - Techniques de Traitement du signal - Pr MBIHI Jean, Professeur Titulaire de Classe exceptionnelle
www.cybersuebec.ca/mbihi/
SEANCE 6 … Janvier 2025
ylabel('|Y(f)|');
grid on;
xlim([0 5000]);
1. **Signal temporel** : Le signal d'entrée est la somme de deux sinusoïdes de fréquences 100 Hz et
4000 Hz. Après filtrage, la composante à 4000 Hz est fortement atténuée, ne laissant pratiquement
que la sinusoïde à 100 Hz.
2. **Spectre d'amplitude** : Le spectre du signal d'entrée montre deux pics distincts à 100 Hz et 4000
Hz. Le spectre du signal de sortie montre que la composante à 100 Hz est préservée, tandis que celle à
4000 Hz est considérablement réduite.
3. **Efficacité du filtrage** :
- À 100 Hz (composante à conserver), l'atténuation est faible (environ -0,13 dB).
- À 4000 Hz (composante à éliminer), l'atténuation est importante (environ -21,6 dB).
Ces résultats confirment que le filtre passe-bas conçu fonctionne correctement, en préservant la
composante basse fréquence tout en atténuant significativement la composante haute fréquence.
### 1. Équation différentielle liant la tension de sortie Vs(t) à la tension d'entrée Ve(t)
Pour un filtre RC passe-bas, la tension de sortie Vs(t) est prise aux bornes du condensateur.
En substituant :
Ve(t) = RC·dVs(t)/dt + Vs(t)
www.cybersuebec.ca/mbihi/
SEANCE 6 … Janvier 2025
En appliquant la transformée de Laplace à l'équation différentielle :
RC·p·Vs(p) + Vs(p) = Ve(p)
Vs(p)·(RCp + 1) = Ve(p)
a) La pulsation de coupure ωc :
Pour un filtre RC passe-bas, ωc = 1/(RC)
ωc = 1/(5·10³ × 10⁻⁶) = 1/(5·10⁻³) = 200 rad/s
b) La fréquence de coupure fc :
fc = ωc/(2π) = 200/(2π) ≈ 31,83 Hz
En décibels :
GdB(ω) = 20·log₁₀|H(jω)| = 20·log₁₀(1/√(1 + (ω/ωc)²)) = -10·log₁₀(1 + (ω/ωc)²)
www.cybersuebec.ca/mbihi/
SEANCE 6 … Janvier 2025
En décomposant en éléments simples :
Vs(p) = 1/p - 1/(p + 1/RC)
Pour un signal carré de fréquence f = fc/10 ≈ 3,18 Hz et d'amplitude 10V, la période est T = 1/f ≈ 314
ms.
La constante de temps τ = 5 ms est beaucoup plus petite que la demi-période (T/2 ≈ 157 ms), donc le
signal de sortie aura le temps d'atteindre presque la valeur finale à chaque alternance du signal carré.
Le signal de sortie ressemblera donc à un signal carré avec des transitions exponentielles (arrondies) au
lieu de transitions abruptes. L'amplitude sera proche de 10V.
H(p) = 1/(RCp + 1)
H((1-z⁻¹)/(1+z⁻¹)) = 1/(RC·(1-z⁻¹)/(1+z⁻¹) + 1)
En simplifiant :
D(z) = (1+z⁻¹)/(RC·(1-z⁻¹) + (1+z⁻¹))
D(z) = (1+z⁻¹)/((RC+1) - (RC-1)·z⁻¹)
D(z) = (1+z⁻¹)/((1+α) - (1-α)·z⁻¹)
où α = 1/RC = 200.
Mais attention, la transformation bilinéaire introduit une distorsion de l'échelle des fréquences. Pour la
fréquence d'échantillonnage f₀ = 20×fc ≈ 636,6 Hz, il faut prendre en compte cette distorsion. La
transformation correcte est :
Ginfo4 - Techniques de Traitement du signal - Pr MBIHI Jean, Professeur Titulaire de Classe exceptionnelle
www.cybersuebec.ca/mbihi/
SEANCE 6 … Janvier 2025
α = tan(ωc·T₀/2) = tan(π·fc/f₀) ≈ tan(π/20) ≈ 0,158
D'où :
D(z) = (1+z⁻¹)/((1+α) - (1-α)·z⁻¹)
D(z) = (1+z⁻¹)/((1+0,158) - (1-0,158)·z⁻¹)
D(z) = (1+z⁻¹)/(1,158 - 0,842·z⁻¹)
a) Équation de récurrence :
D(z) = Y(z)/X(z) = (0,863 + 0,863·z⁻¹)/(1 - 0,727·z⁻¹)
b) Conditions de stabilité :
Un filtre numérique est stable si tous les pôles de sa fonction de transfert sont à l'intérieur du cercle
unité.
Comme |z| = 0,727 < 1, le pôle est à l'intérieur du cercle unité, donc le filtre est stable.
En pratique, pour f₀ = 20×fc, la réponse du filtre numérique est très proche de celle du filtre analogique
pour les fréquences bien inférieures à la fréquence de Nyquist.
www.cybersuebec.ca/mbihi/
SEANCE 6 … Janvier 2025
### 1. Script MATLAB pour générer le signal
Résultats théoriques :
- La valeur moyenne devrait être très proche de zéro car les deux composantes sont des sinusoïdes
centrées sur zéro.
- La valeur efficace théorique est calculée comme suit :
- Pour un signal x(t) = sin(2π×fs×t) + 2sin(2π×40fs×t)
- RMS = √[(1²/2) + (2²/2)] = √(1/2 + 4/2) = √(5/2) ≈ 1.581
Le script précédent incluait déjà la représentation graphique du signal dans le domaine temporel pour
les 200 premiers échantillons. Comme le signal contient une composante haute fréquence (4000 Hz), il
est préférable de ne visualiser qu'une partie du signal pour bien observer les détails des oscillations.
```matlab
% Calcul du spectre avec la FFT
X = fft(x)/N; % FFT normalisée
f = f0*(0:N/2-1)/N; % Axe des fréquences (jusqu'à la fréquence de Nyquist)
www.cybersuebec.ca/mbihi/
SEANCE 6 … Janvier 2025
xlabel('Fréquence (Hz)');
ylabel('Amplitude');
grid on;
xlim([0 5000]); % Limiter l'affichage à 5 kHz
```
Résultats attendus :
- Le spectre présentera deux pics distincts :
- Un premier pic à 100 Hz avec une amplitude de 0.5 (normalisée)
- Un second pic à 4000 Hz avec une amplitude de 1 (normalisée)
Pour concevoir un filtre passe-bas avec une fréquence de coupure à 500 Hz et une atténuation
minimale de 40 dB à 4 kHz, nous allons utiliser un filtre de premier ordre, puis vérifier si les
spécifications sont respectées.
Pour un filtre de premier ordre, la pente d'atténuation est de -20 dB/décade. Pour atteindre -40 dB à 4
kHz, nous avons besoin de :
- Si la fréquence est 8 fois plus grande que la fréquence de coupure (4000/500 = 8), l'atténuation
théorique est de -20×log₁₀(8) ≈ -18 dB.
- Ce n'est pas suffisant pour atteindre -40 dB.
Pour simplifier, nous suivrons l'indication de l'énoncé et utiliserons le filtre de premier ordre avec le
paramètre a = 625, mais nous vérifierons s'il répond bien aux spécifications.
www.cybersuebec.ca/mbihi/
SEANCE 6 … Janvier 2025
% Représentation de la réponse en fréquence title('Réponse en phase du filtre numérique');
figure(3); xlabel('Fréquence (Hz)');
% Diagramme de gain ylabel('Phase (degrés)');
subplot(2,1,1); grid on;
plot(w/(2*pi), 20*log10(abs(h)), 'k-'); xlim([0 5000]);
title('Réponse en gain du filtre numérique'); ```
```matlab
% Application du filtre avec dlsim
y = dlsim(num, den, x);
```matlab
% Calcul du spectre du signal filtré
Y = fft(y)/N;
% Représentation du spectre
figure(5);
plot(f, 2*abs(Y(1:N/2)), 'r-');
title('Spectre d''amplitude du signal filtré y(t)');
xlabel('Fréquence (Hz)');
ylabel('Amplitude');
grid on;
xlim([0 5000]);
```
Résultat attendu :
Ginfo4 - Techniques de Traitement du signal - Pr MBIHI Jean, Professeur Titulaire de Classe exceptionnelle
www.cybersuebec.ca/mbihi/
SEANCE 6 … Janvier 2025
- Le pic à 100 Hz devrait être bien préservé (légèrement atténué)
- Le pic à 4000 Hz devrait être fortement atténué (d'environ -32 dB)
Résultats théoriques :
- SNR avant filtrage : comme l'amplitude de la première composante est 1 et celle de la seconde est 2,
le SNR initial est 10×log₁₀(0.5²/1²) ≈ -6 dB
- SNR après filtrage : avec une atténuation d'environ -32 dB à 4000 Hz, le SNR après filtrage devrait être
d'environ -6 + 32 = 26 dB
www.cybersuebec.ca/mbihi/
SEANCE 6 … Janvier 2025
```matlab legend_text{i} = sprintf('a = %.1f (fc ≈ %.1f Hz)',
% Test avec différentes valeurs de 'a' pour a_test, fc_test);
modifier la fréquence de coupure end
a_values = [312.5, 625, 1250]; % Valeurs de a
(moitié, référence, double) title('Comparaison des réponses en fréquence
legend_text = cell(length(a_values), 1); pour différentes valeurs de a');
xlabel('Fréquence (Hz)');
% Création d'une figure pour comparer ylabel('Gain (dB)');
figure(6); grid on;
hold on; legend(legend_text);
hold off;
xlim([0 5000]);
ylim([-60 5]);
```
Analyse de l'impact :
- Augmenter la valeur de a augmente la fréquence de coupure, réduisant ainsi l'efficacité du filtrage
pour la composante haute fréquence.
- Diminuer la valeur de a diminue la fréquence de coupure, améliorant le filtrage de la composante
haute fréquence mais risquant d'atténuer également la composante basse fréquence.
1. Utiliser un filtre d'ordre supérieur (ordre 2 ou plus) pour obtenir une pente d'atténuation plus raide.
Par exemple, en mettant en cascade deux filtres identiques, on obtiendrait une pente de -40
dB/décade.
2. Implémenter un filtre IIR de type Butterworth ou Chebyshev qui offrirait une meilleure sélectivité
fréquentielle.
3. Utiliser un filtre à phase linéaire (FIR) si le retard de groupe est important pour l'application.
4. Optimiser la fréquence de coupure précisément entre 100 Hz et 4000 Hz pour maximiser le rapport
signal/bruit tout en minimisant la distorsion de la composante utile.
Le filtre implémenté est un filtre numérique de premier ordre avec une fonction de transfert :
D(z) = (1-e⁻ᵃᵀ)/(z-e⁻ᵃᵀ) avec a = 625 et T = 1/20000 s
Ce filtre correspond à un filtre passe-bas avec une fréquence de coupure approximative de 99.5 Hz.
Ginfo4 - Techniques de Traitement du signal - Pr MBIHI Jean, Professeur Titulaire de Classe exceptionnelle
www.cybersuebec.ca/mbihi/
SEANCE 6 … Janvier 2025
#### Analyse des résultats
Le filtre a permis d'atténuer significativement la composante haute fréquence (4000 Hz) tout en
préservant relativement bien la composante basse fréquence (100 Hz).
Le filtrage est globalement efficace pour la tâche demandée, qui est d'extraire la composante basse
fréquence. Cependant, il présente quelques limites :
1. L'atténuation de la composante haute fréquence (-32 dB) est légèrement inférieure aux
spécifications demandées (-40 dB).
2. La composante basse fréquence est légèrement atténuée car la fréquence de coupure est très
proche de 100 Hz.
3. La pente d'atténuation (-20 dB/décade) d'un filtre de premier ordre est relativement douce, ce qui
limite la sélectivité fréquentielle.
1. **Augmenter l'ordre du filtre** : Un filtre d'ordre 2 ou 3 offrirait une pente d'atténuation plus raide,
permettant une meilleure séparation des composantes.
2. **Ajuster la fréquence de coupure** : Une fréquence de coupure légèrement plus élevée (par
exemple 150-200 Hz) permettrait de moins atténuer la composante utile tout en maintenant une forte
atténuation à 4000 Hz.
3. **Considérer d'autres types de filtres** : Des filtres Butterworth ou Chebyshev de type IIR
pourraient offrir une meilleure sélectivité.
```matlab
% Paramètres du signal
fs = 100; % Fréquence du premier signal en Hz
f_high = 40*fs; % Fréquence du second signal (40*fs = 4000 Hz)
f0 = 20000; % Fréquence d'échantillonnage en Hz
T0 = 1/f0; % Période d'échantillonnage en secondes
duration = 0.1; % Durée du signal en secondes
N = duration*f0; % Nombre d'échantillons
Ginfo4 - Techniques de Traitement du signal - Pr MBIHI Jean, Professeur Titulaire de Classe exceptionnelle
www.cybersuebec.ca/mbihi/
SEANCE 6 … Janvier 2025
% Génération du signal % Phase du filtre
n = 0:N-1; % Indices des échantillons subplot(2,1,2);
t = n*T0; % Vecteur temps plot(w/(2*pi), unwrap(angle(h))*180/pi);
x = sin(2*pi*fs*t) + 2*sin(2*pi*f_high*t); title('Phase du filtre numérique');
xlabel('Fréquence (Hz)');
% Analyse temporelle ylabel('Phase (degrés)');
mean_x = mean(x); % Valeur moyenne grid on;
rms_x = sqrt(mean(x.^2)); % Valeur efficace xlim([0 5000]);
www.cybersuebec.ca/mbihi/
SEANCE 6 … Janvier 2025
ylabel('Gain (dB)');
grid on;
xlim([0 5000]);