Linear Block Codes in Digital Communication Systems
200 likes | 491 Views
Learn how linear block codes play a crucial role in achieving reliable communication in digital systems through channel encoding and decoding processes. Explore the concept of linear independence and systematic block codes.
Linear Block Codes in Digital Communication Systems
E N D
Presentation Transcript
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