[sdiy] PWM audio distortion explanation

Eric Brombaugh ebrombaugh1 at cox.net
Tue Jun 28 18:38:47 CEST 2016


Tom's right.

The article does a nice job of analyzing PWM from a certain perspective 
but does little to lay the groundwork for taking that perspective. If 
you already know something about signals and systems then you can agree 
with the statement "At its most basic level..." but it takes some 
background to get to the point of agreement.

FWIW: PWM can be seen as AM of carriers, but in order to do so you you 
have to dive into Fourier analysis. And it's not just "a carrier" but 
it's all the harmonics of the PWM base rate.

So, by varying pulse-width you're changing the harmonic series - 
amplitude modulating the harmonics of the base rate. Since many forms of 
PWM are asymmetrical (ie the rising edge always happens in the same 
place and the falling edge is moved) then they're also modulating the 
phase of the harmonics. And therein lie the distortion mechanisms...

Note that "properly done" PWM will impose a LPF at some frequency well 
below the base PWM cycle frequency, effectively filtering out all those 
higher, distorted harmonics. All that's left is the average value over 
the period. The trouble is that many lo-tek approaches (I'm looking at 
you, AVR and PIC processors!) do not have sufficient speed to allow that 
LPF to enclose a sufficient audio bandwidth. So they compromise and set 
the LPF corner near (or sometimes even above) the PWM cycle frequency 
and then you get more interesting things happening.

Eric


On 06/28/2016 09:13 AM, Tom Wiltshire wrote:
> That's very interesting and right up my street, but unfortunately I don't get past the first sentence:
>
> "At its most basic level, PWM is amplitude modulation (AM) of a carrier frequency (the PWM frequency)."
>
> Why? PWM doesn't change the amplitude at all, as far as I can see. The *average* amplitude, maybe, but that's not the same thing, and it seems like a bit of a jump from this initial claim to then go "…so then this maths applies!". Does it? Why?
>
> Amplitude modulation of pulse trains has some other name I'm sure (oh, look! It does: http://en.wikipedia.org/wiki/Pulse-amplitude_modulation )
>
> The width of the pulses is what's being modulated here, not the amplitude. If they're going to convince me that those two are equivalent, I want a bit of explanation of how that works.
>
> Tom
>
>
> On 28 Jun 2016, at 13:21, rburnett at richieburnett.co.uk wrote:
>
>> Stumbled upon this good explanation of why simple PWM inherently distorts audio reproduction:
>>
>> http://www.openmusiclabs.com/learning/digital/pwm-dac/pwm-distortion-analysis/
>>
>> Might make interesting reading for anyone who's used a PIC or Arduino to generate audio waveforms using PWM, and been left scratching their head for an explanation for unexpected distortion products.
>>
>> -Richie,
>> _______________________________________________
>> Synth-diy mailing list
>> Synth-diy at dropmix.xs4all.nl
>> http://dropmix.xs4all.nl/mailman/listinfo/synth-diy
>
> _______________________________________________
> Synth-diy mailing list
> Synth-diy at dropmix.xs4all.nl
> http://dropmix.xs4all.nl/mailman/listinfo/synth-diy
>




More information about the Synth-diy mailing list