www.gusucode.com > 端点检测、基因频率检测、说话人性别识别、GUI界面 > 端点检测、基因频率检测、说话人性别识别、GUI界面/lab/ACF_corr.m

    function period=ACF_corr(y,fn,vseg,vsl,lmax,lmin)
pn=size(y,2);
if pn~=fn, y=y'; end                      % ??y??????????????????????????????
wlen=size(y,1);                           % ????????
period=zeros(1,fn);                       % ??????

for i=1 : vsl                             % ??????????????????
    ixb=vseg(i).begin;
    ixe=vseg(i).end;
    ixd=ixe-ixb+1;                        % ????????????????????
    for k=1 : ixd                         % ????????????????????
        u=y(:,k+ixb-1);                   % ????????????
        ru= xcorr(u, 'coeff');            % ????????????????????
        ru = ru(wlen:end);                % ????????????????????
        [tmax,tloc]=max(ru(lmin:lmax));   % ??Pmin??Pmax????????????????
        period(k+ixb-1)=lmin+tloc-1;      % ??????????????????????
    end
end