acoustic_modem_pres
TRANSCRIPT
-
8/7/2019 Acoustic_Modem_Pres
1/18
re essre ess
UnderwaterUnderwater
CommunicationsCommunications
NetworkNetworkECE Senior Design Team #88ECE Senior Design Team #88Spring-Fall 2007Spring-Fall 2007
Roy BehymerRoy BehymerKrenar JusufiKrenar Jusufi
Mary HoyerMary Hoyer
Advisor - Shengli ZhouAdvisor - Shengli Zhou
-
8/7/2019 Acoustic_Modem_Pres
2/18
OutlineOutline
BackgroundBackground
Project DescriptionProject Description
Technical SpecificationsTechnical Specifications TimelineTimeline
BudgetBudget
-
8/7/2019 Acoustic_Modem_Pres
3/18
BackgroundBackground
Goal is to expand two-nodeGoal is to expand two-node
underwater, acoustic network tounderwater, acoustic network to
three-node relay network withthree-node relay network withmotion sensormotion sensor
-
8/7/2019 Acoustic_Modem_Pres
4/18
Packet Structure 64Packet Structure 64
bytesbytes
1 1 1 1 1 1 57 1
msgNe
xt
msgSrc
msgDe
st
msgSe
qNo
msgNo
Pack
msgUs
eful
msgDa
ta
msgErr
-
8/7/2019 Acoustic_Modem_Pres
5/18
Packet Structure 64Packet Structure 64
bytesbytes Next Hop AddressNext Hop Address
Source AddressSource Address
Destination AddressDestination Address Sequence NumberSequence Number
Number of PacketsNumber of Packets
Number of Bytes of Useful DataNumber of Bytes of Useful Data Data (57)Data (57)
Error CheckError Check
-
8/7/2019 Acoustic_Modem_Pres
6/18
TransmittingTransmitting
Destination and Source nodes comparedDestination and Source nodes compared If same, no message transmittedIf same, no message transmitted Otherwise determine next nodeOtherwise determine next node
Determine message length and number ofDetermine message length and number ofpackets needed.packets needed. Parse data if neededParse data if needed Determine number of useful bytes in lastDetermine number of useful bytes in last
packetpacket The new data string encompassing headerThe new data string encompassing header
information is processed.information is processed.
-
8/7/2019 Acoustic_Modem_Pres
7/18
ReceivingReceiving
Compare Destination and ComputerCompare Destination and Computer
info.info. Relay message if not at destinationRelay message if not at destination
Process remainder of message if atProcess remainder of message if at
destinationdestination Broken down using packet structureBroken down using packet structure
Display messageDisplay message
-
8/7/2019 Acoustic_Modem_Pres
8/18
Matlab Lessons LearnedMatlab Lessons Learned
Characters / Strings best handled via arraysCharacters / Strings best handled via arrays not as friendly as VBnot as friendly as VB
built-in functions not as versatilebuilt-in functions not as versatile
Start with structure and maintain it whileStart with structure and maintain it whiledeveloping codedeveloping code
Document codeDocument code
Document function and file dependenciesDocument function and file dependencies
-
8/7/2019 Acoustic_Modem_Pres
9/18
-
8/7/2019 Acoustic_Modem_Pres
10/18
-
8/7/2019 Acoustic_Modem_Pres
11/18
Breakdown ofBreakdown of
SendDataCallbackSendDataCallback
writefileTX converts symbols to ascii and writeswritefileTX converts symbols to ascii and writesinto fileinto file num2binmap finds binary equivalentnum2binmap finds binary equivalent
contReceiverv2 continuously monitors incomingcontReceiverv2 continuously monitors incomingdata, if trigger is met goes to autoautocorrdata, if trigger is met goes to autoautocorr
zTxRNSv2 processes and sends datazTxRNSv2 processes and sends data readfile converts ascii character to text to binaryreadfile converts ascii character to text to binary num2binmap finds binary equivalentnum2binmap finds binary equivalent CCQPSKencode performs coding on binary vector thenCCQPSKencode performs coding on binary vector then
QPSK mappingQPSK mapping insertnull insert null subcarriers and pilot tonesinsertnull insert null subcarriers and pilot tones synchcpofdm cyclic prefix-ofdmsynchcpofdm cyclic prefix-ofdm writefile converts symbols to ascii and writes to filewritefile converts symbols to ascii and writes to file
Writetodisp lets us know message was sentWritetodisp lets us know message was sent
-
8/7/2019 Acoustic_Modem_Pres
12/18
contReceiverv2contReceiverv2
analyzedata analyzes dataanalyzedata analyzes data autoautocorr auto correlation to find useful dataautoautocorr auto correlation to find useful data zRxV2 main receiver file, receives and processes datazRxV2 main receiver file, receives and processes data
CFOchjointestimation2 uses channel estimation to determineCFOchjointestimation2 uses channel estimation to determinecarrier frequency offsetcarrier frequency offset
removeqrtrdataV2 removes pilot tones and null subcarriersremoveqrtrdataV2 removes pilot tones and null subcarriers BERcount finds raw bit error rateBERcount finds raw bit error rate Ch_estimation provides time and frequency domain channelCh_estimation provides time and frequency domain channel
representationrepresentation dem_wi_decoder QPSK signals demodulationdem_wi_decoder QPSK signals demodulation binaryBER finds BER after decodingbinaryBER finds BER after decoding writefilewritefile converts symbols to ascii and writes into file converts symbols to ascii and writes into file
-
8/7/2019 Acoustic_Modem_Pres
13/18
GoalsGoals
a)a) Draw flow chart based on dependencyDraw flow chart based on dependencyreports of codesreports of codes
b)b) Give description of each functions and subGive description of each functions and sub
functionsfunctionsc)c) Delete files unusedDelete files unused
d)d) Combine small files into large file forCombine small files into large file fororganizationorganization
e)e) Clear variables before each run so there isClear variables before each run so there isless chance of failure in testingless chance of failure in testing
f)f) Put all parameters as global variablePut all parameters as global variable
-
8/7/2019 Acoustic_Modem_Pres
14/18
Motion SensorMotion Sensor
Need real-time, continuous data acquisitionNeed real-time, continuous data acquisition
MATLAB does not support our motion sensorMATLAB does not support our motion sensor
Solution: use LabView VI for interfaceSolution: use LabView VI for interface
Must convert LabView VI to MATLAB functionMust convert LabView VI to MATLAB function Math Interface ToolkitMath Interface Toolkit
-
8/7/2019 Acoustic_Modem_Pres
15/18
TimelineTimelineMonth Short Term
Goals
Long Range Goals
February Review / Research Three-node relay network in air with motion sensor
March Ordering parts (air)
April Hardware ModsSoftware Mods
May Review / Research Summer
June
July
August Underwater Testing Three-node relay network in water
September Debugging
Hardware ModsSoftware Mods
October Hardware Mod Three or four node full network in air and water withtwo motion sensors
November Software Mods
December Final Write-up and Demonstration
-
8/7/2019 Acoustic_Modem_Pres
16/18
BudgetBudget
Product Price
M-Audio Mobile Pre USB Audio Interface withPreamp (2)
$238.00
XLR Cable (2) $15.65
Audix TR-40 Microphones (2) $379.94
Microphone Stands (2) $23.94
Motion Sensors (2) $208.00
LabView Math Interface Toolkit (1) ~$100.00
Total ~$965.53
-
8/7/2019 Acoustic_Modem_Pres
17/18
ConclusionConclusion
BackgroundBackground
Project DescriptionProject Description
Technical SpecificationsTechnical Specifications TimelineTimeline
BudgetBudget
-
8/7/2019 Acoustic_Modem_Pres
18/18