EE29C - Spring 24 Advanced Topics in Circuit Design High-Speed Electrical Interfaces Lecture 17 Components Principles of Error Control Borivoje Nikolic March 16, 24. Announcements Project phase 1 is posted Due April 1, 2-min presentation in class and a written report. When simulating, use a 127-bit PR sequence 2 1
Project Package-to-board via Package Chip Line card trace Connector Line card via Backplane trace Backplane via 2 3 Channel: S21 H =.16 (victim = blue, FEXT = green, NEXT = red) H =-16.13 [db] (victim = blue, FEXT = green, NEXT = red) 1-1.8-2 H.6 H [db] -3.4-4.2-5 1 2 3 4 5 6 GHz -6 1 2 3 4 5 6 GHz 1.2 Raw Step Response Raw Single Bit Response (victim = blue, FEXT = green, NEXT = red) 1 1.8.8 stepr.6.4 sbr.6.4.2.2.2.4.6.8 1 1.2 1.4 1.6 1.8 2 sec x 1-8.2.4.6.8 1 1.2 1.4 1.6 1.8 2 sec x 1-8 4 2
Normalized SBR @ 6.25Gb/s 2-PAM & 4-PAM Nyquists Raw Single Bit Response Raw Single Bit Response 1 1.8.8.6.6 sbr -- Raw sbr -- Raw.4.4.2.2.1.2.3.4.5.6.7.8.9 1 sec x 1-8 2-PAM SBR.1.2.3.4.5.6.7.8.9 1 sec x 1-8 4-PAM SBR 5 2-PAM 6.25Gb/s with Tx, Rx Eq With no xtalk, no RFC With no xtalk, with RFC.5.5 56ps 37mV 7ps 83mV.4.4.3.3.2.2.1.1 -.1 -.1 -.2 -.2 -.3 -.3 -.4 -.4 -.5 -.5.2.4.6.8 1 1.2 1.4 1.6 second x 1-1 Tx Eq only.2.4.6.8 1 1.2 1.4 1.6 second x 1-1 Tx + Rx Eq 6 3
4-PAM 6.25Gb/s with Tx, Rx Eq (prbs sequence) With no xtalk, no RFC With no xtalk, with RFC.5.5 76ps 52mV 8ps 57mV.4.4.3.3.2.2.1.1 -.1 -.1 -.2 -.2 -.3 -.3 -.4 -.4 -.5 -.5.5 1 1.5 2 2.5 3 second x 1-1 Tx Eq only.5 1 1.5 2 2.5 3 second x 1-1 Tx + Rx Eq 7 Error Control Textbooks Lin, Costello, Error Control Coding Wicker, Error Control Systems Houghton, Error Control for Engineers Basics in e.g. Lee, Messerschmitt, Digital Communications Proakis, Digital Communications 8 4
Error Control Error Detection The receiver has the capability to detect any code block that contains fewer than a predetermined number of symbols in error. Forward Error Correction A system of error control for data transmission wherein the receiver has the capability to detect and correct any code block that contains fewer than a predetermined number of symbols in error. 9 Error Control Transmitter has to add redundancy to the transmitted data This defines the code rate k - user bits n - channel bits r redundancy bits, r = n k R = k/n code rate Example: parity check in RS-232 8 bits of data are replaced with 9-bit codewords 256 symbols are chosen out of a set of 512 that satisfy the property of having even parity R=8/9 1 5
Hamming Distance Minimum number of bits that has to be flipped in one codeword to get a valid codeword d min = 2 in parity If we receive a message we can detect that it is invalid, but we have no way to figure out which one was sent There are 9 nearest neighbors with d = 1 11 Error Detection vs. Error Correction To detect t errors: d min > t t = 1 for parity code (d min = 2) To correct t errors: d min > 2t Parity code cannot correct errors Need d min = 3: the correct symbol is one bit away, others are at least 2 bits away 12 6
Hamming Bound There is a total of 2 n symbols, 2 k are valid How to maximize d min? Number of neighbors with distance d: n! d!( n d )! If the code corrects t errors t n! n k d = d! ( n d )! 2 13 Hamming Codes There are some codes that exactly satisfy Hamming bound, or perfect codes (n, k, t): (3, 1, 1), (7, 4, 1), (15, 11, 1) Hamming codes: (2 m 1, 2 m m 1, 1) Golay code: (23, 12, 3) corrects up to 3 errors 14 7
Perfect codes No extra symbols in 2 n symbol space Every symbol is remapped to a valid symbol No ability to detect more than t errors E.g. Golay code (23, 12, 3) can be extended to (24, 12, 3) by adding a parity bit 15 Gilbert Bound The smallest symbol space (2n) that guarantees the existence of a t-error correcting code with k user bits 2t n! d! 2 d = ( n d )! n k Most codes are between the Hamming and Gilbert bounds If a message has more if t detected errors, it will not be recovered (but will be flagged) 16 8
Some Coding Terms Block codes are memoryless Combinatorial mapping Systematic codes include the user data and add some redundancy Convolutional codes have finite memory We introduced them before Viterbi decoders 17 Syndrome n k decoded redundant bits If no errors syndrome is If there are errors, syndrome points to bit position(s) To find a position of one error in 15 bits, need 4 extra bits (15, 11, 1) code 18 9
Coding Gain Example: DVB-S2 (satellite TV broadcast) DVB-S1 uses QPSK DVB-S2 more programs, HDTV, in the same band, same dish, same satellites 8-PSK loses 2.5dB in SNR at required BER, to increase spectral efficiency by 5% Forward error correction has to pick up the BER loss better than 2.5dB loss in SNR 19 Coding Gain Coded BER Uncoded @ specified BER Coding gain SNR 2 1
Error types Random errors Additive white Gaussian noise (AWGN) Error bursts Timing errors (e.g. PLL cycle slip, loss of lock, ) Supply disturbances Thunders Thermal asperities in disk drives Scratches on a CD, DVD Bursts are randomized by using interleaving 21 Error Detection Schemes Parity Two-dimensional (horizontal/vertical) parity Vertical parity (checksum) is added at the end of a block 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ------------------------------- 1 1 1 1 1 1 Detected parity 1 1 1 1 Encoded parity Cyclic redundancy check (CRC) 22 11
BER Coding Overhead Byte-level parity adds 11% of overhead for detecting one error This expands the required bandwidth (depending on the modulation scheme Increases in-band noise Coded Uncoded Coding gain SNR 23 Error Detection Schemes Cyclic redundancy check Symbol (message) bits are d i, i = 1, m 1. Add n bits such that the complete message is divisible by a generator polynomial (GP) in the GF(2n) m 1 i CRC = d i α i = n The complete message m 1 d i i = α i = 24 12
CDC Detection Performance Usially a 2-byte (16-bit) CRC is used with 1k-2k blocks.8% - 1.6% overhead Detects all error bursts shorter than the length of GP Errors can be corrected as well 25 Error Correction Correction by parity More about advanced parity checks later Correction with CRC Reed-Muller codes Low rate Reed-Solomon codes Most common in practice 26 13
Reed-Solomon Codes Invented ~196 A special case of BCH (Bose-Chaudhury-Hocquenghem) codes Starts with bits, d i m 1 i d i α i = = And replaces with symbols, p i m 1 i p i α = i = 27 14