From fe5fbb824ad97cd79c0cf02d7f3a03bde9fb9ce7 Mon Sep 17 00:00:00 2001 From: yomguy Date: Mon, 7 Apr 2008 14:59:09 +0000 Subject: [PATCH] * Fixed the RI horizontal scale * Load a .mat file properly git-svn-id: http://svn.parisson.org/svn/CNAQ/trunk@170 5fc3e0e6-29bc-4d03-b52b-c088cb822bde --- CNAQ.m | 30 ++++++++++++++---------------- tools/RI_FT.m | 2 +- tools/fonc_trans.m | 1 + tools/generator.m | 5 ++++- tools/get_fs.m | 3 +-- tools/get_nbits.m | 3 +-- tools/measurement.m | 5 ++++- tools/plot_main.m | 5 ++++- tools/plot_mes.m | 6 ++---- tools/set_fs.m | 5 ++--- tools/set_nbits.m | 3 +-- 11 files changed, 35 insertions(+), 33 deletions(-) diff --git a/CNAQ.m b/CNAQ.m index c14dad1..f63438b 100644 --- a/CNAQ.m +++ b/CNAQ.m @@ -392,7 +392,7 @@ function save_button_Callback(hObject, eventdata, handles) function load_Callback(hObject, eventdata, handless) % hObject handle to load (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB -% handless structure with handless and user data (see GUIDATA) +% handles structure with handles and user data (see GUIDATA) [filename, pathname, filterindex] = uigetfile('*.mat', 'Pick a saved MAT file'); load([pathname filename]); @@ -407,19 +407,17 @@ function load_Callback(hObject, eventdata, handless) set(handless.close_button,'UserData',f_lin); set(handless.mes_on,'UserData', f); set(handless.plot,'UserData', t); - set(handless.f_gen_min,'String', num2str(f_min)); - set(handless.f_gen_max,'String', num2str(f_max)); - set(handless.f_gen,'Value', f); - set(handless.freq_value,'String',num2str(f)); - set(handless.time_gen,'Value', time); - set(handless.time_value,'String',num2str(time)); - set(handless.gain_in,'Value', gain_in); - set(handless.gain_out,'Value', gain_out); - set(handless.gain_in_value,'String',num2str(gain_in)); - set(handless.gain_out_value,'String',num2str(gain_out)); - set(handless.freq_value,'String',num2str(f)); - set(handless.time_value,'String',num2str(time)); - set_fs(handless, f_s); - set_nbits(handless, nbits); - +% set(handles.f_gen_min,'String', num2str(f_min)); +% set(handles.f_gen_max,'String', num2str(f_max)); +% set(handles.f_gen,'Value', f); +% set(handles.freq_value,'String',num2str(f)); +% set(handles.time_gen,'Value', time); +% set(handles.time_value,'String',num2str(time)); +% set(handles.gain_in,'Value', gain_in); +% set(handles.gain_out,'Value', gain_out); +% set(handles.gain_in_value,'String',num2str(gain_in)); +% set(handles.gain_out_value,'String',num2str(gain_out)); +% set(handles.freq_value,'String',num2str(f)); +% set(handles.time_value,'String',num2str(time)); + diff --git a/tools/RI_FT.m b/tools/RI_FT.m index 33e81ab..670577b 100644 --- a/tools/RI_FT.m +++ b/tools/RI_FT.m @@ -4,7 +4,7 @@ function [ri,ft]=RI_FT(f, sig_exc, sig_mes, f_s) % soustraction de la composante continue DC = mean(sig_mes,1); -sig_mes = sig_mes - DC; +%sig_mes = sig_mes - DC; len_f = length(f); f0 = f(1); f1 = f(len_f); diff --git a/tools/fonc_trans.m b/tools/fonc_trans.m index 434d6c6..ec429bf 100644 --- a/tools/fonc_trans.m +++ b/tools/fonc_trans.m @@ -12,3 +12,4 @@ 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))*f_s; +%ri = [0; ri(1:length(ri)-1)]; \ No newline at end of file diff --git a/tools/generator.m b/tools/generator.m index a8b7603..f2165a3 100644 --- a/tools/generator.m +++ b/tools/generator.m @@ -4,7 +4,10 @@ function generator(handles) f_max = str2double(get(handles.f_gen_max,'String')); sig_type = get(handles.sig_type,'Value'); sin_freq = get(handles.f_gen,'Value'); - f_s = get_fs(handles); + fs_id = get(handles.f_s,'Value'); + nb_id = get(handles.nbits,'Value'); + f_s = get_fs(fs_id); + nbits = get_nbits(nb_id); time = get(handles.time_gen,'Value'); voices_out = get_voices_out(handles); %voice_first = voices_out(1); diff --git a/tools/get_fs.m b/tools/get_fs.m index 07cd8a0..41815d4 100644 --- a/tools/get_fs.m +++ b/tools/get_fs.m @@ -1,6 +1,5 @@ -function f_s = get_fs(handles) +function f_s = get_fs(fs_ind) - fs_ind = get(handles.f_s,'Value'); if fs_ind == 1 f_s = 44100; elseif fs_ind == 2 diff --git a/tools/get_nbits.m b/tools/get_nbits.m index e85ce0f..8fae0f8 100644 --- a/tools/get_nbits.m +++ b/tools/get_nbits.m @@ -1,6 +1,5 @@ -function nbits = get_nbits(handles) +function nbits = get_nbits(nb_ind) - nb_ind = get(handles.nbits,'Value'); if nb_ind == 1 nbits = 16; elseif nb_ind == 2 diff --git a/tools/measurement.m b/tools/measurement.m index ac13ef2..9be2f25 100644 --- a/tools/measurement.m +++ b/tools/measurement.m @@ -6,7 +6,10 @@ function measurement(handles) nfft = 32768; f_min = str2double(get(handles.f_gen_min,'String')); f_max = str2double(get(handles.f_gen_max,'String')); - f_s = get_fs(handles); + fs_id = get(handles.f_s,'Value'); + nb_id = get(handles.nbits,'Value'); + f_s = get_fs(fs_id); + nbits = get_nbits(nb_id); time = get(handles.time_gen,'Value'); voices_in = get_voices_in(handles); voice_first = voices_in(1); diff --git a/tools/plot_main.m b/tools/plot_main.m index e17f4ce..5c247ba 100644 --- a/tools/plot_main.m +++ b/tools/plot_main.m @@ -7,7 +7,10 @@ function plot_main(handles) t = get(handles.plot,'UserData'); f_min = str2double(get(handles.f_gen_min,'String')); f_max = str2double(get(handles.f_gen_max,'String')); - f_s = get_fs(handles); + fs_id = get(handles.f_s,'Value'); + nb_id = get(handles.nbits,'Value'); + f_s = get_fs(fs_id); + nbits = get_nbits(nb_id); size_sig_mes = size(sig_mes); n_col_sig_mes = size_sig_mes(2); diff --git a/tools/plot_mes.m b/tools/plot_mes.m index 80c6fc4..0634c8f 100644 --- a/tools/plot_mes.m +++ b/tools/plot_mes.m @@ -17,13 +17,11 @@ grid on; subplot(2,1,2); len_ri = length(rep_imp_mes); -t_ri = [(-len_ri+1)/(2*f_s):1/f_s:len_ri/(2*f_s)]; +t_ri = [(-len_ri)/(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); +plot(t_ri,rep_imp_mes); 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'); title(['Réponse impulsionnelle mesurée (groupe: ' group ', id: ' id ', voie : ' voice ')']); diff --git a/tools/set_fs.m b/tools/set_fs.m index 61a1b97..fde87c1 100644 --- a/tools/set_fs.m +++ b/tools/set_fs.m @@ -1,4 +1,5 @@ -function set_fs(handles, f_s) +function fs_ind = set_fs(f_s) +% Return the id of the item in the sampling frequency list if f_s == 44100 fs_ind = 1; @@ -12,6 +13,4 @@ function set_fs(handles, f_s) fs_ind = 5; end - set(handles.f_s,'Value',fs_ind); - end \ No newline at end of file diff --git a/tools/set_nbits.m b/tools/set_nbits.m index c8555ae..e855dff 100644 --- a/tools/set_nbits.m +++ b/tools/set_nbits.m @@ -1,10 +1,9 @@ -function set_nbits(handles, nbits) +function nb_ind = get_nbits_id(nbits) if nbits == 16 nb_ind = 1; elseif nbits == 24 nb_ind = 2; end - set(handles.nbits,'Value', nb_ind); end \ No newline at end of file -- 2.39.5