Bonsoir à tous,
j'ai une fonction de transfert : G(z) = 1 - z^-1
réponse indicielle : [1 -1 0 ... 0]
hors dilemme :
I. |H(z) avec z=exp(1w)|^2 = H*(z).H(z)
= (1 - z)(1 - z^-1)
= (1 - exp(1w))(1 - exp(-1w))
= 1 - exp(1w) - exp(-1w) + exp(0)
= 2-2*cos(w)
donc |H(exp(1w))| = sqrt(2-2*cos(w)) = fft au carré?
calcul vérifié avec matlab :
j = sqrt(-1);
omega = t;
a = (1-exp(j*omega));
b = conj((1-exp(j*omega)));
for i = 1 : length(a)-1
psd(i) = a(i) * b(i);
end %psd du filtre ?
figure;
plot(psd);
II. hors avec matlab une simple fft sur la réponse impulsionnelle du filtre :
x = zeros(1,1000);
x(1) = 1;
h = [1 -1];
y = filter(h,1,x);
rxx = xcorr(x);
ryy = xcorr(y); %equals to ryy2 = conv(conv(h,conj(h)),rxx);
t = -length(rxx)/2 : (length(rxx)-1)/2;
t = t*pi*2/length(rxx); %t = -pi ; pi
figure;
subplot(2,1,1);
plot(y);
subplot(2,1,2);
plot(t, abs(fft(y,1999)).^2);
title('impulse response and its psd');
on trouve quelque chose de totalement différent
J'ajoute que je dois calculer la psd (power spectral density) d'un signal d'entrée non corrélé,
qui donne Rxx(exp(jw)) = 1 donc Ryy(exp(jw)) = |H(z) avec z=exp(1w)|^2
- ou se trouve mon erreur?
- et est il vrai de dire que la psd c'est la racine carrée de la fft?
Merci beaucoup.
Simon.
-----