Digital Signal Processing
(DSP)
Fundamentals
Overview
• What is DSP?
• Converting Analog into Digital
– Electronically
– Computationally
• How Does It Work?
– Faithful Duplication
– Resolution Trade-offs
What is DSP?
• Converting a continuously changing
waveform (analog) into a series of discrete
levels (digital)
What is DSP?
• The analog waveform is sliced into equal
segments and the waveform amplitude is
measured in the middle of each segment
• The collection of measurements make up
the digital representation of the waveform
-1.5
-0.5
0.5
1.5
-2
-1
0
1
2
1 0
0.22
3 0.44
0.64
5 0.82
0.98
7 1.11
1.2
9 1.24
1.27
11 1.24
1.2
13 1.11
0.98
15 0.82
0.64
17 0.44
0.22
19 0
-0.22
-0.44 21
-0.64
-0.82 23
-0.98
-1.11 25
What is DSP?
-1.2
-1.26 27
-1.28
-1.26 29
-1.2
-1.11 31
-0.98
-0.82 33
-0.64
-0.44 35
-0.22
37 0
Converting Analog into Digital
Electronically
• The device that does the conversion is
called an Analog to Digital Converter
(ADC)
• There is a device that converts digital to
analog that is called a Digital to Analog
Converter (DAC)
Converting Analog into Digital
Electronically
SW-8
• The simplest form of SW-7
V-high
ADC uses a resistance V-7
ladder to switch in the
SW-6
V-6
appropriate number of Output
SW-5
V-5
resistors in series to SW-4
V-4
create the desired SW-3
voltage that is
V-3
SW-2
compared to the input SW-1
V-2
(unknown) voltage V-1
V-low
Converting Analog into Digital
Electronically
• The output of the
resistance ladder is
compared to the Analog Voltage Comparator
analog voltage in a Output Higher
Equal
comparator
Lower
Resistance
Ladder Voltage
• When there is a match,
the digital equivalent
(switch configuration)
is captured
Converting Analog into Digital
Computationally
• The analog voltage can now be compared with the
digitally generated voltage in the comparator
• Through a technique called binary search, the
digitally generated voltage is adjusted in steps
until it is equal (within tolerances) to the analog
voltage
• When the two are equal, the digital value of the
voltage is the outcome
Converting Analog into Digital
Computationally
• The binary search is a mathematical technique that
uses an initial guess, the expected high, and the
expected low in a simple computation to refine a
new guess
• The computation continues until the refined guess
matches the actual value (or until the maximum
number of calculations is reached)
• The following sequence takes you through a
binary search computation
Binary Search
Analog Digital
• Initial conditions 5-volts 256
– Expected high 5-volts
3.42-volts Unknown
– Expected low 0-volts (175)
– 5-volts 256-binary 2.5-volts 128
– 0-volts 0-binary
• Voltage to be converted
– 3.42-volts
– Equates to 175 binary 0-volts 0
Binary Search
• Binary search algorithm: Analog Digital
High Low 5-volts 256
Low NewGuess
2 unknown
3.42-volts
• First Guess:
128
256 0
0 128
2
0-volts 0
Guess is Low
Binary Search
• New Guess (2):
Analog Digital
5-volts 256
192
256 128 3.42-volts unknown
128 192
2
Guess is High
0-volts 0
Binary Search
• New Guess (3):
Analog Digital
5-volts 256
192 128 3.42-volts unknown
128 160 160
2
Guess is Low
0-volts 0
Binary Search
• New Guess (4):
Analog Digital
5-volts 256
176
192 160 3.42-volts
unknown
160 176
2
Guess is High
0-volts 0
Binary Search
• New Guess (5): Analog Digital
5-volts 256
3.42-volts unknown
176 160 168
160 168
2
Guess is Low
0-volts 0
Binary Search
• New Guess (6): Analog Digital
5-volts 256
176 168 3.42-volts unknown
168 172 172
2
Guess is Low
0-volts 0
(but getting close)
Binary Search
• New Guess (7):
Analog Digital
5-volts 256
176 172 3.42-volts unknown
172 174 174
2
Guess is Low
(but getting really, 0
0-volts
really, close)
Binary Search
• New Guess (8):
Analog Digital
5-volts 256
176 174 3.42-volts 175!
174 175
2
Guess is Right On
0-volts 0
Binary Search
• The speed the binary search is
accomplished depends on:
– The clock speed of the ADC
– The number of bits resolution
– Can be shortened by a good guess (but usually
is not worth the effort)
How Does It Work?
Faithful Duplication
• Now that we can slice up a waveform and
convert it into digital form, let’s take a look
at how it is used in DSP
• Draw a simple waveform on graph paper
– Scale appropriately
• “Gather” digital data points to represent the
waveform
Starting Waveform Used to
Create Digital Data
How Does It Work?
Faithful Duplication
• Swap your waveform data with a partner
• Using the data, recreate the waveform on a
sheet of graph paper
Waveform Created from Digital
Data
How Does It Work?
Faithful Duplication
• Compare the original with the recreating,
note similarities and differences
How Does It Work?
Faithful Duplication
• Once the waveform is in digital form, the
real power of DSP can be realized by
mathematical manipulation of the data
• Using EXCEL spreadsheet software can
assist in manipulating the data and making
graphs quickly
• Let’s first do a little filtering of noise
How Does It Work?
Faithful Duplication
• Using your raw digital data, create a new
table of data that averages three data points
– Average the point before and the point after
with the point in the middle
– Enter all data in EXCEL to help with graphing
Noise Filtering Using Averaging
Raw Ave before/after
150 150
100 100
Amplitude
Amplitude
50 50
0 0
-50 0 10 20 30 40 -50 0 10 20 30 40
-100 -100
-150 -150
Time Time
How Does It Work?
Faithful Duplication
• Let’s take care of some static crashes that
cause some interference
• Using your raw digital data, create a new
table of data that replaces extreme high and
low values:
– Replace values greater than 100 with 100
– Replace values less than -100 with -100
Clipping of Static Crashes
Raw eliminate extremes (100/-100)
150 150
100 100
Amplitude
50
Amplitude
50
0 0
-50 0 10 20 30 40 -50 0 10 20 30 40
-100 -100
-150 -150
Time Time
How Does It Work?
Resolution Trade-offs
• Now let’s take a look at how sampling rates
affect the faithful duplication of the
waveform
• Using your raw digital data, create a new
table of data and delete every other data
point
• This is the same as sampling at half the rate
Half Sample Rate
Raw every 2nd
150 150
100 100
Amplitude
50
Amplitude
50
0 0
-50 0 10 20 30 40 -50 0 10 20 30 40
-100 -100
-150 -150
Time Time
How Does It Work?
Resolution Trade-offs
• Using your raw digital data, create a new
table of data and delete every second and
third data point
• This is the same as sampling at one-third
the rate
1/2 Sample Rate
Raw every 3rd
150 150
100 100
Amplitude
50
Amplitude
50
0 0
-50 0 10 20 30 40 -50 0 10 20 30 40
-100 -100
-150 -150
Time Time
How Does It Work?
Resolution Trade-offs
• Using your raw digital data, create a new
table of data and delete all but every sixth
data point
• This is the same as sampling at one-sixth
the rate
1/6 Sample Rate
Raw every 6th
150 150
100 100
Amplitude
50
Amplitude
50
0 0
-50 0 10 20 30 40 -50 0 10 20 30 40
-100 -100
-150 -150
Time Time
How Does It Work?
Resolution Trade-offs
• Using your raw digital data, create a new
table of data and delete all but every twelfth
data point
• This is the same as sampling at one-twelfth
the rate
1/12 Sample Rate
Raw every 12th
150 150
100 100
Amplitude
50
Amplitude
50
0 0
-50 0 10 20 30 40 -50 0 10 20 30 40
-100 -100
-150 -150
Time Time
How Does It Work?
Resolution Trade-offs
• What conclusions can you draw from the
changes in sampling rate?
• At what point does the waveform get too
corrupted by the reduced number of
samples?
• Is there a point where more samples does
not appear to improve the quality of the
duplication?
How Does It Work?
Resolution Trade-offs
Bit High Bit Good Slow
Resolution Count Duplication
Low Bit Poor Fast
Count Duplication
Sample Rate High Sample Good Slow
Rate Duplication
Low Sample Poor Fast
Rate Duplication