Chương 2Các mô hình và phương pháp mô phỏng Công đoạn đầu tiên trong việc phát triển một chương trình môphỏng của một hệ thống là thiết kế mô hình mô phỏng của hệthống đó.. Các môhình mô
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
MÔ HÌNH HÓA VÀ MÔ PHỎNG
Trương Vũ Bằng Giang, Trần Xuân Nam
NHÀ XUẤT BẢN ĐẠI HỌC QUỐC GIA HÀ NỘI
Trang 3Mục lục
1.1 Mở đầu 3
1.2 Vai trò của mô hình hoá và mô phỏng 4
1.3 Các trường hợp cần sử dụng phương pháp mô phỏng 5 1.3.1 Nghiên cứu trên hệ thống thực gặp khó khăn 5 1.3.2 Đánh giá độ nhạy của hệ thống 6
1.3.3 Khi chưa có hệ thống thực 7
1.4 Các hướng phát triển của phương pháp mô phỏng 7 1.5 Ngôn ngữ và công cụ mô phỏng 8
1.6 Một số lỗi thường gặp trong mô phỏng 9
1.6.1 Mức độ chi tiết chưa thỏa đáng 9
1.6.2 Ngôn ngữ không phù hợp 10
1.6.3 Mô hình chưa được kiểm chứng 10
1.6.4 Mô hình không chính xác 10
1.6.5 Xử lý điều kiện ban đầu không chính xác 11
i
Trang 4ii MỤC LỤC
1.6.6 Thời gian mô phỏng quá ngắn 11
1.7 Một số nguyên nhân làm kết quả mô phỏng bị sai 11 1.7.1 Dự trù thời gian không thích hợp 11
1.7.2 Mục tiêu khó có thể đạt được 12
1.7.3 Chưa có đủ các kỹ năng cần thiết 12
1.7.4 Mức độ tham gia của người sử dụng chưa đủ 13 1.7.5 Tài liệu không tồn tại hoặc đã lỗi thời 13
1.7.6 Khả năng quản lý một chương trình phức tạp 14 1.7.7 Kết quả phức tạp và khó hiểu 14
2 Các mô hình và phương pháp mô phỏng 15 2.1 Xây dựng mô hình mô phỏng 15
2.2 Phân loại các mô hình mô phỏng 16
2.3 Các phương pháp mô phỏng 18
2.4 Mô phỏng Monte-Carlo trong truyền thông số 20
2.5 Mô phỏng băng thông và mô phỏng băng gốc 27
3 Phương pháp luận mô phỏng 31 3.1 Mở đầu 31
3.2 Xác định bài toán 32
3.2.1 Định nghĩa đối tượng nghiên cứu 33
3.2.2 Liệt kê các vấn đề đặc biệt cần chú ý 34
3.2.3 Xác định giới hạn và miền nghiên cứu 35
3.2.4 Xác định độ chi tiết và trừu tượng thích hợp 36 3.2.5 Xác định tính cần thiết của mô hình mô phỏng 37 3.2.6 Ước lượng các tài nguyên cần thiết 37
3.2.7 Thực hiện phân tích chi phí-lợi nhuận 37
3.2.8 Lập biểu đồ kế hoạch cho dự án 38
3.2.9 Lập báo cáo đề xuất 39
3.3 Thiết kế nghiên cứu 39
3.3.1 Ước lượng vòng đời mô hình 40
3.3.2 Liệt kê những giả định 41
3.3.3 Ước tính số mô hình cần thiết 41
Trang 5MỤC LỤC iii
3.3.4 Xác định yêu cầu về hình họa 423.3.5 Lựa chọn công cụ 423.3.6 Xác định mức độ dữ liệu sẵn có và dữ liệu cần 423.3.7 Xác định yêu cầu về nhân lực 433.3.8 Xác định nhóm người dùng 443.3.9 Xác định các nội dung chuyển giao 443.3.10 Xác định các ưu tiên trong nghiên cứu 453.3.11 Thiết lập các mốc thời gian quan trọng 453.3.12 Lập bảng các tiêu chí kỹ thuật của dự án 463.4 Thiết kế mô hình khái niệm 463.4.1 Quyết định tính liên tục, rời rạc, hoặc kết hợp 473.4.2 Xác định các thành phần định hướng hệ thống 473.4.3 Xác định các thực thể biểu diễn hệ thống 483.4.4 Xác định mức độ chi tiết mô tả hệ thống 483.4.5 Xác định mức độ yêu cầu về đồhọa 493.4.6 Xác định phương thức truyền tải các kết quả 493.5 Thiết lập đầu vào, giả định và định nghĩa quá trình 493.5.1 Xác định nguyên lý hoạt động của hệ thống 503.5.2 Mô tả các ràng buộc của hệ thống 513.5.3 Mô tả quá trình chi tiết 513.5.4 Thu nhận các đặc tính kỹ thuật khi vận hành 513.5.5 Liệt kê tất cả các giả định 513.5.6 Phân tích dữ liệu đầu vào 523.5.7 Định rõ các thông số thời gian chạy 523.5.8 Lập bảng chi tiết các tiêu chí kỹ thuật 523.5.9 Xác thực mô hình khái niệm 523.6 Dịch và liên kết, kiểm chứng và xác thực mô hình 533.7 Thử nghiệm và thiết kế mô hình thực nghiệm 543.8 Lập báo cáo và trình bày kết quả 553.8.1 Sách dự án 563.8.2 Tài liệu về đầu vào, đầu ra, mã chương trình 563.8.3 Các đặc tính kỹ thuật của dự án 573.8.4 Sách hướng dẫn sử dụng 57
Trang 6iv MỤC LỤC
3.8.5 Sổ bảo hành 58
3.8.6 Thảo luận và giải thích về kết quả mô phỏng 58 3.8.7 Đề xuất các hướng nghiên cứu tiếp theo 58
3.8.8 Báo cáo và giới thiệu cuối cùng của dự án 59 3.9 Định nghĩa vòng đời của mô hình 60
3.9.1 Xây dựng giao diện thân thiện với người dùng 60 3.9.2 Xác định mô hình và trách nhiệm đào tạo 61 3.9.3 Thiết lập toàn vẹn dữ liệu và các bước thu thập 61 3.9.4 Thực hiện xác thực dữ liệu hiện trường 61
4 Mô phỏng với Matlab Communication Toolbox 63 4.1 Giới thiệu về Matlab 63
4.2 Giới thiệu Communications Toolbox 65
4.3 Khai thác các phần tử của hệ thống truyền thông 66 4.4 Mô phỏng một hệ thống truyền thông 88
4.5 Một số bài tập 98
4.5.1 Bài tập 4.1 98
4.5.2 Bài tập 4.2 98
4.5.3 Bài tập 4.3 98
5 Mô phỏng với Simulink 99 5.1 Giới thiệu về Simulink trong MATLAB 99
5.2 Các khối cơ bản 100
5.2.1 Các khối cơ bản thường dùng 100
5.2.2 Nhiệm vụ và chức năng các khối cơ bản 101
5.2.3 Một số ví dụ 105
5.3 Thư viện các khối liên tục 108
5.3.1 Khối đạo hàm 108
5.3.2 Khối hàm truyền đạt 110
5.3.3 Khối điểm không - điểm cực 111
5.4 Một số bài tập và hướng dẫn giải 114
5.4.1 Bài tập 114
5.4.2 Hướng dẫn giải 115
Trang 7MỤC LỤC v
5.5 Thư viện các khối phát và hiển thị 118
5.5.1 Thư viện các khối phát 118
5.5.1.1 Khối hằng số 118
5.5.1.2 Khối phát tín hiệu 118
5.5.1.3 Khối phát xung 121
5.5.1.4 Khối tạo sóng sin 121
5.5.1.5 Khối nhảy bậc 123
5.5.2 Thư viện các khối hiển thị 124
5.5.2.1 Khối hiển thị dạng sóng 124
5.5.2.2 Khối hiển thị số liệu 125
5.6 Một số bài tập 127
5.6.1 Bài tập 5.3 127
5.6.2 Bài tập 5.4 129
5.6.3 Bài tập 5.5 130
5.6.4 Bài tập 5.6 131
5.6.5 Bài tập 5.7 133
6 Mô phỏng với Opnet 135 6.1 Giới thiệu OPNET 135
6.2 Môi trường làm việc 138
6.3 Mô phỏng với OPNET IT Guru 140
6.4 Trình tự mô phỏng OPNET 141
6.5 Ví dụ mô phỏng một mạng Intranet đơn giản 145
6.6 Một số lưu ý 158
6.7 Một số bài tập 159
6.7.1 Bài tập 6.1 159
6.7.2 Bài tập 6.2 159
6.7.3 Bài tập 6.3 160
7 Mô phỏng với Ansoft Designer 161 7.1 Giới thiệu về công cụ Ansoft Designer 161
7.2 Một số ví dụ ứng dụng 162 7.2.1 Thiết kế một mạch lọc thông thấp Chebyshev 162
Trang 8vi MỤC LỤC
7.2.2 Thiết kế mạch dải λ/4 phối hợp trở kháng 1687.3 Một số bài tập 1847.3.1 Bài tập 7.1 1847.3.2 Bài tập 7.2 185
Trang 9Danh sách hình vẽ
2.1 Lược đồxây dựng mô hình mô phỏng 15
2.2 Quan hệ sai số-thời gian chạy-độ phức tạp của mô hình 16 2.3 Phân loại các mô hình mô phỏng 17
2.4 Mô hình mô phỏng Monte-Carlo 21
2.5 Biểu diễn phương pháp mô phỏng Monte-Carlo 22
3.1 Biểu đồ Gantt 38
4.1 Sơ đồ khối hệ thống mô phỏng 68
4.2 Chuỗi bit phát ngẫu nhiên: trường hợp 40 bit đầu tiên 70 4.3 Chuỗi thập phân biến đổi từ chuỗi bit ngẫu nhiên 71
4.4 Sơ đồ chòm sao tín hiệu thu/phát 74
4.5 Sơ đồchòm sao tín hiệu phát sử dụng ánh xạ tự nhiên 78 4.6 Sơ đồchòm sao tín hiệu phát sử dụng ánh xạ Gray 79
4.7 Đáp ứng xung của bộ lọc Cosine nâng 81
4.8 Sơ đồ mẫu mắt của tín hiệu 82
4.9 Đồthị tán xạ tín hiệu trước (·) và sau khi lọc (×) . 83
4.10 Sơ đồbộ mã hóa tỉ lệ 2/3 85
4.11 Giao diện BERTool 92
4.12 Kết quả mô phỏng 93
4.13 Nhập các giá trị cho tính toán BER lý thuyết 93
4.14 So sánh kết quả BER lý thuyết và mô phỏng 94
vii
Trang 10viii DANH SÁCH HÌNH VẼ
4.15 Phẩm chất BER theo các bậc điều chế khác nhau 98
5.1 Các khối cơ bản thường dùng 100
5.2 Tính v C (t) của mạch điện 101
5.3 Sơ đồnguyên lý cho phương trình (5.6) 103
5.4 Sơ đồcác khối trong Simulink cho phương trình (5.6). 103 5.5 Dạng sóng của v C (t) 104
5.6 Sơ đồ khối tích phân trong Simulink 104
5.7 Function Block Parameters cho khối tích phân liên tục 105 5.8 Mạch điện cho Ví dụ 5.1 106
5.9 Mô hình cho Ví dụ 5.1 106
5.10 Dạng sóng lối ra của Ví dụ 5.1 107
5.11 Mô hình cho Ví dụ 5.2 107
5.12 Thư viện các khối liên tục 108
5.13 Sơ đồ khối đạo hàm - Derivative 109
5.14 Mô hình cho Ví dụ 5.3 109
5.15 Dạng sóng đầu vào và đầu ra trong Ví dụ 5.3 109
5.16 Sơ đồ khối hàm truyền đạt - Transfer Fcn 110
5.17 Mạch điện cho Ví dụ 5.4 111
5.18 Mô hình cho Ví dụ 5.4 111
5.19 Sơ đồkhối điểm không - điểm cực - Zero-Pole 112
5.20 Khối điểm không - điểm cực - Zero-Pole dạng biến 113
5.21 Khối điểm không - điểm cực - Zero-Pole dạng véc-tơ 113
5.22 Mô hình cho Ví dụ 5.5 113
5.23 Dạng sóng đầu vào và đầu ra của Ví dụ 5.5 114
5.24 Mạch điện cho Bài tập 5.1 114
5.25 Mạch điện cho Bài tập 5.2 115
5.26 Mô hình cho Bài tập 5.1 116
5.27 Dạng sóng lối ra của Bài tập 5.1 116
5.28 Mạch điện tương ứng trong miền s của Bài tập 5.2 . 117
5.29 Mô hình cho Bài tập 5.2 117
5.30 Dạng sóng lối ra của Bài tập 5.2 117
5.31 Các khối phát 119
Trang 11DANH SÁCH HÌNH VẼ ix
5.32 Khối phát tín hiệu 119
5.33 Mô hình cho Ví dụ 5.6 120
5.34 Các dạng sóng của Ví dụ 5.6 120
5.35 Khối phát xung - Pulse Generator 121
5.36 Mô hình cho Ví dụ 5.7 121
5.37 Dạng sóng của Ví dụ 5.7 122
5.38 Khối tạo sóng sin - Sine Wave . 122
5.39 Mô hình cho Ví dụ 5.8 123
5.40 Dạng sóng của Ví dụ 5.8 123
5.41 Khối nhảy bậc - Step 124
5.42 Mô hình cho Ví dụ 5.9 124
5.43 Dạng sóng của Ví dụ 5.9 125
5.44 Khối hiển thị dạng sóng - Floating Scope 125
5.45 Cách dùng khối hiển thị dạng sóng - Floating Scope 126
5.46 Khối hiển thị số liệu - Display 126
5.47 Mô hình cho Ví dụ 5.10 127
5.48 Mô hình cho Bài tập 5.3 128
5.49 Kết quả mô phỏng Bài tập 5.3 128
5.50 Mô hình cho Bài tập 5.4 129
5.51 Dạng sóng của Bài tập 5.4 130
5.52 Mô hình cho Bài tập 5.5 131
5.53 Dạng sóng của Bài tập 5.5 131
5.54 Mô hình cho Bài tập 5.6 132
5.55 Dạng sóng của Bài tập 5.6 132
5.56 Mô hình cho Bài tập 5.7 134
5.57 Dạng sóng của Bài tập 5.7 134
6.1 Giao diện khởi tạo của OPNET IT Guru 137
6.2 Môi trường làm việc của OPNET IT Guru 138
6.3 Thanh công cụ của OPNET IT Guru 139
6.4 Trình tự mô phỏng trong OPNET 142
6.5 Mô hình mạng với các thành phần cần thiết lập 146
6.6 Môi trường khởi tạo ban đầu 148
Trang 12x DANH SÁCH HÌNH VẼ
6.7 Thiết lập các tham số với Switch trung tâm của Cisco 149
6.8 Kết nối Ethernet server với mạng 150
6.9 Cài đặt các đối tượng định nghĩa lưu lượng 151
6.10 Lựa chọn tải server làm Individual Statisics 152
6.11 Lựa chọn tải trễ Ethernet làm Global Statistics 152
6.12 Thiết lập thời gian và chạy mô phỏng 153
6.13 Xem kết quả mô phỏng Server Load (bit/s) 154
6.14 Xem kết quả mô phỏng Etherner Delay (s) 155
6.15 Xem kết quả mô phỏng Etherner Delay (s) 156
6.16 Chạy mô phỏng cho ngữ cảnh 2 157
6.17 Chọn so sánh kết quả Server Load 158
6.18 Chọn so sánh kết quả Ethernet Delay 158
6.19 Tổng hợp kết quả mô phỏng của cả hai ngữ cảnh 159
7.1 Menu View mở các cửa sổ cần thiết 163
7.2 Chọn “Insert Filter Design” trong menu "Project" 163
7.3 Đánh dấu chọn các linh kiện 164
7.4 Chọn giá trị các linh kiện 165
7.5 Sơ đồ mạch lọc 167
7.6 Sơ đồ"series inductor version" và kết quả mô phỏng 168
7.7 Sơ đồ"parallel capacitor version" và kết quả mô phỏng 168 7.8 Bảng các bản mạch nền 169
7.9 Cửa sổ "Circuit Editor" và thanh công cụ 170
7.10 Biểu tượng "Interface Port" 171
7.11 Chọn “Microwave Port” 171
7.12 Chuyển sang thẻ “Components” 172
7.13 Mở mục “Lumped” và “Resistors” 172
7.14 Nối đất (Ground) 173
7.15 Chọn đường truyền mạch dải trong "Transmission Lines".174 7.16 Nối dây với "Microwave Port" và điện trở 174
7.17 Nhấp vào “TRL” để mở “Microstrip-Calculator” 175
7.18 Tính toán đường truyền mạch dải 176
7.19 Tính toán hiển thị cạnh đường mạch dải 176
Trang 13DANH SÁCH HÌNH VẼ xi
7.20 Chọn Analysis để thiết lập mô phỏng 177
7.21 Cửa sổ "Analysis" 178
7.22 Cửa số "Linear Network Anlysis" 178
7.23 Thiết lập các thông số quét 179
7.24 Phân tích mạch với "Analysis" và báo cáo với "Report" 180 7.25 Lựa chọn tham số vẽ đồ thị 181
7.26 Đồthị biểu diễn S11 182
7.27 Đánh dấu các điểm đặc biệt (S11 cực tiểu) 182
7.28 Lựa chọn biểu diễn giản đồ Smith 183
7.29 Biểu diễn kết quả trên giản đồ Smith 183
Trang 14Danh sách bảng
3.1 Bảng các tiêu chí kỹ thuật của dự án 353.2 Nội dung đề xuất cho dự án mô phỏng 393.3 Nội dung bản báo cáo kết thúc dự án mô phỏng 594.1 Các chức năng chính của Communications Toolbox 674.2 Các hàm sử dụng trong Ví dụ 1 68
xii
Trang 15Nội dung của giáo trình ngoài việc cung cấp các kiến thức cơbản còn là các kiến thức về ứng dụng mô phỏng trong thực tiễnvới các bước cơ bản trong giải quyết các bài toán mô phỏng cụ thể.Một số công cụ mô phỏng đang được dùng trong thực hành mônhọc cũng được chọn lọc để trình bày trong giáo trình này.
Cấu trúc của giáo trình gồm bảy chương:
Phần 1: Các kiến thức cơ sở, gồm có:
Chương 1 Mở đầu: cung cấp một số khái niệm cơ bản nhất về
mô hình hóa và mô phỏng;
Chương 2 Các mô hình và phương pháp mô phỏng: phân loạicác mô hình và phương pháp mô phỏng;
Chương 3 Phương pháp luận mô phỏng: trình bày các bước cầnthực hiện trong việc áp dụng phương pháp mô phỏng để giải cácbài toán trên thực tế (dự án mô phỏng)
Phần 2: Một số công cụ mô phỏng phổ biến, gồm có:
Chương 4 Mô phỏng với Matlab Communication Toolbox: giớithiệu và ứng dụng Matlab Communication Toolbox trong mô phỏng;
1
Trang 16Trong bảy chương sách nói trên, tác giả Trương Vũ Bằng Giang
là chủ biên cuốn sách và đồng thời biên soạn các chương: 1, 3, 5 và
7 Tác giả Trần Xuân Nam biên soạn các chương: 2, 4 và 6
Ngoài việc phục vụ cho sinh viên ngành Công nghệ Điện tử Viễn thông tại Trường Đại học Công nghệ, Đại học Quốc gia HàNội, cuốn sách này cũng có thể là tài liệu tham khảo cho sinh viên,học viên các ngành kỹ thuật khác
-Nhóm tác giả chân thành cảm ơn ThS Nguyễn Tiến Hòa,Trường Đại học Bách Khoa Hà Nội đã hỗ trợ việc chuẩn bị cácchương trình cho các bài tập Simulink ở Chương 5 Cảm ơn PGS
TS Nguyễn Văn Đức, Trường Đại học Bách Khoa Hà Nội; PGS
TS Trần Xuân Tú, TS Nguyễn Nam Hoàng, Trường Đại học Côngnghệ; TS Lê Nhật Thăng, Học viện Công nghệ Bưu chính Viễnthông đã đọc bản thảo cuốn sách và đóng góp các ý kiến quý báu
để các tác giả hoàn thành cuốn sách này
Mặc dù cũng đã đầu tư thời gian thích hợp nhưng chắc chắnkhông tránh khỏi các thiếu sót Nhóm tác giả mong muốn nhậnđược ý kiến góp ý cả về nội dung lẫn hình thức từ bạn bè, đồngnghiệp cùng sinh viên để cuốn giáo trình này được hoàn thiện hơn
Hà Nội, ngày 12 tháng 12 năm 2012
Thay mặt nhóm tác giả
Trương Vũ Bằng Giang
Trường Đại học Công nghệ, Đại học Quốc gia Hà Nội
Trang 17Chương 2
Các mô hình và phương pháp
mô phỏng
Công đoạn đầu tiên trong việc phát triển một chương trình môphỏng của một hệ thống là thiết kế mô hình mô phỏng của hệthống đó Mô hình thường được biểu diễn ở dạng toán học mô tảmối quan hệ vào/ra của hệ thống Nghệ thuật của mô hình hóa làphát triển mô hình hoạt động có chứa đầy đủ các tính năng cầnthiết nhưng lại không quá phức tạp để có thể thực hiện được bằngcác máy tính thông dụng Yêu cầu này đòi hỏi phải có sự cân đốigiữa tính chính xác, độ phức tạp và yêu cầu tính toán của mô hình
M« h×nh m« pháng
PhÇn
cøng
M« h×nh gi¶i tÝch
Hình 2.1: Lược đồ xây dựng mô hình mô phỏng.
15
Trang 1816 CHƯƠNG 2 CÁC MÔ HÌNH VÀ PHƯƠNG PHÁP MÔ PHỎNG
Đối với một quá trình mô phỏng, thông thường có hai mô hìnhđược xây dựng: mô hình giải tích (phân tích) và mô hình mô phỏngnhư biểu diễn trên Hình 2.1 Cả hai mô hình này đều mô tả tínhtrừu tượng của hệ thống Mô hình giải tích (phân tích) thường biểudiễn ở dạng công thức toán học hay các hệ phương trình xác địnhmối quan hệ vào/ra của hệ thống Các công thức và các phươngtrình này thường mô tả một phần hệ thống, và có độ chính xác trongmột phạm vi nào đó Mô hình mô phỏng trên máy tính thường làmột tập hợp của các thuật toán để giải các phương trình trong môhình giải tích (phân tích) Các phương pháp số được sử dụng đểthực hiện công việc này
Hình 2.2: Quan hệ sai số-thời gian chạy-độ phức tạp của mô hình.
Mối quan hệ giữa sai số mô hình, độ phức tạp và thời gian môphỏng được biểu diễn ở Hình 2.2 Chúng ta có thể thấy rằng một
mô hình có độ phức tạp thấp có sai số mô hình hóa lớn, nhưng lạiyêu cầu thời gian chạy mô phỏng ngắn Ngược lại, mô hình có độphức tạp lớn có sai số nhỏ nhưng lại yêu cầu thời gian mô phỏngdài
Mô hình mô phỏng có thể được phân loại theo nhiều cách khácnhau như mô tả trên Hình 2.3 Mô hình mô phỏng có thể phân loại
Trang 192.2 PHÂN LOẠI CÁC MÔ HÌNH MÔ PHỎNG 17
thành hai loại:
• Mô hình mô phỏng xác định (Deterministic model).
• Mô hình mô phỏng ngẫu nhiên (Stochastic model).
Hình 2.3: Phân loại các mô hình mô phỏng.
Một mô hình mô phỏng được xem là xác định nếu nó không
chứa các biến ngẫu nhiên Vì vậy, một tập hợp các giá trị cho trước
ở các đầu vào sẽ cho một tập kết quả duy nhất ở đầu ra Các môhình mô phỏng xác định thường gặp trong trường hợp mô phỏngcác mạch điện được thiết kế sử dụng một chương trình thiết kế, ví
dụ SPICE Do mạch điện cố định và tín hiệu đầu vào là xác địnhnên mỗi lần chạy mô phỏng sẽ cho cùng một kết quả Trong trườnghợp này mô phỏng thực hiện trên các mô hình xác định được sửdụng để tiết kiệm thời gian và tránh các lỗi toán học do phải thựchiện các phép toán dài và nhàm chán
Ngược lại, mô hình mô phỏng ngẫu nhiên có chứa một hay nhiềubiến ngẫu nhiên Ví dụ, mô phỏng một hệ thống truyền dẫn vô tuyếntrong đó kênh truyền có đặc tính ngẫu nhiên Đối với mô hình này,mặc dù với cùng một tập giá trị đầu vào xác định thì mô hình vẫncho các kết quả khác nhau sau mỗi lần mô phỏng Đối với trường
Trang 2018 CHƯƠNG 2 CÁC MÔ HÌNH VÀ PHƯƠNG PHÁP MÔ PHỎNG
hợp này, để đánh giá phẩm chất hệ thống cần thực hiện mô phỏngnhiều lần và lấy giá trị trung bình
Chúng ta cũng có thể phân loại các mô hình mô phỏng thành:
• Mô hình mô phỏng tĩnh (Static model).
• Mô hình mô phỏng động (Dynamic model).
Mô hình mô phỏng tĩnh biểu diễn hệ thống tại một thời điểm
cụ thể hay một mô hình trong đó thời gian không phải là tham sốđáng quan tâm Trong khi đó mô hình mô phỏng động biểu diễncác hệ thống khi chúng biến đổi theo thời gian
Ngoài ra, nếu mô hình thay đổi liên tục và đều chúng ta có môhình mô phỏng liên tục Ngược lại nếu mô hình biến đổi theo cácbước gia tăng thì mô hình trở thành mô hình mô phỏng rời rạc
Mô hình rời rạc tương tự như một bộ phim trong đó các khung ảnhđược biến đổi với tốc độ nhanh (30 khung/s) làm cho người xem
có cảm giác chuyển động Tuy nhiên, trong một vở kịch biểu diễntrực tiếp thì các cảnh diễn là liên tục Tương tự như trường hợplàm phim, chúng ta thường phát triển các mô hình mô phỏng rờirạc để biểu diễn các tình huống liên tục
Có hai loại mô phỏng cơ bản: mô phỏng xác định và mô phỏng
ngẫu nhiên Mô phỏng xác định thường gặp trong trường hợp mô
phỏng các mạch điện được thiết kế sử dụng một chương trình thiết
kế, ví dụ như SPICE Chương trình này được sử dụng để tạo ramột mạch điện và cấp dòng đầu vào Chương trình mô phỏng tạo
ra dòng điện chạy ở các nhánh của mạch điện và điện áp qua từngphần tử Điện áp và dòng điện thường được biểu diễn bởi các dạngsóng Khoảng thời gian mong muốn của các dạng sóng này đượcxác định trước khi chạy mô phỏng Do mạch điện là cố định và tínhiệu đầu vào là xác định nên mỗi lần chạy mô phỏng sẽ cho cùng
Trang 212.3 CÁC PHƯƠNG PHÁP MÔ PHỎNG 19
một kết quả Trong trường hợp này, mô phỏng được sử dụng đểtiết kiệm thời gian và tránh các lỗi toán học do phải thực hiện cácphép toán dài và nhàm chán
Nếu giả thiết đầu vào của hệ thống là một dạng sóng ngẫunhiên, nói chính xác là nếu đầu vào hệ thống là một hàm mẫu củamột quá trình ngẫu nhiên, thì một cách tương đương có thể coi trởkháng của điện trở là một biến ngẫu nhiên xác định bởi một hàmmật độ xác suất xác định Kết quả của mô phỏng này sẽ không còn
là một dạng sóng xác định và các mẫu của dạng sóng này sẽ tạonên một tập hợp của các biến ngẫu nhiên Các mô phỏng trong đóxuất hiện các giá trị ngẫu nhiên được gọi là các mô phỏng ngẫunhiên
Để lấy ví dụ, chúng ta giả thiết điện áp qua một phần tử mạch
điện được ký hiệu là e (t) và mô phỏng được sử dụng để tạo ra e(t) trong khoảng thời gian 1ms, tức là e (0, 01) Trong mô phỏng xác định thì e (0, 01) không đổi và chúng ta có kết quả như nhau sau
mỗi lần mô phỏng
Một ví dụ khác là hệ thống truyền dẫn số trong đó tín hiệuthu bao gồm tín hiệu phát cộng tạp âm ngẫu nhiên Giả thiết rằngnhiệm vụ của chúng ta là tính xác suất lỗi dấu tại đầu ra máy thu
Từ lý thuyết truyền dẫn chúng ta biết rằng đối với truyền dẫn tínhiệu BPSK (Khóa dịch pha nhị phân - Binary Phase Shift Key-ing) qua kênh AWGN (Nhiễu Gauss trắng cộng - Additive WhiteGaussian Noise), thì xác suất lỗi dấu là
trong đó, E b là năng lượng dấu, N0 là mật độ phổ công suất tạp
âm một phía và Q (x) là hàm Q Gauss được định nghĩa bởi
Trang 2220 CHƯƠNG 2 CÁC MÔ HÌNH VÀ PHƯƠNG PHÁP MÔ PHỎNG
Để ý rằng P E là một số chứ không phải một biến ngẫu nhiên,
mặc dù tạp âm ngẫu nhiên xuất hiện ở đầu vào máy thu Số P E làmột giá trị trung bình sau một số lần thử vô hạn, trong đó mỗi lầnthử bao gồm việc gửi một số dấu số đi qua hệ thống và quan sát kếtquả đầu ra Tất nhiên là kết quả có thể là chính xác hoặc là một lỗi
ở đầu ra Đối với các quá trình Ergodic (dừng), chúng ta có thể xácđịnh xác suất lỗi bằng hai cách Chúng ta có thể xem một bit được
truyền và tính P E như là trung bình tập hợp (ensemble average),trong đó chúng ta có một tập hợp (ensemble) của các dạng sóngtạp âm có cùng tính chất thống kê Một cách khác là chúng ta có
thể xác định P E như là trung bình thời gian bằng cách truyền vôhạn các dấu nhị phân và sử dụng hàm mẫu đơn của tạp âm Điểm
mấu chốt là chúng ta tính P E dựa trên một số vô hạn các dấu nhị
phân phát đi Nếu thay vì xác định P E dựa trên một số vô hạn
các dấu phát, chúng ta ước lượng P E dựa trên một số vô hạn các
dấu phát, ước lượng P E sử dụng một số hữu hạn các dấu nhị phân
phát, ta sẽ tìm được rằng ước lượng của P E thực tế là một biếnngẫu nhiên do mỗi hàm mẫu có khoảng hữu hạn sẽ tạo nên một giátrị khác nhau (mong muốn là không nhiều lắm) cho xác suất lỗi.Điều này sẽ được trình bày ở phần sau khi xem xét phương phápMonte-Carlo
thông số
Mô phỏng Monte-Carlo là một phương pháp mô phỏng ngẫu
nhiên được sử dụng để đánh giá sự lặp lại chất lượng của một mô
hình xác định sử dụng các tập biến đầu vào ngẫu nhiên Phươngpháp mô phỏng Monte-Carlo được bắt nguồn từ trò chơi may rủiđược các casino tạo ra bằng các bộ tạo số ngẫu nhiên cơ khí Têngọi Monte-Carlo được lấy từ tên gọi của thành phố quê hương nổitiếng của các sòng bạc Monte-Carlo Kỹ thuật Monte-Carlo về bản
Trang 232.4 MÔ PHỎNG MONTE-CARLO TRONG TRUYỀN THÔNG SỐ 21
chất là phương pháp mô phỏng một thí nghiệm ngẫu nhiên sử dụngcác công cụ nhân tạo, tức là không yêu cầu phải lặp lại thí nghiệmvật lý hoàn toàn
Trong truyền thông số, mô phỏng đòi hỏi phải tạo ra các mẫu
có các dạng sóng khác nhau, xử lý các mẫu tín hiệu này qua các
mô hình với các khối chức năng trong hệ thống, và ước lượng phẩmchất hệ thống từ các mẫu tín hiệu đầu ra tại các điểm trong môhình Trường hợp phổ biến trong truyền thông số là sử dụng môphỏng Monte-Carlo để ước lượng tỉ số lỗi bit (BER)
HÖ thèng truyÒn dÉn
v t( )
w t( )
u t( )
y t( )
Hình 2.4: Mô hình mô phỏng Monte-Carlo.
Giả thiết chúng ta có mô hình một hệ thống truyền dẫn được
mô tả bởi các tín hiệu đầu vào u (t), v(t), và w(t) là các quá trình
ngẫu nhiên Mục tiêu của chúng ta là đi tìm các đặc tính thống
kê của y (t) hay giá trị kỳ vọng của một hàm G{y(t)} nào đó của
y (t) Nếu chúng ta giải bài toán này bằng cách giả lập hệ thống
trong đó tất cả các dạng sóng biến đổi theo thời gian, chúng ta sẽ
có một mô phỏng "thuần" Monte-Carlo Điều này hàm ý việc tạo
ra các mẫu của tất cả các quá trình đầu vào, cho các mô hình củacác khối chức năng trong hệ thống làm việc với các mẫu đầu vàonày, rồi quan sát các dạng sóng đầu ra Trong trường hợp lý tưởng,
mô phỏng Monte-Carlo tương ứng với hệ thống thực trong phạm
vi giới hạn của các giả thiết mô hình hóa và phép tính xấp xỉ Giátrị kỳ vọng E[G{y(t)}] được ước lượng từ mô phỏng Monte-Carlo
theo công thức sau:
Trang 2422 CHƯƠNG 2 CÁC MÔ HÌNH VÀ PHƯƠNG PHÁP MÔ PHỎNG
trong đó, dấu mũ biểu diễn giá trị ước lượng và N là số mẫu sử
dụng mô phỏng
Hình 2.5: Biểu diễn phương pháp mô phỏng Monte-Carlo.
Trong trường hợp mô hình mô phỏng hệ thống truyền dẫn sốđiển hình, sơ đồmô tả việc thực hiện mô phỏng Monte-Carlo đểước lượng tỉ lệ lỗi bit BER hay tỉ lệ lỗi dấu SER được biểu diễn
ở Hình 2.5 Mô phỏng Monte-Carlo được tiến hành theo các bướcsau đây:
• Tạo các mẫu của chuỗi bit đầu vào b(k), k = 1, 2, , N, và các
mẫu tạp âm z (k), k = 1, 2, , N.
• Xử lý các mẫu này qua mô hình các khối chức năng của hệ
thống cần mô phỏng và tạo một chuỗi đầu ra ˜b (k).
• Ước lượng tỉ số lỗi theo công thức sau:
Trang 252.4 MÔ PHỎNG MONTE-CARLO TRONG TRUYỀN THÔNG SỐ 23
trong đó, G {˜b(k)} = 1 nếu ˜b(k) = b(k) và G(y(k)) = 0 nếu
Quan hệ giữa tính chính xác và số lượng mẫu
Để đánh giá phẩm chất của một hệ thống truyền thông số, môphỏng Monte-Carlo thường được sử dụng để ước lượng tỉ số BER.Như đã thảo luận ở các phần trên, để có ước lượng chính xác của
BER, chúng ta cần tăng số lượng bit gửi đi N đến vô cùng ( ∞).
Tuy nhiên, việc tăng số lượng bit gửi đi đồng nghĩa với thời gianchạy mô phỏng sẽ lâu hơn Vì vậy, để có được sự thỏa hiệp giữa
độ chính xác của kết quả mô phỏng và thời gian chạy mô phỏng,
chúng ta mong muốn tìm được số lượng bit cần gửi đi N tương ứng
với giá trị BER mong muốn có độ chính xác cho phép Chúng ta sẽ
nghiên cứu tìm ra số bit N này thông qua trường hợp dưới đây.
Xét một hệ thống truyền dẫn đơn giản chịu ảnh hưởng của tạp
âm Giả thiết tín hiệu s phát đi là một hằng số và tạp âm z là một
biến ngẫu nhiên Gauss với giá trị trung bình bằng 0, phương sai
σ z2 = 1 Do tạp âm z là ngẫu nhiên nên tín hiệu thu được
Giả thiết là chúng ta cần sử dụng mô phỏng Monte-Carlo để
ước lượng xác suất thu được y < 0 khi phát đi một tín hiệu s > 0
Trang 2624 CHƯƠNG 2 CÁC MÔ HÌNH VÀ PHƯƠNG PHÁP MÔ PHỎNG
cho trước, tức là chúng ta cần ước lượng xác suất
P (s) = P (y < 0|s). (2.6)Trường hợp này tương tự như khi chúng ta gửi đi một tín hiệu
s = +1, nhưng do ảnh hưởng của tạp âm Gauss z trên kênh truyền nên máy thu nhận được một mẫu tín hiệu y <0 Để ước lượng tín
hiệu phát s, máy thu sử dụng phương pháp tách tín hiệu hợp lẽ cực
đại (maximum likelihood) thực hiện phép quyết định theo ngưỡngtại giá trị bằng 0 (tức là quyết định s = +1 nếu y > 0 và s = −1 nếu y < 0) và cho ta kết quả s = −1 Trường hợp này xảy ra một lỗi tách tín hiệu và xác suất P (s) = P (y < 0|s) chính là xác suất
thu lỗi của hệ thống
Để ước lượng được xác suất lỗi P (s), chúng ta sử dụng máy
tính để tạo ra một chuỗi các biến Gauss ngẫu nhiên, có kỳ vọngbằng 0 và phương sai bằng 1, độc lập thống kê và có phân bố giống
nhau, z k , k = 1, 2, , N Cộng z k với s, chúng ta có một chuỗi N
biến ngẫu nhiên
y k = s + z k , k = 1, 2, , N. (2.7)
Từ các biến ngẫu nhiên tạo ra bằng máy tính này, chúng tamong muốn ước lượng xác suất một biến ngẫu nhiên Gauss, với kỳ
vọng s > 0 và phương sai đơn vị, nhỏ hơn 0, tức là ước lượng xác
suất y k < 0 Để thu được ước lượng xác suất, chúng ta làm phép
kiểm tra xem y k < 0 và định nghĩa một biến ngẫu nhiên mới x k có
quan hệ với y k như sau:
Có thể nhận thấy rằng x k chính là biến biểu diễn lỗi, và ước
lượng của xác suất P (y < 0|s) có thể biểu diễn như sau:
Trang 272.4 MÔ PHỎNG MONTE-CARLO TRONG TRUYỀN THÔNG SỐ 25
Nói cách khác, ước lượng ˆP (s) đơn giản là số các biến ngẫu nhiên y k , k = 1, 2, , N nhỏ hơn 0 chia cho tổng số N biến ngẫu
nhiên
Do ước lượng ˆP (s) là một hàm số của các biến ngẫu nhiên
x k , k = 1, 2, , N, nên nó cũng là một biến ngẫu nhiên Để có được
ước lượng của xác suất lỗi ˆP (s) gần với giá trị của xác suất lỗi
Tiếp theo, chúng ta đi tính phương sai của ước lượng ˆP (s).
Phương sai của ˆP (s) được định nghĩa như sau:
σ P (s)2 = E Pˆ(s) − E[ ˆ P (s)] 2 (2.14)
= E Pˆ2(s) − P2(s) (2.15)Tuy nhiên,
E[ ˆP2(s)] = E
1
Trang 2826 CHƯƠNG 2 CÁC MÔ HÌNH VÀ PHƯƠNG PHÁP MÔ PHỎNG
Để ý rằng chúng ta có
E[x2
k ] = 0 · P (y k ≥ 0) + 1 · P (y k < 0) = P (s) (2.18)và
Trang 292.5 MÔ PHỎNG BĂNG THÔNG VÀ MÔ PHỎNG BĂNG GỐC 27
Do xác suất lỗi thường rất nhỏ hơn 1 nên 1/P (s) 1 và chúng ta
thì yêu cầu N 1000 Để ý rằng xác suất lỗi P (s) = 10 −3có nghĩa
là khi chúng ta gửi đi N = 103 bit thì trung bình sẽ có một bit
lỗi Nếu chúng ta chọn N = 104 thì trung bình sẽ có 10 bit lỗi, và
tương tự khi tăng số bit N Thực tế, theo kinh nghiệm cho thấy
kết quả mô phỏng có thể chấp nhận được khi chúng ta đếm được
100 bit lỗi trở lên, và vì vậy, số lượng mẫu nhỏ nhất để thu được
ước lượng tin cậy của P (s) cần thỏa mãn [8]
N > 10
khi P (s) 1 Điều kiện này thường đủ để ước lượng xác suất lỗi
của một hệ thống truyền dẫn số chịu ảnh hưởng của tạp âm cộng
và nhiễu khác
băng gốc
Một trong các yêu cầu để mô phỏng các hệ thống truyền thông,
là cần phải tạo ra dạng sóng của tín hiệu mong muốn giống như
hệ thống cần nghiên cứu Các tín hiệu truyền đi thường là các tínhiệu điều chế cao tần được xử lý ở các hệ thống băng thông Tuynhiên, do máy tính chỉ có khả năng xử lý các giá trị biểu diễn cácmẫu tín hiệu rời rạc nên bước đầu tiên trong quá trình tạo lập môhình mô phỏng là cần biểu diễn chính xác dạng sóng tín hiệu bằngmáy tính thông qua biến đổi tương tự-số
Thao tác đầu tiên trong biến đổi tương tự-số được biết đến rộngrãi là lấy mẫu Từ định lý lấy mẫu của Nyquist, chúng ta biết rằng
Trang 3028 CHƯƠNG 2 CÁC MÔ HÌNH VÀ PHƯƠNG PHÁP MÔ PHỎNG
một tín hiệu liên tục có thể biểu diễn duy nhất bởi một mô hìnhrời rạc chỉ khi tần số lấy mẫu lớn hơn hoặc bằng hai lần thànhphần tần số lớn nhất trong phổ tần tín hiệu Đối với tín hiệu băng
gốc, giả thiết thành phần tần số lớn nhất fmax, thì tần số lấy mẫu
f s ≥ 2fmax Đối với tín hiệu băng thông có phổ tần tín hiệu nằm
(2.30)
với m là kết quả của phép tính fmax/B lấy làm tròn xuống [6] Điều
này có nghĩa là 2B ≤ f s ≤ 4B và trong trường hợp f0 B thì
f s ≈ 2B, tuy nhiên không nhỏ hơn 2B.
Trên cơ sở mô hình tín hiệu rời rạc cho tín hiệu băng gốc và
tín hiệu băng thông có thể thực hiện tương ứng các mô phỏng băng
gốc và mô phỏng băng thông Tuy nhiên, biểu diễn của tín hiệu
sử dụng các mẫu của dạng sóng băng thông thường phức tạp hơncác tín hiệu băng gốc [9] Vì vậy, tín hiệu và hệ thống băng thôngthường được biểu diễn ở dạng băng gốc tương đương trong môphỏng Phương pháp biểu diễn tín hiệu băng thông về dạng băng
gốc tương đương được gọi là phương pháp đường bao phức Ý tưởng của phương pháp này là với một tín hiệu điều chế sóng mang x (t)
Trang 312.5 MÔ PHỎNG BĂNG THÔNG VÀ MÔ PHỎNG BĂNG GỐC 29
trong đó [·] biểu diễn phép tính lấy phần thực của thành phần
phức bên trong dấu ngoặc Để ý rằng thành phần tín hiệu
điều chế biên độ hoặc pha có băng thông hữu hạn và có f c B Vì
vậy, để mô hình hóa tín hiệu cho mô phỏng, tín hiệu băng gốc tươngđương cho các tín hiệu điều chế này có thể nhận được bằng cáchánh xạ thành phần đồng pha (inphase) của tín hiệu băng thông trởthành phần thực và thành phần trực giao (quadrature) trở thànhphần ảo của biên độ phức Tức là
˜x(t) = r(t)e jφ(t) = x I (t) + jx Q (t) (2.34)trong đó
x I (t) = r(t) cos φ(t) (2.35)
là thành phần đồng pha, còn
x Q (t) = r(t) sin φ(t) (2.36)
là thành phần trực giao
Trang 32Chương 4
Mô phỏng với Matlab
Communication Toolbox
MATLAB là từ viết tắt của Matrix Laboratory với ý nghĩa đây là
phần mềm ứng dụng cho tính toán ma trận Thực chất, MATLAB
là một gói phần mềm dùng cho tính toán kỹ thuật có tích hợp cáccông cụ tính toán, trực quan hóa, và lập trình Môi trường làm việccủa MATLAB dễ sử dụng và gần gũi với biểu diễn toán học củacác phép toán Các ứng dụng điển hình của MATLAB bao gồm:
• Tính toán toán học;
• Phát triển thuật toán;
• Thu thập dữ liệu;
• Mô hình hóa, mô phỏng và tạo mẫu;
• Phân tích, khai thác và trực giác hóa dữ liệu;
• Đồhọa khoa học và kỹ thuật;
63
Trang 3364CHƯƠNG 4 MÔ PHỎNG VỚI MATLAB COMMUNICATION TOOLBOX
• Phát triển ứng dụng bao gồm cả việc phát triển giao diện
người sử dụng
MATLAB là một hệ thống tương tác trong đó phần tử dữ liệu cơ sở
là một mảng không cần định trước kích thước Điều này cho phépgiải quyết được nhiều vấn đề tính toán, đặc biệt là các vấn đề gắnvới các phép toán ma trận hay véc-tơ, mà chỉ tiêu tốn một phầnthời gian cần thiết để viết các chương trình sử dụng các ngôn ngữkhông tương tác vô hướng (scalar) như C hay FORTRAN
Hệ thống MATLAB bao gồm năm phần chính:
• Môi trường phát triển (Development Environment).
Đây là một tập hợp các công cụ và phương tiện hỗ trợ ngườidùng sử dụng các hàm và tệp có sẵn của MATLAB Nhiềucông cụ là các giao diện đồhọa người dùng (GUI: GraphicalUser Interface) Các công cụ này bao gồm màn hình MATLAB(MATLAB Desktop), cửa sổ lệnh (Command Window), lịch
sử lệnh (Command History), trình soạn thảo và gỡ rối (Editorand Debugger), trình duyệt (Browser) để xem trợ giúp, khônggian làm việc (Workspace), các tệp, và đường dẫn tìm kiếm(Search Path)
• Thư viện hàm toán học (Mathematical Function
Li-brary) Đây là một tập hợp các thuật toán tính toán trải
rộng từ các hàm cơ sở như cộng, trừ, sin, cos, các phép tính
số học phức, tới các hàm phức tạp hơn như đảo ma trận, tínhgiá trị riêng (eigenvalue) của ma trận, các hàm Bessel, và cácphép biến đổi nhanh
• Ngôn ngữ MATLAB (MATLAB Language) Đây là
ngôn ngữ tính toán ma trận/mảng bậc cao với các khai báoluồng điều khiển, các hàm số, các cấu trúc dữ liệu, vào/ra,các đặc điểm lập trình hướng đối tượng Nó cho phép viết
cả các chương trình gọn nhẹ hay các chương trình ứng dụngphức tạp
... < 0) = P (s) (2.18 )và Trang 292.5 MÔ PHỎNG BĂNG THÔNG VÀ MÔ PHỎNG BĂNG GỐC... class="page_container" data-page="30">
28 CHƯƠNG CÁC MƠ HÌNH VÀ PHƯƠNG PHÁP MƠ PHỎNG
một tín hiệu liên tục biểu diễn mơ hìnhrời rạc tần số lấy mẫu lớn hai lần thànhphần tần số... class="text_page_counter">Trang 31
2.5 MÔ PHỎNG BĂNG THƠNG VÀ MƠ PHỎNG BĂNG GỐC 29
trong [·] biểu diễn phép tính lấy phần thực