Arduino Forum

Using Arduino => General Electronics => Topic started by: arduinoman121 on May 22, 2013, 06:25 pm

Title: What is, generally, the difference between Sigma-Delta DACs and PWM?
Post by: arduinoman121 on May 22, 2013, 06:25 pm
After looking online and reading through some complicated terminology and mathematics, I still can not effectively distinguish between PWM and Sigma-Delta DACs. I know that Sigma-Delta is faster, more accurate and efficient (but why? How? How is the sampling different, and what does each do that makes them so different?)
Title: Re: What is, generally, the difference between Sigma-Delta DACs and PWM?
Post by: MarkT on May 22, 2013, 08:53 pm
PWM has a fixed frequency and a resolution limited by the clock cycles per PWM cycle.

With Sigma-delta the input value is summed to an error register and the output subtracts
from that register - in effect there is a feedback loop trying to keep the error within bounds,
and the input resolution is decoupled from the output resolution.

You can use single-bit output, in which case the proportion of ones in the output (averaged
over time) is proportional to the input value (which can be 16 or more bits if you want).  The
frequency of the output is not constant and usually the signal needs converting to analog
with a very tight-spec charge-summing stage (the precise timing of the clock edges is all-important
in getting good linearity).

But you can also use PWM as the output, say 8-bit PWM out, 16 bits in, and the error value
has its top 8 bits pushed out to the PWM every PWM period - the lower order bits are still
accounted for and provide high resolution at low bandwidth.

In general sigma-delta trades bandwidth for accuracy (clock has to run a lot faster than the
sample rate).

Real converters use more tricks and are more complex, but the basic idea is to maintain
an error value and use negative feedback to keep the accumulated error small.
Title: Re: What is, generally, the difference between Sigma-Delta DACs and PWM?
Post by: arduinoman121 on May 29, 2013, 07:59 pm

PWM has a fixed frequency and a resolution limited by the clock cycles per PWM cycle.

With Sigma-delta the input value is summed to an error register and the output subtracts
from that register - in effect there is a feedback loop trying to keep the error within bounds,
and the input resolution is decoupled from the output resolution.

You can use single-bit output, in which case the proportion of ones in the output (averaged
over time) is proportional to the input value (which can be 16 or more bits if you want).  The
frequency of the output is not constant and usually the signal needs converting to analog
with a very tight-spec charge-summing stage (the precise timing of the clock edges is all-important
in getting good linearity).

But you can also use PWM as the output, say 8-bit PWM out, 16 bits in, and the error value
has its top 8 bits pushed out to the PWM every PWM period - the lower order bits are still
accounted for and provide high resolution at low bandwidth.

In general sigma-delta trades bandwidth for accuracy (clock has to run a lot faster than the
sample rate).

Real converters use more tricks and are more complex, but the basic idea is to maintain
an error value and use negative feedback to keep the accumulated error small.

Thank you! very thorough and informative, I appreciate your time.
Title: Re: What is, generally, the difference between Sigma-Delta DACs and PWM?
Post by: retrolefty on May 29, 2013, 08:28 pm

After looking online and reading through some complicated terminology and mathematics, I still can not effectively distinguish between PWM and Sigma-Delta DACs. I know that Sigma-Delta is faster, more accurate and efficient (but why? How? How is the sampling different, and what does each do that makes them so different?)


A DAC generates a true DC analog output voltage directly. A PWM outputs a digital signal of fixed frequency and a variable duty cycle. They are two drastically different output signals used in different ways. A PWM signal can be made to generate a true DC analog output voltage if followed with a proper passive or active low pass filter.

Lefty
Title: Re: What is, generally, the difference between Sigma-Delta DACs and PWM?
Post by: arduinoman121 on May 30, 2013, 06:54 pm
Quote

A DAC generates a true DC analog output voltage directly. A PWM outputs a digital signal of fixed frequency and a variable duty cycle. They are two drastically different output signals used in different ways. A PWM signal can be made to generate a true DC analog output voltage if followed with a proper passive or active low pass filter.

Lefty

Ahh so correct me if I'm wrong, in analog half of 5v is 2.5v, 50% brightness of an LED. A DAC would output 2.5v to the LED making it half brightness, But PWM outputs an on and off signal fast enough to appear at 50% brightness? 
Title: Re: What is, generally, the difference between Sigma-Delta DACs and PWM?
Post by: CrossRoads on May 30, 2013, 07:33 pm
Yes. PWM is 0-5V signal.
analogWrite(pinX, 127);
would output a squarewave at ~490Hz frequency that was 0V half the time, and 5V half the time.
490Hz = ~2mS period, so 1mS low, 1mS high.
Vs a DAC sitting at 2.5V.
DACs can not generally supply 20mA of current tho.  There are some exceptions.