Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 80 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
80
Dung lượng
1 MB
Nội dung
Linear Block Codes 2006-02-16 Lecture 9 2 Last time we talked about: Evaluating the average probability of symbol error for different bandpass modulation schemes Comparing different modulation schemes based on their error performances. 2006-02-16 Lecture 9 3 Today, we are going to talk about: Channel coding Linear block codes The error detection and correction capability Encoding and decoding Hamming codes Cyclic codes 2006-02-16 Lecture 9 4 Block diagram of a DCS Format Source encode Format Source decode Channel encode Pulse modulate Bandpass modulate Channel decode Demod. Sample Detect C h a n n e l Digital modulation Digital demodulation 2006-02-16 Lecture 9 5 Channel coding: Transforming signals to improve communications performance by increasing the robustness against channel impairments (noise, interference, fading, ) Waveform coding: Transforming waveforms to better waveforms Structured sequences: Transforming data sequences into better sequences, having structured redundancy. “Better” in the sense of making the decision process less subject to errors. What is channel coding? 2006-02-16 Lecture 9 6 Error control techniques Automatic Repeat reQuest (ARQ) Full-duplex connection, error detection codes The receiver sends a feedback to the transmitter, saying that if any error is detected in the received packet or not (Not-Acknowledgement (NACK) and Acknowledgement (ACK), respectively). The transmitter retransmits the previously sent packet if it receives NACK. Forward Error Correction (FEC) Simplex connection, error correction codes The receiver tries to correct some errors Hybrid ARQ (ARQ+FEC) Full-duplex, error detection and correction codes 2006-02-16 Lecture 9 7 Why using error correction coding? Error performance vs. bandwidth Power vs. bandwidth Data rate vs. bandwidth Capacity vs. bandwidth (dB) / 0 NE b B P A F B D C E Uncoded Coded Coding gain: For a given bit-error probability, the reduction in the Eb/N0 that can be realized through the use of code: [dB][dB] [dB] c 0 u 0 − = N E N E G bb 2006-02-16 Lecture 9 8 Channel models Discrete memory-less channels Discrete input, discrete output Binary Symmetric channels Binary input, binary output Gaussian channels Discrete input, continuous output 2006-02-16 Lecture 9 9 Linear block codes Let us review some basic definitions first which are useful in understanding Linear block codes. 2006-02-16 Lecture 9 10 Some definitions Binary field : The set {0,1}, under modulo 2 binary addition and multiplication forms a field. Binary field is also called Galois field, GF(2). 011 101 110 000 =⊕ =⊕ =⊕ =⊕ 111 001 010 000 =⋅ =⋅ =⋅ =⋅ Addition Multiplication [...]... Lecture 9 is a basis for V4 14 Linear block codes Linear block code (n,k) A set with cardinality C ⊂ Vn is called a linear 2k block code if, and only if, it is a subspace of the vector space Vn 2006-02-16 Vk → C ⊂ Vn Members of C are called code- words The all-zero codeword is a codeword Any linear combination of code- words is a codeword Lecture 9 15 Linear block codes – cont’d Vk Vn mapping... 2006-02-16 Lecture 9 16 Linear block codes – cont’d The information bit stream is chopped into blocks of k bits Each block is encoded to a larger block of n bits The coded bits are modulated and sent over channel The reverse procedure is done at the receiver Data block Channel encoder k bits n-k Codeword n bits Redundant bits k Rc = Code rate n 2006-02-16 Lecture 9 17 Linear block codes – cont’d ... parity bits 2006-02-16 Lecture 9 message bits 25 Linear block codes – cont’d For any linear code we can find an matrix , which H rows are orthogonal to rows of its ( n − k )×n : G GH = 0 T H is called the parity check matrix and its rows are linearly independent For systematic linear block codes: H = [I n − k 2006-02-16 Lecture 9 PT ] 26 Linear block codes – cont’d Data source m Format Channel encoding... vk 2 Lecture 9 v1n v2 n vkn 22 Linear block codes – cont’d Encoding in (n,k) block code U = mG V1 V (u1 , u 2 , , u n ) = (m1 , m2 , , mk ) ⋅ 2 Vk (u1 , u 2 , , u n ) = m1 ⋅ V1 + m2 ⋅ V2 + + m2 ⋅ Vk The rows of G, are linearly independent 2006-02-16 Lecture 9 23 Linear block codes – cont’d Example: Block code (6,3) Message vector V1 1 1 0 1 0 0... calculation are easily performed using feedback shift-registers Hence, relatively long block codes can be implemented with a reasonable complexity BCH and Reed-Solomon codes are cyclic codes 2006-02-16 Lecture 9 34 Cyclic block codes A linear (n,k) code is called a Cyclic code if all cyclic shifts of a codeword are also a codeword U = (u0 , u1 , u2 , , un −1 ) “i” cyclic shifts of U Example: (i ) U =... minimum distance of a block code is d min = min d (U i , U j ) = min w(U i ) i≠ j 2006-02-16 i Lecture 9 18 Linear block codes – cont’d Error detection capability is given by e = d min − 1 Error correcting-capability t of a code, which is defined as the maximum number of guaranteed correctable errors per codeword, is d min − 1 t= 2 2006-02-16 Lecture 9 19 Linear block codes – cont’d For... The corrected vector is estimated ˆ ˆ U = r + e = (001110) + (100000) = (101110) Lecture 9 31 Hamming codes Hamming codes Hamming codes are a subclass of linear block codes and belong to the category of perfect codes Hamming codes are expressed as a function of a single integer m≥2 n = 2m − 1 Code length : Number of information bits : k = 2 m − m − 1 Number of parity bits : n-k = m Error correction... non-zero binary m-tuples 2006-02-16 Lecture 9 32 Hamming codes Example: Systematic Hamming code (7,4) 1 0 0 0 1 1 1 H = 0 1 0 1 0 1 1 = [I 3×3 0 0 1 1 1 0 1 0 1 1 1 0 0 0 1 0 1 0 1 0 0 = [P G= 1 1 0 0 0 1 0 1 1 1 0 0 0 1 2006-02-16 Lecture 9 PT ] I 4×4 ] 33 Cyclic block codes Cyclic codes are a subclass of linear block codes Encoding and syndrome calculation are easily... V2 = 0 1 1 0 1 0 V3 1 0 1 0 0 1 2006-02-16 Lecture 9 Codeword 000 100 010 000000 110100 011010 110 001 101 011 1 11 1 011 1 0 1 01 0 0 1 0 111 0 1 1 1 0 011 0 0 0 1 11 24 Linear block codes – cont’d Systematic block code (n,k) For a systematic code, the first (or last) k elements in the codeword are information bits G = [P I k ] I k = k × k identity matrix Pk = k × (n... 1-p 0 Note that for coded systems, the coded bits are modulated and transmitted over channel For example, for M-PSK modulation on AWGN channels (M>2): 2( log 2 M ) Ec 2( log 2 M ) Eb Rc 2 2 π π = p≈ Q sin Q sin log 2 M N0 N0 M log 2 M M where Ec is energy per coded bit, given by Ec = Rc Eb 2006-02-16 Lecture 9 21 Linear block codes –cont’d Vk Vn . 9 15 Linear block codes Linear block code (n,k) A set with cardinality is called a linear block code if, and only if, it is a subspace of the vector space . Members of C are called code- words. The. code- words. The all-zero codeword is a codeword. Any linear combination of code- words is a codeword. n V n VC ⊂ k 2 nk VCV ⊂→ 2006-02-16 Lecture 9 16 Linear block codes – cont’d n V k V C Bases. C mapping 2006-02-16 Lecture 9 17 Linear block codes – cont’d The information bit stream is chopped into blocks of k bits. Each block is encoded to a larger block of n bits. The coded bits are modulated