From: yomguy Date: Mon, 7 Apr 2008 09:44:16 +0000 (+0000) Subject: * Fixed RI with transfert function method X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=389ab163a44916a8fe84b1d02cb5efc9d4e17f03;p=cnaq.git * Fixed RI with transfert function method git-svn-id: http://svn.parisson.org/svn/CNAQ/trunk@169 5fc3e0e6-29bc-4d03-b52b-c088cb822bde --- diff --git a/tools/fonc_trans.m b/tools/fonc_trans.m index fb186ac..434d6c6 100644 --- a/tools/fonc_trans.m +++ b/tools/fonc_trans.m @@ -1,4 +1,4 @@ -function [ri,ft]=fonc_trans(f, sig_exc, sig_mes); +function [ri,ft]=fonc_trans(f, sig_exc, sig_mes, f_s) %calcul d'une fonction de tranfert mesurée par l'interface CNAQ %Sorties : fonction de transfert et réponse impulsionnelle @@ -8,7 +8,7 @@ sig_mes = sig_mes - DC; len_f = length(f); % Methode du quotient -X = fft([sig_exc; zeros(len_f-1,1)]); -Y = fft([sig_mes; zeros(len_f-1,1)]); +X = fft([sig_exc;zeros(len_f-1,1)]); +Y = fft([zeros(len_f-1,1);sig_mes]); ft = Y./X; -ri = real(ifft(ft)); +ri = real(ifft(ft))*f_s; diff --git a/tools/get_ri_spec.m b/tools/get_ri_spec.m index 715bf11..21efd8a 100644 --- a/tools/get_ri_spec.m +++ b/tools/get_ri_spec.m @@ -3,7 +3,7 @@ function [ri, spec] = get_spec_ri(f, sig_exc, sig_mes, f_s, mes_type) if mes_type == 1 % Frequency method - [ri, spec] = fonc_trans(f, sig_exc, sig_mes); + [ri, spec] = fonc_trans(f, sig_exc, sig_mes, f_s); elseif mes_type == 2 % Temporal method [ri, spec] = RI_FT(f, sig_exc, sig_mes, f_s); diff --git a/tools/plot_mes.m b/tools/plot_mes.m index a71aff1..80c6fc4 100644 --- a/tools/plot_mes.m +++ b/tools/plot_mes.m @@ -16,13 +16,13 @@ title(['Signal temporel mesur grid on; subplot(2,1,2); -rep_imp_mes = real(rep_imp_mes); len_ri = length(rep_imp_mes); -t_ri = [-len_ri/(2*f_s):1/f_s:len_ri/(2*f_s)]; -t_ri = t_ri(2:length(t_ri)); +t_ri = [(-len_ri+1)/(2*f_s):1/f_s:len_ri/(2*f_s)]; +%t_ri = [0:1/f_s:len_ri/f_s]; +t_ri = t_ri(1:length(t_ri)-1); plot(t_ri, rep_imp_mes); %semilogx(t, sig_mes); -axis([t_ri(1) t_ri(len_ri) min(rep_imp_mes)-0.01 max(rep_imp_mes)+0.01]); +axis([-t_ri(len_ri) t_ri(len_ri) min(rep_imp_mes)-0.01 max(rep_imp_mes)+0.01]); %axis([1 t(length(t)) min(sig_mes)-0.01 max(sig_mes)+0.01]); xlabel('Temps (s)'); ylabel('Amplitude');