Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
Message from discussion Discover filter coefficients of system.

Path: g2news2.google.com!news3.google.com!postnews.google.com!q2g2000cwa.googlegroups.com!not-for-mail
From: "julius" <juli...@gmail.com>
Newsgroups: comp.dsp
Subject: Re: Discover filter coefficients of system.
Date: 20 Feb 2007 06:50:39 -0800
Organization: http://groups.google.com
Lines: 43
Message-ID: <1171983039.877311.306160@q2g2000cwa.googlegroups.com>
References: <1171941582.864163.254160@p10g2000cwp.googlegroups.com>
NNTP-Posting-Host: 162.39.162.194
Mime-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
X-Trace: posting.google.com 1171983047 7807 127.0.0.1 (20 Feb 2007 14:50:47 GMT)
X-Complaints-To: groups-abuse@google.com
NNTP-Posting-Date: Tue, 20 Feb 2007 14:50:47 +0000 (UTC)
In-Reply-To: <1171941582.864163.254160@p10g2000cwp.googlegroups.com>
User-Agent: G2/1.0
X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.9) Gecko/20061206 Firefox/1.5.0.9,gzip(gfe),gzip(gfe)
Complaints-To: groups-abuse@google.com
Injection-Info: q2g2000cwa.googlegroups.com; posting-host=162.39.162.194;
   posting-account=qS5YQw0AAABt1t1yqWPKIPET9qfCOe9J

On Feb 19, 9:19 pm, horndud...@gmail.com wrote:
> I'm wanting to model a real world system using an FIR filter. I have
> samples of the input and the expected output. How does one find the
> filter coefficients from these? I've been using particle swarm
> optimization, but it's very approximate. It's not getting as close as
> I want it to so I'm looking to try something new. I'm sure there are
> more exact techniques out there. I was told by a friend there is an
> iterative technique using an auto-correlation matrix that might do
> what I want, but we were talking fast and I didn't follow all that he
> was saying. I did some quick searching and didn't find much. Can
> anyone point me in the right direction? Thanks for the help.
>
> -----Jay


There are many, many methods.  The choice depends on
the noise in your measurements, some knowledge of the
system itself, and the number of samples that you get.

The correlation-based method that was mentioned probably
uses the following property.  Suppose that the input
signal is x[n], the system h[n], and the output y[n].

Let rxx[n] be the autocorrelation of x[n], and
rxy[n] be the cross-correlation of x[n] and y[n].
Then it can be shown that rxy[n] = rxx[n] * h[n].

So if you can estimate rxx and ryx, then you can
do a de-convolution to get h[n].  Further, it can
be shown that ryy[n] = rxx[n] * (h[n] * h[-n]).

Note that in this last one, the phase information
is gone and you can only solve up to h[n]*h[-n].
Since you are interested in FIR estimates, most
of the time people do what is called minimum-phase
decomposition.

Anyways, these are just a bunch of ideas,
extrapolated from your question.

Hope that helps,
Julius