Go Down

### Topic: What is, generally, the difference between Sigma-Delta DACs and PWM? (Read 5126 times)previous topic - next topic

#### arduinoman121

##### May 22, 2013, 06:25 pmLast Edit: May 22, 2013, 06:44 pm by arduinoman121 Reason: 1
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?)

#### MarkT

#1
##### 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.
[ I will NOT respond to personal messages, I WILL delete them, use the forum please ]

#### arduinoman121

#2
##### 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.

#### retrolefty

#3
##### 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

#### arduinoman121

#4
##### 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?

#5
##### 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.
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

Go Up