ljy2009 发表于 2008-3-3 22:36

求助,函数instfreq.m的程序详细解释

如题,多谢。

ljy2009 发表于 2008-3-6 22:20

instfreq.m中这段程序是啥意思啊

if any(t<=L)|any(t+L>xrow),
error('The relation L<T<=length(X)-L must be satisfied');
else
for icol=1:tcol,
   if trace, disprog(icol,tcol,10); end;//disprog显示循环进程//
   ti = t(icol); tau = 0:L;
   R = x(ti+tau).*conj(x(ti-tau));      
   M4 = R(2:L+1).*conj(R(1:L));         //?//
   
   diff=2e-6;
   tetapred = H * (unwrap(angle(-M4))+pi);//unwrap,产生平滑的相位图//
   while tetapred<0.0 , tetapred=tetapred+(2*pi); end;
   while tetapred>2*pi, tetapred=tetapred-(2*pi); end;
   iter = 1;
   while (diff > 1e-6)&(iter<50),
    M4bis=M4 .* exp(-j*2.0*tetapred);
    teta = H * (unwrap(angle(M4bis))+2.0*tetapred);
    while teta<0.0 , teta=(2*pi)+teta; end;
    while teta>2*pi, teta=teta-(2*pi); end;
    diff=abs(teta-tetapred);
    tetapred=teta; iter=iter+1;
   end;
   fnormhat(icol,1)=teta/(2*pi);
end;
end;
end;
页: [1]
查看完整版本: 求助,函数instfreq.m的程序详细解释