Digital Signal Processing (DSP) Fundamentals - ARRL

Τεχνίτη Νοημοσύνη και Ρομποτική

24 Νοε 2013 (πριν από 5 χρόνια και 1 μήνα)

107 εμφανίσεις

Digital Signal Processing

(DSP)

Fundamentals

Overview

What is DSP?

Electronically

Computationally

How Does It Work?

Faithful Duplication

-
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

What is DSP?

0
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
0
-0.22
-0.44
-0.64
-0.82
-0.98
-1.11
-1.2
-1.26
-1.28
-1.26
-1.2
-1.11
-0.98
-0.82
-0.64
-0.44
-0.22
0
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
1
3
5
7
9
11
13
15
17
19
21
23
25
27
29
31
33
35
37

Electronically

The device that does the conversion is
called an Analog to Digital Converter

There is a device that converts digital to
analog that is called a Digital to Analog
Converter (DAC)

Electronically

The simplest form of
appropriate number of
resistors in series to
create the desired
voltage that is
compared to the input
(unknown) voltage

V-7
V-6
V-low
V-1
V-2
V-3
V-4
V-5
V-high
SW-8
SW-7
SW-6
SW-5
SW-4
SW-3
SW-2
SW-1
Output

Electronically

The output of the
compared to the
analog voltage in a
comparator

When there is a match,
the digital equivalent
(switch configuration)
is captured

Analog Voltage
Resistance
Comparator
Output
Higher
Equal
Lower

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

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

Voltage to be converted

3.42
-
volts

Equates to 175 binary

Analog

Digital

5
-
volts

256

0
-
volts

0

2.5
-
volts

128

3.42
-
volts

Unknown
(175)

Binary Search

Binary search algorithm:

First Guess:

Analog

Digital

5
-
volts

256

0
-
volts

0

128

3.42
-
volts

unknown

NewGuess
Low
Low
High

2
128
0
2
0
256

Guess is Low

Binary Search

New Guess (2):

Analog

Digital

5
-
volts

256

0
-
volts

0

192

3.42
-
volts

unknown

192
128
2
128
256

Guess is High

Binary Search

New Guess (3):

Analog

Digital

5
-
volts

256

0
-
volts

0

160

3.42
-
volts

unknown

160
128
2
128
192

Guess is Low

Binary Search

New Guess (4):

Analog

Digital

5
-
volts

256

0
-
volts

0

176

3.42
-
volts

unknown

176
160
2
160
192

Guess is High

Binary Search

New Guess (5):

Analog

Digital

5
-
volts

256

0
-
volts

0

168

3.42
-
volts

unknown

168
160
2
160
176

Guess is Low

Binary Search

New Guess (6):

Analog

Digital

5
-
volts

256

0
-
volts

0

172

3.42
-
volts

unknown

172
168
2
168
176

Guess is Low

(but getting close)

Binary Search

New Guess (7):

Analog

Digital

5
-
volts

256

0
-
volts

0

174

3.42
-
volts

unknown

174
172
2
172
176

Guess is Low

(but getting really,
really, close)

Binary Search

New Guess (8):

Analog

Digital

5
-
volts

256

0
-
volts

0

3.42
-
volts

175!

175
174
2
174
176

Guess is Right On

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

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
-150
-100
-50
0
50
100
150
0
10
20
30
40
Time
Amplitude
Ave before/after
-150
-100
-50
0
50
100
150
0
10
20
30
40
Time
Amplitude
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
-150
-100
-50
0
50
100
150
0
10
20
30
40
Time
Amplitude
eliminate extremes (100/-100)
-150
-100
-50
0
50
100
150
0
10
20
30
40
Time
Amplitude
How Does It Work?

-
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
-150
-100
-50
0
50
100
150
0
10
20
30
40
Time
Amplitude
every 2nd
-150
-100
-50
0
50
100
150
0
10
20
30
40
Time
Amplitude
How Does It Work?

-
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
-150
-100
-50
0
50
100
150
0
10
20
30
40
Time
Amplitude
every 3rd
-150
-100
-50
0
50
100
150
0
10
20
30
40
Time
Amplitude
How Does It Work?

-
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
-150
-100
-50
0
50
100
150
0
10
20
30
40
Time
Amplitude
every 6th
-150
-100
-50
0
50
100
150
0
10
20
30
40
Time
Amplitude
How Does It Work?

-
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
-150
-100
-50
0
50
100
150
0
10
20
30
40
Time
Amplitude
every 12th
-150
-100
-50
0
50
100
150
0
10
20
30
40
Time
Amplitude
How Does It Work?

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

-
offs

Bit
Resolution

High Bit
Count

Good
Duplication

Slow

Low Bit
Count

Poor
Duplication

Fast

Sample Rate

High Sample
Rate

Good
Duplication

Slow

Low Sample
Rate

Poor
Duplication

Fast