Skip to content
Snippets Groups Projects
Commit 5df6984b authored by LERAYS Camille's avatar LERAYS Camille
Browse files

du nouveau WOUAH

parent 9aef9c6e
No related branches found
No related tags found
No related merge requests found
No preview for this file type
% comparaison_reponses.m
% Comparaison du module de la réponse en fréquence théorique vs DFT
clear; close all; clc;
%% Paramètres du filtre
g = 0.7; % Gain (doit être < 1 pour la stabilité)
tau = 5; % Délai en nombre d'échantillons
N = 512; % Nombre d’échantillons pour la DFT (résolution en fréquence)
%% Réponse impulsionnelle
a = [1 zeros(1, tau-1) g]; % Dénominateur (feedback)
b = 1; % Numérateur (feedforward)
x = [1 zeros(1, N-1)];
h = filter(b, a, x); % Réponse impulsionnelle numérique
%% DFT (réponse en fréquence numérique)
H_fft = fft(h, N);
H_fft_mag = abs(H_fft); % Module
%% Réponse en fréquence théorique
v = linspace(0, 1, N); % Fréquences réduites entre 0 et 1 (fraction de Fe)
H_theo_mag = 1 ./ sqrt(1 + 2 * g * cos(2*pi*v*tau) + g^2);
%% Affichage comparatif
figure;
plot(v, H_theo_mag, 'r-', 'LineWidth', 2); hold on;
plot(v, H_fft_mag, 'b-', 'LineWidth', 1.5);
xlabel('Fréquence réduite \nu');
ylabel('|H(\nu)|');
title('Comparaison des modules de la réponse en fréquence');
legend('Théorique', 'Numérique (TFD)');
grid on;
\ No newline at end of file
fs = 44100; % Fréquence d'échantillonnage (Hz)
tau = 0.25*fs; % Retard de 100 ms
g = 0.9; % Coefficient d'amortissement
t = 0:1/fs:1; % 1 seconde de signal
[x, f] = audioread("C:\Users\camil\Documents\IMT_A\semestre_6\electrical engineering\tp-audio-ee-etudiant-c24leray\src\wav\single_tone_piano1.wav");; % Signal aléatoire
function y = effet_delay(x, tau, g, fs)
% EFFET_DELAY Applique un filtre à retard avec amortissement
% Calcul du retard en nombre d'échantillons
D = round(tau * fs);
% Vecteurs des coefficients du filtre IIR
% H(z) = 1 / (1 + g * z^(-D))
b = 1; % Numérateur (feedforward)
a = [1, zeros(1, D-1), g]; % Dénérateur (feedback)
% Filtrage du signal
y = filter(b, a, x);
end
y = effet_delay(x, tau, g, fs);
% Affichage
plot(t, x); hold on;
plot(t, y);
legend('Signal original', 'Signal filtré');
xlabel('Temps (s)');
ylabel('Amplitude');
title('Effet de Delay avec amortissement');
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment