Professional Documents
Culture Documents
Mô Phỏng Httts - 2020
Mô Phỏng Httts - 2020
Mô Phỏng Httts - 2020
CHƯƠNG I...............................................................................................................1
SƠ LƯỢC VỀ MÔ PHỎNG CÁC HỆ THỐNG THÔNG TIN...........................1
1.1. Hệ thống thông tin, các vấn đề trong thiết kế và đánh giá........................................1
1.1.1. Các hệ thống thông tin.......................................................................................1
1.1.2. Các vấn đề trong thiết kế và đánh giá hệ thống.................................................2
1.2. Áp dụng mô phỏng trong thiết kế và đánh giá hệ thống...........................................4
1.2.1. Quá trình mô phỏng hệ thống thông tin.............................................................4
1.2.2. Áp dụng mô phỏng trong thiết kế và đánh giá hệ thống thông tin.....................6
1.2.3. Các ứng dụng khác của mô phỏng.....................................................................6
1.3. Mức mô phỏng sử dụng............................................................................................7
1.4. Phương pháp mô phỏng..........................................................................................15
1.5. Công cụ mô phỏng.................................................................................................20
1.5.1. Giới thiệu về MATLAB..................................................................................20
1.5.2. Simulink..........................................................................................................20
CHƯƠNG II............................................................................................................26
MÔ PHỎNG MÃ HÓA NGUỒN..........................................................................26
2.1. Giới thiệu...............................................................................................................26
2.2. Một số khái niệm cơ bản về mã hóa.......................................................................27
2.3. Mã hóa...................................................................................................................32
2.4. Mã hóa nguồn.........................................................................................................37
2.5. Mã Huffman...........................................................................................................39
CHƯƠNG III..........................................................................................................44
MÔ PHỎNG MÃ HÓA KÊNH.............................................................................44
3.1. Giới thiệu...............................................................................................................44
3.2. Mã khối.................................................................................................................. 46
3.2.1. Mã khối...........................................................................................................46
3.2.2. Mã Hamming..................................................................................................50
3.3. Mã chập.................................................................................................................. 52
3.4. Mô phỏng mã hóa kênh trong Matlab....................................................................61
3.4.1. Mô phỏng mã hóa Hamming...........................................................................62
3.4.2. Xây dựng hệ thống sử dụng khối mã xoắn......................................................73
Chương IV...............................................................................................................86
Mô phỏng điều chế số.............................................................................................86
4.1. Giới thiệu...............................................................................................................86
4.2. Điều chế QPSK......................................................................................................87
4.3. Điều chế QAM.......................................................................................................91
4.4. Điều chế MSK........................................................................................................95
4.5. Mô phỏng...............................................................................................................99
4.5.1. Mô phỏng điều chế QPSK...............................................................................99
4.5.2. Mô phỏng điều chế QAM..............................................................................107
4.5.3. Mô phỏng điều chế MSK..............................................................................115
4.5.4. Các hàm hỗ trợ mô phỏng điều chế...............................................................122
CHƯƠNG V..........................................................................................................129
MÔ PHỎNG KÊNH TRUYỀN...........................................................................129
5.1. Kênh nhị phân đối xứng BSC...............................................................................129
5.1.1. Kênh nhị phân đối xứng................................................................................129
5.1.2. Mô phỏng......................................................................................................131
5.2. Kênh AWGN........................................................................................................137
5.3. Kênh Fading Rayleigh..........................................................................................142
5.3.1. Kênh fading Rayleigh....................................................................................142
5.3.2. Mô phỏng......................................................................................................147
5.4. Nhiễu ồn pha........................................................................................................158
5.4.1. Nhiễu ồn pha.................................................................................................158
5.4.2. Mô phỏng nhiễu ồn pha.................................................................................159
5.5. Mô phỏng một vài hệ thống thông tin số hiện tại.................................................165
TÀI LIỆU THAM KHẢO...................................................................................169
MỤC LỤC HÌNH VẼ
Hình 1.1. Sơ đồ khối tương đương băng gốc hệ thống vi ba M-QAM................................4
Hình 1.2. Mô hình phân cấp của hệ thống truyền thông......................................................7
Hình 1.3. Minh họa quá trình mô hình hóa hệ thống.........................................................10
Hình 1.4. Các lĩnh vực ảnh hưởng lên nghiên cứu mô phỏng các hệ thống truyền thông. 12
Hình 1.5. Minh họa các điểm ngẫu nhiên phân bố đều.....................................................16
Hình 1.6. Ước tính Monte Carlo của diện tích..................................................................16
Hình 1.7. Mô hình mô phỏng để xác định BER................................................................17
Hình 1.8. Cách vào toolbox simulink trong Matlab..........................................................21
Hình 1.9. Simulink icon trên giao diện Matlab................................................................22
Hình 1.10. Cửa sổ thư viện simulink.................................................................................22
Hình 1.11. Cách tạo mô hình.............................................................................................23
Hình 1.12. Cửa sổ xây dựng mô hình................................................................................23
Hình 1.13. Cách tạo các khối............................................................................................23
Hình 1.14. Lưu trữ mô hình..............................................................................................24
Hình 1.15. Di chuyển các khối..........................................................................................24
Hình 1.16. Nối tín hiệu......................................................................................................24
Hình 1.17. Mô phỏng mô hình..........................................................................................25
Hình 1.18. Đặt thông số mô phỏng...................................................................................25
Hình 1.19. Đặt thông số mô phỏng...................................................................................25
Hình 2.1. Biểu diễn một bộ mã trên mặt phẳng tọa độ......................................................35
Hình 2.2. Cây mã nhị phân cho bộ mã 00, 01, 10, 1101, 11001........................................36
Hình 2.3. Đồ hình kết cấu của bộ mã 00, 01, 100, 1010, 1011..........................................36
Hình 2.4. Sơ đồ tạo cây mã...............................................................................................41
Hình 2.5. Cây mã..............................................................................................................41
Hình 3.1. Phân loại mã kênh.............................................................................................46
Hình 3.2. Cấu trúc mã khối...............................................................................................47
Hình 3.3. Sơ đồ mã chập (n,k,N).......................................................................................53
Hình 3.4. Bộ mã chập (3,2,2)............................................................................................55
Hình 3.5. Sơ đồ bộ mã chập với N=3, k=1, n=3................................................................56
Hình 3.6. Mã chập (2,1,3).................................................................................................56
Hình 3.7. Mã chập (2,1,3).................................................................................................56
Hình 3.8. Sơ đồ hình cây của bộ mã (2,1,3).....................................................................57
Hình 3.9. Sơ đồ hình lưới bộ mã chập (2,1,3)...................................................................58
Hình 3.10. Sơ đồ trạng thái của bộ mã chập (2,1,3)..........................................................59
Hình 3.11. Khối phát dữ liệu.............................................................................................62
Hình 3.12. Khối điều chế BPSK.......................................................................................63
Hình 3.13. Khối giải điều chế BPSK.................................................................................63
Hình 3.14. Khối kênh AWGN...........................................................................................63
Hình 3.15. Khối mã hóa Hamming...................................................................................63
Hình 3.16. Khối giải mã Hamming...................................................................................64
Hình 3.17. Khối tính toán tỷ lệ lỗi bit................................................................................64
Hình 3.18. Khối hiển thị....................................................................................................64
Hình 3.19. Sơ đồ khối mô phỏng hệ thống sử dụng mã Hamming....................................64
Hình 3.20. Thiết lập thông số cho khối tạo bit ban đầu.....................................................65
Hình 3.21. Thiết lập thông số cho khối mã hóa Hamming................................................66
Hình 3.22. Thiết lập thông số cho khối điều chế BPSK....................................................66
Hình 3.23. Các thông số của khối AWGN Channel..........................................................67
Hình 3.24. Thông số của khối tính toán lỗi.......................................................................69
Hình 3.25. Thông số khối hiển thị.....................................................................................69
Hình 3.26. Tỉ lệ lỗi bit = 0.04391 với SNR = 0.1 dB........................................................70
Hình 3.27. Khối tạo dữ liệu ban đầu.................................................................................74
Hình 3.28. Khối mã hóa chập............................................................................................74
Hình 3.29. Khối điều chế BPSK.......................................................................................74
Hình 3.30. Khối giải điều chế BPSK.................................................................................75
Hình 3.31. Khối kênh AWGN...........................................................................................75
Hình 3.32. Khối chuyển đổi tín hiệu.................................................................................75
Hình 3.33. Khối giải mã chập...........................................................................................75
Hình 3.34. Khối tính toán tỷ lệ lỗi bit................................................................................75
Hình 3.35. Khối hiển thị....................................................................................................76
Hình 3.36. Sơ đồ khối hệ thống sử dụng mã Xoắn............................................................76
Hình 3.37. Thông số khối Bernoulli Binary Generator.....................................................76
Hình 3.38. Thông số khối mã chập...................................................................................77
Hình 3.39. Tham số khối điều chế BPSK..........................................................................77
Hình 3.40. Tham số khối kênh AWGN.............................................................................78
Hình 3.41. Tham số khối chuyển đổi tín hiệu...................................................................78
Hình 3.42. Tham số khối tính toán tỷ lệ lỗi bit..................................................................79
Hình 3.43. Tỉ lệ lỗi bit = 0.08532 với Es/No = 0.1 dB........................................................79
Hình 3.44. Bộ mã chập tỷ lệ 2/3........................................................................................84
Hình 4.1. Sơ đồ khối hệ thống thông tin đầy đủ................................................................86
Hình 4.2. Sơ đồ mô tả quá trình điều chế và giải điều chế số............................................87
Hình 4.3. Phương pháp điều chế QPSK............................................................................89
Hình 4.4.Phương pháp giải điều chế QPSK......................................................................89
Hình 4.5. Sơ đồ tái lập sóng mang cho giải điều chế QPSK.............................................90
Hình 4.6.Sơ đồ nguyên lý điều chế tín hiệu M-QAM.......................................................91
Hình 4.7. Biểu đồ không gian tín hiệu 16-QAM...............................................................92
Hình 4.8.Biểu đồ không gian tín hiệu QAM nhiều trạng thái............................................92
Hình 4.9. Sơ đồ khối mạch điều chế 8-QAM....................................................................92
Hình 4.10. Giản đồ vị trí các điểm đặc trưng các tribit.....................................................93
Hình 4.11. Sơ đồ khối Mạch điều chế 16-QAM................................................................93
Hình 4.12. Giản đồ 16-QAM............................................................................................94
Hình 4.13. Sơ đồ nguyên lý giải điều chế M-QAM..........................................................95
Hình 4.14. Phase tín hiệu MSK.........................................................................................97
Hình 4.15. Sơ đồ điều chế MSK.......................................................................................98
Hình 4.16. Giản đồ chòm sao biểu diễn sự thay đổi pha của tín hiệu MSK......................99
Hình 4.17. Tín hiệu MSK..................................................................................................99
Hình 4.18. Khối điều chế QPSK.....................................................................................100
Hình 4.19. Khối giải điều chế QPSK..............................................................................100
Hình 4.20. Khối giản đồ chòm sao..................................................................................100
Hình 4.21. Sơ đồ khối hệ thống sử dụng điều chế QPSK................................................101
Hình 4.22. Thiết lập tham số khối nguồn phát................................................................101
Hình 4.23. Thiết lập tham số khối mã xoắn.....................................................................102
Hình 4.24. Tham số khối điều chế QPSK........................................................................102
Hình 4.25. Tham số khối kênh AWGN...........................................................................103
Hình 4.26. Tham số khối giải điều chế QPSK.................................................................103
Hình 4.27. Tham số khối giải mã xoắn...........................................................................104
Hình 4.28. Tham số khối tính toán tỷ lệ lỗi bit................................................................104
Hình 4.29. Tham số khối giản đồ chòm sao....................................................................105
Hình 4.30. Tỷ lệ lỗi bit = 0.0009107 với Es/No = 5dB...................................................105
Hình 4.31. Giản đồ chòm sao khi chưa có tác động của AWGN....................................106
Hình 4.32. Giản đồ chòm sao khi có tác động của AWGN với Es/No = 5dB.................107
Hình 4.33. Khối phát số nguyên ngẫu nhiên...................................................................108
Hình 4.34. Khối điều chế QAM......................................................................................108
Hình 4.35. Khối giải điều chế QAM...............................................................................108
Hình 4.36. Sơ đồ khối hệ thống sử dụng điều chế QAM.................................................108
Hình 4.37. Tham số khối nguồn phát..............................................................................109
Hình 4.38. Tham số khối điều chế QAM........................................................................110
Hình 4.39. Tham số khối kênh AWGN...........................................................................111
Hình 4.40. Thiết lập tham số khối giải điều chế QAM....................................................111
Hình 4.41. Tham số khối tính toán tỷ lệ lỗi bit................................................................112
Hình 4.42. Tham số khối giản đồ chòm sao....................................................................113
Hình 4.43. Tỉ lệ lỗi bit = 0.00102 với Es/No = 30dB......................................................113
Hình 4.44. Giản đồ chòm sao tín hiệu sau khi điều chế 256- QAM................................114
Hình 4.45. Giản đồ chòm sao tín hiệu sau khi đi qua kênh truyền AWGN.....................114
Hình 4.46. Khối điều chế MSK.......................................................................................116
Hình 4.47. Khối giải điều chế MSK................................................................................116
Hình 4.48. Sơ đồ mô phỏng điều chế MSK.....................................................................116
Hình 4.49. Tham số khối nguồn phát..............................................................................117
Hình 4.50. Tham số khối mã xoắn..................................................................................117
Hình 4.51. Tham số khối điều chế MSK.........................................................................118
Hình 4.52. Tham số khối giải điều chế MSK..................................................................119
Hình 4.53. Tham số khối kênh AWGN...........................................................................120
Hình 4.54. Tham số khối giải mã xoắn...........................................................................120
Hình 4.55. Tham số khối tính toán tỷ lệ lỗi bit................................................................121
Hình 4.56. Kết quả tỷ lệ lỗi bit với Es/No=5dB là 0.02886.............................................121
Hình 4.57. Giản đồ chòm sao tín hiệu điều chế MSK.....................................................122
Hình 4.58. Giản đồ chòm sao tín hiệu MSK sau khi qua kênh AWGN...........................122
Hình 4.59. Giản đồ xung tín hiệu....................................................................................125
Hình 4.60. Tín hiệu điều chế QAM.................................................................................128
Hình 5.1. Hệ thống truyền thông với mô hình kênh rời rạc.............................................129
Hình 5.2. Mô hình kênh đối xứng nhị phân BSC............................................................130
Hình 5.3. Khối nhị phân Bernoulli..................................................................................132
Hình 5.4. Khối mã hóa Hamming...................................................................................132
Hình 5.5. Khối kênh truyền BSC....................................................................................132
Hình 5.6. Khối giải mã Hamming...................................................................................132
Hình 5.7. Khối tính toán tỷ lệ lỗi bit................................................................................133
Hình 5.8. Khối hiển thị....................................................................................................133
Hình 5.9. Mô hình kênh BSC..........................................................................................133
Hình 5.10. Thiết lập thông số cho khối mã hóa Hamming..............................................134
Hình 5.11. Thiết lập thông số khối kênh BSC.................................................................135
Hình 5.12. Thông số của khối tính toán lỗi.....................................................................135
Hình 5.13. Thông số khối hiển thị...................................................................................136
Hình 5.14. Kết quả chạy mô phỏng kênh BSC................................................................136
Hình 5.15. Mô tả tạp âm Gauss.......................................................................................138
Hình 5.16. Hàm mật độ xác suất Gauss...........................................................................138
Hình 5.17. Mật độ phổ công suất và hàm tự tương quan của tạp âm trắng......................139
Hình 5.18. Tín hiệu điều chế BPSK phía phát và thu có tác động của nhiễu AWGN.....142
Hình 5.19. Mô hình truyền sóng đa đường......................................................................143
Hình 5.20. Phân bố Rayleigh..........................................................................................147
Hình 5.21. Khối fading Rayleigh....................................................................................147
Hình 5.22. Sơ đồ khối hệ thống dưới sự tác động kênh Rayleigh Fading.......................148
Hình 5.23. Thiết lập tham số khối phát số nguyên ngẫu nhiên........................................148
Hình 5.24. Tham số khối mã xoắn..................................................................................149
Hình 5.25. Thiết lập tham số khối điều chế QPSK..........................................................150
HÌnh 5.26. Thiết lập tham số khối fading Rayleigh.........................................................150
Hình 5.27. Thiết lập tham số khối giải điều chế QPSK...................................................151
Hình 5.28. Tham số khối giải mã xoắn...........................................................................151
Hình 5.29. Thiết lập tham số khối giản đồ chòm sao......................................................152
Hình 5.30. Tỉ lệ lỗi bit = 0.5 với độ dịch tần là 40Hz......................................................152
Hình 5.31. Giản đồ chòm sao khi chưa có tác động của..................................................153
Fading Rayleigh..............................................................................................................153
Hình 5.32. Giản đồ chòm sao khi có tác động của Fading Rayleigh...............................153
Hình 5.33. Công suất tín hiệu bị fading...........................................................................157
Hình 5.34. Khối nhiễu ồn pha.........................................................................................159
Hình 5.35. Mô hình mô phỏng nhiễu ồn pha...................................................................160
Hình 5.36. Tham số khối tạo nguồn tín hiệu...................................................................160
Hình 5.37. Tham số khối mã hóa chập............................................................................161
Hình 5.38. Tham số khối điều chế BPSK........................................................................161
Hình 5.39. Tham số khối giải điều chế BPSK.................................................................162
Hình 5.40. Tham số khối kênh truyền AWGN................................................................162
Hình 5.41. Tham số khối nhiễu ồn pha...........................................................................163
Hình 5.42. Tham số khối giải mã chập............................................................................163
Hình 5.43. Kết quả chạy mô phỏng nhiễu ồn pha với Es/No=1dB..................................164
Hình 5.44. Giản đồ chòm sao tín hiệu sau khi điều chế BPSK........................................164
Hình 5.45. Giản đồ chòm sao của tín hiệu có tác động của nhiễu ồn pha........................165
Hình 5.46. Lớp vật lý của hệ thống CDMA 1xRTT........................................................166
Hình 5.47. Hệ thống DVB - S2.......................................................................................166
Hình 5.48. Lớp vật lý của hệ thống WCDMA.................................................................167
Hình 5.49. Hệ thống DVB - C.........................................................................................167
Hình 5.50. Hệ thống DVB - T.........................................................................................168
Hình 5.51. Lớp liên kết vật lý của hệ thống OFDM........................................................168
MỤC LỤC BẢNG
Bảng 2.1. Bảng mã các tin trong nguồn tin A...................................................................34
Bảng 3.1. Bảng trạng thái của bộ mã 00, 01, 10, 11..........................................................58
Bảng 3.2. Kết quả mô phỏng sử dụng khối mã hóa Hamming..........................................70
Bảng 3.3. Kết quả mô phỏng sử dụng khối mã hóa Convolution......................................79
Bảng 3.4. Các trường của một cấu trúc trellis...................................................................80
Bảng 3.5. Ý nghĩa của các giá trị lối vào...........................................................................82
Bảng 4.1. Kết quả mô phỏng sử dụng điều chế QPSK....................................................106
Bảng 4.2. Kết quả mô phỏng phương pháp điều chế QAM.............................................114
Bảng 4.3. Các hàm MATLAB hỗ trợ mô phỏng điều chế số...........................................124
LỜI NÓI ĐẦU
Trong thiết kế, phân tích và đánh giá các hệ thống thông tin hiện đại có ba phương
pháp chủ yếu, không loại trừ lẫn nhau đó là phương pháp giải tích, phương pháp chế thử
mẫu và đo lường, phương pháp mô phỏng. Đối với phương pháp mô phỏng, quá trình mô
phỏng thực chất là tạo giả hệ thống trên cơ sở mô hình hóa hệ thống viễn thông bao gồm
tạo giả tín hiệu, mô hình quá các khối chức năng của hệ thống và các tác động khác nhau
và cho tín hiệu “chạy” suốt qua hệ thống và đánh giá BER theo một số cách thức khác
nhau, Trên cơ sở đó đáp ứng các mục đích đề ra đối với công tác thiết kế và đánh giá các
hệ thống viễn thông.
Quá trình mô phỏng một hệ thống viễn thông là cung cấp một cái nhìn toàn diện và
sâu sắc đối với các vấn đề kỹ thuật của hệ thống; Đánh giá phản ứng của hệ thống cần mô
phỏng với các tác động khác nhau; Kiểm tra chất lượng hệ thống và so sánh với các chỉ
tiêu; Đánh giá chất lượng của hệ thống đó thông qua tỷ số lỗi bit (BER – Bit Error Ratio);
Khảo sát ảnh hưởng của các yếu tố khác nhau tới chất lượng của hệ thống.
Giáo trình mô phỏng các hệ thống viễn thông trình bày cấu trúc của một hệ thống
viễn thông và việc mô phỏng các hệ thống viễn thông sử dụng công cụ simulink của
MATLAB để giúp sinh viên nắm được các thành phần của một hệ thống viễn thông cụ thể
như mã hóa nguồn, mã hóa kênh, điều chế, kênh truyền…. và thực hiện mô phỏng được
trên máy tính dưới dạng sơ đồ khối để khảo sát, đánh giá chất lượng của từng hệ thống với
từng tác động cụ thể.
Nội dung cụ thể của giáo trình gồm 5 chương:
Chương 1: Sơ lược về mô phỏng các hệ thống thông tin
Chương 2: Mô phỏng mã hóa nguồn
Chương 3: Mô phỏng mã hóa kênh
Chương 4: Mô phỏng điều chế số
Chương 5: Mô phỏng kênh truyền
Trong quá trình biên soạn, việc trình bày các nội dung có thể còn đôi chỗ còn thiếu
sót, chưa thật chính xác, tác giả rất mong nhận được các ý kiến đóng góp của độc giả.
CHƯƠNG I
1.1. Hệ thống thông tin, các vấn đề trong thiết kế và đánh giá
1.1.1. Các hệ thống thông tin
Các hệ thống thông tin có chức năng truyền đưa thông tin từ nơi này đến nơi
khác. Theo các đặc tính của mình, các hệ thống thông tin có thể được phân loại theo
nhiều cách.Theo loại tín hiệu được dùng để truyền tin tức, các hệ thống thông tin được
chia thành các hệ thống thông tin tương tự (analog) hay số (digital). Theo các phương
tiện truyền dẫn, các hệ thống thông tin cũng có thể được phân loại thành các hệ thống
thông tin dùng cáp đồng, các hệ thống thông tin quang sợi (fiber optic) hay các hệ
thống thông tin sóng cực ngắn (microwave)…, trong đó các hệ thống thông tin sóng
cực ngắn lại có thể phân tiếp thành các hệ thống thông tin vệ tinh, thông tin vô tuyến
tiếp sức (thông tin vi ba) và thông tin di động.
Các thành phần chủ yếu của hệ thống thông tin bao gồm:
Các nguồn tín hiệu bao gồm tín hiệu có ích, tạp âm và can nhiễu. Mặc dù tạp
âm và can nhiễu cũng là các tín hiệu điện song trong khuôn khổ giáo trình
này ta sẽ sử dụng từ “tín hiệu” để chỉ riêng thành phần tín hiệu có ích.
Các thiết bị truyền dẫn tin tức bao gồm các bộ điều chế và giải điều chế, các
bộ lọc, các bộ khuếch đại, các mạch lọc thích nghi dùng làm mạch san bằng
đặc tính đường truyền, các mạch duy trì đồng bộ…
Môi trường truyền dẫn hay đôi khi cũng được gọi là kênh truyền.
Các thiết bị xử lý tin tức và tín hiệu.
Các yếu tố trở ngại chủ yếu trong truyền đưa thông tin gây suy giảm chất lượng
hệ thống bao gồm:
Pha-đing gây bởi truyền dẫn đa đường trong thông tin vô tuyến tiếp sức,
thông tin di động…
Các méo tín hiệu do đặc tính đường truyền không lý tưởng (bao gồm các méo
tuyến tính và méo phi tuyến), do trải giữ chậm (delay spreading) gây bởi
truyền dẫn đa đường (multipath).
1
Các can nhiễu bao gồm can nhiễu khí quyển, can nhiễu từ các hệ thống khác,
can nhiễu từ các kênh lân cận cùng hệ thống hay can nhiễu nội tại (can nhiễu
gây bởi đặc tính phi tuyến của tuyến truyền dẫn).
Tạp âm lượng tử và tạp âm nhiệt gây bởi các linh kiện điện tử.
Tán sắc trong thông tin quang.
Chất lượng của các hệ thống thông tin số nói chung được đánh giá thông qua rất
nhiều tham số như mẫu mắt (eye-pattern), mật độ phổ nhiễu, độ nhạy máy thu, xác
suất lỗi bit… trong đó chỉ tiêu quan trọng nhất là xác suất lỗi bít của hệ thống.
1.1.2. Các vấn đề trong thiết kế và đánh giá hệ thống
Trong thiết kế, phân tích và đánh giá các hệ thống thông tin hiện đại có ba
phương pháp chủ yếu, không loại trừ lẫn nhau, đó là:
Phương pháp giải tích: Là phương pháp dựa trên các công thức nhằm tính
toán các mạch điện, các khối chức năng cấu thành hệ thống và đánh giá chất
lượng hệ thống dưới tác động của các yếu tố khác nhau cũng được biểu diễn
thông qua các công thức toán học.
Phương pháp chế thử mẫu và đo lường: Là phương pháp trên cơ sở tính toán
sơ bộ người thiết kế chế tạo mẫu thử và tiến hành đo kiểm tra các chỉ tiêu
chất lượng. Đặc điểm của phương pháp này là mặc dù phương pháp cho các
kết quả tin cậy nhất song khá cứng nhắc và tốn kém, do vậy chỉ áp dụng
trong các bước sau trong quá trình thiết kế và phân tích hệ thống.
Phương pháp mô phỏng
Trong vài thập kỷ gần đây các hệ thống thông tin và xử lý tín hiệu đã phát triển
đặc biệt mạnh mẽ. Trong thời gian này sự ra đời của một loạt các kỹ thuật mới như các
phần cứng với giá thành khá rẻ, xử lí nhanh chóng tín hiệu, cáp sợi quang học, các
thiết bị quang học tích hợp và các mạch tích hợp sóng cực ngắn… đã có những ảnh
hưởng rất quan trọng tới việc thực hiện các hệ thống thông tin liên lạc. Mức độ phức
tạp ngày càng tăng của các hệ thống thông tin đòi hỏi những cố gắng và thời gian ngày
càng lớn trong thiết kế và phân tích hệ thống với chi phí ngày càng cao. Sự cần thiết
phải nhanh chóng đưa các kỹ thuật mới vào các sản phẩm thương mại nhằm cải thiện
và phát triển các dịch vụ kỹ thuật, tăng khả năng cạnh tranh của các thiết bị ở dạng
2
thương phẩm đòi hỏi việc thiết kế và đánh giá chất lượng hệ thống thông tin phải được
tiến hành theo một cách thức mới, tiết kiệm về thời gian, dễ dàng và rẻ tiền. Các hệ
thống thông tin liên lạc hiện đại là các cấu trúc rất phức tạp gồm các phần tử khác nhau
mà những phần tử này tự thân cũng có các đặc tính phức tạp. Do độ phức tạp rất cao
và ngày một phức tạp hơn của các hệ thống thông tin liên lạc hiện đại, cách đề cập giải
tích về các phản ứng của cách hệ thống xem ra là một nhiệm vụ không thể thực hiện
được. Các thử nghiệm trên các hệ thống thực theo phương pháp chế thử mẫu và đo
lường, mặt khác lại quá tốn kém, nhất là trong các giai đoạn đầu của quá trình thiết kế,
phát triển và cải tiến hệ thống. Do vậy, như thực tế cho thấy, các yêu cầu về độ chính
xác cũng như hiệu quả về thời gian và chi phí cho quá trình thiết kế, phân tích và đánh
giá hệ thống chỉ có thể thỏa mãn được thông qua việc sử dụng các công cụ thiết kế và
phân tích có sự trợ giúp của máy tính mạnh.
Một số lượng lớn các kỹ thuật được trợ giúp bởi máy tính (computeraided) đã
được phát triển trong vài chục năm trở lại đây nhằm hỗ trợ quá trình mô hình hóa,
phân tích và thiết kế các hệ thống thông tin liên lạc. Các kỹ thuật này được chia làm
hai loại:
- Các giải pháp dựa trên công thức (formula-based techniques), trong đó máy
tính được sử dụng để đánh giá và tính toán theo các công thức phức tạp. Kỹ thuật này
dựa trên các mô hình được đơn giản hóa, cho phép có được cái nhìn tương đối về
tương quan giữa các thông số và các chỉ tiêu chất lượng của hệ thống cần khảo sát và
do vậy chúng có ích trong các giai đoạn đầu của công việc thiết kế. Tuy nhiên, ngoại
trừ một số trường hợp tương đối lý tưởng hoặc được đơn giản hóa cao, việc đánh giá
chất lượng hệ thống thông tin phức tạp dùng các tính toán giải tích để đạt được độ
chính xác mong muốn là hết sức khó khăn.
- Các giải pháp dựa trên mô phỏng (simulation-based techniques), trong đó máy
tính được sử dụng để mô phỏng các dạng sóng hay các tín hiệu trong quá trình truyền
qua suốt hệ thống.
Kỹ thuật mô phỏng các hệ thống thông tin liên lạc là kỹ thuật dùng máy tính
với các sản phầm phần mềm thích hợp để tạo giả và bắt chước hệ thống ở mức dạng
sóng tín hiệu nhằm xem xét, phân tích, đánh giá phản ứng của nó.
3
Mô phỏng máy tính là công cụ hữu hiệu trong nghiên cứu, đánh giá cũng như
thiết kế hệ thống. Mặc dù các kết quả mô phỏng không thể hoàn toàn chính xác so với
các kết quả đo thử nghiệm trên thực tế (do các phép tính gần đúng, do tính gần đúng
của các mô hình sử dụng trong mô phỏng…), song như thực tế đã cho thấy, các kết
quả thu được bằng mô phỏng với các phần mềm tốt và được sử dụng đúng đắn thì hoàn
toàn có thể tin cậy được. Trong rất nhiều trường hợp các kết quả mô phỏng rất khớp
với các số liệu đo kiểm nghiệm. Các ưu điểm nổi bật của mô phỏng bằng máy tính là
nhanh chóng, kinh tế, hết sức mềm dẻo trong ứng dụng và trong rất nhiều trường hợp
nó cho phép giải cả những bài toán không có khả năng giải quyết bằng thực nghiệm
cũng như tính toán một cách giải tích.
Trong đó:
S.S (Symbol Source): Nguồn ký hiệu
Tx.F (Transmitter Filter): Bộ lọc phát
MOD (Modulator): Bộ điều chế
HPA (High Power Amplifier): Bộ khuếch đại công suất
CHAN (Channel): Kênh truyền
4
Rx.F (Receiver Filter): Bộ lọc thu
DEM (Demodulator): Bộ giải điều chế
n(t): Tạp âm nhiệt
Mục đích của việc đánh giá, thiết kế là:
Đánh giá chất lượng hệ thống thông qua tham số BER (Bit Error Ratio: Tỷ lệ
lỗi bit). Thông thường, BER là một hàm của tỷ số tín/tạp, cụ thể là một hàm
giả thiết là tạp âm trắng chuẩn) tính trên một bit, tức là BER = f(
Eb / N o ).
Khảo sát ảnh hưởng của các yếu tố khác nhau tới chất lượng của hệ thống.
Giải pháp giải tích là trên cơ sở mô hình hóa hệ thống bằng các công thức
toán học, tính toán BER dưới tác động của rất nhiều yếu tố như méo do lọc,
méo phi tuyến do khuếch đại công suất, méo do đường truyền, sai pha sóng
mang thu sai lệch tín hiệu đồng hồ,…, tức là tính toán BER = f(
Eb / N o ) méo
đường truyền, méo phi tuyến ( , ) trong đó , lần lượt là các sai
lệch pha sóng mang và sai lệch tín hiệu đồng hồ giữa phần thu với phần
phát.Do có phần tử phi tuyến (bộ khuếch đại công suất) phương pháp xếp
chồng không thể áp dụng được, hơn nữa do băng tần hạn chế nên trong tín
hiệu đầu ra tồn tại xuyên nhiễu giữa các dấu ISI (InterSymbol Interference),
…nên việc tính toán theo phương pháp giải tích trở nên quá phức tạp đến nỗi
có thể xem như không thể thực hiện nổi.
Đối với phương pháp mô phỏng, quá trình mô phỏng thực chất là tạo giả hệ
thống trên cơ sở mô hình hóa hệ thống bao gồm giả tín hiệu, mô hình hóa các khối
chức năng của hệ thống và các tác động khác nhau và cho tín hiệu chạy suốt qua hệ
thống và đánh giá BER theo một số cách thức khác nhau. Trên cơ sở đó đáp ứng các
mục đích đề ra đối với công tác thiết kế và đánh giá hệ thống. Như vậy, quá trình mô
phỏng bằng máy tính các hệ thống thông tin bao gồm:
+ Tạo giả tín hiệu ở dạng xử lý máy tính được (bằng cách tạo mẫu các tín hiệu
tới mức dạng sóng trong các miền tần số hay thời gian một cách thích hợp.
5
+ Mô hình hóa các khối của hệ thống theo các thuật toán học mô tả chức năng
của từng khối, liên kết các khối chức năng của hệ thống theo sơ đồ khối dùng để mô
phỏng.
+ Cho các mẫu tín hiệu dạng sóng chạy qua toàn hệ thống, tạo ra các mẫu tín
hiệu dạng sóng lối ra hệ thống.
+ Đánh giá BER theo một số phương pháp, chẳng hạn bằng cách so sánh chuỗi
ký hiệu nhận được ở lối ra so với chuỗi ký hiệu được tạo ra ở lối vào (phương pháp
Monte-Carlo).
1.2.2. Áp dụng mô phỏng trong thiết kế và đánh giá hệ thống thông tin
Trong thiết kế hệ thống, mô phỏng hệ thống được tiến hành như sau:
Lập sơ đồ hệ thống giả định (định thiết kế).
Mô hình hóa các thành phần của hệ thống với các thông số cơ bản.
Mô phỏng hệ thống với các thông số khác nhau nhằm tìm phương án thiết kế
tối ưu thỏa mãn các chỉ tiêu đã được đề ra đối với hệ thống cần thiết kế.
Đánh giá hệ thống trong quá trình phát triển: Để đảm bảo tính xác thực của mô
phỏng, kết quả mô phỏng cần phải được kiểm nghiệm bằng cách so sánh với kết quả
trên các hệ thống thực hiện có trong quá trình phát triển phần mềm mô phỏng. Với các
phần mềm mô phỏng đã được kiểm nghiệm, căn cứ vào các tham số thực của hệ thống
cần phát triển, hệ thống cần đánh giá được đưa vào mô phỏng nhằm có được các kết
luận về chất lượng hệ thống khi được phát triển.
1.2.3. Các ứng dụng khác của mô phỏng
Khi đã có hệ thống đang khai thác, việc mô phỏng hệ thống có thể giúp ích cho
việc phát hiện và loại bỏ hỏng hóc. Ngoài ra, mô phỏng máy tính còn có thể được sử
dụng như một công cụ hữu hiệu và rẻ tiền trong huấn luyện, giảng dạy, nghiên cứu,
cho phép giải thích, quan sát một cách sâu sắc và trực quan các khái niệm, các tính
chất của hệ thống thông tin. Trong đào tạo tại nhiều trường và trung tâm khoa học lớn
trên thế giới, mô phỏng máy tính các hệ thống thông tin đang trở thành công nghệ huấn
luyện thực hành mới, thay thế cho các công nghệ cứng nhắc, thiếu tính tổng quát và
tốn kém trước đây là thực hành trên hệ thống thực hay trên các mô hình đơn giản hóa.
6
1.3. Mức mô phỏng sử dụng
Mô phỏng được sử dụng rộng rãi trong nhiều giai đoạn của quá trình thiết kế và
triển khai hệ thống truyền thông hiện đại. Mô phỏng không những chủ yếu được sử
dụng để ước lượng hiệu năng và nghiên cứu dung hòa trong thiết kế (tối ưu tham số)
mà còn được dùng để thiết lập các thủ tục kiểm tra và kiểm chuẩn, các dự đoán tuổi
thọ cũng như nghiên cứu tính bất thường sau khi hệ thống được triển khai trong thực
tế. Cả phương pháp luận mô phỏng và mô hình mô phỏng đều được sử dụng để biểu
diễn hệ thống phụ thuộc vào các giai đoạn khác nhau của quá trình thiết kế, thực thi và
vòng đời của hệ thống. Phương pháp luận mô phỏng cũng sẽ được kiểm soát hoặc định
hướng bởi trình tự thiết kế tổng thể. Ta minh họa trình tự thiết kế và sử dụng mô phỏng
trong các giai đoạn thiết kế khác nhau và vòng đời của hệ thống truyền thông.
Theo nghĩa rộng, thuật ngữ hệ thống truyền thông có thể coi như một mạng lưới
truyền thông toàn cầu, truyền thông vệ tinh địa tĩnh, thông tin vi ba mặt đấthoặc một
modem tích hợp sẵn trong máy tính cá nhân. Mô hình phân cấp thường được sử dụng
để mô tả các hệ thống thông tin liên lạc được thể hiện trong hình dưới đây:
Cấp cao nhất là mạng truyền thông được tạo thành từ các nút truyền thông
thông qua liên kết truyền thông hoặc hệ thống truyền tải như các lớp bên dưới. Một
liên kết truyền thông được tạo thành từ các yếu tố như điều chế, mã hóa, lọc, khuếch
7
đại, giải mã, giải điều chế và các thành phần khác như thực hiện các hoạt động xử lý
tín hiệu. Những yếu tố này có thể là mạch tương tự, mạch kỹ thuật số hoặc một thuật
toán thực hiện trên một bộ xử lý tín hiệu số (DSP). Chi tiết của những yếu tố này đại
diện trong lớp dưới cùng của hệ thống phân cấp.
Quá trình thiết kế một hệ thống truyền thông phức tạp được thực hiện từ đỉnh
xuống, ngược lại thực thi phần cứng thường từ đáy lên. Theo đó, khi thiết kế hệ thống
ta bắt đầu tại mức hệ thống (mức trừu tượng cao nhất) và hoàn thiện chi tiết thiết kế từ
mức hệ thống, xuống mức hệ thống con và cuối cùng là mức thành phần. Sau đó đạt
tới mức đáy mà ở đó tính chi tiết của bộ phận thiết bị thành phần được nhận dạng. Vì
vậy, trình tự xây dựng một hệ thống gồm:
- Tạo ra các thành phần
- Hợp các thành phần thành hệ thống con
- Xây dựng hệ thống tổng thể từ các hệ thống con
- Triển khai mô phỏng theo giải pháp từ đỉnh xuống
Ta bắt đầu bằng việc mô phỏng mức hệ thống có mức trừu tượng cao tăng dần
tính chi tiết, các mô phỏng các hệ thống con và các thành phần. Do thực thi khởi đầu
nên các đặc tính đo của các thành phần và các phần hệ được chứa trong mô hình mô
phỏng
Dù ta đang giải quyết bài toán thiết kế chi tiết hay ước tính hiệu năng mức hệ
thống thì điểm bắt đầu luôn là sơ đồ khối chi tiết, trình bày phần hệ thống cần được mô
phỏng. Trình bày sơ đồ khối khởi đầu thường chi tiết hơn mức cần thiết. Tuy nhiên, là
thói quen và hữu hiệu vì tại điểm bắt đầu bao gồm mọi thứ mà ta có thể nghĩ về sơ đồ
khối toàn diện khởi đầu. Mô hình mô phong cuối cùng được tạo ra từ sơ đồ khối khởi
đầu được đơn giản hóa. Ứng dụng ba lớp kỹ thuật sau để tạo lập mô hình mô phỏng là:
Trình bày phân cấp; phân chia hóa và điều kiện hóa; đơn giản hóa (xấp xỉ, giả định)
Trình bày phân cấp: Phân cấp là giải pháp thường dùng để giảm tính phức tạp
trong mô hình hóa, thiết kế phần mềm và các ứng dụng khác. Trong viễn cảnh hệ
thống truyền thông, phân cấp được sử dụng để quản lý và giảm tính phức tạp của mô
hình mô phỏng, giảm tải tính toán trong quá trình mô phỏng mô hình. Trình bày phân
cấp được thực hiện trong các lớp khác nhau bắt đầu từ mô hình mức hệ thống và qua
8
các lớp phân hệ, lớp thành phần và lớp vật lý. Minh hoạ các lớp cho một hệ thống
truyền thông cụ thể được cho bởi hình 1.3.
Trong trình bày phân cấp hoặc lập mô hình hệ thống, các khối ở các lớp thấp
hơn trong phân cấp sẽ chi tiết hơn, ngược lại các khối tại các lớp cao hơn trừu tượng
hơn và thuộc về chức năng tổng thể của khối. Phân giải thành các lớp thấp hơn cho đến
khi không thể. Mức thấp nhất thường dựa trên các thành phần như điện trở, tụ điện và
vi mạch.
Trong toàn cảnh hệ thống truyền thông, mô hình mức hệ thống được cho ở hình
1.3(a) gồm các khối chức năng như nguồn thông tin, bộ mã hóa, bộ giải mã, bộ điều
chế, bộ giải điều chế, bộ lọc và kênh. Mỗi khối chức năng là một phân hệ và được
phân giải để được chi tiết hơn. Ví dụ phân hệ khôi phục định thời được phân tích
thành: hai bộ lọc thông dải, bộ phi tuyến bậc 4 và vòng khóa pha PLL như ở hình
1.3(b). Phân tính hơn nữa nhận được mô hình mức thành phần. Ví dụ, bộ lọc thông
băng được cho ở hình 1.3(b) có thể là bộ lọc tương tự, bộ lọc siêu cao hay bộ lọc số.
Trường hợp bộ lọc tương tự, có thể khai triển thành các mô hình mức mạch điện.
Trường hợp bộ lọc số, việc phân tích sẽ đi xuống mức bit như các bộ cộng, bộ nhân,
bộ tích lũy. Dưới lớp này chứa các transistor và các cổng logic cụ thể. Tuy nhiên, trong
viễn cảnh mô phỏng mức dạng sóng ta rất hiếm khi đi xuống mức chi tiết này. Mô hình
lớp thành phần cho PLL được minh hoa ở hình 1.3(c).
9
Hình 1.3. Minh họa quá trình mô hình hóa hệ thống
Tại mức hệ thống, mô phỏng được thực hiện ở mức trừu tượng cao nhất sử
dụng các mô hình tính cách (các hàm truyền đạt) chứ không phải là các mô hình vật lý.
Dạng chức năng của mô hình tính cách thường được giả định hoặc từ các phép đo.
Phân chia hóa và điều kiện hóa: Phân chia hóa bài toán phức tạp thành một
tập các bài toán nhưng độc lập nhau, được giải quyết riêng biệt và kết hợp các nghiệm,
là một kỹ thuật hữu hiệu khác làm giảm tính phức tạp và tải tính toán. Trong khi phân
cấp bàn về mức độ trừu tượng thì phân chia hóa cũng bàn về tính trừu tượng nhưng ở
các khia cạnh khác nhau của bài toán đó là: mô phỏng riêng biệt và kết hợp các kết
quả. Vì vậy, phân chia hóa, cho phép quan sát và kiểm tra sơ đồ khối theo chiều ngang
trong khi phân cấp cho phép xét theo chiều đứng. Trong viễn cảnh được cho ở hình 1.3
có thể tách biệt phần đồng bộ hóa, mã hóa ra khỏi bài toán và mô phỏng chúng riêng
biệt.
Điều kiện hóa là một kỹ thuật khác rất giống với phân chia hóa, đơn giản ta cố
định điều kiện hay trạng thái của một phần hệ thống và mô phỏng phần còn lại của hệ
10
thống dưới các giá trị khác nhau của các biến điều kiện hay trạng thái. Mô phỏng riêng
cho phần hệ thống được điều kiện hóa và các kết quả đạt được trong phần đầu được lấy
trung bình theo phân bố của biến điều kiện đạt được trong phần thứ hai.
Đơn giản hóa và xấp xỉ hóa: Tại điểm bắt đầu mô hình sơ đồ khối ban đầu
thường được chi tiết hóa tới mức có thể. Tính phức tạp của mô hình tổng thể và các mô
hình phân hệ được giảm bằng việc loại bỏ các khối ít ảnh hưởng lên bài toán, xấp xỉ
hóa và đơn giản hóa bằng cách kết hợp các khối.
Ví dụ về cách rút gọn sơ đồ khối, xét bài toán ước tính hiệu năng mức hệ thống.
Nếu coi kênh là kênh thay đổi rất chập theo thời gian và hệ thống đang hoạt động tại
SNR cao thì có thể cho rằng các lỗi đồng bộ sẽ rất nhỏ và vì vậy có thể bỏ qua ảnh
hưởng của đồng bộ trong quá trình ước tính hiệu năng. Khi này, không cần mô phỏng
các phần khôi phục định thời và có thể xóa bỏ ra khỏi sơ đồ khối.
Mở rộng việc dùng xấp xỉ hóa và giả định để đơn giản mô hình mô phỏng. Giả
định và xấp xỉ hóa được sử dụng phổ biến nhất bao gồm việc tuyến tính hóa và bất
biến hóa theo thời gian. Hầu hết các hệ thống thực tế, khi được quan trắc trong thời
gian dài và trên dải tín hiệu đầu vào thay đổi độ rộng, có thể biểu lộ tính phi tuyến và
thay đổi theo thời gian nhưng chúng có thể được xấp xỉ tốt bởi các mô hình tuyến tính
và bất biến theo thời gian trong các khoảng thời gian ngắn và các mức tín hiệu thấp.
Bất biến theo thời gian ngụ ý rằng trong khoảng thời gian mô phỏng, các đặc
tính của tín hiệu và các thành phần hệ thống đang được mô phỏng là không thay đổi.
Thực tế, khái niệm bất biến theo thời gian là tương đối. Nếu tham số hệ thống thay đổi
chậm thì có thể coi một số tình huống là cố định trong khoảng thời gian mô phỏng.
Chẳng hạn, xét bài toán ước lượng tính BER trên kênh vô tuyến trong đó các ăng ten
phát và thu là dừng. Nếu nhưng thay đổi trong đặc tính kênh là do thay đổi điều kiện
khí quyển, tốc độ ký hiệu truyền dẫn là vài triệu ký hiệu trên giây thì có thể coi kênh là
tựa tĩnh. Điều đó nói rằng kênh vẫn duy trì cùng một số điều kiện trong vài trăm triệu
ký hiệu đi qua nó và đặc biệt có ý nghĩa khi xác định xác suất lỗi tức thời trong điều
3
kiện kênh cho trước. Nếu BER được ước tính là khoảng 10 thì chỉ cần mô phỏng vài
nghìn ký hiệu để ước tính BER. Điều này thể hiện khoảng thời gian mô phỏng là vài
ms trong khi hằng số thời gian của kênh là khoảng vài phút vì vậy nó là hợp lý để coi
11
kênh là tĩnh trong khoảng thời gian mô phỏng. Việc lấy xấp xỉ tựa tĩnh có vai trò rất
quan trọng để đơn giản hóa các mô hình mô phỏng.
Hiển nhiên, kiến thức lý thuyết truyền thông là rất quan trọng. Cấu trúc hệ
thống, đặc tính hoạt động của các phân hệ (bộ giải điều chế, bộ cân bằng, chi tiết hóa
các mô hình kênh…) phải được hiểu rõ trước khi triển khai mô phỏng. Khi sử dụng mô
phỏng để xác định các giá trị của tham số hệ thống, cần phải lưu ý đến dải giá trị của
nó có ý nghĩa thực tế trước khi triển khai mô phỏng. Cần phải có những hiểu biết sâu
sắc về tính cách hệ thống để đảm bảo hoạt động mô phỏng chính xác và kết quả hợp
lý.
Hình 1.4. Các lĩnh vực ảnh hưởng lên nghiên cứu mô phỏng các hệ thống truyền thông
Trong nhiều thập kỷ qua nhiều gói phần mềm đã được triển khai và đang được
sử dụng rộng rãi để mô phỏng các hệ thống truyền thông ở mức dạng sóng. Các thành
phần cốt yếu của cấu trúc khung mô phỏng cho các hệ thống truyền thông gồm:
- Bộ xây dựng mô hình
- Thư viện mô hình
- Nhân mô phỏng
- Bộ hậu xử lý
Bất kể dùng gói mô phỏng nào, bước đầu tiên trong mô phỏng hệ thống truyền
thông là xây dựng các mô hình mô phỏng cho các phân hệ khác nhau, sau đó cấu hình
hóa các phân hệ thành một mô phỏng hệ thống đầu cuối - đầu cuối. Các mô hình mô
12
phỏng có thể được xây dựng bằng ngôn ngữ lập trình mục đích chung và viết mã thích
hợp hoặc sử dụng bộ xây dựng mô hình đồ họa. Với bộ xây dựng đồ họa, triển khai các
mô hình mô phỏng cho các phân hệ và cho toàn hệ thống truyền thông các khối cơ bản
có sẵn từ các thư viện mô hình. Các biểu tượng biểu diễn các khối chức năng như các
nguồn tin, bộ mã hóa, bộ điều chế, bộ ghép/phân kênh, các mô hình kênh, tạp âm và
nguồn nhiễu, bộ lọc, bộ giải điều chế, bộ giải mã được chọn từ các thư viện mô hình.
Kết nối các biểu tượng này sẽ tạo mô hình mô phỏng ở dạng sơ đồ khối phân cấp. Điển
hình như Simulink trong Matlab là gói mô phỏng đơn giản sử dụng giải pháp bộ xây
dựng mô hình đồ họa.
Sau khi mô hình mô phỏng được triển khai thì các tham số mô phỏng (như tốc
độ lấy mẫu, các con số gốc của bộ tạo số ngẫu nhiên và thời gian mô phỏng) và các
tham số thiết kế (như độ rộng băng tần bộ lọc, tỷ lệ mã, SNR) phải được định rõ. Sau
đó thực hiện mô phỏng. Liên kết tất cả các mô hình với nhau sẽ tạo mã khả thi (có khả
năng thực hiện mô phỏng), bắt đầu mô phỏng, lưu các giá trị mẫu của các dạng sóng
được tạo bởi mô phỏng và giám sát tiến trình mô phỏng là các hàm thường được thực
hiện bởi nhân mô phỏng/bộ quản lý.
Sau khi hoàn tất mô phỏng, tính các phép đo hiệu năng như BER, SNR từ các
dạng sóng mô phỏng, sử dụng các bộ hậu xử lý để trực quan hóa kết quả mô phỏng là
hàm của các tham số thiết kế. Cho phép khảo sát phổ, dạng sóng, biểu đồ tán xạ, biểu
đồ mắt theo các tham số đặc trưng của mô hình mô phỏng một cách chi tiết, trực quan
và gỡ rối mô phỏng.
Trường hợp đơn giản nhất là mô phỏng điều khiển thời gian, khi này có một
đồng hồ mô phỏng và mỗi khối chức năng trong mô hình mô phỏng được thực hiện tại
mỗi « tick » của đồng hồ mô phỏng. Sau đó đồng hồ mô phỏng được nhịp lên một chu
kỳ lấy mẫu (chu kỳ đồng hồ bằng chu kỳ lấy mẫu). Tất cả các khối chức năng trong
mô hình được kích hoạt tại mỗi chu kỳ đồng hồ vì vậy mỗi mô hình có thể cập nhật
trạng thái ứng với giá trị mới của đồng hồ mô phỏng.
Trường hợp mô phỏng điều khiển sự kiện, đặt trước đồng hồ một lượng nào đó
cho thời gian biểu của sự kiện tiếp theo và mỗi khối chức năng cập nhật trạng thái ứng
với giá trị của thời điểm mô phỏng mới. Một cách điển hình, chỉ vài khối cần được
13
kích hoạt để cập nhật trạng thái riêng và không cần xử lý trong khoảng thời gian liên
kết sự kiện. Mô phỏng các hệ thống hàng đợi thường được triển khai theo cách này.
Mục đích cơ bản của hệ thống truyền thông là xử lý dạng sóng và ký hiệu, vì
vậy mô phỏng hệ thống truyền thông là tìm cách phỏng tạo quá trình này bằng cách tạo
và xử lý các giá trị mẫu của những dạng sóng này. Theo đó cần phải:
- Mô hình hóa các hoạt động xử lý tín hiệu (được thực hiện bởi các khối chức
năng trong hệ thống).
- Tạo các dạng sóng đầu vào để thâm nhập vào các điểm khác nhau của hệ
thống.
- Điểu khiển các mô hình bằng các dạng sóng đầu vào phù hợp để tạo các dạng
sóng đầu ra (là đầu vào của khối chức năng khác).
- Phân tích những dạng sóng này để tối ưu các tham số thiết kế, hoặc để đạt
được các phép đo hiệu năng.
Các bước tiến hành mô phỏng:
Bước thứ nhất, là mô hình và xác định tham số. Giải pháp tổng thể để mô phỏng
mức dạng sóng hệ thống truyền thông khá dễ hiểu. Ta bắt đầu bằng việc mô tả phân
chia hệ thống để mô phỏng hệ thống ở dạng sơ đồ khối, trong đó mỗi khối chức năng
thực hiện một hoạt động xử lý tín hiệu cụ thể. Mô hình mô phỏng cho mỗi khối chức
năng được chọn từ thư viện các mô hình khả dụng và tạo mô hình sơ đồ khối bằng
cách kết nối tập các khối được chọn. Trước khi thực hiện mô phỏng, cần phải xác định
rõ các giá trị cụ thể hoặc khoảng các giá trị được phép cho các tham số của mỗi khối
(chẳng hạn như băng thông của bộ lọc). Đơn giản hóa sơ đồ khối đến mức có thể và
chia nhỏ nếu cần thiết. Việc ánh xạ bài toán thiết kế hoặc ước tính hiệu năng thành mô
hình mô phỏng là một trong những bước khó nhất trong phương pháp luận. Thời gian
mô phỏng và độ chính xác của kết quả mô phỏng phụ thuộc vào cách thực hiện điều
này.
Bước thứ hai, là thực hiện mô phỏng. Thực hiện mô phỏng bao gồm tạo các giá
trị mẫu của tất cả dạng sóng đầu vào hoặc tác nhân kích thích điều khiển mô hình mô
phỏng. Các tín hiệu, tạp âm, nhiễu được biểu diễn bởi các quá trình ngẫu nhiên và sử
dụng các bộ tạo số ngẫu nhiên để tạp các giá trị mẫu của các quá trình ngẫu nhiên.
14
Trong mô phỏng, các đầu ra của các bộ tạo số ngẫy nhiên được đưa vào các khối để:
Điều khiển mô hình mô phỏng ; tạo các giá trị mẫu tạo các đầu ra của các khối chức
năng. Một số đầu ra được ghi lại và được phân tích trong khi đang thực hiện mô phỏng
hoặc tại thời điểm kết thúc mô phỏng, ước tính các phép đo hiệu năng như: Tỉ số tín
hiệu trên tạp âm (SNR), sai số trung bình bình phương (MSE), xác suất lỗi.
Bước cuối cùng, là xác định tính hợp lệ. Cũng là bước rất quan trọng trong mô
phỏng, ta xác định tính hợp lý của các kết quả mô phỏng bằng cách dùng các xấp xỉ
giải tích, các giới hạn hoặc các kết quả đo khả dụng. Các kết quả đo cụ thể chỉ khả
dụng đối với thời điểm kết thúc chu kỳ thiết kế sau khi nguyên mẫu được xây dựng.
Thậm chí, khi hệ thống nguyên mẫu là khả dụng nhưng chỉ thực hiện hữu hạn các phép
đo. Bản chất tốn kém của đo kiểm là nhân tố chính dẫn đến thực hiện mô phỏng.
15
một mẫu nằm trong vùng diện tích sẽ được xác định). Vì bộ ước tính vùng không biết
đó không chệch, nên các điểm mẫu ngẫu nhiên được phân bố đều trong vùng lấy giới
hạn của diện tích đã cho. Điều này được thực hiện một cách dễ dàng bằng chương
trình máy tính với hai bộ tạo số ngẫu nhiên đều. Kết quả của việc tạo N =500 điểm lấy
mẫu phân bố đều được minh họa ở hình dưới đây. Mã chương trình Matlab dưới đâu
thực hiện cho vấn đề này :
X=rand(1,500) ;
Y=rand(1,500) ;
Plot(x,y,’k+’) ;
Asis square
Hình 1.5. Minh họa các điểm ngẫu nhiên phân bố đều
Bước tiếp theo là định nghĩa sự kiện A. Ta mong muốn ước tính diện tích hình
sao bôi đen được minh họa như hình dưới đây :
16
Hình 1.6. Ước tính Monte Carlo của diện tích
vùng hình sao. Vì các điểm mẫu được phân bố đều trong hộp bao, nên tỉ số giữa diện
trong diện tích hình sao và số điểm mẫu nằm trong diện tích hộp bao
Ns / Nh .
Ns
As Ah
Ta có Nh
Với điều kiện các điểm mẫu được phân bố đều, phép xấp xỉ sẽ chính xác hơn
khi số điểm mẫu được tăng lên.
Để minh họa các mặt của phương pháp luận cho mô phỏng Monte Carlo và ước
tính hiệu năng, ta xét bài toán ước tính xác suất lỗi trong các hệ thống truyền thông số.
Mô hình mô phỏng được cho ở hình sau :
17
Nguồn dữ
Bộ điều chế QPSK Bộ lọc phát
liệu
Tạp âm Gausse
trắng
Trễ
Kênh AWGN
18
Tổng quát, ước tính Monte Carlo không bị lệch. Khi các giá trị của N nhỏ dẫn
đến các ước tính lỗi có phương sai lớn (khi phương sai của ước tính lớn thì ước tính
kém chính xác), và khi các giá trị của N là lớn cho ta các ước tính lỗi có phương sai
P P
nhỏ. Ước tính E hội tụ về E (giá trị đúng của xác suất) khi N , vì vậy thực tế
thường dùng N lớn nhất có thể (cần sự dung hòa các tham số đối nghịch: thời gian mô
phỏng và tính chính xác của kết quả mô phỏng).
*Mô phỏng Monte-Carlo: Thực hiện tính toán dựa vào việc lấy mẫu ngẫu nhiên
lặp lại để đánh giả tỉ số lỗi ký hiệu (symbol error rate) mà hệ thống có thể thực hiện
được.
Ý tưởng:
- Mô phỏng hệ thống lặp lại
- Mỗi lần chạy mô phỏng, đếm số lượng ký hiệu được phát đi và số lượng
lỗi ký hiệu.
- Ước tính tốc độ lỗi ký hiệu như là tỉ lệ giữa tổng số lỗi quan sát được
trên tổng số ký hiệu phát đi.
Khoảng tin cậy: Mong muốn |P
^ e−Pe| là nhỏ, trong đó Pe là ước tính lỗi bằng
pˆ p sc
mô phỏng, ^P e là tốc độ lỗi thực.Cụ thể,đảm bảo xácsuất pcđể e e là cao (ví dụ:
pc = 95%).
Trong đó scđược gọi là khoảng tin cậy,nó phụ thuộc vào độ tin cậy pc,xác suất
lỗi Pe và số lượng ký hiệu phát. Nó được chứng minh rằng:
pe (1 pe )
sc zc (1.3)
N
Trong đó zc phụ thuộc vào độ tin cậy pc .
Cụ thể,Q(zc)=(1- pc )/2.Vídụ:pc=95%,zc=1,96.
Đối với mô phỏng Monte-Carlo, tiêu chuẩn dừng có thể được xác định từ: Độ
tin cậy pcmong muốn(hayzc), khoảng tin cậy sccó thể chấp nhận được, tốc độ lỗiPe
19
2
z
N pe . 1 pe c (1.4)
sc
Mô phỏng Monte-Carlo dừng sau khi thực hiện mô phỏng truyền dẫn được N
ký hiệu.
-3 -4
Ví dụ:Vớipc=95%,Pe=10 ,vàsc=10 N400000.
Khi mô phỏng các hệ thống truyền thông, tốc độ lỗi thường rất nhỏ đáng
mong muốn để xác định khoảng tin cậy là một phần nhỏ của tốc độ lỗi.
Khoảng tin cậy có dạng sc=c.Pe(ví dụ:c=0,1cho 10%sai sốước tính có thể
lượng lỗi đạt đến (zc/c)2.Theo kinh nghiệm: Chạy mô phỏng cho đến khi khoảng 400
20
các khối chức năng, xây dựng quan hệ hàm biến cho các khối chức năng, đánh giá khối
chức năng theo các tiêu chí đặc thù (các thông số tối ưu hóa, các tiêu chuẩn đánh giá),
mô phỏng khối chức năng trong nhiều miền tín hiệu (miền tần số, miền thời gian, miền
Z…) thông qua các biểu đồ, đồ thị…Tiếp theo là công đoạn thiết kế các mạch điện cụ
thể cho các khối chức năng, trong công đoạn này tính liên kết của Matlab được thể
hiện cực mạnh ở đây. Matlab cho phép liên kết với các chương trình thiết kế mạch điện
chuyên dụng như CiruitMaker…Cuối cùng sản xuất thiết bị viễn thông trong dây
chuyền sản xuất, các thiết bị được đánh giá thông qua tín hiệu phản hồi trở về
MATLAB cứ như thế cho đến khi đạt được chất lượng mong muốn. MATLAB có ưu
việt nổi trội là khả năng mô phỏng hệ thống động, cho phép thể hiện tín hiệu và hệ
thống trong nhiều miền xét (miền thời gian, miền tần số, miền Z…). Hơn nữa, tính cô
đọng (nhiều thuật toán phức tạp được trình bày bằng rất ít dòng lệnh của mã), sự hỗ trợ
của đồ họa, tính modul…
1.5.2. Simulink
Simulink là một phần mềm mở rộng của MATLAB (một toolbox của
MATLAB) dùng để mô hình hóa, mô phỏng và phân tích một hệ thống động. Thông
thường dùng để thiết kế hệ thống điều khiển, thiết kế DSP (Digital Signal Processing -
xử lý tín hiệu số), hệ thống thông tin và các ứng dụng mô phỏng khác.
Simulink là thuật ngữ mô phỏng dễ nhớ được ghép bởi hai từ Simulation và
Link. Simulink cho phép mô tả hệ thống tuyến tính, hệ phi tuyến, các mô hình trong
miền thời gian liên tục, hay gián đoạn hoặc một hệ gồm cả liên tục và gián đoạn.
Để mô hình hóa, Simulink cung cấp một giao diện đồ họa để sử dụng và xây
dựng mô hình sử dụng thao tác “nhấn và kéo thả”. Với giao diện đồ họa ta có thể xây
dựng mô hình và khảo sát mô hình một cách trực quan hơn. Đây là sự khác xa phần
mềm trước đó mà người sử dụng phải đưa vào các phương trình vi phân và các phương
trình sai phân bằng một ngôn ngữ lập trình.
Điểm nhấn mạnh quan trọng trong việc mô phỏng một quá trình là việc thành
lập được mô hình. Để sử dụng tốt chương trình này, người sử dụng phải có kiến thức
cơ bản về điều khiển, xây dựng mô hình toán học theo quan điểm của lý thuyết điều
khiển và từ đó thành lập nên mô hình của bài toán.
21
Khởi tạo SIMULINK
Để vào Simulink trong Matlab, có hai cách như sau:
- Cách 1: Từ cửa sổ lệnh của Matlab đánh dòng lệnh: >>simulink
22
Hình 1.10. Cửa sổ thư viện simulink
Khối thư viện simulink bao gồm các thư viện con Sources (các khối nguồn tín
hiệu). Sinks (các khối xuất tín hiệu), Math (các khối ghép nối toán học) và Signals &
Systems (các khối tín hiệu và hệ con), các nhóm Continous (các khối liên tục),
Nonlinear (các khối phi tuyến) và Functions &Tables, các khối thuộc nhóm Discrete
(các khối gián đoạn).
Thư viện simulink bao gồm các khối chuẩn trên, người sử dụng cũng có thể
thay đổi hay tạo ra các khối cho riêng mình. Simulink cũng giống như các phần mềm
mô phỏng thiết kế mạch điện tử như MicroSim Eval, EWB, Circuit Maker…
Xây dựng mô hình mô phỏng
Tạo một mô hình mới: Có hai cách tạo một mô hình mới như sau:
- Cách 1: Click vào icon New model hoặc gõ Ctrl-N
23
- Cách 2: Click vào menu file New Model
Cửa sổ xây dựng mô hình sẽ xuất hiện:
Lưu trữ mô hình bằng cách click vào menu file/ Save hoặc file/Save As trong
cửa sổ mô phỏng) hoặc nhấp vào icon Save. Một file Simulink sẽ có đuôi .mdl.
24
Hình 1.14. Lưu trữ mô hình
Di chuyển các khối: Đơn giản bằng cách nhấp chuột vào khối đó và kéo thả.
25
Mô phỏng mô hình: Dùng lệnh Start (Menu Simulation Start) hoặc nhấp
chuột vào icon Start.
26
Hình 1.19. Đặt thông số mô phỏng
27
CHƯƠNG II
28
- Mã hóa nguồn (source encoding): Nhằm giảm bớt số ký tự trung bình yêu
cầu để truyền bản tin. Điển hình của loại mã này là mã Huffman.
- Mật mã hóa (encryption): Để mã hóa bản tin bằng một khóa mật mã nhằm
tránh sự thâm nhập trái phép, đảm bảo độ an toàn cho bản tin.
- Mã hóa kênh truyền (channel encoding): Đảm bảo cho thông tin chống lại
các tác động kênh truyền, có khả năng phát hiện, sửa lỗi.
29
Ta thấy hàm loga thỏa mãn tất cả các yêu cầu này. Vậy hàm log(1/p(i)) được
chọn để đánh giá định lượng cho tin. Lượng tin của một tin i được ký hiệu là I(i). Định
nghĩa lượng tin của một tin i là:
1 (2.4)
I (i ) log
log p(i )
p (i )
Đơn vị đo của lượng tin tùy thuộc vào cơ số của loga. Đơn vị của lượng tin là
bit, nat hay hartley khi cơ số của loga lần lượt là 1, e hay 10. Trong đó cơ số 2 thường
được chọn hơn cả. Khi chọn cơ số 2 thì lượng tin của i là:
1 (2.5)
I (i ) log 2 log 2 p(i)
p(i ) (bit)
Vậy có thể định nghĩa bit như sau: bit là lượng tin mang trong một ký tự có xác
suất xuất hiện là p=0.5.
Entropy của nguồn tin
Entropy H được định nghĩa là giá trị trung bình thống kê của lượng tin. Đó là
lượng tin trung bình chứa trong một ký tự bất kỳ của nguồn tin.
Xét một nguồn tin sinh ra M ký tự độc lập thống kê. Nguồn tin này được gọi là
nguồn rời rạc không nhớ. Entropy của nguồn này là:
M
1 (2.6)
H p(m) log 2
m 1 p ( m) (bit/ký tự)
M
(2.7)
H p(m) log 2 p(m)
m 1 (bit/ký tự)
Trong đó p(m) là xác suất chọn ký tự thứ m.
khi các ký tự độc lập và đồng xác suất, nghĩa là: p(m)=1/M, m 1, m
Đối với nguồn tin ASCII có M=128 thì entropy cực đại là:
H max log 2 (1/128) 7 (bit/ký tự)
Thực tế thì điều này khó xảy ra nên entropy của nguồn ASCII là:
128
1 (2.8)
H p (m) log 2 7
m 1 p ( m)
(bit/ký tự)
Đối với nguồn tin nhị phân có M=2, nếu p(1)=1 và p(0)=1-p thì entropy là:
30
2
1 1 1 (2.9)
H p(m) log 2 p log 2 (1 p ) log 2
m 1 p ( m) p 1 p (bit/ký tự)
Entropy có điều kiện và độ dư
Đối với các nguồn tin trong đó việc sinh ra ký tự sau không độc lập thống kê
với các ký tự trước đó (nguồn có nhớ) thì công thức entropy trên không đủ tổng quát
để tính được entropy chính xác. Trong trường hợp này phải xét đến xác suất có điều
kiện. Ví dụ với nguồn có nhớ một ký tự, nghĩa là ký tự sau được chọn phụ thuộc vào
một ký tự trước đó, entropy được tính như sau:
1
H p ( j , i ) log 2 (2.10)
i j p( j | i ) (bit/ký tự)
Ở đây p(j,i) là xác suất nguồn chọn i và j, p(j|i) là xác suất nguồn chọn j nếu
trước đó đã chọn i. Theo định lý Bayes, ta có:
P(j,i)=p(i)p(j|i) (2.11)
Vậy:
1
H p (i ) p ( j | i ) log 2 (2.12)
i j p( j | i)
(bit/ký tự)
Sự khác nhau giữa entropy thực sự của nguồn và entropy cực đại gọi là độ dư
của nguồn. Ký hiệu là r:
1
r H max H log 2 M p(i) p ( j | i ) log 2 (2.13)
i j p( j | i ) (bit/ký tự)
Độ dư tương đối của nguồn được định nghĩa như sau:
H max H H
r*
1 (2.14)
H max H max
Sự mất mát tin do nhiễu
1
ITX (iTX ) log 2 (2.15)
p(iTX ) (bit)
Đối với kênh không nhiễu (noiseless channel), giả sử điện áp
VRX tương ứng
với ký tự phát là
iTX , khi bên nhận tin tách được VRX thì có thể biết chắc chắn ký tự
31
phát ở nguồn là
iTX . Lượng tin trong trường hợp này được bảo toàn khi truyền qua
kênh:
1
I RX (VRX : iTX ) ITX (iTX ) log (2.16)
(bit) p (iTX )
Tuy nhiên, đối với kênh có nhiễu (noise channel) khi bên nhận tin tách được
điện áp
VRX thì không thể kết luận chắc chắn về ký tự thực phát ở nguồn. Sự không
với kênh có nhiễu, tin nhận dược ít hơn tin truyền đi một lượng liên quan đến độ không
chắc chắn của quyết định. Thực tế, lượng tin nhận được là:
p (iTX | VRX )
I RX (VRX : iTX ) log (2.17)
p (iTX ) (bit)
Giả sử bên nhận tin thực hiện quyết định cứng, điện áp
VRX chuyển đổi trực tiếp
thành ký tự nhận là
iRX . Trong trường hợp này, lượng tin nhận được là:
p(iTX | iRX )
I RX (iRX ) log (2.18)
(bit)p (iTX )
Sự suy giảm lượng tin trong mỗi ký tự do nhiễu có nghĩa là entropy nhận nhỏ
hơn entropy phát. Entropy nhận chính là entropy hiệu quả (effective entropy) của các
H eff
ký tự nhận. Ký hiệu entropy hiệu quả là và được tính như sau:
32
1 1
E p (iTX , jTX ) log 2 p ( jRX ) p (iTX | jRX ) log 2 (2.21)
i j p (iTX | jRX ) j i p (iTX | jRX )
Ở đây
p( jRX ) là xác suất nhận ký tự thứ j, p(iTX | jRX ) liên quan đến xác suất lỗi
ký tự.
Tốc độ lập tin của nguồn tin
Ngoài thông số cơ bản của nguồn là entropy tuỳ thuộc vào cấu trúc thống
kê của nguồn, còn có một thông số khác tuỳ thuộc vào tính chất vật lý của
nguồn. Đó là tốc độ thiết lập tin (information rate)của nguồn, ký hiệu là R. Thông số
này chỉ ra sự hình thành tin nhanh hay chậm để đưa vào kênh. Ví dụ con người,
do kết cấu của cơ quan phát âm nên mỗi giây chỉ phát âm được từ 5 đến 7 tiếng,
trong khi một thiết bị đầu cuối số liệu có thể đạt đến hàng ngàn ký hiệu trong
một giây.
Tốc độ thiết lập tin của nguồn có đơn vị là lượng tin trên đơn vị thời gian
(trường hợp dùng loga cơ số 2 thì đơn vị là bit/s) và được tính là tích của
entropy với số ký hiệu lập được trong một đơn vị thời gian:
R n0 H (bit/s) (2.22)
Trong đó
n0 là số ký hiệu lập được trong một đơn vị thời gian, tuỳ thuộc
33
C Rmax n0 H max
(bit/s) (2.23)
Theo Shannon, nếu R<C thì có thể mã hóa để làm cho tốc độ lập tin của nguồn
tiếp cận với thông lượng kênh:
C R , là vô cùng bé
- Đối với kênh có nhiễu: Lượng tin truyền đi bị hao hụt một phần do nhiễu nên
thông lượng kênh bị giảm đi. Lượng giảm đi đó chính là lượng tin bị nhiễu phá hủy
2.3. Mã hóa
x1, x2 ,....., xi ,....xN
Cho nguồn tin rời rạc X sinh ra N tin hay ký tự độc lập ( ). Xét
m1 , m2 ,....mq
một tập M có q phần tử hữu hạn ( ).
Mã hóa (encoding) nguồn tin X bằng tập M có nghĩa là biến đổi mỗi tin
xi của
nguồn tin thành một tập các phần tử thuộc M thỏa mã một yêu cầu nào đó của hệ thống
thông tin:
xi
mi1mi 2 ...mil
Phép biến đổi ngược lại:
mi1mi 2 ...mil
xi
Được gọi là giải mã (decoding)
Thông thường, số tin của nguồn tin rất lớn nên số ký hiệu mã không thể bằng
hoặc nhiều hơn số tin.
34
Các tham số cơ bản của mã hóa
Gọi
C1 và C2 là hai từ mã dài bằng nhau. Khoảng cách mã giữa hai từ mã này
là:
d (C1 , C2 ) w(C1 C2 ) (2.26)
Phân loại mã: Ta có thể phân loại mã theo nhiều cách khác nhau:
- Dựa vào độ dài của từ mã: mã có độ dài không đổi (mã đều) và mã có độ dài
thay đổi (mã không đều).
Tổng độ dài trung bình của từ mã:
M
l p (m)lm (2.27)
m 1
35
-Dựa vào độ tin cậy, ta phân ra mã có khả năng phát hiện và sửa lỗi và mã
không có khả năng phát hiện và sửa lỗi.
-Dựa vào hiệu suất thông tin, ta phân ra mã tối ưu và mã chưa tối ưu.
Các phương pháp biểu diễn mã
Phương pháp liệt kê: Đây là cách trình bầy đơn giản nhất, phương pháp này
thực hiện liệt kê trong một bảng những tin của nguồn và chỉ rõ các từ mã tương ứng.
Ví dụ: Nguồn tin A={a1,a2,a3,a4,a5}, các lớp tin của nó được mã hóa như bảng
sau:
Tin a1 a2 a3 a4 a5
Từ mã 00 01 100 1010 1001
Bảng 2.1. Bảng mã các tin trong nguồn tin A
Cách biểu diễn này tuy rõ ràng nhưng không thích hợp cho trường hợp bộ mã
lớn và cồng kềnh.
Phương pháp mặt phẳng tọa độ của mã: Phương pháp này chỉ thích hợp cho
các loại mã có trọng số. Dựa trên hai thông số là độ dài n và trọng số b của từ mã để
lập nên một mặt phẳng tọa độ. Mỗi từ mã được biểu diễn bằng một điểm trên mặt
phẳng tọa độ (n,b).
Nếu từ mã v = (v0,v1,……vn) được mã hóa bởi một bộ mã M có cơ số là m: v i∈
M với i = 1, 2,….n. Trong đó quy ước vị trí đầu tiên bên trái ứng với kí hiệu v 1 là vi trí
có trọng số nhỏ nhất: m0, vị trí thứ i tính từ trái sang phải ứng với kí hiệu v i có trọng số
là mi-1, vị trí cuối cùng (thứ n) tương ứng với v n có trọng số là mn-1. Khi đó, trọng số b
của từ mã là tổng trọng số các ký hiệu trong từ mã được tính theo công thức sau:
n
v m
i 1
i
i 1
(2.28)
Trong đó:
Ví dụ:
Trọng số của từ mã 1011 bằng: b=1x20+0x21+1x22+1x23=13.
Như vậy mỗi từ mã được biểu diễn bằng một điểm duy nhất có tọa độ là (n,b).
36
Định lý:
Không có hai từ mã của cùng bộ mã nào đồng thời thỏa mãn: n i= nj, bi=bj (i≠j),
nghĩa là không thể có hai từ mã có thể cùng biểu diễn bởi cùng một điểm trong mặt
phẳng tọa độ (n,b).
Ví dụ: Bộ mã 00, 01, 100, 1010, 1011 tương tự ví dụ trên sẽ được biểu diễn như
sau:
37
Hình 2.2. Cây mã nhị phân cho bộ mã 00, 01, 10, 1101, 11001
Phương pháp đồ hình kết cấu: Gồm những nút và những nhánh có hướng. Đây
là một cách biểu diễn cây mã rút gọn. Mỗi từ mã được biểu diễn bằng một vòng kín
xuất phát từ nút gốc theo các nhánh có hướng (chiều dài mũi tên) qua các nút trung
gian và trở về kết thúc tại nút gốc. Thứ tự giá trị ký hiệu lấy theo thứ tự giá trị các
nhánh trên đường đi.
Gốc 1
0 0v1
2
1
0
0
3
0v1
Hình 2.3. Đồ hình kết cấu của bộ mã 00, 01, 100, 1010, 1011
Trị các nhánh được ghi ở đầu xuất phát của nhánh. Dấu v biểu diễn toán tử hoặc
(OR), các nút được đánh số theo thứ tự xa dần nút gốc (số ghi trong vòng tròn của
nút). Đồ hình kết cấu không những chỉ dùng mô tả mã mà còn được dùng để xem xét
cách vận hành thiết bị mã hóa và giải mã.
Phương pháp hàm cấu trúc mã: Phương pháp này mô tả rõ ràng một đặc tính
quan trọng của mã là sự phân bố các từ mã có độ dài khác nhau, ký hiệu là G(n i).
Ví dụ:
Bộ mã 00,01,100,1010,1011 có G(n) dưới dạng sau:
38
2,∧ni=0
{
G(ni)¿ 1,∧ni=3
2 , ni=4
Từ hàm cấu trúc có thể phân biệt được mã đều hoặc không đều.
Phương pháp dùng ma trận sinh: Phương pháp này là mô hình toán để biểu
diễn mã tuyến tính. Đây là công cụ toán học được dùng để tạo mã tuyến tính.
Phương pháp dùng đa thức sinh: Phương pháp này dùng làm mô hình toán để
biểu diễn mã đa thức (mã vòng). Nhờ công cụ toán này có thể dễ dàng tạo mã và giải
mã đối với mã vòng.
I(0)=I(1)=
log 2 2 =1 (bit/ký hiệu) (2.29)
39
Mã hóa ký tự
xi bằng một từ mã dài li . Như vậy lượng tin chứa trong từ mã này
l
sẽ là i (bit). Lượng tin trung bình chứa trong một từ mã sẽ là độ dài trung bình của từ
mã, là L (bit).
Để cho phép mã hóa đạt hiệu quả cao, toàn bộ lượng tin riêng trong mỗi ký tự
nguồn phải được chuyển hết sang cho từ mã tương ứng, hay lượng tin trung bình của
từ mã phải lớn hơn hoặc bằng lượng tin trung bình của ký tự nguồn. Lượng tin trung
bình của một ký tự nguồn chính là entropy của nguồn H. Vậy:
LH (2.30)
Đây là giới hạn dưới của độ dài trung bình của từ mã. Dấu bằng chỉ xảy ra khi
độ dài của một từ mã bất kỳ bằng với lượng tin riêng của ký tự mà nó mã hóa:
li log p( xi ) (2.31)
l
Vì i là số nguyên nên
log p( xi ) phải là số nguyên. Khi đó dộ dài trung bình
log p( xi ) không phải là số nguyên nên L H chỉ là một điều kiện giới hạn.
40
H H
x100% M
x100%
L (2.34)
p ( m )l m
m 1 (bit/từ mã nhị phân)
Ở đây
lm là độ dài của mỗi từ mã nhị phân và L là độ dài từ mã trung bình.
2.5. Mã Huffman
Nhận thấy xác suất xuất hiện của các ký tự trong nguồn tin là không bằng nhau,
có những ký tự xuất hiện thường xuyên hơn những ký tự khác, năm 1952, Huffman đã
đưa ra một thuật toán mã hóa dựa trên xác suất xuất hiện các ký tự. Thuật toán này tối
ưu theo nghĩa độ dài từ mã trung bình là nhỏ nhất. Mã hóa Huffman không có đặc tính
sửa lỗi nhưng có tính giải mã duy nhất và tức thời.
Giả sử có một số bản tin được truyền giữa hai máy tính qua mạng PSTN. Các
bản tin chỉ chứa các ký hiệu từ A đến H. Theo kết quả thống kê cho thấy xác suất xuất
hiện của các ký tự như sau:
41
Ký tự A B C D E F G H
Xác suất 0.1 0.18 0.4 0.05 0.06 0.1 0.07 0.04
Entropy của nguồn là:
8
1
H p (m) log 2 2.55
m 1 p ( m) (bit/ký tự)
Entropy cực đại của nguồn là:
H log 2 8 3 (bit/ký tự)
42
Hình 2.4. Sơ đồ tạo cây mã
43
Ta thấy rằng phương pháp mã hóa Huffman không phải chỉ cho một bộ mã duy
nhất, vì ta có thể ký hiệu bất cứ nhánh nào là 0 hay 1 chứ không bắt buộc. Tất nhiên
khi đó hiệu suất mã hóa sẽ không thay đổi, nhưng thứ tự trọng số của các nút sẽ thay
đổi.
Do từ mã Huffman khác nhau đối với các tập ký tự khác nhau nên để bên thu có
thể giải mã được thì yêu cầu bên thu phải biết các từ mã liên quan đến dữ liệu phát. Có
thể thực hiện điều này bằng hai cách. Hoặc là bên phát gửi bảng mã trước khi phát dữ
liệu, hoặc là bên thu phải có sẵn bảng mã.
Mô phỏng mã Huffman trong Matlab:
Để thành lập một bộ mã Huffman, MATLAB có hàm huffmandict, ta chỉ cần
cung cấp các thông tin về tính chất thống kê của tập dữ liệu nguồn:
>> [dict,avlen] = huffmandict(sym,prob,N,var)
Hàm này trảvề bộmã Huffman dict cùng với chiều dài trung bình avlen của các
từ mã của bộmã. Các thông số nhập vào tối thiểu gồm có tập các ký hiệu của nguồn
dữliệu (sym).và xác suất xuất hiện của từng ký hiệu trong tập ký hiệu này (cho bởi
vector prob). Ngoài ra còn có thểcung cấp thêm hai thông sốnhập khác:
o Nếu dùng các từ mã N-ary thay vì mã nhị phân thì ta phải nhập thêm giá trị
N. Lưu ý là N là một số nguyên có giá trị từ 2 đến 10 và không được vượt quá số ký
hiệu của tập nguồn.
o Một cách mặc định, MATLAB sẽ dùng giải thuật variance lớn nhất. Nếu
chọn giải thuật variance cực tiểu, ta phải cung cấp thêm thông số varvới giá trị là
‘min’.
Sau đây là một ví dụ đơn giản để minh hoạ cách sử dụng hàm huffmandict:
symbols = [1:5] % Tập ký hiệu
prob = [.3 .3 .2 .1 .1] % Xác suất xuất hiện tương ứng
[dict,avglen] = huffmandict(symbols,prob);
% Hiển thịbảng mã.
temp = dict;
for i = 1:length(temp)
temp{i,2} = num2str(temp{i,2});
44
end
avglen
temp
Kết quả hiển thị như sau:
avglen =
2.2000
temp =
[1] '0 1'
[2] '0 0'
[3] '1 0'
[4] '1 1 1'
[5] '1 1 0'
Để thực hiện mã hoá và giải mã theo phương pháp Huffman, ta có thể sử dụng
các hàm huffmanencovà huffmandeco:
>> sig_encode = huffmanenco(sig,dict)
Hàm này thực hiện mã hoá Huffman cho chuỗi dữ liệu sig với bộ mã Huffman
tương ứng là dict. Bộ mã này được tạo từ hàm huffmandict.
>> sig = huffmandnco(comp,dict)
Hàm này thực hiện quá trình giải mã với comp là dữ liệu đã được mã hoá
45
CHƯƠNG III
46
lệ lỗi trong một hệ thống khi tỷ lệ này lớn quá mức cho phép. Có năm phương pháp
điều khiển lỗi.
Giải pháp đầu tiên là tăng công suất phát, nhưng không phải lúc nào cũng có thể
thực hiện được. Ví dụ như, đối với một máy điện thoại bỏ túi thì không chấp nhận khối
lượng của pin quá lớn.
Giải pháp thứ hai, rất hiệu quả trong việc chống lại lỗi chùm gây bởi fading, là
sử dụng phân tập. Có ba kiểu phân tập chính là phân tập không gian, phân tập tần số và
phân tập thời gian. Cả ba kiểu phân tập này đều đưa thêm độ dư vào trong dữ liệu phát
bằng cách truyền gấp đôi: qua hai đường, tại hai tần số hay vào hai thời điểm khác
nhau. Trong phân tập không gian, sử dụng hai hay nhiều antena đặt tại những vị trí đủ
xa để có một trong các antena đó thu được tín hiệu tốt nhất, ít bị fading nhất. Phân tập
tần số sử dụng hai hay nhiều tần số khác nhau để phát cùng một tin. Phân tập tần số có
thể là trong băng hay ngoài băng tùy vào khoảng cách tần số giữa các sóng mang.
Trong hệ thống phân tập thời gian, phát cùng một tin nhưng vào hai hay nhiều thời
điểm khác nhau.
Giải pháp thứ ba là truyền song công, hay còn gọi là kiểm tra echo (echo
checking). Ở đây, khi bộ phát phát tin đến bộ thu, tin được phát ngược về bộ phát trên
một kênh hồi tiếp riêng. Nếu tin phát ngược về khác với tin phát đi thì biết là có lỗi.
Phương pháp này có khuyết điểm là yêu cầu băng thông gấp đôi so với truyền trên một
hướng nên không chấp nhận khi cần tận dụng phổ.
Phương pháp thứ tư để đối phó với BER cao là yêu cầu lặp lại tự động ARQ
(Automatic Repeat reQuest). Trong hệ thống ARQ, mã phát hiện lỗi (error detecting
code) được sử dụng để bên thu kiểm tra lỗi trong khối số liệu thu và trả lời cho bên
phát trên một kênh hồi tiếp. Tín hiệu trả lời là chấp nhận ACK (ACKnowledgment)
khi số liệu thu đúng và không chấp nhận NAK (Non – AcKnowledgment) khi số liệu
thu sai. Nếu bên phát nhận NAK, bên phát phải tiến hành truyền lại khối số liệu bị lỗi.
Có hai kỹ thuật ARQ chính là ARQ dừng và đợi và ARQ liên tục. Trong hệ thống
ARQ dừng và đợi, sau khi phát khối số liệu đi, bên phát dừng lại và chờ nhận trả lời từ
bên thu, rồi tùy theo trả lời đó là ACK hay NAK mà bên phát phát khối số liệu tiếp
theo hay phát lại khối số liệu vừa rồi. Nếu thời gian chờ quá thời gian quy định, bên
47
phát coi như là khối số liệu vừa phát bị lỗi và vẫn tiến hành phát lại. Hạn chế của
phương pháp này là thời gian trễ truyền dẫn lớn. Trong hệ thống ARQ liên tục, các
khối số liệu đều mang số thứ tự N và bản tin trả lời ACK /NAK cũng mang số thứ tự N
tương ứng. Bên phát liên tục phát đi các khối số liệu mà không chờ nhận trả lời từ bên
thu. Bên thu kiểm tra lỗi các khối số liệu thu và trả lời về cho bên phát bản tin
ACK/NAK kèm theo số thứ tự của khối tin tương ứng. Khi nào bên phát nhận trả lời
NAK từ bên thu, bên phát sẽ phát lại tất cả các khối số liệu kể từ khối số liệu bị lỗi đối
với ARQ lùi lại N, hoặc bên phát sẽ chỉ phát lại khối số liệu bị lỗi đối với ARQ.
Phương pháp thứ năm để giảm BER là thực hiện mã hóa sửa lỗi không phản hổi
FECC (Forward Error Correction Coding). Trong lịch sử, việc chấp nhận sử dụng rộng
rãi FECC có trễ hơn so với các phương pháp khác bởi vì độ phức tạp và giá cả của nó
cao hơn.
Phân loại mã kênh
Có thể phân loại mã kênh theo sơ đồ sau:
48
Hình 3.2. Cấu trúc mã khối
Mã khối tuyến tính nếu tổ hợp tuyến tính (modul 2) của hai từ mã là một từ mã.
Mã khối trong đó các bit bản tin được giữ nguyên, chỉ bổ sung thêm các bit dữ
liệu gọi là mã hệ thống. Mã hệ thống cũng có tính chất tuyến tính và có ưu điểm thực
hiệnđơn giản.
Cấu trúc của mã khối hệ thống là:
b0, b1…., bn-k-1,m0,m1, …, mk-1
Trong đó k bit bên phải (m0,m1, …, mk-1) là các bit bản tin
n -k bit bên trái (b 0, b1…., bn-k-1) là các bit kiểm tra. Bit kiểm tra là tổ hợp tuyến
tính của k bit bản tin
bi = p0im0 + p1im1 + … + p(k-1)imk-1 i = 0, 1, … ,n-k-1
1 neu _ bi _ phu _ thuoc _ mi
pi
với 0 neu _ bi _ khong _ phu _ thuoc _ mi
Phương trình trên xác định một cấu trúc toán học của mã khối tuyến tính (n, k)
ta có thể viết lại dưới dạng vector ma trận như sau:
b = mP (với P là ma trận có kích thước kx(n-k))
Các từ mã c = [b, m] tạo nên một không gian con k chiều của không gian n
chiều:
Do đó ta có thể viết lại là:
C = m[P, Ik] trong đó Ik là ma trận đơn vị hay c = mG
Ma trận G là ma trận nhị phân có kích thước k x n có dạng
G = [P, Ik]
49
[G=¿ p1, p1,2. p1,n−k10. 0¿][p2,1p2, . p2,n−k01. 0¿][. . . 0. . . . . . . . .¿]¿¿
¿
Ma trận G được gọi là ma trận sinh, có k hàng phải là độc lập tuyến tính tức
biểu diễn một hàng phải là tổ hợp tuyến tính của các hàm còn lại) từ đó ta có:
ci + cj = miG + mjG= Gmi + mjG
Tính chất tuyến tính được suy ra từ hệ thống
Cách biểu diễn khác của mối liên hệ giữa bit kiểm tra và bit bản tin là:
H = [In-k,PT] khi đó
PT
HGT = [In-k,PT] I k = PT + PT
Sử dụng tính chất cộng modul 2 ta có HGT = 0 tức vế phải là ma trận zero hay ta
có
cHT = mGHT = 0 (3.1)
Khi đó ma trận H được gọi là ma trận kiểm tra chẵn lẻ. Khi đó tín hiệu truyền
không lỗi thì phương trình (2.1) được thoả mãn:
Ví dụ: Xét mã lặp lại n = 5, k = 1 ta có:
G = [1 1 1 1, 1] và H =
Giải mã đặc trưng:
¿¿
Từ mã c được gửi trên đường truyền mắc lỗi e, véc tơ thu được tại bộ thu là r:
ta có r = c + e
Trong đó ei = 0 nếu ci giống ri (i = 0, 1, 2, … n – 1)
Ta định nghĩa s = rHT
Là đặc trưng của giải mã, có các tính chất sau:
- s chỉ phụ thuộc mẫu lỗi mà không phụ thuộc từ mã: do đó
s = (c + e)HT = cHT + eHT= eHT (3.2)
Các mẫu lỗi khác nhau của 1 từ mã sẽ có cùng đặc trưng s
50
- Do bản tin k bit chỉ có 2k từ mã khác nhau nên với mỗiđặc trưng sẽ có 2 k véc
tơ lỗi khác nhau: ei = e + ci, I = 0, 1, …, 2k – 1.
Tập các véc tơ lỗi ứng với một đặc trưng tạo nên một tập con trong tập mã và
mã khối tuyến tính có 2n-k tập con như vậy không chồng lấn nhau và phủ hết không
gian từ mã. (2.2) là một hệ n-k phương trình tuyến tính có thể cho thông tin phát hiện
lỗi. Song nó không đủ xác định véc tơ lỗi (n phần tử) hay chính xác hơn xác định duy
nhất véc tor lỗi: sẽ có 2k mẫu lỗi thoả mãn hệ phương trình này. Tuy nhiên thông tin
đặc trưng s giúp cho phép dò tìm lỗi e từ 2n khả năng xuống còn 2k khả năng.
Khoảng cách tối thiểu
dmin là tập mã được định nghĩa là khoảng cách Hamming (số các bit khác nhau
trong 2 từ mã) nhỏ nhất giữa các từ mã. Từ tính chất đóng của từ mã d min bằng trọng
lượng (số phần tử 1) nhỏ nhất của một từ mã:
dmin = min dH(ci, cj) (3.3)
Mã khối tuyến tính (n, k) có thể tách và hiệu chỉnh được tối đa t lỗi nếu và chỉ
nếu
t ¿ [1/2(dmin-1)] lấy phần nguyên
Vì véc tơ r nhận được vẫn luôn gần từ mã phát ban đầu hơn bất kỳ từ mã khác.
Đối với mã tuyến tính khoảng cách tối thiểu bằng trọng lượng tối thiểu của mã
được định nghĩa:
Wmin = min w(ci)
Ci ¿ 0 (3.4)
Tức là số tối thiểu phần tử 1 trong bất kỳ từ mã khác 0
Mã khối tuyến tính có dạng hệ thống khi ma trận sinh có dạng sau:
51
từ mã thì cũng được một từ mã thuộc cùng bộ mã. Ví dụ các từ mã sau đây được gọi là
mã vòng:
1101000,0110100,0011010,1000110,0001101,1010001,0100011
Mã Golay là một loại mã vòng sửa được sai nhiều lỗi. Mã Golay (23,12) có khả
năng sửa được 3 lỗi cho từ mã dài 23 bit. Mã này được Golay phát minh năm 1949 và
được nhiều chuyên gia quan tâm nghiên cứu tới cấu trúc và cơ chế giải mã.
Mã BCH nhị phân (binary BCH code) là một loại mã vòng được Hocquenghem
tìm ra năm 1959, sau đó được Bose và Chaudhuri tìm ra một cách độc lập vào năm
1960. Mã BCH có thể sửa được t lỗi trong từ mã dài n bit, với n 2 1 , n k mt ,
m
Mã RS được Reed và solomon giới thiệu lần đầu tiên vào năm 1960. Theo lý
thuyết mã, có thể xem mã RS là mã BCH không nhị phân. Mã RS được tổ chức theo
ký tự. Mã RS tạo thành n ký tự, mỗi ký tự dài m bit, m tùy thuộc vào ứng dụng cụ thể.
Ví dụ m=8 thì mỗi ký tự chính xác là một byte. Mã RS hoạt động trên ký tự nhiều bit
chứ không phải trên từng bit như các mã vòng khác.
Mã Hamming là một trường hợp riêng đơn giản nhất của mã BCH nhị phân. Mã
này được R.W.Hamming đưa ra và được dùng trong một số hệ thống thông tin. Mã
Hamming có d=3, có khả năng sửa được 1 lỗi.
3.2.2. Mã Hamming
Khoảng cách Hamming
Khoảng cách Hamming được sử dụng trong kỹ thuật viễn thông để tính số
lượng các bit trong một từ nhị phân bị đổi ngược, như một hình thức để ước tính số lỗi
xảy ra trong quá trình truyền thông, và vì thế, đôi khi nó còn được gọi là khoảng cách
tín hiệu. Việc phân tích trọng số Hamming của các bit còn được sử dụng trong một số
ngành, bao gồm lý thuyết tin học, lý thuyết mã hóa và mật mã học.
Trước tiên ta tìm hiểu về trọng số Hamming: Trọng số Hamming của một từ mã
là số số 1 có trong từ mã đó. Ví dụ với từ mã 00111010 có trọng số Hamming là 4.
Khoảng cách Hamming được định nghĩa là các bít khác nhau giữa hai từ mã. Khoảng
cách Hamming giữa hai từ mã được lấy bằng cách dùng toán tử XOR từng bít của hai
52
từ mã với nhau và khoảng cách Hamming là trọng số của kết quả tìm được trong phép
XOR trên. Ví dụ với hai từ mã 0110101 và 1110001 ta có:
0110101 1110001 = 1000100
Vậy khoảng cách Hamming của 2 từ mã trên là 2.
Mã Hamming là một mã sửa lỗi tuyến tính, mã này có thể phát hiện một bit
hoặc hai bit bị lỗi. Mã Hamming còn có thể sửa được cac lỗi do một bit bị sai gây ra.
Có thể tóm tắt các bước cho việc sử dụng mã Hamming như sau:
1) Các vị trí trong một khối được bắt đầu đánh số từ 1: Bit 1, 2, 3…
2) Tất cả các bit ở vị trí số mũ của 2 được dùng làm bít chẵn lẻ. Ví dụ
53
G=[P,I4]=¿ [ 1 101000 ¿ ] [ 0 110100 ¿ ] [ 1 110010 ¿ ] ¿¿
¿
Tương ứng ta ta có ma trận kiểm tra chẵn lẻ là :
H=¿¿
Từ mã tạo ra từ ma trận sinh này có d min = 3, nên có khả năng phát hiện và hiệu
chỉnh 1 bit lỗi. Các mẫu lỗi 1 bit và các đặc trưng giải mã như sau:
0001000 110
0000100 011
0000010 111
0000001 101
Từ mã nhận được sau đường truyền được nhân với ma trận kiểm tra chẵn lẻ H
để tính đặc trưng s, từ giá trị s nhận được so với bảng trên ta nhận được vị trí bit lỗi.
3.3. Mã chập
Mã chập là một phương pháp mã hóa sửa sai quan trọng. Khác với mã khối mã
chập là loại mã có nhớ. Mặc dù, bộ mã hóa chập cũng nhận các thông điệp có số lượng
ký hiệu xác định và rạo ra một từ mã cũng có số ký hiêu xác định, nhưng từ mã tạo ra
ở mỗi thời điểm không chỉ phụ thuộc vào các ký hiệu của thông điệp hiện tại mà còn
phụ thuộc vào các ký hiệu của các thông điệp đã được mã hóa trước đó.
Matlab cung cấp đầy đủ các công cụ để thực hiện mã chập kể cả thuận lẫn hồi
tiếp. Mã chập có thể được mô tả dưới dạng cấu trúc lưới (trellis) hoặc tập các đa thức
54
sinh. Giải thuật mà MATLAB sử dụng là giải thuật viterbi, có thể giải mã bằng quyết
định cứng (hard-decision) hay quyết định mềm (thích nghi, soft- decision).
Mã chập được tạo ra bằng cách cho chuỗi thông tin truyền qua hệ thống các
thanh ghi dịch tuyến tính có số trạng thái hữu hạn.Cho số lượng thanh ghi dịch là N,
mỗi thanh ghi dịch có k ô nhớ và đầu ra bộ mã chập có n hàm đại số tuyến tính. Tốc độ
mã là R = k/n, số ô nhớ của bộ ghi dịch là N×k và tham số N còn gọi là chiều dài ràng
buộc (Contraint length) của mã chập.
Giả thiết bộ mã chập làm việc với các chữ số nhị phân,thì tại mỗi lần dịch sẽ có
k bit thông tin đầu vào được dịch vào thanh ghi dịch thứ nhất và tương ứng có kbit
thông tin trong thanh ghi dịch cuối cùng được đẩy ra ngoài mà không tham gia vào quá
trình tạo chuỗi bit đầu ra. Đầu ra nhận được chuỗi n bit mã từ n bộ cộng module-2
(xem hình).
Như vậy, giá trị chuỗi đầu ra không chỉ phụ thuộc vào k bit thông tin đầu vào
hiện tại mà còn phụ thuộc vào (N-1) k bit trước đó,cấu thành lên v bộ nhớ và được
gọi là mã chập (n, k,N). Với v được tính bằng công thức sau:
v ( N 1)k
55
Để mô tả bộ mã hoá hình 3.3 chúng ta sử dụng N ma trận bổ sung G1, G2…,
GN bao gồm k hàng và n cột. Ma trận Gi mô tả sự kết nối giữa đoạn thứ I của k ô nhớ
trong thanh ghi lối vào với n ô của thanh ghi lối ra. n lối vào của hàng đầu tiên của Gi
mô tả kết nối của ô đầu tiê ncủa đoạn thanh ghi đầu vào thứ I với n ô của thanh ghi lối
ra. Kết quả là “1” trong Gi nghĩa là có kết nối, là “0” nghĩa là không kết nối. Do đó
chúng ta có thể định nghĩa ma trận sinh của mã chập:
G1 G2 ... GN
G1 G2 .... GN
G G1 G2 ... GN (3.5)
G1 G2 ... GN
...
Và tất cả các lối vào khác trong ma trận bằng 0. Do đó nếu lối vào là véc tơ u,
tương ứng véctơ mã hoá là:
x u.G (3.6)
Bộ mã chập là hệ thống nếu trong mỗi đoạn của n chữ số đuợc tạo, k số đầu là
mẫu của các chữ số đầu vào tương ứng. Nó có thể xác định rằng điều kiện này tương
đương có các ma trận kxn như sau:
(3.7)
i= 2,3,…..N.
Chúng ta xét một vài ví dụ minh hoạ:
Ví dụ 1: Xét mã (3,2,2) được định nghĩa thông qua hai ma trận sinh G1 và G2:
56
Chuỗi thông tin u=(11011011…) được mã hóa thành chuỗi mã x =
(111010100110…).
57
G(D) = [1 1+D2 1+D+D2]
Do đó sơ đồ mã chập được biểu diễn như sau:
58
Từ ví dụ hình 3.7, giả thiết trạng thái ban đầu của các thanh ghi dịch trong bộ
mã đều là trạng thái “toàn 0”. Nếu bit vào đầu tiên là bit “0” thì đầu ra ta nhận được
chuỗi “00”, còn nếu bit vào đầu tiên là bit “1” thì đầu ra ta nhận được chuỗi “11”. Nếu
bit vào đầu tiên là bit “1” và bit vào tiếp theo là bit “0” thì chuỗi thứnhất là “11” và
chuỗi thứ hai là chuỗi “10”. Với cách mã hoá như vậy, ta có thể biểu diễn mã chập
theo sơ đồ có dạng hình cây (xem hình 3.8). Với hướng lên là hướng của bit 0 đi vào
bộ mã, nhánh đi xuống biểu hiện cho bit 1 được dịch vào. Từ sơ đồ hình cây ta có thể
thực hiện mã hoá bằng cách dựa vào các bit đầu vào và thực hiện lần theo các nhánh
của cây, ta sẽ nhận được tuyến mã, từ đó ta nhận được dãy các chuỗi đầu ra.
00
00
00
00
11
10
00
00
10
01
11
10
0
01 11
00
11
00
1 10
01
00 10
11
10
01
01
01
11
10
11
59
trạng thái 00, 01, 10, 11 đều có 2 nhánh đến từ các trạng thái trước đó tùy thuộc vào bit
được dịch vào bộ mã là bit 0 hay bit 1. Với tính chất đó ta có thể biểu diễn mã chập
bằng sơ đồ có dạng hình lưới gọn hơn, trong đó các đường liền nét được ký hiệu cho
bit đầu vào là bit “1” và đường đứt nét được ký hiệu cho các bit đầu vào là bit “0”
(xem hình 3.9). Ta thấy rằng từ sau tầng thứ hai hoạt động của lưới ổn định, tại mỗi
nút có hai đường vào nút và hai đường ra khỏi nút. Trong hai đường đi ra thì một ứng
với bit đầu vào là bit “0” và đường còn lại ứng với bit đầu vào là bit “1”.
State
01 11 11 00 11 00 11 00 11
10 10 10 10
State
10
01 01 01 01
01 01 01
State 10 10 10
11
Hình 3.9. Sơ đồ hình lưới bộ mã chập (2,1,3)
*Sơ đồ trạng thái:
Sơ đồ trạng thái được thực hiện bằng cách đơn giản sơ đồ 4 trạng thái có thể có
của bộ mã (00, 01, 10 và 11) và trạng thái chuyển tiếp có thể được tạo ra từ trạng thái
này chuyển sang trạng thái khác, quá trình chuyển tiếp có thể là:
Next State/output symbol, if
Current Input = 0 Input = 1
State
00 00/00 10/11
01 00/11 10/00
10 01/10 11/01
11 01/01 11/10
Bảng 3.1. Bảng trạng thái của bộ mã 00, 01, 10, 11
Kết quả ta thu được sơ đồ trạng thái trong hình 3.10 như sau:
60
Hình 3.10. Sơ đồ trạng thái của bộ mã chập (2,1,3)
Từ sơ đồ trạng thái hình 3.10, các đường liền nét được ký hiệu cho bit đầu vào
là bit “0” và đường đứt nét được ký hiệu cho các bit đầu vào là bit “1”. So với sơ đồ
hình lưới và sơ đồ hình cây thì sơ đồ trạng thái là sơ đồ đơn giản nhất.
Giải mã mã chập bằng thuật toán Viterbi
Trong số nhiều phương pháp giải mã xoắn, phương pháp Viterbi được quan tâm
đặc biệt vì nó là phương pháp tính khả năng tối đa. Dựa theo dãy nhận được tại lối ra
kênh, phương pháp này dò tìm trong sơ đồ lưới đường đi có mã giống như dãy nhận
được. Nếu giải mã là quyết định cứng thuật toán sẽ tìm đường có khoảng cách
Hamming nhỏ nhất đến dãy nhận được. Nếu giải mã là quyết định mềm thì đường tìm
được phải có khoảng cách Ơle nhỏ nhất đến dãy nhận được. Gọi c là từ mã theo đường
đi trong sơ đồ lưới,y là dãy nhận được qua kênh nhị phân không nhớ. Giả sử đường đi
có m bước chuyển trạng thái, mỗi bước có n bit lối ra nên c và y vó n.m bit đồng thờici
và yi tương ứng với bước chuyển thứ i ( 1≤i≤m ). Khoảng cách Hamming giữa c và
y được tính là:
m
∑ d ( ci , y i )
d(c.y) = i=1
Trong cách tính khoảng cách Ơle của quyết định mềm, chỉ việc thay dãy y bằng
lối ra vectơ r của bộ giải điều chế số. Thay cho dãy nhị phân 0, 1 của c là dãy c’ với
√ E neu c ij =1
c’ij =
{ −√ E neu c ij=0
61
d 2E (c', r)=∑ d 2E( c'i , r i
Bây giờ giả sử k = 1. Điều này có nghĩa là chỉ có 2 nhánh đi vào một điểm trạng
thái trong sơ đồ lưới. Nếu đường đi tối ưu phải đi qua một trạng thái S thì ta gọi nhánh
đi vào nó là S1 và S2 để biết được nhánh vào trong 2 nhánh này cho khoảng cáhc toàn
thể nhỏ nhất chúng ta phải cộng khoảng cách toàn thể nhỏ nhất tại S 1 và S2 với khoảng
cách của nhánh nối 2 trạng thái với S. Rõ ràng là tổng nào nhỏ hơn sẽ được chọn để
xét tiếp đối với tầng tiếp sau S. Nhánh này là nhánh sống sót tới S, khoảng cách của nó
sẽ được lưu lại tại S, còn các nhánh khác không thích hợp bị xóa. Đối với trường hợp k
> 1 chỉ khác là tại mỗi tầng chúng ta phải chọn nhánh sống sót từ 2 k nhánh dẫn đến
trạng thái S. Quy trình nói trên được tóm tắt trong thuật toán Viterbi như sau:
62
tối ưu và dãy lối vào tương ứng là dãy thông tin được giải mã khả dĩ nhất.
Để nhận được dãy lối vào chỉ việc bỏ đi k(N – 1) số 0 từ dãy này
Có thể nhận thấy là mã xoắn có độ trễ và bộ nhới cần cho giải mã lớn. Một
phương pháp để tránh được điều này là cắt ngắn đường nhớ đó là: Bộ giải mã tại mỗi
tầng chỉ dò tìm δ tầng trước đó trong sơ đồ lưới mà không đến tận lúc bắt đầu lưới
tại tầng δ+ 1 bộ giải mã tạo quyết định lên bit lối vào tương ứng với tầng đầu tiên
của lưới (k bit đầu tiên), và những bit nhận được tiếp theo không thay đổi quyết định
này. Điều này có nghĩa là độ trễ của bộ giải mã chỉ là k. δ và nó chỉ yêu cầu giữ các
nhánh sống sót ứng với δ tầng cuối. Mô phỏng máy tính cho ta thấy rằng nếu δ≥
5N thì sự giảm cấp do cắt ngắn đường nhớ có thể bỏ qua.
Ưu nhược điểm của mã chập
Ưu điểm
Cũng như các mã sửa sai khác, mã chập cho phép chúng ta có thể sửa lại dữ liệu
đã bị sai lệch khi truyền qua kênh truyền để khôi phục chính xác tín hiệu gốc.
Việc thực hiện mã hóa dùng mã chập tương đối đơn giản hơn các loại mã sửa
sai khác mà chất lượng mã hóa lại tốt.
Việc thực hiện mã hóa dùng mã chập có thể được thực hiện bằng phần cứng và
phần mềm.
Dựa trên hình thức mã hóa mã chập cùng giải thuật Viterbi cho nó, các bộ mã
hóa sau này đều kế thừa những đặc tính ưu việt của nó.
Nhược điểm
Việc mã hóa và giải mã liên quan đến mã chập chỉ giải quyết được các lỗi một
bit còn đối với các kênh truyền xuất hiện nhiều bit liên tiếp thì thuật toán mã hóa và
giải mã này sẽ không còn hoàn hảo nữa.
Kênh truyền ở đây phải là kênh truyền ít nhiễu, vì nếu kênh truyền nhiễu quá
lớn, mã hóa chập sẽ không còn tốt nữa. Khi đó ta phải cần tới trải phổ tín hiệu để đưa
tín hiệu xuống dưới mức nhiễu để giảm thiểu ảnh hưởng.
63
kênh, có hai bộ mã là mã khối (điển hình là mã Hamming) và mã chập. Vì vậy khi
thực hiện mô phỏng mã hóa kênh chúng ta sẽ đi tiến hành mô phỏng mã Hamming và
mã chập dưới sự tác động của kênh truyền AWGN sử dụng phần mềm MATLAB để từ
đó có thể so sánh hai loại mã này một cách trực quan và hiệu quả.
3.4.1. Mô phỏng mã hóa Hamming
Cấu trúc của mô hình mô phỏng
Hệ thống mô phỏng sử dụng các khối truyền thông khác nhau để thiết lập mô
hình Hamming có tác động của AWGN. Hệ thống mô phỏng gồm các khối sau:
1. Một nguồn phát nhị phân theo phân bố Bernoulli.
2. Một bộ mã hóa Hamming.
3. Một bộ điều chế khóa dịch pha nhị phân BPSK.
4. Một bộ kênh nhiễu cộng tính AWGN.
5. Một bộ giải điều chế khóa dịch pha nhị phân BPSK.
6. Một bộ giải mã hóa Hamming.
7. Một bộ tính toán tỷ lệ lỗi bit.
8. Một bộ hiển thị thống kê lỗi khi chạy mô phỏng.
Các bước thực hiện mô phỏng như sau:
Xây dựng khối
Đầu tiên, từ cửa sổ của chương trình Matlab, gõ lệnh simulink để sử dụng công
cụ này.
Sau đó, tạo ra một file mô phỏng mới bằng cách vào File > New > Model (hoặc
sử dụng cụm phím tắt Ctrl + N).
Tiếp theo, từ cửa sổ Simulink Library Browser, lấy các khối sau:
- Bernoulli Binary Generator: Khối nguồn, hay còn gọi là khối nhị phân
Bernoulli. Khối này tạo ra dữ liê ̣u số gồm dãy bit 0, 1 theo phân bố Bernoulli.
64
- BPSK Modulator Baseband: Khối điều chế pha nhị phân, có nhiệm vụ điều
chế tín hiệu số với bit 0 tương ứng với tín hiệu sóng có pha = 0 0 và bit 1 tương ứng
sóng mang có pha = 180° (hoặc ngược lại).
65
Hình 3.15. Khối mã hóa Hamming
Mã hamming: Là loại mã khối tuyến tính dạng ((2m −1), (2m −1−m)) có khoảng
cách tối thiểu bằng 3 và ma trận kiểm tra chẵn lẻ đơn giản có kích thước m*(2m-1)
trong đó tất cả các dãy nhị phân dài m trừ dãy toàn 0 nhìn theo cột.
- Hamming Decoder: Khối giải mã Hamming.
66
Hình 3.19. Sơ đồ khối mô phỏng hệ thống sử dụng mã Hamming
Thiết lập các thông số cho mỗi khối
Khối Bernoulli Binary Generator:
Hình 3.20. Thiết lập thông số cho khối tạo bit ban đầu
Khối này có các tham số sau:
1) Probability of a zero: Xác suất xuất hiện bit 0.
2) Initial seed (Giá trị khởi tạo): Giá trị khởi tạo cho máy phát bit nhị phân
ngẫu nhiên. Nó có thể là một véc tơ có chiều dài bằng với xác suất xuất hiện
bit 0, hoặc là vô hướng.
3) Sample time: Thời gian lấy mẫu.
4) Frame – based output: Xác định kết quả đầu ra bao nhiêu khung hoặc mẫu.
5) Samples per frame (số mẫu trên khung): Tham số này được kích hoạt khi
chúng ta tích chọn “Frame – base output”.
67
6) Output data type (kiểu đầu ra): Kiểu đầu ra có thể được xác định là kiểu
boolean, int8, uint8, int16, uint16, int32, uint32, single, or double. Theo mặc
định kiểu double sẽ được chọn.
68
Khối Hamming Encoder và Hamming Decoder:
69
Hình 3.22. Thiết lập thông số cho khối điều chế BPSK
Hai khối này có các tham số sau:
1) phase offset (rad): Độ lệch pha. Khối điều chế BPSK mà chúng ta mô phỏng
có độ lệch pha bằng 0.
2) Samples per symbol (số mẫu trên ký hiệu): Được đặt là 1.
Khối AWGN Channel: Khối kênh AWGN cộng ồn Gassusian trắng là thực
hoặc phức vào tín hiệu lốivào.Khitínhiệulối vào là thực,khốinàycộng giátrị thực ồn
Gaussian và sinh ra giátrị thực tín hiệulối ra. Khi tín hiệulối vào là phức, khối này
cộng giá trị phức ồn Gaussianvàsinhratínhiệu phức ởlốira.Khốitiếptheonàylấymẫuthời
gian từ tín hiệulốivào.Khốinàysửdụngkhốinguồnngẫunhiêncủa khối đặt xửlý tín hiệu
để tạoraồn.Thôngsốgiátrịxáclậpbanđầutrongkhốikhởitạomáyphátồn.Giátrị xác lậpban
đầu có thể hoặc là vô hướng hoặc là vectơ khớpsố kênh trong tín hiệu lối vào. Khối
kênh AWGN gồm các thông số sau:
70
- Tỉ số tín hiệu trên ồn lượng tử (Eb/No), khi khối tính toán sự biến thiên từ số
lượng được cụ thể hóa bằng bảng dưới đây:
+ Eb/No: Tỉ số năng lượng bit trên mật độ phổ công suất nhiễu.
+ Số bit trên ký hiệu.
+ Công suất tín hiệu lối vào, công suất của kí hiệu lối vào.
+ Chu kì kí hiệu.
+Tỉ số tín hiệu trên ồn lượng tử (Es/No), khi khối tính toán sự biến thiên từ số
lượng được cụ thể hóa bằng bảng dưới đây:
- Es/No: tỉ số năng lượng tín hiệu trên mật độ phổ công suất nhiễu.
+ Năng lượng tín hiệu vào, năng lượng kí hiệu lối vào.
+ Chu kì kí hiệu.
- Tỉ số tín hiệu trên ồn (SNR), khi khối tính toán sự biến thiên từ số lượng được
cụ thể hóa bằng bảng dưới đây:
+ SNR: tỉ số công suất tín hiệu trên công suất ồn.
+ Công suất tín hiệu lối vào, công suất của mẫu lỗi vào
- ”Variance from mask”: Nơi xác định variance trong hộp thoại phải là giá trị
dương.
- ”Variance from port”: Khi cấp variance như là một đầu vào của khối.
Variance lối vào phải là giá trị dương và nó có tốc độ lấy mẫu phải bằng tín
hiệu lối vào. Nếu tín hiệu lối vào là dựa trên kí tự, variance vào phải là dựa theo
kí tự. Nếu tín hiệu đầu tiên lối vào dựa theo khung, variance lối vào có thể hoặc
là dựa theo khung với chính xác một dòng, hoặc dựa theo mẫu.
Trong cả hai kiểu (mode) “Variance from mask” và “Variance from port”,
những quy tắc này miêu tả phương thức khối giải thích sự biến thiên:
+ Nếu sự biến thiên là vô hướng, tất cả các kênh độc lập nhau nhưng chia sẻ
biến thiến như nhau.
+ Nếu sự biến thiên là một vec tơ độ dài của nó là số kênh trong tín hiệu lối vào,
mỗi thành phần đại diện cho biến thiên của mối tương quan các kênh tín hiệu.
Ở đây ta chọn: Mode là SNR
SNR=0.1 dB
71
Khối Error Rate Calculation thiết lập thông số như hình vẽ (ở đây, số lượng
bit lỗi khi đạt đến 100 thì quá trình mô phỏng sẽ dừng lại):
72
Hình 3.26. Tỉ lệ lỗi bit = 0.04391 với SNR = 0.1 dB
Thay đổi giá trị SNR của khối AWGN, ta thu được tỉ lệ lỗi bít khác nhau. Sau
khi thay số với các giá trị SNR trong khối AWGN, ta có bảng sau:
SNR 0.2 0.4 0.6 0.8 1 1.2 1.4
73
1 1 1 0 1
Ma trận sinh H và ma trận kiểm tra G được tạo bằng các hàm hammgen (mã
Hamming) và cyclgen (mã vòng).
>> [H, G, K] = cyclgen (n,p,opt)
Với p là đa thức sinh của mà vòng, opt là một thông số không bắt buộc cho biết
ma trận kiểm tra H có tính hệ thống hay không.
Nếu opt = ‘system’ (đây là trường hợp mặc định) thì H có tính hệ thống, ngược
lại opt = ‘nonsys’ thì H không có tính hệ thống.
>> [H, G, n, k] = hammgen(m)
>> [H, G, n, k] = hammgen(m,p)
Trong đó m là số nguyên 3 và n 2 1 , k 2 m 1 ; p là một đa thức
m m
74
Hamming có thể (không nhất thiết) cung cấp đa thức nguyên p_poly tương ứng; với
mã vòng, cần cung cấp đa thức sinh cyc_poly cho bộ mã.
>> [code, added] = encode(msg, n, k, ‘linear’, genmat)
>> [code, added] = encode(msg, n, k, ‘linear/decimal’, genmat)
>> [code, added] = encode(msg, n, k, ‘hamming’, p_poly)
>> [code, added] = encode(msg, n, k, ‘hamming/decimal’, p_poly)
>> [code, added] = encode(msg, n, k, ‘cyclic’, cyc_poly)
>> [code, added] = encode(msg, n, k, ‘cyclic/decimal’, cyc_poly)
Addedlà sốcột phải thêm vào ma trận msg để msgcó kích thước vừa đủ đểtiến
hành mã hoá.
Hàm decodethực hiện giải mã thông điệp mã hoá bằng các mã khối tuyến tính
nói trên. Ngoài các thông sốgiống như đối với hàm encode, có thể đưa thêm bảng giải
mã syndrome đểsửa lỗi cho thông điệp. Nếu không có bảng giải mã, hàm decodekhông
sửa lỗi nhưng có khảnăng đánh dấu các vịtrí lỗi phát hiện được. Ví dụ:
>> [msg, err, ccode, cerr] = decode(code, n, k, ’cyclic’, cyc_poly, dec_table)
>> [msg, err, ccode, cerr] = decode(code, n, k, ‘linear’, genmat, dec_table)
Trong đó, errlà tổng sốlỗi phát hiện được, ccodelà từmã đã được sửa sai, cerrlà
ma trận xác định các vịtrí lỗi. Nếu sốlỗi vượt quá khảnăng sửa lỗi của bộmã thì err
sẽcó giá trịâm.
Ví dụ:
Sửdụng mã khối tuyến tính [4,2] đểmã hoá và giải mã một thông điệp cụthể.
Trong ví dụnày, ta tạo một thông điệp gồm 3 từmsg = [0 1; 0 0; 1 0], mã hoá,
cộng nhiễu ngẫu nhiên và giải mã. Kết quảdưới đây cho thấy thông điệp bịsai một lỗi
ởtừthứ3 và bộgiải mã đã sửa được lỗi này.
n = 4; k = 2;
genmat = [[1 1; 1 0], eye(2)]; % Ma trận sinh
msg = [0 1; 0 0; 1 0]; % Thông điệp gồm 3 từ, mỗi từ2 bit
% Tạo ba từ mã, mỗi từ 4 bit.
code = encode(msg,n,k,'linear',genmat);
noisycode = rem(code + randerr(3,4,[0 1;.7 .3]),2); % Cộng nhiễu.
75
trt = syndtable(gen2par(genmat)); % Tạo bảng giải mã syndrome
% Giải mã, sửa sai và đánh dấu các vị trí bị sai.
[newmsg,err,ccode,cerr] = decode(noisycode,n,k,'linear',genmat,trt)
err_words = find(err~=0) % Xác định từ đã bị lỗi.
Kết quả:
newmsg =
0 1
0 0
1 0
err =
0
0
1
ccode =
1 0 0 1
0 0 0 0
1 1 1 0
cerr =
0
0
1
err_words =
3
3.4.2. Xây dựng hệ thống sử dụng khối mã xoắn
Mã hóa Convolution (mã xoắn hay mã chập) là một kỹ thuật mã hóa sửa sai. Vì
vậy, ta đi mô phỏng hệ thống thông tin sử dụng mã hóa kênh là mã xoắn dưới tác động
của kênh AWGN, để từ đó có kết quả trực quan để đánh giá chất lượng của loại mã
này.
Hệ thống mô phỏng sử dụng các khối truyền thông khác nhau để thiết lập mô
hình mã Convolution có tác động của AWGN. Hệ thống mô phỏng gồm các khối sau:
1. Một nguồn phát nhị phân theo phân bố Bernoulli.
2. Một bộ mã xoắn.
76
3. Một bộ điều chế khóa dịch pha nhị phân BPSK.
4. Một kênh nhiễu cộng tính AWGN.
5. Một bộ chuyển đổi lấy ra phần thực của tín hiệu.
6. Một bộ giải mã xoắn.
7. Một bộ tính toán tỉ lệ lỗi bit.
8. Một bộ hiển thị thống kê lỗi khi chạy mô phỏng.
Các bước thực hiện mô phỏng:
* Xây dựng khối
Từ cửa sổ Simulink Library Browser, lấy các khối sau:
- Bernoulli Binary Generator: Khối này để tạo các bit ban đầu theo phân bố
Bernoulli.
- BPSK Modulator Baseband: Khối điều chế pha nhị phân, có nhiệm vụ điều
chế tín hiệu số với bit 0 tương ứng với tín hiệu sóng có pha = 0 0 và bit 1 tương ứng
sóng mang có pha = 180° (hoặc ngược lại).
77
- BPSK Demodulator Baseband: Khối giải điều chế pha nhị phân, thực hiện
nhiệm vụ ngược lại khối BPSK.
- Error Rate Calculation: Khối dùng để so sánh lỗi giữa tín hiệu gốc và tín
hiệu sau khi qua kênh AWGN có sử dụng mã Convolution.
78
Hình 3.34. Khối tính toán tỷ lệ lỗi bit
- Display: Khối dùng để hiển thị. Khối này sẽ hiển thị ra ba đại lượng:
+ Tỷ lệ lỗi bit
+ Tổng số bit bị lỗi
+ Tổng số bit nhận.
79
Hình 3.37. Thông số khối Bernoulli Binary Generator
- Khối Convolution Encoder:
Các tham số của khối Viterbi Decoder cũng được đặt như khối Convolution
Encoder dưới đây:
80
- Khối BPSK Modulator Baseband:
Các tham số của khối BPSK Demodulator Baseband cũng được đặt như khối
BPSK Modulator Baseband.
81
Hình 3.40. Tham số khối kênh AWGN
- Khối Complex to real-imag: Do điều chế BPSK không có phần ảo nên trong
phần thiết lập thông số của khối này, ta chọn Output là Real. Ta cũng không cần giải
điều chế tín hiệu vì khối Giải mã Viterbi có thể xử lí được tín hiệu này.
82
Hình 3.42. Tham số khối tính toán tỷ lệ lỗi bit
* Mô phỏng
Sau khi thiết lập các thông số như trên, ta tiến hành mô phỏng bằng cách vào
Simulation > Start. Kết quả được hiển thị trên khối Display như hình 3.45.
83
MATLAB hỗ trợ dạng mô tả đa thức bằng cách cung cấp hàm poly2trellis cho
phép chuyển đổi dạng đa thức sang dạng cấu trúc trellis để có thể sử dụng các hàm mã
hoá và giải mã.
>> trellis = poly2trellis(conslen, codegen, feedback)
Trong đó conslen, codegen, feedback lần lượt là các chiều dài giới hạn, ma trận
sinh và véc tơ hồi tiếp. Tham số thứ ba chỉ xuất hiện trong trường hợp bộ mã hoá là
hồi tiếp.
TrongMATLABCommunicationToolbox,dạngmôtảbằngcấutrúctrellisđượcbiểud
iễn bằng một cấu trúc gồmcó 5 trường:
Tên trường trong Số chiều Ý nghĩa
cấu trúc trellis
numInputsymbols Vô hướng Số ký hiệu lối vào của bộ
mã hóa
numOutputsymbols Vô hướng Số ký hiệu lối ra của bộ
n
mã hóa 2
numStates Vô hướng Số trạng thái trong bộ mã
hóa
nextStates Ma trận kích thước Các trạng thái kế ứng với
numStates x 2
k
các tổ hợp của trạng thái
hiện tại và lối vào hiện tại.
outputs Ma trận kích thước Các lối ra ứng với các tổ
numStates x 2
k
hợp của trạng thái hiện tại
và lối vào hiện tại.
Bảng 3.4. Các trường của một cấu trúc trellis
Tên của cấu trúc do người sử dụng đặt, nhưng các trường phải có các tên như
trong bảng trên.Trong ma trận nextStates, mỗi phần tử là một số nguyên từ 0 đến
numStates – 1. Phần tử nằm ở hàng thứ i và cột thứ j chỉ thị trạng thái kế khi trạng thái
hiện tại là i – 1 và các bits lối vào có biểu diễn thập phân tương ứng là j – 1 (bit lối vào
đầu tiên là bit trọng số lớn nhất (MSB)).
Trong ma trận lối ra, phần tử ở hàng i và cột j là biểu diễn thập phân của các bit
lối ra khi trạng thái hiện tại là i – 1 và các bits lối vào có biểu diễn thập phân là j – 1.
Bit lối ra đầu tiên là bit có trọng số lớn nhất.
Mã hóa:
Mã hoá mã chập được thực hiện bằng lệnh convenc. Hàm này trả về véc tơ lối
ra code ứng với thông điệp lối vào msg, với trellis là cấu trúc mô tả bộ mã hoá.
84
>> [code final_state] = convenc (msg,trellis,init_state)
init_state là một thông số phụ, xác định trạng thái khởi đầu của thanh ghi dịch,
đó là một số nguyên trong khoảng từ 0 đến trellis.numStates – 1. Giá trị mặc định là 0.
Hàm này cũng trả về trạng thái sau cùng final_state của bộ mã hoá sau khi xử lý
xong thông điệp.
Giải mã mã chập:
MATLAB sử dụng giải thuật Viterbi để giải mã mã chập. Có hai phương pháp
giải mã là phương pháp quyết định cứng và phương pháp quyết định mềm.
Phương pháp quyết định cứng: thông điệp mã hoá lối vào code có dạng nhị
phân và thông điệp giải mã ở lối ra decoded cũng là một vector nhị phân, không
cần thực hiện thêm các xử lý khác.
>> decoded = vitdec(code,trellis,tblen,opmode,dectype)
opmode cho biết chế độ hoạt động của bộ giải mã. Có ba khả năng lựa chọn:
‘trunc’: bộ mã hoá được xem như khởi đầu từ trạng thái all-zero (toàn bit 0). Bộ
giải mã sẽ thực hiện dò từ trạng thái ứng với độ đo tốt nhất.
‘term’: bộ mã hoá được xem như khởi đầu và kết thúc ở trạng thái all-zero. Bộ
giải mã tiến hành d2 từ trạng thái all-zero.
‘cont’: bộ mã hoá được xem như khởi đầu từ trạng thái all-zero. Bộ giải mã sẽ
thực hiện dò từ trạng thái ứng với độ đo tốt nhất. Trường hợp này có xét tới độ trễ
bằng tblen ký hiệu.
dectype cho biết phương pháp giải mã:
‘unquant’: bộ giải mã nhận vào tín hiệu thực, có dấu. Giá trị +1 biểu diễn mức
logic 0 và giá trị -1 biểu diễn mức logic 1.
‘hard’: phương pháp quyết định cứng, dữ liệu vào có dạng nhị phân.
‘soft’: phương pháp quyết định mềm, sẽ được trình bày sau.
tblen là độ sâu dò tìm của bộ giải mã.
Phương pháp quyết định mềm: cần xác định số bit quyết định mềm nsdec, đồng
thời dữ liệu lối vào cũng bao gồm các số nguyên từ 0 đến 2^nsdec-1.
>> decoded = vitdec(code,trellis,tblen,opmode,'soft',nsdec).
85
Giá trị lối vào bằng 0 biểu thị mức 0 với độ tin cậy cao nhất, còn giá trị
2^nsdec-1 biểu thị mức 1 với độ tin cậy cao nhất. Các giá trị khác biểu thị mức 0 hoặc
mức 1 với độ tin cậy kém hơn. Ví dụ đối với trường hợp số bit quyết định mềm bằng
3, ta có bảng mô tả như sau:
86
msg = randint(4000,1,2,139); % Dữ liệu ngẫu nhiên
t = poly2trellis(7,[171 133]); % Định nghĩa cấu trúc trellis. code =
convenc(msg,t); % Mã hoá dữ liệu.
ncode = awgn(code,6,'measured',244); % Cộng nhiễu.
% Lượng tử hoá để chuẩn bị giải mã bằng phương pháp lấy ngưỡng mềm
qcode = quantiz(ncode,[0.001,.1,.3,.5,.7,.9,.999]);
tblen = 48; delay = tblen; % Độ sâu dò tìm
decoded = vitdec(qcode,t,tblen,'cont','soft',3); % Giải mã.
87
Hình 3.44. Bộ mã chập tỷ lệ 2/3
Trước hết cần xác định các thông số cho bộ mã hoá này. Giới hạn chiều dài của
bộ mã phải là một véc tơ có chiều dài bằng 2 vì bộ mã hoá có hai lối vào. Thanh ghi
dịch ứng với lối vào1 có 4 ô nhớ (4 bộ delay), cộng với bit lối vào hiện tại, vậy chiều
dài giới hạn ứng với lối vào 1 là 5. Tương tự, chiều dài giới hạn ứng với lối vào 2 là 4.
Vậy véc tơ chiều dài giới hạn là [5 4].
Ma trận sinh của bộ mã hoá là ma trận 2 x 3 (2 lối vào, 3 lối ra). Phần tử ở hàng
i cột j cho biết ảnh hưởng của lối vào thứ i lên lối ra thứ j. Ví dụ, để xác định phần tử ở
hàng thứ 2 và cột thứ 3, ta nhận xét thấy phần tử tận cùng bên trái và hai phần tử tận
cùng bên phải của thanh ghi dịch thứ 2 được kết nối tới bộ cộng ở lối ra 3. Vậy, phần
tử ở hàng thứ 2 cột 3 của ma trận sinh có biểu diễn nhị phân là 1011, tức là bằng 13
trong hệ bát phân. Thực hiện tương tự đến các vị trí khác, ta có ma trận sinh như sau:
[23 35 0; 0 5 13].
Để thực hiện quá trình mã hoá và giải mã , dùng hàm poly2trellis để chuyển
các thông số trên thành một cấu trúc trellis.
Dưới đây là đoạn chương trình cho ví dụ trên:
msg = randint(2*len,1); % Thông điệp nhị phân ngẫu nhiên: 2 bit mỗi ký hiệu
trel = poly2trellis([5 4],[23 35 0;0 5 13]); % Định nghĩa cấu trúc trellis code =
convenc(msg,trel) % Mã hoá thông điệp.
ncode = awgn(code,7,'measured',244); % Cộng nhiễu.
% Giải mã bằng phương pháp lấy ngưỡng cứng
hcode = (1+sign(ncode-0.5))/2; % Mức ngưỡng bằng 0.5 hdecoded =
vitdec(hcode,trel,34,'cont','hard'); % Giải mã. disp('Phuong phap lay nguong cung')
[hnumber,hratio] = biterr(hdecoded(68+1:end),msg(1:end-68))
% Giải mã bằng phương pháp lấy ngưỡng mềm
% Lượng tử hoá trước khi gỉai mã.
qcode = quantiz(ncode,[0.001,.1,.3,.5,.7,.9,.999]);
sdecoded = vitdec(qcode,trel,34,'cont','soft',3); % Giải mã. disp('Phuong phap
lay nguong mem')[snumber,sratio] = biterr(sdecoded(68+1:end),msg(1:end-68))
Kết quả thực hiện chương trình:
88
Phuong phap lay nguong cung hnumber =
168 hratio =
0.0870
Phuong phap lay nguong mem snumber =
43 sratio =
0.0223
89
CHƯƠNG IV
90
tin tức). Có thể định nghĩa lại là, điều chế là quá trình làm thay đổi các thông số của
sóng mang theo tín hiệu mang tin.
Điều chế số là quá trình một trong ba thông số biên độ, tần số và pha của sóng
mang được thay đổi theo tín hiệu (hay luồng số) đưa vào điều chế để thông tin của
sóng mang phù hợp với đường truyền.
3
0, , ,
2 2 trong đó mỗi giá trị pha ứng với một cặp duy nhất của bản tin.
91
Chuỗi bit nhị phân lối vào
dk , dk 0,1,2,... bộ điều chế với tốc độ 1/T (bits/s),
sau đó được biến đổi nối tiếp - song song thành hai dòng bit
d I (t ) và dQ (t ) (các dòng
0 R R /2
cùng pha và lệch pha 90 ), mỗi dòng có tốc độ bít s b hay bằng nửa tốc độ của
bit “lẻ”
d I (t ) d 0 , d 2, d 4 ,...
dQ (t ) d1 , d3 , d5, ...
Tín hiệu sóng mang có thể định nghĩa là:
S (t ) 1/ 2d I (t ) cos(2 f 0t / 4) 1/ 2 dQ (t )sin(2 f ct / 4) (4.1)
Hay có thể viết dưới dạng như sau:
(4.2)
S (t ) A cos[2 ft (t )]
4
Hai chuỗi cơ số hai được điều biến riêng rẽ bằng hai sóng mang
d I (t ) , dQ (t )
0
chúng lệch pha nhau 90 . Hai tín hiệu điều biến, mỗi tín hiệu được coi là một tín hiệu
BPSK, được lấy tổng lại để sinh ra một tín hiệu QPSK. Vậy QPSK là sự kết hợp hai
BPSK vuông pha với nhau. Chuỗi xung điều chế với hàm cosine biên độ 1 và -1, tương
0 0 d (t )
đương với pha có hai trạng thái là 0 và 180 . Tương tự như vậy chuỗi xung Q điều
0 0
chế với hàm sine tương ứng với pha có hai trạng thái là 90 và 270 .
Phương pháp điều chế 4-PSK hay QPSK (Quadrature PSK) được giới thiệu trên
hình 4.3. Sơ đồ tạo tín hiệu QPSK dạng sin với bốn giá trị pha, xác định bởi tổ hợp
(cặp) hai bit liền nhau của tài liệu nhị phân. Tổ hợp hai bit liền nhau này được gọi là
Dibit có độ dài hai khoảng bit.
Tài liệu nhị phân trước khi đưa vào sơ đồ điều chế được tạo mã Dibit nhờ
trigger đếm đôi đơn giản. Mã Dibit được biểu thị bằng tín hiệu I và Q:
- Tín hiệu tài liệu I (cùng pha-In Phase) gồm các mức thế ứng với giá trị bit đầu
của cặp bit khảo sát.
92
- Tín hiệu tài liệu Q (bậc 2 – Quadrature) gồm các mức thế ứng với giá trị bit
thứ hai của cặp bit khảo sát.
93
Mạch phục hồi sóng mang sẽ phục hồi lại sóng mang sinω ct từ tín hiệu nhận
được, tín hiệu này được cho thẳng vào mạch nhân I và được làm lệch pha 90° trước khi
vào mạch nhân Q, tín hiệu ra ở các mạch nhân được đưa vào mạch lọc hạ thông để loại
bỏ thành phần tần số cao, các thành phần DC sẽ được tổng hợp ở mạch tổng để cho lại
dòng dữ liệu.
Bộ tái lập sóng mang (hình 4.5) bao gồm:
Hình 4.5. Sơ đồ tái lập sóng mang cho giải điều chế QPSK
- Hai sơ đồ lấy bình phương ( ) 2 để chuyển các tín hiệu khác pha về cùng một
pha.
- Vòng giữ pha PLL phát lại nhịp với tần số gấp bốn tần số mang.
- Bộ dịch pha để hiệu chỉnh pha.
- Bộ chia hai chung để đưa tần số tín hiệu tái lập còn gấp đôi tần số sóng mang.
Hai bộ chia hai với nhịp điều khiển đếm lệch pha 90 0 (lấy từ Q đến Q của bộ
chia 2 chung) để tạo các sóng mang tái lập lệch pha nhau 900.
Sơ đồ điều chế QPSK có độ phức tạp cao, được sử dụng chủ yếu trong modem
truyền số liệu và trong kỹ thuật radio số.
Hệ thống có các đặc trưng sau:
- Sai số ít hơn phương pháp FSK.
- Phổ cực tiểu của tín hiệu điều chế (FW) bằng nửa tốc độ truyền bit (=Fb/2).
- Hiệu suất truyền = 2 (xác định bằng (Fb/ FW) = 2).
- “Tốc độ Baud” được định nghĩa như tốc độ điều chế bằng nửa tốc độ truyền
(=Fb/2).
Một trong bốn giá trị pha của sóng mang tương ứng với hai bit dữ liệu hay hai
bit trên một kí hiệu. Tốc độ ký hiệu trong QPSK là một nửa tốc độ bit. Cả hai nhánh
dữ liệu có thể được mang đi với một lượng như nhau trong dải băng thông hạn chế.
94
Trong QPSK, pha sóng mang có thể thay đổi chỉ một lần duy nhất trong mỗi 2T
(s), trong khoảng T(s) pha sóng mang giữ nguyên không đổi.
95
Hình 4.7. Biểu đồ không gian tín hiệu 16-QAM
Hình 4.8.Biểu đồ không gian tín hiệu QAM nhiều trạng thái
Mạch điều chế 8 - QAM
Hệ thống 8 - QAM điều chế tín hiệu trên cơ sở tổ hợp Tribit. Một nhóm trong
chúng thay đổi biên độ và hai nhóm còn lại thay đổi về phía pha. Tín hiệu điều chế sẽ
nhận bốn pha và hai biên độ khác nhau.
96
Hình 4.9. Sơ đồ khối mạch điều chế 8-QAM
Trong mạch điều chế này a,b xác định cực tính của tín hiệu ra ở mạch biến đổi,
riêng bit c đuợc đưa thẳng vào hai mạch biến đổi mà không qua mạch đảo như ở PSK
8 pha, nếu c =1 cả hai lối ra có biên độ cao và nếu c =0 cả hai lối ra có biên độ thấp.
Như vậy, với 8-QAM, các tín hiệu ở các lối ra của mạch biến đổi luôn có cùng biên độ.
Hình 4.10. Giản đồ vị trí các điểm đặc trưng các tribit
Các tín hiệu ra của 8-QAM có 2 biên độ và 4 pha khác nhau.
So sánh các cách điều chế QAM và PSK người ta thấy QAM tốt hơn về mặt tỉ
số tín hiệu nhiễu. Thí dụ với hệ thống 8-QAMxác suất lỗi là 10 -8trong lúc 16-PSK xác
suất này là 10-4. Do đó trong các hệ thống truyền với vận tốc cao người ta thường dùng
cách điều chế QAM hơn.
Mạch điều chế 16-QAM
97
Trong sơ đồ, mạch chia bit chia tổ hợp 4 bit theo hai kênh vào hai mạch biến
đổi 2 ra 4 mức, các bit a,b xác định cực tính tín hiệu ra và các bit c,d xác định biên độ.
a,b = 0, tín hiệu ra âm c,d = 0 biên độ = 0,22 V.
a,b = 1 tín hiệu ra dương c,d = 1 biên độ = 0,821 V.
Mỗi lối ra của mạch biến đổi có thể có 1 trong 4 tín hiệu ±0,22 hoặc ±0,821.
Mạch LPF loại bỏ các họa tần. Các tín hiệu sau đó vào mạch điều chế cân bằng như
trong các phần trước và ở lối ra ta có 1 trong 16 tín hiệu, các tín hiệu này nhận 3 giá trị
biên độ và 12 góc pha khác nhau, khoảng cách các góc pha là 30°.
Với cách điều chế 16-QAM, mỗi 4 bit tương ứng một tín hiệu ra nên vận tốc bit
bằng 4 lần vận tốc baud. Nếu chọn vận tốc baud là 2400 baud/s để thỏa băng thông của
kênh thoại thì vận tốc bit là 9600 bps và hiệu suất băng thông là 4 bps/Hz. Trong
trường hợp này băng thông tín hiệu trong khoảng từ 500 Hz (1700 Hz - 1200 Hz) đến
2900 Hz (1700 Hz + 1200 Hz).
A tan 1
0.22
15 (4.6)
0.821
b) Giải điều chế
Tín hiệu M-QAM vào:
Q ( t ) =a ( t ) . cos ω 0 t +b ( t ) . sin ω0 t (4.7)
Tín hiệu chuẩn:
Qref 1 ( t )=2. cos ω0 t và Qref 2 ( t )=2. sin ω 0 t . (4.8)
Sau khi loại bỏ thành phần hài bậc cao ở các bộ lọc thông thấp ta sẽ có:
98
Q LPF1 ( t )=a ( t ) và Q LPF2 ( t ) =b ( t )
99
khoảng cách tần số cực tiểu cho phép hai tín hiệu FSK là trực giao kết hợp và tên khóa
dịch cực tiểu ngụ ý sự tách biệt tần số cực tiểu cho phép tách sóng trực giao.
Ta có thể trình bày sóng mang đã được điều chế của tín hiệu MSK như sau:
S (t ) A *cos(c t t 0 ) (4.9)
Trong đó:
A là biên độ không thay đổi.
c 2 f c [rad/s] là tần số góc phụ thuộc sóng mang.
t là góc pha phụ thuộc vào luồng số liệu đưa lên điều chế.
ki 1 nếu di di 1
i (t )
2T , T là khoảng thời gian bit.
Như vậy tín hiệu MSK nếu bit điều chế ở thời điểm xét giống bit ở thời điểm
trước đó t sẽ thay đổi tuyến tính từ 0 đến 2 , ngược lại nếu bit điều chế ở thời điểm
xét khác bit trước đó thì t sẽ thay đổi tuyến tính từ 0 đến 2 . Với T là khoảng chu kì
(t )
bit, tại thời điểm ban đầu ta xét 0<t<T thì i sẽ thay đổi tuyến tính từ 0 đến 2 ứng
(t )
với bit dữ liệu là “1” và i sẽ thay đổi tuyến tính từ 0 đến 2 ứng với bit dữ liệu là
“0”.
100
Hình 4.14. Phase tín hiệu MSK
Sự thay đổi góc pha ở điều chế MSK cũng dẫn đến thay đổi tần số theo quan hệ
sau:
d (t ) / dt (4.11)
Trong đó:
(t ) ct t 0
Nếu chuỗi bit đưa lên điều chế không đổi ( toàn số 1 hoặc 0) ta có tần số sau:
(4.12)
1 2 f1 c
2T
f1 f c
1 (4.13)
Hay: 4 *T
Nếu chuỗi bit đưa lên điều chế thay đổi luân phiên (1,0,1,0…) thì ta có tần số
sau:
(4.14)
2 2 f 2 c
2T
f2 fc
1 (4.15)
Hay: 4 *T
Trong đó
d I (t ) , dQ (t ) là các bit “chẵn”, “lẻ” của dòng dữ liệu lưỡng cực có giá
0
trị 1, -1 và chúng nuôi các nhánh cùng pha và lệch pha 90 của bộ điều chế.
101
d I (t ) d 0 , d 2, d 4 ,...
dQ (t ) d1 , d3 , d5, ...
*Sơ đồ điều chế MSK
kết quả cho ta hai sóng sin có pha kết hợp với tần số
f1 và f 2 như sau:
1 1
cos(2 f c t ) cos( t / 2Tb ) cos(2 f1 ) cos(2 f 2 )
2 2
f1 f c f
f 2 f c f
Trong đó: f 1/ 4Tb
Hai hàm sin sau đó được tách riêng bằng hai bộ lọc băng thông có tần số trung
tâm là
f1 và f 2 . Sau đó đầu ra các bộ lọc cộng chéo với nhau để được hàm trực giao
cơ sở:
1
1 (t ) cos(2 f1t ) cos(2 f 2t )
2
f f f f
sin 2 1 2 t sin 2 1 2 t
2 2
sin( t / 2Tb )sin(2 f ct )
1
2 (t ) cos(2 f1t ) cos(2 f 2t )
2
f f f f
cos 2 1 2 t cos 2 1 2 t
2 2
cos( t / 2Tb ) cos(2 f ct )
102
Sau đó các hàm
1 (t ) và 2 (t ) nhân với hai chuỗi nhị phân có tốc độ bít bằng
1/ 2Tb được phân đôi từ luồng nhị phân đưa lên điều chế để ấn định dấu cho s1 và s2
sau đó cộng hai nhánh với nhau ta được tín hiệu MSK.
Hình 4.16. Giản đồ chòm sao biểu diễn sự thay đổi pha của tín hiệu MSK
103
Hệ thống mô phỏng sử dụng các khối truyền thông khác nhau để thiết lập mô
hình QPSK trên kênh truyền có tác động của nhiễu Gausse trắng cộng tính AWGN. Hệ
thống mô phỏng gồm các khối sau:
1. Một nguồn phát nhị phân theo phân bố Bernoulli
2. Một bộ mã xoắn
3. Một bộ điều chế khóa dịch pha cầu phương QPSK
4. Một kênh nhiễu Gausse trắng cộng tính AWGN
5. Một bộ giải điều chế khóa dịch pha cầu phương QPSK
6. Một bộ giải mã xoắn
7. Một bộ tính toán tỉ lệ lỗi bit
8. Một bộ hiển thị thống kê lỗi khi chạy mô phỏng
9. Hai giản đồ chòm sao để quan sát tín hiệu
Các bước thực hiện mô phỏng
1) Xây dựng khối
Từ cửa sổ Simulink Library Browser, lấy các khối sau:
- QPSK Modulator Baseband: Điều chế tín hiê ̣u đầu vào sử dụng phương
pháp điều chế khóa dịch pha cầu phương QPSK làm thay đổi pha của tín hiệu.
104
thời gian của một tín hiệu điều chế, thể hiện ra các đặc điểm như hình dạng xung hoặc
sự méo của tín hiệu.
105
Hình 4.22. Thiết lập tham số khối nguồn phát
- Khối mã xoắn:
+ Tỷ lệ mã thiết lập là 1/2 với cấu trúc được xây dựng bởi hàm poly2trellis(7,
[171 133]).
+ Chế độ hoạt động: liên tục.
106
Hình 4.24. Tham số khối điều chế QPSK
- Khối kênh truyên AWGN (AWGN Channel):
107
+Kiểu quyết định: quyết định cứng.
108
Hình 4.28. Tham số khối tính toán tỷ lệ lỗi bit
- KhốiKhối giản đồ chòm sao (Discrete – Time Scatter Plot Scope):
+ Sample per symbol: Số mẫu trên một ký hiê ̣u: 1.
+ Offset (samples): Đô ̣ lê ̣ch mẫu: 0.
+ Points displayed: Số điểm hiển thị: 40.
+ New points per displayed: Số điểm mới xuất hiện trên mỗi khung hiển thị: 10
109
Hình 4.29. Tham số khối giản đồ chòm sao
3) Mô phỏng
Sau khi thiết lập các thông số như trên, ta tiến hành mô phỏng bằng cách vào
Simulation -> Start. Kết quả được hiển thị trên khối Display như hình 4.30.
110
Từ bảng kết quả mô phỏng ta nhận thấy khi tỷ số tín hiệu trên tạp âm (SNR)
tăng lên thì tỷ lệ lỗi bit (BER) giảm xuống hay hệ thống thông tin có chất lượng tốt
hơn.
Sự can thiê ̣p của nhiễu Gauss trắng ảnh hưởng trực tiếp đến thông lượng và chất
lượng của kênh truyền. Qua mô phỏng và quan sát giản đồ chòm sao ta thấy:
- Tỉ lê ̣ lỗi bit BER phụ thuô ̣c vào tỉ số SNR của trên truyền: SNR càng lớn, BER
càng nhỏ và ngược lại.
- Khi tín hiê ̣u điều chế chưa đưa qua kênh truyền AWGN, các điểm trên giản đồ
chòm sao là lý tưởng, chúng là các chấm xác định và không bị dao đô ̣ng ra xung quanh.
Hình 4.31. Giản đồ chòm sao khi chưa có tác động của AWGN
Nhiễu Gause trắng đã làm cho các điểm trên giản đồ chòm sao bị dao động ra
xung quanh vị trí chuẩn của nó. Mặc dù ảnh hưởng của nhiễu này chưa làm cho các
điểm trong giản đồ chòm sao lẫn vào nhau, xong nó cũng gây ảnh hưởng đến quá trình
truyền của hệ thống và quá trình khôi phục lại tín hiệu bên thu.
111
Hình 4.32. Giản đồ chòm sao khi có tác động của AWGN với Es/No = 5dB
4.5.2. Mô phỏng điều chế QAM
Cấu trúc của khối mô phỏng
Hệ thống mô phỏng sử dụng các khối truyền thông khác nhau để thiết lập mô
hình QAM trên kênh truyền có tác động của nhiễu Gausse trắng cộng tính AWGN. Hệ
thống mô phỏng gồm các khối sau:
1. Một nguồn phát nguyên ngẫu nhiên
2. Một bộ điều chế 256-QAM
3. Một kênh nhiễu cộng tính AWGN
4. Một bộ giải điều chế 256-QAM
5. Một bộ tính toán tỷ lệ lỗi bit
6. Một bộ hiển thị thống kê lỗi khi chạy mô phỏng
7. Hai giản đồ chòm sao để quan sát tín hiệu.
Các bước thực hiện mô phỏng
1) Xây dựng các khối
- Khối phát số nguyên ngẫu nhiên: Tạo ra các số nguyên ngẫu nhiên trong
khoảng từ [0 ; M-1]
112
Hình 4.33. Khối phát số nguyên ngẫu nhiên
- Khối QAM Modulator Baseband: Điều chế tín hiệu lối vào sử dụng phương
pháp điều chế thay đổi cả pha và biên độ tín hiệu sóng mang theo tín hiệu cần
điều chế. Lối vào có thể là các bit hoặc các số nguyên.
113
2) Thiết lập các thông số
- Random Interger:Các tham số được thiết lập như hình dưới đây:
114
Hình 4.38. Tham số khối điều chế QAM
- Khối AWGN Channel:
+ Initial seed: Khối tạo giá trị ban đầu cho bô ̣ tạo nhiễu gauss: 67.
+Mode : Es/No
+ Es/No: 35
+ Number of bit per symbol: Số bit trong 1 ký hiệu : 1.
+ Input signal power (watt): Công suất của ký hiệu lối vào: 1.
+ Symbol periol(s): Khoảng thời gian tồn tại của kí tự tính theo (s): 0.001
115
Hình 4.39. Tham số khối kênh AWGN
- Khối QAM Demodulator Baseband: Các thông số để như khối QAM
Modulator Baseband.
116
Hình 4.40. Thiết lập tham số khối giải điều chế QAM
117
- Khối Error Rate Calculator:
118
Hình 4.42. Tham số khối giản đồ chòm sao
*Mô phỏng
Sau khi thiết lập các thông số như trên, ta tiến hành mô phỏng bằng cách vào
Simulation > Start. Kết quả được hiển thị trên khối Displaynhư hình 4.46.
119
Giản đồ chòm sao tín hiệu sau khi điều chế 256- QAM:
Hình 4.44. Giản đồ chòm sao tín hiệu sau khi điều chế 256- QAM
Giản đồ chòm sao tín hiệu sau khi điều chế và bị ảnh hưởng của nhiễu Gausse
trắng như sau:
Hình 4.45. Giản đồ chòm sao tín hiệu sau khi đi qua kênh truyền AWGN
Thay đổi giá trị Es/Nocủa khối AWGN, ta thu được tỉ lệ lỗi bít khác nhau. Sau
khi thay số với các giá trị SNR trong khối AWGN, ta có bảng sau:
Es/No 10 15 20 25 30
120
BER 0.896 0.752 0.488 0.09 0.00102
Bảng 4.2. Kết quả mô phỏng phương pháp điều chế QAM
- Sau khi mô phỏng ta thấy có thành phần nhiễu pha tác đô ̣ng trong quá trình
truyền thì vị trí các kí tự đã có sự thay đổi.
- Các kí tự nhiễu khi thu tùy vào mức độ ảnh hưởng sẽ làm cho bên thu nhầm
với các kí tự bên cạnh và gây ra lỗi kí tự sau khi giải điều chế.
- Khi chưa có thành phần nhiễu tác đô ̣ng lên kênh truyền nó không làm ảnh
hưởng đến các kí tự bên cạnh. Do đó viê ̣c giải mã bên thu sẽ không xảy ra lỗi bít.
Nhiễu Gause trắng đã làm cho các điểm trên giản đồ chòm sao bị dao động ra
xung quanh vị trí chuẩn của nó một đại lượng nào đấy. Mặc dù ảnh hưởng của nhiễu
này chưa làm cho các điểm trong giản đồ chòm sao lẫn vào nhau xong nó cũng gây
ảnh hưởng đến quá trình truyền của hệ thống và quá trình khôi phục lại tín hiệu bên
thu.
4.5.3. Mô phỏng điều chế MSK
Mô hình mô phỏng điều chế MSK qua kênh chịu tác động của nhiễu Gausse
trắng cộng tính AWGN bao gồm những thành phần sau:
- Một bộ nguồn tín hiệu MSK sử dụng khối máy phát nhị phân Bernoulli.
- Một bộ mã chập.
- Một khối điều chế băng cơ sở MSK.
- Một mô hình kênh AWGN.
- Một khối giải điều chế băng cơ sở MSK.
- Một bộ giải mã chập.
- Một khối tính toán tốc độ lỗi bit.
- Một khối hiển thị.
- Hai khối giản đồ chòm sao.
*Các khối trong sơ đồ mô phỏng
Ở phần này chỉ trình bày khối điều chế MSK, khối giải điều chế MSK. Các khối
còn lại đã được trình bày ở các phần mô phỏng ở chương 3 và mục 4.5.1, 4.5.2.
Khối điều chế tín hiệu băng cơ sở MSK (MSK modulator baseband): Thực hiện
điều chế tín hiệu sử dụng phương pháp khóa dịch pha cực tiểu.
121
Hình 4.46. Khối điều chế MSK
KhốiđiềuchếbăngcơsởMSKđiềuchếsửdụngphươngphápkhoádịch pha cực tiểu.
Lối ra là biểu diễn băng cơ sở của tín hiệu điều chế.
Khối giải điều chế tín hiệu băng cơ sở MSK: Thực hiện giải điều chế tín hiệu sử
dụng phương pháp khóa dịch pha cực tiểu. Lối ra là sự biểu diễn băng cơ sở của tín
hiệu được điều chế.
122
Hình 4.49. Tham số khối nguồn phát
- Khối mã xoắn (Convolutional Encoder):
+ Tỷ lệ mã thiết lập là 1/2 được xây dựng bởi hàm poly2trellis(7, [171 133])
+ Chế độ hoạt động: liên tục.
123
- Khối điều chế MSK (MSK Modulation Baseband):
- Loại lối vào: Xác định dữ liệu lối vào là lưỡng cực hay nhị phân.
- Độ dịch pha (rad): Pha ban đầu của dạng sóng lối ra.
124
Khối giải điều chế MSK (MSK Demodulator Baseband):
125
- Khối kênh truyền AWGN (AWGN Channel):
126
- Khối tính toán tỷ lệ lỗi bit:
127
Tín hiệu điều chế khi chưa đi qua kênh truyền là lý tưởng được thể hiện qua
giản đồ chòm sao như sau:
Hình 4.57. Giản đồ chòm sao tín hiệu điều chế MSK
Và khi có tác động của nhiễu khi đi qua kênh truyền thì các điểm trên giản đồ
chòm sao bị dịch chuyển từ các vị trí lý tương như hình dưới đây:
128
Hình 4.58. Giản đồ chòm sao tín hiệu MSK sau khi qua kênh AWGN
4.5.4. Các hàm hỗ trợ mô phỏng điều chế
Dưới đây là danh sách các hàm MATLAB thực hiện điều chế. Cụ thể như sau:
Tên hàm và cú pháp Chức năng Giải thích
Dpskmod(x,M,phaserot) Điều chế DPSK M: số trạng thái của ký
hiệu
Phaserot: độ xoay pha
của phép điều chế
Dpskdemod(x,M,phaserot) Giải điều chế DPSK
Fskmod(x,M,fre_sep,N,Fs, Điều chế FSK Fre_sep: khoảng cách
cont) giữa các tần số liên tiếp
N: số mẫu trên một ký
hiệu
Fs: tần số lấy mẫu, mặc
định 1
Cont: tính liên tục về
pha giũa hai ký hiệu
Fskdemod(x,M,fre_sep,N, Giải điều chế FSK
Fs)
Genqammod(x,const) Điều chế QAM theo mã Const: vector chuyển
Gray đổi
X: chuỗi các số nguyên
từ o đến length(const)-
1
Genqamdemod(y,const) Giải điều chế QAM theo
mã Gray
mskmod(x,N,data_enc,pha Điều chế MSK Data_enc: phương
se pháp mã hóa dữ liệu
mskdemod(x,N,data_enc,p Giải điều chế MSK
hase)
oqpskmod(x,phase) Điều chế OQPSK Phase: offset pha của
tín hiệu sau điều chế
oqpskdemod(x,phase) Giải điều chế OQPSK
qammod(x,M,phase) Điều chế QAM phase:offset pha của tín
hiệu sau điều chế
qamdemod(x,M,phase) Giải điều chế QAM
pskmod(x,M,phase) Điều chế PSK
pskdemod(x,M,phase) Giải điều chế PSK
Bảng 4.3. Các hàm MATLAB hỗ trợ mô phỏng điều chế số
Trước khi thực hiện điều chế số, ta phải biểu diễn nguồn dữliệu (một tập hợp M
ký hiệu rời rạc) thành một tín hiệu mà các giá trịcủa nó là các sốnguyên từ0 đến M-1.
129
Chẳng hạn, nếu thực hiện điều chếdựa trên một tập gồm 8 ký hiệu, thì nguồn ký hiệu
đầu vào phải được biểu diễn dưới dạng một vector cột gồm các sốnguyên từ0 đến 7:
>> s = [2 3 4 1 4 7 0 4 5 2]’;
Hoặc dưới dạng ma trận nếu là tín hiệu đa kênh:
>> s = [2 1;
3 5;
4 0;
2 1];
Ví dụ: Thực hiện điều chế16-QAM tín hiệu x(t ) sin(2 t ) sin(4 t ) . Sau đó thực
hiện giải điều chế16-QAM.
Để giải quyết bài toán trên, đầu tiên ta phải biểu diễn nguồn dữ liệu vào dưới
dạng một vector gồm các số nguyên từ0 đến 15. Do đó ta phải tách chuỗi bit nhị phân
thành các nhóm 4 bit (gọi là 4-tuple) rồi chuyển mỗi nhóm này thành một số nguyên
tương ứng trong khoảng từ 0 đến 15. Hàm reshapecho phép chuyển chuỗi bit thành
một ma trận 4 cột, như vậy mỗi hàng của ma trận ứng với 1 nhóm 4 bit. Hàm bi2de
cho phép chuyển các số nhị phân thành thập phân. Đoạn chương trình sau sẽ thực hiện
quá trình xử lý nguồn dữ liệu nêu trên:
% Thiết lập các thông số.
Fs = 100; % Tần sốlấy mẫu
t = [0:2*Fs+1]'/Fs; % Các thời điểm lấy mẫu
% Khởi tạo một tín hiệu tương tự là tổng của hai tín hiệu sin.
x = sin(2*pi*t) + sin(4*pi*t);
%% Chuyển đổi bit – ký hiệu
% Chuyển chuỗi bit trong vector x thành các ký hiệu k-bit (k=4)
k = 4; % Chuyển thành các 4-tuple
xsym = bi2de(reshape(x,k,length(x)/k).','left-msb');
%% Giản đồ xung
% Vẽcác ký hiệu trên giản đồ xung.
figure; % Khởi tạo một của sổ đồ họa mới.
stem(xsym(1:10)); % Vẽ giản đồ xung
130
title('Random Symbols');
xlabel('Symbol Index'); ylabel('Integer Value');
131
z = reshape(z.',prod(size(z)),1);
Chú ý: hàm qammod cũng như các hàm điều chế số khác trong MATLAB đều
trả về vector phức, do đó ta chưa thể vẽ được dạng sóng của tín hiệu sau khi điều chế.
Muốn vẽ dạng sóng tín hiệu sau khi điều chế, ta phải chuyển đổi dạng tín hiệu băng
gốc thu được sau khi dùng các hàm điều chế số thành tín hiệu băng dải thực. Các thông
số cần có để thực hiện điều này là tốc độ bit và tần số lấy mẫu.
Ví dụ dưới đây thực hiện vẽ dạng sóng tín hiệu sau khi điều chế ở ví dụ trước,
giả sử tốc độ ký hiệu bằng 1Kbps, tần số sóng mang bằng 10KHz, tần số lấy mẫu bằng
100KHz.
% Thiết lập các thông số
fd = 1000; % Tốc độ ký hiệu
fc = 10*fd; % Tần số sóng mang
fs = 10*fc; % Tần số lấy mẫu
len = length(y)*fs/fd; % Số mẫu của tín hiệu y
Yreal = real(y);%Tín hiệu Y1(t) là phần thực của tín hiệu điều chế băng gốc y
Yimag = imag(y);% Tín hiệu Y2(t) là phần ảo của tín hiệu điều chếbăng gốc y
% Khởi tạo vector tín hiệu
y1 = [];
y2 = [];
xtmp=[];
ztmp=[];
for k=1:length(y) % Xét từng chu kỳký hiệu
sigx=xsym(k,1)*ones(1,100); % Tạo 100 mẫu giá trịbằng x
sig1=Yreal(k,1)*ones(1,100); % Tạo 100 mẫu giá trịbằng Yreal
sig2=Yimag(k,1)*ones(1,100); % Tạo 100 mẫu giá trịbằng Yimag
sigz=zsym(k,1)*ones(1,100); % Tạo 100 mẫu giá trịbằng z
y1=[y1 sig1];
y2=[y2 sig2];
xtmp = [xtmp sigx];
ztmp = [ztmp sigz];
132
end
time = 0:(1/fs):(len-1)/fs; % Vector thời gian
ymod = y1.*cos(2*pi*fc*time)-y2.*sin(2*pi*fc*time); % Tín hiệu sau điều chế
figure;
subplot(3,1,1); plot(time,xtmp); % Vẽtín hiệu trước khi điều chế.
title('Tin hieu goc');
subplot(3,1,2); plot(time,ymod); % Vẽtín hiệu sau khi điều chế.
title('Tin hieu sau khi dieu che');
subplot(3,1,3); plot(time,ztmp); % Vẽtín hiệu sau khi giải điều chế.
title('Tin hieu sau khi giai dieu che');
Kết quảthực thi chương trình:
133
CHƯƠNG V
Hình 5.1. Hệ thống truyền thông với mô hình kênh rời rạc
Thuật ngữ “mô hình kênh rời rạc” DCM được dùng để bao hàm tất cả các phần
tử của hệ thống truyền thông nằm giữa hai điểm A và B trong đó đầu vào tại A là một
véc tơ các ký hiệu rời rạc (chuỗi đầu vào) và đầu ra tại B là một véc tơ các ký hiệu rời
rạc khác (chuỗi đầu ra).
Các mô hình kênh rời rạc được chia làm hai loại: Kênh rời rạc không nhớ và
kênh rời rạc có nhớ.
134
Mô hình kênh rời rạc có nhớ là mô hình đáng quan tâm hơn để ứng dụng vào
tình huống ở đó việc chuyển tiếp các ký hiệu vào/ra bị tương quan theo thời gian.
Trong trường hợp này, xác suất lỗi đối với ký hiệu thứ n phụ thuộc vào có xảy ra lỗi ở
lần truyền dẫn các ký hiệu trước đó hay không.
Mô hình kênh rời rạc không nhớ được dùng để mô hình hóa các lỗi truyền dẫn
hoặc mô hình hóa các chuyển tiếp từ đầu vào kênh tới đầu ra kênh với giả định không
có tương quan thời gian trong cơ chế chuyển tiếp (nghĩa là xác suất chuyển tiếp vào/ra
cho ký hiệu đầu vào kênh thứ n không bị ảnh hưởng bởi những gì xảy ra cho bất kỳ
các ký hiệu đầu vào khác). Trong hệ thống nhị phân quyết định cứng, giả định này có
nghĩa là các lỗi bit không tương quan nhau.
Trong kênh rời rạc không nhớ, việc sắp xếp từ đầu vào tới đầu ra là tức thì và
được mô tả bằng một tập các xác suất truyền. Mô hình kênh rời rạc không nhớ đơn
giản nhất là mô hình kênh nhị phân đối xứng (BSC).
Kênh nhị phân đối xứng BSC được minh họa như hình dưới đây:
tương ứng với xác suất lỗi truyền dẫn ký hiệu thứ k. Đối với kênh không nhớ,
pk
không phụ thuộc vào k, vì vậy lỗi trên tất cả các ký hiệu đều bị ảnh hưởng bởi kênh
với cùng một kiểu. Chuỗi M ký hiệu được xử lý thông qua kênh không nhớ bằng cách
gọi mô hình kênh M lần liên tiếp. Với ký hiệu thứ k, đầu vào nhị phân là “0” thu đúng
135
là “0” với xác suất 1-
pk , và thu sai là “1” với xác suất lỗi là pk . Đầu ra kênh thứ k
được ký hiệu là
yk , và chuỗi M ký hiệu của các đầu ra được ký hiệu là véc tơ Y.
Kênh là đối xứng trong đó các số 0 và số 1 đều bị ảnh hưởng bởi kênh theo
cùng một kiểu. Lưu ý rằng kết quả của tính đối xứng là xác suất lỗi không phụ thuộc
vào ký hiệu phát, vì vậy nguồn lỗi có thể được mô phỏng riêng biệt với nguồn thông
tin (số liệu).
Đối với kênh nhị phân, quan hệ đầu vào/ra có thể được biểu diễn như sau:
Y X E (5.1)
Trong đó X và Y là các véc tơ dữ liệu vào/ra, là phép toán XOR, E là véc tơ
E e1 , e2 , e3 , ...
lỗi. Cụ thể, là véc tơ nhị phân hay chuỗi có phần tử {0,1} trong đó
ek 0 biểu thị phần tử thứ k của X, xk được thu đúng ( yk xk ), và ek 1 biểu thị phần
tử thứ k của X,
xk được thu sai ( yk xk ). Tham số xác định hiệu năng của mô hình
việc mô phỏng hệ thống ở mức dạng sóng. Lưu ý rằng, đối với hệ thống nhị phân, ước
tính xác suất lỗi theo Monter Carlo là trọng số Hamming của véc tơ lỗi E được chia
cho N (số lượng các phần tử trong véc tơ lỗi E).
5.1.2. Mô phỏng
Cấu trúc khối mô phỏng
Hệ thống mô phỏng kênh truyền nhị phân đối xứng BSC sử dụng các khối
truyền thông khác nhau, bao gồm:
1. Một bộ nguồn phát nhị phân theo phân bố Bernoulli.
2. Một bộ mã hóa Hamming.
3. Một kênh nhị phân đối xứng BSC.
4. Một bộ giải mã hóa Hamming.
5. Một bộ tính toán tỉ lệ lỗi bit.
6. Một bộ hiển thị thống kê lỗi khi chạy mô phỏng.
Các bước thực hiện mô phỏng
136
1) Xây dựng khối
Đầu tiên từ cửa sổ của chương trình Matlab, gõ lệnh simulink để sử dụng công
cụ này.
Sau đó, tạo ra một file mô phỏng mới bằng cách vào File > New > Model. Hoặc
sử dụng cụm phím tắt Ctrl +N.
Tiếp theo từ cửa sổ Simulink Library Browser, lấy các khối sau:
- Bernoulli Binary Generator:Khối nguồn, hay còn gọi là khối nhị phân
Bernoulli. Khối này tạo ra dữ liê ̣u số gồm dãy bit 0, 1 theo phân bố Bernoulli.
137
Hình 5.6. Khối giải mã Hamming
- Error Rate Calculation: Là khối tính toán tỉ lê ̣ lỗi bit hoă ̣c tỉ lê ̣ lỗi symbol
của tín hiê ̣u lối vào.
Khối này so sánh dữ liệu lối vào của bộ phát với dữ liệu lối vào của bộ thu. Dữ
liê ̣u ra của khối này gồm: Tốc đô ̣ lỗi bit, tổng số bit lỗi là số các bit khác nhau và số bit
được so sánh.
138
2) Thiết lập các thông số cho mỗi khối
Khối Bernoulli Binary Generator:
Khối này có các tham số sau:
1) Probability of a zero: Xác suất xuất hiện bit 0.
2) Initial seed (Giá trị khởi tạo): Giá trị khởi tạo cho máy phát bit nhị phân
ngẫu nhiên. Nó có thể là một vecto có chiều dài bằng với xác suất xuất hiện
bit 0, hoặc là vô hướng.
3) Sample time: Thời gian lấy mẫu.
4) Frame – based output: Xác định kết quả đầu ra bao nhiêu khung hoặc mẫu.
5) Samples per frame (số mẫu trên khung): Tham số này được kích hoạt khi
chúng ta tích chọn “Frame – base output”.
6) Output data type (kiểu đầu ra): Kiểu đầu ra có thể được xác định là kiểu
boolean, int8, uint8, int16, uint16, int32, uint32, single, or double. Theo mặc
định kiểu double sẽ được chọn.
Các tham số của khối được thiết lập như hình vẽ sau:
Hình 5.10. Thiết lập thông số cho khối tạo bit ban đầu.
Khối Hamming Encoder và Hamming Decoder:
Hai khối này có hai tham số như sau:
1) Codeword length N (chiều dài từ mã N): Ở đây chúng ta chọn chiều dài từ
mã là 7.
2) Message length K, or M-degree primitive polynomial (chiều dài bản tin hoặc
bậc M của đa thức sinh). Tạo đa thức nguyên thủy bằng cách sử dụng hàm
gfprimfd. Ở đây ta tạo đa thức sinh có bậc bằng 3.
139
Hình 5.10. Thiết lập thông số cho khối mã hóa Hamming
Khối Binary Symetric Channel:
Khối này có các tham số như sau:
- Error probability: Xác suất lỗi. Tham số này cho phép ta đặt xác suất lỗi nhị
phân (từ 0 đến 1) để cộng nhiễu nhị phân vào tín hiệu lối vào.
- Initial seed: Giá trị khởi tạo cho bộ phát số nguyên ngẫu nhiên.
- Output error vector: Vec tơ lỗi đầu ra. Tham số này được kích hoạt nếu muốn
khối có thêm một đầu ra là vec tơ lỗi.
- Output datatype: Kiểu dữ liệu ra. Được chọn là kiểu double.
140
Hình 5.12. Thông số của khối tính toán lỗi
Khối Display: Khối hiển thị
141
Hình 5.14. Kết quả chạy mô phỏng kênh BSC
Chúng ta có thể thay đổi các tham số của các khối để thấy sự thay đổi về tỷ lệ
BER hiển thị trên khối Display.
Thực hiện mô phỏng bằng hàm MATLAB:
MATLAB thực hiện mô phỏng loại kênh truyền này bằng cách dùng hàm
bscvới các thông sốnhập là tín hiệu nhịphân truyền qua và xác suất đảo bit p.
Nếu muốn mô phỏng kênh truyền đảo bit nhịphân với các tính chất thống kê
liên quan đến sốbit lỗi trong một từmã, ta có thểdùng hàm randerr. Hàm này tạo ra
một ma trận gồm các phần tử0 hoặc 1. Nếu ta xem mỗi hàng của ma trận ứng với một
từmã thì sốphần tử1 trong mỗi hàng sẽbiểu diễn sốbit lỗi trong mỗi từmã. Ta có thểquy
định sốbit lỗi trong một từmã với một xác suất cho trước.
Ví dụ: Khảo sát mã chập bằng cách sử dụng mô hình kênh truyền đảo bit nhị
phân với xác suất đảo bit là 0.01.
t = poly2trellis([4 3],[4 5 17;7 4 2]); % Mã hoá Trellis
msg = ones(10000,1); % Dữ liệu mã hóa
code = convenc(ones(10000,1),t); % Mã hóa bằng mã chập.
[ncode,err] = bsc(code,.01); % Tạo các lỗi bit.
numchanerrs = sum(sum(err)) % Tổng số lỗi của kênh truyền
dcode = vitdec(ncode,t,2,'trunc','hard'); % Giải mã.
[numsyserrs,ber] = biterr(dcode,msg) % Số lỗi sau khi giải mã
Kết quả:
numchanerrs =
144
numsyserrs =
28
ber =
142
0.0028
143
1 x2 (5.2)
pn x exp 2
2 2
Hình vẽ 5.16 biểu diễn hàm PDF Gauss với giá trị trung bình bằng không
Hình 5.17. Mật độ phổ công suất và hàm tự tương quan của tạp âm trắng
Hàm tự tương quan của tạp âm trắng là phép biến đổi Fourier ngược của mật độ
phổ công suất tạp âm cho bởi:
144
No (5.4)
Rn
1
G f G f e
n n
j 2 f
df
2
Như vậy, hàm tự tương quan của tạp âm trắng là một hàm xung delta tại 0
khác nhau nào của tạp âm trắng đều không tương quan với nhau bất kể chúng gần nhau
đến mức nào. Do tạp âm nhiệt được cộng với tín hiệu nên nó còn được gọi là tạp âm
cộng (additive noise). Tổng hợp các đặc tính của tạp âm nhiệt ở trên chúng ta có thể
tóm tắt lại rằng tạp âm nhiệt trong các hệ thống thông tin là tạp âm Gauss trắng cộng
(AWGN: Additive White Gaussian Noise).
Việc mô phỏng kênh truyền AWGN như được trình bầy ở chương 4, phần mô
phỏng điều chế QPSK có tác động của kênh AWGN.
Hàm MATLAB hỗ trợ mô phỏng kênh AWGN:
Kênh truyền AWGN trong MATLAB được mô phỏng bằng hàm awgn. Hàm
này sẽ cộng nhiễu Gauss vào một tín hiệu cho trước (có thể là tín hiệu thực hay phức),
mức công suất nhiễu do người sử dụng quy định thông qua hai thông số nhập:
- Mức công suất tín hiệu phát (đơn vị mặc định là dBW, hoặc có thể dùng đơn
vị W).
- Tỷ số SNR (đơn vị mặc định là dB)
Cú pháp của hàm awgn như sau:
>> awgn(X,SNR,SigPower,State,PowerType)
Trong đó:
X là tín hiệu phát.
SNR là tỷ số công suất tín hiệu trên nhiễu (tính bằng dB).
SigPowercho biết công suất tín hiệu vào (dBW), hoặc nếu SigPower =
‘measured’ thì MATLAB sẽ đo công suất tín hiệu phát trước khi cộng nhiễu.
Statecho biết trạng thái của bộ phát tín hiệu ngẫu nhiên.
PowerTypechỉ ra đơn vị của SNRvà SigPowerlà đơn vịdecibel (‘dB’) hay đơn
vịt uyến tính (‘linear’).
Ba thông số cuối không nhất thiết phải đưa vào, trong trường hợp không có các
thông số này thì xem như công suất tín hiệu phát bằng 0dBW và đơn vịcủa SNR là dB.
145
Lưu ý: Ngoài thông sốSNR, để đánh giá mức độ nhiễu của kênh truyền, người
nhiễu) hoặc
Es / N o (năng lượng ký hiệu trên mật độ công suất nhiễu).
Ví dụ: Viết chương trình điều chế một chuỗi bit nhị phân tốc độ 8Kbps bằng
phương pháp BPSK với sóng mang 100KHz và phát đi trên kênh truyền có nhiễu
AWGN với
Eb / N o =10dB, sau đó giải điều chế. Vẽ các tín hiệu phát và thu.
146
% Cộng nhiễu
snr = EbNo + 10*log10(k) - 10*log10(Nsamp);
ynoisy = awgn(ytx,snr,'measured');
% Giải điều chế
ytmp = ynoisy.*xcar; % Nhân với sóng mang
[num,den]=butter(2,Fc/(Fs/2));% Bộlọc thấp Butterworth bậc 2, tần số cắt Fc
ztmp = filter(num,den,ytmp); % Lọc bỏ tần sốcao
for i = 1:length(x) % Lấy mẫu và quyết định
if ztmp(floor(((i-1)/Fb+1/2/Fb)*Fs)) > 0 % Lấy mẫu ở giữa bit
z(i) = 1; % Ngưỡng quyết định là 0
else
z(i) = 0;
end
end
xdemod = zeros(1,Nsamp);
for i=1:Nsamp
xdemod(i) = z(floor((i-1)*Fb/Fs)+1);
end
figure;
subplot(4,1,1); plot(Time,xmsg); % Vẽ tín hiệu trước khi điều chế.
title('Tin hieu goc');
subplot(4,1,2); plot(Time,ytx); % Vẽtín hiệu sau khi điều chế.
title('Tin hieu sau khi dieu che');
subplot(4,1,3); plot(Time,ynoisy); % Vẽtín hiệu thu được.
title('Tin hieu den may thu');
subplot(4,1,4); plot(Time,xdemod); % Vẽ tín hiệu sau khi giải điều chế.
title('Tin hieu sau khi giai dieu che');
Kết quả thực thi chương trình:
147
Hình 5.18. Tín hiệu điều chế BPSK phía phát và thu có tác động của nhiễu AWGN
5.3. Kênh Fading Rayleigh
5.3.1. Kênh fading Rayleigh
Hàm truyền đạt của kênh thực chất là mô ̣t quá trình xác suất phụ thuô ̣c cả thời
gian và tần số. Biên đô ̣ hàm truyền đạt của kênh tại mô ̣t tần số nhất định sẽ tuân theo
phân bố Rayleigh nếu môi trường truyền dẫn thỏa mãn các điều kiê ̣n sau:
+ Môi trường truyền dẫn không có tuyến trong tầm nhìn thẳng, có nghĩa là
không có tuyến có công suất tín hiê ̣u vượt trô ̣i.
+ Tín hiê ̣u ở máy thu nhâ ̣n được từ vô số các hướng phản xạ và nhiễu khác
nhau.
Trong trường hợp môi trường truyền dẫn có tuyến truyền dẫn trong tầm nhìn
thẳng thì công suất tín hiê ̣u từ tuyến này vượt trô ̣i so với các tuyến khác. Xác suất của
biên đô ̣ hàm truyền đạt của kênh sẽ tuân theo phân bố Rice.
Mô hình kênh pha-đinh Rayleigh
Hình vẽ 5.29 mô tả một đường liên lạc giữa anten trạm gốc (BS: Base Station)
và anten trạm di động (MS: Mobile Station). Xung quanh MS có nhiều vật phản xạ
như nhà, cây, đồi núi, ... trong khi xung quanh BS lại có rất ít hoặc không có các vật
148
phản xạ do anten trạm BS được đặt trên cao. Các vật phản xạ này được gọi chung là
vật tán xạ. Liên lạc giữa BS và MS thông qua nhiều đường (path), mỗi đường chịu một
hay nhiều phản xạ, và tín hiệu đến máy thu là tín hiệu tổng hợp từ tất cả các đường
này. Do các đường có biên độ, pha và độ trễ khác nhau, nên tín hiệu truyền qua các
đường có thể kết hợp với nhau một cách có lợi hoặc không có lợi, tạo nên một sóng
đứng ngẫu nhiên. Hiện tượng này được gọi là truyền sóng pha-đinh đa đường. Kênh
truyền sóng kiểu này được gọi là kênh pha-đinh đa đường.
s t s t e j 2 fc t (5.5)
Trong đó biểu diễn phép toán lấy phần thực.
x
Đặt độ dài của đường l là l và ký hiệu c là tốc độ ánh sáng thì thời gian truyền
sóng từ BS tới MS là
xl c . Giả sử độ suy hao của đường l là al , thì tín hiệu thu được
x (5.6)
r t al s t l
l c
Thế (5.5) vào (1.6) chúng ta có:
149
x j 2 fc t xcl
r t al s t l e
5.7
l c
xl
xl j 2 fc t c
al s t e
5.8
l c
r t
Viết lại dưới dạng:
x j 2 fct j 2 fc cl
x
r t al s t l e e 5.9
l c
r t e j 2 fct 5.10
Trong đó thành phần đường bao tín hiệu thu:
r t al s t l e j 2 fcl 5.11
l
xl
r t l
c là thời gian
Được gọi là tín hiệu băng tần gốc tương đương của , còn
trễ của đường thứ l .
v, độ dài đường truyền sóng thứ l thay đổi.
Khi MS chuyển động với tốc độ
Nếu góc tới của tia thứ l so với hướng chuyển động là l thì độ dài của tuyến thay đổi
như là một hàm của tốc độ v và thời gian t là:
xl v cos l t
(5.12)
Như vậy, đường bao phức của tín hiệu thu là:
xl xl
j 2 f c x xl
r t al e c
s t l (5.13)
l c
j 2 f c
xl
j 2 f c
vcos l t
x v cos l t
al e c
e c
s t l (5.14)
l c c
v cos l t c
Do sự thay đổi độ trễ tín hiệu là rất nhỏ so với thang thời gian của
s t
tín hiệu điều chế nên chúng ta có thể bỏ qua chúng. Như vậy, nếu đặt:
l al e j 2 fc l (5.15)
150
r t
Chúng ta có thể viết lại ở dạng rút gọn sau:
j 2
v
cos l t (5.16)
r t l e
s t l
l
l )
Từ công thức này chúng ta có thể thấy rằng vật tán xạ thứ l đã dịch tín hiệu
f D cos l
phát đi l về thời gian và về tần số.
Độ dịch Doppler cực đại là:
fc v (5.18)
fD v
c
Nếu MS chuyển động qua các vùng ngẫu nhiên, nó chịu ảnh hưởng thay đổi về
cường độ và pha tín hiệu với tốc độ thay đổi tuỳ thuộc vào vận tốc chuyển động của
MS. Giả sử băng tần tín hiệu là rất nhỏ (ứng với pha-đinh phẳng), bề rộng băng thông
r t s t l e D l g t s t (5.19)
j 2 f cos t
l
Từ công thức 5.19 chúng ta viết lại được độ lợi kênh trong trường hợp MS
chuyển động như sau:
g t l e
j 2 f D cos l t (5.20)
l
Trong trường hợp không tồn tại tia trực tiếp giữa BS và MS thì hệ số có thể
g t
coi là các số ngẫu nhiên có giá trị trung bình bằng 0. Như vậy, là tổng của các
biến số ngẫu nhiên phức có giá trị trung bình bằng 0, và theo luật số lớn, thì khi số
g t
lượng các tia l lớn, có thể được coi là một quá trình Gauss phức [4]. Tức là, nếu
g t
chúng ta biểu diễn ở dạng số phức:
g t g I t jgQ t (5.21)
151
gI t gQ t gI t gQ t
Với và đều là các số thực, thì và sẽ đều là các quá trình
xác suất độc lập, với giá trị trung bình bằng không và phương sai như nhau
2
gI g2Q g2 .
Sử dụng công thức về phân bố Gauss chúng ta có:
1 g2 (5.22)
p gI exp I 2
2 2 g
1 gQ2 (5.23)
p gQ exp
2 2 g2
gI t gQ t
Do và là các quá trình độc lập nên chúng ta có phân bố:
1 g2 (5.24)
p g p g I p gQ 2 exp 2
2 2 g
Với:
g t
2
g I2 t g Q2 t (5.25)
g t g t r t e j t
Chuyển sang hệ toạ độ cực chúng ta có pdf kết hợp:
r r2 1 (5.26)
p r , p r p exp 2
2 2 g 2
r r2 (5.27)
p r exp , r0
2 2 g2
Hay:
p
1
, (5.28)
2
r t
Tức là, pdf của biên độ là phân bố Rayleigh, và pha-đinh kiểu này được gọi
là pha-đinh Rayleigh. Hình 5.30 mô tả phân bố Rayleigh với 1.
152
Hình 5.20. Phân bố Rayleigh
5.3.2. Mô phỏng
Cấu trúc khối mô phỏng
1. Một nguồn phát nhị phân theo phân bố Bernoulli.
2. Một bộ mã xoắn.
3. Một bộ điều chế khóa dịch pha cầu phương QPSK.
4. Một bộ kênh fading Rayleigh.
5. Một bộ giải điều chế khóa dịch pha cầu phương QPSK.
6. Một bộ giải mã xoắn.
7. Một bộ tính toán tỉ lệ lỗi bit.
8. Một bộ hiển thị thống kê lỗi khi chạy mô phỏng.
9. Hai giản đồ chòm sao để quan sát tín hiệu.
Xây dựng các khối
- Khối Multipath Rayleigh Fading: Tác động vào tín hiệu có ích làm cho tín
hiệu thu được bị dịch đi một khoảng hay trễ so với vị trí chuẩn của nó.
153
Hình 5.22. Sơ đồ khối hệ thống dưới sự tác động kênhRayleighFading
Thiết lập các thông số
- Khối Bernoulli Binary Generator:
+ Xác suất tạo bit 0: 0.5
+ Giá trị khởi tạo: 61
+ Thời gian lấy mẫu:1e -5
+ Dữ liệu đầu ra theo khung. Số mẫu trên khung: 1
+Kiểu dữ liệu đầu ra: double
154
Hình 5.23. Thiết lập tham số khối phát số nguyên ngẫu nhiên
- Khối mã xoắn:
Tỷ lệ mã 1/2 được thiết lập thông qua hàm poly2trellis(7, [171 133])
155
- Khối QPSK Modulator Baseband:
156
- Khối QPSK Demodulator Baseband:Tất cả các thông số để mă ̣c định.
Hình 5.27. Thiết lập tham số khối giải điều chế QPSK
- Khối giải mã xoắn:
Giải mã tỷ lệ 1/2 dựa trên quyết định cứng với chế độ hoạt động là liên tục.
157
+ Points displayed: Số điểm hiển thị: 40.
+ New points per display: Số điểm mới trên một hiển thị: 10.
158
kênh nhị phân đối xứng BSC. Do đó cần có các biện pháp giảm fading Rayleigh để
đảm bảo chất lượng tín hiệu khi truyền.
- Khi tín hiê ̣u điều chế chưa đưa qua kênh truyền Fading Rayleigh, các điểm
trên giản đồ chòm sao là lý tưởng, chúng là các chấm xác định và không bị dao đô ̣ng
ra xung quanh.
Hình 5.31. Giản đồ chòm sao khi chưa có tác động của
Fading Rayleigh
- Mô hình sử dụng điều chế QPSK có tác động của Fading Reyleigh dẫn tới các
điểm trên giản đồ chòm sao dịch chuyển xa vị trí lý tưởng dẫn đến tỉ số BER tăng lên
làm cho việc khôi phục và giải điều chế để được tín hiệu gốc là khó khăn.
159
Hình 5.32. Giản đồ chòm sao khi có tác động củaFading Rayleigh
Hàm MATLAB hỗ trợ mô phỏng kênh Rayleigh:
Trong Communication Toolbox của MATLAB, kênh truyền fading được mô
hình hoá dưới dạng một bộlọc. Tín hiệu truyền qua kênh truyền fading có nghĩa là tín
hiệu được lọc bởi bộlọc đặc biệt này. Quá trình mô phỏng kênh truyền fading gồm 3
bước:
Bước 1: Tạo một đối tượng kênh truyền (channel object) mô tảcác tính chất của
kênh truyền mà ta muốn mô phỏng. Đối tượng kênh truyền là một dạng biến
trong MATLAB. Đểtạo một đối tượng kênh truyền fading ta có thểsửdụng một
trong hai hàm rayleighchanhoặc ricianchan. Sửdụng ricianchan trong trường
hợp kênh truyền có một đường truyền thẳng kết hợp với một hoặc nhiều đường
phản xạ; còn trong trường hợp chỉcó một hoặc vài đường phản xạ(non light-of-
sight), ta dùng rayleighchan.
Ví dụ, đểtạo một kênh truyền fading Rayleigh tác động lên một tín hiệu được
lấy mẫu ởtần số100000Hz, với độdịch chuyển Doppler tối đa là 130Hz, ta viết dòng
lệnh sau:
>> c1 = rayleighchan(1/100000,130);
Một cách khác đểtạo ra một đối tượng kênh truyền là copy lại một đối tượng có
sẵn, sau đó thay đổi các thuộc tính của nó nhưmong muốn.
160
>> c2 = copy(c1);
>> c2 = c1;
Trong hai cách nêu trên, cách thứ nhất sẽ tạo ra một đối tượng có các thuốc tính
độc lập với đối tượng c1, trong khi đó các thuộc tính của đối tượng tạo ra theo cách thứ
2 sẽ phụ thuộc vào đối tượng c1.
Bước 2: Hiệu chỉnh các thông số của kênh truyền theo nhu cầu mô phỏng.
Mỗi một đối tượng kênh truyền có một số các thuộc tính riêng, chẳng hạn: loại
kênh truyền, tần số lấy mẫu, độ dịch chuyển Doppler cực đại, ... Để xem các thuộc tính
của một đối tượng kênh truyền, ta chỉ cần gõ tên của đối tượng trên cửa sổ lệnh của
MATLAB. Để truy xuất đến một thuộc tính cụ thể ta viết tên của đối tượng, sau đó là
dấu chấm, rồi đến tên của thuộc tính cần truy xuất. Như vậy, để hiệu chỉnh đối tượng
ta chỉ cần gán cho các thuộc tính của nó các giá trị mà ta mong muốn. Ví dụ:
>> c1 = rayleighchan(1/100000,130); % Khởi tạo một đối tượng kênh truyền
%fading
>> c1 % Xem các thuộc tính của c1
c1 =
ChannelType: 'Rayleigh'
InputSamplePeriod: 1.0000e-005
MaxDopplerShift: 130
PathDelays: 0
AvgPathGaindB: 0
NormalizePathGains: 1
PathGains: 0.2104- 0.6197i
ChannelFilterDelay: 0
ResetBeforeFiltering: 1
NumSamplesProcessed: 0
>> g = c1.PathGains % Lấy giá trịthuộc tính PathGains của c1.
g=
0.2104 - 0.6197i
Lưu ý:
161
- Một sốthuộc tính có tính chất “Read Only”, nghĩa là ta không thểthay đổi giá
trịcủa nó. Ví dụthuộc tính NumSamplesProcessedcho biết sốmẫu đã xửlý từlần reset
cuối cùng.
- Một sốthuộc tính có tính liên kết với nhau, khi thuộc tính này thay đồi thì
thuộc tính kia cũng thay đổi theo.
- Ngoài các thuộc tính trên, đối tượng kênh truyền fading Rician có thêm một
thuộc tính là Kfactor.
Sau đây là ý nghĩa của một sốthuộc tính quan trọng:
+ PathDelays: Các giá trịtrì hoãn của các đường dẫn.
- Giá trị đầu tiên thường chọn là 0 ứng với đường tín hiệu đến máy thu đầu tiên.
- Với môi trường trong nhà (indoor), các trì hoãn tiếp theo sẽ có giá trị từ1 đến
100ns.
- Với môi trường bên ngoài (outdoor), các trì hoãn tiếp theo sẽcó giá trị từ100ns
đến 10μs.
+ AveragePathGains: Chỉ thị độ lợi công suất trung bình cho mỗi đường fading.
- Trong mô phỏng ta thường chọn giá trị độ lợi trung bình trong khoảng -20dB
đến 0dB. Giá trị độ lợi theo dB sẽ giảm gần như tuyến tính theo thời gian trì hoãn, tuy
nhiên đường cong cụ thể sẽ phụ thuộc vào môi trường truyền.
- Để bảo đảm công suất tổng cộng của các đường bằng 1, ta phải chuẩn hoá các
độ lợi bằng thuộc tính NormalizePathGains.
+ MaxDopplerShift: Độdịch chuyển Doppler cực đại.
- Trong một số ứng dụng wireless, chẳng hạn trong hệ thống thông tin di động,
người ta thường biểu diễn thông sốnày dưới dạng tốc độdi chuyển của mobile. Nếu
mobile di chuyển với tốc độv (m/s), tần số sóng mang là f (Hz), c là tốc độ ánh sáng
(m/s) thì độ dịch chuyển Doppler cực đại sẽlà:
f d vf / c
+ KFactor: HệsốK của kênh truyền fading Rician là tỷsốcông suất phản xạvà
khuếch tán trên đường truyền trực tiếp (line-of-sight), biểu diễn dạng tuyến tính, không
theo dB.
162
- Giá trịtiêu biểu đối với kênh Rician: K = 1 ÷10.
- Giá trịK = 0 ứng với kênh truyền Rayleigh.
+ ResetBeforeFiltering: Là một biến Boolean, nếu bằng 1 thì đối tượng sẽ được
reset trước khi thực hiện lọc một tín hiệu. Trong trường hợp tín hiệu cần xử lý là một
chuỗi các vector thì ta sẽ phải thực hiện lọc nhiều lần. Muốn bảo đảm tính liên tục qua
các lần thực hiện, nghĩa là giữ lại các thông tin trạng thái của đối tượng, ta phải set
thuộc tính này bằng 0. Ngược lại nếu không muốn lưu các thông tin trạng thái cho lần
lọc kế tiếp, ta set thuộc tính này bằng 1, hoặc dùng lệnh reset.
Bước 3: Đưa tín hiệu qua kênh truyền bằng cách dùng hàm filter.
Ta thực hiện hàm filtervới các thông số nhập là tên đối tượng kênh truyền và tín
hiệu phát đi.
Ví dụ: Vẽ công suất tín hiệu bị nhiễu fading khi truyền qua kênh truyền fading
Rayleigh có độ dịch chuyển Doppler cực đại bằng 100Hz, tần số lấy mẫu tín hiệu là
100KHz.
c = rayleighchan(1/10000,100); % Khởi tạo đối tượng kênh truyền
sig = j*ones(2000,1); % Tín hiệu phát
y = filter(c,sig); % Đưa tín hiệu qua kênh truyền.
C % Xem các thuộc tính của kênh truyền.
% Vẽcông suất tín hiệu nhiễu theo số mẫu.
plot(20*log10(abs(y)))
Kết quảthực thi chương trình:
c=
ChannelType: 'Rayleigh'
InputSamplePeriod: 1.0000e-004
MaxDopplerShift: 100
PathDelays: 0
AvgPathGaindB: 0
NormalizePathGains: 1
PathGains: -1.1700+ 0.1288i
ChannelFilterDelay: 0
163
ResetBeforeFiltering: 1
NumSamplesProcessed: 2000
Nhưng thông thường tín hiệu luôn luôn có chứa nhiễu. Điều này có thể được mô
tả bởi sự dao động biên độ của tín hiệu (thay đổi A) và bởi sử dao động pha tín hiệu.
Một cách tổng quát, chúng ta có thể miêu tả ồn tín hiệu dao động như sau:
s (t ) ( A (t )) sin(t (t ))
s (t ) A sin(t (t ))
Ở đây (t ) mô tả sự thay đổi biên độ trong tín hiệu, gọi là ồn biên độ.
(t ) mô tả sự thay đổi pha hay ồn pha.
Chú ý rằng ồn biên độ không ảnh hưởng điểm cắt zero và ồn pha không ảnh
hưởng biên độ của tín hiệu đỉnh.
164
Một tín hiệu gốc tốt là tín hiệu có ồn biên độ nhỏ. Ồn biên độ có thể loại bỏ khi
sử dụng hệ thống điều khiển mức tự động ALC (Automatic level control), hoặc do tín
hiệu truyền qua một bộ khuyếch đại hạn chế. (lối ra của một bộ khuếch đại lý tưởng
hạn chế được xác định theo điểm cắt zero của tín hiệu và vì vậy không bị ảnh hưởng
bởi ồn biên độ).
Ồn pha là một loại khác. Khi có ồn pha trong tín hiệu là rất khó loại bỏ nó, ồn
pha là ảnh hưởng chính lên hoạt động của hệ thống. Như vậy, ta coi rằng tín hiệu chỉ
gồm có ồn pha và được biết dưới dạng:
s (t ) A sin(t (t ))
Trong miền thời gian, nếu tín hiệu s(t) là tổng quát trên máy hiện sóng lý tưởng
thì hiệu ứng của (t ) sẽ là nguyên nhân xê dịch thời gian trên điểm cắt zero của dạng
sóng.
5.4.2.Mô phỏng nhiễu ồn pha
Cấu trúc của khối mô phỏng
Hệ thống mô phỏng sử dụng các khối truyền thông khác nhau để thiết lập mô
hình QAM trên kênh truyền có tác động của nhiễu Gausse trắng cộng tính AWGN. Hệ
thống mô phỏng gồm các khối sau:
1. Một nguồn phát số nguyên theo phân bố Bernoulli
2. Một bộ mã xoắn
3. Một bộ điều chế BPSK
4. Một kênh nhiễu cộng tính AWGN
5. Một bộ giải điều chế BPSK
6. Một bộ nhiễu ồn pha
7. Một bộ giải mã xoắn
8. Một bộ tính toán lỗi bit
9. Một bộ chuyển đổi dữ liệu
10. Một bộ hiển thị thống kê lỗi khi chạy mô phỏng
11. Hai khối giản đồ chòm sao để hiển thị tín hiệu.
Các bước thực hiện mô phỏng
1) Xây dựng các khối
- Phase Noise: Cộng nhiễu ồn vào tín hiệu vào.
165
Hình 5.34. Khối nhiễu ồn pha
Các khối còn lại đã được trình bày ở các chương trước. Để tránh trùng lặp,
chúng ta không nhắc lại các khối này nữa.
Kéo và thả các khối sang vùng làm việc của file mô phỏng, sau đó thực hiện
việc nối các khối như hình vẽ:
166
Hình 5.36. Tham số khối tạo nguồn tín hiệu
- Khối mã chập: Mã hóa dữ liệu đầu vào tỷ lệ 1/2 với cấu trúc mã được thiết lập
như sau:
167
Hình 5.38. Tham số khối điều chế BPSK
168
- Khối giải điều chế BPSK:
169
- Phase Noise:Khối này có các tham số sau:
+Phase noise level (dBc/Hz): Xác định mức nhiễu ồn pha. Đơn vị là dBc/Hz.
+Frequency offset (Hz): Độ lệch pha, đơn vị là Hz.
+Initial seed: Giá trị khởi tạo ban đầu của khối tạo nhiễu ồn pha.
Các tham số của khối này được đặt như hình dưới đây:
170
Hình 5.42. Tham số khối giải mã chập
Sau khi thiết lập các thông số như trên, ta tiến hành mô phỏng bằng cách vào
Simulation -> Start. Kết quả được hiển thị trên khối Display như hình sau:
Hình 5.43. Kết quả chạy mô phỏng nhiễu ồn pha với Es/No=1dB
Theo kết quả mô phỏng cho thấy với Es/No=1dB thì tỷ lệ lỗi bit là 0.003132.
Tỷ lệ này giảm đi khi tăng giá trị của Es/No hay tăng mức độ tin cậy của kênh truyền
hoặc giảm mức nhiễu ồn pha trong khối phase noise, cụ thể mức nhiễu ồn pha được
giảm từ -66 dBc/Hz xuống -120 dBC/Hz (các tham số khác giữ nguyên) thì tỷ lệ lỗi bit
giảm từ 0.003132 xuống là 0.003013.
Dưới đây là giản đồ chòm sao của tín hiệu sau khi điều chế BPSK và chưa bị
tác động của nhiễu ồn pha:
171
Hình 5.44. Giản đồ chòm sao tín hiệu sau khi điều chế BPSK
Khi tín hiệu truyền qua kênh truyền có tác động của nhiễu ồn pha, thì các điểm
trên giản đồ chòm sao sẽ bị dịch một khoảng so với vị trí ban đầu, cụ thể như sau:
Hình 5.45. Giản đồ chòm sao của tín hiệu có tác động của nhiễu ồn pha
172
Từ nghiên cứu lý thuyết cũng như kết quả mô phỏng mô hình hệ thống truyền
thông có tác động của nhiễu ồn pha cho thấy nhiễu ồn pha có ảnh hưởng xấu đến chất
lượng kênh truyền, làm gia tăng tỷ lệ lỗi bit thông tin. Từ đó phải có những biện pháp
khắc phục cũng như hạn chế sự ảnh hưởng của loại nhiễu này để tăng độ tin cậy truyền
thông tin của một hệ thống.
173
Hình 5.47. Hệ thống DVB - S2
174
Lớp vật lý của hệ thống WCDMA:
Hệ thống DVB - C:
175
Hệ thống DVB – T:
176
TÀI LIỆU THAM KHẢO
177