TEAM 1904 Final Presentation TEAM 1904 Final Presentation TEAM - - PowerPoint PPT Presentation

team 1904 final presentation team 1904 final presentation
SMART_READER_LITE
LIVE PREVIEW

TEAM 1904 Final Presentation TEAM 1904 Final Presentation TEAM - - PowerPoint PPT Presentation

TEAM 1904 Final Presentation TEAM 1904 Final Presentation TEAM 1904 Final Presentation TEAM 1904 Final Presentation Enhancing Software Defined Radios for Underwater Acoustic Modem Enhancing Software Defined Radios for Underwater


slide-1
SLIDE 1

TEAM 1904 – Final Presentation

Enhancing Software Defined Radios for Underwater Acoustic Modem

Sponsor The MITRE Corporation Faculty 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 Corporation Faculty Advisor Dr. Peter Willett Team Members Hunter Malboeuf (EE), Davis Meissner (EE), Greg Palmer (CMPE)

TEAM 1904 – Final Presentation

Enhancing Software Defined Radios for Underwater Acoustic Modem

Sponsor The MITRE Corporation Faculty Advisor Dr. Peter Willett Team Members Hunter Malboeuf (EE), Davis Meissner (EE), Greg Palmer (CMPE)

TEAM 1904 – Final Presentation

Enhancing Software Defined Radios for Underwater Acoustic Modem

Sponsor The MITRE Corporation Faculty Advisor Dr. Peter Willett Team Members Hunter Malboeuf (EE), Davis Meissner (EE), Greg Palmer (CMPE)

TEAM 1904 – Final Presentation

slide-2
SLIDE 2

Outline

00

slide-3
SLIDE 3

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
slide-4
SLIDE 4

Project Goal

01

slide-5
SLIDE 5

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

slide-6
SLIDE 6

Background

02

slide-7
SLIDE 7

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
slide-8
SLIDE 8

8

Unmanned Vehicles

○ Autonomous underwater vehicles ○ Remotely operated vehicles ○ Hybrid underwater vehicles

Manned Vehicles

○ Small research submarines ○ Large military platforms

Applications

8

slide-9
SLIDE 9

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

slide-10
SLIDE 10

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
  • peration 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

slide-11
SLIDE 11

Project Requirements

03

slide-12
SLIDE 12

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.

slide-13
SLIDE 13

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

  • n the signal.
  • 2019

○ DPSK modulation (C++) with error detection, correction, synchronization

slide-14
SLIDE 14

Project Components

04

slide-15
SLIDE 15

15

Components

  • Three Ettus X310 Software

Defined Radios

  • Preamplifier (for received signal)
  • 30 dB Attenuator

Ettus X310 Software Defined Radio [1]

15

slide-16
SLIDE 16

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]

slide-17
SLIDE 17

17

Current Hardware Setup

Signal Transmission Over Coaxial Wire UDOO Processor UDOO Processor Receiver Host Display Transmitter Host Display

HDMI HDMI Ethernet Ethernet

[7]

Ettus X310 Transmitter Ettus X310 Receiver

slide-18
SLIDE 18

UDOO Processor

18

Ettus X310 Transmitter Ettus X310 Receiver

Coaxial Wire UDOO Processor Receiver Host Display Transmitter Host Display

HDMI HDMI Ethernet Ethernet

Channel Emulator

Coaxial Wire UDOO Processor

slide-19
SLIDE 19

Communication Design Elements

05

slide-20
SLIDE 20

20

Block Diagram

Signal Source Error Control Coding Permutation/ Interleave Modulation Frequency Shaping Carrier Shift Compression Channel Effects/ Transmission Carrier Removal Bit Decision Reverse Permutation/ Interleave Decoding De- compression Received Signal Matched Filtering

  • only if time permits
  • complete
  • to be completed

Equalization / Matched Filtering

Transmit Chain Receive Chain

slide-21
SLIDE 21

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 Shift Compression

010100111001010011010 010100111001010011010

21

TRANSMIT

slide-22
SLIDE 22

22

Begin Message Send

Error Control Coding Permutation/ Interleave Modulation Frequency Shaping Carrier Shift Compression

22

TRANSMIT

slide-23
SLIDE 23

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 Shift Compression

23

TRANSMIT

slide-24
SLIDE 24

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 Shift Compression

24

TRANSMIT

slide-25
SLIDE 25

25

Coding/Interleaving

Error Control Coding Permutation/ Interleave Modulation Frequency Shaping Carrier Shift Compression

25

TRANSMIT

slide-26
SLIDE 26

26

Modulation

Error Control Coding Permutation/ Interleave Modulation Frequency Shaping Carrier Shift Compression

  • 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

slide-27
SLIDE 27

27

Frequency Shaping

Error Control Coding Permutation/ Interleave Modulation Frequency Shaping Carrier Shift Compression

  • 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 filters wikipedia.com

27

slide-28
SLIDE 28

28

Synchronization

Error Control Coding Permutation/ Interleave Modulation Frequency Shaping Carrier Shift Compression

  • 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

slide-29
SLIDE 29

29

Synchronization

Error Control Coding Permutation/ Interleave Modulation Frequency Shaping Carrier Shift Compression

  • Chirp signal signal currently sweeps from 12 kHz to 16 kHz over 2.5

milliseconds

Frequency Shaping

29

TRANSMIT

slide-30
SLIDE 30

30

Carrier Shift

Error Control Coding Permutation/ Interleave Modulation Frequency Shaping Carrier Shift Compression

  • Stretching or compression of waveforms in transmission
  • Doppler effect from transmitter and receiver moving

[4] Doppler effect kisspng.com

30

TRANSMIT

slide-31
SLIDE 31

31

Transmission

31

Channel Effects/ Transmission

31

Transmitter Receiver Channel Emulator

slide-32
SLIDE 32

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

slide-33
SLIDE 33

33

Carrier Removal

  • Stretching or compression of waveforms in transmission
  • Doppler effect from transmitter and receiver moving

[4] Doppler effect kisspng.com

33

Carrier Removal Bit Decision Reverse Permutation/ Interleave Decoding De- compression Received Signal Matched Filtering Equalization/ Matched Filter

slide-34
SLIDE 34

34

Synchronization

34

  • Used a correlation function to look for
  • ur 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 Removal Bit Decision Reverse Permutation/ Interleave Decoding De- compression Received Signal Matched Filtering Equalization/ Matched Filter Graph of correlation values

slide-35
SLIDE 35

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 Removal Bit Decision Reverse Permutation/ Interleave Decoding De- compression Received Signal Matched Filtering Equalization/ Matched Filter

slide-36
SLIDE 36

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 Removal Bit Decision Reverse Permutation/ Interleave Decoding De- compression Received Signal Matched Filtering Equalization/ Matched Filter

slide-37
SLIDE 37

37

Deinterleave

37

RECEIVE Carrier Removal Bit Decision Reverse Permutation/ Interleave Decoding De- compression Received Signal Matched Filtering Equalization/ Matched Filter

Received data: 01010101010101010101010101010101 Deinterleaved data: 00000000111111110000000011111111

slide-38
SLIDE 38

38

Decoding

38

RECEIVE Carrier Removal Bit Decision Reverse Permutation/ Interleave Decoding De- compression Received Signal Matched Filtering Equalization/ Matched Filter

  • Hamming Code (7, 4)
  • Detect & correct errors that occurred during transmission and

replace the incorrect bits

  • Remove parity bits
slide-39
SLIDE 39

39 39

RECEIVE Carrier Removal Bit Decision Reverse Permutation/ Interleave Decoding De- compression Received Signal Matched Filtering Equalization/ Matched Filter

Decoding / Received Message

slide-40
SLIDE 40

Project Overview and Conclusion

06

slide-41
SLIDE 41

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

slide-42
SLIDE 42

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

slide-43
SLIDE 43

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

slide-44
SLIDE 44

44

MATLAB Output

  • No encoding used

* Hamming(7,4) and Interleaving used BPSK

44

slide-45
SLIDE 45

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

slide-46
SLIDE 46

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

slide-47
SLIDE 47

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

slide-48
SLIDE 48

48

Stretch Goals

  • DFE implementation
  • Test MATLAB using channel emulator
  • Test hardware using channel emulator

48

slide-49
SLIDE 49

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

slide-50
SLIDE 50

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

slide-51
SLIDE 51

Schedule

07

slide-52
SLIDE 52

52 52

slide-53
SLIDE 53

QUESTIONS?

slide-54
SLIDE 54

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