You are on page 1of 83

MỤC LỤC

MỞ ĐẦU....................................................................................................................... 6
Chƣơng 1....................................................................................................................... 7
TỔNG QUAN VỀ HỆ THÔNG TIN SỐ.......................................................................7
VÀ CÁC ĐẶC ĐIỂM CỦA CÔNG NGHỆ LTE 4G....................................................7
1.1 Cấu trúc hệ thống tin số............................................................................................7
1.2 Giới hạn Shannon...................................................................................................10
1.3 Các đặc điểm của công nghệ LTE..........................................................................12
1.4. Các thách thức trong hệ thống thông tin băng rộng 4G LTE.................................13
1.5. Một số công nghệ then chốt sử dụng trong hệ thống thông tin di động băng rộng
4G LTE......................................................................................................................... 14
1.6. Kết luận................................................................................................................. 14
Chƣơng 2:...................................................................................................................15
MÃ TURBO VÀ GIẢI MÃ LẬP................................................................................15
2.1 Cấu trúc bộ mã hóa turbo.......................................................................................15
2.2 Hoán vị................................................................................................................... 17
2.2.1 Hoán vị trong mã Turbo......................................................................................18
2.3 Một số ứng dụng của mã hóa turbo........................................................................19
2.3.1 Mã turbo cho thông tin vũ trụ.............................................................................19
2.3.2 Mã turbo cho CDMA2000..................................................................................20
2.3.3 Mã turbo cho thông tin di động thế hệ 3.............................................................21
2.4 Nguyên lý giải mã turbo.........................................................................................22
2.4.1 Mô hình hệ thống................................................................................................22
2.4.2 Tiêu chuẩn đánh giá.............................................................................................24
2.4.3 Thuật toán Viterbi...............................................................................................25
2.4.4 Thuật toán Viterbi đầu ra mềm (SOVA)..............................................................27
2.4.5 Thuật toán MAP..................................................................................................29
2.4.6 Thuật toán MAX-Log-MAP................................................................................35
2.4.7 Thuật toán Log-MAP..........................................................................................36
2.5 Giải mã lặp.............................................................................................................37
2.5.1 Giải mã turbo tối ưu............................................................................................37
2.5.2 Công cụ giải mã turbo lặp....................................................................................38
2.5.2.1 Giải mã turbo lặp dựa trên thuật toán MAP.....................................................38
2.5.2.2 Giải mã SOVA lặp mã turbo............................................................................42
2.6 So sánh thuật toán giải mã lặp SOVA và MAP......................................................47
2.7 Giải mã MAP lặp mã chập liên kết nối tiếp............................................................48
2.8 Giải mã SOVA lặp mã chập liên kết nối tiếp..........................................................49
Bộ mã hóa và giải mã BICM........................................................................................50
Sự suy giảm chất lượng của BICM trên kênh Gauss....................................................51
BICM-ID...................................................................................................................... 51
Bảng 2.1: Các bộ Puncture tách dòng bit.....................................................................52
Bảng 2.2: Chuỗi zero được chèn..................................................................................52
Gán nhãn tín hiệu.........................................................................................................53
Bảng 4.3: Luật ánh xạ chòm sao..................................................................................54
2.9 Kết luận:................................................................................................................56
Chƣơng 3:..................................................................................................................57
MÔ PHỎNG MÃ HÓA TURBOCODE......................................................................57
3.1 Khảo sát chất lượng hệ thống LTE 4G...................................................................57
3.1.1 Tham số mô phỏng và bài toán đầu vào..............................................................57
3.1.2 Kết quả mô phỏng...............................................................................................57
3.2 phân tích kết quả mô phỏng....................................................................................60
3.3 Kết luận:................................................................................................................60
KẾT LUẬN.................................................................................................................. 61
TÀI LIỆU THAM KHẢO............................................................................................62
PHỤ LỤC..................................................................................................................... 63
PHỤ LỤC: LẬP TRÌNH CODE_MATLAB................................................................65
DANH SÁCH CÁC HÌNH
Hình 1.1: Mô hình tổng quát hệ thống thông tin số........................................................7
Hình 1.2: Sơ đồ giải điều chế kết hợp............................................................................8
Hình 1.3: Sơ đồ phân loại mã kênh................................................................................9
Hình 1.4: Hiệu suất sử dụng phổ của các sơ đồ điều chế và mã hoá khác nhau được
tính toán cho trường hợp BER là 10-5 trên kênh AWGN..............................................11
Hình 2.1: Bộ mã hóa turbo...........................................................................................15
Hình 2.2: Bộ mã hóa turbo tốc độ 1/3..........................................................................16
Hình 2.3: Bộ hoán vị....................................................................................................17
Hình 2.4: Bộ ánh xạ hoán vị........................................................................................18
Hình 2.5: Sơ đồ khối bộ mã hóa turbo CCSDS............................................................19
Hình 2.6: Bộ mã hóa turbo liên kết ngược dùng cho WCDMA2000...........................20
Hình 2.7: Bộ mã hóa turbo dùng cho thông tin 3GPP..................................................21
Hình 2.8: Cấu trúc của bộ mã chập liên kết nối tiếp dùng cho thông tin 3GPP............22
Hình 2.9: Mô hình hệ thống.........................................................................................22
Hình 2.10: Bộ mã hóa RSC tốc độ 1/2.........................................................................29
Hình 2.11: Biểu đồ trạng thái truyền đối với bộ mã RSC(2,1,2)..................................30
Hình 2.12: Sơ đồ lưới cho bộ RSC(2,1,2)....................................................................31
Hình 2.13: Bộ mã hóa turbo cơ bản.............................................................................37
Hình 2.14: Một bộ giải turbo lặp trên cơ sở thuật toán MAP.......................................39
Hình 2.15: Một bộ giải turbo lặp dựa trên thuật toán SOVA.......................................43
Hình 2.16: Hiệu suất BER của mã turbo tốc độ mã 1/3, 16 trạng thái với thuật toán
MAP, log-MAP, SOVA trong kênh AWGN, kích thước bộ hoán vị 4096 bit, số lần lặp
18 lần........................................................................................................................... 47
Hình 2.17: Bộ giải mã lặp MAP cho mã chập liên kết nối tiếp....................................48
Hình 2.18: Bộ giải mã lặp SOVA mã liên kết nối tiếp.................................................49
Hình 2.19: Sơ đồ mã hóa và giải mã BICM.................................................................51
Hình 2.20: Quá trình mã hóa kênh...............................................................................52
Hình 2.21: Bộ hoán vị inline........................................................................................52
Hình 2.22: Giảng đồ chòm sao điều chế 16-QAM theo mã Gray................................53
Hình 2.23: Sự sai khác vị trí bit giữa các điểm trên chòm sao.....................................54
Hình 2.24: Các cặp bit cách nhau ở bit thứ nhất (d0) và ở bit thứ hai (d1)....................55
Hình 2.25: Các cặp bit cách nhau ở bit thứ nhất (d0) và ở bit thứ tư (d3)......................55
Hình 2.26: Giảng đồ chòm sao điều chế 16-QAM theo mã antiGray...........................56
Hình 3.1: Không có inline, tốc độ mã R=1/2, điều chế 16QAM..................................58
Hình 3.2: Có inline, tốc độ mã R=1/2, điều chế 16QAM.............................................58
Hình 3.3: Không có inline, tốc độ mã R=3/4, điều chế 16QAM..................................59
Hình 3.4: Có inline, tốc độ mã R=3/4, điều chế 16QAM.............................................59
Phụ lục 1: Khối mô phỏng bộ turbo không sử dụng bộ inline......................................63
Phụ lục 2: Khối mô phỏng bộ turbo sử dụng bộ inline.................................................64
Các thuật ngữ viết tắt

3GPP 3rd Generation Partnership Project


APP A Posteriori Probability
ARQ Automatic Repeat reQuest
AWGN Additive White Gauss Noise
AES-CCM Advanced Encryption Standard
BER Bit Error Rate
BPSK Binary Phase Shift Keying
BSC Binary Symmetric Channel
BTC Block Turbo Code
BICM-ID Bit Interleaved Coded Modulation with Iterative Decoding
bps Bits per second
CCSDS Consultative Committee for Space Data System
CDMA Code Division Multiple Access
CRC Cyclic Redundancy Check
CSI Channel State Information
CC Convolutional Code
CP Cyclic Prefix
CMAC block Cipher-based Message Authentication Code
CTC Convolutional Turbo Code
DSL Digital Subscriber Line
DL Downlink
EAP Extensible Authentication Protocol
FEC Forward Error Correction
FFT Fast Fourier Transform
HMAC keyed Hash Message Authentication Code
IEEE Institute of Electrical and Electronics Engineers
IP Internet Protocol
ISI Intersymbol Interference
IFFT Inverse Fast Fourier Transform
OFDM Orthogonal Frequency Division Multiplexing
LDPC Low Density Parity Check Code
LAN Local Area Network
LLR Log Likelihood Ratio
MAC Media Access Control
MAN Metropolitan Area Network
MAP Maximum A Posteriori
MIMO Multiple Input Multiple Output
MPLS Multi-Protocol Label Switching
MBS Most Significant Bit
ML Maximum Likelihood
PCCC Parallel Concatenated Convolutional Codes
PRBS Pseudo Random Binary Sequence
PSK Phase Shift Keying
QAM Quadratury Amplitude Modulation
QPSK Quadrature Phase Shift Keying
QoS Quality of Service
RSC Recursive Systematic Convolutional
SCCC Serial Concatenated Convolutional Codes
SER Symbol Error Rate
SIM Subscriber Identify Module
SISO Soft Input Soft Output
SNR Signal to Noise Ratio
SOVA Soft Output Viterbi Algorithm
STC Space Time Coding
TCM Trellis Coded Modulation
TDD Time Division Duplex
VoIP Voice over Internet Protocol
VA Viterbi Algorithm
USIM Universal Subscriber Identify Module
UL Uplink
WEF Weight Enumerating Function
WER Word Error Rate
WiFi Wireless Fidelity
MỞ ĐẦU

Trong những năm gần đây, các dịch vụ ứng dụng trên mạng di động đã có bước
phát triển bùng nổ với nhiều loại hình đa dịch vụ đa nội dung mới như các dịch vụ hội
nghị trực tuyến, ngân hàng điện tử, Internet tốc độ cao hay các dịch vụ đào tạo từ xa
trực tuyến, game trực tuyến... Các dịch vụ này phát triển đồng nghĩa với việc công
nghệ truy nhập cũng liên tục được phát triển để đáp ứng những đòi hỏi ngày càng cao
về băng thông cho truy cập, chất lượng dịch vụ và hiệu quả kinh tế. Các công nghệ
truy nhập băng rộng đã được phát triển nhanh chóng trong những năm gần đây bao
gồm các công nghệ truy nhập hữu tuyến và công nghệ vô tuyến.
Một loạt các chuẩn về mạng truy nhập vô tuyến băng rộng đã được nhiều tổ
chức nghiên cứu, xây dựng và phát triển như chuẩn IEEE 802.11x, IEEE 802.15, IEEE
802.16, IEEE 802.20, HIPERLAN 1/2, HomeRF, chuẩn Bluetooth,... Phạm vi ứng
dụng của các chuẩn này bao trùm từ mạng cá nhân, mạng nội bộ (LAN), mạng đô thị
(MAN) và mạng diện rộng (WAN).
Mặc dù các hệ thống thông tin di động thế hệ thứ 2 và thứ 3 vẫn đang phát triển
không ngừng nhưng các công ty viễn thông lớn trên thế giới đã bắt đầu tiến hành triển
khai thử nghiệm các chuẩn di động thế hệ mới 4G với nhiều tiềm năng, trong đó có
công nghệ LTE (Long Term Evolution).
Một trong những vấn đề cốt lõi trong quá trình chuẩn hóa 4G LTE của tổ chức
3GPP là việc nghiên cứu và áp dụng các phương thức mã hóa kênh, đan xen cùng với
nguyên lý phối hợp tốc độ cho mục đích sửa lỗi phía trước.
Với mục đích mang lại một cái nhìn rõ hơn về các phương pháp mã hóa kênh
đan xen và phối hợp tốc độ, ứng dụng của các phương pháp này vào hệ thống thông tin
di động băng rộng 4G LTE, tôi đã chọn đề tài tốt nghiệp của mình là: “Nghiên cứu
thiết kế các khối mã hóa và giải mã hóa turbo code theo chuẩn LTE 4G”.
Tôi xin gửi lời cảm ơn chân thành tới TS. Ngô Vũ Đức, người đã luôn chỉ bảo
tôi nhiệt tình trong quá trình làm luận văn. Đồng thời cũng xin gửi lời cảm ơn tới người
thân, bạn bè, đồng nghiệp,…đã tạo điều kiện cho tôi có thể hoàn thành luận văn này.
Chương 1:
TỔNG QUAN VỀ HỆ THÔNG TIN SỐ
1.1 Cấu trúc hệ thống tin số.
Vào cuối thế kỷ 20 và đầu thế kỷ 21 đã ra đời nhiều loại hệ thống thông tin số,
chúng khác nhau về giải pháp xử lý tín hiệu số nhằm thực hiện việc truyền các tín hiệu
số một cách có hiệu quả về phương diện chiếm dụng băng tần cũng như công suất tín
hiệu. Một trong những giải pháp đó là dùng kỹ thuật mã hoá kiểm soát lỗi (Error
Control Encoding). Mục tiêu chính của bộ mã kiểm soát lỗi trong hệ thống thông tin số
là làm cho độ tin cậy của truyền tin đạt cực đại trong phạm vi bị ràng buộc về độ rộng
băng tần, công suất tín hiệu và độ phức tạp của mạch điện trong hệ thống.
Để làm rõ vai trò của việc mã hoá kiểm soát lỗi, ta đưa ra mô hình hệ thống
thông tin số tổng quát sau:

Mã hóa Mã hóa Mã hóa Điều chế


Nguồn
tin
nguồn mật kênh

Kênh truyền

Tin tức Giải mã Giải mã hóa Giải mã Giải điều Chế


thu được hóa mật Hóa kênh

Hình 1.1: Mô hình tổng quát hệ thống thông tin số

Trong đó, nguồn tin là nơi tạo ra các bản tin chứa đựng những thông tin cần
phát đi, các bản tin này có thể là các từ, các ký hiệu mã v.v... Đầu ra của nguồn tin là
chuỗi các ký hiệu được biến đổi từ bảng chữ cái nào đó, thông thường là các ký hiệu
nhị phân. Đầu ra của nguồn tin có nhiều thông tin dư nên bộ mã nguồn được thiết kế
để chuỗi đầu ra của nguồn tin trở thành chuỗi các chữ số nhị phân có độ dư thừa cực
tiểu. Nếu bộ mã nguồn tạo ra rb bit/giây thì rb được gọi là tốc độ dữ liệu.
Kênh truyền là nguyên nhân chủ yếu gây ra lỗi cho tín hiệu thu, nên bộ mã kênh
thực hiện thêm vào các bit kiểm tra vào chuỗi thông tin nhằm giảm tối thiểu các lỗi sau
giải mã. Bộ mã kênh ánh xạ bản tin k chữ số đầu vào thành bản tin mới n chữ số đầu ra
được gọi là từ mã. Một bộ kiểm soát lỗi được gọi là tốt khi nó tạo ra các từ mã có
khoảng cách sai khác nhau (khoảng cách Hamming) lớn. Mỗi bộ mã được mô tả bằng
tỷ số R = k/n < 1 được gọi là tỷ lệ mã, do đó tốc độ dữ liệu đầu ra bộ mã kênh là r c =
rb/R [bit/giây]. Như vậy, bộ mã kênh làm giảm tốc độ truyền dữ liệu và làm tăng độ
rộng băng tần trên kênh truyền.
Để tín hiệu đầu ra bộ mã kênh phù hợp với kênh truyền, bộ điều chế thực hiện
sắp xếp các chuỗi số đầu ra bộ mã kênh thành chuỗi dạng sóng tương tự (các ký hiệu)
phù hợp với đặc tính kênh truyền. Để tăng tốc độ truyền, mỗi dấu (symbol) có thể
mang nhiều bit thông tin như các hệ thống điều chế đa mức (QPSK-TCM, MPSK,
MQAM, ...). Một bộ điều chế M mức thực hiện sắp xếp khối m chữ số nhị phân đầu ra
bộ mã kênh thành một trong M các dạng sóng có thể, trong đó M = 2m. Quá trình điều
chế có thể được thực hiện bằng cách biến đổi giá trị biên độ, pha hoặc tần số của dạng
sóng hình sin còn được gọi là tải tin. Chu kỳ dạng sóng đầu ra bộ điều chế là T giây và
rS = 1/T được gọi là tốc độ ký hiệu. Độ rộng băng tần tín hiệu cực tiểu là r S [Hz] và
được biểu diễn như sau:

rs  rb
lR (1.1)

Kênh là phương tiện được sử dụng để truyền tải tin. Ví dụ, kênh hữu tuyến
điện, kênh vô tuyến điện, kênh sợi quang... Hai ảnh hưởng quan trọng nhất của kênh là
tạp nhiễu và độ rộng băng tần. Ngoài ra, trong kênh thông tin di động còn bị hạn chế
bởi lan truyền đa đường, trong cáp sợi quang còn bị tán sắc tín hiệu...

Tạp nhiễu

Dữ liệu Điều chế Kênh Giải điều chế Dữ liệu


Giải điều chế kết

Hình 1.2: Sơ đồ giải điều chế kết hợp

Từ sơ đồ kênh kết hợp, nếu giá trị đầu ra kênh kết hợp chỉ phụ thuộc vào giá trị
hiện hành đầu vào bộ giải mã mà không phụ thuộc vào một vài tín hiệu trước đó thì ta
gọi là kênh không nhớ. Nó được miêu tả bằng xác suất truyền P(i|j), trong đó i là ký
hiệu đầu vào nhị phân và j là ký hiệu đầu ra nhị phân. Mô hình kênh đơn giản nhất là
khi xác suất xuất hiện lỗi trong các ký hiệu nhị phân “0” và “1” là như nhau và kênh là
kênh không nhớ. Mô hình kênh loại này được biết đến như kênh đối xứng nhị phân
(BSC-Binary Symmetric Channel).
Với giải pháp quyết định cứng tại đầu ra bộ giải điều chế làm cho bộ giải mã
kênh ít cải thiện được tổn hao thông tin. Chỉ khi bộ giải điều chế thực hiện lượng tử
hoá tại đầu ra, với số mức lượng tử lớn hơn hai hoặc đưa ra các mẫu tín hiệu băng gốc
liên tục vào bộ giải mã kênh thì quá trình giải mã như vậy được gọi là giải mã quyết
định mềm và sẽ cải thiện được tổn hao thông tin.
Sơ đồ mã kênh thường được chia làm hai loại (hình 1.3), đó là mã dạng sóng
(Waveform) và mã chuỗi có cấu trúc (Structured sequence). Trong mã dạng sóng bao
gồm: mã đối cực (Antipodal), mã trực giao (Orthogonal), mã lưới (Trellis) và mã tín
hiệu đa mức (M-ary). Trong mã chuỗi có cấu trúc bao gồm: mã khối (block), mã chập
(convolutional) và mã liên kết.
Mã khối là bộ mã không nhớ (chuỗi bit thu được ở đầu ra của bộ mã chỉ phụ
thuộc vào bản tin đầu vào hiện hành mà không phụ thuộc một vài bản tin trước đó).
Trái ngược với mã khối là mã chập, đây là bộ mã có nhớ (chuỗi bit nhận được ở đầu ra
của bộ mã không chỉ phụ thuộc vào bản tin đầu vào hiện hành mà còn phụ thuộc vào
một vài bản tin trước đó). Mã liên kết là sự kết hợp của hai bộ mã vòng trong và vòng
ngoài được phân biệt bởi bộ hoán vị bit..
Năm 1967, Forney đưa ra sơ đồ mã hoá gồm mã vòng trong là mã chập và mã
vòng ngoài là mã khối Reed-Solomon. Sau đó, năm 1993 Berrou đưa ra bộ mã Turbo
có cấu trúc gồm hai bộ mã chập kết nối song song thông qua bộ hoán vị và năm 1996
Benedetto đưa ra sơ đồ mã gồm hai mã chập liên kết nối tiếp. Các bộ mã này đều sử
dụng thuật toán giải mã lặp và có chất lượng tiến tới giới hạn Shannon.

Mã kênh

Mã chuỗi có cấu trúc Mã dạng sóng

Mã khối Mã đối cực

Mã chập Mã trực giao

Mã liên kết Mã lưới

Mã tín hiệu đa mức

Hình 1.3: Sơ đồ phân loại mã kênh


1.2 Thế nào là giới hạn Shannon
Một hệ thống thông tin số có tốc độ r và bị giới hạn về độ rộng băng tần B
b
được đánh giá qua hiệu suất sử dụng phổ , ký hiệu là η.
r
  b bit/giây/Hz (1.2)
B
Có thể viết

(1.3)
rslR

B
Với rs tốc độ ký hiệu. Khi độ rộng băng tần yêu cầu tối thiểu cho tín hiệu sau
khi điều chế là rs Hz, hiệu quả sử dụng phổ đạt cực đại và được ký hiệu là η .
max

 max  lR (1.4)
Để đạt được hiệu quả sử dụng công suất thì yêu cầu tỷ số E / N (Eb là năng
b
0

lượng trung bình thu được trên bit thông tin, N0 là mật độ phổ công suất tạp âm đơn
biên) phải đạt được xác suất lỗi bit theo lý thuyết và có quan hệ với tỷ số tín hiệu trên
tạp âm (SNR ) S/N có liên hệ Eb / N 0 .
với
S Eb
 lR
N N (1.5)
0

Như vậy, giới hạn trên của tốc độ truyền dữ liệu trên kênh có liên quan tới tỷ số
tín hiệu trên tạp âm và độ rộng băng tần hệ thống theo khái niệm về dung lượng kênh,
ký hiệu là C, được Shannon giới thiệu [3]. Đó là tốc độ cực đại mà thông tin có thể
truyền qua trên kênh có nhiễu Gauss trắng và được đưa ra bởi công thức Shannon -
Harley.

Định lý về mã kênh của Shannon được phát biểu như sau: “Khi xem xét kênh
AWGN, tồn tại mã kiểm soát lỗi sao cho có thể truyền thông tin qua kênh với tốc độ r b
nhỏ hơn dung lượng kênh và tỷ số lỗi bit thấp tuỳ ý”
Nghĩa là, trong trường hợp có sử dụng bộ mã kênh, khi tốc độ truyền dữ liệu
nhỏ hơn dung lượng kênh (rb < C) thì chất lượng thông tin có thể đạt được xác suất lỗi
thấp tuỳ ý, ngược lại khi tốc độ truyền dữ liệu lớn hơn hoặc bằng dung lượng kênh (rb
> C) thì chất lượng thông tin không thể đạt được xác suất lỗi thấp tuỳ ý. Định lý về mã
kênh của Shannon không chỉ ra cách thức để thiết kế bộ mã nhằm đạt được tốc độ dữ
liệu tiệm cận tốc độ cực đại (r b = C) tại xác suất lỗi thấp tuỳ ý, điều này đã đặt ra thách
thức lớn cho nghiên cứu phát triển về kỹ thuật mã kiểm soát lỗi.
Giả sử rằng với đường truyền không có lỗi (error-free), tốc độ dữ liệu đạt cực
đại (rb = C) thì hiệu quả sử dụng phổ đạt cực đại η = C/B, có thể viết:
max

Thay (1.4) vào (1.7) ta có :

Để giá trị Eb/N0 nhỏ nhất ứng với đường truyền không có lỗi là:
Eb
 2max 1
N0 (1.9)
max
Nếu độ rộng băng tần không bị giới hạn thì khi B → ∞ hay η → 0 thì ta có
max
Eb/N0 đạt cực tiểu.
lim
Eb  ln 2  (1.10)
1.59dB
N0
max0

Như vậy, khi đường truyền không có lỗi thì tỷ số Eb/N0 trên kênh AWGN
không thể nhỏ hơn -1,59 dB (Hình 1.4).
Điều chế BPSK không mã hóa đạt được BER là 10-5 với tỷ số Eb/N0 là 9.5 dB
và hiệu suất phổ η =1 bit/giây/Hz. Trong khi giới hạn Shannon cho trường hợp Eb/N0
=10log101 = 0 dB. Như vậy là cách cận Shannon 9.5 dB.
Mã sử dụng trong thông tin vệ tinh cũng như Voyager mã chập (2,1,6)
Odenwalder đạt được xác suất lỗi bit 10 -5 tại 4.5 dB với điều chế BPSK và bộ giải mã
Viterbi quyết định mềm, đạt được hiệu suất phổ η= 0.5 bit/giây/Hz.
Hình 1.4: Hiệu suất sử dụng phổ của các sơ đồ điều chế và mã hoá khác nhau được tính toán
cho trường hợp BER là 10-5 trên kênh AWGN
Mã chập trong được giải mã bởi thuật toán Viterbi quyết định mềm và mã
Reed-Solomon được giải mã bởi bộ giải mã quyết định cứng Massey-Berlekamp có
thể đạt được BER là 10-5 với tỷ số Eb/N0 = 2.6 dB, với hiệu suất phổ η =0.437
bit/giây/Hz.
Mã chập trong (4,1,14) được kết hợp mã Reed-Solomon (255, 233) dùng trong
thông tin vê tinh địa tĩnh có BER là 10-5 với tỷ số Eb/N0 = 1.75 dB, với hiệu suất phổ η
=0.25 bit/giây/Hz.
Điều chế mã lưới Trellis (TCM) có một đặc tính mong muốn là độ lợi mã hóa
mà không cần thêm độ rộng băng tần như hệ thống không mã với cũng hiệu suất phổ.
Giới hạn độ lợi mã hóa đối với TCM hai chiều thay đổi từ 3 đến 6 dB.
Ví dụ, một mã 8PSK-TCM với 64 trạng thái, có tỷ lệ lỗi bit (BER) 10 -5 ở tỷ số
Eb/N0 = 6.05 dB, với hiệu suất phổ η =2 bit/giây/Hz, độ lợi là 3.5dB tương ứng với
QPSK không mã, trong khi 8PSK-TCM với 256 trạng thái có độ lợi 4 dB.
Mã turbo và giải mã lặp [3] đã lấp được khe hở về giới hạn giữa dung lượng và
chất lượng mã. Chúng có thể đạt được Eb/N0 = 0,7 dB cho BER =10-5 và η = 0,5
bit/giây/Hz.
Để tiến tới giới hạn Shannon đã có nhiều bộ mã và phương pháp giải mã ra đời.
Hiện nay mã turbo kết hợp với phương pháp giải mã lặp đã gần đạt được giới hạn
Shannon. Với những ưu điểm trên mã turbo đã được ứng dụng vào công nghệ WiMAX
phù hợp với đường truyền băng thông rộng, trong môi trường vô tuyến khắc nghiệt…

1.4. Kết luận.


Các chương tiếp theo sẽ phân tích cụ thể hơn về lý thuyết mã hóa kênh và các
phương pháp mã hóa kênh phổ biến đồng thời tìm hiểu về mã Turbo
Chương 2:
MÃ TURBO
2.1 Cấu trúc bộ mã hóa turbo

Một bộ mã hóa turbo được hình thành bởi hai bộ mã chập hệ thống đệ quy
(RSC-Recursive Systematic Convolutional) kết nối với nhau song song và được tách
nhau bởi bộ hoán vị theo tài liệu tham khảo (TLTK)[2]. Sơ đồ khối của bộ mã hóa
turbo điển hình tỷ lệ mã 1/3 được cho trên hình 2.1.

c v0

RSC v1
Encoder1

Interleaver

c~ RSC
v2
Encoder 2

Hình 2.1: Bộ mã hóa turbo

Ma trận sinh của mã RSC thành phần tốc độ 1/2 có thể được biểu diễn như sau.

Khi g0 (D) và g (D) là đa thức phản hồi và đặt trước có bậc


1
v riêng biệt. Trong

bộ mã hóa, với cùng chuỗi thông tin được mã hóa hai lần nhưng theo một trật tự khác
nhau. Bộ mã hóa thứ nhất mã hóa trực tiếp chuỗi đầu vào, chuỗi đầu vào được ký hiệu
là c có chiều dài là N. Bộ mã hóa thành phần thứ nhất có hai đầu ra. Đầu ra thứ nhất
được ký hiệu là v0 chính là chuỗi đầu vào khi bộ mã hóa có hệ thống. Các đầu ra khác
là chuỗi kiểm tra chẵn lẻ, ký hiều là v1 . Chuỗi thông tin đã hoán vị tại đầu vào của bộ
~
mã hóa thứ hai được ký hiệu là c . Chỉ có chuỗi kiểm tra chẵn lẻ của bộ mã hóa
thứ hai được truyền đi, chuỗi này được ký hiệu là v2. Chuỗi thông tin v0 và chuỗi kiểm
tra chẵn lẻ của bộ mã hóa thứ hai v1, v2 được ghép để tạo ra chuỗi mã turbo. Mã này
có tốc độ là 1/3.
Ví dụ 2.1: Bộ mã hóa turbo theo TLTK[3] tốc độ 1/3
Một bộ mã hóa turbo tốc độ 1/3 dựa trên mã RSC (2, 1, 4) như hình 2.2. Các thành
phần mã RSC (2, 1, 4) có tốc độ 1/2 và số ô nhớ v  4 (số trạng thái là  16 ).
s
M

Hình 2.2: Bộ mã hóa turbo tốc độ 1/3


Ma trận sinh của mã RSC như sau:

G(D)  
1 4 theo [1] của tài liệu tham khảo
D
1
 1DD D D 
2 3 4


(2.2)
Ta giả sử rằng chuỗi đầu vào là.
c = (1011001) (2.3)
Hai chuỗi đầu ra của bộ mã hóa thứ nhất.
v0 = (1011011)
v1 = (1110001) (2.4)
Chúng ta giả sử rằng bộ hoán vị hoán vị chuỗi thông tin thành.
c~ = (1101010) (2.5)
Chuỗi kiểm tra chẵn lẻ của bộ mã hóa thứ hai là.
v2 = (1000000) (2.6)
Cuối cùng chuỗi mã hóa turbo là.
v = (111, 010, 110, 100, 000, 000, 110)
711A57799627 (2.7)
2.2 Hoán vị
Hoán vị theo tài liệu tham khảo (TLTK) [3] là một quá trình sắp xếp lại trật tự
của một chuỗi thông tin dữ liệu theo một định dạng xác định một-một. Ngược lại của
quá trình này là giải hoán vị, nó khôi phục lại chuỗi thông tin theo trật tự gốc ban đầu.
Một thiết bị hoán vị với kích thước N được thể hiện trong hình 2.3, chúng ta giả
sử chuỗi dữ liệu tại đầu vào bộ hoán vị I là chuỗi nhị phân.
c  (c1 ,c2 ,c3 ,..., cN ) (2.8)
với ci 1  i  N . Bộ hoán vị hoán vị chuỗi c thành một chuỗi
0,1, bit.
~ ~ ~ ~
c  (c , c , c
~ (2.9)
,..., c )
1 2 3 N

với ~
c 1  i  N . Chuỗi c~ gồm tất cả các thành phần của c nhưng khác về
i 0,1,
trật tự. Nếu chúng ta xem chuỗi đầu vào c và chuỗi đầu ra c~ là một cặp với N thành
phần, sẽ có sự tương ứng một- c 
i giữa mỗi thành của c và c~ .
một
c~

Chúng ta xác định một tập A như sau.


A  1,2,..., N (2.10)
Bộ hoán vị có thể được xác định bởi một hàm ánh xạ chỉ số.
 (A  A): j   (i),i, j  A (2.11)
Trong đó i, j là các chỉ số của mỗi thành phần trong chuỗi c gốc và chuỗi hoán
vị c~ tương ứng. Hàm ánh xạ có thể viết lại theo dạng véctơ hoán vị.
 N  ( (1), (2), (3),..., 
(N )) (2.12)

Hình 2.3: Bộ hoán vị


Ví dụ, chúng ta xem bộ hoán vị giả ngẫu nhiên với kích thước N = 8. Chuỗi đầu
vào được thể hiện như sau.
Chuỗi hoán c  (c1, c2 , c3 , c4 , c5 , c6 , c7 , c8 )
vị.

~ ~ ~ ~ ~ ~ ~ ~ ~
c  (c , c , c , c , c , c , c , c )
1 2 3 4 5 6 7 8

 (c2 , c4 , c1, c6 , c3 , c8 , c5 , c7 )
Hàm ánh xạ được minh họa trong hình 2.4. Véctơ hoán vị được viết như sau.

 8  ( (1),  (2),  (3),  (4),  (5),  (6),  (7),  (8))

 (3,1,5,2,7,4,8,6)

Hình 2.4: Bộ ánh xạ hoán vị

Bộ hoán vị trong mã hóa turbo là một bộ hoán vị khối giả ngẫu nhiên bởi sự
hoán vị của N thành phần mà không lặp lại.
2.2.1 Hoán vị trong mã Turbo
Trong mã turbo, quá trình hoán vị được thực hiện trước khi dữ liệu thông tin được
mã hóa bởi bộ mã hóa thứ hai. Nói chung, bộ hoán vị có kích thước N là lớn hơn đáng kể
so với v mã nhớ và các thành phần véctơ hoán vị được chọn một cách ngẫu nhiên.

Vai trò cơ bản thứ nhất của bộ hoán vị là tạo ra một mã khối dài từ những mã
chập có nhớ nhỏ, như là những mã dài có thể tiến tới giới hạn dung lượng kênh
Shannon. Thứ hai, nó phân tán các lỗi cụm ra. Bộ hoán vị cung cấp thông tin dữ liệu
đã được hoán vị tới bộ mã hóa thành phần thứ hai trong bộ mã hóa turbo và làm không
tương quan các thông tin đầu vào cho hai bộ giải mã thành phần, nhờ đó có thể áp
dụng thuật toán giải mã cận tối ưu dựa trên việc trao đổi thông tin không tương quan
giữa hai bộ giải mã thành phần có thể được áp dụng. Ví dụ, sau khi sửa một vài lỗi
trong bộ giải mã thứ nhất, một vài lỗi còn lại được phân tán bởi bộ hoán vị như vậy
chúng được sửa lỗi trong bộ giải mã kia. Bằng cách tăng số lần lặp trong quá trình giải
mã xác suất lỗi bit có thể tiến tới giới hạn dung lượng kênh. Vai trò cuối của bộ hoán
vị là ngắt lan truyền lỗi của những chuỗi đầu vào có trọng số thấp, do đó làm tăng
khoảng cách Hamming tự do lên hoặc giảm bớt số lượng từ mã có khoảng cách nhỏ
trong phổ khoảng cách của mã.

Có bốn loại công nghệ hoán vị. Đó là hoán vị khối, hoán vị chập, hoán vị ngẫu
nhiên và hoán vị phù hợp theo mã theo TLTK[3].
2.3 Một số ứng dụng của mã hóa turbo
2.3.1 Mã turbo cho thông tin vũ trụ
Trong thông tin vũ trụ sử dụng mã turbo 16 trạng thái, tốc độ 1/2, 1/3, 1/4 và
1/6 như là mã kênh. Đây là một tiêu chuẩn mới do CCSDS (Consultative Committee
for Space Data Systems) đưa ra. Sơ đồ khối bộ mã hóa turbo như hình 2.5 theo
TLTK[1].
Bộ mã hóa turbo có được bởi hai bộ mã hóa RSC tốc độ 1/2 liên kết song song.
Ma trận sinh của mã RSC như sau.
 1  D  D3  D4 
G(D)  1 
 1  D3  D4 

Hình 2.5: Sơ đồ khối bộ mã hóa turbo CCSDS


Mã hóa turbo tốc độ 1/4 có được bởi bộ hai mã hóa RSC 16 trạng thái, tốc bộ
1/3 và tốc độ 1/3, liên kết song song. Ma trận sinh của mã RSC tốc độ 1/3 như sau.
 1  D2  D4 1  D  D2  D3  D4 
G(D)  1 
 1D D
3 4
1  D3  D4 
Mã hóa turbo tốc độ 1/6 có được bởi hai bộ mã hóa RSC 16 trạng thái tốc bộ 1/4
và tốc độ 1/3 liên kết song song. Ma trận sinh của mã RSC tốc độ 1/4 và tốc độ 1/3 như
sau.
 4 1  D  D3  1 4 D2  1  D  D2  D3  D4 
D D
G(D)  1 
 1  D3  1  D3  1  D3  D4 
D4 D4

 1  D  D3  D4 1  D  D2  D3  D4 
G(D)  1 
 1  D3  D4 1  D3  D4 

2.3.2 Mã turbo cho CDMA2000


Trong khuyến nghị CDMA2000, mã turbo được giới thiệu dùng cho cả kênh
ngược và kênh xuôi trong hệ thống di động tế bào thế hệ 3 băng rộng đa truy cập phân
chia theo mã (WCDMA). Sơ đồ khối đối với bộ mã hóa turbo cho kênh ngược được
thể hiện trên hình 2.6. theo TLTK[1] Các mã thành phần được đặc trưng bởi mã RSC
(3, 1, 3) tỷ lệ mã 1/3 . Ma trận sinh của mã RSC như sau.
 1  D2  D3 1  D  D2  D3 
G(D)  1 
 1D 1  D  D3 
3
D

Hình 2.6: Bộ mã hóa turbo liên kết ngược dùng cho WCDMA2000
Bằng cách loại bỏ xen kẽ (puncturing) các phần tử đầu ra của bộ mã hóa, có thể
đạt được tốc độ mã thay đổi 1/4, 1/2 và 1/3. Mã turbo tốc độ 1/4 có được bằng cách
luân phiên loại bỏ các bit chẵn lẻ v2 và v’2 của hai bộ mã hóa thành phần luân phiên
nhau. Việc loại bỏ xen kẽ các bit chẵn lẻ v1 và v’1 sẽ cho mã turbo tốc độ 1/3. Để được
mã turbo tốc độ 1/2, người ta loại bỏ các bit chẵn lẻ v2 , v’2, v1 và v’1 đối với cả hai bộ
mã hóa này sẽ được loại bỏ.
Bộ mã hóa turbo cho kênh xuôi được dựa trên hai bộ mã RSC (3, 1, 3) tỷ lệ mã
1/3 có ma trận sinh.
 1  D  D3 1  D  D2  D3 
G(D)  1 
 1D 1  D  D3 
D3
Để có được mã turbo tốc độ 1/4, các bit chẵn lẻ v1 từ bộ mã hóa thành phần thứ
nhất và v’2 từ bộ mã hóa thành phần thứ hai được loại bỏ xen kẽ. Để có được mã turbo
tốc độ 1/3, các bit chẵn lẻ v2 và v’2 của cả hai bộ mã hóa đều được loại bỏ.
2.3.3 Mã turbo cho thông tin di động thế hệ 3
Trong thông tin di động thế hệ 3GPP (3rd Generation Partnership Project) gồm
một mã turbo 8 trạng thái tốc độ 1/3 hay 1/2, và một mã chập liên kết nối tiếp 4 trạng
thái tốc độ 1/3 theo TLTK[1].
Mã turbo 8 trạng thái được hình thành bởi hai bộ mã hóa RSC tốc độ 1/2 liên
kết song song có ma trận sinh là.
 1  D  D3 
G(D)  1
3 
 1D D 
2

Đầu ra của bộ mã hóa turbo được loại bỏ xen kẽ để có các bit mã tương ứng với
tốc độ mã mong muốn là 1/3 hoặc 1/2. Để có được tốc độ 1/3, bit thông tin hệ thống
của bộ mã hóa thứ hai được loại bỏ. Để có được tốc độ 1/2, các bit chẵn lẻ được tạo ra
từ hai bộ mã hóa được loại bỏ xen kẽ. Cấu trúc bộ mã hóa 8 trạng thái tốc độ 1/3 như
trong hình 2.7.

Hình 2.7: Bộ mã hóa turbo dùng cho thông tin 3GPP


Cấu trúc của bộ mã chập liên kết nối tiếp 4 trạng thái tốc độ 1/3 được thể hiện
trên hình 2.8. Mã vòng trong là một mã RSC tốc độ 1/2 có ma trận sinh là.
 1  D2 
G(D)  1 
 1  D  D2 
Mã vòng ngoài có tốc độ 2/3 có được bởi việc loại bỏ xen kẽ đầu ra của một mã
RSC tốc độ 1/2 với cùng ma trận sinh như mã vòng trong. Ma trận loại bỏ xen kẽ như
sau.

1 1
P   0
 
1

Hình 2.8: Cấu trúc của bộ mã chập liên kết nối tiếp dùng cho thông tin 3GPP

2.4 Nguyên lý giải mã turbo


2.4.1 Mô hình hệ thống

Hình 2.9: Mô hình hệ thống

Hệ thống sơ đồ khối được mô tả trên hình 2.9. Để phân tích, chúng ta mô tả mã


chập nhị phân n,1, v tốc độ mã 1/n. Cho mỗi bản tin

c  c1 , c 2 ,..., ct ,..., c N (2.13)



với ct là ký hiệu bản tin tại thời điểm t và N là chiều dài chuỗi. Giả sử rằng các bản tin
ct là độc lập với nhau. Quá trình này có thể được hình tượng hóa bởi trạng thái và sơ
đồ lưới. Khi đầu vào là ct, máy mã tạo ra một đầu ra vt và thay đổi trạng thái từ St tới
St+1 khi (t+1) là thời điểm kế tiếp. Quá trình này có hai mối liên hệ sau.
vt = f(St, ct, t)
St+1 = g(St, ct, t) (2.14)
Hàm f(.) và g(.) là hàm có biến thay đổi theo thời gian.
Chuỗi trạng thái từ thời điểm 0 tới thời điểm t được định nghĩa là

S 0  (S 0 , ,..., St )
t
(2.15)
S1

Chuỗi trạng thái là một quá trình Markov bậc nhất với xác suất
P(St 1 | S0 , S1 ,..., St ) của trạng thái St+1 tại thời điểm (t+1) chỉ phụ thuộc vào trạng thái

St tại thời điểm t.


P(St 1 | S0 , S1 ,..., St )  P(St 1 | St ) (2.16)
Chuỗi đầu ra bộ mã hóa từ thời điểm 1 tới thời điểm t được thể hiện
như
vt  (v , v ,..., v ) (2.17)
1 1 2 t

trong đó

v t  (vt ,0 , vt ,1 ,..., vt ,n1 (2.18)


)
là khối mã có chiều dài n

Chuỗi v 1t điều chế BPSK. Chuỗi điền chế này được ký hiệu là x 1t

t
x1  (x1, x2 ,..., xt ) (2.19)

trong đó

x t  (xt ,0 , xt ,1,..., xt ,n 1
(2.20)
)

xt ,i  2v
t ,i , i = 0,1,…, n-1 (2.21)
1

Đây là quan hệ một-một giữa mã và chuỗi điều chế, cặp mã hóa/điều chế có thể
biểu diễn bằng trạng thái hoặc sơ đồ trạng thái.
chuỗi
Chuỗi điều chế
t
1 bị sai lệch x đi bởi nhiễu Gauss trắng, kết quả ta thu được
rt  (r , r ,..., r ) (2.22)
1 1 2 t

với
rt  (rt ,0 , rt ,1,..., rt ,n (2.23)
1)

rt ,i  x  n , i = 0,1,…, n-1 (2.24)


t ,i t
,i

trong đó
nt ,i là biến ngẫu nhiên nhiễu Gauss có trung bình không và phương sai  2

2.4.2 Tiêu chuẩn đánh giá


Trong mô hình hệ thống ở hình 2.9, điều chế là BPSK. Chúng ta có thể coi điều
chế đa mức (M-ary) khi chuỗi mã v được chia trong nhóm biểu trưng nhị phân
log 2 và mỗi lần ánh xạ và M-ary biểu trưng vào trong bộ điều chế.
M
Giả sử rằng chuỗi điều chế x chứa N  biểu trưng đa mức (M-

ary). (2.25)

x  (x1, x 2 ,..., x N )

Tương quan chuỗi mã v là N  . Biểu trưng nhị phân log


2 dài
M

v  (v1,1 ,..., v1,log M , v2,1 ,..., v2,log M ,..., vN ,1 ,..., vN ,log
2 2 2
M )

Chuỗi bản tin thu được là.


(2.26)
c  c1, c2 ,..., cN

Trong N  RN  log 2 và R là tốc độ mã.
khi M

Bộ thu ước lượng chuỗi bản tin c chưa biết, có thể viết là

cˆ  cˆ1 , cˆ2 ,..., cˆN  (2.27)

Trên cơ sở hai hệ một-một kép giữa c, v và x, ước lượng mã và chuỗi điều chế
có thể đạt được bởi toán tử ánh xạ đơn từ cˆ , Chúng có thể được viết như sau.
vˆ  (vˆ1,1 ,..., vˆ1,log M , vˆ2,1 ,..., vˆ2,log M ,..., vˆ N ,1 ,..., vˆ N ,log M )
2 2 2

xˆ  (xˆ 1 , xˆ 2 ,..., xˆ N )

Một bộ thu tốt nhất được nhìn nhận khi đạt giá trị nhỏ nhất của xác suất lỗi
như sau:
 Tỷ lệ lỗi từ (WER-Word Error Rate) được định nghĩa như là xác suất
vˆ  v ,với v và vˆ tương ứng là từ mã đã phát đi và chuỗi ước lượng từ mã.
 Tỷ lệ lỗi dấu (SER-Symbol Error Rate) được định nghĩa như là xác suất

xˆt
 xt t  1,2,... N  , xt và x lần lượt là dấu hiệu đã phát đi và ước lượng
, với ˆt
dấu tại thời điểm t.

 Tỷ lệ lỗi bit (BER-Bit Error Rate) được định nghĩa như là xác suất c  ct , với
ˆt

ct và
c tương ứng là bit đã phát đi và ước lượng bit tại thời điểm t.
ˆt
2.4.3 Thuật toán Viterbi
Thuật toán Viterbi (VA) được đề xuất để giải mã chập theo TLTK[2]. Chúng ta
xem xét hệ thống trong hình 2.9. Cặp mã hóa/giải mã được mô tả bởi một sơ đồ lưới
với số trạng thái Ms.Giả sử quá trình mã hóa/giải mã chạy từ trạng thái 0 ở thời điểm
tức thì 0 đến trạng thái 0 ở thời điểm tức thì  , với  là thời điểm tức thì cuối. Thực
chất thì trạng thái bắt đầu và trạng thái cuối là không quan trọng và nó không phải là
yêu cầu chính cho thuật VA làm việc. Chuỗi trạng thái có thể biểu diễn như sau.

S  (0, S1, S2 ,..., S (2.28)


1,0)

VA tìm một chuỗi thông tin 


cˆ  cˆ , chuỗi tin này tương ứng với chuỗi tin điều
t

chế 
xˆ  xˆ trong sơ đồ lưới, sao cho tối thiểu hóa xác suất lỗi từ P . Xác suất lỗi

t
từ mã này có thể được biểu diễn như sau:

P  1  Pr (c | r)Pr (2.29)
(r)dr
r

với r là chuỗi tin thu


r  r .
được 1

Xác suất lỗi từ mã nhỏ nhất tương ứng với tích phân trong công thức (2.29) là
lớn nhất. Nó là giá trị xác suất mà một từ đúng. Do
Pr (r) là độc lập với c , điều này

tương ứng với cực đại hóa xác suất hậu nghiệm Pr (c | r) . Giá trị thu được là chắc chắn

nhất(hợp lẽ cực đại – maximum likelihood) khi xác suất hậu nghiệm lớn nhất (MAP:
maximum a posteriori probability). Sử dụng công thức Bayes.

Pr (c).Pr (r |
P (c | r) 
c) (2.30)
r
Pr (r)
Giả sử rằng tần suất sử dụng các tín hiệu là như nhau( Pr (c)  constant ), lúc này

chỉ cần cực đại hóa Pr (r | c) . Một bộ giải mã chọn và ước lượng giá trị c sao

cho Pr (r | c) lớn nhất được gọi mà giải mã hợp lẽ cực đại (ML: maximum likelihood).
Những điều trình bày trên đây cho thấy rằng nếu chuỗi tin là xảy ra như nhau, các bộ
giải mã MAP và ML là tương đương nhau trong thuật ngữ về xác suất lỗi từ mã.

Xác suất lỗi P (r | c) đối với chuỗi nhận được với chiều dài  , có thể được biểu
r

diễn như sau.

Để đơn giản hóa công thức này chúng ta đưa ra hàm log Pr (r | c) .
loga

log Pr (r | c)  log Pr (rt | xt ) (2.32)
t 1

Đối với kênh log Pr (r | c) trở thành.


Gauss

(2.33)

Phân tích công thức (2.18) thấy rằng giá trị


P(r | c) lớn nhất là tương ứng với
 
khoảng cách Euclid nhỏ nhất giữa chuỗi thu được r1 và chuỗi điều x1 trong sơ đồ
lưới. chế
n1 2

 r t ,i
 xt ,i
t1 i0

Xét nhánh trong lưới tại thời điểm t trên tuyến x, khoảng cách Euclid, được gọi
x
là số đo nhánh, ký hiệu là vt
n1
v  (rt
xt
  xt ,i ) (2.34)
,i 2
i0

Sau đó số đo tuyến tương quan với tuyến x, được ký hiệu là μ(x)


t

Chú ý rằng khoảng cách Euclid nhỏ nhất là tương đương giá trị lớn nhất của
 n1

 r
,i t 1 i0
t ,i xt nó là một cách định nghĩa khác về số đo tuyến.

Thuật toán Viterbi là một cách hiệu quả để tìm một tuyến trong lưới có số đo
tuyến nhỏ nhất. Nó là ý tưởng cơ bản trong việc chọn trọng số các tuyến đi vào mỗi
trạng thái trong lưới mã, chỉ những tuyến có khả năng nhất cần lưu cho quá trình xử lý
tiếp theo, trong khi tất cả các tuyến có thể được loại bỏ mã không ảnh hưởng tới kết
quả giải mã tối ưu.
Việc tính toán này là cơ sở để giữ chỉ một tuyến trên một nốt với khoảng cách
tuyến là nhỏ nhất tại mỗi thời điểm tính. Tuyến này gọi là tuyến sống sót (survivor).
Việc quyết định trong việc ước lượng bản tin c được tạo nên tại thời điểm cuối
 . Tuyến có khả năng nhất được chọn như là tuyến sống sót trong nút cuối. Nếu số đo

tuyến nhỏ nhất tương ứng với tuyến xˆ , bộ giải mã sẽ chọn chuỗi bit nhị phân cˆ
trong tuyến này như là ước lượng cứng của chuỗi truyền c.
2.4.4 Thuật toán Viterbi đầu ra mềm (SOVA)
Điểm hạn chế của thuật toán Viterbi là tạo ra ước lượng cứng gây mất mát
thông tin trong trình giải mã đa trạng thái. Chúng có thể được sửa đổi để đưa ra những
đầu ra mềm. Vì vậy, chúng ta sẽ trình bày bằng thuật toán Viterbi đầu ra mềm (SOVA-
Soft Output Viterbi Algorithm) theo TLTK[2].
Thuật toán SOVA ước lượng thông tin đầu ra cho mỗi biểu trưng nhị phân đã
truyền đi trong hàm hợp (ct ) như sau.
lẽ
Pr (ct  1| r1 )
(ct )  log (2.36)
P (c  0 | r )
r t 1

Khi  P  i | r
r là chuỗi thu được i là một xác suất hậu nghiệm
và c , 0,1
1 r t 1

(APP) của biểu trưng truyền đi.


Bộ giải mã SOVA tạo ra quyết định cứng bởi việc so sánh (c ) với một
t

ngưỡng bằng zero.


 (ct )  0
1 (2.37)
ct  otherwis
0 e

Bộ giải mã chọn đoạn xˆ có số đo tuyến nhỏ  ,m in bằng giá trị tuyến hợp
nhất
lẽ cực đại (ML-Maximum Likelihood) theo cùng một cách thức như thuật toán Viterbi
chuẩn. Xác suất của việc chọn tuyến này được suy ra từ các công thức (2.30), (2.31),
(2.33) và (2.35).
P (c | r  )  P (x | r  ) ~ e  
min
,

(2.38)
r 1 r 1

Ký hiệu
 t ,c là số đo tuyến nhỏ nhất trong số các tuyến với dấu bù của dấu ML
tại thời điểm t, nếu biểu dấu ML tại thời điểm t là 1thì dấu bùi là 0. Như vậy chúng ta
có thể viết.
P (c  1| r ) ~ e ,min
r t 1

P(c  0 | r ) ~
e t ,c
(2.40)
r t 1

Lấy loga tỷ số của hai giá trị xác suất trên ta có

Ký hiệu  1 là số đo tuyến nhỏ nhất đối với tất cả các tuyến cho c  1 0


t t t
số đo tuyến nhỏ nhất đối với tất cả các tuyến cho
ct  0 . Nếu ML ước lượng tại thời
điểm t là 1, dấu bù tại thời điểm t là 0. Như vậy    1
và  0  tỷ số giá trị hợp

t  ,min t t ,c

lẽ theo hàm loga trong phương trình (2.41) trở


thành.

Mặt khác nếu ML ước lượng cứng tại thời điểm t = 0, dấu bù là 1, thì
 
0
và 1   . Tỷ số giá trị hợp lẽ theo hàm loga trong trường này là.
t  ,min tt ,c
2.4.5 Thuật toán MAP
Thuật toán MAP theo TLTK[2] tính toán theo tiêu chí xác suất lỗi bit hoặc xác
suất lỗi dấu nhỏ nhất. Thuật toán MAP tính toán tỷ số giá trị hợp lẽ như sau.

với 1  t   , là chiều dài chuỗi


thu được, và so sánh giá trị đó với ngưỡng zero để
tìm ra ước lượng
cứng
ct .
1 (ct )  0
ct   (2.46)
0 otherwis
e

Giá trị
(ct ) thể hiện thông tin mềm gắn với ước lượng cứng c t . Nó được
dùng cho lần giải mã tiếp theo.
Bộ mã hóa RSC tốc độ 1/2 như hình 2.10 có sơ đồ chuyển dịch trạng thái và sơ
đồ lưới như hình 2.11 và 2.12.
Giá trị của thanh ghi dịch của bộ mã hóa tại thời điểm t tương ứng với S và nó
t

chuyển thành S t 1 , cho đầu ra khối mã vt 1 như là có đáp ứng đầu ct 1 . Trạng
vào
thái bộ mã hóa được mô tả bởi xác suất chuyển dịch.
pt (l | l)  Pr S t  l | S t 1  0  l, l  M s 1
l;

Đầu ra bộ mã hóa được mô tả bởi xác suất.


qt (xt | l , l)  Pr xt |  l, St 1  0 l  M s 1
St
l; l,
Hình 2.10: Bộ mã hóa RSC tốc độ 1/2
Nhờ có quan hệ một-một giữa x
t và vt nên ta có.

qt (xt | l, l)  Pr vt |  l, S 


t 1 0  l, l  M s 1
St
l;

Như bộ mã hóa trong hình 2.12, p (l | l) hoặc bằng 0.5, khi có một kết nối từ
t

St 1  l
tới St  hoặc là 0 khi không có kết nối. qt (x | l, l là 1 hoặc bằng 0. Đối với
l )
ví dụ trên hình 2.11 và 2.12 ta có.
pt (2 | 0)  pt (1)  0.5;
pt (1| 2)  pt (1)  0.5
pt (3 | 0)  0;
pt (1 | 3)  pt (0)  (2.48)
0.5


qt (1,1 | 0,0)  qt (1,1 | 0,0)  0
1
qt (1,1 | 0,2)  (2.49)
qt (1,1 | 0,0) 
1
0

Cho chuỗi đầu c  c1 , c2 ,..., cN  , quá trình mã hóa bắt đầu tại trạng thái
vào

ban đầu S0  0 và tạo ra chuỗi đầu ra x , và cuối cùng trong trạng thái cuối S   0 ,
1
   N  v . Đầu vào kênh là
với 
x và đầu ra là r  (r , ,..., r ) .
r
1 1 1 2 

Hình 2.11: Biểu đồ trạng thái truyền đối với bộ mã RSC(2,1,2)

Xác suất truyền trong kênh Gauss được định nghĩa là.
Prr | x  
 R(r | x )
(2.50)
1 1 j j
j1

với
n1

R(rj | x j ) 
 Pr( r j ,i | x j ,i (2.51)
)
i1

Prr
(rj ,i 1)2

 1 1 e

j, |xj 2 2 (2.52)
i ,i 2

Prr (rj ,i 1)2


 1 
|xj e 2 2 (2.53)
1 2
j,
i ,i

ở đây  là phương sai nhiễu.


2

Hình 2.12: Sơ đồ lưới cho bộ RSC(2,1,2)


Đặt ct là bit thông tin đặt trưng cho quá trình truyền từ St 1 tới S t , tạo ra đầu ra

vt . Thuật toán MAP cung cấp tỷ số hợp lẽ theo hàm loga, ký hiệu bằng (ct ) , đưa ra

chuỗi thu r  như trong công thức (2.45). Bộ giải mã tạo một quyết định cứng bởi việc
1
so
sánh (ct ) với một ngưỡng zero.

Chúng ta có thể tính toán APP trong công thức (2.45) như sau.



Pr c t  0 | r1 Pr  l,  l | r1 

t1
 St
S
(l,l )Bt 0

  Pr 0 t
 l, 1 Pr r

  l | r 
(l,l )Bt
S 1 S
t 1

 (2.54)

Ở đây
B 0 là tập hợp các quá trình chuyển dịch St  l  St  gây bởi bit đầu
1 l
t

vào
 0 . Ví 0
đối với biểu đồ lưới trong hình (2.12) là (3,1), (0,0), (1,2) và (2,3).
ct
dụ, Bt


Pr c t  1| r
1

Pr  l , l|r
1



t1
 St
S
(l,l )Bt1

  Pr
(l,l )Bt1
 l ,  l | r 
t t 1
(2.55)
S 1 S


Pr r1

Khi
B 1 thiết lập được thiết lập quá trình truyền St  l  St  đó là do chuỗi
1 l
t
Bt
bit đầu vào ct  1 1
. Đối với biểu đồ trong hình gồm có (0,2), (2,1), (3,3) và
(1,0). 2.16,
APP của bit dữ liệu giải mã
ct có thể được tìm thấy từ xác suất chung như sau.

 (l, l)   l, r
 l , l, l  0,1,..., M s  1
 ,
t t
Pr S 1 St
1
Từ công thức (2.54) và (2.55) ta có thể viết.

Pr c     t (l,l)
t  0 | r1  0 Prr  (2.56)


(l,l ) 1
Pr c Bt

 1 | r  t (l,l)
Prr1 
(2.57)
t
 
1 (l,l ) t
B1

Tỷ số số hợp lẽ theo hàm loga bằng.

(c )  log (l,l )B  t 1


(2.58)
(l ,l)
t

 (l,l )Bt
t
0  (l,l)
t
(ct ) thể hiện đầu ra mềm của bộ giải mã MAP. Nó có thể sử dụng như một đầu
vào tới bộ giải mã khác trong liên kết hoặc trong lần lặp tiếp theo trong một bộ giải mã
lặp. Cuối cùng, bộ giải mã tạo ra quyết định cứng bằng cách so sánh (ct ) với ngưỡng
zero.
Định nghĩa các hệ số  ,  và 
Để tính toán xác suất chung  t (l, l) cần cho việc tính
(ct ) trong công
toán thức (2.58), theo TLTK[2] chúng ta định nghĩa các xác suất
sau:

 t(l)  PrS t  l, r
t
(2.59)
 1
 (l) Prr | S  
(2.60)
l
t t 1 t

 i (l, l)  Prc  i, S  l, r |  i (2.61)


S l  ; 0,1
t t t t 1
t

Bây giờ chúng ta phân tích  t (l, l) như sau.


 (l,l) 
 l,  l, r 

t t
Pr S 1 St 1

 
 Pr r , r , r , S  l, t1
 l 
S
t 1 t 1 t t 1


 Pr r | r , rt1,
 l, 
 l . Prr , rt1,  l, 
 l
S S S
S
t 1 t 1 t 1 t 1 t1
t
t

 
 Pr r | S  l . Pr r , rt1,  l,    l 
S S
t 1 t t 1 t 1
t

  (l). Prr , rt1,  l,  l


S S
t t 1 t 1
t

 t
 l, |  l, r t1 .   l, rt1

t
(l).Pr St rt St1 PrS
1
1 1



 l, r t1 .  (l).  l, | St  l
Pr S t
1 Pr St rt 1
1 t

  (l).
 i (l, (2.62)
(l).
t1 t i(0,1
) l)t

Tỷ số hợp lẽ theo hàm loga có thể được viết thành.


 1 
(l) (l, l) (l)
1

(c )  log (2.63)



t1 t
 (l) t0 (l, l) (l)
(l,l )
t Bt 0

Định nghĩa hệ số 
(l,l ) t1 t t
Bt

Chúng ta có được hệ số  từ công thức (2.59).


 t (l)  PrS t  l, r t1 

 Ms 1 Pr S  t  l,  l, r 1t 
l0
1 St
 Ms1
l0
Pr S t   l, r1t1, r t 
1
 l, St
 Ms1 Pr S   l,  l, rt1, r .   l, r |  l, r t1 
S
Pr S  S
l0 t1 t 1 t t t1 1

(l ).Pr  l,  l
Ms1
 l0
t
t1
St rt
| St1
Ms 1

 
l0
t (l ).i(0, Pr  l,  i, | St  l
1
1) St ct rt 1

Ms 1

 l0 t (l ).i(0,  i (l, (2.65)


1
1) l)t
Đối với t  0,1,...

Khi t  0 chúng ta có giới hạn biên  0 (0)  1 và  0 (l)  0 đối l0.


với

Định nghĩa hệ số 

Chúng ta có thể phân  t (l) theo công thức (2.60) như sau.
tích
 (l) Prrt |  l
t
1 S
t

 Ms1  l, | l 
l0 t1 t1

Pr S r St

M 
Pr S
   l 
Sl,r ,
 s1
t1 t1 t

 Pr  l
l0

St

 
M
 Pr r | ,  l , l . ,  l ,  l
s1
r S
t1 t1 S St1 S
 t Prr t
t2 t1

PrSt  l
l0

M 
Pr r | 

 l .Prr , S  l,  l
S S
 l0
s1 t2 t1  t1  t1 t

Pr St  l
M s 1 t1 (l ). Pr S t 1  l , rt   l

1 | S t lPr S t
Pr S  l
l0

 l0
M s 1 t (l).Pr |  l
1
S t  l, t S t
1 r 1

(l ). Prct  i,  l, rt |  l


Ms 1
 l0 t i(0, t
1
1) 1 S 1
1 St

(l ).
Ms 1
 l0 t i(0,
 ti (l,l) (2.66)
1 1
1)

Đối với t   1,...1, ,0.

Giới hạn biên


là  (0)   (l)  0 đối với l0.
1và
Định nghĩa hệ số 
Chúng ta có thể viết  t (l,l) theo công thức (2.61)
i

 i (l,l)  Prc
t t  i,  l, | St  l
St rt 1

Pr rt , ct
  i, St  l, St 1  l
Pr S t 1  l 

Pr rt | ct
  i,  l, S t 1   i,  l, St 1  l
St l .Pr c St
t

Pr S t 1  l

Pr rt | xt .Pr ct  i, S t  l, S t 1  l



Pr S t 1  l 

Pr rt | xt .Pr ct  i |


  l, S t 1  l.Pr S t  l, S t 1  l
St
Pr S t 1  l

 Pr rt | xt .Pr xt |  l, S t 1  l.Pr S t  l | S t 1  l


St

 pt (l | l).qt (xt | l, l).R(rt | xt )


Chúng ta có thể biểu diễn  i như sau.
t
(l,l)
(l)) 2
i
 p (i) exp( x
(r n1 
i
 j0 t,j ) (l,l)  Bi
 t (l,l)   t 2 2
t (2.67)

0 otherwise

trong đó
pt (i) là xác suất tiền nghiệm của ct  i , xt,i (l) là đầu ra bộ mã hóa gắn với
j

quá trình chuyển dịch từ St 1  tới St  và ct  là đầu vào. R(rt | xt ) được


 l i
tính theo công thức (2.51). l
2.4.6 Thuật toán MAX-Log-MAP

Giải mã MAP yêu cầu số lượng lớn bộ nhớ và phép tính. theo TLTK[2] Thuật
toán này khá phức tạp cho việc thực hiện trong các hệ thống truyền thông. Có một

cách tính toán đơn giản cho việc này là lấy logarit các hệ số  i (l  ,l)  t (l)
,
t

và t
(l) được ký hiệu là  (l ,l) ,  (l) và t (l)
i
t t

 i (l, l)  log  i (l, (2.68)


l)
t t

Từ công thức (2.65) ta có thể phân tích t (l) thành.

t (l)  log t Ms 1
(l)  e
t1(l) it (l,l ) (2.69)
log 
l0 i(0,1)

với điều kiện ban đầu  0 (0)  và  0 (l)   với l0


0

Tương tự,
t (l) có thể phân tích như trong công thức (2.66).
M 1
 (l)  log  (l) 
s
(2.70)
 e
 t1 (l) t1
log (l ,l )
t
v điều kiện
ới ban đầu
  0 t
(l)   l0 i(0,1)

và  với l  0

Tỷ số hợp lẽ theo hàm loga (ct ) có thể biểu diễn như sau.

M s 1
(c )  log l0 e
 t 1 (l) t1 (l,l ) t (l )

t M s 1
(2.71)

t 1 (l)t 0 (l,l ) t
(l ) e
l0
Biểu thức này có thể được đơn giản bằng cách sử dụng phương pháp gần đúng.
log(e  e  ... e )  max
1 2 n

(2.72)

i
i1,2,...,n

Khi max i1,2,...,n  i có thể được tính toán bởi hàm n 1liên tục qua
maximum
hai giá trị.
Tỷ số hợp lẽ theo hàm (ct ) gần đúng có thể viết như sau.
loga

(c )  max  1(l,l)   (l)   (l)  max  0 (l, l)    (l)   (l)  (2.73)

t t 1 t t 1 t
l l
t t

Quá trình tính toán giá trị t (l) và  (l) trong công thức (2.71) là tương đương
t

với quá trình tính toán số đo đệ quy xuôi và ngược, khác biệt với thuật toán VA, với số
đo tuyến  (l,l) , từ  (l) và  (l) có thể viết như sau.
i

t t t

 (l)  max (l)   i


fo 0  l  M 1, i  0,1
 (l,l)
t t t
1 s

r 1, i  0,1
 (l)  max t (l)   i
0  l  M
 (l,l)
t 1 t s
fo

r
Các phép toán liên quan đến việc tính t (l) và t (l) là giống nhau, như việc
các toán tử thêm vào-so sánh-chọn lựa trong thuật toán VA. Như vậy, trong nhiều ứng
dụng, thuật toán MAP được thay thế bởi thuật toán Max-Log-MAP.
2.4.7 Thuật toán Log-MAP
Việc tính gần đúng trong công thức (2.72) được dùng cho việc tính toán tỷ số
hợp lẽ theo loga (c ) . Theo TLTK[2] Nó có thể được cải tiến bằng cách sử dụng
t

thuật toán Jacobian.

log(e1  e2 )  max(1 , 2 )  log(1 e 2


1
)
(2.74)
 max(1,2 )  fc (  2  1 )

với 
f (  ) là một hàm sửa lỗi. Biểu thức log(e 
 1
 ...  e n ) có thể được

e 2

c 2 1
tính toán chính xác bởi thuật toán đệ quy trong công thức (2.74), như sau.
log(e  e  ...  e )  log(  e
1 2 n n

  e  ... 
1
 e
),
e
n1

 max(log,n )  fc ( log    n )

 max( ,n )
fc (    n (2.75)

)
Kết quả đệ quy trong công thức (2.60) có thể được sử dụng để đánh giá
(ct ) trong công thức (2.71), khi

 n  t (n)   ti (n, n)  t (n) (2.76)


1
với n  0,1,..., M s  1 và i 
0,1

2.5 Giải mã lặp


Mã turbo và mã liên kết nối tiếp có thể được giải mã bằng thuật toán MAP hoặc
ML dựa trên lưới mã. Những bộ giải mã này được áp dụng cho những bộ hoán vị kích
thước nhỏ, chúng chỉ phức tạp khi các bộ hoán vị có kích thước trung bình và lớn, đây
là điểm hạn chế của bộ turbo và mã liên kết nối tiếp. Để khắc phục điều này người ta
đưa ra một vài phương pháp giải mã cận tối ưu cho mã turbo.
2.5.1 Giải mã turbo tối ưu
Bộ mã hóa turbo gồm hai bộ mã hóa RSC có tốc độ mã 1/2. Chúng ta giả sử
chuỗi thông tin c là một véctơ nhị nhân với các thành phần là biến ngẫu nhiên phân bố
độc lập.
Pr  c t  1   Pr  0  1/ (2.77)
ct 2

Hình 2.13: Bộ mã hóa turbo cơ bản


Chuỗi mã thu r0 và r1 hình thành đầu vào tới bộ giải mã thứ nhất, được ký hiệu r΄.
r  ...rt , , rt ,  t ,r t ,... (2.78)
, r
1,0 1,1

0 1
Chuỗi mã thông tin thu giải hoán vị ~
r0 và chuỗi r2 hình thành lối vào tới bộ giải
mã thứ hai, được ký hiệu r΄΄.

r   ...~r , r  ~ ,r ,... (2.79)


t, t, t t

, r
1,0 1,1

0 1

Thuật toán quyết định bit tối ưu dựa trên sự theo dõi r΄ và r΄΄ tính toán tỷ số hợp
lẽ theo hàm loga (ct ) từ toàn bộ lưới mã turbo
P
(c )  log r  1 | r ,
(ct (2.80)
t
r)
Pr (ct  0 | r, r)

 log
 c:ct 1
Pr (r, r | c)Pr (c)
 c:c
t
Pr (r, r | c)Pr (c)

Luật quyết định như 0

sau:

1 (ct )  0
ct   (2.81)
(ct )  0
0

Nếu các biến ngẫu nhiên r΄ và r΄΄ không tương quan chúng ta có thể giả định.
Pr (r, r | c)  Pr (r | c)Pr (r |
(2.82)
c)
Tỷ số hợp lẽ theo hàm
(ct ) trở thành.
loga

(c) c:c 1 Pr (r | c)Pr (r | c)Pr


 t 
(c ) log (2.83)
 P (r | c)P (r | c)P (c)
t

c:ct 0 r r r

Tính tỷ số hợp lẽ theo hàm loga


(ct ) từ công thức (2.83) thu được ước lượng
tổng trên toàn bộ chuỗi truyền hợp lý. Vì vậy chúng ta áp dụng thuật toán MAP. Quá
trình tính toán phức tạp này có thể được thay bằng quá trình lặp cận tối ưu.
2.5.2 Công cụ giải mã turbo lặp
2.5.2.1 Giải mã turbo lặp dựa trên thuật toán MAP
Giải mã turbo lặp theo TLTK[2]gồm hai bộ giải mã thành phần liên kết nối tiếp
qua một bộ hoán vị, được mô tả trong hình 2.14.
Hình 2.14: Một bộ giải turbo lặp trên cơ sở thuật toán MAP
Bộ giải mã MAP thứ nhất gồm các đầu vào là chuỗi tin thu được r0 và chuỗi tin
chẵn lẻ từ bộ mã hóa r1. Bộ giải mã này tạo ra đầu ra mềm nó sẽ được hoán vị và được
sử dụng để tạo ra một ước lượng tối ưu xác suất tiền nghiệm của chuỗi thông tin cho
bộ giải mã thứ hai.
Đầu vào khác của bộ giải mã MAP thứ hai bao gồm các đầu vào chuỗi thông tin
~r đã được hoán vị và chuỗi chẵn lẻ r được tạo ra từ bộ mã hóa thứ hai. Bộ giải mã
0 2

MAP thứ hai cũng tạo ra một đầu ra mềm và nó được dùng để ước lượng tối ưu xác
suất tiền nghiệm cho bộ giải mã MAP thứ nhất sau khi giải hoán vị. Sau một vài lần
lặp những đầu ra mềm của cả hai bộ giải mã MAP dừng lại, trạng thái cuối của giải mã
sẽ quyết định cứng sau khi đã giải hoán vị.
Bộ giải mã MAP thứ nhất trong lần lặp đầu tiên có tốc độ mã thành phần là 1/n.
Tỷ số hợp lẽ theo hàm loga của bộ giải mã MAP thứ nhất.
p1 (1) và p1t (0) là một xác suất tiền nghiệm cho giá trị 0 và 1 tại đầu
t

vào của bộ mã hóa thứ nhất. Chúng sẽ cho biết sự sai khác tương quan xác suất tiền
nghiệm ở đầu vào của bộ mã hóa thứ 2 được ký hiệu
là p 2 (1) p 2 (0) .
vàt t

t
Giá trị giải mã ban đầu ở bộ giải mã thứ nhất, chúng ta giả sử rằng .

p1t (1) p1 (0)  1/ 2



Có thể viết lại Λ(ct)

với (n-1) là số lượng bit chẵn lẻ trong khối mã hóa.

Do mã có tính hệ thống i
xt,0 , i=0,1 độc lập với l trạng thái và lưới trellis.

Chúng là x1  1 xt0,  1. Λ1(ct) có thể phân tích thành.


t,
0
và 0

1
1(c )  log pt (1) 2 rt ,0  1e (ct (2.86)
p1t (0)  2
)
trong đó

Λ1e(ct) được gọi là thông tin ngoại lai. Nó là một hàm của thông tin dư thừa tạo
ra bởi bộ mã hóa.  1e c  không gồm rt,0 và nó có thể được dùng như một xác suất tiền
t

nghiệm cho việc giải mã trong giai đoạn thứ hai. Điều này có nghĩa là, thông tin ngoại

lai của bộ giải mã thứ nhất ~


1e c  sau hoán vị là ước lượng xác suất tiền nghiệm cho
bộ giải mã thứ hai.


~1e
t

ct   log
p2 p2t
(2.88)
1 0 

Từ phương trình (2.88) và mối liên hệ.
p 2 1  1  p 2 0
(2.89)
t t

Xác suất tiền nghiệm cho bộ giải mã thứ hai.


 (ct )
2 e ~1
p  1  (c ) (2.90)
t e
~
 1e
1e t

 (ct )
2
p  0  e ~
1
(2.91)
e
~
t  (ct )
1  e 1e
Trong giai đoạn giải mã thứ hai bộ giải mã MAP ước lượng tỷ số hợp lẽ theo
hàm loga  2 c  . Từ phương trình (2.86) tỷ số hợp lẽ theo hàm loga đối với bộ giải mã
t

MAP thứ hai có thể được phân tích thành.


2
 2 (c )  log p t(1)  2 ~rt ,0  2e (c (2.92)
p2t (0)  2 ) t

Thay xác suất tiền nghiệm từ phương trình (2.88) và phương trình (2.92). Ta có

~ 2 ~
 (c
2
) t
  1 (ct )  rt ,  (ct (2.93)
e  0  )
2e
2

~
 (c ) là thông tin ngoại lai của bộ giải mã thứ hai, nó phụ thuộc vào thông
2e

tin dư thừa được cung cấp bởi bộ mã hóa thứ hai, như trong phương trình (2.87).
Thông tin ngoại lai được bộ giải mã thứ hai dùng để ước lượng xác suất tiền nghiệm
cho bộ giải mã thứ nhất như trong phương trình (2.88). Tỷ số hợp lẽ theo hàm loga cho
bộ giải mã thứ nhất có thể viết như sau.
~ 2
 (c )   (c )    (c (2.94)
r )
1 t 2e t 1e t
t,

0
2
TỔNG QUAN PHƯƠNG PHÁP GIẢI MÃ LẬP MAP

1. Giải mã SOVA lặp mã turbo


Ta xét một bộ mã hóa turbo với tốc độ 1/2 mã thành phần nhị phân RSC. Giải
mã lặp của mã turbo có thể thực hiện được bằng cách sử dụng thuật toán SOVA(Soft
Out Viterbi Algorithm) cho các bộ giải mã thành phần theo TLTK[2]. Sơ đồ khối của
bộ giải mã SOVA lặp được thể hiện trên hình 2.15.
Hình 2.15: Một bộ giải turbo lặp dựa trên thuật toán SOVA

Bộ giải mã SOVA thứ nhất phát ra đầu ra mềm và thông tin ngoại lai như trong
bộ giải mã MAP lặp. Thông tin ngoại lai này được hoán vị và sử dụng trong bộ giải mã
thứ SOVA thứ hai giống như giá trị ước lượng của xác suất tiền nghiệm. Bộ giải mã
thứ SOVA thứ hai cũng tạo ra thông tin ngoại lai và đưa tới bộ giải mã thứ SOVA thứ
nhất sau khi đã giải hoán vị, giá trị ngoại lai này được dùng cho quá trình giải mã tiếp
theo.

Xác suất hậu


Pr c, r bằng
nghiệm

Pr c, r  Pr c.Pr r | (2.97)


c

Lấy logarit hai vế (2.97) ta có


log Pr c, r log Pr c log Pr r |
c (2.98)

Giải sử kênh với nhiễu Gauss độc lập, chúng ta lấy


logarit

Pr c, r.

Giải sử rằng xác suất tiền nghiệm p (c ) có thể thay đổi theo số lần lặp trong
t t

một quá trình giải mã lặp. Giá trị


log Pr c, r là tương đương giá trị cực đại.
  n1
log p c   (r  x )2 (2.100)
t 1 t t t, t ,i
t i0 i
1

Như vậy, chúng ta định nghĩa số đo nhánh được gán cho một nhánh lưới tại thời
điểm t là.

 xt ,i   log
2
n1
v t (ct )
r
t


c t, (2.101)
i0 pt
Chúng ta định nghĩa số đo nhánh cho một đường x trong lưới là.
t
   v ct   tx  v tc
t
x

t
(2.102)
t
t1 1

Bộ giải mã SOVA chọn một tuyến với số đo tuyến đó là nhỏ nhất, sau đó tính
toán lối ra mềm như sau.
(c )      (1) ct
0 1

(  ) (2.103)
t t t  ,min t,c

Khi
 t0 và  t 1 là những số đo tuyến nhỏ nhất với ký hiệu 0 và 1. Như vậy, tại

thời điểm t,  ,t là số đo tuyến có nhiều khả năng lớn nhất và t ,c là số đo tuyến cạnh
tranh tốt nhất. Chúng được tính toán như sau.
Tại thời điểm t, giá trị ước lượng ct có khả năng lớn nhất thu được từ tuyến
t ,c có khả năng lớn nhất, tính toán sử dụng thuật toán Viterbi.
t
  
 v
t 1
c v   
v t
 (2.104)
t ,ct ,min t t t
t0 tt 1

    v ct
(2.105)
t t

trong đó
t1 
t   vt  (2.106)
v t
t0 tt1
c
và vt t được tính theo công thức.

c
ct
trong khi x là tín hiệu mã điều chế thứ i trong lưới, tạo ra bởi chuỗi lối vào ct.
t,
i

Tiếp đến, số đo khoảng cách tuyến của t ,c cạnh tranh tốt nhất, c  c 1
khi
  min (l)  vc (l,l)   b
f
(l) 
t,c t 1 t t

với l, l  0,1,...M  1,  (l) là số đo tuyến sống sót phía trước tại thời điểm t-1
s f
t
1
và điểm l .  (l) là số đo tuyến sống sót phía sau tại thời điểm t, Ms là số điểm trong
b

lưới và vc (l,l) là số đo nhánh bổ sung từ điểm l tới điểm l


. t
t ,c có thể viết như sau.
   vc (2.109)
t,c t t

c
với t là số vị trí mô tả trong (2.106) và vt được đưa ra như sau.


n1

  log p (c )
2
c
vt   rt ,i  xt
c
t (2.110)
,i
i o

trong đó c
xt , là tín hiệu mã điều chế thứ i trong lưới, tạo ra bởi chuỗi lối vào c.
i

Số đo tuyến từ phương trình (2.105) và (2.106) thay vào phương trình (2.103),
chúng ta có thể tính toán đầu ra của bộ giải mã thứ nhất.
 (c )  (1)ct  vct    vc (2.111)


1 t t,1
 t,1 t,1
 t,1

c c c
Khi t,1 vt ,1t t,1 vt , dựa vào những giá trị t vtc , t vt cho giải
, , và 1
,
t

mã lưới.
c
 1 và
Thay 0
vtc t
và vt 0
từ (2.106) và (2.105) vào (2.109), với xt ,
1
1, x
t ,0 
ta
1(ct )

.
pt1
1(ct )  log  4rt ,0  1e (ct ) (2.112)
(1)
1
pt (0)
Khi
1e (ct ) là thông tin ngoại lai đối với bộ giải mã thứ nhất.
p1 (1) 1
p (0) là xác suất tiền nghiệm có giá trị nhị phân 0 và 1, tương ứng
t
và t

với đầu vào của bộ giải mã thứ nhất.

Thông tin ngoại lai hoán vị của bộ giải mã thứ nhất cải thiện xác suất tiền
nghiệm tại đầu vào của bộ giải mã SOVA thứ hai, như trong bộ giải mã lặp MAP.
p2t (1)

~ (c )  log
2 t
p 2t (0) (2.113)

p 2 (1) 2
t p (0) là xác suất tiền nghiệm có giá trị nhị phân 0 và 1, tương ứng
và t

với đầu vào của bộ giải mã thứ hai, tại thời điểm t. Có thể ước lượng phương trình
(2.90) và (2.91).

Tính đầu ra mềm  2 (ct ) của bộ giải mã thứ hai.


của
p2 (1) ~
 2 (ct )  log t  4rt ,0  2e (ct ) (2.114)
p2t (0)

với  2e (ct ) là thông tin ngoại lai được xác định từ bộ giải mã thứ
nhất.

Và t, 2 t, dựa vào những giá trị t t đối với bộ giải mã thứ hai.
và 2 và
~
Thay thông tin ngoại lai  (c ) từ bộ giải mã thứ nhất từ phương trình
1e

vào (2.114), ta  2 (ct ) .



~
 (c )   (c ) 
~   (c ) (2.116)
4r
2 t 1e t t,0 2e t

~
Thông tin ngoại lai
2e (ct từ bộ giải mã thứ hai sau giải hoán vị được dùng
)
làm giá trị ước lượng của xác suất đầu vào bộ mã hóa trong lần lặp tiếp theo.
~ pt (1)
2e (ct )  log t (2.117)
ptt (0)

Như vậy tỷ số hợp lẽ theo hàm loga 1(ct ) trong lần lặp tiếp theo có thể viết là.
~
 (c )   (c ) 
  (c (2.118)
4r )
1 t 2e t t,0 1e t
TỔNG QUAN PHƯƠNG PHÁP GIẢI MÃ SOVA LẬP

1. Ban
đầu (0) (c )  0
2e t

2. Lặp r=1, 2, 3, …, I
 Tính (r)1 (c ) và 2
(r) (c ) bằng phương trình (2.103).
 Tính  (c )(r)
1e t

(r) (c )  (r) (c )  4r ~ (2.119)


  (r1)
1e t 1 t t,0
(c ) 2e t
 Tính (r) (c )
2e t

(r) (c )  (r) (c )  ~
4~r   (r1) (2.120)
2e t 2 t t,0
(c )1e t

3. Sau I lần lặp, tạo ra quyết định cứng ct trên cơ sở  2 (ct ) .

2.6 So sánh thuật toán giải mã lặp SOVA và MAP


Xác suất lỗi bit đối với tốc độ mã 1/3, mã turbo 16 trạng thái giải mã bằng
phương pháp lặp MAP, Log-MAP và SOVA với kích thước bộ hoán vị 4096 bit và 18
lần lặp. phương pháp SOVA có hiệu suất kém bằng 0.55 dB tại BER=10-5.
Độ phức tạp của phương pháp lặp SOVA là thấp so với phương pháp lặp MAP.
Kết quả mô phỏng hai thuật toán này được thể hiện trên hình 2.16.
Hình 2.16: Hiệu suất BER của mã turbo tốc độ mã 1/3, 16 trạng thái với thuật toán MAP, log-
MAP, SOVA trong kênh AWGN, kích thước bộ hoán vị 4096 bit, số lần lặp 18 lần
2.7 Giải mã MAP lặp mã chập liên kết nối tiếp
Sơ đồ khối của bộ giải mã lặp MAP cho mã chập liên kết nối tiếp được thể hiện
trên hình 2.17.

Hình 2.17: Bộ giải mã lặp MAP cho mã chập liên kết nối tiếp
Chúng ta giả sử rằng bộ mã vòng trong là một mã RSC (ni, ki), bộ mã vòng
ngoài là một mã chập đặt trước phi hệ thống (n0, k0).
Trong lần lặp thứ nhất bộ giải mã bên trong MAP vòng trong tính toán tỷ số
hợp lẽ theo hàm i (ct, j ) , giả sử rằng các phần tử của bản tin giống nhau,
loga

i (c )  2
oe ) rt ,  i (ct , j (2.121)
t,
~ t,j

j
 (c 2
j e )

trong đó j=0, 1,…,ki-1, ~


 (c ) là thông tin ngoại lai hoán vị của bit đầu ra nhằm
oe t,
cưỡng bức bộ giải mã bên ngoài.
j
 ie (ct , j là thông tin ngoại lai đối với bộ giải mã bên
)

trong. ~
 oe (ct , ) được giả định là “toàn 0” trong lần lặp đầu tiên.
j

Thông tin ngoại lai và giải mã chuỗi thông tin đầu ra mềm từ bộ giải mã thứ
nhất được giải hoán vị và cho tới bộ giải mã thứ hai.
Chuỗi thông tin giải hoán vị của bộ mã bên trong được ký hiệu là r  và là đầu
vào cho bộ mã vòng ngoài. Chuỗi thông tin ngoại lai từ bộ giải mã bên trong là thuật
toán giải hoán vị của một tỷ số xác suất tiền nghiệm từ đầu vào tới bộ giải mã bên
ngoài. Tỷ số hợp lẽ theo hàm loga của bộ giải mã bên ngoài có thể được viết

o (ct, j )  (ct, )  (ct, j


o (2.122)
~ j oe )

trong đó j=0, 1,…n0-1. Chú ý rằng bộ mã bên ngoài là phi hệ thống, không thể lấy bit
thông tin tại đầu ra của bộ giải mã bên ngoài, như vậy đầu ra mềm không chứa bit
mang thông tin.
Thông tin ngoại lai o (ct, j ) được hoán vị và đưa tới bộ mã hóa thứ nhất và nó

sẽ là xác suất tiền nghiệm đối với lần lặp tiếp theo.
Gán nhãn tín hiệu
Điểm mấu chốt khi thiết kế là các phương pháp mã hoá khác nhau được làm tối
ưu với các phép gán nhãn (hay các phương pháp ánh xạ) các tập tín hiệu khác nhau
theo mã Gray. Các sơ đồ ánh xạ trên với 16-QAM được mô tả ở hình dưới.
Kết hợp bộ hoán vị bit cải tiến và điều chế theo mã Gray có thay đổi khoảng
cách các bit trên giảng đồ chòm sao theo mong muốn.
1. Thay đổi phương pháp ánh xạ trên giảng đồ chòm sao theo mã Gray

Hình 2.22: Giảng đồ chòm sao điều chế 16-QAM theo mã Gray
Luật ánh xạ như sau:
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

13 14 16 15 9 10 12 11 1 2 4 3 5 6 8 7

-3-3j -1-j 3-3j 1-3j -3-j -1-j 3-j 1-j -3+3j -1+3j 3+3j 1+3j -3+j -1+j 3+j 1+j
Bảng 4.3: Luật ánh xạ chòm sao
Tương ứng với véc tơ ánh xạ [13 14 16 15 9 10 12 11 1 2 4 3 5 6 8 7 ]
Từ giảng đồ chòm sao chúng ta thấy sự sai khác giữ các cặp điểm trên giảng đồ
là khoảng cách di giữa các nhãn nhị phân chỉ khác ở bit thứ i (i= 0, 1,2,3), khoảng cách
giữa cặp điểm d0=d2>d1=d3. Tính trung bình trên 8 cặp điểm đối với điều chế 16-QAM.

Hình 2.23: Sự sai khác vị trí bit giữa các điểm trên chòm sao
Chúng ta sắp xếp các điểm trên giảng đồ chòm sao với mục đích tìm được
khoảng cách các cặp bit thích hợp sao cho các bit đầu ra của máy mã turbo sau khi qua
bộ “inline” có cải thiện về độ lợi công suất Eb/N0(dB) ở cùng một tỷ lệ BER. Các
cách thay đổi như sau:
1. Theo mã Gray
 Cách thứ nhất: d0d1 = [13 14 9 10 16 15 12 11 1 2 5 6 4 3 8 7]
Hình 2.24: Các cặp bit cách nhau ở bit thứ nhất (d0) và ở bit thứ hai (d1)
 Cách thứ hai: d0d3 = [13 16 14 15 9 12 10 11 1 4 2 3 5 8 6 7]

Hình 2.25: Các cặp bit cách nhau ở bit thứ nhất (d0) và ở bit thứ tư (d3)
2. Theo mã anti-Gray
Vectơ ánh xạ [1 2 4 3 5 6 8 7 9 10 12 11 13 14 16 15]
Hình 2.26: Giảng đồ chòm sao điều chế 16-QAM theo mã antiGray

2.8 Kết luận:


Chuỗi tin sau khi truyền qua kênh truyền và được giải điều chế (dumodulate)
thì sẽ được đưa đến bộ giải mã. Tín hiệu tại ngõ ra của bộ giải điều chế và ngõ vào
của bộ giải mã sẽ quyết định quá trình giải mã là “ cứng ”hay “mềm ”.
Bộ giải mã sẽ tính toán các giá trị để xét độ tin cậy của từng giá trị và cuối
cùng mới quyết định. Điều này sẽ làm giảm khả năng có thể xẩy ra lỗi và độ lợi mã
tổng cộng có thể tăng 2,5 dB so với giải mã cứng đối với môi trường có SRN thấp.
Tuy nhiên, để đạt được độ lợi mã này thì bộ giải mã mềm sẽ có độ phức tạp cao hơn
rất nhiều so với bộ giải mã cứng.
Với khả năng tính toán của các chíp vi xử lý hay các chíp DSP cùng với khối
lượng bộ nhớ ngày nay thì sự phức tạp của bộ giải mã mềm không còn lá vấn đề lớn.
vì thế xu hướng hiện nay trên thế giới là sử dụng bộ giải mã mềm, thậm chí có thể
giải mã lại cho các loại mã khối và mã tích chập truyền thống bằng phương pháp giải
mã mềm.
Chương 3:
MÔ PHỎNG MÃ HÓA TURBOCODE
3.1 Khảo sát chất lượng hệ thống LTE 4G
3.1.1 Tham số mô phỏng và bài toán đầu vào
 Số kênh con numSubchan=16
 Kích thước bộ hoán vị=768(inline=768/4=192)
 Số lần lặp numIter = 8
 Điều chế đường xuống 16QAM
 Tốc độ mã R=1/2, 3/4
 Mô phỏng được thực hiện trên kênh AWGN
 Mục tiêu và tham số đầu ra: Tham số đầu ra hình mô phỏng BER của trục
tung phản ánh tỉ lệ lỗi bit trên kênh truyền, Eb/N0(dB) trục hoành phản ánh tỉ lệ
tín/tạp. Mục tiêu của việc mô phỏng để đánh giá Phẩm chất bộ mã Turbo khi
chịu ảnh hưởng của: tốc độ mã, số lần giải mã lặp, cách thức hóan vị khác nhau
sẽ cho ra tỉ lệ BER khác nhau. Mục đích của việc này là mong muốn tối ưu tất
cả ảnh hưởng trên và đưa ra bộ mã Turbo có tỉ lệ BER thấp nhất.
 Cách thực hiện mô phỏng: Sử dụng phần mềm Matlab. Thực hiện mô phỏng
sử dụng công cụ các khối chức năng (funtion & device block) trong phần mềm
mô phỏng Matlab Simulink (theo hình phụ lục 1,2).Và (phần phụ lục:lập trình
Matlab)
3.1.2 Kết quả mô phỏng
1. Kết quả mô phỏng bộ turbo gốc khi không sử dụng bộ inline, điều chế
16QAM, tốc độ mã R=1/2
Hình 3.1: Không có inline, tốc độ mã R=1/2, điều chế 16QAM
2. Kết quả mô phỏng bộ turbo khi sử dụng bộ inline, điều chế 16QAM, tốc độ
mã R=1/2

Hình 3.2: Có inline, tốc độ mã R=1/2, điều chế 16QAM


3. Kết quả mô phỏng bộ turbo gốc khi không sử dụng bộ inline, điều chế
16QAM, tốc độ mã R=3/4
Hình 3.3: Không có inline, tốc độ mã R=3/4, điều chế 16QAM
4. Kết quả mô phỏng bộ turbo khi sử dụng bộ inline, điều chế 16QAM, tốc độ
mã R=3/4

Hình 3.4: Có inline, tốc độ mã R=3/4, điều chế 16QAM


3.2 phân tích kết quả mô phỏng

 Gán nhãn tín hiệu, ở tốc độ mã R=1/2, có sử dụng bộ inline, điều chế 16QAM
kết quả mô phỏng cho thấy đường d0d1 là có lợi về công suất Eb/N0(dB) so với
các cách khác ở cùng một tỷ lệ BER.
 Ở tốc độ mã R=3/4, có sử dụng bộ inline và không dùng bộ inline, điều chế
16QAM kết quả mô phỏng cho thấy các đường gần tương đương nhau nguyên
nhân chiều dài bộ hoán vị chưa đủ lớn, dẫn tới chưa thể hiện được độ lợi về tỷ
lệ BER.
 Số lần giải mã lặp không phải nhiều là tốt.
 Dùng bộ inline trong trường hợp mã tốc độ 1/2 kết hợp với các cách ánh xạ
khác nhau đem lại độ lợi nhất định.
 Dùng bộ inline trong trường hợp mã tốc độ 3/4 kết hợp với các cách ánh xạ
khác nhau chưa đem lại được độ lợi vì chiều dài bộ hoán vị chưa đủ lớn
 Lựa chọn các điều kiện làm việc của mã Turbo.
 Phẩm chất mã Turbo chịu ảnh hưởng của: tốc độ mã, số lần giải mã lặp, cách
thức hóan vị, cách thức ánh xạ …

3.3 Kết luận:

 Khi lựa chọn cách thức làm việc có thể kết hợp nhiều tham số trên để có nhiều
phương án đáp ứng với yêu cầu dịch vụ.
 Bộ hóan vị inline là một lựa chọn tốt cho việc giảm thiểu thời gian giải mã.
 Hướng nghiên cứu mong muốn tiếp theo: Nghiên cứu mã Turbo với nhiều
phương pháp hoán vị giả ngẫu nhiên phong phú, trong môi trường pha-đinh.
KẾT LUẬN

Nghiên cứu và phân tích thiết kế các bộ mã hóa và giải mã turbo code và các sơ
đồ mã hóa kênh được áp dụng trong 4G LTE đã được chuẩn hóa. Cụ thể là các vấn đề
sau:
 Tổng quan về LTE, các thách thức và một số phương pháp then chốt để khắc
phục các thách thức trong truyền dẫn tốc độ cao ở LTE.
 Các lý thuyết về mã hóa kênh và một số phương pháp mã hóa kênh phổ biến
được chuẩn hóa bởi các tổ chức 3GPP, 3GPP2.
 Phân tích các sơ đồ mã hóa kênh trong 4G LTE. Thực hiện mô phỏng và đánh
giá về chất lượng sơ đồ mã hóa turbo trong 4G LTE.
Hướng nghiên cứu tiếp theo của đề tài là tìm hiểu sâu hơn nữa về mã LDPC và
nghiên cứu tính khả thi của việc thay thế mã turbo bằng phương pháp mã hóa này
trong 4G LTE, đây có lẽ cũng là vấn đề sẽ được các nhà nghiên cứu, các nhà sản xuất.
TÀI LIỆU THAM KHẢO
[1] Nguyễn Phạm Anh Dũng: “Thông tin di động 3G”, Học viện Công nghệ
BCVT, NXB Bưu điện.

[2] C. Berrou, A. Glavieux and P. Thitimajshima, “Near Shannon Limit Error-


Corresting Coding and Decoding: Turbo codes”, in Proc. 1993 Inter. Conf.
Commun, 1993, PP. 1064-1070.

[3] Branka Vucetic, Jinhong Yuan: “Turbo codes: principles and applications”,
Kluwer Academic Puglishers.
[4] X. Li and J. A. Ritcey, “Bit-interleaved Coded Modulation with Iterative
Ecoding,” IEEE Commun. Lett., vol. 1, pp. 169–171, Nov. 1997.
[5] Tiêu chuẩn TS 36.212 V9.2.0 (2010-06) của tổ chức 3GPP
PHỤ LỤC

Phụ lục 1: Khối mô phỏng bộ turbo không sử dụng bộ inline


LUẬN VĂN CAO HỌC

Phụ lục 2: Khối mô phỏng bộ turbo sử dụng bộ inline


PHỤ LỤC: LẬP TRÌNH CODE_MATLAB
Code_Hoán vị CTC function [CTC_int] = hoanviCTC(numSubchan,codingratio)
% Generation of the interleaver for the CTC
% Writen by DT Tuan
%

L
a
s
t

m
o
d
i
f
i
e
d

M
a
r
c
h

1
8
,

2
0
1
5

i
f

c
o
d
i
n
g
r
a
t
i
o

=
=

1
/
2
P0 = 11;
N

n
u
m
S
u
b
c
h
a
n
*
1
2
;

e
l
s B
e
i =
f
2
c *
o [
d 1
i :
n 1
g :
r N
a ]
t ;
i
o f
o
= r
=
j
3
/ =
4
P0 = 13; 1
N :
N
= if
m
n o
u d
m (
S j
u ,
b 2
c )
h =
a =
n 0
*
1 t
8 e
; m
p
e =
l v
s e
e c
; _
end i
v n
e A
c (
_ j
i )
n ;
A
v
= e
c
2 _
* i
[ n
1 A
: (
1 j
: )
N =
] v
- e
1 c
; _
i
v n
e B
c (
_ j
i )
n ;
o
v d
e (
c P
_ 0
i *
n j
B +
( P
j +
) 1
= ,
t N
e )
m ;
p end
; %
e
n F
d i
n
e a
n l
d
for j = 1:N i
r n
e t
m e
r
= l
e
m a
o v
d e
( r
j
, s
4 y
) s
; _
i
s n
w t
i (
t 2
c *
h N
e
r w
e I
m n
case 0, d
P = 0; e
case 1, x
P = 0; +
case 2, 1
P = N/4; )
case 3,
P = 5*N/4; =
otherwise
; v
e e
n c
d _
i
N n
e A
w ;
I
n s
d y
e s
x _
( i
j n
) t
= (
m 2
* eLen)
N % Generation of the interleaver for modulator
e % Writen by DT tuan
w %
I
n
L
d
e a
x s
+ t
2
) m
o
= d
i
v f
e
i
c
_ e
i d
n
B M
; a
r
C c
T h
C
_ 1
i
8
n
t ,
(
s 2
y 0
s 1
_ 5
i
n s
t
) =
=
c
[ e
1 i
: l
1 (
: c
N p
* c
2 /
] 2
;
)
C ;
T for k = 0:frameLen-1
C mk =
_ (frameLen/
i 12)*mod(k,
n 12) +
t floor(k/12);
temp(k+1)
= =
s s*floor(mk/
y s) +
s mod(mk +
_ frameLen
i -...
n floor(12*mk/frameLen),s)+1;
t end
' M
; O
Code_Hoán vị D
modulator _
function [MOD_int] i
= n
hoanviMod(cpc,fram
t % The simulation of the convolutional turbo code
( % used as the option for channel coding in LTE
t % with 16qam.
e c
m l
e
p
a
) r
= a
l
[ l
1 % setting trellises for the component RSCs
: trellisA = struct('numInputSymbols', 4, 'numOutputSymbols', 8,...
1 'numStates', 8,...
: 'nextStates',[0 7 4 3;4 3 0 7;1 6 5 2;5 2 1 6;...
l 6 1 2 5;2 5 6 1;7 0 3 4;3 4 7 0],...
e 'outputs',[ 0 3 5 6;...
n 0 3 5 6;...
g 1 2 4 7;...
t
h
(
t
e
m
p
)
]
;

M
O
D
_
i
n
t

M
O
D
_
i
n
t
'
;

C
o
d
e
_
S
i
m
u
l
i
n
k

T
u
r
b
o

L
T
E
LUẬN VĂN CAO HỌC
1 2 4 7;...
1 2 4 7;...
1 2 4 7;...
0 3 5 6;...
0 3 5 6]);
% setting trellis for the outer decoder
trellisB = struct('numInputSymbols', 4, 'numOutputSymbols', 2,...
'numStates', 8,...
'nextStates',[0 7 4 3;4 3 0 7;1 6 5 2;5 2 1 6;...
6 1 2 5;2 5 6 1;7 0 3 4;3 4 7 0],...
'outputs',[ 0 1 1 0;...
0 1 1 0;...
1 0 0 1;...
1 0 0 1;...
1 0 0 1;...
1 0 0 1;...
0 1 1 0;...
0 1 1 0]);
% Generation of the signal vector
qamPoints = [-3+3j, -1+3j, 1+3j, 3+3j,...
-3+1j, -1+1j, 1+1j, 3+1j,...
-3-1j, -1-1j, 1-1j, 3-1j,...
-3-3j, -1-3j, 1-3j, 3-3j]/sqrt(10);
mappingRule = [13 14 16 15 9 10 12 11 1 2 4 3 5 6 8 7]; Es = 10;
%mappingRule = [13 14 9 10 16 15 12 11 1 2 5 6 4 3 8 7]; Es = 10;
%mappingRule = [1 2 4 3 5 6 8 7 9 10 12 11 13 14 16 15]; Es = 10;
%mappingRule = [8 15 2 16 10 7 4 3 11 14 6 12 9 5 13 1]; Es = 10;
Label = qamPoints(mappingRule);
% computing the coding rate
puncVec = [1 1 1 1]'; % rate 1/2
%puncVec = [1 1 1 0 1 1 0 1 1 1 0 0]'; % rate = 3/4
codingratio = (1/2)*length(puncVec)/sum(puncVec);
% parameters setting
numSubchan = 16; % number of subchannels
codebitpercar = 4; % 16qam
[CTC_int] = hoanviCTC(numSubchan,codingratio); % CTC interleaver
dataLen = length(CTC_int); % The Information Block Length
frameLen = dataLen/codingratio; % The modulation block length
[MOD_int] = hoanviMod(codebitpercar,frameLen);
[aa hoanvi] = sort(rand(frameLen/4,3));
hoanvi1 = hoanvi(:,1); hoanvi2 = hoanvi(:,2);hoanvi3 = hoanvi(:,3);
% setting for computation of SNR
codeRate = codingratio*codebitpercar;
EbN0Vec = [2:1:8]; % Simulation SNR range
BERVec = []; % The bit error probability
% Simulation setup
opts =
simset('SrcWorkspace','Current','DstWorkspace','Current');
numIter = 8; % The number of iterations
ter = 6e8; % The maximum nunber of generated bits
%SF = 0; % no feedback
SF = 1; % with feedback
scale = [0:1:10]/10;
% Iteration in SNR
for n=1:length(EbN0Vec)
EbN0dB = EbN0Vec(n);
noiseVar=1/((codeRate)*(10.^(EbN0dB/10))); % Noise Variance
if EbN0dB <= 4.
ter = 1.024e+5;
elseif EbN0dB <= 7.
ter = 1.024e+6;
elseif EbN0dB <= 8
ter = 1.024e+7;
else
ter = 1.024e+8;
end
sim('turbo_sim_LTE_inline',5e+9,opts);
BERVec1(n,1)= ber_bicm(numIter-7,1);
BERVec2(n,1)= ber_bicm(numIter-5,1);
BERVec3(n,1)= ber_bicm(numIter-2,1);
BERVec4(n,1)= ber_bicm(numIter,1);
semilogy(EbN0Vec(1:n),BERVec1(1:n,1),'-bo');
semilogy(EbN0Vec(1:n),BERVec2(1:n,1),'-b.');
semilogy(EbN0Vec(1:n),BERVec3(1:n,1),'-r+');
semilogy(EbN0Vec(1:n),BERVec4(1:n,1),'-r*');
drawnow
hold on pause(1); END

You might also like