diff --git a/src/wav/question_2_2.m b/src/wav/question_2_2.m new file mode 100644 index 0000000000000000000000000000000000000000..2f8c0636fb2f9887f24579dd6c756b4342254337 --- /dev/null +++ b/src/wav/question_2_2.m @@ -0,0 +1,37 @@ +% Paramètres +A = 1; +T = 1; +N = 1000; +Fs = N / T; +t = linspace(0, T, N); +f = (-N/2:N/2-1) * Fs/N; + +% Signal carré (ou dent de scie) +x = A * square(2*pi*t/T); + +% Filtrage passe-bas y(k) = 0.5 * (x(k) + x(k-1)) +b = [0.5, 0.5]; % Numérateur (non-récursif) +a = 1; % Dénominateur (pas de partie récursive) +y = filter(b, a, x); + +% FFT +Xf = fftshift(fft(x))/N; +Yf = fftshift(fft(y))/N; + +% Réponse théorique du filtre +w = 2*pi*f/Fs; +H_th = sqrt((1 + cos(w)) / 2); + +% ----- Tracés ----- +figure; + +plot(f, abs(Xf), f, abs(Yf)); +legend('|X(f)|', '|Y(f)|'); +title('Spectres (entrée vs sortie)'); +xlabel('Fréquence (Hz)'); + +figure; +plot(f, abs(Yf)./abs(Xf), 'b', f, H_th, 'r--'); +legend('Gain mesuré', 'Gain théorique'); +title('Comparaison du gain |Y(f)| / |X(f)|'); +xlabel('Fréquence (Hz)');