You are here : matlabSignal Processinglatcfilt

latcfilt() - Signal Processing

```   When filtering data,
lattice coefficients can be used to representFIR filtersAll-pole IIR filtersAllpass IIR filtersGeneral IIR filters[f,g] = latcfilt(k,x) filters x with
the FIR lattice coefficients in the vector k.
The forward lattice filter result is f and g is
the backward filter result. If |k|≤1, f corresponds
to the minimum-phase output, and g corresponds
to the maximum-phase output.If k and x are vectors,
the result is a (signal) vector. Matrix arguments are permitted under
the following rules:If x is a matrix and k is
a vector, each column of x is processed through
the lattice filter specified by k.If x is a vector and k is
a matrix, each column of k is used to filter x,
and a signal matrix is returned.If x and k are
both matrices with the same number of columns, then the ith
column of k is used to filter the ith
column of x. A signal matrix is returned.[f,g] = latcfilt(k,v,x) filters x with
the IIR lattice coefficients k and ladder coefficients v.
Both k and v must be vectors,
while x can be a signal matrix.[f,g] = latcfilt(k,1,x) filters x with
the IIR lattice specified by k, where k and x can
be vectors or matrices. f is the all-pole lattice
filter result and g is the allpass filter result.[f,g,zf] = latcfilt(...,'ic',zi) accepts
a length-k vector zi specifying
the initial condition of the lattice states. Output zf is
a length-k vector specifying the final condition
of the lattice states.[f,g,zf] = latcfilt(...,dim) filters x along
the dimension dim. To specify a dim value,
the FIR lattice coefficients k must be a vector
and you must specify all previous input parameters in order. Use the
empty vector [ ] for any parameters you do not want to specify. zf returns
the final conditions in columns, regardless of the shape of x.```

Syntax

`[f,g] = latcfilt(k,x)[f,g] = latcfilt(k,v,x)[f,g] = latcfilt(k,1,x)[f,g,zf] = latcfilt(...,'ic',zi)[f,g,zf] = latcfilt(...,dim)`

Example

```FIR Lattice FilterOpen This ExampleGenerate a signal with 512 samples of white Gaussian noise.x = randn(512,1);
Filter the data with an FIR lattice filter. Specify the reflection coefficients so that the lattice filter is equivalent to a 3rd-order moving average filter.[f,g] = latcfilt([1/2 1],x);
Plot the maximum- and minimum-phase outputs of the lattice filter in separate plotssubplot(2,1,1)
plot(f)
title('Maximum-Phase Output')

subplot(2,1,2)
plot(g)
title('Minimum-Phase Output')```