Date: Nov 29, 2005 5:57 PM
Author: Chris Heier
Subject: Coding Matlab function "filter" in C++

I'm working on a fairly simple Matlab script but am having troubles
trying to figure out what is really happening behind the scenes. I'm
working with an API for in house software to play with seismic data. I
was given a template from one of the developers to work with to develop
our own filter.

The main command that has me stumped pretty much is "y = filter(b, a,
x)" where X is a full trace of a variable length (depending on the
value contained in NSamples in C++).

a = [1 k1*(1+k2) k2]
b = [k2 k1*(1 + k2) 1]

What is happening in the filter command eludes me and I'm having
troubles trying to figure out how to work with it in C++ without having
to try and include a Matlab library in the template. The documetnation
on "filter" is somewhat helpful, but I'm having troubles trying to get
my head around it, so I guess what I'm looking for is mainly an
explanation as to what "filter" is doing with the information given.