Professional Documents
Culture Documents
NLTT
NLTT
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
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:
Kênh truyền
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
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
(1.3)
rslR
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
Để giá trị Eb/N0 nhỏ nhất ứng với đường truyền không có lỗi là:
Eb
2max 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
max0
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…
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
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.
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
(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~
~ ~ ~ ~ ~ ~ ~ ~ ~
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.
(3,1,5,2,7,4,8,6)
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.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
1D 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
1D 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.
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
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
trong đó
Chuỗi v 1t điều chế BPSK. Chuỗi điền chế này được ký hiệu là x 1t
mã
t
x1 (x1, x2 ,..., xt ) (2.19)
trong đó
x t (xt ,0 , xt ,1,..., xt ,n 1
(2.20)
)
và
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)
và
trong đó
nt ,i là biến ngẫu nhiên nhiễu Gauss có trung bình không và phương sai 2
ary). (2.25)
x (x1, x 2 ,..., x N )
v (v1,1 ,..., v1,log M , v2,1 ,..., v2,log M ,..., vN ,1 ,..., vN ,log
2 2 2
M )
Bộ thu ước lượng chuỗi bản tin c chưa biết, có thể viết là
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.
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
mã
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
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
Để đơ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
(2.33)
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
n1
v (rt
xt
xt ,i ) (2.34)
,i 2
i0
Chú ý rằng khoảng cách Euclid nhỏ nhất là tương đương giá trị lớn nhất của
n1
r
,i t 1 i0
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
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
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
là
và
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
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.
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;
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
và
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
Xác suất truyền trong kênh Gauss được định nghĩa là.
Prr | x
R(r | x )
(2.50)
1 1 j j
j1
với
n1
R(rj | x j )
Pr( r j ,i | x j ,i (2.51)
)
i1
và
Prr
(rj ,i 1)2
1 1 e
j, |xj 2 2 (2.52)
i ,i 2
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 | r1
t1
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
t1
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 Prr (2.56)
(l,l ) 1
Pr c Bt
1 | r t (l,l)
Prr1
(2.57)
t
1 (l,l ) t
B1
(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) PrS t l, r
t
(2.59)
1
(l) Prr | S
(2.60)
l
t t 1 t
Pr r , r , r , S l, t1
l
S
t 1 t 1 t t 1
Pr r | r , rt1,
l,
l . Prr , rt1, l,
l
S S S
S
t 1 t 1 t 1 t 1 t1
t
t
Pr r | S l . Pr r , rt1, l, l
S S
t 1 t t 1 t 1
t
t
l, | l, r t1 . l, rt1
t
(l).Pr St rt St1 PrS
1
1 1
l, r t1 . (l). l, | St l
Pr S t
1 Pr St rt 1
1 t
(l).
i (l, (2.62)
(l).
t1 t i(0,1
) l)t
Định nghĩa hệ số
(l,l ) t1 t t
Bt
Ms 1 Pr S t l, l, r 1t
l0
1 St
Ms1
l0
Pr S t l, r1t1, r t
1
l, St
Ms1 Pr S l, l, rt1, r . l, r | l, r t1
S
Pr S S
l0 t1 t 1 t t t1 1
(l ).Pr l, l
Ms1
l0
t
t1
St rt
| St1
Ms 1
l0
t (l ).i(0, Pr l, i, | St l
1
1) St ct rt 1
Ms 1
Đị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) Prrt | l
t
1 S
t
Ms1 l, | l
l0 t1 t1
Pr S r St
M
Pr S
l
Sl,r ,
s1
t1 t1 t
Pr l
l0
St
M
Pr r | , l , l . , l , l
s1
r S
t1 t1 S St1 S
t Prr t
t2 t1
PrSt l
l0
M
Pr r |
l .Prr , S l, l
S S
l0
s1 t2 t1 t1 t1 t
Pr St l
M s 1 t1 (l ). Pr S t 1 l , rt l
1 | S t lPr S t
Pr S l
l0
l0
M s 1 t (l).Pr | l
1
S t l, t S t
1 r 1
(l ).
Ms 1
l0 t i(0,
ti (l,l) (2.66)
1 1
1)
i (l,l) Prc
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
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
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
t (l) log t Ms 1
(l) e
t1(l) it (l,l ) (2.69)
log
l0 i(0,1)
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
t1 (l) t1
log (l ,l )
t
v điều kiện
ới ban đầu
0 t
(l) l0 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 l0 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
l0
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
i1,2,...,n
Khi max i1,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
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
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
n1
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
, 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)
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:ct 0 r r r
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 .
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.
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
~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
(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
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
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.
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
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
n1
v t (ct )
r
t
c t, (2.101)
i0 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
t1 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
t0 tt 1
v ct
(2.105)
t t
trong đó
t1
t vt (2.106)
v t
t0 tt1
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
c
với t là số vị trí mô tả trong (2.106) và vt được đưa ra như sau.
n1
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
và
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 )
có
.
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
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).
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
~
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 ) ~
4~r (r1) (2.120)
2e t 2 t t,0
(c )1e t
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. ~
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
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
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ạ …
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.
[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
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