diff --git a/src/wav/question_3_15.m b/src/wav/question_3_15.m
new file mode 100644
index 0000000000000000000000000000000000000000..0ae10340ea5e2535f9f8471f1e123bcbf6384146
--- /dev/null
+++ b/src/wav/question_3_15.m
@@ -0,0 +1,41 @@
+function y = effet_delay(x, delay_time, g, Fe)
+% effet_delay - applique un effet de delay simple à un signal
+%
+% Entrées :
+%   x          : signal d'entrée
+%   delay_time : durée du delay (en secondes)
+%   g          : coefficient d'amortissement
+%   Fe         : fréquence d'échantillonnage (en Hz)
+%
+% Sortie :
+%   y : signal de sortie après delay
+
+    % Convertir le temps de delay en nombre d’échantillons
+    tau = round(delay_time * Fe);  % tau doit être un entier
+
+    % Vecteurs des coefficients du filtre
+    b = 1;                        % Numérateur : pas de modification directe
+    a = [1 zeros(1, tau - 1) -g]; % Dénominateur : y(k) + g*y(k - tau)
+
+    % Appliquer le filtre
+    y = filter(b,a,x);
+end
+[x, Fe] = audioread('single_tone_guitar_nylon_string_a3.wav');  % Charger un fichier audio mono
+x = x(:,1);                          % Ne garder qu’un seul canal si stéréo
+
+tau_sec = 0.001;                      % Durée du delay en secondes
+g = 0.9;                             % Coefficient d'amortissement
+
+% Appliquer l'effet de delay
+y = effet_delay(x, tau_sec, g, Fe); 
+
+% Écoute du résultat
+soundsc(y, Fe);
+
+% Affichage temporel
+t = (0:length(y)-1)/Fe;
+plot(t, y);
+xlabel('Temps (s)');
+ylabel('Amplitude');
+title('Signal avec effet de delay');
+grid on;