Re: Fraction saving. Was "a question about IIR filter"
- From: robert bristow-johnson <rbj@xxxxxxxxxxxxxxxxxxxx>
- Date: Tue, 09 Oct 2007 10:43:39 -0700
On Oct 9, 6:49 am, glen herrmannsfeldt <g...@xxxxxxxxxxxxxxxx> wrote:
robert bristow-johnson wrote:
(snip)
in fact, it was from Randy that i first heard the term "fraction
saving" and i ran with it. before i called it "first-order noise
shaping with a zero at DC". that's not as compact as "fraction
saving" or "remainder saving". "truncated-part accumulation" is not
as compact, either.
and i most certainly did not invent it. i first saw it in an old Jon
Dattorro paper regarding digital filter structures in the Nov. 1988
AES Journal (which coincidently also had my first published paper in
it).
It sounds similar to guard digits commonly used in floating point
arithmetic.
i always think of guard bits as something on the left.
Also, to the phase accumulator often used in DSP
problems where a phase angle is slowly increased.
yes, very much like that. but then the phase increment is also in
those low-order bits. however we just grap the high-order bits
(without rounding) and apply those to the wavetable-lookup or
whatever.
There are many well known tricks to doing floating point sums
accurately. In one (assuming all positive), you sort them and
add starting with the smaller number.
yup. sorting is a pain. one thing that Duane Wise pointed out at an
AES is that when doing typical linear-phase FIRs, start the sum out at
the tails (where the coefficients are smaller) and work your way
toward the middle of the dot product (where the coefs are bigger).
it's sorta presorted. this works with fixed-point, too, if you pre-
normalize the smaller coefs and then fix it in the accumulator as you
work your way inward in the summation.
As with "fraction saving"
the lower bits are saved as long as possible to make the
appropriate contribution to the sum.
but with "fraction saving" those low order bits *never* fall off the
edge. that's the difference. it's more like keeping the bits in the
phase accumulator.
fraction saving *is* first-order error shaping or noise shaping with a
zero in the error-to-output transfer function placed right on z=1
which means that the DC component to the error signal is zero.
r b-j
.
- Follow-Ups:
- Re: Fraction saving. Was "a question about IIR filter"
- From: Jerry Avins
- Re: Fraction saving. Was "a question about IIR filter"
- References:
- a question about IIR filter
- From: qittykat2001
- Re: a question about IIR filter
- From: Jerry Avins
- Re: a question about IIR filter
- From: qittykat2001
- Fraction saving. Was "a question about IIR filter"
- From: Jerry Avins
- Re: Fraction saving. Was "a question about IIR filter"
- From: Randy Yates
- Re: Fraction saving. Was "a question about IIR filter"
- From: robert bristow-johnson
- Re: Fraction saving. Was "a question about IIR filter"
- From: glen herrmannsfeldt
- a question about IIR filter
- Prev by Date: Re: Phase matching using Matlab's FFT
- Next by Date: Re: Fraction saving. Was
- Previous by thread: Re: Fraction saving. Was "a question about IIR filter"
- Next by thread: Re: Fraction saving. Was "a question about IIR filter"
- Index(es):
Relevant Pages
|