230 likes | 270 Views
Learn about Asynchronous and Synchronous Transmission, Error Detection, Correction, and Design Considerations for Block Codes. Get insights into effective communication methods and error handling in digital data transfer.
E N D
Chapter 6 ─ Digital Data Communication Techniques CSE 3213 Fall 2011
Asynchronous and Synchronous Transmission • Receiver samples the medium at the center of each bit time. • Transmitter’s and receiver’s clocks may not be precisely aligned. • Example (discussed in class)
Asynchronous and Synchronous Transmission (2) • timing problems require a mechanism to synchronize the transmitter and receiver • receiver samples stream at bit intervals • if clocks are not precisely aligned, drifting will sample at wrong time after sufficient bits are sent • two solutions to synchronizing clocks:
Asynchronous Transmission • data are transmitted one character at a time • each character is 5 to 8 bits in length • receiver has the opportunity to resynchronize at the beginning of each new character • simple and cheap • requires overhead of 2 or 3 bits per character (~20%) • the larger the block of bits, the greater the cumulative timing error • good for data with large gaps (keyboard)
Asynchronous Trx Behavior • Idle state = binary 1 • In idle state, receiver looks for transition from 1 to 0 • Start bit = binary 0 • Then samples next 5 – 8 intervals (character length) • Stop element = binary 1 (min length = 1, 1.5 or 2 bits) No maximum length specified for stop element (why?) • Then looks for next 1 to 0 for next char
Synchronous Trx - Bit Level • Block of data transmitted without start or stop bits • Clocks must be synchronized • Can use separate clock line • Good over short distances • Subject to impairments • Embed clock signal in data • Manchester encoding (digital signals) • Carrier frequency, phase (analog signals)
Synchronous Trx - Block Level • Need to indicate start and end of block • Use preamble and postamble • Example: HDLC uses 01111110 (chapter 7) • More efficient (lower overhead) than asynchronous transmission
Types of Error • an error occurs when a bit is altered between transmission and reception • binary 1 is transmitted and binary 0 is received or binary 0 is transmitted and binary 1 is received
Error Detection • regardless of design there will be errors • can detect errors by using an error-detecting code added by the transmitter • code is also referred to as check bits • recalculated and checked by receiver • there is still chance of undetected error
Parity Check • the simplest error detecting scheme is to append a parity bit to the end of a block of data • if any even number of bits are inverted due to error, an undetected error occurs
Cyclic Redundancy Check (CRC) • One of the most common and powerful error-detecting codes. • Given k bits of data, generate a sequence F of j bits (FCS) using a predetermined divisor P of (j+1) bits • Transmit a frame of k+j bits (data + FCS) which will be exactly divisible by divisor P • Receiver divides frame by divisor P • If no remainder, assume no error
CRC (continued) • Simpler but equivalent method: receiver repeats the steps the sender did. • If getting the same FCS, assume no error. 3 equivalent procedures: • Modulo-2 arithmetic • Polynomials • Digital logic (not covered) Examples (discussed in class)
Error Correction • Correction of detected errors usually requires whole data block to be retransmitted (chap. 7) • But not appropriate for wireless applications • Bit error rate is high • Lots of retransmissions • Propagation delay can be long (satellite) compared with frame transmission time • Would result in retransmission of frame in error plus many subsequent frames • Need to correct errors on basis of bits received
How Error Correction Works • Add redundancy to transmitted message • Can deduce original in face of certain level of error rate • Example: block error correction code • In general, add (n – k ) bits to end of block • Gives n bit block (codeword) • All of original k bits included in codeword • Some FEC map k bit input onto n bit codeword such that original k bits do not appear
Error Correction Process • Each k bit block mapped to an n bit block (n>k) • Codeword • Forward error correction (FEC) encoder • Codeword sent • Received bit string similar to transmitted but may contain errors • Received code word passed to FEC decoder • If no errors, original data block output • Some error patterns can be detected and corrected • Some error patterns can be detected but not corrected • Some (rare) error patterns are not detected • Results in incorrect data output from FEC
Design Considerations for Block Code • For given values of n and k, want the largest possible value of dmin • To increase dmin increase the number of extra bits. • Reduce the number of extra bits to reduce bandwidth needed • Easy to encode/decode, minimal overheads (memory, time)
Reading • Chapter 6, Stallings’ book • Homework: Solve problems 6.13 and 6.15 in the textbook.