Connect with us

PCM vs PWM for low distortion sinewaves

Discussion in 'Electronic Design' started by BobW, Jan 30, 2008.

Scroll to continue with content
  1. BobW

    BobW Guest

    I'm attempting to generate low distortion sinusoids (in the 200Hz - 3KHz
    range). There will be a fixed number of amplitude changes for each period
    regardless of the frequency being generated.

    If we keep the number of pulse width or amplitude changes per period the
    same (let's say 32 per period), and the resolution the same (16 bit DAC or
    16 bit pulse width resolution), and the final filtering is the same (2 pole)
    and constant (i.e., not tracking) -- do you think that I can get lower
    distortion using 16 bit PCM or 16 bit PWM?

    Thanks for your thoughts.

  2. John Larkin

    John Larkin Guest


  3. If the sample rate is the exact multiple of the frequency of the
    sinewave, then all of the distortion will be concentrated at the
    harmonics of the sinewave. This is not good.
    So, you have the 2nd order LPF with Fc at ~3kHz, hence the THD is going
    to be as bad as 20% or so at 200 Hz at the best.

    The PCM will generate less artifacts then PWM. For the PWM, you will
    have to predistort the sinewave, and it will be a lot of trash above

    Vladimir Vassilevsky
    DSP and Mixed Signal Design Consultant
  4. BobW

    BobW Guest


    Thanks for your help. You raise some good points -- especially regarding the
    distortion at low frequencies.

    The most important factor is frequency accuracy. I need to be within 0.3%.

    What I can do is to increase the samples per period as the frequency goes

    Another alternative is to have a tracking filter (a switched capacitor
    filter comes-to-mind). This will result in higher power, however, and this
    thing will be battery operated.

  5. BobW

    BobW Guest


    I've played with a form of delta-sigma before (this so-called "adaptive
    delta modulation"). At that time, it required an asic.

    The thing I'm working on is a little battery operated unit and (currently)
    uses a small micro controller running at 16MHz (max). The micro has some
    very convenient stuff for doing PWM. I'll have to see whether or not I can
    do delta-sigma in software because I fear that adding an external part would
    result in too much power consumption.

  6. Guest

    Good points here. I suspect the original poster is going to do a
    simple table look-up, hence the sample rate being a multiple of the
    sine wave to keep the look-up table smaller. If a coordic was used,
    the sample rate could be a non-multiple of the sine wave.
  7. john jardine

    john jardine Guest

    If frequency accuracy is boss, I'd be inclined to generate the sines using
    direct DDS via 8 bit adds, a lookup table and ADC. harmonic distortion will
    be the same at 200Hz as 3kHz. Clock noise should run at the 100's of kHz,
    hence trivial filtering.
Ask a Question
Want to reply to this thread or ask your own question?
You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.
Electronics Point Logo
Continue to site
Quote of the day