Cơ sở kỹ thuật TTVT
BÀI GIẢNG
KHOA VIỄN THÔNG 1
CƠ SỞ KỸ THUẬT THÔNG TIN VÔ TUYẾN
Chương 4
MÃ HÓA KÊNH KIỂM SOÁT LỖI TRONG HỆ THỐNG THÔNG TIN VÔ TUYẾN SỐ
Nguyen Viet Dam Faculty of Telecommunications I Posts and Telecommunications Institute of Technologies Address: PTIT- Km10-Nguyen Trai Street, HaDong, HaNoi Office : (0)84-(0)4-8549352, (0)84-(0)34- 515484 Mob: 0912699394
Hà nội 01-2017
1
Nguyễn Viết Đảm
Tên học phần:
Cơ sở kỹ thuật thông tin vô tuyến FUNDAMENTALS OF WIRELESS COMMUNICATION 45 tiết / 03 tín chỉ
Tổng lượng kiến thức/Số tín chỉ: Phân bổ chương trình:
Lý thuyết: Tiểu luận/Bài tập: Thực hành: Tự học:
32 tiết 08 tiết 04 tiết 01 tiết
Đánh giá
Chuyên cần: Thí nghiệm/Thực hành: Bài tập/Tiểu luận: Kiểm tra giữa kỳ: Thi kết thúc (Thi tự luận):
10 % 10 % 10 % 10 % 60 %
2
Cơ sở kỹ thuật TTVT GIỚI THIỆU MÔN HỌC – PHÂN BỔ CHƯƠNG TRÌNH
Nguyễn Viết Đảm
Cơ sở kỹ thuật TTVT NỘI DUNG
Chương 1. Giới thiệu chung Chương 2. Các dạng tín hiệu trong hệ thống thông tin vô tuyến Chương 3. Không gian tín hiệu và điều chế Chương 4. Mã hóa kênh kiểm soát lỗi trong hệ thống trong hệ thống
thông tin vô tuyến số.
Chương 5. Xử lý kênh vật lý và mã hóa kiểm soát lỗi trong các hệ
thống thông tin di động.
Chương 6. Thiết bị vi ba số Chương 7. Quy hoạch tần số và cấu hình hệ thống truyền dẫn vô
tuyến số.
Chương 8. Phân tích đường truyền vô tuyến số Chương 9. Các thách thức truyền dẫn tốc độ cao trong các hệ thống
thông tin vô tuyến băng rộng
Chương 10. Kỹ thuật đa anten Chương 11. Lập biểu và thích ứng đường truyền
3
Nguyễn Viết Đảm
Cơ sở kỹ thuật TTVT
4.1. Mở đầu
1
2
Channel Encoder
Modulator
Information source
C h a n n e l
4
3
Channel Decoder
Demodulator
Information sink
Sơ đồ khối hệ thống truyền thông số cơ bản với mã hóa kênh
4
Nguyễn Viết Đảm
Cơ sở kỹ thuật TTVT
4.1. Mở đầu
Sơ đồ khối hệ thống truyền thông số
5
Sơ đồ khối của máy phát sử dụng mã hóa kênh Nguyễn Viết Đảm
Cơ sở kỹ thuật TTVT
4.1. Mở đầu
Chức năng: Xử lý tín hiệu số để đạt mức độ tin cậy bằng cách bổ xung có hệ thống các ký hiệu dư vào luồng tin phát nhằm phát hiện lỗi và sửa lỗi.
Vị trí: Sau nguồn tin và trước điều chế sóng mang.
Lưu ý: Hai tham số thiết kế hệ thống truyền dẫn số: Tham số tín hiệu phát và độ rộng băng tần của kênh truyền dẫn. Hai tham số này cùng với mật độ phổ công suất tạp âm thu xác định Eb/N0.
Do BER là một hàm đơn trị của Eb/N0, nên khi cố định Eb/N0 có thể cải thiện chất
lượng BER bằng cách mã hoá kênh kiểm soát lỗi.
Dùng mã hoá kênh kiểm soát lỗi để dung hoà giữa BER và Eb/N0 dB (giảm công suất phát, giảm giá thành phần cứng như sử dụng anten kích thước nhỏ, tái sử dụng tần số....).
Tham số tỉ lệ mã r =Rb/Rc đánh giá lượng bit dư bổ sung phục vụ cho việc phát hiện và sửa lỗi của mã => luồng bit ra bộ lập mã có tốc độ bít R cao hơn tốc độ bit đầu vào Rb, tăng độ rộng băng tần giảm hiệu quả sử dụng phổ tần.
6
Nguyễn Viết Đảm
Cơ sở kỹ thuật TTVT
4.1. Mở đầu
Cơ chế phát hiện và sửa lỗi
Coded
Phát lại bản tin bị lỗi: Phía thu phát hiện bản tin bị lỗi, sau đó yêu cầu phía phát phát lại bản tin bị lỗi => cần có kênh hồi tiếp.
A
Phát hiện và sửa lỗi ở phía thu.
F
C
B
Mục đích của mã hoá kênh kiểm soát lỗi Xác định đoạn số liệu thu bị mắc lỗi. Giảm thiểu xác suất không phát hiện được
D
lỗi.
E
Uncoded
Giảm thiểu BER, SER tại một giá trị Eb/N0
tiền định.
Coding gain:
Tại BER cho trước giảm được Eb/N0, lượng giảm này được gọi là độ lợi của mã hóa kênh tại xác suất lỗi. Lưu ý các tham số:
For a given bit-error probability, the reduction in the Eb/N0 that can be realized through the use of code:
Hiệu năng sửa lỗi và độ rộng băng tần Công suất và độ rộng băng tần Tốc độ số liệu và độ rộng băng tần Dung lượng và độ rộng băng tần
7
Nguyễn Viết Đảm
Cơ sở kỹ thuật TTVT
4.2. Nguyên tắc mã hóa kiểm soát lỗi
8
Nguyễn Viết Đảm
Cơ sở kỹ thuật TTVT
4.2. Nguyên tắc mã hóa kiểm soát lỗi
Trọng lượng Hamming của vectơ C, ký hiệu w(C), là số
phần tử khác không trong C.
Khoảng cách Hamming giữa hai vectơ C và V, là số phần
tử khác nhau giữa chúng.
Khoảng cách Hamming cực tiểu của mã khối
9
Nguyễn Viết Đảm
Cơ sở kỹ thuật TTVT
4.3. Mã khối tuyến tính
Khái niệm
Khối bản tin (độ dài k bit): Luồng thông tin được chia thành các khối có độ dài
bằng nhau
Từ mã (độ dài n bit): Các bit ở đầu ra của bộ lập mã tương ứng với mỗi bản tin
đầu vào
Các bit kiểm tra (độ dài (n-k) bits ): Các bit được bổ xung vào các khối bản tin
theo một thuật toán nhất định, thuật toán tuỳ vào loại mã được dùng.
Mã khối được gọi là tuyến tính nếu kết hợp tuyến tính của hai từ mã bất kỳ cũng
là một từ mã thuộc mã đó. Trường hợp nhị phân tổng của hai từ mã bất kỳ cũng là một từ mã.
Các thông số đặc trưng
Độ dài khối bản tin k. Độ dài từ mã n. Khoảng cách Hamming cực tiểu. Tỉ lệ mã r=k/n
10
Nguyễn Viết Đảm
Cơ sở kỹ thuật TTVT
4.3. Mã khối tuyến tính
Tóm tắt: Bộ mã hóa khối tuyến tính thực hiện ánh xạ chuỗi k bit đầu vào thành chuỗi n bit đầu ra
có các đặc điểm:
Từ mã đầu ra bộ lập mã C chỉ phụ thuộc vào chuỗi bit đầu vào m hiện thời và ma trận tạo
mã G (hay đa thức tạo mã g(x)) mà không phụ thuộc vào chuỗi đầu vào trước đó.
Các từ mã tạo thành không gian con k chiều trong không gian n chiều (n,k). Các mã khối tuyến tính được mô tả dưới dạng ma trận tạo mã G có kích thước kn, mỗi từ
mã đầu ra C được viết ở dạng.
11
Nguyễn Viết Đảm
Cơ sở kỹ thuật TTVT
4.3. Mã khối tuyến tính
12
Ma trận tạo mã G và Ma trận kiểm tra chẵn lẻ H Nguyễn Viết Đảm
Cơ sở kỹ thuật TTVT
4.3. Mã khối tuyến tính
Syndrome và phát hiện lỗi
13
Nguyễn Viết Đảm
Cơ sở kỹ thuật TTVT
4.3. Mã khối tuyến tính
Syndrome và phát hiện lỗi
Modulation
Data source
Format
Channel encoding
channel
Data sink
Format
Demodulation Detection
Channel decoding
Kiểm tra Syndrome: S là syndrome của y, tương ứng với mẫu lỗi e.
14
Nguyễn Viết Đảm
Cơ sở kỹ thuật TTVT
4.3. Mã khối tuyến tính
Tính chất của Syndrome
Thuộc tính 1: Syndrome chỉ phụ thuộc vào mẫu lỗi e chứ không
phụ thuộc vào từ mã được phát c.
Thuộc tính 2: Tất cả các mẫu lỗi khác nhau nhiều nhất một từ mã
đều có cùng Syndrome.
Thuộc tính 3: Syndrome S là tổng các cột của ma trận H tương
ứng với nơi xẩy ra lỗi.
Thuộc tính 4: Bằng cách giải mã Syndronme, một mã khối tuyến
tính (n,k) có thể sửa được
15
Nguyễn Viết Đảm
Cơ sở kỹ thuật TTVT
4.3. Mã khối tuyến tính
Giải mã sửa lỗi
zero codeword
coset
Tất cả các mẫu lỗi khác nhau nhiều nhất một từ mã đều có cùng Syndrome
coset leaders
Mỗi phần tử của Coset đều có cùng Syndrome
16
Nguyễn Viết Đảm
Cơ sở kỹ thuật TTVT
4.3. Mã khối tuyến tính
Giải mã sửa lỗi
17
Nguyễn Viết Đảm
Cơ sở kỹ thuật TTVT
4.3. Mã khối tuyến tính
Minh họa họ mã Hamming
Xét một họ mã được gọi là mã Hamming có các thông số:
Xét mã Hamming (7,4) <=> n=7, k=4, m=3
18
Nguyễn Viết Đảm
Cơ sở kỹ thuật TTVT
4.3. Mã khối tuyến tính
Minh họa họ mã Hamming (7,4)
19
Nguyễn Viết Đảm
Cơ sở kỹ thuật TTVT
4.3. Mã khối tuyến tính
Minh họa họ mã Hamming Quan hệ giữa dmin và H
Do c là một từ mã thuộc mã Xét mã Hamming (7,4), tồn tại 16 từ mã thuộc mã đều làm S=cHT=0 cho trong đó có
Bẩy từ mã có trọng lượng = 3 Bẩy từ mã có trọng lượng = 4 Một từ mã có trọng lượng = 7 Một từ mã có trọng lượng = 0
dmin =3 Mối quan hệ giữa dmin và H là: dmin là số cột nhỏ nhất của ma trận kiểm tra chẵn lẻ H mà khi cộng chúng với nhau bằng 0.
20
Nguyễn Viết Đảm
Cơ sở kỹ thuật TTVT
4.3. Mã khối tuyến tính
Minh họa: xét họ mã Hamming Quan hệ giữa Syndrome và mẫu lỗi e: Xét mã Hamming (7,4). Vì mã này có dmin =3 nên chỉ có thể sửa được một lỗi với các mẫu lỗi đơn, áp dụng thuộc tính 3 (Syndrome là tổng các cột của ma trận H tương ứng với nơi xẩy ra lỗi) cho phép xác định được quan hệ giữa Syndrome và mẫu lỗi.
21
Nguyễn Viết Đảm
Cơ sở kỹ thuật TTVT
4.3. Mã khối tuyến tính
Minh họa: Xét họ mã Hamming
Nếu phát C = [0111001] qua kênh, phía thu nhận được y = [1111001] S = [1 0 0] là hàng thứ nhất của HT (cột thứ nhất của H) xác định được e = [1 0 0 0 0 0 0] sửa được ycor = [0111001]. Tương tự xét tất cả các trường hợp còn lại Quan hệ này đối với mã Hamming (7.4) được cho ở bảng 3.2 Từ mã sai là từ mã không thuộc mã đó, khi này S = y.HT 0 vì C.HT =0
Bảng 3.2. Bảng giải mã cho mã Hamming (7.4)
Syndrome
Mẫu lỗi
000
0000000
100
1000000
010
0100000
001
0010000
110
0001000
011
0000100
111
0000010
101
0000001
22
Nguyễn Viết Đảm
Cơ sở kỹ thuật TTVT
4.3. Mã khối tuyến tính
Đa thức tạo mã
Các bước mã hoá cho một mã vòng (n,k):
Nhân đa thức bản tin m(x) với xn-k nhận được xn-km(x) Chia xn-km(x) cho g(x) để được phần dư b(x). Cộng b(x) với xn-km(x) để nhận được đa thức từ mã
c(x).
23
Nguyễn Viết Đảm
Cơ sở kỹ thuật TTVT
4.3. Mã khối tuyến tính
Sơ đồ bộ mã hoá vòng
24
Nguyễn Viết Đảm
Cơ sở kỹ thuật TTVT
4.3. Mã khối tuyến tính
Minh họa: Bộ lập mã vòng (7,4) với g(x)=1+x+x3
x1
x3
x0
25
Nguyễn Viết Đảm
Cơ sở kỹ thuật TTVT
4.3. Mã khối tuyến tính Syndrome
Bộ tính Syndrome của mã vòng (n,k) dựa trên đa thức tạo mã
Bộ tính Syndrome cho mã (7,4) được tạo bởi đa thức g(x)=1+x+x3
26
Nguyễn Viết Đảm
Cơ sở kỹ thuật TTVT
4.3. Mã khối tuyến tính
Với kênh không nhớ, xác suất lỗi bản tin
p là xác suất lỗi bit trên kênh.
Xác suất lỗi bit giải mã
27
Nguyễn Viết Đảm
Cơ sở kỹ thuật TTVT
4.3. Mã khối tuyến tính
1
1
p
Đầu vào điều chế
Đầu ra giải điều chế
p
0
0
Mô hình kênh đối xứng không nhớ rời rạc
Lưu ý: Trường hợp hệ thống dùng mã hóa kênh các bit được mã hóa sau đó điều chế, truyền qua kênh. VDụ: điều chế M-PSK trong môi trường kênh AWGN (M>2)
Ec là năng lượng bit được mã hóa kênh và có quan hệ Ec= RcEb
28
Nguyễn Viết Đảm
Cơ sở kỹ thuật TTVT
4.3. Mã khối tuyến tính
8PSK
QPSK
29
Nguyễn Viết Đảm
Cơ sở kỹ thuật TTVT
4.3. Mã khối tuyến tính
Bài tập và mô phỏng
Chương trình NVD_CS88(k) thể khảo sát quá trình tạo mã khối tuyến tính, quá trình tính trọng lượng Hamming cực tiểu, chạy chương trình, thay đổi các tham số đầu vào cho chương trình và phân tích kết quả.
Kết quả ma trận m được tạo ra
0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1
Ma trận Codeword đầu ra bộ mã hoá 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1 1 0 0 1 0 1 1 0 1 1 0 1 0 1 1 0 1 1 0 0 1 1 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 1 0 1 1 1 1 0 0 0 1 1 1 0 1 1 0 1 0 1 0 0 0 0 1 0 1 0 0 1 1 1 0 1 1 1 0 1 0 0 0 0 1 1 1 0 1 1 1 1 0 0 0 0 1 0 0 0 1 0 1 1 1 0 1 1 0 1 1 1 1 1 1 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1
30
Trong luong ma cuc tieu Wm = 2 Nguyễn Viết Đảm
Cơ sở kỹ thuật TTVT
4.3. Mã khối tuyến tính
Bài tập và mô phỏng
Chương trình NVD8_nkchoose tính toán hiệu năng của mã khối tuyến tính, chạy chương trình, thay đổi các tham số đầu vào chương trình và phân tích kết quả.
31
Nguyễn Viết Đảm
Cơ sở kỹ thuật TTVT
4.3. Mã khối tuyến tính
Bài tập và mô phỏng
Chương trình NVD_DC649.m tính toán hiệu năng mã khối tuyến tính BCH, chạy chương trình, thay đổi các tham số đầu vào cho chương trình và phân tích kết quả.
32
Nguyễn Viết Đảm
Cơ sở kỹ thuật TTVT
4.4. Mã xoắn
Mã xoắn khác cơ bản với mã khối Mã hóa toàn bộ luồng dữ liệu vào một từ mã. Không cần thiết phân mảnh luồng dữ liệu thành các khối kích thước
cố định. Tính có nhớ. Mã khối dựa vào kỹ thuật đại số/kết hợp, mã xoắn dựa vào kỹ thuật
xây dựng (construction techniques).
Tham số đặc trưng của mã xoắn (n,k,K): k là số bit dịch vào bộ lập mã tại cùng một thời điểm (k bit đồng thời
vào bộ lập mã).
n là số bit ở đầu ra bộ lập mã khi cho k bit đồng thời vào bộ lập mã.
K là độ dài hạn chế thể hiện số lần dịch cực đại của một nhóm k bit
bản tin đầu vào mà nhóm k bit này vẫn còn gây ảnh hưởng tới đầu ra.
r = k/n là tỉ lệ mã (k trường hợp bộ lập mã khối. 33 Modulator Information
source Demodulator Information
sink 34 Modulator BPSK Information
source Demodulator BPSK Information
sink Mô hình hóa và mô phỏng quá trình mã hóa/giải mã xoắn BPSK trong môi trường kênh AWGN. 35 Cơ sở kỹ thuật TTVT 36 Cơ sở kỹ thuật TTVT Nguyên lý hoạt động: n bit đầu ra được xác định theo Ma trận tạo mã
Chuỗi tạo mã
Đa thức tạo mã
Biểu đồ hình cây
Biểu đồ trạng thái.
Biểu đồ hình lưới Lưu ý: Đặc tính quan trọng của mã xoắn khác biệt so với mã khối
là tính có nhớ n bit đầu ra không chỉ phụ thuộc vào k bit tin đầu
vào đồng thời mà còn phụ thuộc vào (K-1) tập k bit đầu vào trước
đó <=> n bit đầu ra không chỉ phụ thuộc vào k bit vào đồng thời mà
còn phụ thuộc vào trạng thái trước đó của bộ lập mã (tồn tại 2k(K-1)
trạng thái có thể có) 37 Cơ sở kỹ thuật TTVT 38 Cơ sở kỹ thuật TTVT Bộ lập mã xoắn (tỉ lệ ½, K=3): 3 bộ ghi dịch trong đó bộ
ghi dịch đầu tiên nhận bit dữ liệu đến và các bộ ghi dịch
còn lại tạo tính có nhớ của bộ lập mã First coded bit Input data bits (Branch word)
Output coded bits Second coded bit 39 Cơ sở kỹ thuật TTVT Chuỗi bản tin: m = (101) 1 0 0 0 1 0 1 0 1 0 1 0 0 0 1 0 0 0 Bộ lập mã 40 Cơ sở kỹ thuật TTVT (trạng thái toàn không all-zero) Xóa bộ nhớ sau khi mã hóa bit dữ liệu cuối cùng (trạng thái toàn không all-zero) đuôi Từ mã => Chèn các bit đuôi vào chuỗi bit dữ liệu.
Số liệu Lưu ý rằng: Nếu số bít dữ liệu cần được mã háo là L, độ
dài hạn chế là K, số bit đầu vào đồng thời là k, số bit đầu
ra là n, thì tỉ lệ mã hóa thực tế reff 41 Cơ sở kỹ thuật TTVT Đa thức tạo mã: Xác định n đa thức tạo mã, mỗi đa thức cho một bộ
cộng modulo-2 có bậc ≤ K-1, và mô tả kết nối của các bộ ghi dịch với
bộ cộng modulo-2 tương ứng. Ví dụ: 42 Cơ sở kỹ thuật TTVT Biểu đồ trạng thái Trạng thái được trình bày bởi nội dung của bộ nhớ.
Tồn tại 2(K-1)k trạng thái.
Biểu đồ trạng thái thể hiện: Toàn bộ các trạng thái có thể có;
Mọi chuyển dịch giữa các trạng thái;
Mối quan hệ vào/ra của bộ lập mã. Biểu đồ lưới: Là sự mở rộng của biểu đồ trạng thái với mục đích thể
hiện tường minh nguyên lý hoạt động bộ lập mã theo
thời gian. 43 Đầu ra vào 00 Trạng thái 10 01 11 Thời gian 44 Tail bits Input bits 45 Nếu chuỗi bản tin đầu vào là đồng khả năng
(equally likely), thì bộ giải mã tối ưu giảm thiểu
xác suất lỗi, là bộ giải mã khả năng giống nhất
ML (Maximum likelihood). Bộ giải mã ML chọn một từ mã (một đường dẫn)
trong toàn bộ các từ mã có thể có (toàn bộ các
đường dẫn trên lưới) mà từ mã này (đường dẫn )
làm tối đa hàm khả năng trong đó V là
chuỗi thu và là một trong các từ mã (một
trong các đường dẫn) thuộc tập các từ mã phát
có thể có (mọi đường dẫn trong lưới) : codewords
to search!!! 46 Kênh nhị phân đối xứng (BSC) 1 p Đầu vào
điều chế Đầu ra giải
điều chế p 1-p Nếu dm=d(V,C(m)) là khoảng cách Hamming giữa V và C, thì Size of coded sequence codewords
to search!!! 47 Next: MAP Next Do các đặc tính thống kê độc lập của kênh không nhớ, nên hàm khẳ năng và log hàm khả năng: Số đo đường dẫn tại thời điểm ti được gọi là số đo đường dẫn từng phần => đường dẫn sóng sót là đường dẫn có PM nhỏ nhất tại ti. Nguyên tắc giải mã ML: 48 Quyết định cứng: Bộ giải điều chế quyết định cứng thực hiện quyết định "0" hoặc "1" và không
cung cấp thông tin khác cho bộ giải mã => đầu ra của bộ giải điều chế chỉ là số
"0" hoặc "1" (đầu ra được lượng tử thành 2 mức) được gọi là “hard-bits”. Giải mã dựa trên các bit cứng "hard-bits" được gọi là “giải mã quyết định cứng”. Quyết định mềm: Bộ giải điều chế cung cấp cho bộ giải mã một số thông tin phụ về đánh giá mức độ tin cậy để quyết định. Các đầu ra của bộ giải điều chế được gọi là các bít mềm (soft-bits) được lượng tử thành nhiều mức. Quyết định dựa trên các bít mềm được gọi là "giải mã quyết định mềm". Giải mã quyết định
mềm đạt được độ lợi
khoảng 2 dB trong kênh
AWGN, và 6 dB trong
kênh phađinh so với giải
mã quyết định cứng. Hard and Soft decoding decisions 49 Thuật toán Viterbi thực hiện giải mã theo nguyên tắc khả năng giống nhất ML (hợp lý cực đại). Thuật toán tìm trong lưới một đường dẫn có số đo nhỏ nhất (maximum correlation or minimum distance).
Xử lý tín hiệu đầu ra bộ giải điều chế theo kiểu lặp. Tại mỗi bước trong lưới, thực hiện so sánh số đo của tất cả các
đường dẫn hội nhập vào mỗi trạng thái, chỉ giữ lại đường dẫn có
số đo nhỏ nhất (khoảng cách nhỏ nhất) được gọi là đường dẫn
sống sót (survivor) cũng như số đo của đường dẫn đó. Tiếp tục đi vào trong lưới và loại bỏ khử các đường dẫn ít có khả năng nhất (least likely path). Giảm mức độ phức tạp giải mã còn L2K-1! 50 51 00 00 00 00 00 2 11 11 11 11 11 11
0 0
00
2 10 1 10 10 01 01 1 1 01 01 1 10 52 0 Tại thời
điểm i: k
bit vào và n
ký hiệu đầu
ra đồng
thời bộ lập
mã k
bit/nhánh, n
ký
hiệu/nhánh 53 • i=2 2 0 0 54 • i=3 2 3 0 3 0 0 2 55 • i=4 2 3 0 0 0 3 2 0 3 2 3 56 • i=5 2 3 0 1 0 0 3 2 0 3 2 2 3 57 • i=6 2 3 0 1 2 0 0 3 2 0 3 2 2 3 58 2 3 0 1 2 0 0 3 2 0 3 2 2 3 59 00 00 00 00 00 11 11 11 11 11 11 00 10 10 10 01 01 01 01 10 60 2 1 1 1 1 0 1 1 1 1 1 0 1
2 0 2 0 2 0 2 61 0 2 0 62 • i=2 2 0 0 63 • i=3 2 3 0 3 0 0 2 64 • i=4 2 3 1 0 0 3 1 0 2 2 3 65 • i=5 2 3 1 0 2 0 3 1 0 2 1 2 3 66 • i=6 2 3 1 0 2 2 0 3 1 0 2 1 2 3 67 • i=6 2 3 1 0 2 2 0 3 1 0 2 1 2 3 68 x1 x2 x5 x7 x6 x8 x3 x0 x4 k0 = 1; r =k/n=1/2; G=[g0;g1]
G = [1 0 1 1 1 0 0 0 1;1 1 1 1 0 1 0 1 1] x1 x2 x3 x4 x8 x6 x5 x0 69 k0 = 1; r =k/n=1/3; G=[g0;g1;g2]
G = [1 0 1 1 0 1 1 1 1;1 1 0 1 1 0 0 1 1;1 1 1 0 0 1 0 0 1] Cơ sở kỹ thuật TTVT 70 Cơ sở kỹ thuật TTVT History of Turbo Codes
Parallel/Serial Concatenated Codes
Turbo Decoding
SISO Module
BCJR algorithm EXIT charts 1962, Gallagers thesis entitled “Low - Density Parity Check Codes“
974, Bahl, Cocke, Jelinek and Raviv publish the paper “Optimal Decoding of Linear Codes for Minimizing Symbol Error Rate” 1989, Hagenauer and Höher publish “A Viterbi Algorithm with Soft-Decision Outputs and its Applications“ 1993, Berrou and Glavieux present the turbo decoding principle at the International Conference in Communications: “Near the Shannon limit error-
correcting coding and decoding: turbocodes“ 1996, Hagenauer, Offer and Papke publish the paper “Iterative Decoding of Binary Block and Convolutional Codes” 71 Cơ sở kỹ thuật TTVT Modulator Information
source Information
sink Demodulator
(Soft Output) Modulator Information
source Information
sink Demodulator
(Soft Output) 73 Quyết định cứng: Bộ giải điều chế quyết định cứng thực hiện quyết định "0" hoặc "1" và không
cung cấp thông tin khác cho bộ giải mã => đầu ra của bộ giải điều chế chỉ là số
"0" hoặc "1" (đầu ra được lượng tử thành 2 mức) được gọi là “hard-bits”. Giải mã dựa trên các bit cứng "hard-bits" được gọi là “giải mã quyết định cứng”. Quyết định mềm: Bộ giải điều chế cung cấp cho bộ giải mã một số thông tin phụ về đánh giá mức độ tin cậy để quyết định. Các đầu ra của bộ giải điều chế được gọi là các bít mềm (soft-bits) được lượng tử thành nhiều mức. Quyết định dựa trên các bít mềm được gọi là "giải mã quyết định mềm". Lưu ý: Giải mã quyết định mềm
đạt được độ lợi khoảng 2
dB trong kênh AWGN,
và 6 dB
trong kênh
phađinh so với giải mã
quyết định cứng. Hard and Soft decoding decisions 74 note Cơ sở kỹ thuật TTVT Turbo Decoding is an instance of Bayesian Estimation
Turbo Decoding: It is similar to separate signal Try to separate two different components: Noise and Useful transmitted signal
We, generally, only have one data stream: Encoder in the transmitter introduces Extensions to multiple data streams are possible
Aim: Maximize the Mutual Information between transmitted and decoded signals
Use Channel Codes to achieve Channel Capacity ➔ There is a high demand of powerful Channel Codes, which are of practical application (encode and
decode easily) Some channels, like multipath channels can be seen as a form of Source Encoding, in which the taps can be estimated. Turbo Decoding is possible
in this case and is called: Turbo Channel Equalization 75 Cơ sở kỹ thuật TTVT can achieve channel capacity These codes, must have enough structure to reduce encoding/decoding complexity. Structured codes under perform random codes Make the code appear random, while maintaining enough
structure to allow decoding ➔ pseudo-random interleaver 76 Mã Turbo được xây dựng trên cơ sở:
Parallel Concatenated Codes (PCC)
Serially Concatenated Codes (SCC) The word “Turbo” comes from the decoder
which uses feedback, like a turbo engine Xây dựng PCCC trên cơ sở ba ý tưởng (PCC=>PCCC): 1) Chuyển đổi mã xoắn phi hệ thống vào mã xoắn hệ thống
2) Giải mã vào mềm ra mềm SISO (dùng các xác suất về số liệu thu để tạo ra đầu ra mềm chứa thông tin về mức độ chắc chắn của bit đầu ra). 3) Mã hóa/giải mã trên các phiên bản được hoán vị của cùng một thông tin (đan xen)
Giải mã: Giải thuật giải mã lặp dựa trên ý tưởng 2 và 3 sẽ thực hiện “tinh lọc” đầu ra sau mỗi bước lặp giống như đầu máy Turbo trong máy bay => mã được gọi là mã Turbo. 77 Cơ sở kỹ thuật TTVT
What does “Turbo” mean? Cơ sở kỹ thuật TTVT Mã xoắn móc nối song song PCCC: Kết nối nhiều bộ mã hoá thành
phần cùng với đan đan xen hóa số liệu đầu vào của nhau. Để đạt đựơc
hiệu năng tốt, mã thành phần phải là mã hồi quy nhưng không nhất
thiết phải là mã hệ thống. Tuy nhiên để đơn giản thường sử dụng mã
hệ thống => thường sử dụng mã xoắn hệ thống hồi quy RSC
(Recursive Systematic Convolutional). Khoảng cách tự do: Bộ mã hóa RSC tỷ lệ mã 1/n với bộ nhớ M, khoảng cách tự do hiệu dụng giới hạn trên: Đạt được dấu bằng khi hàm truyền đạt có dạng:
Q(x) là đa thức nguyên thủy trên trường GF(2) bậc M; g1(x), gn-1(x) là các đa thức
khác Q(x) có dạng (1+….+gixp+…+xM), p=0,…,M; gi(0,1); x là toán tử trễ. 78 Cơ sở kỹ thuật TTVT 79 Cơ sở kỹ thuật TTVT 80 Giải mã turbo được thực hiện giải mã mềm và lặp trên cơ sở
sử dụng nhiều khối SISO (Soft-in/Soft-out) đồng hoạt đưa ra
số đo xác suất để quyết định cứng. Số đo này được gọi là
xác suất hậu định APP (a posteriori probability). Tồn tại hai giải thuật giải mã turbo SISO chính trên lưới: Giải thuật Viterbi đầu ra mềm VA/SOVA (Viterbi Algorithm/Soft Out Viterbi Algorithm); Giải thuật cực đại hóa xác suất hậu định MAP (Maximum a
Posteriori), hay còn gọi là giải thuật BCJR (theo tên của các tác giả
Bahl, Cocke, Jelinek và Ravive). 81 note Với mã hệ thống, chỉ ra
rằng đầu ra LLR (đầu ra
mềm) của bộ giải mã là: 82 note Used to estimate the APP probabilities of the states and transitions of
a Markov source observed through a noisy discrete memoryless
channel (DMC), given the observations and the a-priori knowledge The BCJR algorithm belongs to the class of Bayesian Estimation algorithms Mostly used in the log domain, which simplifies computations log-MAP
Max-log-MAP Forward and backward recursions A-Posteriori Probability is given as: 83 thành phần
Ba
đầu ra LLR của
bộ giải mã hệ
thống:
Số đo kênh;
Thông tin tiên
nghiệm của
dữ liệu;
Thông tin ngoại lai từ
quá trình giải
mã. 84 Quyết định cứng: Bộ giải điều chế quyết định cứng thực hiện quyết định "0" hoặc "1" và không
cung cấp thông tin khác cho bộ giải mã => đầu ra của bộ giải điều chế chỉ là số
"0" hoặc "1" (đầu ra được lượng tử thành 2 mức) được gọi là “hard-bits”. Giải mã dựa trên các bit cứng "hard-bits" được gọi là “giải mã quyết định cứng”. Quyết định mềm: Bộ giải điều chế cung cấp cho bộ giải mã một số thông tin phụ về đánh giá mức độ tin cậy để quyết định. Các đầu ra của bộ giải điều chế được gọi là các bít mềm (soft-bits) được lượng tử thành nhiều mức. Quyết định dựa trên các bít mềm được gọi là "giải mã quyết định mềm". Lưu ý: Giải mã quyết định mềm
đạt được độ lợi khoảng 2
dB trong kênh AWGN,
và 6 dB
trong kênh
phađinh so với giải mã
quyết định cứng. Hard and Soft decoding decisions 85 Back Next Giải thuật MAP: Nhân (hoặc cộng trong miền logarit) số đo trạng
thái với số đo nhánh. Sau đó, thay vì so sánh chúng với nhau là cộng
chúng để tạo thành số đo trạng thái thuận (hoặc ngược) tiếp theo như
hình tính toán số đo trạng thái thuận, nghịch và nhánh. Khác nhau:
Giải thuật Viterbi VA: Tìm chuỗi (đường dẫn) giống nhất => liên tục so sánh và lựa chọn để tìm ra đường dẫn tốt nhất; Giải thuật MAP: Tìm con số mềm (Likelihood hoặc log-likelihood),
=> sử dụng tất cả các số đo từ tất cả các chuyển dịch có thể có trong
một khoảng thời gian để tiệm cận đến thống kê toàn bộ tốt nhất đối
với bit dữ liệu ở khoảng thời gian đó. 86 Intrinsic Information Collected Information from the
Channel about the sequence A-Priori Information i.
ii. Knowledge about the sequence
before the decoding starts Soft-Output iii.
iv. Decoding process generates the A -
Posteriori Probabilities (APP) its distribution is almost Gaussian,
it depends on the redundant information and all other
received information except produced by the encoder,
it is independent of the x,
it generally has the same sign as the transmitted symbol
dk, therefore it may improve the associated with
each decoded data. Extrinsic Information Gain resulting from the decoding
process. Corresponds to the
Innovations in the Kalman Filters. 87 “TurboCodes“ are
known which
approach the Shannon
limit by 0.045 dB Cơ sở kỹ thuật TTVT
Some results from TurboDecoding “Near the Shannon limit error-
correcting coding and decoding:
turbocodes“ Berrou and Glavieux, ICC'93 88 Cơ sở kỹ thuật TTVT ck1 dk ck1 ck ck ck2
Mã xoắn không hồi quy ck2
Mã xoắn không hệ thống Mã xoắn hồi quy Mã xoắn hệ thống Trong họ mã SC, mã hệ thống hồi
quy RSC có hiệu năng tốt hơn mã
phi hệ thống khi SNR thấp. dk Đầu vào dk 89 Mã xoắn hệ thống SC: bit thông tin
đựơc trực tiếp đưa đến đầu ra, ngược
lại là mã xoắn phi hệ thống. Nhánh Ck=(dk,ck) 11 11 00 10 01 Thời gian 90 01 10 Tail bits=M 0 1 1 1 0 00 00 00 00 00 S0=00 11 11 11 11 11 11 S1=10 00 10 10 10 S2=01 k=3 k=4 k=6 k=1 k=2 k=5 10 S3=11 91 00 11 10 11 00 S0=00 00 00 00 00 00 00 S0=00 11 11 11 11 11 11 11 S1=10 S1=10 00 00 10 10 10 10 S2=01 S2=01 01 01 01 01 01 10 k=N+1 k=3 k=N k=1 k=2 k=4 k=N-M+1 k=L Tail bits=M S3=11 1 0 1 0 1 00 00 00 00 00 S0=00 11 11 11 11 S1=10 00 10 10 10 01 01 k=3 k=4 k=6 k=1 k=2 k=5 01 01 10 S3=11 92 11 01 01 11 10 note Cơ sở kỹ thuật TTVT
Mã xoắn hệ thống hồi quy Đầu ra: C1,N=(C1, C2,…Ck,., CN) , Ck= (dk, ck), dk là
bit đầu vào bộ mã hóa tại thời điểm k và ck là bit
được mã hóa tại thời điểm k, k=1,2,..,N. Mã xoắn hồi quy hệ thống: tỷ lệ ½; M=2; K=3;
Q=1112=78 và g1=1012=58. (đa thức 5/7) 93 Cơ sở kỹ thuật TTVT
Mã xoắn hệ thống hồi quy Đầu ra: C1,N=(C1, C2,…Ck,., CN) , Ck= (dk, ck), dk là
bit đầu vào bộ mã hóa tại thời điểm k và ck là bit
được mã hóa tại thời điểm k, k=1,2,..,N. Mã xoắn hồi quy hệ thống 94 Cơ sở kỹ thuật TTVT Nguyên lý hoạt Khóa CM ở vị trí A:
N bit số liệu được
đưa ra trực tiếp, đồng
thời được dịch vào các
bộ mã hóa RSC. Đầu
ra của bộ mã hóa là N
tổ hợp hai bit hoặc ba
bit tùy vào chon tỷ lệ
mã là r=1/2 hoặc 1/3. Khóa CM ở vị trí B:
Đưa các bộ mã hóa
vào trạng thái "0" và
tạo ra các ký hiệu đuôi
kết cuối chuỗi ký hiệu
mã đầu ra cho N bit số
liệu đầu vào. Hiệu năng của mã turbo: Phụ thuộc vào kiểu và độ sâu
của bộ đan xen (cấu trúc bộ đan xen ảnh hưởng lên tính
chất khoảng cách của mã turbo, hay khoảng các lớn nhất
giữa các ký hiệu cạnh nhau ở đầu vào) 95 Cơ sở kỹ thuật TTVT Hiệu năng của mã turbo kích thước và thiết kế (kiểu và độ sâu) của bộ đan xen;
các bộ mã hóa thành phần;
số lần lặp giải mã. Giả sử dk, k{1,2,….,N} là toàn bộ số liệu mã
cần được đan xen: coi đây là một mảng ba
biến số: (i) int[] là mảng chỉ số; (ii) data[] là
mảng số liệu; (iii) intdata[] là mảng số liệu sau
đan xen. Sử dụng chương trình kiểu Pascal: Quá trình đan xen: Số liệu
được viết vào bộ nhớ theo trình
tự thông thường, đọc số liệu ra
theo một quy tắc nào đó sao cho
đạt được khoẳng cách lớn nhất
giữa các ký hiệu cạnh nhau ở đầu
vào. 96 Cơ sở kỹ thuật TTVT nxk và nyk là hai biến NN Gauss trung bình không phương sai 2; dk là
bit đầu vào bộ mã hóa; ck là bit được mã hóa mã hóa tại thời điểm k: là bit thông tin không được mã hóa (số liệu thông tin);
là bit thông tin được mã hóa (số liệu kiểm tra chẵn lẻ);
là tạp âm AWGN trung bình không và phương sai 2 ; k = 1,2,..., N; ak = (1-2dk):
bk= (1-2ck):
nxk, nyk :
N = L+M là chuỗi ký hiệu phát; L là đội dài chuỗi bit thông tin; M là số bit đuôi 97 Cơ sở kỹ thuật TTVT Mục đích của giải mã MAP: Tìm ước tính bit số liệu phát có xác suất cao nhất khi cho trước R1,N. Thực hiện giải mã MAP: Tính logarit tỉ lệ hàm khả giống (LLR: Log likelihood ratio: logarit tỷ lệ khả giống) cho từng dk: Giá trị là đầu ra mềm. Sau khi thực hiện quyết định cứng lên
đầu ra này, kết quả là bit thông tin có khả năng giống bit phát nhất: 98 Cơ sở kỹ thuật TTVT M là số phần tử nhớ, thì APP là Đặt λk,i(m) = P(dk=i,Sk=m|R1,N) là xác suất mà tại thời điểm k, trạng
thái của bộ giải mã là Sk=m, bit phát dk=i khi cho trước chuỗi ký hiệu
thu R1,N (đã thu được chuỗi R1,N); với i=0 hoặc 1 và cộng tất cả các
trạng thái có thể có: 99 Cơ sở kỹ thuật TTVT thu từ R1 đến RN R1,k-1 là chuỗi ký hiệu thu từ R1 đến Rk-1
Rk+1,N là và ký hiệu thu từ Rk+1 đến RN. M là số phần tử nhớ, thì APP là Đặt λk,i(m) = P(dk=i,Sk=m|R1,N), là xác suất trạng thái của bộ giải mã
là Sk=m và bit phát dk=i khi đã thu được chuỗi ký hiệu R1,N tại thời
điểm k: 100 Cơ sở kỹ thuật TTVT Back to MAP là số phần tử nhớ, thì Định nghĩa xác suất liên hiệp λk,i(m) Định luật Bayes 101 Là xác suất hậu định mà
bit dữ liệu được giải mã
dk=i bằng cách lấy tổng
trên tất cả các trạng thái Cơ sở kỹ thuật TTVT Số đo trạng thái thuận (Forward State Metric): Biểu diễn xác suất chuỗi ký hiệu thu trước thời điểm k (R1,k-1) và chỉ phụ thuộc vào trạng thái Sk= m hiện thời tại thời điểm k Số đo trạng thái ngược (Backward State Metric): Biểu diễn xác suất thu chuỗi ký hiệu sau
thời điểm k (Rk+1,N) và chỉ phụ thuộc vào trạng thái Sk=m cũng như bit trước đó dk=i (thời
điểm k). Sự kiện liên hiệp (dk=i, Sk=m) xác định trạng thái tại thời điểm k+1: Sk+1. f(i,m)là trạng thái tiếp theo khi cho trước bit dk=i và trạng thái Sk=m tại thời điểm k.
k+1(f(i,m)) là số đo trạng thái ngược tại thời điểm k+1 và trạng thái f(i,m). 102 Cơ sở kỹ thuật TTVT Số đo nhánh (Branch Metric): Biểu diễn xác suất phát liên hiệp dk tại trạng thái Sk=m và thu ký hiệu Rk. 103 k,i(m) Formard State Metrics Reverse State Metrics (cộng bj(m) là trạng thái đi lùi về phía
trước tương ứng với đầu vào j f(j,m) là trạng thái tiếp theo
đã cho trước đầu vào j và
trạng thái m 104 Cơ sở kỹ thuật TTVT 2,0(00) Nhánh xuất phát tại thời điểm tk=2 từ
trạng thái m=00 khi bit vào dk=2 = i=0
và tiến đến trạng thái m=00 tại thời
điểm tk+1=3 => số đo nhánh k,i(m) =
2,0(00). Tương tự cho các nhánh khác k,i(m) 105 k,i(m) Cơ sở kỹ thuật TTVT bj(m) biểu thị trạng thái tại thời điểm k-1 chuyển vào trạng thái
m tại thời điểm k dưới tác động của bit dk-1=j với j=0/1. Tại thời điểm tk: hai nhánh tiến vào nút trạng thái m=00: (i) nhánh 1 do bit
vào j=0 và xuất phát từ trạng thái bj=0(m)=00 tại thời điểm tk-1; (ii) nhánh 2
do bit vào j=1 và xuất phát từ trạng thái bj=1(m)= 01 tại thời điểm tk-1. Vì
thế số đo trạng thái thuận thuận k(m) là: k(00) = [k-1(00) k-1,0(00) + k-1(01) k-1,1(01)]
Tại thời điểm tk+1: hai nhánh (phải hình) tiến vào nút trạng thái m=10: (i)
nhánh 1 do bit vào j=0 và xuất phát từ trạng thái bj=0(m)=01 tại thời điểm tk
; (ii) nhánh 2 do bit vào j=0 và xuất phát từ trạng thái bj=1(m)= 00 tại thời
điểm tk. => Vì thế số trạng thái đo thuận k+1(m) là: k+1(01) = [k(00) k,1(00) + k(01) k,0(01)]
Tất cả các k(m) được tính trong điều kiện chúng được khởi đầu đúng như:
1(m=0) = 1 và 1(m≠0) = 0 Ví dụ: tính 2(00) xét điều kiện khởi đầu cho thí dụ theo trên: 2(00) = [1(00) 1,0(00) + 1(01) 1,1(01)] = 1,0(00) 106 Cơ sở kỹ thuật TTVT Thay vì tính tất cả
thuận theo thời
gian,
tính ngược
theo thời gian. Trong đó f(i,m) biểu thị trạng thái tại thời điểm k+1 mà các trạng thái m tại thời điểm j trước đó
sẽ chuyển đến dưới tác động của bit dk=j. Tại thời điểm tk , từ trạng thái m=01 có hai nhánh tiến tới hai
trạng thái tại tk+1 sau: (i) trạng thái fk+1,1(m)=00 khi bit vào
j=1; (ii) trạng thái fk+1,0(m)=10 khi bit vào j=0 => số đo ngược
k(m)=k(01) là: k(01) = k+1(00) k,1(01) + k+1(10) k,1(01)
Tất cả các giá trị được tính trong điều kiện khởi đầu ngược
đúng. Hồi quy ngược được khởi đầu bằng cách buộc trạng thái
cuối cùng trở về 0 và đặt: 3(01) = 4,0(00) 3,1(01) = 3,1(01) 107 Back Số đo nhánh k,i(m) k,i(m) A - Priori Channel
Values k(m) k(m) Số đo trạng thái thuận
k(m) Số đo trạng thái ngược
k(m) Hồi quy ngược được khởi đầu (buộc trạng thái
cuối cùng trở về 0): 1(m=0) = 1 và 1(m≠0) = 0 L+M+1(m=0) = 1 và L+M+1(m≠0) = 0 108 Tất cả các k(m) được tính trong điều kiện được
khởi đầu đúng: Initial conditions
Nguyễn Viết Đảm Back 109 Back 110 Cơ sở kỹ thuật TTVT , i=1,2; ak là bit thông tin không được mã hóa (bit thông tin);
bki là bit thông tin được mã hóa (bit kiểm tra chẵn lẻ); i=1,2
nxk,nyki là tạp âm AWGN trung bình không và phương sai 2
k=1,2,..., N;
N= L+M là chuỗi ký hiệu phát; L là đội dài chuỗi bit thông tin, M là số bit đuôi. Cơ sở kỹ thuật TTVT TT độ tin cậy của kênh TT tiền định của bit dk Đầu vào bộ giải mã tiếp theo 112 thành phần
Ba
đầu ra LLR của
bộ giải mã hệ
thống:
Số đo kênh;
Thông tin tiên
nghiệm của
dữ liệu;
Thông tin ngoại lai từ
quá trình giải
mã. 113 Intrinsic Information Collected Information from the
Channel about the sequence A-Priori Information i.
ii. Knowledge about the sequence
before the decoding starts Soft-Output iii.
iv. Decoding process generates the A -
Posteriori Probabilities (APP) its distribution is almost Gaussian,
it depends on the redundant information and all other
received information except produced by the encoder,
it is independent of the x,
it generally has the same sign as the transmitted symbol
dk, therefore it may improve the associated with
each decoded data. Extrinsic Information Gain resulting from the decoding
process. Corresponds to the
Innovations in the Kalman Filters. 114 Cơ sở kỹ thuật TTVT tiên
nghiệm của dữ
liệu; Ba thành phần đầu
ra LLR của bộ giải
mã hệ thống:
Số đo kênh;
Thông
tin Lý tưởng, số đo kênh và TT
ngoại lai bị tạp âm hóa một chách
không tương quan => TT ngoại
lai được coi là một quan trắc
mới về dk bởi bộ giải mã khác để
tạo ra quá trình lặp. Thông tin ngoại
lai từ quá trình
giải mã. hóa. Công thức hóa sơ đồ và
sơ đồ hóa công thức.
Công thức hóa nguyên lý hoạt động Thuật toán hóa và Nguyên lý cơ bản cung cấp TT hồi tiếp tới bộ giải mã khác là: Bộ
giải mã không được cung cấp bởi chính thông tin được rút ra từ
đầu vào của chính nó (nhiễu loạn vào/ra bị tương quan cao) chương trình hóa.
Mô phỏng kiểm chứng. 115 MAP rất nhạy cảm với
sự tương quan giữa
các ký hiệu liền kề Cơ sở kỹ thuật TTVT 116 D Cơ sở kỹ thuật TTVT 117 D Cơ sở kỹ thuật TTVT 118 Cơ sở kỹ thuật TTVT 119 D Cơ sở kỹ thuật TTVT Hiệu năng của mã turbo phụ thuộc vào:
Kích thước và thiết kế bộ đan xen;
Bộ mã hóa thành phần;
Số lần giải mã lặp. Kích thước bộ đan xen càng lớn
thì BER càng nhỏ. Tăng kích
thước bộ đan xen làm tăng trễ mã
hóa và giải mã => để đạt đựợc
chất lượng tốt đòi hỏi trễ lớn (Dù
sử dụng bộ đan xen kích thước
nhỏ nhưng vẫn đạt được chất
lượng tốt hơn mã xoắn với cùng
mức độ phức tạp). Sau 18 lần lặp, xác suất lỗi bit
thấp hơn 10-5 tại Eb/N0= 0,7dB.
Khi số lần lặp lớn, mức độ cải
thiện chất lượng theo số lần lặp. 120 Cơ sở kỹ thuật TTVT 121 Cơ sở kỹ thuật TTVT Hiệu năng mã turbo:
cho phép giảm SNR
yêu cầu 6 dB nhưng
lại trả giá về băng
thông => cần cân
nhắc dung hòa giữa
SNR và băng thông. Độ lợi mã hóa G: Minh họa độ lợi mã hóa đối với điều chế 64QAM sử dụng
mã hóa turbo r=1/3 122 , Số vòng lặp = 3; SNR= [0 0.5 1.0 1.5 2.0] Số vòng lặp =5; SNR= [0 0.5 1.0 1.5 ] 123 Số vòng lặp = 3; SNR= [0 0.5 1.0 1.5 2.0] Số vòng lặp =5; SNR= [0 0.5 1.0 1.5 ] 124 Cơ sở kỹ thuật TTVT nxk và nyk là hai biến NN Gauss trung bình không phương sai 2; dk là
bit đầu vào bộ mã hóa; ck là bit được mã hóa mã hóa tại thời điểm k: là bit thông tin không được mã hóa (số liệu thông tin);
là bit thông tin được mã hóa (số liệu kiểm tra chẵn lẻ);
là tạp âm AWGN trung bình không và phương sai 2 ; k = 1,2,..., N; ak = (1-2dk):
bk= (1-2ck):
nxk, nyk :
N = L+M là chuỗi ký hiệu phát; L là đội dài chuỗi bit thông tin; M là số bit đuôi 125 Cơ sở kỹ thuật TTVT xác suất cao nhất khi cho trước R1,N. Thực hiện giải mã MAP: Tính logarit tỉ lệ hàm khả giống (LLR: Log likelihood ratio: logarit tỷ lệ khả giống) cho từng dk: Giá trị là đầu ra mềm. Sau khi thực hiện quyết định cứng lên
đầu ra này, kết quả là bit thông tin có khả năng giống bit phát nhất: 126 Cơ sở kỹ thuật TTVT M là số phần tử nhớ, thì APP là Đặt λk,i(m) = P(dk=i,Sk=m|R1,N) là xác suất mà tại thời điểm k, trạng
thái của bộ giải mã là Sk=m, bit phát dk=i khi cho trước chuỗi ký hiệu
thu R1,N (đã thu được chuỗi R1,N); với i=0 hoặc 1 và cộng tất cả các
trạng thái có thể có: 127 Cơ sở kỹ thuật TTVT thu từ R1 đến RN R1,k-1 là chuỗi ký hiệu thu từ R1 đến Rk-1
Rk+1,N là và ký hiệu thu từ Rk+1 đến RN. M là số phần tử nhớ, thì APP là Đặt λk,i(m) = P(dk=i,Sk=m|R1,N), là xác suất trạng thái của bộ giải mã
là Sk=m và bit phát dk=i khi đã thu được chuỗi ký hiệu R1,N tại thời
điểm k: 128 Cơ sở kỹ thuật TTVT Back to MAP là số phần tử nhớ, thì Định nghĩa xác suất liên hiệp λk,i(m) Định luật Bayes 129 Là xác suất hậu định mà
bit dữ liệu được giải mã
dk=i bằng cách lấy tổng
trên tất cả các trạng thái Cơ sở kỹ thuật TTVT thời điểm k (R1,k-1) và chỉ phụ thuộc vào trạng thái Sk= m hiện thời tại thời điểm k Số đo trạng thái ngược (Backward State Metric): Biểu diễn xác suất thu chuỗi ký hiệu sau
thời điểm k (Rk+1,N) và chỉ phụ thuộc vào trạng thái Sk=m cũng như bit trước đó dk=i (thời
điểm k). Sự kiện liên hiệp (dk=i, Sk=m) xác định trạng thái tại thời điểm k+1: Sk+1. f(i,m)là trạng thái tiếp theo khi cho trước bit dk=i và trạng thái Sk=m tại thời điểm k.
k+1(f(i,m)) là số đo trạng thái ngược tại thời điểm k+1 và trạng thái f(i,m). 130 Cơ sở kỹ thuật TTVT thu ký hiệu Rk. 131 k,i(m) Formard State Metrics Reverse State Metrics (cộng bj(m) là trạng thái đi lùi về phía
trước tương ứng với đầu vào j f(j,m) là trạng thái tiếp theo
đã cho trước đầu vào j và
trạng thái m 132 Cơ sở kỹ thuật TTVT 2,0(00) Nhánh xuất phát tại thời điểm tk=2 từ
trạng thái m=00 khi bit vào dk=2 = i=0
và tiến đến trạng thái m=00 tại thời
điểm tk+1=3 => số đo nhánh k,i(m) =
2,0(00). Tương tự cho các nhánh khác k,i(m) 133 k,i(m) Cơ sở kỹ thuật TTVT bj(m) biểu thị trạng thái tại thời điểm k-1 chuyển vào trạng thái
m tại thời điểm k dưới tác động của bit dk-1=j với j=0/1. Tại thời điểm tk: hai nhánh tiến vào nút trạng thái m=00: (i) nhánh 1 do bit
vào j=0 và xuất phát từ trạng thái bj=0(m)=00 tại thời điểm tk-1; (ii) nhánh 2
do bit vào j=1 và xuất phát từ trạng thái bj=1(m)= 01 tại thời điểm tk-1. Vì
thế số đo trạng thái thuận thuận k(m) là: k(00) = [k-1(00) k-1,0(00) + k-1(01) k-1,1(01)]
Tại thời điểm tk+1: hai nhánh (phải hình) tiến vào nút trạng thái m=10: (i)
nhánh 1 do bit vào j=0 và xuất phát từ trạng thái bj=0(m)=01 tại thời điểm tk
; (ii) nhánh 2 do bit vào j=0 và xuất phát từ trạng thái bj=1(m)= 00 tại thời
điểm tk. => Vì thế số trạng thái đo thuận k+1(m) là: k+1(01) = [k(00) k,1(00) + k(01) k,0(01)]
Tất cả các k(m) được tính trong điều kiện chúng được khởi đầu đúng như:
1(m=0) = 1 và 1(m≠0) = 0 2(00) = [1(00) 1,0(00) + 1(01) 1,1(01)] = 1,0(00) Ví dụ: tính 2(00) xét điều kiện khởi đầu cho thí dụ theo trên: 134 Cơ sở kỹ thuật TTVT Thay vì tính tất cả
thuận theo thời
tính ngược
gian,
theo thời gian. Trong đó f(i,m) biểu thị trạng thái tại thời điểm k+1 mà các trạng thái m tại thời điểm j trước đó
sẽ chuyển đến dưới tác động của bit dk=j. Tại thời điểm tk , từ trạng thái m=01 có hai nhánh tiến tới hai
trạng thái tại tk+1 sau: (i) trạng thái fk+1,1(m)=00 khi bit vào
j=1; (ii) trạng thái fk+1,0(m)=10 khi bit vào j=0 => số đo ngược
k(m)=k(01) là: k(01) = k+1(00) k,1(01) + k+1(10) k,1(01)
Tất cả các giá trị được tính trong điều kiện khởi đầu ngược
đúng. Hồi quy ngược được khởi đầu bằng cách buộc trạng thái
cuối cùng trở về 0 và đặt: 3(01) = 4,0(00) 3,1(01) = 3,1(01) 135 Back Số đo nhánh k,i(m) k,i(m) A - Priori Channel
Values k(m) k(m) Số đo trạng thái thuận
k(m) Số đo trạng thái ngược
k(m) Hồi quy ngược được khởi đầu (buộc trạng thái
cuối cùng trở về 0): 1(m=0) = 1 và 1(m≠0) = 0 L+M+1(m=0) = 1 và L+M+1(m≠0) = 0 136 Tất cả các k(m) được tính trong điều kiện được
khởi đầu đúng: Initial conditions
Nguyễn Viết Đảm Back 137 Back 138 codes. The “Turbo Principle” can be described as: “Never discard information prematurely that may be useful in making a decision until all decisions related to that information have been completed.” Andrew Viterbi “It is a capital mistake to theorize before you have all the evidence. It biases the judgment” Sir Arthur Conan Doyle The key component on the decoding side is the SISO module which is a general decoding block (SoftInput SoftOutput) Can be used to improve the interface in systems that employ multiple trellis-based algorithms
Turbo Decoding is similar to ICA, because it tries to separate signals (Noise and Useful Transmitted Signal) Only one data stream is received: redundancy is introduced in the transmitter, in a Extension to multiple data streams is possible
Some channel models, specially multipath channels, can be regarded as a form of Source Encoder which leads to: ➔ Turbo Channel Equalization EXIT charts are powerful tools to analyze convergenve of “Turbo Codes”
Many open topics, for example: Turbo Decoding and ICA together in a mixed approach
Turbo Decoding and EM algorithms
Turbo Channel Equalization and ICA/EM, and many more... 139 1997 [2] Benedetto, Divsalar, Montorsi, Pollara, “A SoftInput SoftOutput Maximum A Posteriori (MAP) Module to Decode Parallel and Serial Concatenated Codes”, TDA Progress Report, November 1996 [3] Joachim Hagenauer, Peter Hoeher, “A Viterbi Algorithm with Soft-Decision Outputs and its Applications”, IEEE, 1989 [4] Stephan ten Brink, “Convergence Behavior of Iteratively Decoded Parallel Concatenated Codes”, IEEE Transactions on Communications, October 2001 [5] Claude Berrou, Alain Glavieux, Punya Thitimajshima, “Near Shannon Limit Error Correcting Coding Bahl, Cocke, Jelinek, Raviv, “Optimal Decoding of Linear Codes for Minimizing Symbol Error Rate”, IEEE Transactions on Information Theory, March 1974 [6] M. Tüchler, Joachim Hagenauer, “EXIT charts of irregular codes”, Conference on Information Sciences and Systems, Princeton University, March 2002 [7] Dayani Adionel Guimaraes, “Descodificacao de Codigo de Producto de Paridade Simples”, INATEL, June 2002 [8] Volker Kühn, “Kanalcodierung II”, Universität Bremen
[9] W. J. Gross, P. G. Gulak, “Simplified MAP algorithm suitable for implementation of turbo codes”, Electronic Letters, August 1998, vol 34 [10] Joachim Hagenauer, Patrick Robertson, Lutz Papke, “Iterative (“Turbo”) Decoding of Systematic Convolutional Codes with the MAP and SOVA algorithms”, ITG Conference, October 1994 [11] Joachim Hagenauer, Elke Offer, Lutz Papke, “Iterative Decoding of Binary Block and Convolutional Codes”, IEEE Transactions on Information Theory, March 1996 [12] Patrick Robertson, Emmanuelle Villebrun, Peter Hoeher, “A Comparison of Optimal and SubOptimal MAP Decoding Algorithms Operating in the Log Domain”, IEEE 1995 140 Cơ sở kỹ thuật TTVT System Modeling
Endcoder: Characteristic and properies
Decoder:
ML and MAP Algorithms 141 Modulator Information
source Demodulator Information
sink 142 Modulator Information
source Information
sink Demodulator
(Soft Output) 143 Biểu đồ trạng thái Trạng thái được trình bày bởi nội dung của bộ nhớ.
Tồn tại 2(K-1)k trạng thái.
Biểu đồ trạng thái thể hiện: Toàn bộ các trạng thái có thể có;
Mọi chuyển dịch giữa các trạng thái;
Mối quan hệ vào/ra của bộ lập mã. Biểu đồ lưới: Là sự mở rộng của biểu đồ trạng thái với mục đích thể
hiện tường minh nguyên lý hoạt động bộ lập mã theo
thời gian. 144 Đầu ra vào 00 Trạng thái 10 01 11 Thời gian 145 Tail bits Input bits 146 Nhánh Ck=(dk,ck) 11 11 00 10 01 Thời gian 147 01 10 Tail bits=M 0 1 1 1 0 00 00 00 00 00 S0=00 11 11 11 11 11 11 S1=10 00 10 10 10 S2=01 k=3 k=4 k=6 k=1 k=2 k=5 10 S3=11 148 00 11 10 11 00 S0=00 00 00 00 00 00 00 S0=00 11 11 11 11 11 11 11 S1=10 S1=10 00 00 10 10 10 10 S2=01 S2=01 01 01 01 01 01 10 k=N+1 k=3 k=N k=1 k=2 k=4 k=N-M k=L Formard State Metrics S3=11 Tail bits=M Reverse State Metrics 0 1 1 0 1 00 00 00 00 00 S0=00 11 11 11 11 S1=10 00 10 10 10 01 01 k=3 k=4 k=6 k=1 k=2 k=5 01 01 10 S3=11 149 11 01 01 11 10 Cơ sở kỹ thuật TTVT 150 k,i(m) Formard State Metrics Reverse State Metrics bj(m) là trạng thái đi lùi về phía
trước tương ứng với đầu vào j f(j,m) là trạng thái tiếp theo
đã cho trước đầu vào j và
trạng thái m 151 Channel k=4 k=1 k=2 k=3 0,25 0,05 0,27 S0=00 11 =3,75
=1,0 =1,0
=3,75 =0,05
=0,07 =0,01
=0,27 00 S1=10 =0,11
=0 =0
=5,56 =5,0
=0,75 =0,05
=0 01 S2=01 10 =1,25
=3,0 =15,01
=0 =0
=0,1 =0
=0,77 01 =0,45
=0 S3=11 =0
=1,14 10 1,0 0,67 0,08 152 =0
=1,11 =5,0
=0 Nhánh Ck=(dk,ck) Nhánh Rk=(xk,yk) 00 11 11 00 10 01 01 Tính LLR của dk và quyết định cứng. 153 Nhánh Rk=(xk,yk) 0,05 00 00 11 11 00 00 10 10 01 01 1.0 10 10 Tại k=1, R1 = [x1,y1]= (1,5; 0,8) 154 Tại k=1, R1 = [x1,y1]= (1,5; 0,8) 0,05 00 11 00 11 01 1.0 10 k=2 k=3 k=4 k=1 00 0,25 0,05 0,27 S0=00 11 00 S1=10 11 01 S2=01 10 01 155 S3=11 10 1,0 0,67 0,08 k,i(m) Formard State Metrics Reverse State Metrics bj(m) là trạng thái đi lùi về phía
trước tương ứng với đầu vào j f(j,m) là trạng thái tiếp theo
đã cho trước đầu vào j và
trạng thái m 156 Formard State Metrics
0,25 =3,75 =0,05
=0,05 k=3 k=2 k=1 00 0,05 0,27 S0=00 =1,0 11 =0,01 =5 .0
=5,0 00 S1=10 =0,05 =0,11 =0 11 01 S2=01 10 =0
=0 =15,01 =1,25 =0 01 S3=11 1,0 0,67 0,08 =0 =0
=0 =5,0 157 =0,45
bj(m) là trạng
thái đi lùi về
trước
phía
tương
ứng
với đầu vào j f(j,m) là trạng thái tiếp
theo đã cho trước đầu vào
j và trạng thái m k=3 k=4 k=2 k=1 00 0,25 0,05 Reverse State Metrics
0,27 S0=00 11 =1,0 =3,75 =0,07 00 S1=10 =0 =5,56 =0,75 11 =0 01 S2=01 10 =0,77 =3,0 =0 =0,1 01 158 S3=11 10 1,0 0,67 0,08 =0 =1,11 =0 =1,14 =1,0 Reverse State Metrics k=3 k=1 00 k=2 k=4 0,25 Formard State Metrics
0,05 0,27 S0=00 11 =0,27 =3,75
=1,0 =0,05
=0,05
=0,07
=0,07 00 S1=10 =0,11
=0 =0 11 =0
=5,56 =5,0
=0,75 01 S2=01 10 =0 =1,25
=3,0 =15,01
=0 =0
=0,1 01 S3=11 10 1,0 0,67 0,08 =0
=1,11 =5,0
=0 bj(m) là trạng thái đi lùi về phía
trước tương ứng với đầu vào j f(j,m) là trạng thái tiếp theo đã cho
trước đầu vào j và trạng thái m 159 =0,45
=0 =0
=1,14 k=3 k=1 00 k=2 k=4 0,25 0,05 0,27 S0=00 =3,75
=1,0 =1,0
=3,75 =0,05
=0,07 =0,01
=0,27 00 S1=10 =0
=5,56 =0,11
=0 11 =5,0
=0,75 =0,05
=0 01 S2=01 10 =15,01
=0 =1,25
=3,0 =0
=0,1 =0
=0,77 1,0 0,67 0,08 S3=11 =0,45
=0 =0
=1,14 10 160 =0
=1,11 =5,0
=0 k=3 k=1 k=2 k=4 0,25 0,05 0,27 S0=00 11 =3,75
=1,0 =1,0
=3,75 =0,05
=0,07 =0,01
=0,27 00 S1=10 =0,11
=0 =0
=5,56 =5,0
=0,75 =0,05
=0 01 10 =1,25
=3,0 =15,01
=0 =0
=0,1 =0
=0,77 01 S3=11 =0,45
=0 10 1,0 0,67 0,08 =0
=1,14 161 =0
=1,11 =5,0
=0 k=3 k=1 00 k=2 k=4 0,25 0,05 0,27 S0=00 =0,01
=0,27 =1,0
=3,75 =0,05
=0,07 11 =3,75
=1,0 00 S1=10 =0,11
=0 11 =0
=5,56 =5,0
=0,75 =0,05
=0 01 S2=01 10 =15,01
=0 =1,25
=3,0 =0
=0,1 =0
=0,77 S3=11 1,0 0,67 0,08 162 =0,45
=0 =0
=1,11 =5,0
=0 =0
=1,14 0,05 k=3 k=1 00 k=2 k=4 0,25 0,27 S0=00 11 =3,75
=1,0 =0,01
=0,27 =1,0
=3,75 =0,05
=0,07 00 S1=10 =0,05
=0 =0,11
=0 11 =0
=5,56 =5,0
=0,75 01 S2=01 =1,25
=3,0 =15,01
=0 =0
=0,1 =0
=0,77 01 S3=11 10 1,0 0,67 0,08 163 =0,45
=0 =0
=1,11 =5,0
=0 =0
=1,14 Channel k=2 k=3 k=4 k=1 0,25 0,05 0,27 S0=00 11 =3,75
=1,0 =0,05
=0,07 =0,01
=0,27 =1,0
=3,75 00 S1=10 =0,11
=0 =0
=5,56 =5,0
=0,75 =0,05
=0 01 S2=01 10 =1,25
=3,0 =15,01
=0 =0
=0,1 =0
=0,77 01 =0,45
=0 S3=11 10 1,0 0,67 0,08 =0
=1,14 164 =0
=1,11 =5,0
=0 Cơ sở kỹ thuật TTVT 165 Mục đích Xây dựng mô hình (mô hình hóa) hệ thống truyền dẫn tín hiệu BPSK trong môi
trường kênh AWGN.
Mô phỏng hiệu năng BER đối với tín hiệu nhị phân đối cực và trực giao trong môi
trường kênh AWGN. Nội dung: Tóm tắt lý thuyết: Hiểu mô hình toán
Vẽ mô hình mô phỏng.
Đọc mã chương trình mô phỏng: NVD_D12VT_BER_BPSK_AWGN
Xác định các tham số đầu vào của chương trình mô phỏng.
Thực hiện mô phỏng theo từng bước và thay đổi giá trị các tham số đầu vào chương trình cho mỗi lần mô phỏng. Lưu các kết quả sau mỗi lần mô phỏng: ảnh hưởng của các tham số đầu vào lên kết quả mô phỏng. Báo cáo kết quả: Vẽ lưu đồ thuật toán.tổng hợp, phân tích, đánh giá nhận xét kết quả mô phỏng.
Mô phỏng từng bước, xác định và thay đổi các tham số đầu vào chương trình, phân tích ảnh hưởng của các tham số đầu vào lên kết quả mô phỏng. 166 Bộ tương quan Dao động
nội phát
TLO 167 168 SNRindB = 0:1:9;
SNR = 10.^(SNRindB/10);
Eb = 1;
sgma = Eb./sqrt(2*SNR);
Numbit = 10^5; X= sgma(j)*randn(1) % Generation of the binary data source and AWGN channel
temp = rand; % Uniform radom variable over (0,1)
if (temp<0.5),
dsource(i)=1; % With probability 1/2 source output is 1
X = sgma(j)*randn(1)
Y = - sqrt(Eb) + X; % 1 with enrery is –sqrt(Eb); AWGN
else
dsource(i)=0; % With probability 1/2 source output is 0
X = sgma(j)*randn(1)
Y = Eb + X; % 0 with enrery is +sqrt(Eb); AWGN
end if (Y<0)
decis = 1;
else
decis = 0;
end; if (decis~=dsource(i))
numoferr = numoferr+1;
end smld_err_prb(j) = numoferr/Numbits; 169 SNRindB = 0:0.5:10; SNR = 10.^(SNRindB/10); Eb = 1; sgma = E./sqrt(2*SNR); NumBit = 10^7; Cơ sở kỹ thuật TTVT
Chương trình mô phỏng BER cho hệ thống BPSK trong môi trường kênh AWGN Vẽ % Uniform radom variable over (0,1) % With probability 1/2 source output is 1
% Generated Gaussian Random Variable
% 1 with enrery is –sqrt(Eb); and pass AWGN channel hóa
trình % With probability 1/2 source output is 0
% Generated Gaussian Random Variable
% 0 with enrery is +sqrt(Eb); and pass AWGN channel thuật
lưu đồ
toán, đặt lại tên các
biến số.
Modul
các
theo
chương
mô hình mô phỏng.
Tối ưu hóa chương
trình. % if it is an error, increase the error counter Sử dụng hàm tic,
toc, clock, cputime
kiểm tra thời gian
chạy chương trình.
So sánh thời gian
mô phỏng BER và
thời gian tính toán
BER. 170 end Kịch bản mô phỏng
SNR = [0:1:7]; % xét cho nhiều giá trị của SNR kênh AWGN
NumBits = 10^6; % Thực hiện trên nhiều vòng lặp lấy mẫu kênh, số Kết quả mô phỏng SNR (dB) Biến NN gausian X Số lỗi BER 171 Cơ sở kỹ thuật TTVT
Tính toán khảo sát, mô tả BER hệ thống BPSK trong kênh AWGN Q = 0.5 *erfc(u/sqrt(2)); Matlab
hóa = 0:1:10; % E/N0
= 10.^(SNRindB/10); SNRindB
SNR theo_Orthogonal_err_prb(i) = Qfunct(sqrt(SNR(i))); % = 0.5 *erfc(sqrt(SNR(j)/2));
theo_Antipodal_err_prb(i) = Qfunct(sqrt(2*SNR(i))); % = 0.5 *erfc(sqrt(SNR(j))); for i=1:length(SNR)
end Kết quả mô tả Sử dụng các hàm display () và disp () để hiển thị kết quả ra mần hình, tính toan tra bảng hàm Q(x) để so sánh 172 Vẽ so sánh xác xuât lỗi trên cùng một hình Biễu diễn
kết tính
toán
BER bởi
hàm Q()
tại SNR
= 0 dB; 2
dB…..
bằng đồ
thị và
hàm
display:
Giải
thích,
phân tích
kết quả
tính toán. Biễu
diễn kết
quả mô
phỏng
BER tại
SNR = 0
dB; 2
dB…..
bằng đồ
thị và
hàm
display:
Giải
thích,
phân
tích kết
quả mô
phỏng. theo_Orthogonal_err_prb(i) = Qfunct(sqrt(SNR(i)));
theo_Antipodal_err_prb(i) = Qfunct(sqrt(2*SNR(i))); 173 Vẽ hóa
trình thuật
lưu đồ
toán, đặt lại tên các
biến số.
Modul
các
theo
chương
mô hình mô phỏng.
Tối ưu hóa chương
trình. Sử dụng hàm tic,
toc, clock, cputime
kiểm tra thời gian
chạy chương trình.
So sánh thời gian
mô phỏng BER và
thời gian tính toán
BER. SNRindB = 0:1:12; SNR = 10.^(SNRindB/10); Eb = 1; sgma = Eb./sqrt(2*SNR); NumBits = 10^7; 174 % Theoretical error rate
theo_Antipodal_err_prb = 0.5 *erfc(sqrt(SNR));
% Simulated error rate
for j=1:length(SNR)
% Generation of the binary data Block
dsource = 0.5*(sign(rand(1,NumBits)-0.5)+1);
for i = 1:length(dsource)
% Pass AWGN channel
if dsource(i)==1,
X = sgma(j)*randn(1);
Y = -sqrt(Eb) + X;
else
X = sgma(j)*randn(1);
Y = sqrt(Eb) + X;
end
% detector follows/Decission
if (Y<0)
decis(i) = 1; % Decission is '1'
else
decis(i) = 0; % Decission is '0'
end;
end;
smld_err_prb(j) = sum(decis~=dsource)/NumBits;
end Biễu diễn
kết tính
toán
BER bởi
hàm Q()
tại SNR
= 0 dB; 2
dB…..
bằng đồ
thị và
hàm
display:
Giải
thích,
phân tích
kết quả
tính toán. Biễu
diễn kết
quả mô
phỏng
BER tại
SNR = 0
dB; 2
dB…..
bằng đồ
thị và
hàm
display:
Giải
thích,
phân
tích kết
quả mô
phỏng. 175 tín hiệu (phân tích công thức PSD và xác suất lỗi). Matlab thực hiện các khối chức năng của mô hình mô phỏng. Matlab như: xác định đầu vào/ra kênh AWGN. Biễu diễn kết quả mô phỏng BER tại: SNR = 0 dB; 2 dB….. bằng đồ thị và hàm display(): Giải thích, phân tích kết quả mô phỏng. Biễu diễn kết tính toán BER bởi hàm Q()tại: SNR = 0 dB; 2 dB….. bằng đồ thị và hàm display: Giải thích, phân tích kết quả tính toán. 176 Mục đích Mô hình hóa và mô phỏng BER hệ thống truyền dẫn tín hiệu BPSK cùng với mã hóa/giải mã
xoắn trong môi trường kênh AWGN Nội dung: Tóm tắt lý thuyết: Hiểu quá trình mã hóa/giải mã xoắn trên cơ sở biểu đồ lưới; giải thuật giải mã ML và Viterbi. Phân tích mô hình mô phỏng.
Đọc mã chương trình mô phỏng: NVD_D12VT_COV_Encoder_Decoder; Xác định và phân tích các tham số đầu vào của chương trình mô phỏng.
Xác định và phân tích các đoạn mã chương trình Matlab thực hiện các khối chức năng của
môi hình mô phỏng; xác định và phân tích tín hiệu vào/ra của các khối trong mô hình mô
phỏng trên chương trình Matlab. Thực hiện mô phỏng theo từng bước, thay đổi giá trị các tham số đầu vào chương trình cho
mỗi lần mô phỏng và lưu các kết quả sau mỗi lần mô phỏng: ảnh hưởng của các tham số đầu
vào lên kết quả mô phỏng. Báo cáo: Phân tích mô hình mô phỏng và vẽ lưu đồ mô phỏng.
Biểu diễn và phân tích phân tích ảnh hưởng của các tham số đầu vào lên kết quả mô phỏng.
Tổng hợp, phân tích, đánh giá nhận xét các kết quả mô phỏng 177 Modulator Information
source Demodulator Information
sink 178 Cơ sở kỹ thuật TTVT
Sơ đồ khối hệ thống truyền thông số cơ bản với mã hóa/giải mã xoắn Modulator Information
source Demodulator Information
sink Mô hình hóa và mô phỏng quá trình mã hóa và giải mã xoắn BPSK trong môi trường kênh AWGN. 179 Bộ tương quan 1 4 180 1 3 4 181 Cơ sở kỹ thuật TTVT
Mô hình hóa và mô phỏng BER hệ thống BPSK sử dụng mã xoắn trong kênh AWGN 1 3 2 4 182 Cơ sở kỹ thuật TTVT
Mô hình hóa và mô phỏng quá trình mã hóa/giải mã xoắn 1 183 2 4 Input bits Tail bits 1 0 0 0 1
Output bits 00 11 10 11
00 10
00 184 Tail bits Input bits 1 0 0 0 1
Output bits 00 11 10 11
00 10
00 185 Input bits Tail bits 186 Lỗi phân tán 00 00 00 00 00 11 11 11 11 11 11 00 10 10 10 01 01 01 01 10 187 Cơ sở kỹ thuật TTVT
Chương trình mô phỏng quá trình mã hóa xoắn/giải mã Nhập các giá trị
tham số đầu vào
chương trình mô
phỏng theo các
ví dụ và bài tập Nhập tham số đầu vào cho chương trình = []; % nhập k bit vào đồng thời
= []; % Nhập ma trận tạo mã
= []; % Nhập khối bản tin k0
G
Iput
error_vector= []; % Nhập vectơ lỗi %% Eencoder ==================== Encoder_output = NVD_COV_Encoder(G,k0,iput); %% Pass channel ==================== channel_out = xor(Encoder_output,error_vector); %% De_encoder =================== decoder_output = NVD_COV_Dencoder(G,k0,channel_out); 188 Cơ sở kỹ thuật TTVT
Mô hình mô phỏng BER hệ thống BPSK sử dụng mã xoắn trong 3 1 4 189 2 = 0:1:8;
= 10.^(SNRindB/10);
= 1;
= Eb./sqrt(2*SNR); SNRindB
SNR
Eb
sgma
Block_size = 1000;
= 200;
Num_Block
= Num_Block*Block_size;
NumBits
mode
= 1; %
if mode ==2
k0 = 1;
% G = [1 1 1 1 0 0 1;1 0 1 1 0 1 0];
G = [1 1 1;1 0 1];
end
% Calculation for error Probability
theo_Antipodal_err_prb = 0.5 *erfc(sqrt(SNR)); 190 Cơ sở kỹ thuật TTVT
Chương trình mô phỏng BER hệ thống BPSK dùng mã hóa xoắn 191 G = [1 1 1;1 0 1]; 192 G = [1 1 1 1 0 0 1;1 0 1 1 0 1 0]; 193 Cơ sở kỹ thuật TTVT
Mô phỏng BER hệ thống BPSK dùng mã hóa xoắn trong môi trường kênh AWGN k0 = 2; r =k/n=2/3
G = [0 0 1 0 1 0 0 1;0 0 0 0 0 0 0 1;1 0 0 0 0 0 0 1]; 194 Cơ sở kỹ thuật TTVT
Mô phỏng BER hệ thống BPSK dùng mã hóa xoắn trong môi trường kênh AWGN Cơ sở kỹ thuật TTVT
Báo cáo và kiểm tra lưới. 195 k=3 k=4 k=1 k=6 k=7 k=2 k=5 k=3 k=4 k=6 k=1 k=8 k=9 k=2 k=5 k=7 196 Cơ sở kỹ thuật TTVT k=3 k=4 k=6 k=1 k=8 k=9 k=2 k=5 k=7 k=3 k=4 k=6 k=1 k=8 k=9 k=11 k=2 k=5 k=7 k=10 197 k=2 k=3 k=4 0,05 0,25 0,27 11 =1,0
=3,75 =0,05
=0,07 =0,01
=0,27 =3,7
5
=1,0 00 =0,05
=0 =0,11
=0 11 =5,0
=0,75 =0
=5,5
6 01 =0
=0,1 =1,25
=3,0 =0
=0,77 =15,0
1
=0 01 10 1,0 0,67 0,08 198 =0,45
=0 =0
=1,11 =5,0
=0 =0
=1,14 199 Cơ sở kỹ thuật TTVT 200 201 Cơ sở kỹ thuật TTVT Cơ sở kỹ thuật TTVT Matlab Tạp âm Gausơ Điện áp tạp âm Gauss và hàm mật độ xác suất Hàm FX(x) cho biết xác suất điện áp tạp âm
thấp hơn mức x Hàm phân bố xác suất và mật độ xác suất
của tạp âm Gauss 202Nguyễn Viết Đảm
Sơ đồ khối hệ thống truyền thông cơ bản với mã xoắn
Cơ sở kỹ thuật TTVT
1
2
Rate k/n
Conv. encoder
Nguyên tắc giải mã ML: Chọn đường dẫn có khoảng cách
Hamming cực tiểu so với chuỗi thu.
C
h
a
n
n
e
l
4
3
Rate k/n
Conv. decoder
Nguyễn Viết Đảm
Sơ đồ khối hệ thống truyền thông số cơ bản với mã hóa/giải mã xoắn
Cơ sở kỹ thuật TTVT
1
2
Rate k/n
Conv. encoder
N
N
n
ế
i
Tạo
Vectơ lỗi
b
o
ạ
T
ơ
s
u
a
G
ố
b
n
â
h
p
I
p
ợ
h
g
n
ờ
ư
r
T
I
I
p
ợ
h
g
n
ờ
ư
r
T
4
3
Rate k/n
Conv. decoder
Trường hợp I:
Trường hợp II: Mô hình hóa và mô phỏng hiệu năng của mã xoắn cho hệ thống
Nguyễn Viết Đảm
4.4. Mã xoắn
Sơ đồ tổng quát của một bộ lập mã xoắn với tỷ lệ mã k/n
Nguyễn Viết Đảm
4.4. Mã xoắn
Nguyễn Viết Đảm
4.4. Mã xoắn
Nguyễn Viết Đảm
4.4. Mã xoắn
Nguyễn Viết Đảm
4.4. Mã xoắn
Bộ mã hóa xoắn tỉ lệ mã hóa ½
Nguyễn Viết Đảm
4.4. Mã xoắn
Khởi tạo mộ nhớ trước khi mã hóa bít dữ liệu đầu tiên
Bộ lập mã
Nguyễn Viết Đảm
4.4. Mã xoắn
Nguyễn Viết Đảm
4.4. Mã xoắn
Nguyễn Viết Đảm
Đa thức tạo mã, sơ đồ tạo mã, biểu đồ trạng thái, biểu đồ lưới
Cơ sở kỹ thuật TTVT
0/00
0/11
1/11
0/00
1/00
1/11
0/11
0/10
1/00
0/10
1/01
1/01
0/01
0/01
1/10
1/10
Nguyễn Viết Đảm
Đa thức tạo mã, sơ đồ tạo mã, biểu đồ trạng thái, biểu đồ lưới
Cơ sở kỹ thuật TTVT
1 1 1 0 0 0 1 0 1 1
1
0
0
0
11
00
10
00
1
Output bits
00
00
10
00
11
00
11
11
11
11
11
11
11
11
11
11
00
00
00
00
00
10
10
10
10
10
01
01
01
01
01
01
01
01
01
01
10
10
10
10
10
Nguyễn Viết Đảm
Giải mã tối ưu
Cơ sở kỹ thuật TTVT
Nguyên tắc giải mã ML: Chọn đường dẫn có khoảng cách
Hamming cực tiểu so với chuỗi thu.
Nguyễn Viết Đảm
Giải mã tối ưu
Cơ sở kỹ thuật TTVT
1
0
0
Nguyên tắc giải mã ML: Chọn đường dẫn có khoảng cách
Hamming cực tiểu so với chuỗi thu.
Nguyễn Viết Đảm
Giải mã ML cho kênh không nhớ
Cơ sở kỹ thuật TTVT
Chọn một đường dẫn có số đo nhỏ nhất trong tất cả các đường dẫn trong lưới.
Đường dẫn này là đường dẫn "gần" với chuỗi phát nhất Chọn đường dẫn
có khoảng cách Hamming cực tiểu so với chuỗi thu.
Nguyễn Viết Đảm
Giải mã quyết định cứng và quyết định mềm
Cơ sở kỹ thuật TTVT
Nguyễn Viết Đảm
Thuật toán giải mã Viterbi
Cơ sở kỹ thuật TTVT
Nguyễn Viết Đảm
Thuật toán giải mã Viterbi
Cơ sở kỹ thuật TTVT
Nguyễn Viết Đảm
Minh họa giải mã Viterbi quyết định cứng
Cơ sở kỹ thuật TTVT
Tại thời điểm i: k bit vào và n ký hiệu đầu ra đồng thời bộ lập mã k bit/nhánh, n ký hiệu/nhánh
Nguyễn Viết Đảm
Minh họa giải mã Viterbi quyết định cứng
Cơ sở kỹ thuật TTVT
Đánh nhãn cho tất cả các nhánh bởi số đo nhánh (khoảng cách Hamming giữa Vi và Ci)
2
1
1
1
2
1
0
0
1
1
0
0
2
1
0
1
2
2
1
1
Nguyễn Viết Đảm
Minh họa giải mã Viterbi quyết định cứng
Cơ sở kỹ thuật TTVT
Lỗi cụm, phâdinh sâu
2
1
2
1
1
1
0
0
0
1
1
0
2
1
0
1
2
2
1
1
Nguyễn Viết Đảm
Minh họa giải mã Viterbi quyết định cứng
Cơ sở kỹ thuật TTVT
2
1
2
1
1
1
0
0
0
1
1
0
2
1
0
1
2
2
1
1
Nguyễn Viết Đảm
Minh họa giải mã Viterbi quyết định cứng
Cơ sở kỹ thuật TTVT
2
1
1
2
1
1
0
0
1
0
1
1
2
0
0
1
2
2
1
1
Nguyễn Viết Đảm
Minh họa giải mã Viterbi quyết định cứng
Cơ sở kỹ thuật TTVT
2
1
2
1
1
1
0
0
0
1
1
1
2
0
0
1
2
2
1
1
Nguyễn Viết Đảm
Minh họa giải mã Viterbi quyết định cứng
Cơ sở kỹ thuật TTVT
2
1
2
1
1
1
0
0
0
1
1
1
2
0
0
1
2
2
1
1
Nguyễn Viết Đảm
Minh họa giải mã Viterbi quyết định cứng
Cơ sở kỹ thuật TTVT
2
1
2
1
1
1
0
0
0
1
1
1
2
0
0
1
2
2
1
1
Nguyễn Viết Đảm
Minh họa giải mã Viterbi quyết định cứng
Cơ sở kỹ thuật TTVT
Lỗi phân tán
Nguyễn Viết Đảm
Minh họa giải mã Viterbi quyết định cứng
Cơ sở kỹ thuật TTVT
Nguyễn Viết Đảm
Minh họa giải mã Viterbi quyết định cứng
Cơ sở kỹ thuật TTVT
2
1
1
1
1
1
0
1
1
1
1
0
1
2
0
0
2
2
0
2
Nguyễn Viết Đảm
Minh họa giải mã Viterbi quyết định cứng
Cơ sở kỹ thuật TTVT
2
1
1
1
1
1
0
1
1
1
1
0
1
2
0
0
2
2
0
2
Nguyễn Viết Đảm
Minh họa giải mã Viterbi quyết định cứng
Cơ sở kỹ thuật TTVT
2
1
1
1
1
1
0
1
1
1
1
0
1
2
0
0
2
2
0
2
Nguyễn Viết Đảm
Minh họa giải mã Viterbi quyết định cứng
Cơ sở kỹ thuật TTVT
2
1
1
1
1
1
0
1
1
1
1
2
1
0
0
0
2
2
0
2
Nguyễn Viết Đảm
Minh họa giải mã Viterbi quyết định cứng
Cơ sở kỹ thuật TTVT
2
1
1
1
1
1
0
1
1
1
1
2
1
0
0
0
2
2
0
2
Nguyễn Viết Đảm
Minh họa giải mã Viterbi quyết định cứng
Cơ sở kỹ thuật TTVT
2
1
1
1
1
1
0
1
1
1
1
2
1
0
0
0
2
2
0
2
Nguyễn Viết Đảm
Minh họa giải mã Viterbi quyết định cứng
Cơ sở kỹ thuật TTVT
2
1
1
1
1
1
0
1
1
1
1
2
1
0
0
0
2
2
0
2
Nguyễn Viết Đảm
Mã hoá xoắn ở W-CDMA
Cơ sở kỹ thuật TTVT
x7
Nguyễn Viết Đảm
4
4.6. MÃ TURBO
4.6.1. Khái quát mã Turbo
4.6.2. Các mã xoắn hệ thống
4.6.3. Sơ đồ bộ tạo mã Turbo
4.6.4. Giải thuật giải mã MAP
4.6.4. 1. Nguyên lý MAP
4.6.4.2. Biểu thức số đo nhánh k,i(m)
4.6.4. 3. Biểu thức số đo trạng thái thuận k(m)
4.6.4. 4. Biểu thức số đo trạng thái ngược k(m)
4.6.5. Giải mã Turbo
4.5.6. Giải mã Turbo lặp
4.6.7. Hiệu năng của mã Turbo
4.6.8. Mã Turbo trong các hệ thống thông tin di động 3G và 4G
Nguyễn Viết Đảm
4.6.1. Khái quát mã Turbo
Key achievements in the history of “Turbo Codes“
Nguyễn Viết Đảm
4.6.1. Khái quát mã Turbo
1
2
Channel Encoder
C
h
a
n
n
e
l
4
3
Channel Decoder
Sơ đồ khối hệ thống truyền thông số cơ bản với mã hóa/giải mã kênh
72
Nguyễn Viết Đảm
Sơ đồ khối hệ thống truyền thông cơ bản với mã Turbo
Cơ sở kỹ thuật TTVT
2
1
Turbo Encoder
(PCCC-RSC)
Why do you study ?
C
h
a
n
n
e
l
3
4
Turbo Decoder
(MAP-SISO)
Nguyễn Viết Đảm
Giải mã quyết định cứng và quyết định mềm
Cơ sở kỹ thuật TTVT
Nguyễn Viết Đảm
4.6.1. Khái quát mã Turbo
correlations, in a controlled manner, used to separate signal from noise
The MAP algorithm was based on the estimation of the probability of a
decoded bit given the received sequence. It produces soft outputs which can be
used in an iterative process to increase the reliability of the final decision.
Nguyễn Viết Đảm
4.6.1. Khái quát mã Turbo
How should Channel Codes look like?
Shannon has shown that large block-length random codes
“Almost all codes are good, except those that we can think of“
Solution:
Lưu ý: Để đạt được hiệu năng gần với giới hạn dung lượng kênh
Shannon, cần thực hiện giải mã có độ phức tạp vô tận
hoặc gần như vô tận.
Nguyễn Viết Đảm
4.6.1. Khái quát mã Turbo
Nguyễn Viết Đảm
4.6.1. Khái quát mã Turbo
Nguyễn Viết Đảm
4.6.1. Khái quát mã Turbo
Parallel / Serial Concatenated Codes
Serial encoder concatenation
Serial decoder concatenation
Parallel encoder concatenation
Parallel decoder concatenation
Nguyễn Viết Đảm
Bayes Rule and MAP decoding
(single bit case...)
P(AB) = P(A|B)P(B)
= P(B|A)P(A)
Nguyễn Viết Đảm
Bayes Rule and MAP decoding
Cơ sở kỹ thuật TTVT
MAP là giải thuật tốt hơn => xét MAP
Nguyễn Viết Đảm
Bayes Rule and MAP decoding
Cơ sở kỹ thuật TTVT
P(AB) = P(A|B)P(B) = P(B|A)P(A)
APP =
P(d=i|x)
được coi
là “tinh
lọc” TT
tiên
nghiệm
về dữ
liệu
Nguyễn Viết Đảm
BCJR decoding algorithm = MAP decoding algorithm
Cơ sở kỹ thuật TTVT
innovations
complete received
sequence
Nguyễn Viết Đảm
Bayes Rule and MAP decoding
Cơ sở kỹ thuật TTVT
Soft-input/soft-output decoder model
Nguyễn Viết Đảm
Giải mã quyết định cứng và quyết định mềm
Cơ sở kỹ thuật TTVT
Nguyễn Viết Đảm
Giải thuật Viterbi VA và MAP
Cơ sở kỹ thuật TTVT
Giống nhau:
Giải thuật Viterbi VA: Cộng số đo nhánh vào số đo trạng thái. Sau đó,
so sánh và chọn khoảng cách nhỏ nhất (khả năng giống nhất ML) để
tạo số đo trạng thái tiếp theo (tích lũy), quá trình này được gọi cộng -
so sánh - chọn (ACS: Add-Compare-Select).
Nguyễn Viết Đảm
The Soft-Input Soft-Output Module
Cơ sở kỹ thuật TTVT
Extrinsic information of a MAP decoder
For a systematic code, each quantity computed by the MAP
decoder is equal to the sum of the noisy information (x, the data
received at the decoder input) and the extrinsic information
Notice some interesting properties of the extrinsic information
All these properties allow us to use the extrinsic information
produced by a MAP decoder as an input to another MAP
decoder.
The MAP algorithm is very sensitive to correlation between
consecutive symbols
Nguyễn Viết Đảm
4.6.1. Khái quát mã Turbo
from:
Nguyễn Viết Đảm
4.6.2. Mã xoắn hệ thống
Mã xoắn hệ thống và phi hệ thống
Mã xoắn đệ quy và không hồi quy
Mã xoắn hệ thống hồi quy
ck
Mã xoắn hệ thống hồi quy
Nguyễn Viết Đảm
Ma trận tạo mã, sơ đồ tạo mã, biểu đồ lưới của mã Turbo
Cơ sở kỹ thuật TTVT
Ma trận tạo mã (hàm truyền đạt)
Mã RSC
Trạng thái
D0,kD1,k
Trạng thái
D0,k+1D1,k+1
00
Nguyễn Viết Đảm
Đặc điểm lưới của mã Turbo/Trạng thái đầy đủ và bit đuôi
Cơ sở kỹ thuật TTVT
01
01
01
01
Nguyễn Viết Đảm
Đặc điểm lưới của mã Turbo/Trạng thái đầy đủ và bit đuôi
Cơ sở kỹ thuật TTVT
11
01
10
S3=11
11
11
S2=01
Nguyễn Viết Đảm
Ma trận tạo mã (hàm truyền đạt)
Lưới của RSC: Thể hiện tất cả các chuyển đổi trạng thái có thể có.
Mỗi nhánh cho ba thông tin: (i) trạng thái của nhánh (trạng thái hiện tại
và trạng thái tiếp theo); (ii) đầu ra được mã hóa ck; (iii) bit số liệu
không mã hóa dk.
Nguyễn Viết Đảm
Ma trận tạo mã (hàm truyền đạt)
Lưới của RSC:
Thể hiện tất cả các
chuyển đổi trạng
thái có thể có. Mỗi
nhánh cung cấp ba
thông tin: (i) trạng
thái của nhánh
(trạng thái hiện tại
và trạng thái tiếp
theo); (ii) đầu ra
được mã hóa ck;
(iii) bit số liệu
không mã hóa dk.
Giải thuật Viterbi: Tìm
một đường dẫn trên lưới
(tất cả các đường dẫn có
thể) giống với chuỗi thu
nhất.
Giải thuật MAP: đưa
ra các đầu ra mềm. Giải
thuật này dựa trên việc
tìm kiếm bit có xác suất
lớn nhất, khi biết chuỗi
bit bị tạp âm => dùng
cho giải mã Turbo
Đường đậm nét biểu thị đường dẫn cho chuỗi bit bản tin vào bộ mã hóa là 011
Nguyễn Viết Đảm
4.6.3. Sơ đồ tạo mã Turbo
động:
Bộ tạo mã turbo dựa trên hai bộ bộ tạo mã RSC
Nguyễn Viết Đảm
4.6.3. Sơ đồ tạo mã Turbo
phụ thuộc vào:
For I:=1toN
Indata[int[I]:=dat[I]
Hiệu năng của mã turbo phụ thuộc vào kiểu và độ sâu của bộ đan xen: Vì cấu trúc bộ đan xen
ảnh hưởng lên tính chất khoảng cách của mã turbo (khoảng các lớn nhất giữa các ký hiệu cạnh
nhau ở đầu vào). Kích thước bộ đan xen càng lớn thì BER càng nhỏ. Tăng kích thước bộ đan xen
làm tăng trễ mã hóa và giải mã, nên để đạt đựợc chất lượng tốt từ mã turbo đòi hỏi trễ lớn (Dù sử
dụng bộ đan xen kích thước nhỏ nhưng vẫn đạt được chất lượng tốt hơn mã xoắn với cùng mức
độ phức tạp).
Nguyễn Viết Đảm
4.6.4. Giải thuật giải mã MAP
4.6.4.1. Nguyên lý MAP
Đầu vào giải mã là chuỗi N bit mã hóa, điều chế BPSK bị tạp âm:
Nguyễn Viết Đảm
4.6.4. Giải thuật giải mã MAP
P(dk=0|R1,N);
P(dk=1|R1,N) là xác suất
phát hiện dk=0 và dk=1
khi đã thu được chuỗi
R1,N
Nguyễn Viết Đảm
4.6.4. Giải thuật giải mã MAP
Nếu Sk=m là trạng thái của bộ giải mã tại thời điểm k; m=0,1,..,2M-1;
Nguyễn Viết Đảm
4.6.4. Giải thuật giải mã MAP
Nếu Sk = m là trạng thái của bộ giải mã tại thời điểm k; m=0,1,..,2M-1;
R1,N=[R1,k-1,Rk,Rk+1,N] là chuỗi ký hiệu
Với i=0 hoặc 1 và cộng tất cả các
trạng thái có thể có của bộ giải mã
Nguyễn Viết Đảm
4.6.4. Giải thuật giải mã MAP
Nếu Sk là trạng thái của bộ giải mã tại thời điểm k; m=0,1,..,2M-1; M
Nguyễn Viết Đảm
4.6.4. Giải thuật giải mã MAP
Lưu ý rằng: R1,k-1 chỉ liên
quan đến trạng thái Sk=m mà
nó gây ra, và không thụ
thuộc vào phụ thuộc vào dk
cũng như Rk,N (là các sự kiện
xẩy ra sau đó)
Lưu ý rằng: Rk+1,N chỉ liên
quan đến giá tri bit dk và
trạng thái thái tại thời điểm k
(Sk=m) mà không phụ thuộc
Rk (là các sự kiện xẩy ra
trước đó)
Nguyễn Viết Đảm
4.6.4. Giải thuật giải mã MAP
=> Kết quả là:
Nguyễn Viết Đảm
Summary of the state Metrics and Branch metrics
Cơ sở kỹ thuật TTVT
b) Số đo trạng thái ngược:
a) Số đo trạng thái thuận:
Giải thuật MAP:
Nhân
trong miền
logarit) số đo trạng thái với số
đo nhánh. Sau đó, thay vì so
sánh chúng với nhau là cộng
chúng để tạo thành số đo trạng
thái thuận (hoặc ngược) tiếp
theo.
Số đo nhánh:
Trình bày số đo trạng thái thuận k(m) và số đo trạng thái ngược k(m) trên lưới
Nguyễn Viết Đảm
4.6.4. Giải thuật giải mã MAP
4.6.4.2. Biểu thức số đo nhánh k,i(m) [Phụ lục]
Ví dụ: Xét hai nhánh trên hình khi k,i=1/2;
2 là phương sai tạp âm chuẩn hoá (Eb):
2=N0/(2 Eb)
Thể hiện số đo nhánh k,i(m) trên lưới
Nguyễn Viết Đảm
4.6.4. Giải thuật giải mã MAP
4.6.4.3. Biểu thức số đo trạng thái thuận k(m) [Phụ lục]
Trình bày số đo trạng thái thuận
k(m) trên lưới
Nguyễn Viết Đảm
4.6.4. Giải thuật giải mã MAP
4.6.4.4. Biểu thức số đo trạng thái ngược k(m) [Phụ lục]
L+M+1(m=0) = 1 và L+M+1(m≠0) = 0
trong đó L là số bit bản tin, M (số phần tử nhớ của thanh ghi
dịch) là số bit đuôi bằng không để phân cách các bản tin.
Ví dụ: Tính k,i(01) tại k=L+M với sử dụng điều kiện khởi đầu
ngược trong trường hợp L=1 và M=2 là:
Trình bầy k,i(m) trên lưới
Nguyễn Viết Đảm
Summary of the MAP algorithm
Cơ sở kỹ thuật TTVT
Logarit hàm khả giống LLR cho từng dk
Note: The MAP algorithm is
very sensitive to correlation
between consecutive symbols
because expressions k(m),
k,i(m), k(m) are derived
under the hypothesis that the
input symbols are totally
decorrelated [7].
initial
conditions
Summary of the MAP algorithm
Cơ sở kỹ thuật TTVT
Nguyễn Viết Đảm
Summary of the MAP algorithm
Cơ sở kỹ thuật TTVT
Nguyễn Viết Đảm
4.6.5. Giải mã Turbo
Nguyên lý giải mã turbo dùng giải thuật MAP
Các ký hiệu thu từ
kênh tạp âm Gauss
trắng cộng
(AWGN) có dạng:
LLR của bit thông tin dk với
điều kiện thu được xk
P(dk =+1|xk) và P(dk =-1|xk) là xác
suất hậu định APP, là xác suất phát
dk=+1 và dk=-1 khi đã thu được xk;
p(xk|dk=i) là mật độ xác suất của tín
hiệu thu xk khi đã phát dk; p(xk) là mật
đô xác xuất của tín hiệu thu xk;
P(dk=i),i=0/1 là xác suất phát dk
(thông tin tiên nghiệm)
111
Nguyễn Viết Đảm
4.6.5. Giải mã Turbo
h
n
ê
K
N
G
W
A
Do bộ giải mã tạo ra để hiệu
chỉnh mọi sai lỗi trong kênh
Nguyễn Viết Đảm
Bayes Rule and MAP decoding
Cơ sở kỹ thuật TTVT
Soft-input/soft-output decoder model
Nguyễn Viết Đảm
The Soft-Input Soft-Output Module
Cơ sở kỹ thuật TTVT
Extrinsic information of a MAP decoder
For a systematic code, each quantity computed by the MAP
decoder is equal to the sum of the noisy information (x, the data
received at the decoder input) and the extrinsic information
Notice some interesting properties of the extrinsic information
All these properties allow us to use the extrinsic information
produced by a MAP decoder as an input to another MAP
decoder.
The MAP algorithm is very sensitive to correlation between
consecutive symbols
Nguyễn Viết Đảm
4.6.5. Giải mã Turbo
Giải mã vòng hồi
tiếp (lặp)
Feedback for the next Iteration
Feedback Loop
Học thuật hóa các bài toán
kỹ thuật
Phát biểu bài toán.
Công thức hóa bài toán.
Mô hình hóa, sơ đồ
Nguyễn Viết Đảm
4.6.5. Giải mã Turbo lặp
Nguyễn Viết Đảm
4.6.5. Giải mã Turbo lặp
Đan
xen,
phân
tán lỗi
cụm
(dãn
cách
các ký
hiệu
liền
kề)
Nguyễn Viết Đảm
4.6.5. Giải mã Turbo lặp
Nguyễn Viết Đảm
4.6.5. Giải mã Turbo lặp
Nguyễn Viết Đảm
4.6.7. Hiệu năng của mã Turbo
Các xác suất lỗi bit phụ thuộc vào số lần lặp và Eb/N0:
(Mã turbo: 16 trạng thái, tỷ lệ 1/2, K=5 với g1=[11111],
g2=[10001]; kích thước đan xen 256x256)
Nguyễn Viết Đảm
4.6.8. Mã Turbo trong hệ thống TTDĐ 3G và 4G
Bộ mã hóa turbo tỷ lệ 1/3 cho 3G WCDMA và 4G LTE
(sử dụng hai bộ tạo mã thành phần RSC 8 trạng thái)
Nguyễn Viết Đảm
4.6.7. Hiệu năng của mã Turbo
Nguyễn Viết Đảm
MÃ TURBO TRONG WCDMA
Cơ sở kỹ thuật TTVT
Mô phỏng hiệu năng BER với đa thức:
Nguyễn Viết Đảm
MÃ TURBO TRONG WCDMA
Cơ sở kỹ thuật TTVT
Mô phỏng hiệu năng BER cho W-CDMA với đa thức:
Nguyễn Viết Đảm
Rút ra công thức Logarit hàm khả giống LLR cho từng dk
Nguyên lý MAP
Đầu vào giải mã là chuỗi N bit mã hóa, điều chế BPSK bị tạp âm:
Nguyễn Viết Đảm
Rút ra công thức Logarit hàm khả giống LLR cho từng dk
Mục đích của giải mã MAP: Tìm ước tính bit số liệu phát có
P(dk=0|R1,N);
P(dk=1|R1,N) là xác suất
phát hiện dk=0 và dk=1
khi đã thu được chuỗi
R1,N
Nguyễn Viết Đảm
Rút ra công thức Logarit hàm khả giống LLR cho từng dk
Nếu Sk=m là trạng thái của bộ giải mã tại thời điểm k; m=0,1,..,2M-1;
Nguyễn Viết Đảm
Rút ra công thức Logarit hàm khả giống LLR cho từng dk
Nếu Sk = m là trạng thái của bộ giải mã tại thời điểm k; m=0,1,..,2M-1;
R1,N=[R1,k-1,Rk,Rk+1,N] là chuỗi ký hiệu
Với i=0 hoặc 1 và cộng tất cả các
trạng thái có thể có của bộ giải mã
Nguyễn Viết Đảm
Rút ra công thức Logarit hàm khả giống LLR cho từng dk
Nếu Sk là trạng thái của bộ giải mã tại thời điểm k; m=0,1,..,2M-1; M
Nguyễn Viết Đảm
Rút ra công thức Logarit hàm khả giống LLR cho từng dk
Số đo trạng thái thuận (Forward State Metric): Biểu diễn xác suất chuỗi ký hiệu thu trước
Lưu ý rằng: R1,k-1 chỉ liên
quan đến trạng thái Sk=m mà
nó gây ra, và không thụ
thuộc vào phụ thuộc vào dk
cũng như Rk,N (là các sự kiện
xẩy ra sau đó)
Lưu ý rằng: Rk+1,N chỉ liên
quan đến giá tri bit dk và
trạng thái thái tại thời điểm k
(Sk=m) mà không phụ thuộc
Rk (là các sự kiện xẩy ra
trước đó)
Nguyễn Viết Đảm
Rút ra công thức Logarit hàm khả giống LLR cho từng dk
Số đo nhánh (Branch Metric): Biểu diễn xác suất phát liên hiệp dk tại trạng thái Sk=m và
=> Kết quả là:
Nguyễn Viết Đảm
Summary of the state Metrics and Branch metrics
Cơ sở kỹ thuật TTVT
b) Số đo trạng thái ngược:
a) Số đo trạng thái thuận:
Giải thuật MAP:
Nhân
trong miền
logarit) số đo trạng thái với số
đo nhánh. Sau đó, thay vì so
sánh chúng với nhau là cộng
chúng để tạo thành số đo trạng
thái thuận (hoặc ngược) tiếp
theo.
Số đo nhánh:
Trình bày số đo trạng thái thuận k(m) và số đo trạng thái ngược k(m) trên lưới
Nguyễn Viết Đảm
Biểu thức số đo nhánh k,i(m) [Phụ lục]
Ví dụ: Xét hai nhánh trên hình khi k,i=1/2;
2 là phương sai tạp âm chuẩn hoá (Eb):
2=N0/(2 Eb)
Thể hiện số đo nhánh k,i(m) trên lưới
Nguyễn Viết Đảm
Biểu thức số đo trạng thái thuận k(m) [Phụ lục]
Trình bày số đo trạng thái thuận
k(m) trên lưới
Nguyễn Viết Đảm
Biểu thức số đo trạng thái ngược k(m) [Phụ lục]
L+M+1(m=0) = 1 và L+M+1(m≠0) = 0
trong đó L là số bit bản tin, M (số phần tử nhớ của thanh ghi
dịch) là số bit đuôi bằng không để phân cách các bản tin.
Ví dụ: Tính k,i(01) tại k=L+M với sử dụng điều kiện khởi đầu
ngược trong trường hợp L=1 và M=2 là:
Trình bầy k,i(m) trên lưới
Nguyễn Viết Đảm
Summary of the MAP algorithm
Cơ sở kỹ thuật TTVT
Logarit hàm khả giống LLR cho từng dk
Note: The MAP algorithm is
very sensitive to correlation
between consecutive symbols
because expressions k(m),
k,i(m), k(m) are derived
under the hypothesis that the
input symbols are totally
decorrelated [7].
initial
conditions
Summary of the MAP algorithm
Cơ sở kỹ thuật TTVT
Nguyễn Viết Đảm
Summary of the MAP algorithm
Cơ sở kỹ thuật TTVT
Nguyễn Viết Đảm
Final Remarks
Cơ sở kỹ thuật TTVT
The turbo-principle is more general than merely its application to the decoding of turbo
controlled manner, to allow signal separation at the receiver
Nguyễn Viết Đảm
Some Literature References...
Cơ sở kỹ thuật TTVT
[1] Bernard Sklar, “A Primer On Turbo Code Concepts”, in IEEE Communications Magazine, December
and Decoding: TurboCodes”, IEEE 1993
Nguyễn Viết Đảm
Diễn giải mã hóa/giải mã
-mã xoắn và mã turbo
Nguyễn Viết Đảm
Sơ đồ khối hệ thống truyền thông cơ bản với mã xoắn
Cơ sở kỹ thuật TTVT
2
1
Rate k/n
Conv. encoder
Nguyên tắc giải mã ML: Chọn đường dẫn có khoảng cách
Hamming cực tiểu so với chuỗi thu.
C
h
a
n
n
e
l
4
3
Rate k/n
Conv. decoder
Nguyễn Viết Đảm
Sơ đồ khối hệ thống truyền thông cơ bản với mã Turbo
Cơ sở kỹ thuật TTVT
2
1
Turbo Encoder
(PCCC-RSC)
Why do you study ?
C
h
a
n
n
e
l
3
4
Turbo Decoder
(MAP-SISO)
Nguyễn Viết Đảm
Lập mã xoắn
Cơ sở kỹ thuật TTVT
Nguyễn Viết Đảm
Đa thức tạo mã, sơ đồ tạo mã, biểu đồ trạng thái, biểu đồ lưới
Cơ sở kỹ thuật TTVT
0/00
0/11
1/11
0/00
1/00
1/11
0/11
0/10
1/00
0/10
1/01
1/01
0/01
0/01
1/10
1/10
Nguyễn Viết Đảm
Đa thức tạo mã, sơ đồ tạo mã, biểu đồ trạng thái, biểu đồ lưới
Cơ sở kỹ thuật TTVT
1
0
0
0
11
00
10
00
11
00
1
Output bits
00
00
10
00
11
11
11
11
11
11
00
10
10
10
01
01
01
01
10
Nguyễn Viết Đảm
Ma trận tạo mã, sơ đồ tạo mã, biểu đồ lưới của mã Turbo
Cơ sở kỹ thuật TTVT
Ma trận tạo mã (hàm truyền đạt)
Mã RSC
Trạng thái
D0,kD1,k
Trạng thái
D0,k+1D1,k+1
00
Nguyễn Viết Đảm
Đặc điểm lưới của mã Turbo/Trạng thái đầy đủ và bit đuôi
Cơ sở kỹ thuật TTVT
01
01
01
01
Nguyễn Viết Đảm
Đặc điểm lưới của mã Turbo/Trạng thái đầy đủ và bit đuôi
Cơ sở kỹ thuật TTVT
11
01
10
S3=11
11
11
S2=01
Nguyễn Viết Đảm
Minh họa giải thuật
giải mã Turbo:
MAP/SISO
Nguyễn Viết Đảm
Summary of the state Metrics and Branch metrics
Cơ sở kỹ thuật TTVT
b) Số đo trạng thái ngược:
a) Số đo trạng thái thuận:
Giải thuật MAP:
Nhân (cộng trong miền logarit)
số đo trạng thái với số đo
nhánh. Sau đó, thay vì so sánh
chúng với nhau là cộng chúng
để tạo thành số đo trạng thái
thuận (hoặc ngược) tiếp theo.
Số đo nhánh:
Trình bày số đo trạng thái thuận k(m) và số đo trạng thái ngược k(m) trên lưới
Nguyễn Viết Đảm
Minh họa giải thuật giải mã Turbo: MAP
Cơ sở kỹ thuật TTVT
00
11
Nguyễn Viết Đảm
Giải thuật giải mã Turbo: MAP
Cơ sở kỹ thuật TTVT
Channel: I/O
(input of Modulator/Ouput of Demodultor)
00
S0=m=a=00
11
11
Channel: I/O
00
S1=m=b=10
10
01
S2=m=c=01
01
10
10
S3=m=c=11
Giải mã MAP dựa vào lưới:
Tính các số đo (nhánh, trạng thái thuận, trạng thái
ngược) và biểu diễn trên lưới.
Nguyễn Viết Đảm
Minh họa giải mã Turbo/MAP: Tính số đo nhánh
Cơ sở kỹ thuật TTVT
Tính số đo
nhánh và biểu
diễn trên lưới
giải mã
S0=m=a=00
S1=m=b=10
11
11
01
01
Tính số đo
nhánh
S2=m=c=01
S3=m=c=11
Tồn tại 4 cặp có cùng giá trị Ck=(dk,ck) (ak,bk)
Nguyễn Viết Đảm
Minh họa giải mã Turbo/MAP: Tính số đo nhánh
Cơ sở kỹ thuật TTVT
01
10
Nguyễn Viết Đảm
Summary of the state Metrics and Branch metrics
Cơ sở kỹ thuật TTVT
b) Số đo trạng thái ngược:
a) Số đo trạng thái thuận:
Giải thuật MAP:
Nhân (cộng trong miền logarit)
số đo trạng thái với số đo
nhánh. Sau đó, thay vì so sánh
chúng với nhau là cộng chúng
để tạo thành số đo trạng thái
thuận (hoặc ngược) tiếp theo.
Số đo nhánh:
Trình bày số đo trạng thái thuận k(m) và số đo trạng thái ngược k(m) trên lưới
Nguyễn Viết Đảm
Minh họa giải mã Turbo/MAP: Tính số đo trạng thái thuận
Cơ sở kỹ thuật TTVT
k=4
10
Nguyễn Viết Đảm
Minh họa giải mã Turbo/MAP: Tính số đo trạng thái ngược
Cơ sở kỹ thuật TTVT
C
=0,27
Nguyễn Viết Đảm
Tính số đo trạng thái thuận/ngược và biểu diễn trên lưới giải mã
Cơ sở kỹ thuật TTVT
Nguyễn Viết Đảm
Minh họa giải thuật giải mã Turbo: MAP
Cơ sở kỹ thuật TTVT
11
01
Nguyễn Viết Đảm
Minh họa giải thuật giải mã Turbo: MAP
Cơ sở kỹ thuật TTVT
00
11
S2=01
Nguyễn Viết Đảm
Minh họa giải thuật giải mã Turbo: MAP
Cơ sở kỹ thuật TTVT
01
10
Nguyễn Viết Đảm
Minh họa giải thuật giải mã Turbo: MAP
Cơ sở kỹ thuật TTVT
10
Nguyễn Viết Đảm
Minh họa giải thuật giải mã Turbo: MAP
Cơ sở kỹ thuật TTVT
00
11
Nguyễn Viết Đảm
Mô hình hóa và mô phỏng hiệu
năng mã xoắn cho hệ thống BPSK
trong môi trường kênh AWGN
Nguyễn Viết Đảm
Mô phỏng BER hệ thống BPSK trong kênh AWGN
Cơ sở kỹ thuật TTVT
Nguyễn Viết Đảm
Mô hình mô phỏng BER cho hệ thống BPSK trong kênh AWN
Cơ sở kỹ thuật TTVT
Quyết
định và
giữa mẫu
Kênh AWGN
Khôi phục
sóng mang
Khôi phục
định thời
Mô hình hóa mô phỏng BER cho hệ thống BPSK
trong môi trường kênh AWGN
Tạo biến NN Gausơ
Quyết
định
Tạo
nguồn
nhị
phân
So sánh đếm lỗi
Nguyễn Viết Đảm
Mô phỏng BER cho hệ thống BPSK trong kênh AWGN
Cơ sở kỹ thuật TTVT
Tạo biến NN Gausơ
Quyết
định
Tạo
nguồn
nhị
phân
So sánh đếm lỗi
Nguyễn Viết Đảm
Mô phỏng BER hệ thống BPSK trong môi trường kênh AWGN
Cơ sở kỹ thuật TTVT
Tạo biến NN Gausơ
Quyết
định
Tạo
nguồn
nhị
phân
So sánh đếm lỗi
temp = rand;
if (temp<0.5),
dsource(i)=1;
else
dsource(i)=0;
end
Nguyễn Viết Đảm
for j=1:length(SNR)
% Theoretical error rate
theo_Orthogonal_err_prb(j) = 0.5 *erfc(sqrt(SNR(j)/2));
theo_Antipodal_err_prb(j) = 0.5 *erfc(sqrt(SNR(j)));
% Simulated error rate
numoferr = 0;
for i=1:NumBits
% Generation of the binary data source and Pass AWGN channel
temp = rand;
if (temp<0.5),
dsource(i)=1;
X= sgma(j)*randn(1);
Y = -sqrt(Eb) + X ;
else
dsource(i)=0;
X= sgma(j)*randn(1);
Y = sqrt(Eb) +X;
end
% detector follows/Decission
if (Y<0)
decis(i) = 1; % Decission is ‘1'
else
decis(i) = 0; % Decission is ‘0'
end;
% Comparision for determine error and conter error
if (decis(i)~=dsource(i))
numoferr = numoferr+1;
end;
end;
% numoferr= sum(decis~=dsource);
smld_err_prb(j) = numoferr/NumBits; % Probability of error estimate;
Nguyễn Viết Đảm
Mô phỏng BER cho hệ thống BPSK trong kênh AWGN
Cơ sở kỹ thuật TTVT
bits được mô phỏng
0
1
2
3
4
5
6
7
Xác định các tín hiệu trong mô hình, chương trình mô phỏng và ghi kết quả
Phía phát và kênh AWGN
Phía thu
Đầu ra của tạo nguồn nhị phân
Đầu ra kênh AWGN
Vào/ra quyết định
BER
Nguyễn Viết Đảm
function Q = Qfunct(u)
NVD_D12VT_BER_BPSK_AWGN
SNR (dB)
0
1
2
3
4
5
6
7
BER của trực giao
BER của đối cực
Nguyễn Viết Đảm
Mô phỏng và khảo sát BER hệ thống BPSK trong kênh AWGN
Cơ sở kỹ thuật TTVT
Tại mỗi giá trị SNR của kênh AWGN thực hiện
mô phỏng 106 bits
Nguyễn Viết Đảm
Mô phỏng và khảo sát BER hệ thống BPSK trong kênh AWGN
Cơ sở kỹ thuật TTVT
function y = NVD_D12VT_BPSK_AWGN_modul
Nguyễn Viết Đảm
Mô phỏng và khảo sát BER hệ thống BPSK trong kênh AWGN
Cơ sở kỹ thuật TTVT
Nguyễn Viết Đảm
Báo cáo và kiểm tra
Cơ sở kỹ thuật TTVT
NVD_D12VT_BER_BPSK_AWGN
Câu 1: Trình bày tóm tắt quá trình điều chế/giải điều chế BPSK trên cơ sở không gian
Câu 2: Phân tích mô hình mô phỏng; xác định và phân tích các đoạn mã chương trình
Câu 3: Xác định và phân tích tín hiệu vào/ra của các khối trong mô hình mô phỏng trên
chương trình Matlab theo các tham số đầu vào và giải thích kết quả (theo các
bảng kết quả mô tả và mô phỏng).
Câu 4: Xác định các đoạn chương trình Matlab thực hiện các khối chức năng cho mô
hình mô phỏng như: đoạn chương trình tạo chuỗi nhị phân (quá trình tạo chuỗi
nhị phân); đoạn chương trình thực hiện quyết định; đoạn chương trình so sánh
đếm lỗi; đoạn chương trình tạo biến ngẫu nhiên phân bố Gausian…..
Ghi và phân tích các tín hiệu vào/ra của mô hình mô phỏng theo chương trình
Nguyễn Viết Đảm
Mô phỏng BER hệ thống BPSK sử dụng mã xoắn trong môi
Cơ sở kỹ thuật TTVT
trường kênh AWGN
NVD_COV_Encoder; NVD_COV_Dencoder;
NVD_D12VT_BPSK_AWGN_ChannelCode.
Nguyễn Viết Đảm
Sơ đồ khối hệ thống truyền thông số cơ bản với mã hóa/giải mã xoắn
Cơ sở kỹ thuật TTVT
1
2
Rate k/n
Conv. encoder
Nguyên tắc giải mã ML: Chọn đường dẫn có khoảng cách
Hamming cực tiểu so với chuỗi thu.
C
h
a
n
n
e
l
4
3
Rate k/n
Conv. decoder
Nguyễn Viết Đảm
1
2
Rate k/n
Conv. encoder
N
N
n
ế
i
Tạo
Vectơ lỗi
b
o
ạ
T
ơ
s
u
a
G
ố
b
n
â
h
p
I
p
ợ
h
g
n
ờ
ư
r
T
I
I
p
ợ
h
g
n
ờ
ư
r
T
4
3
Rate k/n
Conv. decoder
Trường hợp I:
Trường hợp II: Mô hình hóa và mô phỏng hiệu năng của mã xoắn cho hệ thống
Nguyễn Viết Đảm
Mô hình mô phỏng BER hệ thống BPSK sử dụng mã xoắn trong môi
Cơ sở kỹ thuật TTVT
trường kênh AWGN
Quyết
định
Kênh
AWGN
3
2
Khôi phục
sóng mang
Dao động
nội phát
TLO
Khôi phục
định thời
2
Tạo biến ngấu nhiên
phân bố Gasian
1
Mô hình hóa mô phỏng BER cho hệ thống BPSK
sử dụng mã xoắn trong môi trường kênh AWGN
3
4
3
2
Giải mã
Mã hóa
xoắn
Chuyển
mức
Quyết
định
xoắn
Tạo
nguồn
nhị
phân
Viterbi
So sánh đếm lỗi
Nguyễn Viết Đảm
Mô hình mô phỏng BER hệ thống BPSK sử dụng mã xoắn trong
Cơ sở kỹ thuật TTVT
môi trường kênh AWGN
Tạo biến ngấu nhiên
phân bố Gasian
1
4
2
3
Giải mã
Mã hóa
xoắn
Chuyển
mức
Quyết
định
xoắn
Tạo
nguồn
nhị
phân
Viterbi
So sánh đếm lỗi
2
Nguyễn Viết Đảm
Tạo biến ngấu nhiên
phân bố Gasian
1
4
Giải mã
Mã hóa
xoắn
Chuyển
mức
Quyết
định
xoắn
Tạo
nguồn
nhị
phân
Viterbi
2
3
So sánh đếm lỗi
Mô hình hóa quá trình mã
hóa/giải mã xoắn
Tạo Vectơ lỗi
2
3
Giải mã
Mã hóa
1
4
xoắn
xoắn
Tạo
nguồn
nhị
phân
Viterbi
So sánh đếm lỗi
Nguyễn Viết Đảm
Tạo vectơ lỗi
Giải mã
Mã hóa
1
4
2
3
xoắn
xoắn
Tạo
nguồn
nhị
phân
Viterbi
So sánh lỗi
3
Nguyễn Viết Đảm
Minh họa quá trình mã hóa/giải mã xoắn trên chương trình Matlab
Cơ sở kỹ thuật TTVT
00
00
00
11
11
11
11
11
11
00
10
10
10
01
01
01
01
10
Lỗi phân tán
Nguyễn Viết Đảm
Minh họa quá trình mã hóa/giải mã xoắn trên chương trình Matlab
Cơ sở kỹ thuật TTVT
00
00
00
11
11
11
11
11
11
00
10
10
10
01
01
01
01
10
Nguyễn Viết Đảm
Minh họa quá trình mã hóa/giải mã xoắn trên chương trình Matlab
Cơ sở kỹ thuật TTVT
1
0
0
0
11
00
10
00
1
Output bits
00
00
11
00
10
00
11
11
11
0/11
11
11
1/00
10
10
10
01
01
01
01
10
Nguyễn Viết Đảm
Minh họa quá trình mã hóa/giải mã xoắn trên chương trình Matlab
Cơ sở kỹ thuật TTVT
Lỗi cụm, phađinh sâu
Nguyễn Viết Đảm
xoắn Viterbi quyết định cứng
NVD_D12VT_COV_Encoder_Decoder
Nguyễn Viết Đảm
môi trường kênh AWGN
Tạo biến ngấu nhiên
phân bố Gasian
1
4
2
3
Giải mã
Mã hóa
xoắn
Chuyển
mức
Quyết
định
xoắn
Tạo
nguồn
nhị
phân
Viterbi
So sánh đếm lỗi
Nguyễn Viết Đảm
NVD_D12VT_BPSK_AWGN_ChannelCode
Chương trình mô phỏng BER hệ thống BPSK dùng mã xoắn
Cơ sở kỹ thuật TTVT
for j=1:length(SNR)
trong môi trường kênh AWGN
numoferr_tot = 0;
for k=1:Num_Block
dsource_1 = 0.5*(sign(rand(1,Block_size)-0.5)+1);
if mode ==2
dsource = NVD_COV_Encoder(G,k0,dsource_1);
else
dsource = dsource_1;
end
numoferr_block = 0;
for i = 1:length(dsource)
% Pass AWGN channel
if dsource(i)==1,
X = sgma(j)*randn(1);
Y = -sqrt(Eb) + X;
else
X = sgma(j)*randn(1);
Y = sqrt(Eb) + X;
end
% detector follows/Decission
if (Y<0)
decis(i) = 1; % Decission is '1'
else
decis(i) = 0; % Decission is '0'
end;
end; % Block_size
if mode==2
decoder_output = NVD_COV_Dencoder(G,k0,decis);
else
decoder_output = decis;
end
numoferr_tot=sum(decoder_output~=dsource_1) + numoferr_tot;
end;
smld_err_prb(j) = numoferr_tot/NumBits;
end
Nguyễn Viết Đảm
trong môi trường kênh AWGN
NVD_D12VT_BPSK_AWGN_ChannelCode
Lưu ý: Nhập các giá trị tham số đầu vào chương trình mô phỏng theo các ví dụ và bài tập
Nguyễn Viết Đảm
Mô phỏng BER hệ thống BPSK dùng mã hóa xoắn trong môi trường kênh AWGN
Cơ sở kỹ thuật TTVT
Nguyễn Viết Đảm
Nguyễn Viết Đảm
Nguyễn Viết Đảm
Câu 1: Trình bày tóm tắt quá trình mã hóa xoán trên cơ sở biểu đồ
Câu 2: Trình bày tóm tắt quá trình giải mã xoắn trên cơ sở giải thuật
giải mã ML và Viterbi quyết định cứng (phân tích công thức
giải mã ML và giải thuật giải mã Viterbi).
Câu 3: Phân tích mô hình mô phỏng; xác định và phân tích các đoạn
mã chương trình Matlab thực hiện các khối chức năng của mô
hình mô phỏng.
Câu 4: Xác định và phân tích tín hiệu vào/ra của các khối trong mô
hình mô phỏng trên chương trình Matlab theo các tham số
đầu vào và giải thích kết quả.
Câu 5: Biểu diễn (lấy tín hiệu và hiển thị), phân tích phân tích ảnh
hưởng của các tham số đầu vào lên kết quả mô phỏng.
Lưu ý: Nhập các giá trị tham số mô phỏng theo các ví dụ và bài tập
Nguyễn Viết Đảm
Đặc điểm lưới của mã Turbo/Trạng thái đầy đủ và bit đuôi
Cơ sở kỹ thuật TTVT
00
00
00
00
00
00
S0=00
11
11
11
11
11
11
11
11
S1=10
00
00
10
10
10
10
S2=01
01
01
01
01
01
01
10
10
S3=11
00
00
00
00
00
00
00
00
S0=00
11
11
11
11
11
11
11
11
11
11
11
11
S1=10
00
00
00
00
10
10
10
10
10
10
S2=01
01
01
01
01
01
01
01
01
01
01
10
10
10
10
S3=11
Nguyễn Viết Đảm
Bài tập và kiểm trên Matlab
00
00
00
00
00
00
00
00
S0=00
11
11
11
11
11
11
11
11
11
11
11
11
S1=10
00
00
00
00
10
10
10
10
10
10
S2=01
01
01
01
01
01
01
01
01
01
01
10
10
10
10
S3=11
00
00
00
00
00
00
00
00
00
00
S0=00
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
S1=10
00
00
00
00
00
00
00
00
00
00
10
10
10
10
10
10
10
10
10
10
S2=01
01
01
01
01
01
01
01
01
01
01
01
01
01
01
01
01
01
01
01
01
10
10
10
10
10
10
10
10
10
10
S3=11
Nguyễn Viết Đảm
Giải thuật giải mã Turbo: MAP
Cơ sở kỹ thuật TTVT
k=1
00
S0=00
S1=10
10
S2=01
S3=11
Nguyễn Viết Đảm
Nguyễn Viết Đảm
Mô phỏng BER cho hệ thống BPSK trong kênh AWGN
Cơ sở kỹ thuật TTVT
Tạo biến NN Gausơ
Quyết
định
Tạo
nguồn
nhị
phân
So sánh đếm lỗi
Nguyễn Viết Đảm
Nguyễn Viết Đảm
2.8. Ảnh hưởng của đặc tính đường truyền (5/12)
Nguyễn Viết Đảm