From: Jerry Avins on
On 5/30/2010 5:57 AM, Shen Zhi wrote:
> A factor that the high-order FIR filter coefficients dynamic range is quite
> large.
> For example, its center coefficient may be 0.5~1, but the most outside (or
> the smallest) coefficient may be 0.00...001. That means in fix-point system,
> the wordlength to be used must be long, or the small coefficient will be
> quantized to zero.
> So I'm thinking whether the discussion in 'coefficient dynamic range' also
> has contribution to improve the FIR filter design.

I don't see it, but I don't want to discourage you from seeking an
improvement. If you find a way that is faster than the standard way with
double precision, look into getting a patent. Keep in mind that very
small coefficients have (individually) very small influence on the
filter's output.

Here's a quick first-look suggestion: run two computations side by side.
One with the larger coefficients and the smaller ones set to zero. The
other with the smaller coefficients scaled up by some power of two and
the larger ones set to zero. The accumulation of all the smaller
coefficients together might carry useful information. Scale it back (by
shifting) and add it to result of the first calculation. This might be
faster than one double-precision pass because it is done with the native
MAC instruction.

Jerry
--
Engineering is the art of making what you want from things you can get.
�����������������������������������������������������������������������
From: Jerry Avins on
On 5/30/2010 10:54 AM, Jerry Avins wrote:

...

> Here's a quick first-look suggestion:

What followed is a bit unclear. This is a revision:

Run two computations side by side. One, with the smaller coefficients
set to zero. The other, with the smaller coefficients scaled up by some
power of two and the larger ones set to zero. The accumulation of all
the smaller coefficients together might carry useful information. Scale
it back (by shifting) and add it to result of the first calculation.
This might be faster than one double-precision pass because it is done
with the native MAC instruction.

Jerry
--
Engineering is the art of making what you want from things you can get.
�����������������������������������������������������������������������
From: Steve Pope on
Shen Zhi <markkknd(a)hotmail.com> wrote:

> A factor that the high-order FIR filter coefficients dynamic
> range is quite large. For example, its center coefficient may
> be 0.5~1, but the most outside (or the smallest) coefficient may
> be 0.00...001. That means in fix-point system, the wordlength to
> be used must be long, or the small coefficient will be quantized
> to zero.

This is true but long word-widths are no longer the headache
they once were. It is reasonable these days to have ~40 bits
of accuracy in an accumulator. At the end of the computation,
it can be rounded/saturated down to a smaller width.

> So I'm thinking whether the discussion in 'coefficient dynamic
> range' also has contribution to improve the FIR filter design.

To reduce the neccessary coefficient precision, consider using a
lattice architecture, not a cascaded architecture (because a few of
the cascades tend to still require a lot coefficient precision).


Steve
From: Rune Allnor on
On 30 Mai, 17:38, spop...(a)speedymail.org (Steve Pope) wrote:

> > So I'm thinking whether the discussion in 'coefficient dynamic
> > range' also has contribution to improve the FIR filter design.
>
> To reduce the neccessary coefficient precision, consider using a
> lattice architecture,

Does that work unconditionally? I know it works for FIRs
with all its zeros inside the unit circle, but the general
case FIR might also have zeros outside. Will the lattice
be stable for that case?

Rune
From: Steve Pope on
Rune Allnor <allnor(a)tele.ntnu.no> wrote:

>On 30 Mai, 17:38, spop...(a)speedymail.org (Steve Pope) wrote:

>> To reduce the neccessary coefficient precision, consider using a
>> lattice architecture,

>Does that work unconditionally? I know it works for FIRs
>with all its zeros inside the unit circle, but the general
>case FIR might also have zeros outside. Will the lattice
>be stable for that case?

Good question. If an FIR is the inverse filter of a stable IIR,
then the lattice coefficients will all have absolute value
less than one, and will generally be less sensitive to precision
errors than other filter forms.

If it is an arbitrary FIR, it will still be stable but I am
unsure if the coefficient precision advantages still hold.
I have never used such a filter.

Steve