diff --git a/src/wav/question_3_17.m b/src/wav/question_3_17.m
new file mode 100644
index 0000000000000000000000000000000000000000..bfc270de8f0a3769ffa042236fe73575c8d4485a
--- /dev/null
+++ b/src/wav/question_3_17.m
@@ -0,0 +1,54 @@
+function y = effet_delay_filtre(x, delay_time, g, K, Fe)
+% effet_delay_filtre - effet de delay avec filtre de moyenne glissante dans la boucle
+%
+% Entrées :
+%   x          : signal d'entrée
+%   delay_time : durée du delay (en secondes)
+%   g          : coefficient d'amortissement
+%   K          : longueur de la moyenne glissante
+%   Fe         : fréquence d'échantillonnage (en Hz)
+%
+% Sortie :
+%   y : signal de sortie après application du filtre
+
+    N = length(x);                      % Longueur du signal
+    tau = round(delay_time * Fe);      % Retard en échantillons
+    y = zeros(size(x));                % Initialisation du signal de sortie
+
+    for k = 1:N
+        % Indices pour le filtre glissant
+        sum_term = 0;
+        for n = 0:K-1
+            idx = k - tau - n;
+            if idx > 0
+                sum_term = sum_term + y(idx);
+            end
+        end
+        y(k) = x(k) - (g / K) * sum_term;
+     end
+end
+% Charger le signal (par exemple un piano)
+[x, Fe] = audioread('single_tone_guitar_nylon_string_a3.wav');  % Remplace 'piano.wav' par le bon fichier si besoin
+x = x(:,1);                        % Si le son est stéréo → mono
+
+% Paramètres du delay
+tau_sec = 0.001;    % Delay en secondes
+g = 0.9;           % Coefficient d'amortissement
+K = 10;            % Longueur de la moyenne glissante
+
+% Application du filtre avec delay et moyenne glissante
+y = effet_delay_filtre(x, tau_sec, g, K, Fe);
+
+% Écoute du résultat
+soundsc(y, Fe);
+
+% Sauvegarde du fichier audio
+audiowrite('piano_delay_filtre.wav', y, Fe);
+
+% Affichage temporel (optionnel)
+t = (0:length(y)-1)/Fe;
+plot(t, y);
+xlabel('Temps (s)');
+ylabel('Amplitude');
+title('Signal après effet delay avec filtre moyenne glissante');
+grid on;