%clear all; clc; clf; hold off;
function [tt1,tt2]=dokt_timescale(IR,IR2,fs,bit);

%[IR,fs,bit]=wavread('C:\HIL\LisztZeneakademia_Nagyterem\Impulse\z_5_R_c1_i.wav'); 
%[IR2,fs,bit]=wavread('C:\HIL\LisztZeneakademia_Nagyterem\Impulse\z_29_R_c1_i.wav'); 

DIR=14; % direkthang hossza mintákban
THOLD=1.2*1/(10*exp(1)); % -28.7 +3.5 dB összehasonlításhoz

% korrelációs vizsgálat
IR=IR(1:floor(length(IR)/2));
IR2=IR2(1:floor(length(IR2)/2));
T_ER=inicio(IR)/fs*1000+200;
[twin,korr]=dokt_peakdetect(IR,fs,T_ER,DIR);
[twin2,korr2]=dokt_peakdetect(IR2,fs,T_ER,DIR);

%plot(twin,abs(korr./max(abs(korr))));
%plot(twin,20*log10(abs(korr./max(abs(korr)))));
%plot(twin2,abs(korr2./max(abs(korr2))));

% szignifikáns reflexiók
k1=zeros(size(korr));
for i=1:length(korr),
    if abs(korr(i)./max(abs(korr)))>=THOLD, k1(i)=1;
    end;
end;
k2=zeros(size(korr2));
for i=1:length(korr2),
    if abs(korr2(i)./max(abs(korr2)))>=THOLD, k2(i)=1;
    end;
end;
%plot(twin,k1);
%plot(twin,k2);

% utolsó közös reflexió kiválasztása
utolso=min(max(find(k1 ~= 0)),max(find(k2 ~= 0)));
kk1=k1; kk2=k2; kk1(utolso+1:end)=0; kk2(utolso+1:end)=0;

% reflexiók szétválasztása, hogy legyen köztük szünet
TW=100; % ennyi minta biztos legyen két reflexió között
kkk1=kk1;e1=min(find(kk1 == 1));darab=floor(length(kkk1)/TW);
for i=1:darab,
    kkk1(e1+1:e1+TW)=0;
    e1=min(find(kkk1(e1+1:end) == 1))+e1;
    if isempty(e1)==1, break; end;
end;
kkk2=kk2;e2=min(find(kk2 == 1));darab=floor(length(kkk2)/TW);
for i=1:darab,
    kkk2(e2+1:e2+TW)=0;
    e2=min(find(kkk2(e2+1:end) == 1))+e2;
    if isempty(e2)==1, break; end;
end;
%plot(kkk1); hold all; plot(kkk2); hold off;

% időpontok keresése
t1=floor(twin(find(kkk1 ~= 0))*fs)'; t2=floor(twin2(find(kkk2 ~= 0))*fs)';
len=min(length(t2),length(t1));
tt1=[0;t1(1:len)];
tt2=[0;t2(1:len)];
%brob = robustfit(tt1,tt2);

% ábrázolás
% plot(tt1,tt2,'.'); set(gca,'Xlim',[0 4000]);set(gca,'Ylim',[0 4000]);
% tvekt=0:1:max(max(tt1),max(tt2));
% hold all; 
% plot(tvekt);

%plot(brob(2).*tvekt+brob(1)); hold off;
%figure(2); plot(kk1); hold all; plot(kk2); hold off;
% clf;
% plot(IR); hold on;
% plot(tt1,zeros(size(tt1)),'.r');set(gca,'Xlim',[0 8000]);