Facuty of Electronics & Telecommunications, HCMUNSNội dung trình bày • Mã hóa kênh Channel coding • Mã hóa khối Block codes... Facuty of Electronics & Telecommunications, HCMUNSBlock c
Trang 1Facuty of Electronics & Telecommunications, HCMUNS 1
BÀI 4:
MÃ HÓA KÊNH (Channel coding)
Facuty of Electronics & Telecommunications, HCMUNS
Đặng Lê KhoaEmail:danglekhoa@yahoo.com
dlkhoa@fetel.hcmuns.edu.vn
Trang 2Facuty of Electronics & Telecommunications, HCMUNS
Nội dung trình bày
• Mã hóa kênh ( Channel coding )
• Mã hóa khối (Block codes)
Trang 3Facuty of Electronics & Telecommunications, HCMUNS
Pulsemodulate
Bandpassmodulate
Channeldecode
Demod
SampleDetect
Trang 4Facuty of Electronics & Telecommunications, HCMUNS
• Tín hiệu truyền qua kênh truyền sẽ bị ảnh hưởng bởi nhiễu, can nhiễu, fading… là tín hiệu đầu thu bị sai
• Mã hóa kênh: dùng để bảo vệ dữ liệu không bị sai
bằng cách thêm vào các bit dư thừa (redundancy)
• Ý tưởng mã hóa kênh là gởi một chuỗi bit có khả
năng sửa lỗi
• Mã hóa kênh không làm giảm lỗi bit truyền mà chỉ làm giảm lỗi bit dữ liệu (bảng tin)
• Có hai loại mã hóa kênh cơ bản là: Block codes và
Convolutional codes
Channel coding là gì?
Trang 5Facuty of Electronics & Telecommunications, HCMUNS
Định lý giới hạn Shannon
• Đối với kênh truyền AWGN, ta có
C: channel capacity (bits per second) B: transmission bandwidth (Hz)
P: received signal power (watts)
No: single-sided noise power density (watts/Hz)
Eb: average bit energy
Rb: transmission bit rate
C/B: bandwidth efficiency
Trang 6Facuty of Electronics & Telecommunications, HCMUNS
Galois field
• Binary field :
– Tập {0,1}, thực hiện phép cộng và phép nhân 2 thì
kết quả cũng thuộc trường
– Binary field còn được gọi là Galois field, GF(2)
0 1 1
1 0 1
1 1 0
0 0 0
0 0 1
0 1 0
0 0 0
Trang 7Facuty of Electronics & Telecommunications, HCMUNS
Trang 8Facuty of Electronics & Telecommunications, HCMUNS 8
Galois Field Construction
14 13 12 11 10 9 8 7 6 5 4 3 2 1 1 0
3 2
3 2 2 3 2 3
3 2 2
3 2
1 1 1 1
1 1 1
1 0
1 1 0 1
1 1 1 1
1 1 1 0
0 1 1 1
1 0 1 0
0 1 0 1
1 0 1 1
1 1 0 0
0 1 1 0
0 0 1 1
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
0 0 0 0
4 1
Trang 9Facuty of Electronics & Telecommunications, HCMUNS
Block codes
• Block codes là loại forward error correction (FEC) -> cho phép tự sửa sai ở đầu thu
• Trong block codes, các bit parity được thêm vào bảng tin
để tạo thành code word hoặc code blocks
• Khả năng sửa lỗi của block code phụ thuộc vào code
distance
• Block codes có tính chất tuyến tính => kết quả phép tính
số học giữa các phần tử luôn là một phần tử thuộc
trường
Trang 10Facuty of Electronics & Telecommunications, HCMUNS
Block codes (tt)
• Luồng thông tin được phân thành từng khối k bits
• Mỗi khối được mã hóa thành khối lớn hơn có n bits
• Các mã này được điều biến và gởi qua kênh truyền
• Quá trình sẽ thực hiện ngược lại ở đầu thu
Data block Channel
encoder Codeword
rateCode
bits
Redundant
n
k R
n-k
c
Trang 11Facuty of Electronics & Telecommunications, HCMUNS
Trang 12Facuty of Electronics & Telecommunications, HCMUNS 12
Repetition Code
Trang 13Facuty of Electronics & Telecommunications, HCMUNS 13
Repetition Code (tt)
• Truyền:
• Nhận :
Trang 14Facuty of Electronics & Telecommunications, HCMUNS 14
Repetition Code (tt)
Trang 15Facuty of Electronics & Telecommunications, HCMUNS
Linear block codes –cont’d
– A matrix G is constructed by taking as its rows the
vectors on the basis,
, , {V1 V2 Vk
k
n n
k
v v
v
v v
v
v v
2 22
21
1 12
11 1
V V G
Trang 16Facuty of Electronics & Telecommunications, HCMUNS
Linear block codes – cont’d
• Encoding in (n,k) block code
– The rows of G, are linearly independent.
mG
U
k n
k
k n
m m
m u
u u
m m
m u
u u
V V
V
V
V V
2 1
1 2
1
2 1
2 1 2
1
) , , , (
) ,
, ,
( ) , , , (
Trang 17Facuty of Electronics & Telecommunications, HCMUNS
Linear block codes – cont’d
• Example: Block code (6,3)
0 1 0
0 0 1
1 1 0
0 1 1
1 0 1
3 2 1
V V
V G
1
1 1
1 1
0 0
0 0
1 0
1 1
1 1
1 1 0
1 1 0
0 0 1
1 0 1
1 1 1
1 0 0
0 1
1 1
1 0
0 0 1
1 0 1
0 0 0
1 0 0
0 1 0
1 0 0
1 1 0
0 1
0 0
0 0
1 0 0
0 1 0
Message vector Codeword
Trang 18Facuty of Electronics & Telecommunications, HCMUNS
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.
matrix
) (
matrix identity
] [
k n
k
k k
k k
I P
G
) , ,
, ,
, , ,
( )
, , ,
(
bits message
2 1
bits parity
2 1
2 1
U
Trang 19Facuty of Electronics & Telecommunications, HCMUNS
Linear block codes – cont’d
• For any linear code we can find an matrix ,
such that its rows are orthogonal to the rows of :
• H is called the parity check matrix and its rows are
linearly independent
• For systematic linear block codes:
n k
n ) (
Trang 20Facuty of Electronics & Telecommunications, HCMUNS
error
) , , ,
(
or vector codeword
received
) , , ,
(
2 1
2 1
n
n
e e
e
r r
T T
eH rH
Trang 21Facuty of Electronics & Telecommunications, HCMUNS
Linear block codes – cont’d
• Standard array
– For row , find a vector in of minimum weight
which is not already listed in the array.
– Call this pattern and form the row as the corresponding
coset
k k
n k
n k
n
k k
2 2
2 2
2
2 2
2 2
2
2 2
1
U e
U e
e
U e
U e
e
U U
i 2,3, ,2
n V i
Trang 22Facuty of Electronics & Telecommunications, HCMUNS
Linear block codes – cont’d
• Standard array and syndrome table decoding
1 Calculate
2 Find the coset leader, , corresponding to .
3 Calculate and corresponding .
) ˆ ˆ
( ˆ
Trang 23Facuty of Electronics & Telecommunications, HCMUNS
Linear block codes – cont’d
• Example: Standard array for the (6,3) code
010110 100101
010001
010100 100000
100100 010000
111100 001000
000110 110111
011010 101101
101010 011100
110011 000100
000101 110001
011111 101011
101100 011000
110111 000010
000110 110010
011100 101000
101111 011011
110101 000001
000111 110011
011101 101001
101110 011010
110100 000000
Trang 24Facuty of Electronics & Telecommunications, HCMUNS
Linear block codes – cont’d
111 010001
100 100000
010 010000
001 001000
110 000100
011 000010
101 000001
000 000000
(101110) (100000)
(001110) ˆ
ˆ
estimated is
vector corrected
The
(100000) ˆ
is syndrome this
to ing correspond pattern
Error
(100) (001110)
: computed is
of syndrome The
received.
is (001110)
ted.
transmit (101110)
H rH
S
r r
U
T T
Error pattern Syndrome
Trang 25Facuty of Electronics & Telecommunications, HCMUNS
• 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
– The columns of the parity-check matrix, H, consist of all non-zero
m k
n
m m
1
: capability correction
Error
:
bits parity of
Number
1 2
: bits
n informatio of
Number
1 2
:
length Code
Trang 26Facuty of Electronics & Telecommunications, HCMUNS
Hamming codes
• Example: Systematic Hamming code (7,4)
] [
1 0
1 1
1 0
0
1 1
0 1
0 1
0
1 1
1 0
0 0
1
3 3
T
P I
1 0
0 0
1 1
1
0 1
0 0
0 1
1
0 0
1 0
1 0
1
0 0
0 1
1 1
0
4 4
Trang 27Facuty of Electronics & Telecommunications, HCMUNS
Cyclic block codes
• Cyclic codes are a subclass of linear block codes
• Encoding and syndrome 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
Trang 28Facuty of Electronics & Telecommunications, HCMUNS
Cyclic block codes
• A linear (n,k) code is called a Cyclic code if all cyclic
shifts of a codeword are also a codeword
– Example:
) , ,
, ,
, , ,
, (
) , ,
, ,
(
1 2
1 0
1 1
) (
1 2
1 0
i n i
n i
n
u u
u u
u u
u
u u
u u
U
U “i” cyclic shifts of U
U U
U U
)1011(
)0111(
)1110(
)1101(
) 4 ( )
3 ( )
2 ( )
1 (
Trang 29Facuty of Electronics & Telecommunications, HCMUNS
Cyclic block codes
• Algebraic structure of Cyclic codes, implies expressing codewords in
polynomial form
• Relationship between a codeword and its cyclic shifts:
– Hence:
) 1 ( degree
) (
, )
(
1
) 1 (
) 1 (
1 1
) (
1 2
2 1 0
1
1
1 2
2 1 0
1 )
1 (
X u
n
n n
X
n n
n
n n
n n
X u
X
u X
u X
u X
u X u u
X u
X u
X u X u X
X
n n
modulo )
( )
(
) (
i
X X
modulo )
( )
(
) 1 (
X U U
Trang 30Facuty of Electronics & Telecommunications, HCMUNS
Cyclic block codes
• Basic properties of Cyclic codes:
– Let C be a binary (n,k) linear cyclic code
1 Within the set of code polynomials in C, there
is a unique monic polynomial with minimal degree is called the generator polynomials
1 Every code polynomial in C, can be
r g
r
r X g X
g g
X ) ( 0 1
Trang 31Facuty of Electronics & Telecommunications, HCMUNS
Cyclic block codes
• The orthogonality of G and H in polynomial
form is expressed as This means is also a factor of
1 The row , of generator matrix is
formed by the coefficients of the cyclic shift of the generator polynomial
r r
k
g g
g
g g
g
g g
g
g g
g
X X
X X X
1 0
1 0
1 0
1
) (
) (
) (
1)
()(X h X X n
"
1
" i
Trang 32Facuty of Electronics & Telecommunications, HCMUNS
Cyclic block codes
• Systematic encoding algorithm for an (n,k) Cyclic
code:
1 Multiply the message polynomial by
1 Divide the result of Step 1 by the generator polynomial
Let be the reminder.
1 Add to to form the codeword
( X
U
Trang 33Facuty of Electronics & Telecommunications, HCMUNS
Cyclic block codes
• Example: For the systematic (7,4) Cyclic code with generator
polynomial
1 Find the codeword for the message
) 1 1 0 1 0 0 1 (
1 ) ( )
( )
(
: polynomial codeword
the Form
1 )
1 ( 1
(
: (
by ) ( Divide
) 1
( )
( )
(
1 ) ( )
1011 (
3
, 4
, 7
bits message bits
parity
6 5
3 3
) ( remainder generator
3 quotient
3 2
6 5
3
6 5
3 3
2 3
3
3 2
U
g m
m m
m m
p g
q
X X
X X
X X
X
X X X
X X X
X X
X) X
X
X X
X X
X X
X X
X X
X X
X
k n k
n
X (X)
(X)
k n
k n
)1011(
m
3
1)(X X X
g
Trang 34Facuty of Electronics & Telecommunications, HCMUNS
Cyclic block codes
– Find the generator and parity check matrices, G and H,
0 1 0 1 1 0 0
0 0 1 0 1 1 0
0 0 0 1 0 1 1
) 1101 (
) , , , ( 1
0 1
1 )
row(2) row(1)
row(3) row(3)
0 1 0 0 1 1 1
0 0 1 0 1 1 0
0 0 0 1 0 1 1
0 1 1 1 0 1 0
1 1 0 1 0 0 1
H
4 4
P P
Trang 35Facuty of Electronics & Telecommunications, HCMUNS
Cyclic block codes
• Syndrome decoding for Cyclic codes:
– Received codeword in polynomial form is given by
– The syndrome is the reminder obtained by dividing the received polynomial by the generator polynomial
– With syndrome and Standard array, error is estimated.
• In Cyclic codes, the size of standard array is considerably reduced
)()
()
Received codeword
Error pattern
)()
()()
Trang 36Facuty of Electronics & Telecommunications, HCMUNS