Underwater Acoustic Communication 1 P14251 Underwater Acoustic Communication CE Overview Software Architecture Control unit flowchart and pseudo-code Error Detection/Correction Framing Information Data Rate Analysis 11/26/13 Rochester Institute of Technology 1
Underwater Acoustic Communication 2 P14251 Underwater Acoustic Communication Software Architecture 11/26/13 Rochester Institute of Technology 2
Underwater Acoustic Communication 3 P14251 Underwater Acoustic Communication Control Unit Pseudo-Code 11/26/13 Rochester Institute of Technology 3
Underwater Acoustic Communication 4 P14251 Underwater Acoustic Communication Control Unit Pseudo-Code 11/26/13 Rochester Institute of Technology 4
Underwater Acoustic Communication 5 P14251 Underwater Acoustic Communication Control Unit Pseudo-Code 11/26/13 Rochester Institute of Technology 5
Underwater Acoustic Communication 6 P14251 Underwater Acoustic Communication Error Detection and Correction Hybrid Scheme: ECC and ARQ EEC Implementation: BCH vs. Reed Solomon BCH is easier to implement, but requires a large amount of redundancy Reed-Solomon is more complex, but overall much better and requires only 20% redundancy (to correct 10% of errors) 11/26/13 Rochester Institute of Technology 6
Underwater Acoustic Communication 7 P14251 Underwater Acoustic Communication Error Detection and Correction Encoding: LFSR based implementation is extremely simple and fast. Will translate well to C 11/26/13 Rochester Institute of Technology 7
Underwater Acoustic Communication 8 P14251 Underwater Acoustic Communication Error Detection and Correction Decoding is more complex, but efficient algorithms exist that will help significantly 11/26/13 Rochester Institute of Technology 8
Underwater Acoustic Communication 9 P14251 Underwater Acoustic Communication Frame Sentinels Sentinels are a unique pattern of bits that signify the start and end of the frame i.e. 01110 –data– 01110 When preparing the frame for transmission, if the pattern appears anywhere in the data, bit stuffing is used to eliminate it (i.e. 01110 -> 011010) Commonly used sentinel which we’ll use is 01111110 Frame Header 1 bit to signify the type of frame: control or message 1 bit that gets flipped each time a new frame is sent 11/26/13 Rochester Institute of Technology 9
Underwater Acoustic Communication 1010 P14251 Underwater Acoustic Communication Control frame formats Since it’s especially important to interpret control frames correctly, 4 bits are used to display the unique patterns 0000 – Request to Send (RTS) 0110 – Clear to Send (CTS) 1001 – Acknowledgement (ACK) 1111 – Done (Signifies that all frames have been sent) 11/26/13 Rochester Institute of Technology 10
Underwater Acoustic Communication 1111 P14251 Underwater Acoustic Communication Frame Sizes - Control Frame: 18 (overhead) + 4 (type) = 22 bits - Message Frame: 18(overhead) + X (message) = 18+X bits Propagation delay (20ms for 30m distance) limits the number of frames that can be sent. For 15kb/s, the maximum number of message frames = 9 frames, each containing 1k encoded information bits Increase to ~1023 bits for RS(1023, 853) 11/26/13 Rochester Institute of Technology 11
Underwater Acoustic Communication 1212 P14251 Underwater Acoustic Communication Data Rate Analysis f c =37kHz, t c =81μs (3 periods per 2 bits) Frames that get transmitted for a message: Send RTS – 22 bits Receive CTS – 22 bits Send all message frames – 1042 bits/frame Receive all acknowledgements – 22 bits/frame Send Done – 22 bits Receive Acknowledgement – 22 bits Total transferred bits = 9664 bits Total transfer time = 0.831s (about 170ms left for code) 11/26/13 Rochester Institute of Technology 12