11/26/13
-
Upload
gage-macias -
Category
Documents
-
view
24 -
download
0
description
Transcript of 11/26/13
11/26/13 Rochester Institute of Technology 1
P14251Underwater 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 2
P14251Underwater Acoustic Communication
Software Architecture PC_Interface
+receiveMessage(): string+sendMessage(string msg)
Tx_PC
+transmit(string msg)
Rx_PC
- empty : boolean
+getMessage() : string
Rx_Signal
-channel_empty : boolean
+readFrame() : bit[]- dsp(bit[] bits)
Controller
-busy : boolean-waitingOn : string
+main() : int
Tx_Signal
+transmitFrame(bit[] frame)
Compressor
+compressMsg(string message) : bit[]+decompressMsg(bit[] data) : string
Encryptor
+encrypt(bit[]* data)+decrypt(bit[]* data)
DataPacker
+createFrame(bit[]* data) +getFrameType(bit[] frame) : string+isRepeatFrame(bit[] frame) : boolean+extractData(bit[] frame) : bit[]+createControlFrame(string type) : bit[]
ErrorHandler
+hasErrors(bit[] frame) : boolean+correctErrors(bit[]* frame)
11/26/13 Rochester Institute of Technology 3
P14251Underwater Acoustic Communication
Control Unit Pseudo-Code
11/26/13 Rochester Institute of Technology 4
P14251Underwater Acoustic Communication
Control Unit Pseudo-Code
11/26/13 Rochester Institute of Technology 5
P14251Underwater Acoustic Communication
Control Unit Pseudo-Code
11/26/13 Rochester Institute of Technology 6
P14251Underwater 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 7
P14251Underwater 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 8
P14251Underwater 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 9
P14251Underwater Acoustic Communication
Frame Sentinels- Sentinels are a unique pattern of bits that signify the
start and end of the framei.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 01111110Frame 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 10
P14251Underwater 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 11
P14251Underwater 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 12
P14251Underwater Acoustic Communication
Data Rate Analysis- (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)