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
-1.5
-2
17
15
13
11
0.5
0.22
0.44
0.64
0.82
0.98
1.11
1.2
1.24
1.27
1.24
1.2
1.11
0.98
0.82
0.64
0.44
0.22
1.5
19
-0.22
-0.44 21
-0.64
-0.82
23
-0.98
-1.11
25
-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.5
0
0
1
What is DSP?
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
The simplest form of
ADC uses a resistance
ladder to switch in the
appropriate number of
resistors in series to
create the desired
voltage that is
compared to the input
(unknown) voltage
SW-8
V-high
SW-7
V-7
SW-6
V-6
SW-5
Output
V-5
SW-4
V-4
SW-3
V-3
SW-2
V-2
SW-1
V-1
V-low
Converting Analog into Digital
Electronically
The output of the
resistance ladder is
compared to the
Analog Voltage
analog voltage in a
Resistance
comparator
Ladder Voltage
When there is a match,
the digital equivalent
(switch configuration)
is captured
Comparator
Output
Higher
Equal
Lower
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
Initial conditions
Expected high 5-volts
Expected low 0-volts
5-volts 256-binary
0-volts 0-binary
Analog
5-volts
3.42-volts
2.5-volts
Digital
256
Unknown
(175)
128
Voltage to be converted
3.42-volts
Equates to 175 binary
0-volts
Binary Search
Binary search algorithm:
High Low
Low NewGuess
2
First Guess:
Analog
5-volts
Digital
256
3.42-volts
unknown
128
256 0
0 128
2
Guess is Low
0-volts
Binary Search
New Guess (2):
256 128
128 192
2
Guess is High
Analog
5-volts
3.42-volts
0-volts
Digital
256
192
unknown
Binary Search
New Guess (3):
192 128
128 160
2
Analog
5-volts
Digital
256
3.42-volts
unknown
160
Guess is Low
0-volts
Binary Search
New Guess (4):
192 160
160 176
2
Guess is High
Analog
5-volts
Digital
256
3.42-volts
176
unknown
0-volts
Binary Search
New Guess (5):
176 160
160 168
2
Guess is Low
Analog
5-volts
Digital
256
3.42-volts
unknown
168
0-volts
Binary Search
New Guess (6):
176 168
168 172
2
Guess is Low
(but getting close)
Analog
5-volts
Digital
256
3.42-volts
unknown
172
0-volts
Binary Search
New Guess (7):
Analog
5-volts
3.42-volts
176 172
172 174
2
Digital
256
unknown
174
Guess is Low
(but getting really,
really, close)
0-volts
Binary Search
New Guess (8):
176 174
174 175
2
Analog
5-volts
3.42-volts
Guess is Right On
0-volts
Digital
256
175!
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, lets 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
Lets 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
Ave before/after
150
150
100
100
50
0
-50 0
10
20
30
40
Amplitude
Amplitude
Raw
50
0
-50 0
-100
-100
-150
-150
Time
10
20
Time
30
40
How Does It Work?
Faithful Duplication
Lets 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
eliminate extremes (100/-100)
150
150
100
100
50
0
-50 0
10
20
30
40
Amplitude
Amplitude
Raw
50
0
-50 0
-100
-100
-150
-150
Time
10
20
Time
30
40
How Does It Work?
Resolution Trade-offs
Now lets 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
every 2nd
150
150
100
100
50
0
-50 0
10
20
30
40
Amplitude
Amplitude
Raw
50
0
-50 0
-100
-100
-150
-150
Time
10
20
Time
30
40
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
every 3rd
150
150
100
100
50
0
-50 0
10
20
30
40
Amplitude
Amplitude
Raw
50
0
-50 0
-100
-100
-150
-150
Time
10
20
Time
30
40
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
every 6th
150
150
100
100
50
0
-50 0
10
20
30
40
Amplitude
Amplitude
Raw
50
0
-50 0
-100
-100
-150
-150
Time
10
20
Time
30
40
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
every 12th
150
150
100
100
50
0
-50 0
10
20
30
40
Amplitude
Amplitude
Raw
50
0
-50 0
-100
-100
-150
-150
Time
10
20
Time
30
40
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
Resolution
Sample Rate
High Bit
Count
Good
Duplication
Slow
Low Bit
Count
Poor
Duplication
Fast
High Sample
Rate
Good
Duplication
Slow
Low Sample
Rate
Poor
Duplication
Fast