[PD] The (not) doppler distortion (was: overdriven speaker)

Mathieu Bouchard matju at artengine.ca
Fri Nov 19 05:33:05 CET 2010


On Wed, 17 Nov 2010, Martin Schied wrote:

> did you speak about the "doppler" distortion? true doppler distortion is 
> harmonic for a single sine wave, but not for 2 or more sines of 
> different frequencies.

Then can you explain what's wrong in my reasoning ? (the formulas I wrote)

It assumes the signal is periodic (even if the period is long ; harmonics 
are relative to that period, and not the period of either sine wave)

Suppose you have two sine waves of frequencies a,b related by a common 
base frequency gcd(a,b)... what are the frequencies of the non-harmonics ?
I'm talking about something detectable.

> It's the same effect known as frequency modulation, in this case a 
> signal being its own carrier.

When a signal is its own carrier, you are below a certain threshold of 
detectability of frequency change. It's one of the uncertainty principles 
(closely related to Heisenberg's). When you do FM with a true carrier, the 
carrier has to be a lot higher in frequency, and that decides how much 
data you can carry with the carrier. That's the difference between actual 
FM transmission, and something that's only using the same formula as FM.

> The difficulty in prediction of a spectrum is that the carrier is an 
> always changing mix of frequencies and not a single sine wave like for a 
> radio station transmitter or in the most simplest case of frequency 
> modulation synthesizers, but it is pretty easy to find out it is non 
> harmonic by listening...

non-harmonic related to what ?

Well, if you tried it with an [osc~ 200] and an [osc~ 1000], for example, 
you'd see that by increasing the intensity of the effect gradually from 0, 
harmonics come up and down, and at first they are multiple of 200 Hz, but 
for some reason, for very high values, there are other multiples of 100 Hz 
that appear. I'm missing something because gcd(200,1000)=200, not 100, but 
at least the harmonics aren't completely weird.

> I want to add that the vd~ approach is not the "perfect implementation" 
> for the above described frequency modulatuon. the carrier is delayed 
> against the modulating signal a bit.

You can add another [vd~] or [delread~] to fix that. I think I did that in 
some other version of haut-parleur-doppler.pd, and if not, I did similar 
things with other effects.

> Like this it simulates a moving listener instead a moving sound source.

But there is no difference between a moving listener and a moving source, 
apart from the wind.

What you mean is, regardless of whether it happens in the listener or the 
source, the motion is out of phase with the actual signal.

> Also for a single sine wave the change of the spectrum differs by 
> variation of the delay.

Yes, and for several sine waves too. But I think that it doesn't change 
the nature of the beast very much.

> A more close to reality simulation which does only fm without delay 
> requires a variable (interpolating?) write into the delayline.

Why would you need to do it on write, instead of on read ?

> Unfortunately I don't know of such externals already existing. However I 
> don't expect the effects being very different from the vd~ method.

What if they aren't _any_ different ?

> A slow 20Hz sinewave modulating some high frequencies will not sound 
> very different if the 20Hz is delayed or not. A 20 hz sound will have a 
> duration which is much longer that the delay.

But it depends on the gain you choose. Suppose you have a weapons-grade 
giant speaker, with a membrane of a few hectares...

I mean, play with the [*~] and you can get the delay variation to be 
bigger than the period of a sinewave.

  _______________________________________________________________________
| Mathieu Bouchard ---- tél: +1.514.383.3801 ---- Villeray, Montréal, QC


More information about the Pd-list mailing list