View
3
Download
0
Category
Preview:
Citation preview
TEAM 1904 – Final PresentationEnhancing Software Defined Radios for Underwater Acoustic Modem
Sponsor The MITRE CorporationFaculty Advisor Dr. Peter Willett
Team Members Hunter Malboeuf (EE), Davis Meissner (EE), Greg Palmer (CMPE)
Enhancing Software Defined Radios for Underwater Acoustic Modem
Sponsor The MITRE CorporationFaculty Advisor Dr. Peter Willett
Team Members Hunter Malboeuf (EE), Davis Meissner (EE), Greg Palmer (CMPE)
TEAM 1904 – Final PresentationEnhancing Software Defined Radios for Underwater Acoustic Modem
Sponsor The MITRE CorporationFaculty Advisor Dr. Peter Willett
Team Members Hunter Malboeuf (EE), Davis Meissner (EE), Greg Palmer (CMPE)
TEAM 1904 – Final PresentationEnhancing Software Defined Radios for Underwater Acoustic Modem
Sponsor The MITRE CorporationFaculty Advisor Dr. Peter Willett
Team Members Hunter Malboeuf (EE), Davis Meissner (EE), Greg Palmer (CMPE)
TEAM 1904 – Final Presentation
Outline
00
3
Outline
1. Project Goal
2. Background of Underwater Communications
3. Project Requirements
4. Project Components
5. Communication Design Elements
6. Project Overview and Conclusion
a. Simulation
b. Hardware Integration
c. Analysis of System Performance
7. Remaining Schedule
Project Goal
01
5
Project Goal
● Develop an underwater acoustic communication system using two Software Defined Radios
● Initial goal is one-way SDR communication system
● Stretch goal #1 is to add decision feedback equalizer
● Stretch goal #2 is a two-way SDR real-time communication system
● Three phases:
○ Simulation in MATLAB and C++
○ Hardware Integration
○ Analysis of System Performance
Background
02
7
Background
• Over 70% of the earth is covered
by water
• The ocean is a 3 dimensional
space - 11,000 meters at its
deepest
• Only 2-3% is explored
8
Unmanned Vehicles
○ Autonomous underwater vehicles
○ Remotely operated vehicles
○ Hybrid underwater vehicles
Manned Vehicles
○ Small research submarines
○ Large military platforms
Applications
8
9
Why Acoustic Communications?
● Radio Frequencies (~1m range)
○ Absorbed by seawater
● Light (~100m range)
○ Strong dependence on water clarity
● Ultra Low Frequency RF (~100 km)
○ Massive antennas (kilometers long)
○ Not practical outside of government use
● Cables
○ Expensive to lay & impractical for mobile units
● Acoustic Communications (~1 km)
○ Affordable, low power, and well studied
10
Underwater Communication Challenges
● Multipath effects – transmitted messages bounce off the sea surface and bottom, arriving at the receiver at different points in time
● Power losses over the path depend on water temperature and depth of operation for the transmitter and receiver
● Doppler spreading due to transmitter and receiver motion
*Controlled environment of this project allows for AWGN channel to approximate some of these effects
Project Requirements
03
12
Project Requirements
● Transmit and Receive small text messages in underwater environment○ Using ASCII encoding for text, but potential to extend to other types of
data (.jpg, etc…)● Focus on Waveform Development
○ Modulate using differential phase shift keying (DPSK)○ Error correction to compensate for errors caused by channel○ Interleaving to redistribute bits across waveform○ Synchronization between transmitter and receiver to determine start of
message signal.
13
Differences from Previous Years
● 2017
○ Used BPSK modulation in GNURadio
○ Different synchronization system
○ No error detection or correction
○ No equalization
● 2018
○ Developed channel emulator to model effects of the underwater system
on the signal.
● 2019
○ DPSK modulation (C++) with error detection, correction, synchronization
Project Components
04
15
Components
• Three Ettus X310 Software Defined Radios
• Preamplifier (for received signal)
• 30 dB Attenuator
Ettus X310 Software Defined Radio [1]
15
16
Components
• Host machines to interface between SDRs:
- Three embedded processors (Udoo X86)
*Components are MITRE provided so budget is not a concern for the project
Udoo X86 Embedded Processors [1]
17
Current Hardware Setup
Signal Transmission Over Coaxial Wire
UDOO Processor UDOO Processor
Receiver Host DisplayTransmitter Host Display
HDMI HDMI
Ethernet Ethernet
[7]
Ettus X310 Transmitter
Ettus X310 Receiver
UDOO Processor
18
Ettus X310 Transmitter Ettus X310 ReceiverCoaxial Wire
UDOO Processor
Receiver Host DisplayTransmitter Host Display
HDMI HDMI
Ethernet Ethernet
Channel EmulatorCoaxial Wire
UDOO Processor
Communication Design Elements
05
20
Block Diagram
Signal Source Error Control Coding
Permutation/Interleave Modulation Frequency
Shaping Carrier ShiftCompression
Channel Effects/Transmission
Carrier RemovalBit Decision
Reverse Permutation/Interleave
DecodingDe-compression
ReceivedSignal
Matched Filtering
- only if time permits
- complete
- to be completed
Equalization / Matched Filtering
Transmit Chain
Receive Chain
21
Compression
● Encodes information into fewer bits than the original message● Source encoding will be done before our message signal is sent● Source decoding is applied after the signal is received● Lempel Ziv possibility
○ may not be of much benefit for our small data and ASCII messages
Error Control Coding
Permutation/Interleave Modulation Frequency
Shaping Carrier ShiftCompression
010100111001010011010
010100111001010011010
21
TRANSMIT
22
Begin Message Send
Error Control Coding
Permutation/Interleave Modulation Frequency
Shaping Carrier ShiftCompression
22
TRANSMIT
23
Error Coding Control
● Detect & correct errors that occurred during transmission
● Hamming Code (7, 4)
● Single bit cyclic redundancy parity check validates overall message
Error Control Coding
Permutation/Interleave Modulation Frequency
Shaping Carrier ShiftCompression
23
TRANSMIT
24
Interleaving
To mitigate against sporadic bursts of noise, interleaving is used
Original data: 00000000111111110000000011111111
Interleaved: 01010101010101010101010101010101
This way corrupted bits are more often able to be recovered from the Hamming encoding scheme. Matrix interleaving in a 22 by 22 array is used.
Error Control Coding
Permutation/Interleave Modulation Frequency
Shaping Carrier ShiftCompression
24
TRANSMIT
25
Coding/Interleaving
Error Control Coding
Permutation/Interleave Modulation Frequency
Shaping Carrier ShiftCompression
25
TRANSMIT
26
Modulation
Error Control Coding
Permutation/Interleave Modulation Frequency
Shaping Carrier ShiftCompression
• Varying our waveform with the information in our message by modulating our carrier signal
• Replaced original BPSK modulation with a noncoherent Differential Phase Shift Keying (DPSK) scheme
• Constant phase represents a “0”, while a shift of 180° represents a “1”
[2] Example of DPSK from tutorialspoint.com
26
TRANSMIT
modulation of our waveform viewed in the oscilloscope
27
Frequency Shaping
Error Control Coding
Permutation/Interleave Modulation Frequency
Shaping Carrier ShiftCompression
• Root Raised Cosine Filter• Current use in our code was provided by MITRE, not applicable to C++• Used to reduce intersymbol interference
[3] Frequency response of raised cosine filterswikipedia.com
27
28
Synchronization
Error Control Coding
Permutation/Interleave Modulation Frequency
Shaping Carrier ShiftCompression
● Transmitter and receiver need to establish a synchronized clock to be able to properly interpret any incoming messages
● Transmitter will transmit a preamble chirp signal that is gradually increasing in frequency that the receiver can lock onto and be ready to receive message in sync with the transmitter
● Operating through a correlation function
28
TRANSMIT
29
Synchronization
Error Control Coding
Permutation/Interleave Modulation Frequency
Shaping Carrier ShiftCompression
● Chirp signal signal currently sweeps from 12 kHz to 16 kHz over 2.5 milliseconds
Frequency Shaping
29
TRANSMIT
30
Carrier Shift
Error Control Coding
Permutation/Interleave Modulation Frequency
Shaping Carrier ShiftCompression
• Stretching or compression of waveforms in transmission• Doppler effect from transmitter and receiver moving
[4] Doppler effect kisspng.com
30
TRANSMIT
31
Transmission
31
Channel Effects/Transmission
31
Transmitter Receiver
Channel Emulator
32
Transmission
32
Channel Effects/Transmission
32
• 14 kHz carrier frequency• Sampling rate: 480 kHz• Symbol rate: 4 kHz• 120 samples per symbol
Transmit:○ chirp○ gap○ payload data
synchronizationc
33
Carrier Removal
• Stretching or compression of waveforms in transmission• Doppler effect from transmitter and receiver moving
[4] Doppler effect kisspng.com
33
Carrier RemovalBit Decision
Reverse Permutation/Interleave
DecodingDe-compression
ReceivedSignal
Matched FilteringEqualization/Matched Filter
34
Synchronization
34
● Used a correlation function to look for our chirp signal in our received data
● Used sine and cosine version of chirp
● A spike occurs at a location indicating a chirp signal was found
RECEIVE
Carrier RemovalBit Decision
Reverse Permutation/Interleave
DecodingDe-compression
ReceivedSignal
Matched FilteringEqualization/Matched Filter
Graph of correlation values
35
Decision Feedback Equalizer (Stretch Goal)
hn
= hn-1
- μ(d(n)-q(n))pn
● Receiver gets signal from direct path and multiple reflection paths● Objective is to account for the addition and cancellation in our waveform● Send known data bits, account for difference in receiver and adjust for payload
35
RECEIVE
Carrier RemovalBit Decision
Reverse Permutation/Interleave
DecodingDe-compression
ReceivedSignal
Matched FilteringEqualization/Matched Filter
36
Bit Decision
• Input received message signal
• Duplicate signal• Multiply by sine and
copy by cosine• Take an amount of
samples for next symbol• Sum to make bit
decision
36
RECEIVE
Carrier RemovalBit Decision
Reverse Permutation/Interleave
DecodingDe-compression
ReceivedSignal
Matched FilteringEqualization/Matched Filter
37
Deinterleave
37
RECEIVE
Carrier RemovalBit Decision
Reverse Permutation/Interleave
DecodingDe-compression
ReceivedSignal
Matched FilteringEqualization/Matched Filter
Received data: 01010101010101010101010101010101
Deinterleaved data: 00000000111111110000000011111111
38
Decoding
38
RECEIVE
Carrier RemovalBit Decision
Reverse Permutation/Interleave
DecodingDe-compression
ReceivedSignal
Matched FilteringEqualization/Matched Filter
● Hamming Code (7, 4)
● Detect & correct errors that occurred during transmission and replace the incorrect bits
● Remove parity bits
3939
RECEIVE
Carrier RemovalBit Decision
Reverse Permutation/Interleave
DecodingDe-compression
ReceivedSignal
Matched FilteringEqualization/Matched Filter
Decoding / Received Message
Project Overview and Conclusion
06
41
Simulation
● MATLAB model has been modified to:○ Read data from a text file○ Encode data to ASCII characters to bits○ Apply Hamming (7,4) Code and CRC single bit error correction○ Use matrix interleaving for bit redistribution before transmission○ Use chirp signal and correlation to find start of message ○ Transmit over AWGN channel ○ Recover and decode original data
41
42
Simulation
● C++ model has been modified to:○ Read data from a text file○ Encode data to ASCII characters to bits○ Apply Hamming (7,4) Code and CRC single bit error correction○ Use matrix interleaving for bit redistribution before transmission○ Use chirp signal and correlation to find start of message ○ Transmit over AWGN channel ○ Recover and decode original data
42
43
Simulation
● Changes to MATLAB model since Fall final presentation:○ Added single bit CRC to validate overall message○ Added chirp signal for synchronization○ Adding DFE○ MITRE provided us a new channel emulator in MATLAB
43
44
MATLAB Output
- No encoding used * Hamming(7,4) and Interleaving used
BPSK
44
45
Hardware Integration - C++ Status
● Completed porting over MATLAB functions○ Interleaving / Deinterleaving○ Error Detection / Correction with Hamming
Encoding and CRC○ DPSK Modulation / Demodulation ○ Synchronization
● Stretch goals○ DFE implementation○ Add hardware channel emulator
45
46
Analysis of Received Waveform
● Relevant quantities that will be extracted from data include:○ Bit error rate (BER)○ Signal to noise ratio (SNR)○ Actual data transmission and reception rates
● Third SDR and processor will be used to apply channel effects○ Test theoretical operation of C++ code before water testing
● Lab data can compared to MATLAB and channel emulator results
46
47
Experimental Difficulties
● Learning C++○ bugs, crashes, syntax
● Spent a day troubleshooting a bad cable● Relearning how to use oscilloscope functions● Using convolution instead of correlation● USRP doubling carrier modulation● Exporting data from Linux on Udoo board to Matlab on PC
47
48
Stretch Goals
● DFE implementation● Test MATLAB using channel emulator● Test hardware using channel emulator
48
49
Sponsor Contact
● Visited MITRE on November 19th to tour facility and obtain hardware○ Learned to operate embedded processors and SDRs
● Received hardware integration C++ code in late January● Received static MATLAB channel emulator in mid March● Received C++ channel emulator for third SDR recently.● We’ve been holding regular weekly meetings with MITRE and
Professor Willett to discuss status updates
49
50
Demo Day Plan & Final Deliverables
● Poster displaying:○ General overview of process○ MATLAB Performance figures○ C++ Performance figures SNR, BER
● Demonstration:○ Transmit a message through the hardware channel emulator
● Deliverable: One-way DPSK communication system○ MATLAB simulation Code○ C++ hardware Code○ Final Report
50
Schedule
07
5252
QUESTIONS?
Works Cited[1] MITRE. 2019 Senior Design Project Outline
[2] DPSK Image from Tutorials Point https://www.tutorialspoint.com/digital_communication/digital_communication_differential_phase_shift_keying.htm
[3] Raised Cosine Filter Image https://en.wikipedia.org/wiki/Raised-cosine_filter
[4] Doppler Effect Image https://www.kisspng.com/png-relativistic-doppler-effect-doppler-radar-wave-spe-919067/preview.html
[5] Globe image https://scienceline.org/2017/04/protecting-two-thirds-globe/
[6] DFE Image https://www2.eecs.berkeley.edu/Pubs/TechRpts/2017/EECS-2017-112.pdf
[7] Ubuntu Machine https://www.ubuntu.com
Recommended