Re: [linux-audio-dev] gain curves, interpolation, etc.

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: Re: [linux-audio-dev] gain curves, interpolation, etc.
From: Jack O'Quin (joq_AT_io.com)
Date: Wed Nov 29 2000 - 05:41:31 EET


Roger Larsson <roger.larsson_AT_norran.net> writes:
> OK, now I got it - the other axis, of cause...
> Precompute the derivate for each section (sample step).
> G = Gprev + derivate[section]
> Y = G * X

I had the same thought. Pre-compute a "delta-Gain" for each linear
segment of the curve, and just accumulate it in the inner loop.

But, now I can see that this is the kind of algorithm our Numerical
Analysis professors all warned us against. :-0

I may be wrong, but I suspect that the "delta-Gain" added for each
sample will be so much smaller than the Gain, itself, that serious
round-off errors will tend to accumulate. There must be some standard
way of dealing with this difficulty. Numerical integration algorithms
face the same issue. Does anyone know what it they do about it?

The first thought that comes to mind is to run this loop within an
outer loop that recomputes the interpolation directly, perhaps every
few hundred samples, or whatever is necessary. That way, there is a
limit on the rounding error. With some clever numerical analysis, it
may even be possible to calculate how fast the rounding error
accumulates, and tune the outer loop accordingly.

This is a much more interesting problem than it first appears... :-)

-- 
  Jack O'Quin
  Austin, Texas, USA


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : Wed Nov 29 2000 - 06:32:28 EET