[linux-audio-dev] "declicking" algorithm?
Dan Mills
dmills at spamblock.demon.co.uk
Thu Dec 15 18:45:07 UTC 2005
On Thursday 15 December 2005 18:06, Phil Frost wrote:
> There is truth in what you say, but given the problem described, this is
> likely more confusing than helpful to someone new to signal processing.
>
> If the problem is that the input is a low frequency square wave, from a
> Low Frequency Oscilator, the popping has nothing to do with the
> "nyquest" limit. If the square wave were coming from an ideal source
> (which it isn't) then any higher frequency components likely would be so
> small as to be smaller than the quantization error.
The thing is that a LFO implemented as part of a plugin is an ideal source for
all practical purposes, it can and does do a step change in sample value (for
the nieve squarewave case) which if the LFO is running at 20Hz gives the
level of the 1001st harmonic as 1/1001 that of the fundamental, or some 60db
down. Low but hardly buried in the nose, as the mixing products will not be
harmonically related to either signal.
> The problem is simply that it contains high frequency components (under
> the limit), or more intuitively, a sudden drop or rise. Drop or rise
> more slowly, and the pops go away.
Does hooking the LFO output directly to a speaker click, if so this is the
problem, but if it only acts up when multiplied with another signal then I
still maintain that it is mixer products aliasing that is the problem.
> There is no need here for a high order filter here, and no risk of phase
> shifts or overshoot. A simple first order lowpass filter will be quite
> effective, as will any other simple techniques such as averaging or
> changing the LFO function to put more slope on the rising and falling
> edges.
Also the OP probably needs to make the rate of change continuous as that can
also cause a click.
Regards, Dan.
More information about the Linux-audio-dev
mailing list