E N D
1. EE449 Computer Architecture
3. How Do We Detect a Pulse? Two Methods for Measuring the Signal
Analog Solution
Transmitted signal is amplified and compared to a reference (threshold) voltage.
Triggers board interrupts and declares a found signal
Digital Processing Solution
Transmitted signal is amplified and sampled (via on board ADC)
Sampled signal is processed and correlated with a similar signal in memory
Analog Processing: Discrete components = easy ($)
Digital Processing: Algorithms = difficult ($$$)
4. Why Not Always Use Analog?! Analog Signal Processing - Problems
Error In Measurement
Noise
“Delay” in measurement due to threshold voltage level (small in this example)
5. Why Not Always Use Analog?! (2) Delay is small – who cares?
Time of Flight Measurement
Accurate prediction of distance from 1 node to the next depends upon reliable estimate of pulse travel time
To minimize error threshold must be set low enough to accurately predict initial signal, but not low enough to trigger from noise
Analog Detection adds delay to TOF measurement!
Small delays = inaccurate results
6. Analog Processing Techniques How is this done?
Initialize board at transmitter to trigger transducer
At receiver end, signal processing is done with discrete components
Operation Amplifiers (Op-Amps) amplify signal
Resistor networks generate reference voltage
Capacitors filter out AC components of signal to allow for amplifiers “work”
7. Circuit Schematic
8. Greater Accuracy – DSP Techniques What is our alternative?
Use the on board processor!
Digital Signal Processing – Detect a Signal Quickly
Sample the waveform
Convert sample signal to the frequency domain
Perform the correlation of the received signal with one in memory
The resulting waveform gives an estimate of how well the received signal represents the signal in memory
9. Greater Accuracy – DSP Techniques (2) The Frequency Domain
Assume some signal processing background – any signals and systems book for information
A Fourier transform allows us to look at the frequency components of any signal
Implementation: DFT, FFT: DFT simpler – easier to code for initial tests
10. Greater Accuracy – DSP Techniques (3) The DFT makes our lives simpler
Convolution in time domain:
Convolution in frequency domain:
Correlation in frequency domain:
11. Correlation: What Actually Happens? Different, but similar data sets
Correlation: comparing the superposition of the signals, with the reference (memory) sliding to the left or right
Example: If the reference is a close copy of the received signal and lags for some t, the correlation will be a positive value; if it leads the correlation will produce large negative values
Correlation, like convolution is cyclic: wrap around problem
Pad sampled function
12. Correlation: What Actually Happens? (2)
13. Results: Analog Analog Solution
Circuit used closed loop gains for ~90 and ~600
Approximately 1:6 gain ratio
Test case: supply voltage of 3.3V, and driving the transmitter with 3.3Vpp 40KHz square wave
Good response: 8m (worst case) 100mV Vpp output – still usable
14. Results: Algorithm DSP Solution
Coded DFT, IDFT (simplicity) in C
Test Case: echo waveform generated in MATLAB was processed and compared to the same algorithm using MATLABS FFT, IFFT functions
Little error between test cases, due to rounding in C program, MATLAB FFT computation
Algorithm is successful!
15. Results: Algorithm (2)
16. Results: Algorithm (3)
17. Future Work (Dimitrios…) Analog further work
Currently, gain ratio between two stages may be high
Solution: add two more stages, reduce step up ratio
Added power consumption
Next step: create board
Algorithm further work
Correlation routine needs to be compared with a threshold to declare if waveforms are similar
Requires ADC to sample real data
Possible need to zero pad received data?
What's left?
ADC initialization
Algorithm testing on actual platform
18. Lessons Learned Good overall project
Well suited for my background: circuit design, some programming
Utilized wide range of knowledge, analog design, signal processing methods, C programming, MATLAB
Good understanding of Ultrasound detection, processing
Obstacles
Algorithm development
Simulink yields wrong results (!!!)
Transition to using board (ran out of time)
Thanks: Professor Savvides, Professor Kindlmann