6.2.1 Cấu trúc chương trình
Chương trình mô phỏng được viết bằng Matlab:gồm các file: 1.bo_ma_hoa.m 2.chuong_trinh_chinh.m 3.logmapo.m 4.ma_hoa.m 5.nhi_phan.m 6.rsc_ma_hoa.m 7.so_do_trellis.m 8.so_nguyen.m 9.sova.m 10.tach_kenh.m
11.Turbo.txt(lưu kết quả chạy chương trình) 12.Hinh_kq.m( kết quả ra hình)
6.2.2 Chương trình chính
Để chạy chương trình ta vào file :chuong_trinh_chinh.m để nhập các thông số đầu vào,như:
+Chọn thuật toán:hàm Ttgiaima = 0 là ta chọn thuật toán Log-Map. hàm Ttgiaima = 1 là ta chọn thuật toán SOVA.
+Chọn kích thước khung bằng hàm L_f=? bao gồm thông tin và bit đuôi (info+tail).
+Chọn ma trận sinh :ta mặc định ma trận sinh g = [1 1 1; 1 0 1 ] .
+Chọn dùng kỷ thuật xoá hay là không:hàm kt_xoa = 0 là dùng kỹ thuật xoá hàmkt_xoa=1làkhông dùng kỹ thuật xoá .
+Chọn số lần lặp của mỗi khung bằng hàm: lan_lap =?
+Nhập số khung bị lỗi để kết thúc chương trình bằng hàm: ket_thuc=? +Nhập giá trị Eb/N0 bằng hàm:EbN0db =?
Sau khi nhập các thông số xong ta cho chay chương trình như sau:
Chương 5: Chương trình mô phỏng và kết quả
6.3 KẾT QUẢ MÔ PHỎNG
Thực hiện chạy chương trình nhiều lần với các thông số đầu vào khác nhau,ta được kết quả như bảng.
Lần 1 Lần 2 Lần 3 Lần 4 Lần 5 Lần 6 Lần 7 Thuật
toán
Log-Map Log-Map SOVA SOVA Log-Map SOVA Log-Map Kích thước khung 300 300 300 300 500 1000 1000 Kỹ thuật xoá
Có Có Không Không Có Không Có
Số lần lặp mỗi khung 5 10 5 10 5 5 5 Số khung bị lỗi để kết thúc 10 10 10 10 5 3 3 Eb/No (dB) 2 2 3 2 3 3 3
Bảng 5.1 Thông số các lần chạy chương trình
Và kết quả cuối cùng của các lần chạy chương trình như sau:
Lần1 ***************************** Eb/N0 = 2.00 db *********************************** Kich thuoc khung = 300, rate 1/2.
132 Khung da trao doi , 10 Khung bi loi. Ti le loi bit (Tu lan lap 1 cho den 5):
2.3337e-002 5.1098e-003 2.1100e-003 1.3219e-003 1.6270e-003 Ti le loi khung (Tu lan lap 1 cho den 5):
9.1667e-001 3.0303e-001 1.2879e-001 8.3333e-002 7.5758e-002
Lần2 ***************************** Eb/N0 = 2.00 db *********************************** Kich thuoc khung = 300, rate 1/2.
665 Khung da trao doi , 10 Khung bi loi. Ti le loi bit (Tu lan lap 1 cho den 10):
2.1310e-002 3.8149e-003 1.2414e-003 7.2160e-004 5.8536e-004 4.3902e-004 4.4911e-004 3.9360e-004 4.4406e-004 3.4314e-004
Ti le loi khung (Tu lan lap 1 cho den 10):
8.7669e-001 2.6316e-001 7.6692e-002 3.4586e-002 2.8571e-002 1.9549e-002 1.6541e-002 1.5038e-002 1.3534e-002 1.5038e-002
******************************************************************************* Lần3 ***************************** Eb/N0 = 3.00 db ***********************************
Kich thuoc khung = 300, rate 1/3. 3406 Khung da trao doi , 10 Khung bi loi. Ti le loi bit (Tu lan lap 1 cho den 5):
3.5705e-003 1.8030e-004 7.8819e-005 6.9952e-005 4.4335e-005 Ti le loi khung (Tu lan lap 1 cho den 5):
2.9008e-001 1.9671e-002 5.8720e-003 4.1104e-003 2.9360e-003
******************************************************************************* Lần4 ***************************** Eb/N0 = 2.00 db ***********************************
Kich thuoc khung = 300, rate 1/3. 408 Khung da trao doi , 10 Khung bi loi. Ti le loi bit (Tu lan lap 1 cho den 10):
2.4345e-002 4.9595e-003 2.1467e-003 1.5380e-003 1.0034e-003 8.0603e-004 8.1425e-004 7.5668e-004 7.1555e-004 6.2508e-004
Ti le loi khung (Tu lan lap 1 cho den 10):
8.0147e-001 2.3775e-001 9.8039e-002 6.1275e-002 4.4118e-002 3.6765e-002 3.4314e-002 2.9412e-002 2.4510e-002 2.4510e-002
******************************************************************************* Lần5 ***************************** Eb/N0 = 3.00 db ***********************************
Kich thuoc khung = 500, rate 1/2. 1557 Khung da trao doi , 5 Khung bi loi. Ti le loi bit (Tu lan lap 1 cho den 5):
3.5505e-003 7.3512e-005 1.9345e-005 2.5794e-005 2.0635e-005 Ti le loi khung (Tu lan lap 1 cho den 5):
4.6692e-001 1.2845e-002 3.2113e-003 3.2113e-003 3.2113e-003
Chương 5: Chương trình mô phỏng và kết quả
Lần6 ***************************** Eb/N0 = 3.00 db *********************************** Kich thuoc khung = 1000, rate 1/3.
1420 Khung da trao doi , 3 Khung bi loi. Ti le loi bit (Tu lan lap 1 cho den 5):
3.0484e-003 4.2338e-005 1.4113e-005 1.8347e-005 6.3507e-006 Ti le loi khung (Tu lan lap 1 cho den 5):
6.1972e-001 1.9014e-002 7.0423e-003 4.2254e-003 2.1127e-003
******************************************************************************* Lần7 ***************************** Eb/N0 = 3.00 db ***********************************
Kich thuoc khung = 1000, rate 1/2. 1177 Khung da trao doi , 3 Khung bi loi. Ti le loi bit (Tu lan lap 1 cho den 5):
3.5560e-003 2.1283e-005 6.8106e-006 5.1079e-006 5.1079e-006 Ti le loi khung (Tu lan lap 1 cho den 5):
7.3322e-001 1.0195e-002 4.2481e-003 2.5489e-003 2.5489e-003
*******************************************************************************
Bảng 5.2 Kết quả cuối cùng
Hình 5.40: Kết quả lần 1
Chương 5: Chương trình mô phỏng và kết quả
Hình 5.42: Kết quả lần 3
Hình 5.44: Kết quả lần 5
Chương 5: Chương trình mô phỏng và kết quả
Hình 5.46: Kết quả lần 7
Qua những hình trên và một số kết quả chạy chương trình khác,ta có nhận xét:
• số lần lặp càng lớn thì tỉ lệ lỗi bit cũng như tỉ lệ lỗi khung đều giảm.
• nếu số lương khung đưa vào càng lớn thì BER và FER càng thấp(thể hiện rõ trong Hình 5.7 và Hình 5.8).
• mã sẽ hoạt động tốt khi ta lựa chọn kích thước khung lớn. • tỉ lệ lỗi khung(FER) thường lớn hơn tỉ lệ lỗi bit(BER) nhưng
lần lặp càng lớn thì BER~FER(trong hình 5.7 và 5.8 khi lần lặp thứ 5 thì BER~ FER ~0).
6.4 KẾT LUẬN CHƯƠNG
Sau khi chạy chương trình với các thông số đầu vào cho như bảng 5.1 và chạy nhiều lần chương trình với các thông số khác nhau và các kết quả này đều được lưu lại trong file Turbo.txt .