%DETECTOR DE ACTIVIDAD VOCAL. %function[vadc,rvad,ACFvad,av0ant,dm,Nj,oldl,voldl,adp,thv,buc,hac]=vad(ACF,Nc,rvad,ACFvad,av0ant,dm,Nj,oldl,voldl,adp,thv,buc,hac) %Entradas: %ACF:coeficiente de autocorrelación. %Nc:término de autocorrelación. %rvad,ACFvad,av0ant,dm,Nj,oldl,voldl,adp,thv,buc,hac:diversos parámetros que han de ser guardados de una trama para otra. %Salidas: %vadc:variable de decisión del VAD. %rvad,ACFvad,av0ant,dm,Nj,oldl,voldl,adp,thv,buc,hac:diversos parámetros que han de ser guardados de una trama para otra. function[vadc,rvad,ACFvad,av0ant,dm,Nj,oldl,voldl,adp,thv,buc,hac]=vad(ACF,Nc,rvad,ACFvad,av0ant,dm,Nj,oldl,voldl,adp,thv,buc,hac) pvad=adapfil(ACF,rvad);%filtrado adaptativo. Nj=[Nj(5),Nc];%guardamos los términos de autocorrelación de las cuatro tramas anteriores. ACFvad=[ACFvad(10:36),ACF];%guardamos los ACF de las cuatro tramas anteriores. [av0,av1]=ACFav(ACFvad,av0ant);%interpolador de los ACF. av0ant=[av0ant(10:36),av0];%actualizamos los av0ant. if(i<=4) rav1=zeros(1,9); else rav1=predval(av1);%predictor de valores de autocorrelación. end [stat,dm]=speccom(rav1,av0,dm);%comparación espectral. [ptch,oldl,voldl]=perdec(Nj,oldl,voldl);%detección de periodicidad. [adp,thv,rvad]=thadap(ACF,ptch,rav1,stat,pvad,adp,thv);%adaptación de umbral. vvad=vaddec(pvad,thv);%calculamos la decisión del vad. [vadc,bc,hc]=vadhang(vvad,buc,hac);%le añadimos un hangover.