Steve Harris wrote:
On Fri, Nov 01, 2002 at 01:11:44AM +0100, Tim Goetze
wrote:
i'll try to work out some tables after checking for fundamental
dependency. what kind of windowing would you recommend?
Blackman-Harris has the best sidelobe rejection, which is probably what we
just to make sure we're talking about the same thing:
double blackman (int i)
{
return 0.42
- 0.5 * cos (2 * (double) i * M_PI / WINDOW)
+ 0.08 * cos (4 * (double) i * M_PI / WINDOW);
}
is what you mean, right?
care about here. An important thing is to catch all the
components of the
harmonic, as some will slip into neighboring bins, I'm wondering if that
isn't one of the causes of the aparent amplitude variation of the
harmonics.
just did the same plot with applying the above window before the FT;
it does not look fundamentally different. plot is at
http://quitte.de/spectral-evolution-windowed.gif
Me too. I'm beginig to suspect that commercial amp
models aren't really
modelling the behaviour though.
"aren't really modelling the amp", i understand.
seeing that the proposed chebyshev emulation lends itself much
better for a series of amp models than a 'physical' model makes
me think the same.
Its not too bad. I hacked up a quick cheby that jumps
between 4 harmonic
sets last night, recalcuating the cheby every sample. It didn't seem
that slow.
it's probably depending on the size of the I-cache. i guess the
P-III one is bigger than the k6's, in which case loop unrolling is
more of a benefit in chebpc().
yep, best not
to go there. however i fear the switched chebyshev
output can produce nasty discontinuities. we'll find out.
It does. Well in my randomly picked test set it did, when the harmonic
amplitudes are real it may be smoother. I'l clean up the code later, make
it LERP between harmonic sets and send it to you, but I have sleave for
work now.
could be we can get away with something like a simple four-sample
xfade, though that could introduce unrelated harmonics. better
than an unmasked discontinuity still. hmmm.
Interesting. It takes 1/2 as much as a single
(optimised) valve here.
did some tests with valve and harmonic_gen at different frames/cycle,
the results seem to support my above cache theory; the chebyshev
is costing a lot less at larger block sizes than the valve. you run
them at 128/44.1 i understand?
could this be
to do with the 'magnitude normalization' it does?
It could be, I've zapped the normalisation in the ampy one, its also
possible that its buggy. The cheby maths came from num. rec. which
is famously full of errors.
good god. know an alternative source for calculating the
coefficients? Bill?
tim