Tuần này• Mã hóa kênh Channel Coding: – Sự đan xen Interleaving – Mã ghép Concatenated codes – Mã Turbo Turbo Codes • Mã hóa nguồn Source Coding: – Nguồn sources – Entropy và Information
Trang 1TRUYỀN THÔNG SỐ DIGITAL COMMUNICATION
Week 9
Trang 2• “Digital communications: Fundamentals and Applications” by
Bernard Sklar
• Telecommunication Networks - Information Theory, Vinh Dang
(*) Hồ Văn Quân – Khoa CNTT – ĐH Bách Khoa TpHCM
[1] R E Ziemer & W H Transter, “Information Theory and Coding”,
Principles of Communications: Systems, Modulation, and Noise, 5th
edition John Wiley, pp 667-720, 2002
[2] A Bruce Carlson, “Communications Systems”, Mc Graw-Hill,
1986, ISBN 0-07-100560-9
[3] S Haykin, “Fundamental Limits in Information Theory”,
Communication Systems, 4th edition, John Wiley & Sons Inc, pp 567-625, 2001
Trang 3Tuần trước
• Bộ giải mã Maximum likelihood
• Quyết định mềm / cứng (soft decisions and hard decisions)
• Giải thuật Viterbi
Trang 4Block diagram of the DCS
outputs
1 d
Branch wor for r outputsDemodulato
sequence received
3 2 1
, ) , ,
, , (
n
ni ji
i i
i
i
, ,z , ,z
z Z
Z Z
Z Z
Information
sink
Rate 1/n Conv decoder Demodulator
2
1 , , , , ) (m m m i
sequence
Codeword
3 2 1
, ) , ,
, , (
n
ni ji
i i
i
, ,u , ,u
u U
U U
U U
G(m) U
, ) ˆ
, , ˆ
, ˆ (
Trang 5Quyết định mềm / cứng
Trang 6Giải thuật Viterbi
• Giải thuật Viterbi biểu diễn giải mã Maximum
likelihood.
• Nó tìm 1 đường có sự tương quan lớn nhất hoặc
khoảng cách nhỏ nhất.
– Là 1 quá trình lặp
– Trong mỗi bước tính toán, nó chỉ giữ đường nào có
khoảng cách nhỏ nhất, gọi là đường sống (the survivor)
Trang 7Ví dụ ½ Conv code
Input bits Output bits
Tail bits
1/11
0/00
0/10 1/11
1/01
0/00
0/11
0/10 0/01
1/11
1/01 1/00
0/00
0/11
0/10 0/01
0/00
0/11 0/00
6
t
1
t t2 t3 1/01 t4 t5
Trang 8VD 1 hard-decision Viterbi decoding
) 10000 (
ˆ
m
) 11 00
11 10
11 (
ˆ
U
) 10100 (
m
) 11 10
00 10
11 (
U
) 01 10
11 10
11 (
2
1
0 1
1
0
1 2
2
1 0 2
1
1 1
3
2 0
2
3 0
S ),(t i t i
Branch metric Partial metric
Trang 9VD 1 soft-decision Viterbi decoding
) 10100 (
ˆ
m
) 11 10
00 10
11 (
ˆ
U
) 10100 (
m
) 11 10
00 10
11 (
U
) 1
, 3
2 , 1
, 3
2 , 1
, 3
2 , 3
2 , 3
2 , 3
1/3
1/3 -1/3
10/3
13/3 3
1/3
5/3 5/3
1/3
-4/3
5/3 5/3 -5/3
Trang 10Tuần này
• Mã hóa kênh (Channel Coding):
– Sự đan xen (Interleaving)
– Mã ghép (Concatenated codes)
– Mã Turbo (Turbo Codes)
• Mã hóa nguồn (Source Coding):
– Nguồn (sources)
– Entropy và Information rate
– Lý thuyết mã hóa nguồn (Thuyết Shannon) – Hiệu quả của mã hóa nguồn
– Mã Shannon-Fano
– Mã Huffman
Trang 11Sự đan xen (Interleaving)
• Mã chập (Convolutional codes) thích hợp cho kênh truyền không nhớ (memoryless channels) vì các lỗi là ngẫu nhiên (random error events)
• Trên thực tế, có loại lỗi chùm (bursty errors) vì kênh truyền có nhớ (channel with memory)
– Ví dụ: lỗi trong kênh multipath fading, lỗi do nhiễu …
• Sự đan xen (Interleaving) giúp cho kênh truyền trở thành như kênh truyền không nhớ (memoryless
channel) ở bộ giải mã.
Trang 12Interleaving …
• Sự đan xen được thực hiện bằng cách chia các coded
symbols theo thời gian trước khi truyền đi.
• Quá trình ngược lại tại đầu thu gọi là giải đan xen
(deinterleaving).
• Sự đan xen giúp cho lỗi chùm (bursty errors) giống như trở thành lỗi ngẫu nhiên (random errors) có thể dùng
mã chập.
• Các loại đan xen:
– Đan xen khối (Block interleaving)
– Đan xen chồng chập/chéo (Convolutional or cross interleaving)
Trang 13Ví dụ minh họa
– Xét 1 mã có 3 coded bits
– Nếu 1 chùm lỗi có độ dài 3 bit:
– Nếu dùng 1 khối đan xen 3X3:
Trang 14Ví dụ Đan xen chồng chập
Trang 15Mã ghép (Concatenated codes)
• Mã ghép dùng 2 lần mã hóa, gọi là mã hóa trong và mã hóa ngoài (có tốc độ cao hơn) - an inner code and an
outer code (higher rate)
– Thông thường 1 mã ghép dùng mã chập và giải mã Viterbi ở phần
mã hóa trong, mã Reed-Solomon ở phần mã hóa ngoài
• Mã ghép giảm sự phức tạp, tăng hiệu quả sửa lỗi
Interleaver Modulate
Deinterleaver
Inner encoder
Inner decoder Demodulate
Outer decoder
Input
data
Output
data
Trang 16Mã Turbo (Turbo codes)
• Mã Turbo là mã ghép nhưng có thêm giải
thuật lặp (iterative algorithm)
• Dùng soft-decision lặp nhiều lần để có giá trị tin cậy hơn.
Trang 17Ví dụ 1 dạng mã Turbo: RSC code
Trang 18Mã hóa nguồn (Source Coding)
• Nguồn (sources)
• Entropy và Information rate
• Lý thuyết mã hóa nguồn (Thuyết Shannon)
• Hiệu quả của mã hóa nguồn
• Mã Shannon-Fano
• Huffman Coding
Trang 19Nguồn tin - Sources
• Nguồn tin ta đang xét là nguồn rời rạc (discrete sources) có
1 chuỗi X(k), k =1… N symbols
• Xác suất của mỗi symbol Xj là P(XJ)
• Ta định nghĩa I(X J) - self-information là đơn vị thông tin:
) (
log )
(X j 2 p j
Trang 20Nguồn tin - Sources
• Trị trung bình của các symbol gọi là source entropy:
• E{X} là giá trị trung bình (expected value) của X.
• Source entropy H(X): lượng thông tin trung bình của nguồn tin X là lượng tin trung bình chứa trong một kí hiệu bất kỳ X j của nguồn tin X
j j
N j
j j
X I X
H
1
2 1
) (
log )
( )}
( { )
Trang 21Entropy và Information rate
• Entropy = information = uncertainty
• Nếu 1 tín hiệu hoàn toàn có thể tiên đoán được (completely predictable), thì entropy = 0 và không có thông tin
• Entropy = là số bits trung bình đòi hỏi để truyền tín hiệu
N X
Trang 22Ví dụ(*):
Trả lời:
Trang 23Lý thuyết mã hóa nguồn
• Tốc độ nguồn thông tin - Source information rate (bit/s):
Rs = rH(X) (bit/s)
– H(X): entropy nguồn (bits/symbol)
– r : tốc độ symbol (symbol rate) (symbols/s)
• Giả sử nguồn này là đầu vào của 1 kênh :
– C: dung lượng - capacity (bits/symbol)
– S: tốc độ symbol - available symbol rate (symbols/s)
– S.C = bits/s
Trang 24Mã hóa nguồn (t.t)
• Thuyết Shannon (noiseless coding theorem):
– Cho một kênh truyền và một nguồn phát sinh thông tin Ta có thể
mã hóa nguồn bằng cách phát trên kênh truyền này khi nguồn tin
có tốc độ nhỏ hơn dung lượng kênh truyền.
– “ Given a channel and a source that generates information at a rate less than the channel capacity, it is possible to encode the source output in such a manner that it can be transmitted through the channel ”
Trang 25Ví dụ Source encoding
• Cho nguồn nhị phân rời rạc: A (p=0.9), B (p=0.1)
• Source symbol rate (3.5) >channel capacity (2) nguồn symbols
không thể truyền đi trực tiếp
• Kiểm tra thuyết Shannon:
– H(X)= -0.1 log 2 0.1 -0.9log 2 0.9 = 0.469bits/symbol
– R s = rH(X) = 3.5(0.469)=1.642 bits/s < S.C = 2 bits/s
• Có thể truyền đi bằng cách mã hóa nguồn để giảm tốc độ symbol trung bình (average symbol rate)
Discrete binary source
Source encoder Binary channel
Tốc độ symbol nguồn (Source symbol
rate) = r = 3.5 symbols/s
C = 1 bit/symbol
S = 2 symbols/s
SC = 2 bits/s
Trang 26• Codewords được nhóm thành n-symbol groups of source symbols
• Quy luật:
– Codewords ngắn nhất gán cho nhóm có xác suất xảy ra nhiều nhất ( Shortest codewords for the most probable group )
– Codewords dài nhất gán cho nhóm có xác suất xảy ra ít nhất ( Longest codewords for the least probable group)
• Có n -symbol groups tức là có n bậc mở rộng ( n
th-order extension of original source )
Trang 27i l x
p
L
n
* ) (
2
1
L: độ dài code trung bình (average code length)
p(xi): xác suất của symbol thứ i th
li : độ dài của codeword tương ứng với symbol thứ i th
Trang 28Second-Order extension
i i
i l x
p L
n
* ) (
Trang 29Second-Order extension
symbolurce
symbols/socode
645
02
29
1
n L
258
2)
645
0(5
n
L r
Tốc độ symbol (symbol rate) tại ngõ ra bộ mã hóa:
Tốc độ symbol > dung lượng kênh là 2 symbols/second
Ta tiếp tục làm mã hóa mở rộng bậc 3 (the third-order extension)
code symbols/sec
>2
Trang 31Third-Order extension
533
0 3
598
1
n L
condsymbols/se
code864
.1)
533
0(5
n
L r
The symbol rate at the encoder output:
Kênh truyền chấp nhận tốc độ này
code symbols/source symbol
Trang 32Hiệu quả của mã hóa nguồn
• Efficiency là thước đo đo hiệu quả của mã hóa nguồn
L L
L eff
1
min min
) (
D
X H L
X H eff
Trang 33Hiệu quả của mã hóa nguồn nhị phân
• Entropy của nguồn mở rộng n bậc :
H (X n)=n*H (X)
• Hiệu quả của nguồn mở rộng:
L
X H
n eff . ( )
Trang 34Mã Shannon-Fano[1]
Gồm 3 bước:
1. Liệt kê source symbols theo thứ tự xác suất giảm dần
2. Chia chúng thành 2 nhóm nhỏ: “0” đặt cho nhóm trên và
“1” cho nhóm dưới
3. Tiếp tục chia tới khi không thể chia nữa
Trang 351 1
1 1
1
1
0
0 0
0 0
1
1 1 1
1 1
00 01 10 110 1110 11110 11111
Trang 36Shannon-Fano coding
45.2
7 1
i i
i l p L
37.2log
p U
H
97
045
.2
37.2)
Trang 37Huffman Coding [1][2][3]
Thực hiện theo 3 bước
1. Liệt kê source symbols theo thứ tự xác suất giảm dần Hai
source symbols có xác suất nhỏ nhất được gán 0 và 1
2. Hai source symbols này kết hợp thành 1 source symbol mới
có xác suất bằng tổng 2 xác suất gốc Xác suất mới được ghi vào The new probability is placed in the list in accordance with its value
3. Lặp lại cho tới khi xác suất mới kết hợp cuối cùng = 1.0
Trang 38Examples of Huffman Coding
0 1 14
0 1 24
0 1 42
0 1 58
0 1 1.0
Trang 40Khuyết điểm của Huffman Coding
• Khi nguồn có nhiều symbols thì mã Huffman trở nên quá lớn.
• Vẫn còn nhiều sự dư thừa (redundancy)
• Số codewords tăng theo cấp số mũ (exponentially),
mã trở nên phức tạp và tăng độ trì hoãn.
Trang 41Bài tập
• Một nguồn rời rạc có 3 sysbols: A, B, và C với xác suất tương ứng là 0.9, 0.08 và 0.02 Tìm entropy của nguồn
Trang 42Bài tập
Vẽ sơ đồ trạng thái (dùng trellis diagram) của hệ thống RSC trên
Trang 43Next time
1 Ngày 3/5 nhà trường nghỉ
2 Ngày 10/5: buổi học cuối:
– Công bố điểm giữa kỳ (điểm bài tập về nhà) – Học tiếp + Ôn tập
Trang 44Bài tập nộp cho GV
• Cách 1: nộp trực tiếp cho GV (sau mỗi buổi học)
• Cách 2: gửi email tới: truyenthongsodtvt@gmail.com
• Thời hạn nộp bài: thứ ba ngày 26 tháng 4
• Trong email và file nộp ghi rõ họ tên và mã số SV
• Điểm bài tập: 30% tổng điểm
• Hạn chót nhận email: thứ 2 ngày 2/5
Trang 45Bài tập nộp cho GV
Chọn 1 trong các bài sau:
1 Tìm hiểu về Non-coherent detection (D-PSK