diff --git a/SAR.m b/SAR.m
index 9d1fc9ac79e1ed03d8ac7589b37665c35530e302..8965062f97c10b1f0dc0c5b4c955370f2b735571 100644
--- a/SAR.m
+++ b/SAR.m
@@ -1,14 +1,14 @@
 % Question 1 :
 
-%[x1,fe1]=audioread("C:\Users\samue\OneDrive\Documents\Cours\cours IMT atlantique\A1\elec inge\traitement du signal\SAR\tp-audio-ee-etudiant-c24leray\src\wav\single_tone_piano1.wav");
-%[x2,fe2]=audioread("C:\Users\samue\OneDrive\Documents\Cours\cours IMT atlantique\A1\elec inge\traitement du signal\SAR\tp-audio-ee-etudiant-c24leray\src\wav\single_tone_piano2.wav");
+[x1,fe1]=audioread("C:\Users\samue\OneDrive\Documents\Cours\cours IMT atlantique\A1\elec inge\traitement du signal\SAR\tp-audio-ee-etudiant-c24leray\src\wav\single_tone_piano1.wav");
+[x2,fe2]=audioread("C:\Users\samue\OneDrive\Documents\Cours\cours IMT atlantique\A1\elec inge\traitement du signal\SAR\tp-audio-ee-etudiant-c24leray\src\wav\single_tone_piano2.wav");
 
-[x,fe]=audioread("C:\Users\camil\Documents\IMT_A\semestre_6\electrical engineering\tp-audio-ee-etudiant-c24leray\src\wav\single_tone_celtic-harp-a3.wav");
+%[x,fe]=audioread("C:\Users\camil\Documents\IMT_A\semestre_6\electrical engineering\tp-audio-ee-etudiant-c24leray\src\wav\single_tone_celtic-harp-a3.wav");
 
 soundsc(x,fe);
-L1 = length(x1);
-X1 = fftshift(fft(x1));
-f1 = (-L1/2 : L1/2 - 1)*(fe1/L1);
+L1 = length(x1)
+X1 = fftshift(fft(x1))
+f1 = (-L1/2 : L1/2 - 1)*(fe1/L1)
 
 figure;
 plot(f1, log(abs(X1)),'r');
@@ -19,11 +19,11 @@ ylabel("log|X(f)|")
 
 % Question 2 :
 
-[x1,fe1]=audioread("C:\Users\camil\Documents\IMT_A\semestre_6\electrical engineering\tp-audio-ee-etudiant-c24leray\src\wav\single_tone_piano1.wav");
-[x2,fe2]=audioread("C:\Users\camil\Documents\IMT_A\semestre_6\electrical engineering\tp-audio-ee-etudiant-c24leray\src\wav\single_tone_piano2.wav");
+%[x1,fe1]=audioread("C:\Users\camil\Documents\IMT_A\semestre_6\electrical engineering\tp-audio-ee-etudiant-c24leray\src\wav\single_tone_piano1.wav");
+%[x2,fe2]=audioread("C:\Users\camil\Documents\IMT_A\semestre_6\electrical engineering\tp-audio-ee-etudiant-c24leray\src\wav\single_tone_piano2.wav");
 
-soundsc(x1,fe1);
-soundsc(x2,fe2);
+%soundsc(x1,fe1);
+%soundsc(x2,fe2);
 
 L1 = length(x1);
 L2 = length(x2);
@@ -43,10 +43,9 @@ xlabel("fréquence en Hz");
 ylabel("10*log|X(f)|");
 
 
-% Question 3 :
+%Question 3 :
 
 freq_r=[220;442;663;885;1108;1331;1556;1782;2009];
-amplitude = [];
 
 % Durée et fréquence d'échantillonnage
 Fe = 44100;           % fréquence d'échantillonnage (standard audio)
@@ -58,7 +57,7 @@ s = zeros(size(t));
 
 % Ajouter les sinusoïdes
 for k = 1:length(freq_r)
-    s = s + amplitude * sin(2*pi*freq_r(k)*t);
+    s = s + sin(2*pi*freq_r(k)*t);
 end
 
 % Normaliser pour éviter la saturation (valeurs entre -1 et 1)
@@ -71,49 +70,21 @@ soundsc(s, Fe);
 
 % Question 4 :
 
-% Define ADSR parameters
-A = 0.1; % Attack time (seconds)
-D = 0.005; % Decay time (seconds)
-S = 0.8; % Sustain level (0 to 1)
-R = 0.75; % Release time (seconds)
-
-fs = 44100; % Sampling frequency (Hz)
-
-
-% Total duration of the envelope
-totalTime = A + D + R;
-
-% totalTime = totalTime * 6; % Extend the envelope for 6 seconds
-t = linspace(0, totalTime, totalTime * fs);
-
-
-% Generate ADSR envelope
-attack = linspace(0, 1, A * fs);
-decay = linspace(1, S, D * fs);
-release = linspace(S, 0, R * fs);
- 
-
-% Combine all segments
-adsrEnvelope = [attack, decay, release];
-
+function s = signal(t, freq_r)
+    s = zeros(size(t));
+    for k = 1:length(freq_r)
+        s = s + sin(2*pi*freq_r(k)*t);
+    end
+end
 
-% Plot the envelope
 figure;
-plot(t, adsrEnvelope);
-xlabel('Time (s)');
-ylabel('Amplitude');
-title('ADSR Envelope');
-
-
-[xA, feA] = audioread("C:\Users\camil\Documents\IMT_A\semestre_6\electrical engineering\tp-audio-ee-etudiant-c24leray\src\wav\single_tone_piano2.wav");
-
- 
-
-% Apply the ADSR envelope to the audio signal
-adsrSignal = xA(1:length(adsrEnvelope)) .* adsrEnvelope';
-sound(adsrSignal, feA);
+plot(t, signal(t, freq_r))
 
-audiowrite("C:\Users\camil\Documents\IMT_A\semestre_6\electrical engineering\tp-audio-ee-etudiant-c24leray\src\wav\single_tone_piano2.wav", adsrSignal, fe);
+t = [0.1 0.3 0.5 0.7 1]; % Temps en secondes
+env = [signal(0.1) signal(0.3) signal(0.5) signal(0.7) signal(1)]; % Valeurs d'amplitude correspondantes
 
+t_total = length(s)/Fe; % Durée totale du signal en secondes
+t_interpolated = linspace(0, t_total, length(s)); % Temps interpolé
+env_interpolated = interp1(t, env, t_interpolated); % Enveloppe interpolée
 
-% Question 5 : 
\ No newline at end of file
+s_envelope = s .* env_interpolated; % Signal avec enveloppe ADSR
\ No newline at end of file
diff --git a/question_21.asv b/question_21.asv
index bf76cfc959a12d3680fe04587952c7dbe38ed2d4..39cb74bcb0ed337ae10e6e9513677697e6960aa7 100644
--- a/question_21.asv
+++ b/question_21.asv
@@ -1,14 +1,15 @@
-fs = 10e3; % Fréquence d'échantillonnage
-T = 2*pi;
+fe = 10e3; % Fréquence d'échantillonnage
+T = 1/10;
+Te=1/fs;
 t = -1:1/fs:1; % Durée du signal
 
 
 x_1 =square(2*pi*t/T);
 
 %fft
-X_1 = 10*log10(abs(fftshift(fft(x)))); 
+X_1 = 10*log10(abs(fftshift(fft(x_1)))); 
 N =length(t) ;
-freq = (-N/2:N/2-1)*(1/(T*N));
+freq = (-N/2:N/2-1)*(1/(Te*N));
 
 figure;
 stem(freq, X_1, '.') % Tracé du signal
@@ -32,39 +33,35 @@ title('spectre du signal en dent de scie');
 
 %question 2.2------------------------------------------
 
-% Paramètres
-T = 2*pi;
-N = 1000;
-t = linspace(-T/2, T/2, N);
-
-% Signal carré en entrée (amplitude ±1)
-x = sign(sin(2*pi*t/T));
-
 % Filtrage : y(k) = 1/2 (x(k) + x(k-1))
-y = zeros(size(x));
-y(2:end) = 0.5 * (x(2:end) + x(1:end-1));
+b=[1/2,1/2];
+a=1;
+y = filter(a,b,x_1);
+
 
 % FFT
-X = fftshift(fft(x))/N;
-Y = fftshift(fft(y))/N;
-f = (-N/2:N/2-1)*(1/(T/N)); % Axe fréquentiel
-omega = 2*pi*f*(T/N);       % Fréquence angulaire en rad/sample
+X1 = 20*log10(abs(fftshift(fft(x_1))));
+Y = 20*log10(abs(fftshift(fft(y))));
+f = (-N/2:N/2-1)*(1/(Te/N)); % Axe fréquentiel
+f_lin=linspace(-1/(2*Te),1/(2*Te),N);
+disp(f_lin)
+
 
 % Réponse théorique du filtre
-H = abs(cos(omega/2));
+H = (1/2*abs(1+exp(-2*1i*pi*f_lin*Te))).^2;
 
 % Affichage
 figure;
 subplot(3,1,1);
-plot(t, x); title('Signal d''entrée x(k)');
+plot(t, x_1); title('Signal d''entrée x(k)');
 
 subplot(3,1,2);
 plot(t, y); title('Signal filtré y(k)');
 
 subplot(3,1,3);
-plot(f, abs(Y), 'b', 'DisplayName', '|Y(f)|');
+plot(f_lin, abs(Y), 'b', 'DisplayName', '|Y(f)|^2');
 hold on;
-plot(f, abs(X).*H, 'r--', 'DisplayName', '|X(f)| × |H(f)| (théorique)');
+plot(f_lin, abs(X2).*H, 'r', 'DisplayName', '|X(f)|^2 × |H(f)|^2 (théorique)');
 legend; xlabel('Fréquence (Hz)');
 title('Spectre de sortie comparé à la théorie');
 xlim([-10 10]);
diff --git a/question_21.m b/question_21.m
index 0edf22b9cb66f653a12f7c6748ecc9605ef75fc6..757b2982857f1cd470cfd85f0e34677e2e54518e 100644
--- a/question_21.m
+++ b/question_21.m
@@ -1,14 +1,15 @@
-fs = 10e3; % Fréquence d'échantillonnage
+fe = 10e3; % Fréquence d'échantillonnage
 T = 1/10;
+Te=1/fs;
 t = -1:1/fs:1; % Durée du signal
 
 
 x_1 =square(2*pi*t/T);
 
 %fft
-X_1 = 10*log10(abs(fftshift(fft(x)))); 
+X_1 = 10*log10(abs(fftshift(fft(x_1)))); 
 N =length(t) ;
-freq = (-N/2:N/2-1)*(1/(T*N));
+freq = (-N/2:N/2-1)*(1/(Te*N));
 
 figure;
 stem(freq, X_1, '.') % Tracé du signal
@@ -33,31 +34,41 @@ title('spectre du signal en dent de scie');
 %question 2.2------------------------------------------
 
 % Filtrage : y(k) = 1/2 (x(k) + x(k-1))
-y = zeros(size(x_1));
-y(2:end) = 0.5 * (x_1(2:end) + x_1(1:end-1));
+b=[1/2,1/2];
+a=1;
+y = filter(b,a,x_1);
+
 
 % FFT
-X2 = fftshift(fft(x_1))/N;
-Y = fftshift(fft(y))/N;
-f = (-N/2:N/2-1)*(1/(T/N)); % Axe fréquentiel
-omega = 2*pi*f*(T/N);       % Fréquence angulaire en rad/sample
+X1 = 20*log10(abs(fftshift(fft(x_1))));
+Y = 20*log10(abs(fftshift(fft(y))));
+
+f_lin=linspace(-1/(2*Te),1/(2*Te),N);
+disp(f_lin)
+
 
 % Réponse théorique du filtre
-H = abs(cos(omega/2));
+H = (1/2*abs(1+exp(-2*1i*pi*f_lin*Te))).^2;
 
 % Affichage
 figure;
-subplot(3,1,1);
-plot(t, x_1); title('Signal d''entrée x(k)');
+subplot(2,1,1);
+plot(f_lin, X1); 
+title('Signal d''entrée |X(f)|^2')
+xlabel('Fréquence (Hz)')
+ylabel('|X(f)|^2')
 
-subplot(3,1,2);
-plot(t, y); title('Signal filtré y(k)');
 
-subplot(3,1,3);
-plot(f, abs(Y), 'b', 'DisplayName', '|Y(f)|');
+subplot(2,1,2);
+
+stem(f_lin, abs(Y), 'b.', 'DisplayName', '|Y(f)|^2');
 hold on;
-plot(f, abs(X2).*H, 'r', 'DisplayName', '|X(f)| × |H(f)| (théorique)');
-legend; xlabel('Fréquence (Hz)');
+stem(f_lin, abs(X1).*H, 'r.', 'DisplayName', '|X(f)|^2 × |H(f)|^2 (théorique)');
+legend; xlabel('Fréquence (Hz)'); ylabel('|Y(f)|^2')
 title('Spectre de sortie comparé à la théorie');
-xlim([-10 10]);
+xlim([-5000 5000]);
+
+
+%question 2.3
 
+sound(y,fe)