Luận văn Mô hình phủ sóng & giao thoa

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à.

pdf142 trang | Chia sẻ: lylyngoc | Lượt xem: 2403 | Lượt tải: 0download
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:

  • pdfLuận văn- Mô hình phủ sóng & giao thoa.pdf