Digital Signal Processing ADC and DAC Moslem Amiri, Václav Přenosil Masaryk University Resource: “The Scientist and Engineer's Guide to Digital Signal Processing” (www.dspguide.com) B St W S ithBy Steven W. Smith Quantization 2 Quantization  In previous figure In previous figure  Block diagram broken into 2 sections (theoretical model)  Sample‐and‐hold (S/H) → sampling converts independentSample and hold (S/H) → sampling converts independent  variable (time) from continuous to discrete  Analog‐to‐digital converter (ADC) → quantization converts  dependent variable (voltage) from continuous to discrete  Effects of quantization  LSB (Least Significant Bit): distance between adjacent  quantization levels  Any sample in digitized signal has a maximum error of ±1/2 LSB Any sample in digitized signal has a maximum error of ±1/2 LSB  Quantization error appears very much like random noise 3 Quantization  Model of quantization error Model of quantization error  Quantization results in addition of a specific amount of  random noise to signalg  Additive noise   uniformly distributed between ±1/2 LSB   E.g., passing an analog signal through )29.0(~12/1,0 LSBLSB   8 bit digitizer → adds an rms noise of 0.29/256  12 bit digitizer → adds a noise of 0.29/4096  16 bit digitizer → adds a noise of 0.29/65536  Quantization error is a random noise → number of bits  determines precision of datadetermines precision of data 4 Quantization  Example(quantization error + noise in analog signal) Example(quantization error + noise in analog signal)  Analog signal – maximum amplitude of 1.0 volt – random noise of 1.0 millivolt rms  8 bit digitizer  1.0 volt → 0.29 LSB  1.0 millivolt = 0.255 * 1/255 → 0.255 LSB  Total noise =                                              LSB ≈ 0.0015386.0255.029.0 22   An increase of about 50% over noise already in analog signal  12 bit digitizer  No increase in noise, nothing would be lost due to quantization  Two questions when deciding how many bits needed H h i i l d i l i l How much noise is already present in analog signal  How much noise can be tolerated in digital signal 5 Quantization  Dithering Dithering  Quantization error not random  Occurs when analog signal remains at about same value forOccurs when analog signal remains at about same value for  many consecutive samples  Output remains stuck on same digital number for many  samples in a row  Quantization error model not valid  Dithering improves digitization of slowly varying signals  Small amount of random noise is added to analog signal 6 Quantization 7 The Sampling Theorem  Proper sampling definition Proper sampling definition  If analog signal can be reconstructed from samples 8 The Sampling Theorem 9 The Sampling Theorem  In previous figure In previous figure  (a), (b), (c) → proper sampling  (d) → improper sampling (aliasing)(d) → improper sampling (aliasing)  Aliasing  Phenomenon of sinusoids changing frequency duringPhenomenon of sinusoids changing frequency during  sampling  Shannon (or Nyquist) sampling theorem  A continuous signal can be properly sampled, only if it  does not contain frequency components above one‐half  of sampling rateof sampling rate  Nyquist frequency or Nyquist rate  One half of sampling rate One‐half of sampling rate 10 The Sampling Theorem  Example Example  Sampling rate = 2000 samples/s  Analog signal must be composed of frequencies belowAnalog signal must be composed of frequencies below  1000 cycles/s  Frequencies above 1000 cycles/s present in signalq y p g  Will be aliased to frequencies between 0 and 1000 cycles/s  Combines with legitimate information 11 The Sampling Theorem 12 The Sampling Theorem  In previous figure In previous figure  Continuous signal’s frequency above Nyquist rate  Continuous frequency corresponds to digital frequencyContinuous frequency corresponds to digital frequency  between zero and one‐half sampling rate   If a sinusoid already at this lower frequency → aliased signal  will add to it → loss of information  Aliasing can change phase too  Only two phase shifts possible: 0˚ (no phase shift) and 180˚  (inversion)  Aliasing is a double curse Aliasing is a double curse  Information can be lost about higher and lower  frequencyq y 13 The Sampling Theorem  Example Example  Given a digital signal containing a frequency of 0.2 of  sampling ratep g  If signal obtained by proper sampling  Frequency of original analog signal = 0.2  If aliasing took place  Frequency of original analog signal could be any of: 0.2, 0.8,  1.2, 1.8, 2.2, … 14 The Sampling Theorem  Impulse train (theoretical concept) Impulse train (theoretical concept)  A continuous signal consisting of a series of narrow  spikes (impulses) that match original signal at sampling p ( p ) g g p g instants  Can be compared with original analog signal since both  are continuous 15 The Sampling Theorem 16 The Sampling Theorem  In previous figure In previous figure  Frequency spectrum in (b) shows (a) is composed only of  frequency components between 0 and 0.33 fsq y p s  fs = sampling frequency we intend to use  (c) (impulse train) is proper sampling  (d) is a duplication of original signal spectrum  Upper sideband = copy of original frequency spectrum  Lower sideband = flipped copy  Transformed back into (a) by eliminating frequencies above ½fs  (e) is improper sampling  (f) shows duplicated portions of spectrum invade band  between 0 and ½ sampling frequencybetween 0 and ½ sampling frequency  Overlapping frequencies add together → Information loss 17 Digital‐to‐Analog Conversion  Simplest method for DAC (in theory) Simplest method for DAC (in theory)  Pull samples from memory   Convert them into an impulse trainConvert them into an impulse train  Original analog signal reconstructed by passing impulse  train through a low‐pass filterg p  Cutoff frequency = ½ sampling rate  Problem of this method  Difficult to generate required narrow pulses in electronics   This method shown in following figure 18 Digital‐to‐Analog Conversion 19 Digital‐to‐Analog Conversion  Zeroth order hold Zeroth‐order hold  DAC equivalent of sample‐and‐hold used during ADC  DACs operate by holding last value until another sampleDACs operate by holding last value until another sample  is received  Results in spectrum of impulse train (correct spectrum) p p p being multiplied by sinc function (sinc (x)): sff fH )/sin( )(    Analog filter used to convert zeroth‐order hold signal  into reconstructed signal needs to sff f / )(  into reconstructed signal needs to  Remove all frequencies above ½ sampling rate  Boost frequencies by 1/sinc(x) Boost frequencies by 1/sinc(x)  20 Digital‐to‐Analog Conversion  1/sinc(x) frequency boost can be handled in 4 ways 1/sinc(x) frequency boost can be handled in 4 ways  Ignore it – accept consequences  Design an analog filter to include 1/sinc(x) responseDesign an analog filter to include 1/sinc(x) response  Use a fancy multirate technique  Make correction in software before DACMake correction in software before DAC 21 Digital‐to‐Analog Conversion 22 Analog Filters for Data Conversion  This figure shows a block diagram of a DSP system This figure shows a block diagram of a DSP system 23 Analog Filters for Data Conversion  Antialias filter Antialias filter  Placed before an ADC  Is an electronic low‐pass filterIs an electronic low pass filter  Removes all frequencies above Nyquist frequency  Prevents aliasing during samplingPrevents aliasing during sampling  Reconstruction filter  Another low‐pass filter set to Nyquist frequencyp yq q y  Placed after a DAC  May include zeroth‐order‐hold frequency boost 24 Analog Filters for Data Conversion  Three types of analog filters Three types of analog filters  Chebyshev  ButterworthButterworth  Bessel (or Thompson)  Each type of analog filtersEach type of analog filters  Designed to optimize a different performance parameter  Complexity adjusted by selecting number of poles and p y j y g p zeros  E.g., six pole Bessel filter  More poles → more electronics → better performance  Different numbers describe what filter does, not a particular  t f i t d itarrangement of resistors and capacitors 25 Analog Filters for Data Conversion  Modified Sallen Key circuit (2 pole low pass filter) Modified Sallen‐Key circuit (2 pole low‐pass filter)  Common building block for analog filter design 26 Analog Filters for Data Conversion  4 6 8 pole filters 4, 6, 8 pole filters  Formed by cascading 2, 3, 4 of building blocks,  respectivelyp y  A 6 pole Bessel filter 27 Analog Filters for Data Conversion  Making filter as an IC Making filter as an IC  Problem: difficult to make resistors directly in silicon  Solution: switched capacitor filterSolution: switched capacitor filter 28 Analog Filters for Data Conversion  In a resistor In a resistor  Rate of charge transfer determined by its resistance  In a switched capacitorIn a switched capacitor  Rate of charge transfer determined by  Value of small capacitorValue of small capacitor  Switching frequency  Cut‐off frequency of filter is directly proportional to q y y p p clock frequency used to drive switches  Makes switched capacitor filter ideal for data acquisition  h h h lsystems that operate with more than one sampling rate  29 Analog Filters for Data Conversion  Stopband Stopband  All frequencies above cutoff frequency  Low pass filter designed to block itLow pass filter designed to block it  Passband  All frequencies below cutoff frequencyAll frequencies below cutoff frequency  Low pass filter designed to pass it  Cutoff frequency sharpnessCutoff frequency sharpness  Chebyshev is best  Roll‐off (drop in amplitude) as rapidly as possible  Next figure shows frequency response of different filters  on a logarithmic scale  with one hertz cutoff frequency  Can be directly scaled to any cutoff frequency 30 Analog Filters for Data Conversion 31 Analog Filters for Data Conversion  Example (8 pole Chebyshev filter) Example (8 pole Chebyshev filter)  A 12 bit system – 10,000 samples/s – Frequencies above  5 kHz to be reduced in amplitude by a factor of 100p y  fc = 1 Hz → attenuation of 100 at 1.35 Hz  Scaling to example → fc must be set to 3.7 kHzg p c  Results in band between 3.7 and 5 kHz being wasted  A frequency to alias into passband  Must be > 6300 Hz (or 1.7 * 3700)  Attenuation at 1.7 fc = 1300  Much more adequate than 100   32 Analog Filters for Data Conversion  Result of inadequate roll off of analog filters Result of inadequate roll‐off of analog filters  In most systems, frequency band between about 0.4 and  0.5 of sampling frequency is an unusable wasteland of p g q y filter roll‐off and aliased signals 33 Analog Filters for Data Conversion  Passband ripple Passband ripple  Wavy variations in amplitude of passed frequencies  Is seen in Chebyshev filterIs seen in Chebyshev filter  Obtains its excellent roll‐off by allowing this ripple  More passband ripple allowed in a filter → faster roll‐offMore passband ripple allowed in a filter → faster roll off  Butterworth filter provides flattest passband  Elliptic filterp  Allows ripple in both passband and stopband 34 Analog Filters for Data Conversion 35 Analog Filters for Data Conversion  Step response Step response  How filter responds when input rapidly changes from  one value to another  Butterworth and Chebyshev  Overshoot and show ringing  Bessel filter is optimal  Next figure shows step response  For filters with 1 Hz fc  Can be scaled inversely for higher fcs – e.g., a 1000 Hz fc shows  i illi da step response in milliseconds 36 Analog Filters for Data Conversion 37 Analog Filters for Data Conversion 38 Selecting the Antialias Filter  Characteristics of three classic filters Characteristics of three classic filters 39 Selecting the Antialias Filter  Characteristics of filters Characteristics of filters  Each optimizes a particular parameter at expense of  everything elsey g  Chebyshev optimizes roll‐off  Butterworth optimizes passband flatnessp p  Bessel optimizes step response  Selection of antialias filter  Depends on how information is represented in signals  for processing  Time domain encoding  Frequency domain encoding 40 Selecting the Antialias Filter  Frequency domain encoding Frequency domain encoding  Information contained in sinusoidal waves that combine  to form signalg  E.g., audio signals  Perceived sound depends on frequencies present, not on  particular shape of waveform  Changing phase of sinusoids, while retaining frequency and  lit d → diff t f h b t d id ti lamplitude → different waveform shape but sounds identical  Aliasing destroys info encoded in frequency domain  Use antialias filter with a sharp cutoff e g Chebyshev Elliptic Use antialias filter with a sharp cutoff ,e.g., Chebyshev, Elliptic,  or Butterworth  Encoded info not affected by nasty step response of these y y p p filters 41 Selecting the Antialias Filter  Time domain encoding Time domain encoding  Uses shape of waveform to store information  E g electrocardiogram or imagesE.g., electrocardiogram, or images  Chebyshev filter severely distorts waveform  Should not be usedShould not be used  Bessel filter is best  42 Selecting the Antialias Filter 43 Multirate Data Conversion  Trend in electronics Trend in electronics  Replace analog circuitry with digital algorithms  Example: design of a digital voice recorderExample: design of a digital voice recorder  Speech between 100 and 3000 Hz  Pass analog signal through 8 pole Chebyshev at 3 kHzPass analog signal through 8 pole Chebyshev at 3 kHz  Sample at 8 kHz  DAC reconstructs analog signal at 8 kHzg g  Zeroth order hold  Another Chebyshev filter at 3 kHz to produce final signal 44 Multirate Data Conversion  Faster sampling is useful Faster sampling is useful  Redesigning digital voice recorder example  64 kHz sampling rate64 kHz sampling rate  Antialias filter needs to pass frequencies below 3 kHz while  rejecting frequencies above 32 kHz  Similar simplification for reconstruction filter  Higher sampling rate allows 8 pole filters to be replaced  h l kwith simple RC networks  Problem Di it l t d ith d t f hi h li t Digital system swamped with data from higher sampling rate 45 Multirate Data Conversion  Multirate techniques Multirate techniques  Use more that one sampling rate in same system  For digital voice recorder exampleFor digital voice recorder example  Pass voice signal through a simple RC filter – sample at 64 kHz  100 < desired band < 3000 Hz, 3 < unusable band < 32 kHz,  Remove unusable band by digital low‐pass filter at 3 kHz  Decimation: resample digital signal from 64 to 8 kHz by  discarding every seven out of eight samples  Resulting digital data = data produced by aggressive analog  filt i d di t 8 kH lifiltering and direct 8 kHz sampling   46 Multirate Data Conversion  Multirate techniques Multirate techniques  Can be used in output portion of example system  Interpolation: 8 kHz data pulled from memory and convertedInterpolation: 8 kHz data pulled from memory and converted  to a 64 kHz sampling rate  Place seven samples with a value of zero between each of  samples obtained from memory  Resulting signal is a digital impulse train  100 < desired band < 3000 Hz, 3 < spectral duplications < 32  kHz  Everything above 3 kHz removed with digital low‐pass filter Everything above 3 kHz removed with digital low‐pass filter  After conversion to an analog signal, a simple RC network used  47 Single Bit Data Conversion  Single bit ADC and DAC Single bit ADC and DAC  Used in telecommunications and music reproduction  Are multirate techniquesAre multirate techniques  Higher sampling rate traded for a lower number of bits  Are mostly based on use of delta modulation circuitAre mostly based on use of delta modulation circuit 48 Single Bit Data Conversion  Block diagram of a delta modulation circuit Block diagram of a delta modulation circuit 49 Single Bit Data Conversion  In previous figure In previous figure  Analog input (voice) – digital output (1s and 0s)  Comparator decides which has greater voltageComparator decides which has greater voltage  Incoming analog signal or capacitor voltage  This decision (1 or 0) applied to input of latch( ) pp p  Latch insures output is synchronized with clock  Defines sampling rate  Feedback loop takes digital output to drive an electronic  switch  Output = 1 → capacitor connected to positive charge injector  Output = 0 → capacitor connected to negative charge injector  decreases voltage on capacitor by same fixed amount– decreases voltage on capacitor by same fixed amount 50 Single Bit Data Conversion  Example of signals produced by delta modulator Example of signals produced by delta modulator 51 Single Bit Data Conversion  In previous figure In previous figure  At time = 0, analog input and capacitor voltage = 0  Slew rateSlew rate  If input signal changes very rapidly, capacitor voltage changes  at a constant rate (slew rate) until a match obtained  Analog input increasing  Output signal consists of more 1s than 0s  Analog input decreasing  Output signal consists of more 0s than 1s  Analog input constant  Digital output alternates equally between 0 and 1 R l i b f 1 0 Relative number of 1s versus 0s  Proportional to slope of analog input 52 Single Bit Data Conversion  Advantage of delta modulator Advantage of delta modulator  All bits have same meaning in transmission or storage  Unlike serial format: start bit LSB MSB stop bitUnlike serial format: start bit, LSB, …, MSB, stop bit  Circuit at receiver identical to feedback portion of  transmitting circuit  Capacitor voltage reconstructs signal  Limitation of delta modulator  Unavoidable tradeoff between  Maximum slew rate  Quantization size  Data rate M l d i i i dj d f i Max. slew rate and quantization size adjusted for voice  Data rate ends up in MHz range → too high 53 Single Bit Data Conversion  CVSD modulation CVSD modulation  Continuously Variable Slope Delta  A solution to problem of delta modulationA solution to problem of delta modulation 54 Single Bit Data Conversion  In CVSD In CVSD  Clock rate and quantization size set to acceptable values  E g 30 kHz and 2000 levelsE.g., 30 kHz, and 2000 levels  Results in terrible slew rate → corrected with additional circuit  Circuit is in slew rate limited conditionC cu t s s e ate ted co d t o  Last 4 bits all 1s or 0s  A shift register continually looks at last 4 bits  A logic circuit detects → produces an analog signal that  increases level of charge produced by charge injectors   Syllabic filter allows step size to depend on how long circuit is  in slew limited condition → step size gets larger and larger  At receiver analog signal reconstructed by incorporating a At receiver, analog signal reconstructed by incorporating a  syllabic filter identical to one in transmitter  55 Single Bit Data Conversion  CVSD modulation CVSD modulation  Great for encoding voice signals  Cannot be used for general purpose ADCCannot be used for general purpose ADC  Digital data related to derivative of input signal  Changing step size is problematicg g p p  DC level of analog signal usually not captured in digital data  56 Single Bit Data Conversion  Delta sigma converter Delta‐sigma converter  Eliminates problems of CVSD by combining analog  electronics with DSP algorithms  g 57 Single Bit Data Conversion  In delta sigma converter In delta‐sigma converter  Voltage on capacitor compared with ground potential  Feedback loop modifiedFeedback loop modified   Voltage on capacitor decreased when output = 1  Voltage on capacitor increased when output = 0g p p  Input voltage positive  Digital output composed of more 1s than 0s  Excess number of 1s needed to generate negative charge that  cancels with positive input signal  Input voltage negative  Digital output composed of more 0s than 1s I t i l 0 Input signal = 0  Equal number of 1s and 0s  58 Single Bit Data Conversion  In delta sigma converter In delta‐sigma converter  Relative number of 1s and 0s in output  Related to level of input voltage not slope → simplerRelated to level of input voltage, not slope → simpler  Example: forming a 12 bit ADC  Feed digital output into a counterg p  Count number of 1s over 4096 clock cycles  Digital number 4095 corresponds to maximum positive input  Digital number 0 corresponds to maximum negative input  2048 corresponds to an input voltage of 0 59 Single Bit Data Conversion  In delta sigma converter In delta‐sigma converter  To transform 1s and 0s back into analog signal  A simple analog low‐pass filter requiredA simple analog low pass filter required  High and low voltages corresponding to 1s and 0s average out  to form correct analog voltage  E.g., suppose 1s and 0s represented by 5 and 0 volts → if 80%  of bits are 1s and 20% 0s, output of low‐pass filter = 4 volts l d l A way to replace counter in delta‐sigma ADC circuit  Binary signal passed through digital low‐pass filter and then  decimateddecimated  E.g., change each of 1s and 0s into a 12 bit sample: 1s → 4095,  0s → 0, use a digital low‐pass filter and then decimateg p 60