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 |
Chia sẻ: lylyngoc | Lượt xem: 2403 | 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