Files
matlab/common/dtdet01.m
T
jens b31f3e7435 - added
git-svn-id: http://moon:8086/svn/matlab/trunk@153 801c6759-fa7c-4059-a304-17956f83a07c
2021-03-22 20:28:22 +00:00

86 lines
1.6 KiB
Matlab
Executable File

% dtdet3
function [a,rxds,xs,xl,es,clm,dtf] = dtdet(x,d,e,dti)
nstates = 9;
xsi = 1;
xli = 2;
dtsi = 3;
esi = 4;
nli = 5;
eli = 6;
rxdi = 7;
psxi = 8;
psdi = 9;
dtalki = 10;
% ------------------------------------------------------------------------
% Double-Talk-Detector params
ar = 0.05;
af = 0.005;
arrxd = 0.0004;
afrxd = 1.0;
al = 0.0001;
pa = 0.7;
pl = 2.0;
po = 0.93;
htime = 80;
% ------------------------------------------------------------------------
if (lge(dti) == 1);
dti = zeros(nstates,1);
dti(xli)=0.01;
dti(nli)=0.01;
dti(eli)=0.1;
dti(dtalki) = 0;
end;
% ------------------------------------------------------------------------
fa = 8000;
fc = 800;
L = lge(x);
M = 4;
% ------------------------------------------------------------------------
%d = iirtp(fa,fc,1,8,d);
%x = iirtp(fa,fc,1,8,x);
d = dosa(d,fa,M);
x = dosa(x,fa,M);
e = dosa(e,fa,M);
%[xs,dti(xsi)] = phxs(x,ar,af,dti(xsi));
%[xl,dti(xli)] = phxl(x,xs,al,pl,dti(xli));
rxd = max(abs(corrph(x,d,40/M)));
%[es,dti(esi)] = phxs(e,0.008,0.005,dti(esi));
%[el,dti(eli)] = phxl(e,es,0.0001,pl,dti(eli));
%[rxds,dti(rxdi)] = phxs(rxd*ones(L,1),arrxd,afrxd,dti(rxdi));
%[nl,dti(nli)] = phnl(e,es,el,xs,xl,al,pl,dti(nli));
%a = alpha(xs,xl,nl,pl,es,(rxd > po),pa);
if (rxd > po)
if(dti(dtalki)==1)
a = [zeros(htime,1);ones(L-htime,1)];
dti(dtalki)=0;
else
a = ones(L,1);
end;
else
a = zeros(L,1);
dti(dtalki)=1;
end;
rxds=ones(L,1)*rxd;
dtf = dti;
xs=1;
es=1;
xl=1;
clm=1;
% ------------------------------------------------------------------------