Re: Fraction saving. Was "a question about IIR filter"



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

.



Relevant Pages

  • Simple questions about topology
    ... -> Hausdorff spaces; ... but all the points (except a set of measure zero) in T are normal ... and that integral equals zero. ... -> C is a Stone space - a totally disconnected compact Hausdorff space ...
    (sci.math)
  • Re: Simple questions about topology
    ... T is certainly not compact, and your * below will not help. ... T is a Borel set. ... > but all the points (except a set of measure zero) in T are normal ... > the irrationals in would make T compact. ...
    (sci.math)
  • Re: Reproducing java calculations in UNIX
    ... quotient goes in x, also a double. ... is greater than zero) only the fractional part of the ... {fraction is 52 zero bits, ... is converted from string to floating point (string ...
    (comp.unix.shell)
  • RE: Standard deviation calculation error...
    ... the result is still not zero. ... However, when applying the same formula to a fraction value "0.05", 60 sets ... If you breakdown the calculation steps of a STDEV ...
    (microsoft.public.excel.misc)
  • Re: -- Quickie: finite number of complex zeros in neighbourhood
    ... Angus Rodgers wrote: ... not zero everywhere has only finitely many zeros in any compact ... each zero of f is isolated and so each z ... assumes the reader is either very sharp (I'm quite sharp but not ...
    (sci.math)