Toeplitz system solver by Levinson algorithm (multidimensional) (original) (raw)

Please note that the recommended version of Scilab is 2026.0.1. This page might be outdated.
See the recommended documentation of this function

Scilab help >> Signal Processing > levin

levin

Toeplitz system solver by Levinson algorithm (multidimensional)

Calling Sequence

Arguments

n

A scalar with integer value: the maximum order of the filter

cov

A (nlag*d) x d matrix. It contains theRk (d x d matrices for ad-dimensional process) stored in the following way :

la

A list, the successively calculated Levinson polynomials (degree 1 to n), with coefficientsAk

sig

A list, the successive mean-square errors.

Description

function which solves recursively on n the following Toeplitz system (normal equations)

where {Rk;k=1:nlag} is the sequence ofnlag empirical covariances

Examples

t1=0:.1:100;rand('normal'); y1=sin(2*%pit1)+sin(2%pi2t1);y1=y1+rand(y1);plot(t1,y1);

nlag=128; c1=corr(y1,nlag); c1=c1';

n=15; [la1,sig1]=levin(n,c1);

for i=1:n, s1=roots(la1(i));s1=log(s1)/2/%pi/.1;

s1=gsort(imag(s1));s1=s1(1:i/2);end;

d=2;dt=0.1; nlag=64; t2=0:2*%pidt:100; y2=[sin(t2)+sin(2t2)+rand(t2);sin(3t2)+sin(4t2)+rand(t2)]; c2=[]; for j=1:2, for k=1:2, c2=[c2;corr(y2(k,:),y2(j,:),nlag)];end;end; c2=matrix(c2,2,128);cov=[]; for j=1:64,cov=[cov;c2(:,(j-1)d+1:jd)];end; c2=cov;

[la2,sig2]=levin(n,c2); mp=la2(n);determinant=mp(1,1)*mp(2,2)-mp(1,2)mp(2,1); s2=roots(determinant);s2=log(s2)/2/%pi/0.1; s2=gsort(imag(s2));s2=s2(1:dn/2);

See Also