acoustic_modem_pres

Upload: raghavendra-raghu

Post on 08-Apr-2018

220 views

Category:

Documents


0 download

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