Re: How to prevent aliasing caused by non-linear function implemented in the digital domain
- From: "robert bristow-johnson" <rbj@xxxxxxxxxxxxxxxxxxxx>
- Date: 28 Apr 2006 20:22:46 -0700
Fred Marshall wrote:
"Jerry Avins" <jya@xxxxxxxx> wrote in message....
news:MpqdnUOlX4SW5M_ZnZ2dnUVZ_tydnZ2d@xxxxxxxxxx
Aren't you impressed by the elegant simplicity of R.B-J.'s observation
that the highest order harmonic generated by a soft limiter is the same as
the order of the polynomial that represents it?
Yes, very.
oh c'mon, guys. it's just a degeneration of knowing when you multiply
signals, you convolve their spectrums. the general case doesn't even
have to be a sinusoid. bandlimited signals have spectrums of finite
nonzero reach. squaring a signal doubles that reach. cubing it is
squaring it and multiplying by another one more time so it triples the
reach. we've had this before.
another way to look at it is to consider Tchebyshev polynomials (and an
arbitrary polynomial can be expressed as a sum of Tchebyshevs up to
that order). so when a cosine wave guzzinta an Nth order Tchebshev:
T_N( cos(w*t) ) = cos(N*arccos( cos(w*t) )) = cos(N*w*t)
that's what i think is cool. a nice frequency multiplying
non-linearity.
the trick is to limit the nature of the non-linearity to these finite
polynomials so you know how much to oversample. if it's has to be a
high order, you're just screwed.
another little trick is that you need not care about aliasing that
folds down to the area that you'll LPF out. so a 5th order polynomial
needs only to have an oversampling ratio of 3. those top 2 harmonics
might alias, but won't get back into the baseband. when downsampling,
you filter those aliased harmonics out. so i think the hard and fast
rule is
oversampling ratio = (polynomial order + 1)/2
what impresses me (because i haven't really figgered it out) is that
... 1 -1 1 -1 1 -1 1 -1 1 -1 1 1 -1 1 -1 1 -1 1 -1 1 -1 1 ...
blows up, if that does, and if
... 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 ...
reconstructs to a nice cosine at Nyquist (it does, doesn't it?), then
that means
... 0 0 0 0 0 0 0 0 0 0 0 2 -2 2 -2 2 -2 2 -2 2 -2 2 ...
is the component that blows up. but i would think it would just settle
to a nice steady state 2*cosine. it must be the transient that is hell
with all of those 1/n terms adding up to infinity (since the
alternating signs of the data cancels the alternating signs of the
wiggles in the sinc).
r b-j
.
- Follow-Ups:
- References:
- How to prevent aliasing caused by non-linear function implemented in the digital domain
- From: Mark
- Re: How to prevent aliasing caused by non-linear function implemented in the digital domain
- From: Fred Marshall
- Re: How to prevent aliasing caused by non-linear function implemented in the digital domain
- From: Jerry Avins
- Re: How to prevent aliasing caused by non-linear function implemented in the digital domain
- From: Fred Marshall
- Re: How to prevent aliasing caused by non-linear function implemented in the digital domain
- From: Jerry Avins
- Re: How to prevent aliasing caused by non-linear function implemented in the digital domain
- From: Fred Marshall
- How to prevent aliasing caused by non-linear function implemented in the digital domain
- Prev by Date: Re: How to prevent aliasing caused by non-linear function implemented in the digital domain
- Next by Date: Re: QEP encoder
- Previous by thread: Re: How to prevent aliasing caused by non-linear function implemented in the digital domain
- Next by thread: Re: How to prevent aliasing caused by non-linear function implemented in the digital domain
- Index(es):
Relevant Pages
|