200 likes | 353 Views
II. Linear Block Codes. Digital Communication Systems. Source of Information. User of Information. Source Encoder. Source Decoder. Channel Encoder. Channel Decoder. Modulator. De-Modulator. Channel. Motivation for Channel Coding. Pr{B*≠B}=p
E N D
Digital Communication Systems Source of Information User of Information Source Encoder Source Decoder Channel Encoder Channel Decoder Modulator De-Modulator Channel
Motivation for Channel Coding • Pr{B*≠B}=p • For a relatively noisy channel, p (i.e., probability of error) may have a value of 10-2 • For many applications, this is not acceptable • Examples: • Speech Requirement: Pr{B*≠B}<10-3 • Data Requirement: Pr{B*≠B}<10-6 • Channel coding can help to achieve such a high level of performance B B*
Channel Coding • Channel Encoder: Mapping of k information bits in to an n-bit code word • Channel Decoder: Inverse mapping of n received code bits back to k information bits • Code Rate r=k/n • r<1 W*1W*2.. W*n B*1B*2.. B*k B1B2.. Bk W1W2.. Wn Channel Decoder Channel Encoder Physical Channel
What are Linear Block Codes? • Information sequence is segmented into message blocks of fixed length. • Each k-bit information message is encoded into an n-bit codeword (n>k) Linear Block Codes Binary Block Encoder 2k n-bit DISTINCT codewords 2k k-bit Messages
What are Linear Block Codes? • Modulo-2 sum of any two codewords is ……… also a codeword • Each codeword v that belongs to a block code C is a linear combination of klinearly independent codewords in C, i.e., Linear Block Codes
Linear Independence • A set of vectors g0, g1,…, gk-1 are linearly independent if there exists no scalars u0, u1,…, uk-1 that satisfy Unless u0=u1=…= uk-1=0 • Examples • [0 1 0 ], [1 0 1], [1 1 1] are ……… • Linearly Dependent • [0 1 0 ], [1 0 1], [0 0 1] are ……… • Linearly Independent
Why Linear? • Encoding Process • Store and Index 2k codewords of length n • Complexity • Huge storage requirements for large k • Extensive search processing for large k • Linear Block Codes • Stores k linearly independent codewords • Encoding process through linear combination of codewords g0, g1,…, gk-1 based on input message u=[u0, u1,…, uk-1] Generator Matrix
Example g3 g2 g1 u= [0 1 1 0] g0 Linear Block Encoder (v=u.G) v= g1+g2 v= [1 0 0 0 1 1 0]
Example Linearly Dependent u= [1 0 0 1] u= [0 1 1 1] Block Encoder (v=u.G) Block Encoder (v=u.G) v= g0+g3 v= [0 1 1 1 0 0 1] v= g1+g2+g3 v= [0 1 1 1 0 0 1] NOT DISTINCT
Linear Systematic Block Codes k bits n-k bits Redundant Checking Part Message Part kxk- identity matrix p-matrix
The Parity Check Matrix • For any k xn matrix G with k linearly independent rows, there exists an (n-k) xn matrix H (Parity Check Matrix), such that • G.HT=0
Encoding Circuit Input u Message Register u3 u0 u2 u1 To channel Output v + + + v1 v2 v0 Parity Register [v0 v1 v2 u0 u1 u2 u3] [u0 u1 u2 u3] Encoder Circuit
Syndrome • Characteristic of parity check matrix (H) v r Channel Syndrome v r=v+e + e Error Pattern
Error Detection • Ask for Retransmission of Block • Automatic Repeat Request (ARQ) • Attempt the Correction of Block • Forward Error Correction r is NOT a codeword An Error is Detected: What Options do we have?
Undetectable Error Patterns • Can we be sure that r=v ?? • NO! WHY? • How many undetectable error patterns exist? • 2k-1 Nonzero codeword means 2k-1 undetectable error patterns
Syndrome Circuit r1 r2 r3 r0 r4 r5 r6 + + + s1 s2 s0