Quá trình truyền sóng trong môi trường trong nhà rất phưc tạp và khó dự 
đoán chính xác do cấu trúc, kết cấu, vật liệu xây dựng của các công trình khác 
nhau, mục đích sử dụng cũng khác nhau: Sân bay, ga điện ngầm, văn phòng cao 
tầng, khu vực kinh doanh hàng hóa rộng lớn Vì vậy phải cân nhắc khi chọn 
giải pháp thiết kế sao co phù hợp nhất với từng công trình bằng cách kết linh 
hoạt các lựa chọn trong 3 khối hành phần chính của hệ thống trong nhà.
                
              
                                            
                                
            
 
            
                 142 trang
142 trang | 
Chia sẻ: lylyngoc | Lượt xem: 2710 | Lượt tải: 0 
              
            Bạn đang xem trước 20 trang tài liệu Luận văn Mô hình phủ sóng & giao thoa, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
mà ta đang xét. Hình 4.11 (a) thể 
hiện trường hợp đơn giản với 2 bức tường. I1(w1) là ảnh lần phản xạ 1 của Tx lên 
bức tường 1 và I2(w2) là ảnh lần phản xạ 2, nghĩa là ảnh của I1(w1) lên bức tường 
2. Chúng ta vẽ một đường thẳng nối giữa I2(w2) với máy thu để tạo nên điểm 
phản xạ thích hợp trên bức tường 2. Rõ ràng điểm P2 không nằm trung với bất cứ 
một điểm vật lý nào trên bức tường thứ hai, do vậy đường phản xạ kép Tx-w1-
Phần iI: các mô hình truyền sóng chương IV: mô hình truyền sóng trong nhà 
Phạm Trọng Đại - 505102009 Khoa CNTT - ĐH phương đông 76 
w2-Rx không tồn tại trong thực tế. Từ hình 4.11 (a) chúng ta thấy điều kiện cho 
một đường truyền tồn tại là điểm phản xạ P2 phải có vị trí vật lý trên bức tường 2. 
Đây chỉ là một khả năng khi mà Rx nằm trong miền được minh hoạ được xác 
định bởi I2(w2) và bức tường 2. Nhưng với điều kiện này, là cần nhưng chưa đủ. 
Hình 4.11 (b) minh họa điểm Rx nằm trong khu vực mô phỏng, nên đảm 
bảo rằng điểm phản xạ nằm trên bức tường thứ 2. Trong trường hợp này, điểm 
phản xạ nằm trên bức tường 1 lại nằm ngoài vùng vật lý của tường, do vậy một 
lần nữa đường truyền sẽ không tồn tại. Tuy nhiên, ta cũng thấy rõ được điều kiện 
cần thiết. Chúng ta sẽ thiết lập điểm phản xạ P2 nằm trong miền vật lý của bức 
tường 2, có điểm thu Rx nằm trong miền được mô phỏng. Điểm phản xạ P1 cần 
thiết trên bức tường 1 phải tồn tại để cung cấp điểm P2 nằm trong miền mô 
phỏng được xác định bởi I1(w1) và bức tường 1. Hình 4.11 (c) minh hoạ trường 
hợp này. 
Điều kiện cần và đủ để tồn tại một đường truyền là điểm P2 phải nằm trên 
phần của bức tường 2, phần nằm trong miền được xác định bởi I2(w2) với bức 
tường 2 và miền được xác định bởi I1(w1) và bức tường 1. Đây là phần tô đậm 
trong hình 4.11 (c). Nếu không có phần bức tường 2 rơi vào trong miền được xác 
định bởi I1(w1) và bức tường 1 thì đường truyền sẽ được xem như là không tồn 
tại cho bất cứ vị trí nào của Rx trong miền được mô phỏng. Nói chung, quá trình 
trên được áp dụng một cách đệ quy, bắt đầu từ Rx, được tính toán ngược lại Tx 
để xác định xem liệu mỗi điểm phản xạ cần thiết có tồn tại thực tế với bất kỳ 
đường truyền phản xạ nhiều lần nào không. 
Phần iI: các mô hình truyền sóng chương IV: mô hình truyền sóng trong nhà 
Phạm Trọng Đại - 505102009 Khoa CNTT - ĐH phương đông 77 
Hình 4.11 (c) Tồn tại cả hai điểm phản xạ, vì vậy đường truyền được xác định. 
(d) Máy thu không nằm trong miền mô phỏng. 
Phần iI: các mô hình truyền sóng chương IV: mô hình truyền sóng trong nhà 
Phạm Trọng Đại - 505102009 Khoa CNTT - ĐH phương đông 78 
Một hình ảnh minh họa sâu thêm trong hình 4.11 (c). Trong trường hợp 
này, cả hai điểm phản xạ đều tồn tại và đáp ứng các yêu cầu trên. Nhưng điểm 
thu Rx lại nằm sai phía của bức tường 2. Đây là một điểm chú ý là các ảnh này 
là của nguồn phát ảo được sử dụng để mô phỏng đường truyền bị phản xạ, nhưng 
các khu vực được xác định mô phỏng chỉ tồn tại ở phía bên kia so với ảnh (vùng 
mờ). Tuy nhiên hình 4.11 (d) chỉ miêu tả một đường truyền phản xạ đơn lẻ từ Tx 
đến Rx thông qua tường 1. Đối với các vị trí khác nhau của Rx, rất có thể sẽ có 
các đường phản xạ khác. 
Một ví dụ khác, chúng ta quay trở lại hình 4.10. Trong trường hợp này các 
bức tường 1 và 2 đáp ứng các điều kiện cần thiết. Bức tường 3 không tạo ra 
đường truyền. Nhưng vì bức tường 3 lại nằm trong miền xác định của I1(w1), 
đường thẳng nối I2(w2) và Rx sẽ không nằm trong miền xác định của I2(w3). 
Để nâng cao hiệu suất tính toán trong thực tế, các điều kiện cụ thể được 
đưa vào. Ví dụ, sẽ không có đường truyền trải qua quá n lần phản xạ hoặc có 
cường độ nhỏ hơn X dB so với cường độ mạnh nhất. 
Tóm lại, hơn một thập kỷ qua chúng ta có rất nhiều nghiên cứu quan trọng 
cho việc mô hình hóa lan truyền tín hiệu macrocell và picrocell indoor. Độ chính 
xác phụ thuộc chủ yếu vào tính sẵn sàng của cơ sở dữ liệu cập nhật thường 
xuyên và kỹ thuật tính toán. Các thuộc tính điện của vật liệu tự nhiên và nhân tạo 
được sử dụng để xây dựng tường, cửa ra vào, cửa sổ… cũng được xem xét chính 
xác. 
Phần iII: chương trình mô phỏng chương V: tổng quan về visual basic 6.0 
Phạm Trọng Đại - 505102009 Khoa CNTT - ĐH phương đông 79 
Phần III 
Chương trình mô phỏng 
Chương V 
Tổng quan về visual basic 6.0 
5.1. Giới thiệu về Visual Basic 6.0. 
Visual Basic 6.0 (VB6) là một phiên bản của bộ công cụ lập trình Visual 
Basic (VB), cho phép người dùng tiếp cận nhanh cách thức lập trình trên 
môi trường Windows. Những ai đã từng quen thuộc với VB thì tìm thấy 
ở VB6 những tính năng trợ giúp mới và các công cụ lập trình hiệu quả. Người 
dùng mới làm quen với VB cũng có thể làm chủ VB6 một cách dễ dàng. 
Với VB6, chúng ta có thể : 
- Khai thác thế mạnh của các điều khiển mở rộng. 
- Làm việc với các điều khiển mới (ngày tháng với điều khiển MonthView 
và DataTimePicker, các thanh công cụ có thể di chuyển được CoolBar, 
sử dụng đồ họa với ImageCombo, thanh cuộn FlatScrollBar,…). 
- Làm việc với các tính năng ngôn ngữ mới. 
- Làm việc với DHTML. 
- Làm việc với cơ sở dữ liệu. 
- Các bổ sung về lập trình hướng đối tượng. 
5.2. Cài đặt Visual Basic 6.0 
Sử dụng chương trình Setup, người dùng có thể cài đặt VB6 lên máy 
tính của mình. Chương trình Setup này còn cài đặt các tập tin cần thiết để xem 
tài liệu trên đĩa CD MSDN (Microsoft Developer Network). Nếu cần, người 
dùng có thể cài đặt riêng phần tài liệu và ví dụ mẫu của Visual Basic lên máy tính. 
Phần iII: chương trình mô phỏng chương V: tổng quan về visual basic 6.0 
Phạm Trọng Đại - 505102009 Khoa CNTT - ĐH phương đông 80 
Để cài đặt VB6, người dùng nên kiểm tra máy tính của mình đảm bảo 
được cấu hình tối thiểu. Các yêu cầu hệ thống tối thiểu : 
- Microsoft Windows 95 trở lên hoặc là Microsoft Windows NT 
Workstation 4.0 trở lên. 
- Tốc độ CPU 66 MHz trở lên. 
- Màn hình VGA hoặc màn hình có độ phân giải cao được hỗ trợ bởi 
Microsoft Windows. 
- 16 MB RAM cho Microsoft Windows 95 hoặc 32MB RAM cho 
Microsoft Windows NT Workstation. 
5.3. Làm quen với VB6. 
5.3.1. Bắt đầu một dự án mới với VB6 
- Từ menu Start chọn Programs, Microsoft Visual Basic 6.0. Khi đó bạn sẽ 
thấy màn hình đầu tiên như hình 1.1 dưới đây. 
Hình 5.1: Cửa sổ khi kích hoạt VB6 
ở đây, người dùng có thể chọn tạo mới 
Chọn 
Phần iII: chương trình mô phỏng chương V: tổng quan về visual basic 6.0 
Phạm Trọng Đại - 505102009 Khoa CNTT - ĐH phương đông 81 
một dự án thực thi được bằng cách chọn Standard EXE rồi nhấp Open (Hình 
5.2). 
5.3.2. Tìm hiểu các thành phần của IDE 
IDE là tên tắt của môi trường phát triển tích hợp (Integrated 
Development Environment), đây là nơi tạo ra các chương trình Visual Basic. 
IDE của Visual Basic là nơi tập trung các menu, thanh công cụ và cửa sổ 
để tạo ra chương trình. Mỗi một thành phần của IDE có các tính năng ảnh 
hưởng đến các hoạt động lập trình khác nhau. 
Hình 5.3: Cửa sổ IDE của VB6 
Thanh menu cho phép bạn tác động cũng như quản lý trực tiếp trên toàn 
Phần iII: chương trình mô phỏng chương V: tổng quan về visual basic 6.0 
Phạm Trọng Đại - 505102009 Khoa CNTT - ĐH phương đông 82 
bộ ứng dụng. Bên cạnh đó thanh công cụ cho phép truy cập các chức năng 
của thanh menu thông qua các nút trên thanh công cụ. 
Các biểu mẫu (Form) - khối xây dựng chương trình chính của VB - 
xuất hiện trong cửa sổ Form. Hộp công cụ để thêm các điều khiển vào các biểu 
mẫu của đề án. Cửa sổ Project Explorer hiển thị các đề án khác nhau mà 
người dùng đang làm cũng như các phần của đề án. Người dùng duyệt và cài 
đặt các thuộc tính của điều khiển, biểu mẫu và module trong cửa sổ Properties. 
Sau cùng, người dùng sẽ xem xét và bố trí một hoặc nhiều biểu mẫu trên màn 
hình thông qua cửa sổ Form Layout. 
5.3.3. Sử dụng thanh công cụtrong IDE của VB 
Thanh công cụ là tập hợp các nút bấm mang biểu tượng thường đặt 
dưới 
thanh menu. Các nút này đảm nhận các chức năng thông dụng của thanh menu 
(New, Open, Save ...). 
Hình 5.4: Thanh công cụ ở dạng standard 
Hơn nữa, người dùng có thể kéo rê thanh công 
cụ trên IDE đến vị trí bất kỳ nào đó thuận tiện cho việc 
sử dụng. 
Người dùng có thể thêm hay xóa thanh công 
cụ trên IDE: 
ỹ Chọn Toolbars từ menu View hoặc ấn chuột phải 
vào điểm bất kỳnào trên thanh menu, một popup 
menu bật ra. 
ỹ Chọn loại thanh công cụ mà ta muốn thêm vào hoặc xóa đi. Nếu có đánh 
dấu check ở bên trái thì loại công cụ đó đang được chọn. 
Hình 5.5 Popup 
menu thêm, xóa 
công cụ Popup 
menu thêm, xóa 
công cụ 
Phần iII: chương trình mô phỏng chương V: tổng quan về visual basic 6.0 
Phạm Trọng Đại - 505102009 Khoa CNTT - ĐH phương đông 83 
 Sử dụng thanh công cụ gỡ rối (debug) 
Hình 5.6: Thanh công cụ gỡ rối 
Với thanh công cụ gỡ rối, người dùng có thể thực thi, tạm ngưng hoặc 
dừng một đề án. Với thanh công cụ Debug, người dùng có thể kiểm tra 
chương trình và giải quyết các lỗi có thể xảy ra. Khi gỡ rối chương trình, 
người dùng có thể chạy từng dòng lệnh, kiểm tra giá trị các biến, dừng 
chương trình tại một điểm nào đó hoặc với một điều kiện nào đó 
 Sử dụng thanh công cụ Edit 
Hình 5.7: Thanh công cụ Edit 
Thanh công cụ Edit được dùng để viết chương trình trong cửa sổ Code, 
thanh công cụ Edit có đầy đủ các tính năng của menu Edit. Ngoài ra người 
sử dụng có thể sử dụng chức năng viết chương trình tự động như là 
Quick Info. 
Thanh công cụ Edit của VB6 có tính năng lý thú đó là tự hoàn tất các từ 
khóa. Tính năng này rất hữu dụng giúp cho người dùng tránh các lỗi mắc phải 
do gõ sai từ khóa. 
 Sử dụng thanh công cụ Form Editor 
Hình 5.8: Thanh công cụ thiết kế biểu mẫu 
Thanh công cụ Form Editor có chức năng giống như menu Format dùng 
để di chuyển và sắp xếp các điều khiển trên biểu mẫu. 
Trong quá trình thiết kế biểu mẫu, đôi khi chúng ta phải sử dụng thuộc 
Phần iII: chương trình mô phỏng chương V: tổng quan về visual basic 6.0 
Phạm Trọng Đại - 505102009 Khoa CNTT - ĐH phương đông 84 
tính ZOrder để cho phép một điều khiển có thể thay thế một điều khiển 
khác hay không hoặc là xuất hiện bên trên một điều khiển khác hay không. 
 Sửdụng hộp công cụ(Toolbox) 
Hộp công cụ là nơi chứa các điều khiển được dùng trong quá trình thiết 
kế biểu mẫu. Các điều khiển được chia làm hai loại: Điều khiển 
có sẵn trong VB và các điều khiển được chứa trong tập tin với 
phần mở rộng là .OCX. 
Đối với các điều khiển có sẵn trong VB thì ta không 
thể gỡ bỏ khỏi hộp công cụ, trong khi đó đối với điều khiển nằm 
ngoài ta có thêm hoặc xóa bỏ khỏi hộp công cụ. 
Một điều khiển có thể được đưa vào biểu mẫu bằng cách 
chọn điều khiển đó và đưa vào biểu mẫu. Chúng ta sẽ trở lại phần 
này trong chương tiếp theo khi thiết kế các biểu mẫu. 
Hình 5.9: Hộp công cụ của VB 
5.3.4. Quản lý ứng dụng với Project Explorer 
Project Explorer trong VB6 giúp quản lý và 
định hướng nhiều đề án.VB cho phép nhóm nhiều 
đề án trong cùng một nhóm. Người dùng có thể lưu 
tập hợp các đề án trong VB thành một tập tin nhóm 
đề án với phần mở rộng .vbp. 
Project Explorer có cấu trúc cây phân 
cấp như cây thư mục trong cửa sổ Explorer 
của hệ điều hành. Các đề án có thể được coi là gốc của cây, các thành phần 
của đề án như biểu mẫu, module ... là các nút của cây. Khi muốn làm việc với 
thành phần nào thì ta có thể nhấn đúp lên thành phần đó trên cửa sổ Project 
Explorer để vào cửa sổ viết code cho thành phần đó. 
Hình 5.10: Cửa sổProject 
Phần iII: chương trình mô phỏng chương V: tổng quan về visual basic 6.0 
Phạm Trọng Đại - 505102009 Khoa CNTT - ĐH phương đông 85 
Khi làm việc với một dự án lớn, chúng ta sẽ thấy Project Explorer 
cực kỳ hữu ích cho việc tổ chức và quản lý một dự án lớn. 
Cửa sổProperties 
Mỗi một thành phần, điều khiển điều 
có nhiều thuộc tính. Mỗi một thuộc tính lại 
có một hoặc nhiều giá trị. 
Cửa sổ Properties cho phép người dùng 
xem, sửa đổi giá trị các thuộc tính của điều 
khiển nhằm giúp điều khiển hoạt động theo đúng 
ý đồ của người sử dụng 
5.3.5. Cửa sổForm Layout 
Đây chính là cửa sổ trình bày biểu mẫu cho phép 
định vị trí của một hoặc nhiều biểu mẫu trên màn hình 
khi chương trình ứng dụng được thi hành. 
Sử dụng cửa sổ Form Layout không đơn giản 
như các cửa sổ khác vì nó không được kích hoạt sẵn, 
người dùng cần phải chạy ứng dụng sau đó mới có 
thể bố trí được các biểu mẫu thông qua Form Layout. 
Nếu ta không định vị các biểu mẫu thì vị trí của biểu mẫu trên màn hình 
lúc thiết kế cũng là vị trí khởi động của biểu mẫu khi thực thi. 
5.3.6. Biên dịch đề án thành tập tin thực thi 
Sau khi đề án đã hoàn thành, người dùng có thể biên dịch thành tập tin 
thực thi được. Cách tiến hành như sau: 
ỹ Trước tiên ta cần chỉ cho VB6 biết phần chương trình nào sẽ được thực thi 
Hình 5.11: Cửa sổ Properties 
Hình 5.12: Cửa sổ 
Form Layout 
Phần iII: chương trình mô phỏng chương V: tổng quan về visual basic 6.0 
Phạm Trọng Đại - 505102009 Khoa CNTT - ĐH phương đông 86 
trước bằng cách chọn Project Properties từ menu Project. Chọn tab General, 
chú ý phần Startup Object, đây là nơi quy định điểm khởi đầu của chương trình 
sau khi biên dịch kết thúc. 
Chẳng hạn, trong ứng dụng Paint của Windows; khi người sử dụng nhấp 
chuột vào nút vẽ hình elip sau đó dùng chuột vẽ nó trên cửa sổ vẽ, một hình elip 
được vẽ ra 
ỹ Từ menu File, chọn Make ... EXE... Một hộp thoại xuất hiện cho phép 
bạn nhập vào tên của tập tin thực thi. Bạn chỉ cần gõ tên tập tin, VB sẽ tự động 
thêm phần mở rộng .EXE 
ỹ Nhấn vào nút Options để mở hộp thoại Project Properties và điền tên 
của ứng dụng vào ô Title, ta có thể ghi chú thông tin cho từng phiên bản trong 
phần Version Information. Ta có thể chọn Auto Increment để VB tự động tăng 
số Revision mỗi lần ta tạo lại tập tin EXE cho dự án. 
ỹ Cuối cùng, nhấn OK để trở về hộp thoại Make Project. 
5.4. Biểu mẫu và một số điều khiển thông dụng 
5.4.1. Các khái niệm 
 Điều khiển: Các thành phần có sẵn để người lập trình tạo giao diện 
tương tác với người dùng. Mỗi điều khiển thực chất là một đối tượng, do vậy nó 
sẽ có một số điểm đặc trưng cho đối tượng, chẳng hạn như các thuộc tính, 
các phương thức & các sự kiện. 
 Thuộc tính: Các đặc trưng của một điều khiển tạo nên dáng vẻ của điều 
khiển đó. 
 Phương thức: Các điều khiển có thể thực thi một số tác vụ nào đó, các 
tác vụ này được định nghĩa sẵn bên trong các phương thức (còn gọi là chương 
trình con: hàm & thủ tục), người lập trình có thể gọi thực thi các phương thức 
này nếu cần. 
 Sự kiện: là hành động của người dùng tác động lên ứng dụng đang thực thi. 
Phần iII: chương trình mô phỏng chương V: tổng quan về visual basic 6.0 
Phạm Trọng Đại - 505102009 Khoa CNTT - ĐH phương đông 87 
Thí dụ: - Nhấn phím bất kỳ trên bàn phím. 
- Nhấp chuột. 
Các thành phần giao diện có khả năng đáp ứng lại sự kiện. Chẳng hạn khi 
chúng ta nhấp chuột vào button, lúc đó button nhận biết được sự kiện này; hay 
như textbox nhận biết được sự kiện bàn phím tác động lên nó. 
Một ứng dụng trên Windows thường được thực hiện nhờ vào việc đáp 
ứng lại các sự kiện của người dùng. 
 Lập trình sựkiện: Các thành phần giao diện có khả năng nhận biết được 
các sự kiện từ phía người dùng. Tuy nhiên khả năng đáp ứng lại các sự kiện được 
thực hiện bởi người lập trình. 
Khi một thành phần giao diện được sử dụng, người lập trình phải xác định 
chính xác hành động của thành phần giao diện đó để đáp ứng lại một sự kiện 
cụ thể. Lúc đó người lập trình phải viết đoạn mã lệnh mà đoạn mã lệnh này sẽ 
được thực thi khi sự kiện xảy ra. 
Trong lập trình sự kiện, một ứng dụng được xây dựng là một chuỗi các 
đáp ứng lại sự kiện. Tất cả các hành động của ứng dụng là đáp ứng lại các 
sự kiện. Do vậy người lập trình cần phải xác định các hành động cần thiết 
của ứng dụng; phân loại chúng; sau đó viết các đoạn mã lệnh tương ứng 
Phần iII: chương trình mô phỏng chương VI: chương trình mô phỏng 
Phạm Trọng Đại - 505102009 Khoa CNTT - ĐH phương đông 88 
Chương VI 
Chương trình mô phỏng 
6.1. Giới thiệu. 
Chương trình mô phỏng được viết trên ngôn ngữ lập trình Visual Basic 6.0. 
Chương trình gồm có 3 modul chính: 
+ Modul 1: Chương trình mô phỏng xác định ví trí trạm BTS và khoảng 
cách từ BTS đến MS. 
+ Modul 2: Chương trình mô phỏng xác định giá trị suy hao khoảng cách 
từ BTS đến MS. 
+ Modul 3: Chương trình mô phỏng và xác định góc ngẩng. 
Hình 6.1. Giao diện chính của chương trình 
Phần iII: chương trình mô phỏng chương VI: chương trình mô phỏng 
Phạm Trọng Đại - 505102009 Khoa CNTT - ĐH phương đông 89 
6.2. Chương trình mô phỏng xác định vị trí trạm BTS và 
khoảng cách từ BTS đến MS. 
6.2.1. Các bước thực hiện. 
 Bước 1: Xác định tần số làm việc của MS ( 900 Mhz, 1800 Mhz, 2400 
Mhz). 
Hình 6.2. Xác định tần số làm việc. 
Phần iII: chương trình mô phỏng chương VI: chương trình mô phỏng 
Phạm Trọng Đại - 505102009 Khoa CNTT - ĐH phương đông 90 
 Bước 2: Xác định số tầng của tòa nhà ( trong phạm vi 6) 
Hình 6.3. Xác định số tầng của tòa nhà. 
 Bước 3: Nhập giá trị suy hao L của tầng. 
Hình 6.4. Nhập giá trị suy hao. 
Phần iII: chương trình mô phỏng chương VI: chương trình mô phỏng 
Phạm Trọng Đại - 505102009 Khoa CNTT - ĐH phương đông 91 
Hình 6.4 ( b). Nhập giá trị suy hao phía bên trái. 
Hình 6.4 ( c). Nhập giá trị suy hao bên phải 
Phần iII: chương trình mô phỏng chương VI: chương trình mô phỏng 
Phạm Trọng Đại - 505102009 Khoa CNTT - ĐH phương đông 92 
 Bước 4: Mô phỏng chương trình xác định trạm BTS và khoảng cách từ BTS 
đến MS. 
Hình 6.5. Mô phỏng chương trình. 
6.2.2. Mã nguồn chương trình mô phỏng xác định vị trí trạm BTS và 
khoảng cách từ BTS đến MS. 
Dim l, l1 As Integer 
Dim d0, d1, d2, d3, d4, d5, d6 As Long 
Dim d0_0, d1_1, d2_2, d3_3, d4_4, d5_5, d6_6 As Long 
Private Sub cbof_click() 
Select Case cbof.Text 
Case "900 Mhz": 
lbls.Caption = "32" 
Command2.Enabled = True 
Case "1800 Mhz": 
lbls.Caption = "38" 
Phần iII: chương trình mô phỏng chương VI: chương trình mô phỏng 
Phạm Trọng Đại - 505102009 Khoa CNTT - ĐH phương đông 93 
Command2.Enabled = True 
Case "2400 Mhz": 
lbls.Caption = "42" 
Command2.Enabled = True 
End Select 
End Sub 
Private Sub Command1_Click() 
 Command2.Enabled = True 
 yeucau = InputBox(" So tang cua toa nha(trong pham vi 6):", "yeu cau!", 1) 
 Dim line As Integer 
 line = Val(yeucau) 
 If (line = 1) Then 
 d2 = d3 = d4 = d5 = d6 = 0 
 d2_2 = d3_3 = d_4 = d_5 = d_6 = 0 
 img1.Visible = True 
 img2.Visible = False 
 img3.Visible = False 
 img4.Visible = False 
 img5.Visible = False 
 img6.Visible = False 
 db2.Visible = False 
 db2_2.Visible = False 
 db3.Visible = False 
 db3_3.Visible = False 
Phần iII: chương trình mô phỏng chương VI: chương trình mô phỏng 
Phạm Trọng Đại - 505102009 Khoa CNTT - ĐH phương đông 94 
 db4.Visible = False 
 db4_4.Visible = False 
 db5.Visible = False 
 db5_5.Visible = False 
 db6.Visible = False 
 db6_6.Visible = False 
 MsgBox (" Nhap gia tri suy hao L cua tang 1 ! ") 
 End If 
 If (line = 2) Then 
 d3 = d4 = d5 = d6 = 0 
 d3_3 = d_4 = d_5 = d_6 = 0 
 img2.Visible = True 
 img3.Visible = False 
 img4.Visible = False 
 img5.Visible = False 
 img6.Visible = False 
 db3.Visible = False 
 db3_3.Visible = False 
 db4.Visible = False 
 db4_4.Visible = False 
 db5.Visible = False 
 db5_5.Visible = False 
 db6.Visible = False 
 db6_6.Visible = False 
Phần iII: chương trình mô phỏng chương VI: chương trình mô phỏng 
Phạm Trọng Đại - 505102009 Khoa CNTT - ĐH phương đông 95 
 MsgBox (" Nhap gia tri suy hao L cua tang 2 ! ") 
 End If 
 If (line = 3) Then 
 d4 = d5 = d6 = 0 
 d_4 = d_5 = d_6 = 0 
 img3.Visible = True 
 img4.Visible = False 
 img5.Visible = False 
 img6.Visible = False 
 db4.Visible = False 
 db4_4.Visible = False 
 db5.Visible = False 
 db5_5.Visible = False 
 db6.Visible = False 
 db6_6.Visible = False 
 MsgBox (" Nhap gia tri suy hao L cua tang 3 ! ") 
 End If 
 If (line = 4) Then 
 d5 = d6 = 0 
 d_5 = d_6 = 0 
 img3.Visible = True 
 img4.Visible = True 
 img5.Visible = False 
 img6.Visible = False 
Phần iII: chương trình mô phỏng chương VI: chương trình mô phỏng 
Phạm Trọng Đại - 505102009 Khoa CNTT - ĐH phương đông 96 
 db4.Visible = True 
 db4_4.Visible = True 
 db5.Visible = False 
 db5_5.Visible = False 
 db6.Visible = False 
 db6_6.Visible = False 
 MsgBox (" Nhap gia tri suy hao L cua tang 4 ! ") 
 End If 
 If (line = 5) Then 
 d6 = 0 
 d_6 = 0 
 img3.Visible = True 
 img4.Visible = True 
 img5.Visible = True 
 img6.Visible = False 
 db4.Visible = True 
 db4_4.Visible = True 
 db5.Visible = True 
 db5_5.Visible = True 
 db6.Visible = False 
 db6_6.Visible = False 
 MsgBox (" Nhap gia tri suy hao L cua tang 5 ! ") 
 End If 
 If (line = 6) Then 
Phần iII: chương trình mô phỏng chương VI: chương trình mô phỏng 
Phạm Trọng Đại - 505102009 Khoa CNTT - ĐH phương đông 97 
 img3.Visible = True 
 img4.Visible = True 
 img5.Visible = True 
 img6.Visible = True 
 db4.Visible = True 
 db5.Visible = True 
 db6.Visible = True 
 MsgBox (" Nhap gia tri suy hao L cua tang 6 ! ") 
 End If 
End Sub 
Private Sub Command2_Click() 
Dim max 
max = d0 
l = 0 
 If max < d1 Then 
max = d1 
l = 1 
 End If 
 If max < d2 Then 
 max = d2 
 l = 2 
 End If 
 If max < d3 Then 
 max = d3 
Phần iII: chương trình mô phỏng chương VI: chương trình mô phỏng 
Phạm Trọng Đại - 505102009 Khoa CNTT - ĐH phương đông 98 
 l = 3 
 End If 
 If max < d4 Then 
 max = d4 
 l = 4 
 End If 
 If max < d5 Then 
 max = d5 
 l = 5 
 End If 
 If max < d6 Then 
 max = d6 
 l = 6 
 End If 
Dim max1 
max1 = d0_0 
l1 = 0 
 If max1 < d1_1 Then 
 max1 = d1_1 
 l1 = 1 
 End If 
 If max1 < d2_2 Then 
 max1 = d2_2 
 l1 = 2 
Phần iII: chương trình mô phỏng chương VI: chương trình mô phỏng 
Phạm Trọng Đại - 505102009 Khoa CNTT - ĐH phương đông 99 
 End If 
 If max1 < d3_3 Then 
 max1 = d3_3 
 l1 = 3 
 End If 
 If max1 < d4_4 Then 
 max1 = d4_4 
 l1 = 4 
 End If 
 If max1 < d5_5 Then 
 max1 = d5_5 
 l1 = 5 
 End If 
 If max1 < d6_6 Then 
 max1 = d6_6 
 l1 = 6 
 End If 
'hien thi 
 Select Case l 
 Case 0: 
 n = 2.5 
 lbld.Top = 8200 
 lbld.Visible = True 
 lbld_1.Top = 8200 
Phần iII: chương trình mô phỏng chương VI: chương trình mô phỏng 
Phạm Trọng Đại - 505102009 Khoa CNTT - ĐH phương đông 100 
 lbld_1.Visible = True 
 Image8.Top = 8500 
 Image8.Visible = True 
 Image8_8.Top = 8500 
 Image8_8.Visible = True 
 i0.Visible = True 
 i0_0.Visible = True 
 i1.Visible = False 
 i1_1.Visible = False 
 i2.Visible = False 
 i2_2.Visible = False 
 i3.Visible = False 
 i3_3.Visible = False 
 i4.Visible = False 
 i4_4.Visible = False 
 i5.Visible = False 
 i5_5.Visible = False 
 i6.Visible = False 
 i6_6.Visible = False 
 Case 1: 
 n = 3.9 
 lbld.Top = 7000 
 lbld.Visible = True 
 lbld_1.Top = 7000 
Phần iII: chương trình mô phỏng chương VI: chương trình mô phỏng 
Phạm Trọng Đại - 505102009 Khoa CNTT - ĐH phương đông 101 
 lbld_1.Visible = True 
 Image8.Top = 7200 
 Image8.Visible = True 
 Image8_8.Top = 7200 
 Image8_8.Visible = True 
 i0.Visible = False 
 i0_0.Visible = False 
 i1.Visible = True 
 i1_1.Visible = True 
 i2.Visible = False 
 i2_2.Visible = False 
 i3.Visible = False 
 i3_3.Visible = False 
 i4.Visible = False 
 i4_4.Visible = False 
 i5.Visible = False 
 i5_5.Visible = False 
 i6.Visible = False 
 i6_6.Visible = False 
 Case 2: 
 n = 3 
 lbld.Top = 5700 
 lbld.Visible = True 
 lbld_1.Top = 5700 
Phần iII: chương trình mô phỏng chương VI: chương trình mô phỏng 
Phạm Trọng Đại - 505102009 Khoa CNTT - ĐH phương đông 102 
 lbld_1.Visible = True 
 Image8.Top = 5900 
 Image8.Visible = True 
 Image8_8.Top = 5900 
 Image8_8.Visible = True 
 i0.Visible = False 
 i0_0.Visible = False 
 i1.Visible = False 
 i1_1.Visible = False 
 i2.Visible = True 
 i2_2.Visible = True 
 i3.Visible = False 
 i3_3.Visible = False 
 i4.Visible = False 
 i4_4.Visible = False 
 i5.Visible = False 
 i5_5.Visible = False 
 i6.Visible = False 
 i6_6.Visible = False 
 Case 3: 
 n = 2.9 
 lbld.Top = 4500 
 lbld.Visible = True 
 lbld_1.Top = 4500 
Phần iII: chương trình mô phỏng chương VI: chương trình mô phỏng 
Phạm Trọng Đại - 505102009 Khoa CNTT - ĐH phương đông 103 
 lbld_1.Visible = True 
 Image8.Top = 4700 
 Image8.Visible = True 
 Image8_8.Top = 4700 
 Image8_8.Visible = True 
 i0.Visible = False 
 i0_0.Visible = False 
 i1.Visible = False 
 i1_1.Visible = False 
 i2.Visible = False 
 i2_2.Visible = False 
 i3.Visible = True 
 i3_3.Visible = True 
 i4.Visible = False 
 i4_4.Visible = False 
 i5.Visible = False 
 i5_5.Visible = False 
 i6.Visible = False 
 i6_6.Visible = False 
 Case 4: 
 n = 2.8 
 lbld.Top = 3200 
 lbld.Visible = True 
 lbld_1.Top = 3200 
Phần iII: chương trình mô phỏng chương VI: chương trình mô phỏng 
Phạm Trọng Đại - 505102009 Khoa CNTT - ĐH phương đông 104 
 lbld_1.Visible = True 
 Image8.Top = 3400 
 Image8.Visible = True 
 Image8_8.Top = 3400 
 Image8_8.Visible = True 
 i0.Visible = False 
 i0_0.Visible = False 
 i1.Visible = False 
 i1_1.Visible = False 
 i2.Visible = False 
 i2_2.Visible = False 
 i3.Visible = False 
 i3_3.Visible = False 
 i4.Visible = True 
 i4_4.Visible = True 
 i5.Visible = False 
 i5_5.Visible = False 
 i6.Visible = False 
 i6_6.Visible = False 
 Case 5: 
 n = 2.6 
 lbld.Top = 1900 
 lbld.Visible = True 
 lbld_1.Top = 1900 
Phần iII: chương trình mô phỏng chương VI: chương trình mô phỏng 
Phạm Trọng Đại - 505102009 Khoa CNTT - ĐH phương đông 105 
 lbld_1.Visible = True 
 Image8.Top = 2100 
 Image8.Visible = True 
 Image8_8.Top = 1800 
 Image8_8.Visible = True 
 i0.Visible = False 
 i0_0.Visible = False 
 i1.Visible = False 
 i1_1.Visible = False 
 i2.Visible = False 
 i2_2.Visible = False 
 i3.Visible = False 
 i3_3.Visible = False 
 i4.Visible = False 
 i4_4.Visible = False 
 i5.Visible = True 
 i5_5.Visible = True 
 i6.Visible = False 
 i6_6.Visible = False 
 Case 6: 
 n = 2.4 
 lbld.Top = 650 
 lbld.Visible = True 
 lbld_1.Top = 650 
Phần iII: chương trình mô phỏng chương VI: chương trình mô phỏng 
Phạm Trọng Đại - 505102009 Khoa CNTT - ĐH phương đông 106 
 lbld_1.Visible = True 
 Image8.Top = 850 
 Image8.Visible = True 
 Image8_8.Top = 850 
 Image8_8.Visible = True 
 i0.Visible = False 
 i0_0.Visible = False 
 i1.Visible = False 
 i1_1.Visible = False 
 i2.Visible = False 
 i2_2.Visible = False 
 i3.Visible = False 
 i3_3.Visible = False 
 i4.Visible = False 
 i4_4.Visible = False 
 i5.Visible = False 
 i5_5.Visible = False 
 i6.Visible = True 
 i6_6.Visible = True 
 End Select 
 'tinh toan 
s = Val(lbls.Caption) 
lbld.Caption = Round(Exp(10 * n * Log(10) / (max - s)) * 1000, 2) & " 
(m)" 
Phần iII: chương trình mô phỏng chương VI: chương trình mô phỏng 
Phạm Trọng Đại - 505102009 Khoa CNTT - ĐH phương đông 107 
lbld_1.Caption = Round(Exp(10 * n * Log(10) / (max1 - s)) * 1000, 2) & 
" (m)" 
khoang_cach1 = Val(lbld.Caption) 
khoang_cach2 = Val(lbld_1.Caption) 
delta = Round(Abs(khoang_cach1 - khoang_cach2), 2) & " (m)" 
 End Sub 
Private Sub Command3_Click() 
 Khoang_Cach.Hide 
End Sub 
Private Sub db1_1_Click() 
yeucau2 = InputBox("Nhap vao gia tri suy hao ben phai L cua Tang 1:", "yeu 
cau !", 0) 
Dim line As Integer 
 If (Val(yeucau2) 0) Then 
 db1_1.Caption = yeucau2 & " dB" 
 d1_1 = Val(yeucau2) 
 Else 
 db1_1.Caption = "0 dB" 
 End If 
End Sub 
Private Sub db1_Click() 
yeucau1 = InputBox("Nhap vao gia tri suy hao ben trai L cua Tang 1:", "yeu 
cau !", 0) 
Dim line As Integer 
 If (Val(yeucau1) 0) Then 
Phần iII: chương trình mô phỏng chương VI: chương trình mô phỏng 
Phạm Trọng Đại - 505102009 Khoa CNTT - ĐH phương đông 108 
 db1.Caption = yeucau1 & " dB" 
 d1 = Val(yeucau1) 
 Else 
 db1.Caption = "0 dB" 
 End If 
End Sub 
Private Sub db2_2_Click() 
yeucau2 = InputBox("Nhap vao gia tri suy hao ben phai L cua Tang 2:", "yeu 
cau !", 0) 
Dim line As Integer 
 If (Val(yeucau2) 0) Then 
 db2_2.Caption = yeucau2 & " dB" 
 d2_2 = Val(yeucau2) 
 Else 
 db2_2.Caption = "0 dB" 
 End If 
End Sub 
Private Sub db2_Click() 
yeucau1 = InputBox("Nhap vao gia tri suy hao ben trai L cua Tang 2:", "yeu 
cau !", 0) 
Dim line As Integer 
 If (Val(yeucau1) 0) Then 
 db2.Caption = yeucau1 & " dB" 
 d2 = Val(yeucau1) 
Phần iII: chương trình mô phỏng chương VI: chương trình mô phỏng 
Phạm Trọng Đại - 505102009 Khoa CNTT - ĐH phương đông 109 
 Else 
 db2.Caption = "0 dB" 
 End If 
End Sub 
Private Sub db3_3_Click() 
yeucau2 = InputBox("Nhap vao gia tri suy hao ben phai L cua Tang 3:", "yeu 
cau !", 0) 
 If (Val(yeucau2) 0) Then 
 db3_3.Caption = yeucau2 & " dB" 
 d3_3 = Val(yeucau2) 
 Else 
 db3_3.Caption = "0 dB" 
 End If 
End Sub 
Private Sub db3_Click() 
yeucau1 = InputBox("Nhap vao gia tri suy hao ben trai L cua Tang 3:", "yeu 
cau !", 0) 
 If (Val(yeucau1) 0) Then 
 db3.Caption = yeucau1 & " dB" 
 d3 = Val(yeucau1) 
 Else 
 db3.Caption = "0 dB" 
 End If 
Phần iII: chương trình mô phỏng chương VI: chương trình mô phỏng 
Phạm Trọng Đại - 505102009 Khoa CNTT - ĐH phương đông 110 
End Sub 
Private Sub db4_4_Click() 
yeucau2 = InputBox("Nhap vao gia tri suy hao ben phai L cua Tang 4:", "yeu 
cau !", 0) 
 If (Val(yeucau2) 0) Then 
 db4_4.Caption = yeucau2 & " dB" 
 d4_4 = Val(yeucau2) 
 Else 
 db4_4.Caption = "0 dB" 
 End If 
End Sub 
Private Sub db4_Click() 
yeucau1 = InputBox("Nhap vao gia tri suy hao ben trai L cua Tang 4:", "yeu 
cau !", 0) 
 If (Val(yeucau1) 0) Then 
 db4.Caption = yeucau1 & " dB" 
 d4 = Val(yeucau1) 
 Else 
 db4.Caption = "0 dB" 
 End If 
End Sub 
Private Sub db5_5_Click() 
yeucau2 = InputBox("Nhap vao gia tri suy hao ben phai L cua Tang 5:", "yeu 
cau !", 0) 
 If (Val(yeucau2) 0) Then 
Phần iII: chương trình mô phỏng chương VI: chương trình mô phỏng 
Phạm Trọng Đại - 505102009 Khoa CNTT - ĐH phương đông 111 
 db5_5.Caption = yeucau2 & " dB" 
 d5_5 = Val(yeucau2) 
 Else 
 db5_5.Caption = "0 dB" 
 End If 
End Sub 
Private Sub db5_Click() 
yeucau1 = InputBox("Nhap vao gia tri suy hao ben trai L cua Tang 5:", "yeu 
cau !", 0) 
 If (Val(yeucau1) 0) Then 
 db5.Caption = yeucau1 & " dB" 
 d5 = Val(yeucau1) 
 Else 
 db5.Caption = "0 dB" 
 End If 
End Sub 
Private Sub db6_6_Click() 
yeucau2 = InputBox("Nhap vao gia tri suy hao ben phai L cua Tang 6:", "yeu 
cau !", 0) 
 If (Val(yeucau2) 0) Then 
 db6_6.Caption = yeucau2 & " dB" 
 d6_6 = Val(yeucau2) 
 Else 
 db6_6.Caption = "0 dB" 
Phần iII: chương trình mô phỏng chương VI: chương trình mô phỏng 
Phạm Trọng Đại - 505102009 Khoa CNTT - ĐH phương đông 112 
 End If 
End Sub 
Private Sub db6_Click() 
yeucau1 = InputBox("Nhap vao gia tri suy hao ben trai L cua Tang 6:", "yeu 
cau !", 0) 
 If (Val(yeucau1) 0) Then 
 db6.Caption = yeucau1 & " dB" 
 d6 = Val(yeucau1) 
 Else 
 db6.Caption = "0 dB" 
 End If 
End Sub 
Private Sub Form_Load() 
d6 = 11.6 
d5 = 10.3 
d4 = 12.5 
d3 = 11.8 
d2 = 8.95 
d1 = 5.3 
d0 = 5 
d6_6 = 11.6 
d5_5 = 10.3 
d4_4 = 12.5 
d3_3 = 11.8 
Phần iII: chương trình mô phỏng chương VI: chương trình mô phỏng 
Phạm Trọng Đại - 505102009 Khoa CNTT - ĐH phương đông 113 
d2_2 = 8.95 
d1_1 = 5.3 
d0_0 = 5 
db6 = d6 & " dB" 
db5 = d5 & " dB" 
db4 = d4 & " dB" 
db3 = d3 & " dB" 
db2 = d2 & " dB" 
db1 = d1 & " dB" 
db0 = d0 & " dB" 
db6_6 = d6_6 & " dB" 
db5_5 = d5_5 & " dB" 
db4_4 = d4_4 & " dB" 
db3_3 = d3_3 & " dB" 
db2_2 = d2_2 & " dB" 
db1_1 = d1_1 & " dB" 
db0_0 = d0_0 & " dB" 
i0_0.Visible = False 
i1_1.Visible = False 
i2_2.Visible = False 
i3_3.Visible = False 
i4_4.Visible = False 
i5_5.Visible = False 
i6_6.Visible = False 
End Sub 
Phần iII: chương trình mô phỏng chương VI: chương trình mô phỏng 
Phạm Trọng Đại - 505102009 Khoa CNTT - ĐH phương đông 114 
6.3. Chương trình mô phỏng xác định giá trị suy hao 
khoảng cách từ BTS đến MS. 
6.3.1. Các bước thực hiện. 
 Bước 1: Xác định tần số làm việc 
Hình 6.6. Xác định tần số làm việc. 
Phần iII: chương trình mô phỏng chương VI: chương trình mô phỏng 
Phạm Trọng Đại - 505102009 Khoa CNTT - ĐH phương đông 115 
 Bước 2: Nhập số tầng của tòa nhà. 
Hình 6.7. Xác định số tầng của tòa nhà. 
 Bước 3 : Xác định khoảng cách từ BTS đến MS 
Hình 6.8 (a). Nhập khoảng cách từ BTS đến MS. 
Phần iII: chương trình mô phỏng chương VI: chương trình mô phỏng 
Phạm Trọng Đại - 505102009 Khoa CNTT - ĐH phương đông 116 
Hình 6.8 ( b). Nhập khoảng cách từ BTS đến MS phía bên trái. 
Hình 6.8 (c). Nhập khoảng cách từ BTS đến MS phía bên phải. 
Phần iII: chương trình mô phỏng chương VI: chương trình mô phỏng 
Phạm Trọng Đại - 505102009 Khoa CNTT - ĐH phương đông 117 
 Bước 4 : Mô phỏng chương trình xác định giá trị suy hao 
Hình 6.9. Chương trình mô phỏng xác định giá trị suy hao 
6.3.2. Mã nguồn chương trình mô phỏng xác định giá trị suy hao khoảng 
cách từ BTS đến MS. 
Dim l As Integer 
Dim d1, d2, d3, d4, d5, d6, d0 As Integer 
Private Sub cbof_click() 
Select Case cbof.Text 
 Case "900 Mhz": 
 lbls.Caption = "32" 
 Command2.Enabled = True 
 Case "1800 Mhz": 
 lbls.Caption = "38" 
Phần iII: chương trình mô phỏng chương VI: chương trình mô phỏng 
Phạm Trọng Đại - 505102009 Khoa CNTT - ĐH phương đông 118 
 Command2.Enabled = True 
 Case "2400 Mhz": 
 lbls.Caption = "42" 
 Command2.Enabled = True 
 End Select 
End Sub 
Private Sub Command1_Click() 
 Command2.Enabled = True 
 yeucau = InputBox(" So tang cua toa nha(trong pham vi 6):", "yeu cau!", 1) 
 Dim line As Integer 
 line = Val(yeucau) 
 If (line = 1) Then 
 d2 = d3 = d4 = d5 = d6 = 0 
 img1.Visible = True 
 img2.Visible = False 
 img3.Visible = False 
 img4.Visible = False 
 img5.Visible = False 
 img6.Visible = False 
 MsgBox (" Nhap khoang cach tu BTS den MS o Tang 1 ! ") 
 yeucau1 = InputBox("Nhap khoang cach tu BTS --> MS o Tang 1 phia ben 
trai:", "yeu cau !", 0) 
 If (Val(yeucau1) 0) Then 
 lbld.Caption = yeucau1 & " m" 
Phần iII: chương trình mô phỏng chương VI: chương trình mô phỏng 
Phạm Trọng Đại - 505102009 Khoa CNTT - ĐH phương đông 119 
 d1 = Val(yeucau1) 
 Else 
 lbld.Caption = "0 m" 
 End If 
 yeucau2 = InputBox("Nhap khoang cach tu BTS --> MS o Tang 1 phia ben 
phai:", "yeu cau !", 0) 
 If (Val(yeucau2) 0) Then 
 lbldp.Caption = yeucau2 & " m" 
 d1 = Val(yeucau1) 
 Else 
 lbldp.Caption = "0 m" 
 End If 
 End If 
 If (line = 2) Then 
 d3 = d4 = d5 = d6 = 0 
 img2.Visible = True 
 img3.Visible = False 
 img4.Visible = False 
 img5.Visible = False 
 img6.Visible = False 
 MsgBox (" Nhap khoang cach tu BTS den MS o Tang 2 ! ") 
 yeucau1 = InputBox("Nhap khoang cach tu BTS --> MS o Tang 2 phia ben 
trai:", "yeu cau !", 0) 
 If (Val(yeucau1) 0) Then 
Phần iII: chương trình mô phỏng chương VI: chương trình mô phỏng 
Phạm Trọng Đại - 505102009 Khoa CNTT - ĐH phương đông 120 
 lbld.Caption = yeucau1 & " m" 
 d2 = Val(yeucau1) 
 Else 
 lbld.Caption = "0 m" 
 End If 
 yeucau2 = InputBox("Nhap khoang cach tu BTS --> MS o Tang 2 phia ben 
phai:", "yeu cau !", 0) 
 If (Val(yeucau2) 0) Then 
 lbldp.Caption = yeucau2 & " m" 
 d2 = Val(yeucau1) 
 Else 
 lbldp.Caption = "0 m" 
 End If 
 End If 
 If (line = 3) Then 
 d4 = d5 = d6 = 0 
 img3.Visible = True 
 img4.Visible = False 
 img5.Visible = False 
 img6.Visible = False 
 MsgBox (" Nhap khoang cach tu BTS den MS o Tang 3 ! ") 
 yeucau1 = InputBox("Nhap khoang cach tu BTS --> MS o Tang 3 phia ben 
trai:", "yeu cau !", 0) 
 If (Val(yeucau1) 0) Then 
Phần iII: chương trình mô phỏng chương VI: chương trình mô phỏng 
Phạm Trọng Đại - 505102009 Khoa CNTT - ĐH phương đông 121 
 lbld.Caption = yeucau1 & " m" 
 d3 = Val(yeucau1) 
 Else 
 lbld.Caption = "0 m" 
 End If 
 yeucau2 = InputBox("Nhap khoang cach tu BTS --> MS o Tang 3 phia ben 
phai:", "yeu cau !", 0) 
 If (Val(yeucau2) 0) Then 
 lbldp.Caption = yeucau2 & " m" 
 d3 = Val(yeucau1) 
 Else 
 lbldp.Caption = "0 m" 
 End If 
 End If 
 If (line = 4) Then 
 d5 = d6 = 0 
 img3.Visible = True 
 img4.Visible = True 
 img5.Visible = False 
 img6.Visible = False 
 MsgBox (" Nhap khoang cach tu BTS den MS o Tang 4 ! ") 
 yeucau1 = InputBox("Nhap khoang cach tu BTS --> MS o Tang 4 phia ben 
trai:", "yeu cau !", 0) 
 If (Val(yeucau1) 0) Then 
Phần iII: chương trình mô phỏng chương VI: chương trình mô phỏng 
Phạm Trọng Đại - 505102009 Khoa CNTT - ĐH phương đông 122 
 lbld.Caption = yeucau1 & " m" 
 d4 = Val(yeucau1) 
 Else 
 lbld.Caption = "0 m" 
 End If 
 yeucau2 = InputBox("Nhap khoang cach tu BTS --> MS o Tang 4 phia ben 
phai:", "yeu cau !", 0) 
 If (Val(yeucau2) 0) Then 
 lbldp.Caption = yeucau2 & " m" 
 d4 = Val(yeucau1) 
 Else 
 lbldp.Caption = "0 m" 
 End If 
 End If 
 If (line = 5) Then 
 d6 = 0 
 img3.Visible = True 
 img4.Visible = True 
 img5.Visible = True 
 img6.Visible = False 
 MsgBox (" Nhap khoang cach tu BTS den MS o Tang 5 ! ") 
 yeucau1 = InputBox("Nhap khoang cach tu BTS -->MS o Tang 5 phai ben 
trai:", "yeu cau !", 0) 
 If (Val(yeucau1) 0) Then 
Phần iII: chương trình mô phỏng chương VI: chương trình mô phỏng 
Phạm Trọng Đại - 505102009 Khoa CNTT - ĐH phương đông 123 
 lbld.Caption = yeucau1 & " m" 
 d5 = Val(yeucau1) 
 Else 
 lbld.Caption = "0 m" 
 End If 
 yeucau2 = InputBox("Nhap khoang cach tu BTS --> MS o Tang 5 phia ben 
phai:", "yeu cau !", 0) 
 If (Val(yeucau2) 0) Then 
 lbldp.Caption = yeucau2 & " m" 
 d5 = Val(yeucau1) 
 Else 
 lbldp.Caption = "0 m" 
 End If 
 End If 
 If (line = 6) Then 
 img3.Visible = True 
 img4.Visible = True 
 img5.Visible = True 
 img6.Visible = True 
 MsgBox (" Nhap khoang cach tu BTS den MS o Tang 6 ! ") 
 yeucau1 = InputBox("Nhap khoang cach tu BTS -->MS o Tang 6 phia ben 
trai:", "yeu cau !", 0) 
 If (Val(yeucau1) 0) Then 
 lbld.Caption = yeucau1 & " m" 
Phần iII: chương trình mô phỏng chương VI: chương trình mô phỏng 
Phạm Trọng Đại - 505102009 Khoa CNTT - ĐH phương đông 124 
 d6 = Val(yeucau1) 
 Else 
 lbld.Caption = "0 m" 
 End If 
 yeucau2 = InputBox("Nhap khoang cach tu BTS --> MS o Tang 6 phia ben 
phai:", "yeu cau !", 0) 
 If (Val(yeucau2) 0) Then 
 lbldp.Caption = yeucau2 & " m" 
 d6 = Val(yeucau1) 
 Else 
 lbldp.Caption = "0 m" 
 End If 
 End If 
End Sub 
Private Sub Command2_Click() 
Dim max 
max = d0 
l = 0 
 If max < d1 Then 
 max = d1 
 l = 1 
 End If 
 If max < d2 Then 
 max = d2 
Phần iII: chương trình mô phỏng chương VI: chương trình mô phỏng 
Phạm Trọng Đại - 505102009 Khoa CNTT - ĐH phương đông 125 
 l = 2 
 End If 
 If max < d3 Then 
 max = d3 
 l = 3 
 End If 
 If max < d4 Then 
 max = d4 
 l = 4 
 End If 
 If max < d5 Then 
 max = d5 
 l = 5 
 End If 
 If max < d6 Then 
 max = d6 
 l = 6 
 End If 
 'hien thi 
 Select Case l 
 Case 0: 
 n = 2.5 
 lbld.Top = 8000 
 lbld.Visible = True 
Phần iII: chương trình mô phỏng chương VI: chương trình mô phỏng 
Phạm Trọng Đại - 505102009 Khoa CNTT - ĐH phương đông 126 
 lbldp.Top = 8000 
 lbldp.Visible = True 
 db.Top = 8000 
 db.Visible = True 
 db1.Top = 8000 
 db1.Visible = True 
 Image8.Top = 8200 
 Image8.Visible = True 
 BTS.Top = 8200 
 BTS.Visible = True 
 i0.Visible = True 
 i0_0.Visible = True 
 i1.Visible = False 
 i1_1.Visible = False 
 i2.Visible = False 
 i2_2.Visible = False 
 i3.Visible = False 
 i3_3.Visible = False 
 i4.Visible = False 
 i4_4.Visible = False 
 i5.Visible = False 
 i5_5.Visible = False 
 i6.Visible = False 
 i6_6.Visible = False 
Phần iII: chương trình mô phỏng chương VI: chương trình mô phỏng 
Phạm Trọng Đại - 505102009 Khoa CNTT - ĐH phương đông 127 
 Case 1: 
 n = 3.9 
 lbld.Top = 7200 
 lbld.Visible = True 
 lbldp.Top = 7200 
 lbldp.Visible = True 
 db.Top = 7200 
 db.Visible = True 
 db1.Top = 7200 
 db1.Visible = True 
 Image8.Top = 7400 
 Image8.Visible = True 
 BTS.Top = 7400 
 BTS.Visible = True 
 i0.Visible = False 
 i0_0.Visible = False 
 i1.Visible = True 
 i1_1.Visible = True 
 i2.Visible = False 
 i2_2.Visible = False 
 i3.Visible = False 
 i3_3.Visible = False 
 i4.Visible = False 
 i4_4.Visible = False 
Phần iII: chương trình mô phỏng chương VI: chương trình mô phỏng 
Phạm Trọng Đại - 505102009 Khoa CNTT - ĐH phương đông 128 
 i5.Visible = False 
 i5_5.Visible = False 
 i6.Visible = False 
 i6_6.Visible = False 
 Case 2: 
 n = 3 
 lbld.Top = 5800 
 lbld.Visible = True 
 lbldp.Top = 5800 
 lbldp.Visible = True 
 db.Top = 5800 
 db.Visible = True 
 db1.Top = 5800 
 db1.Visible = True 
 Image8.Top = 6000 
 Image8.Visible = True 
 BTS.Top = 6000 
 BTS.Visible = True 
 i0.Visible = False 
 i0_0.Visible = False 
 i1.Visible = False 
 i1_1.Visible = False 
 i2.Visible = True 
 i2_2.Visible = True 
Phần iII: chương trình mô phỏng chương VI: chương trình mô phỏng 
Phạm Trọng Đại - 505102009 Khoa CNTT - ĐH phương đông 129 
 i3.Visible = False 
 i3_3.Visible = False 
 i4.Visible = False 
 i4_4.Visible = False 
 i5.Visible = False 
 i5_5.Visible = False 
 i6.Visible = False 
 i6_6.Visible = False 
 Case 3: 
 n = 2.9 
 lbld.Top = 4600 
 lbld.Visible = True 
 lbldp.Top = 4600 
 lbldp.Visible = True 
 db.Top = 4600 
 db.Visible = True 
 db1.Top = 4600 
 db1.Visible = True 
 Image8.Top = 4800 
 Image8.Visible = True 
 BTS.Top = 4800 
 BTS.Visible = True 
 i0.Visible = False 
Phần iII: chương trình mô phỏng chương VI: chương trình mô phỏng 
Phạm Trọng Đại - 505102009 Khoa CNTT - ĐH phương đông 130 
 i0_0.Visible = False 
 i1.Visible = False 
 i1_1.Visible = False 
 i2.Visible = False 
 i2_2.Visible = False 
 i3.Visible = True 
 i3_3.Visible = True 
 i4.Visible = False 
 i4_4.Visible = False 
 i5.Visible = False 
 i5_5.Visible = False 
 i6.Visible = False 
 i6_6.Visible = False 
 Case 4: 
 n = 2.8 
 lbld.Top = 3300 
 lbld.Visible = True 
 lbldp.Top = 3300 
 lbldp.Visible = True 
 db.Top = 3300 
 db.Visible = True 
 db1.Top = 3300 
 db1.Visible = True 
 Image8.Top = 3500 
Phần iII: chương trình mô phỏng chương VI: chương trình mô phỏng 
Phạm Trọng Đại - 505102009 Khoa CNTT - ĐH phương đông 131 
 Image8.Visible = True 
 BTS.Top = 3500 
 BTS.Visible = True 
 i0.Visible = False 
 i0_0.Visible = False 
 i1.Visible = False 
 i1_1.Visible = False 
 i2.Visible = False 
 i2_2.Visible = False 
 i3.Visible = False 
 i3_3.Visible = False 
 i4.Visible = True 
 i4_4.Visible = True 
 i5.Visible = False 
 i5_5.Visible = False 
 i6.Visible = False 
 i6_6.Visible = False 
 Case 5: 
 n = 2.6 
 lbld.Top = 2100 
 lbld.Visible = True 
 lbldp.Top = 2100 
 lbldp.Visible = True 
 db.Top = 2100 
Phần iII: chương trình mô phỏng chương VI: chương trình mô phỏng 
Phạm Trọng Đại - 505102009 Khoa CNTT - ĐH phương đông 132 
 db.Visible = True 
 db1.Top = 2100 
 db1.Visible = True 
 Image8.Top = 2300 
 Image8.Visible = True 
 BTS.Top = 2300 
 BTS.Visible = True 
 i0.Visible = False 
 i0_0.Visible = False 
 i1.Visible = False 
 i1_1.Visible = False 
 i2.Visible = False 
 i2_2.Visible = False 
 i3.Visible = False 
 i3_3.Visible = False 
 i4.Visible = False 
 i4_4.Visible = False 
 i5.Visible = True 
 i5_5.Visible = True 
 i6.Visible = False 
 i6_6.Visible = False 
 Case 6: 
 n = 2.4 
 lbld.Top = 830 
Phần iII: chương trình mô phỏng chương VI: chương trình mô phỏng 
Phạm Trọng Đại - 505102009 Khoa CNTT - ĐH phương đông 133 
 lbld.Visible = True 
 lbldp.Top = 830 
 lbldp.Visible = True 
 db.Top = 830 
 db.Visible = True 
 db1.Top = 830 
 db1.Visible = True 
 Image8.Top = 850 
 Image8.Visible = True 
 BTS.Top = 850 
 BTS.Visible = True 
 i0.Visible = False 
 i0_0.Visible = False 
 i1.Visible = False 
 i1_1.Visible = False 
 i2.Visible = False 
 i2_2.Visible = False 
 i3.Visible = False 
 i3_3.Visible = False 
 i4.Visible = False 
 i4_4.Visible = False 
 i5.Visible = False 
 i5_5.Visible = False 
 i6.Visible = True 
Phần iII: chương trình mô phỏng chương VI: chương trình mô phỏng 
Phạm Trọng Đại - 505102009 Khoa CNTT - ĐH phương đông 134 
 i6_6.Visible = True 
 End Select 
 'tinh toan 
 s = Val(lbls.Caption) 
 d = Val(lbld.Caption) 
 h = Val(lbldp.Caption) 
 db.Caption = Round((s + 10 * n * Log(d) / Log(10)), 2) & " (dB)" 
 db1.Caption = Round((s + 10 * n * Log(h) / Log(10)), 2) & " (dB)" 
 l1 = Val(db.Caption) 
 l2 = Val(db1.Caption) 
 delta = Round(Abs(l1 - l2), 2) & " (dB)" 
End Sub 
Private Sub Command3_Click() 
 Suy_hao.Hide 
End Sub 
Private Sub Form_Load() 
lbldp.Visible = False 
i0_0.Visible = False 
i1_1.Visible = False 
i2_2.Visible = False 
i3_3.Visible = False 
i4_4.Visible = False 
i5_5.Visible = False 
i6_6.Visible = False 
End Sub 
Phần iII: chương trình mô phỏng chương VI: chương trình mô phỏng 
Phạm Trọng Đại - 505102009 Khoa CNTT - ĐH phương đông 135 
6.4. Chương trình mô phỏng, xác định góc ngẩng. 
6.4.1. Các bước thực hiện. 
 Bước 1: Xác định tần số làm việc 
Hình 6.10 : Xác định tần số làm việc. 
 Bước 2: Nhập giá trị n. 
 Bước 3: Nhập chiều cao của BTS. 
 Bước 4: Nhập khoảng cách từ BTS đến MS. 
 Bước 5: Mô phỏng và xác định giá trị góc ngẩng. 
Phần iII: chương trình mô phỏng chương VI: chương trình mô phỏng 
Phạm Trọng Đại - 505102009 Khoa CNTT - ĐH phương đông 136 
Hình 6.11. Mô phỏng và xác định giá trị góc ngẩng. 
6.4.2. Mã nguồn chương trình mô phỏng và xác định giá trị góc ngẩng. 
Private Sub cbof_click() 
Select Case cbof.Text 
 Case "900 Mhz": 
 lbls.Caption = "32" 
 Command2.Enabled = True 
 Case "1800 Mhz": 
 lbls.Caption = "38" 
 Command2.Enabled = True 
 Case "2400 Mhz": 
 lbls.Caption = "42" 
 Command2.Enabled = True 
Phần iII: chương trình mô phỏng chương VI: chương trình mô phỏng 
Phạm Trọng Đại - 505102009 Khoa CNTT - ĐH phương đông 137 
 End Select 
End Sub 
Private Sub Command1_Click() 
i0.Visible = True 
End Sub 
Private Sub Command2_Click() 
 s = Val(lbls.Caption) 
 d = Val(d.Text) 
 n = Val(n.Text) 
 h = Val(h.Text) 
 db1.Caption = Round((s + 10 * n * Log(d) / Log(10)), 2) & " (dB)" 
 db2.Caption = Round((s + 10 * n * Log(d) / Log(10)), 2) & " (dB)" 
 db3.Caption = Round(((s + 10 * n * Log(d) / Log(10)) - 3), 2) & " (dB)" 
 a.Caption = Round((180 / 3.14) * Atn(d / h), 2) & " độ" 
 a.Visible = True 
End Sub 
Private Sub Command3_Click() 
Goc_Ngang.Hide 
End Sub 
Private Sub Command4_Click() 
h.Text = "0" 
d.Text = "0" 
n.Text = "0" 
cbof = "MHz" 
Phần iII: chương trình mô phỏng chương VI: chương trình mô phỏng 
Phạm Trọng Đại - 505102009 Khoa CNTT - ĐH phương đông 138 
a.Visible = False 
db1.Caption = " 0 dB" 
db2.Caption = " 0 dB" 
db3.Caption = " 0 dB" 
lbls.Caption = "" 
End Sub 
Private Sub Form_Load() 
i0.Visible = False 
a.Visible = False 
End Sub 
Đồ án tốt nghiệp Mô hình phủ sóng và giao thoa 
Phạm Trọng Đại Khoa CNTT - ĐH phương đông - 139 - 
Kết luận 
Quá trình truyền sóng trong môi trường trong nhà rất phưc tạp và khó dự 
đoán chính xác do cấu trúc, kết cấu, vật liệu xây dựng của các công trình khác 
nhau, mục đích sử dụng cũng khác nhau: Sân bay, ga điện ngầm, văn phòng cao 
tầng, khu vực kinh doanh hàng hóa rộng lớn… Vì vậy phải cân nhắc khi chọn 
giải pháp thiết kế sao co phù hợp nhất với từng công trình bằng cách kết linh 
hoạt các lựa chọn trong 3 khối hành phần chính của hệ thống trong nhà. Trong 
những năm gần đây, các giải pháp inbuilding ngày càng triển khai nhiều và được 
các mạng di động quan tâm nhằm đáp ứng nhu cầu của người sử dụng “vùng phủ 
mọi nơi”. Đồng thời đây cũng là cơ hội để các nhà khai thác mở rộng vùng phủ, 
cải thiện dịch vụ, gia tăng lưu lượng mới cho những vùng mà trước đây gọi là 
“hố đen” do mạng macro không có khả năng phục vụ được. Với vùng phủ trong 
nhà chồng lên và cùng với vùng phủ mạng macro sẽ làm tăng tổng dung lượng và 
vùng phủ của toàn mạng di động. 
Đồ án đã tiến hành đưa ra các mô hình lý thuyết để tính toán, thiết kế 
chương trình mô phỏng. 
Chương trình mô phỏng gồm 3 modul: 
+ Modul 1: Chương trình mô phỏng xác định ví trí trạm BTS và khoảng 
cách từ BTS đến MS. 
+ Modul 2: Chương trình mô phỏng xác định giá trị suy hao khoảng cách 
từ BTS đến MS. 
+ Modul 3: Chương trình mô phỏng và xác định góc ngẩng. 
Hạn chế lớn nhất của đề tài là trong tính toán thực tế, ngoài việc lấy một 
số tham số của nhà cung cấp thiết bị, một số phần lớn các tham số khác còn lấy 
theo các giá trị điển hình. Điều này dẫn đến kết quả thiết kế dừng ở mức định cỡ 
mạng sơ bộ. Tuy nhiên, trong thực tế việc triển khai một hệ thống thông tin luôn 
cần thêm bước hiệu chỉnh, tối ưu mạng sau khi lắp đặt, chạy thử dựa trên kết quả 
đo thực tế. 
Đồ án tốt nghiệp Mô hình phủ sóng và giao thoa 
Phạm Trọng Đại Khoa CNTT - ĐH phương đông - 140 - 
Ngoài ra, vì hạn chế về ngôn ngữ lập trình Visual Basic 6.0 nên không 
tránh khỏi những sai sót, em rất mong nhận được sự phê bình, hướng dẫn và sự 
giúp đỡ của Thầy cô, bạn bè. 
Một lần nữa, em xin chân thành cảm ơn sự giúp đỡ tận tình của TS. Lê Chí 
Quỳnh cùng các Thầy cô trong khoa Công nghệ Thông tin, chuyên ngành Điện 
tử Viễn thông đã giúp em hoàn thành đồ án tốt nghiệp. 
Đồ án tốt nghiệp Mô hình phủ sóng và giao thoa 
Phạm Trọng Đại Khoa CNTT - ĐH phương đông - 141 - 
Tài liệu tham khảo 
[ 1 ]. KS. Đinh Thị Minh Nguyệt: Giải pháp phủ sóng di động GSM trong các 
công trình đặc biệt, Tạp chí công nghệ thông tin & truyền thông. 
[ 2 ]. Phan Anh: Lý thuyết và kỹ thuật anten, bản in lần 4, Nhà xuất bản và Khoa 
học và Kỹ thuật, Hà Nội 2002. 
[ 3 ]. Thông tin di động GSM, Học viện công nghệ bưu chính viễn thông. 
[ 4 ]. Nguyễn Song Tùng: Indoor coverage, Đồ án tốt nghiệp cao học, Trường 
đại học Bách Khoa, Hà Nội, 2004. 
[ 5 ]. Visual Basic cho sinh viên & kỹ thuật viên khoa công nghệ thông tin, Nhà 
xuất bản thống kê, Hà Nội, 2003. 
            Các file đính kèm theo tài liệu này:
 Luận văn- Mô hình phủ sóng & giao thoa.pdf Luận văn- Mô hình phủ sóng & giao thoa.pdf