Cuốn sách này nhằm mục đích cung cấp kiến thức cho sinh viên hiểu và biết được cách thức mô phỏng một hệ thống truyền thông và có thể tiến hành cài đặt trên phần mềm mô phỏng MATLAB. Cuốn sách này là giáo trình cho môn “Mô phỏng các hệ thống truyền thông” tại Khoa Viễn Thông, Học Viện Công Nghệ Bưu Chính Viễn Thông Cơ Sở Tại TP. Hồ Chí Minh. Cuối các chương có phần câu hỏi và bài tập giúp cho sinh viên và người đọc có thể ôn lại nội dung trọng tâm trong các chương.
Cuốn sách này có thể là tài liệu giảng dạy đại học và sau đại học cho sinh viên chuyên ngành kỹ thuật và công nghệ điện tử viễn thông, truyền thông và mạng máy tính. Cuốn sách là tài liệu tham khảo không thể thiếu cho sinh viên nghiên cứu về thông tin vô tuyến, đặc biệt ở lớp vật lý. Cuốn sách có 6 chương với tổng cộng 163 ví dụ đi kèm giúp minh họa tất cả các khía cạnh của mô phỏng hệ thống truyền thông. Để đọc tốt cuốn sách này, người đọc cần có kiến thức về: lý thuyết xác suất, lý thuyết thông tin, thông tin số và thông tin vô tuyến bên cạnh kiến thức về lập trình cơ bản.
Các ví dụ trong cuốn sách được lập trình và kiểm tra trên Matlab phiên bản 2019a, có thể không hoàn toàn tương thích với các phiên bản Matlab khác. Nếu có vấn đề khó khăn trong thực thi các ví dụ, xin vui lòng liên hệ với tác giả qua email: baovnq@gmail.com. Slide sách ở dạng pptx và lời giải bài tập sẽ cung cấp cho các giảng viên giảng dạy sử dụng sách là giáo trình (xin email).
Mục lục và các trang đầu: Download
Ví dụ 1.1: Các bước tiến hành mô phỏng. 21
Ví dụ 2.1: Cửa sổ lệnh Matlab. 27
Ví dụ 2.2: Khỏi tạo và gán biến trong Matlab. 27
Ví dụ 2.4: Lưu biến thành file trong Matlab. 29
Ví dụ 2.5: Xóa biến trong Workspace. 29
Ví dụ 2.6: Cách sử dụng dấu ; sau câu lệnh để không xuất kết quả ra màn hình. 29
Ví dụ 2.7: Cách sử dụng hàm help trong Matlab. 30
Ví dụ 2.8: Cách khai báo ma trận trong Matlab. 32
Ví dụ 2.9: Cách tạo vector trong Matlab. 33
Ví dụ 2.10: Tạo ma trận số lẻ giảm. 33
Ví dụ 2.11: Cách tạo ma trận rỗng trong Matlab. 33
Ví dụ 2.12: Một số cách tiêu biểu tạo ma trận trong Matlab. 34
Ví dụ 2.13: Cách xác định kích thước và số phần tử ma trận trong Matlab. 36
Ví dụ 2.14: Cách chuyển ma trận bất kỳ thành ma trận hàng trong Matlab. 37
Ví dụ 2.15: Tính tổng theo hàng, cột và toàn ma trận trong Matlab. 38
Ví dụ 2.16: Cách sử dụng hàm mean trong Matlab. 39
Ví dụ 2.17: Cách sử dụng hàm min và max trong Matlab. 41
Ví dụ 2.18: Cách ghép nối ma trận trong Matlab. 42
Ví dụ 2.19: Một số kỹ thuật trích xuất phần tử ma trận trong Matlab. 43
Ví dụ 2.20: Cách sử dụng chỉ số ma trận logic trong Matlab. 46
Ví dụ 2.21: Cách kết hợp phép gán và chỉ số logic trong Matlab. 47
Ví dụ 2.22: Phép xóa các phần tử trong ma trận trong Matlab. 48
Ví dụ 2.23: Lỗi không xóa phần tử trong ma trận của Matlab. 49
Ví dụ 2.24: Các cách mở rộng ma trận trong Matlab. 49
Ví dụ 2.25: Mở rộng ma trận bằng phép nhân phần tử trong Matlab. 50
Ví dụ 2.26: Sử dụng chỉ số tuyến tính để thay đổi giá trị phần tử trong Matlab. 51
Ví dụ 2.27: Cách tạo ma trận có phần tử tăng dần dùng chỉ số tuyến tính. 52
Ví dụ 2.28: Cách sử dụng hàm ind2sub trong Matlab. 52
Ví dụ 2.29: Cách sử dụng hàm sub2ind trong Matlab. 52
Ví dụ 2.30: Cách sử dụng hàm reshape để điều chỉnh kích thước ma trận trong Matlab. 53
Ví dụ 2.31: Phối hợp sử dụng hàm numel và hàm reshape trong điều chỉnh kích thước ma trận trong Matlab. 56
Ví dụ 2.32: Sử dụng toán tử trên từng phần tử ma trận trong Matlab. 56
Ví dụ 2.33: Các phép nhân ma trận trong Matlab. 58
Ví dụ 2.34: Các cách chia ma trận trong Matlab. 60
Ví dụ 2.35: Các hàm đại số tuyến tính cơ bản trong Matlab. 61
Ví dụ 2.36: Cách sử dụng hàm ndims để tìm số chiều một ma trận trong Matlab. 62
Ví dụ 2.37: Mảng đa chiều. 63
Ví dụ 2.38: Tính số ngày của tháng dùng cấu trúc if. 64
Ví dụ 2.39: Tính số ngày của tháng dùng cấu trúc switch. 64
Ví dụ 2.40: So sánh cách dùng vòng lặp for và không dùng vòng lặp for trong Matlab. 65
Ví dụ 2.41: Thay thế vòng lặp for bằng chỉ số và phép gán. 66
Ví dụ 2.42: Cách sử dụng while trong Matlab. 67
Ví dụ 2.43: Mảng ký tự. 68
Ví dụ 2.44: Các hàm xử lý chuỗi trong Matlab. 69
Ví dụ 2.45: Chuyển mã ASSCI trong Matlab. 69
Ví dụ 2.46: Chuyển đổi từ số hệ thập phân sang các hệ cơ số khác. 70
Ví dụ 2.47: Chuyển đổi số thành chuỗi và ngược lại. 70
Ví dụ 2.48: Xử lý chuỗi trong Matlab. 71
Ví dụ 2.49: Xuất chuỗi ra màn hình trong Matlab. 72
Ví dụ 2.50: Lệnh format trong Matlab. 72
Ví dụ 2.51: Mảng cell trong Matlab. 73
Ví dụ 2.52: Xóa trong mảng cell. 73
Ví dụ 2.53: Chuyển đổi giữa ma trận và mảng cell. 73
Ví dụ 2.54: Nối chuỗi trong Matlab. 74
Ví dụ 2.55: Các hàm so sánh chuỗi trong Matlab. 75
Ví dụ 2.56: Hàm chuỗi trong chuỗi trong Matlab. 75
Ví dụ 2.57: Tìm chuỗi trong mảng cell. 75
Ví dụ 2.58: Toán tử trên tập trong Matlab. 76
Ví dụ 2.59: Hàm all và any trong Matlab. 78
Ví dụ 2.60: Hàm unique trong Matlab. 78
Ví dụ 2.61: Cấu trúc trong Matlab. 79
Ví dụ 2.62: Vẽ đồ thị 2D dùng hàm plot trong Matlab. 85
Ví dụ 2.63: Điều chỉnh đồ thị trong Matlab. 86
Ví dụ 2.64: Hàm vẽ đồ thị fplot. 86
Ví dụ 2.65: Đặt tên cho đồ thị. 87
Ví dụ 2.66: Giới thiệu cách vẽ đồ thi dạng log theo trục đồ thị. 88
Ví dụ 2.67: Cách thức vẽ thanh lỗi trên đồ thị Matlab. 90
Ví dụ 2.68: Vẽ đồ thị con trong đồ thị. 91
Ví dụ 2.69: 5 bước vẽ biểu đồ tần suất của phân bố Gauss và so sánh lý thuyết. 93
Ví dụ 2.70: Vẽ đồ thị tần suất cho dữ liệu rời rạc. 94
Ví dụ 2.71: Vẽ hàm PDF và CDF của một biến ngẫu nhiên dùng hàm area. 97
Ví dụ 2.72: Cách sử dụng hàm có sẵn trong Matlab để vẽ hàm CDF và PDF của một phân bố cho trước. 98
Ví dụ 2.73: Cách chuyển đổi ảnh mức xám và biểu diễn lên đồ thị trong Matlab. 99
Ví dụ 2.74: Cách thức vẽ biểu đồ nhiệt trong Matlab. 100
Ví dụ 2.75: Chế độ LaTeX trong Matlab. 103
Ví dụ 2.76: Hàm latex và biến symbolic. 104
Ví dụ 2.77: Lập trình giao diện trong Matlab. 107
Ví dụ 2.78: Cách thức lập trình hiệu quả trong Matlab. 109
Ví dụ 2.79: So sánh cách thức lập trình theo Matlab và theo C. 110
Ví dụ 2.80: Theo dõi thời gian chạy của mã lệnh Matlab dùng hàm tic và toc. 110
Ví dụ 3.1: Tạo tín hiệu và xuất lên máy hiện sóng. 116
Ví dụ 3.2: Cách thức ghép nối và cấu hình các khối trong Simulink. 117
Ví dụ 3.3: Mô phỏng kênh truyền nhiễu trắng trong Simulink. 120
Ví dụ 4.1: Sử dụng giải thuật đệ quy để tạo biến ngẫu nhiên phân bố đều. 123
Ví dụ 4.2: Khảo sát chuỗi giả ngẫu nhiên theo giá trị seed. 124
Ví dụ 4.3: Tạo biến ngẫu nhiên bằng phương pháp biến đổi ngược. 125
Ví dụ 4.4: Tạo biến ngẫu nhiên rời rạc bằng phương pháp chấp nhận loại trừ. 127
Ví dụ 4.5: Tạo biến ngẫu nhiên bằng phương pháp tổng hợp. 128
Ví dụ 4.6: Tạo biến ngẫu nhiên bằng phương pháp biến đổi ngược. 130
Ví dụ 4.7: Tạo biến ngẫu nhiên bằng phương pháp loại bỏ. 131
Ví dụ 4.8: Dùng hàm mean để tính kỳ vọng cho biến ngẫu nhiên. 134
Ví dụ 4.9: Lập trình kiểm chứng tính chất của phương sai. 135
Ví dụ 4.10: Cách so sánh kỳ vọng và phương sai theo lý thuyết và mô phỏng trong Matlab. 135
Ví dụ 4.11: Cách tạo biến ngẫu nhiên tương quan và cách kiểm chứng hệ số tương quan. 137
Ví dụ 4.12: Kiểm chứng bất đẳng thức Markov bằng mô phỏng Matlab. 138
Ví dụ 4.13: Kiểm chứng bất đẳng thức Chebyshev bằng mô phỏng Matlab. 139
Ví dụ 4.14: Kiểm chứng định luật số lớn bằng mô phỏng Matlab. 139
Ví dụ 4.15: Kiểm chứng định lý giới hạn trung tâm bằng mô phỏng Matlab với phân bố mũ. 140
Ví dụ 4.16: Kiểm chứng định lý giới hạn trung tâm bằng mô phỏng Matlab với phân bố đều. 142
Ví dụ 4.17: Mô phỏng đường truyền fading Rayleigh do các hiện tượng phản xạ, tán xạ và nhiễu xạ. 143
Ví dụ 4.18: Mô phỏng và kiểm chứng phân bố nhị thức. 146
Ví dụ 4.19: Mô phỏng khả năng thắng trận của một trò chơi dùng mô phỏng. 147
Ví dụ 4.20: Cách sử dụng hàm all trong kiểm chứng mô phỏng các lần thảy liên tiếp nhau. 149
Ví dụ 4.21: Mô phỏng số cuộc gọi đến tổng đài và kiểm chứng lý thuyết. 150
Ví dụ 4.22: Tạo phân bố chuẩn từ hàm Matlab unifrnd. 152
Ví dụ 4.23: Tạo phân bố đều rời rạc và kiểm chứng. 154
Ví dụ 4.24: Sử dụng biến ngẫu nhiên để ước lượng tích phân. 154
Ví dụ 4.25: Mô phỏng ước lượng số pi bằng Matlab. 156
Ví dụ 4.26: Tạo biến ngẫu nhiên có phân bố chuẩn phức. 158
Ví dụ 4.27: Kiểm chứng biểu thức xác suất bằng mô phỏng. 158
Ví dụ 4.28: Cách tạo biến ngẫu nhiên phân bố chuẩn trong Matlab. 159
Ví dụ 4.29: Cách tạo biến ngẫu nhiên phân bố mũ trong Matlab. 161
Ví dụ 4.30: Khảo sát hàm PDF của phân bố Rayleigh theo tham số. 163
Ví dụ 4.31: Mô phỏng biến ngẫu nhiên có phân bố Rayleigh theo tham số cho trước và kiểm chứng với lý thuyết. 164
Ví dụ 4.32: Hãy mô phỏng kiểm chứng có thể tạo biến ngẫu nhiên có phân bố Rayleigh từ phân bố chuẩn. 165
Ví dụ 4.33: Tạo biến ngẫu nhiên có phân bố Nakagami-m từ hàm makedist. 167
Ví dụ 4.34: Tạo biến ngẫu nhiên có phân bố Nakagami-m từ biến ngẫu nhiên có phân bố Gamma. 168
Ví dụ 4.35: Sử dụng hàm tạo và vẽ tính hiệu tương tự. 170
Ví dụ 4.36: Vẽ tín hiệu tương tự theo tham số cho trước. 171
Ví dụ 4.37: Mô phỏng tạo chuỗi bit và tính xác suất xuất hiện. 172
Ví dụ 4.38: Tạo ma trận lỗi theo quy định cho trước. 172
Ví dụ 4.39: Tạo nguồn tín hiệu rời rạc với giá trị cho trước và xác suất xuất hiện cho trước. 173
Ví dụ 4.40: Mô phỏng biến ngẫu nhiên có phân bố Gamma với tham số cho trước. 176
Ví dụ 4.41: Mô phỏng quá trình nén theo luật . 177
Ví dụ 4.42: Lượng tử tín hiệu. 179
Ví dụ 4.43: Giải thuật Lloyds. 180
Ví dụ 4.44: Mô phỏng quá trình mã hóa và giải mã DPCM. 181
Ví dụ 4.45: Mô phỏng mã hóa Huffman và entropy. 183
Ví dụ 4.46: Mô phỏng mã hóa số học trong Matlab. 184
Ví dụ 4.47: Mô phỏng mã CRC trong Matlab. 185
Ví dụ 4.48: Mô phỏng quá trình mã hóa và giải mã Hamming. 186
Ví dụ 4.49: Mô phỏng quá trình mã hóa và giải mã mã vòng. 187
Ví dụ 4.50: Mô phỏng quá trình mã hóa và giải mã BCH dùng Matlab. 188
Ví dụ 4.51: Mô phỏng quá trình mã hóa và giải mã RS dùng Matlab. 189
Ví dụ 4.52: Mô phỏng quá trình mã hóa và giải mã mã xoắn dùng Matlab. 190
Ví dụ 4.53: Mô phỏng điều chế FM băng gốc dùng Matlab. 192
Ví dụ 4.54: Mô phỏng điều chế AM và SSB dùng Matlab. 193
Ví dụ 4.55: Mô phỏng điều chế AM và SSB dùng Matlab. 194
Ví dụ 4.56: Khảo sát phổ của điều chế SSB trước và sau điều chế. 196
Ví dụ 4.57: Mô phỏng điều chế QAM. 196
Ví dụ 4.58: Mô phỏng mã Gray trong điều chế. 199
Ví dụ 4.59: Mô phỏng quá trình điều chế và giải điều chế BPSK ở kênh truyền nhiễu tắng. Kiểm chứng với lý thuyết. 200
Ví dụ 4.60: Hàm berawgn trong Matlab. 201
Ví dụ 4.61: Mô phỏng điều chế MPSK. 202
Ví dụ 4.62: Mô phỏng điều chế MPAM. 204
Ví dụ 4.63: Biểu đồ chòm sao trong điều chế. 205
Ví dụ 4.64: Lọc tín hiệu trong Matlab. 207
Ví dụ 5.1: Mô phỏng kênh truyền nhị phân. 211
Ví dụ 5.2: Tạo kênh truyền nhị phân bằng hàm bsc trong Matlab. 212
Ví dụ 5.3: Tạo nhiễu trắng dùng hàm awgn trong Matlab. 213
Ví dụ 5.4: Cộng nhiễu trắng vào tín hiệu điều chế MQAM. 214
Ví dụ 5.5: Tạo nhiễu trắng và cộng vào tín hiệu điều chế MQAM bằng phương pháp trực tiếp. 215
Ví dụ 5.6: Mô phỏng kênh truyền nhiễu trắng với điều chế BPSK. 216
Ví dụ 5.7: Mô phỏng kênh truyền log-normal. 218
Ví dụ 5.8: Mô phỏng kênh truyền fading Rayleigh bằng 3 cách. 220
Ví dụ 5.9: Mô phỏng kênh truyền Nakagami-m bằng 3 cách. 223
Ví dụ 5.10: Mô phỏng kênh truyền fading Rician bằng hai cách. 226
Ví dụ 5.11: Mô phỏng kênh truyền tương quan. 228
Ví dụ 6.1: Mô phỏng và ước lượng tỷ số tín hiệu trên nhiễu ở kênh truyền fading Rayleigh. 234
Ví dụ 6.2: Mô phỏng và ước lượng tỷ số tín hiệu trên nhiễu trung bình của hệ thống kết hợp lựa chọn. 235
Ví dụ 6.3: Mô phỏng và ước lượng tỷ số tín hiệu trên nhiễu trung bình của hệ thống kết hợp theo tỷ lệ tối ưu trong Matlab. 236
Ví dụ 6.4: Mô phỏng và ước lượng dung lượng hệ thống SISO ở kênh truyền nhiễu trắng và kênh truyền fading. 238
Ví dụ 6.5: Mô phỏng và ước lượng xác suất dừng hệ thống SISO ở kênh truyền fading Rayleigh. 240
Ví dụ 6.6: Mô phỏng và ước lượng xác suất dừng của hệ thống phân tập thu. 243
Ví dụ 6.7: Mô phỏng và ước lượng tỷ lệ lỗi bit trung bình của điều chế BPSK của hệ thống phân tập thu SC trên kênh truyền fading Rayleigh. 244
Ví dụ 6.8: Mô phỏng và ước lượng xác suất dừng của hệ thống MRC ở kênh truyền fading Rayleigh. 248
Ví dụ 6.9: Mô phỏng và ước lượng tỷ lệ lỗi bit trung bình của hệ thống MRC cho điều chế BPSK ở kênh truyền fading Rayleigh. 249
Ví dụ 6.10: Mô phỏng và ước lượng hệ thống mã không gian thời gian cho điều chế BPSK ở kênh truyền fading Rayleigh. 253
Ví dụ 6.11: Mô phỏng hệ thống điều chế thích ứng ở kênh truyền fading. 257
Ví dụ 6.12: Mô phỏng hệ thống chuyển tiếp hai chặng ở kênh truyền fading Rayleigh. 264
Nếu muốn mua sách, các bạn vui lòng đăng ký vào Google form sau:
Cảm ơn các bạn đã mua sách "Mô phỏng hệ thống truyền thông". Trong quá trình đọc, nếu các bạn gặp những lỗi chính tả, lỗi cú pháp, và lỗi văn phong, và những lỗi khác (nếu có). Rất mong các bạn gửi vào link này, tác giả sẽ nỗi lực hoàn thiện để lần tái bản sau tốt hơn: