MỤC LỤC
Trang
BẢNG TRA CỨU CÁC TỪ VIẾT TẮTiv
DANH MỤC BẢNG BIỂUx
DANH MỤC HÌNH VẼxi
CHƯƠNG 1: CÔNG NGHỆ WCDMA1
1.1. SỰ PHÁT TRIỂN CỦA HỆ THỐNG THÔNG TIN DI ĐỘNG1
1.1.1. Hệ thống thông tin di động thế hệ 1. 1
1.1.2. Hệ thống thông tin di động thế hệ 2. 2
1.1.2.1. Đa truy cập phân chia theo thời gian TDMA3
1.1.2.2. Đa truy cập phân chia theo mã CDMA4
1.2. HỆ THỐNG THÔNG TIN DI ĐỘNG THẾ HỆ BA (3G - THE THIRD GENERATION)6
1.3. YÊU CẦU ĐỐI VỚI HỆ THỐNG THÔNG TIN DI ĐỘNG THẾ HỆ BA7
1.4. SỰ KHÁC NHAU CƠ BẢN GIỮA WCDMA VÀ GIAO DIỆN VÔ TUYẾN THẾ HỆ THỨ 211
1.5. GIỚI THIỆU TỔNG QUAN MẠNG WCDMA12
1.5.1. Mô cấu trúc mạng WCDMA13
1.5.2. Mạng truy nhập vô tuyến UTRAN:16
1.5.2.1. Đặc trưng của UTRAN16
1.5.2.2. Bộ điều khiển mạng vô tuyến UTRAN17
1.5.2.3. Node B18
1.5.3. Giao diện vô tuyến. 18
1.5.3.1. Giao diện UTRAN – CN, IU. 18
1.5.3.2. Giao diện RNC – RNC, IUr19
1.5.3.3. Giao diện RNC – Node B, IUb. 20
1.6. CÁC LOẠI KÊNH TRONG UTRAN20
1.6.1. Các kênh lôgic. 20
1.6.2. Các kênh vật lý. 21
1.6.3. Các kênh truyền tải22
1.6.3.1. Kênh truyền tải riêng. 22
1.6.3.2. Các kênh truyền tải chung. 23
1.7. KỸ THUẬT TRẢI PHỔ TRONG WCDMA25
1.8. ĐIỀU KHIỂN CÔNG SUẤT TRONG WCDMA26
1.8.1. Điều khiển công suất vòng hở (OLPC). 27
1.8.2. Điều khiển công suất vòng kín (CLPC). 28
1.8.3. Các trường hợp điều khiển công suất đặc biệt29
CHƯƠNG 2: QUY HOẠCH MẠNG WCDMA40
2.1. KHỞI TẠO QUY HOẠCH (ĐỊNH CỠ MẠNG). 41
2.1.1. Sơ đồ khối quá trình định cỡ mạng. 42
2.1.2. Phân tích quỹ năng lượng đường truyền vô tuyến. 43
2.1.2.1. Quỹ năng lượng đường lên. 44
2.1.2.2. Quỹ năng lượng đường xuống. 47
2.1.2.3. Độ nhạy máy thu. 51
2.1.2.4. Độ lợi chuyển giao mềm và giới hạn hiệu ứng che tối52
2.1.3. Xác định bán kính và vùng phủ sóng cell53
2.1.4. Quy hoạch dung lượng và vùng phủ - lặp tối ưu. 54
2.1.5. Định cỡ RNC(Radio network Control). 56
2.2. QUY HOẠCH CHI TIẾT58
2.2.1. Phân tích suy hao đường truyền và các mô truyền dẫn. 59
2.2.2. Các mô truyền dẫn cơ bản. 59
2.2.2.1. Mô Hata-Okumura. 59
2.2.2.2. Mô Walfisch - Ikegami61
2.2.3. Lặp đường lên và đường xuống. 64
2.2.4. Hậu xử lý - Dự báo vùng phủ mạng và phân tích kênh chung. 65
2.3. TỐI ƯU MẠNG65
CHƯƠNG 3: CÁC GIẢI PHÁP TỐI ƯU MẠNG W-CDMA68
3.1. MÔ TẢ TOÁN HỌC CỦA VẤN ĐỀ TỐI ƯU HOÁ68
3.2.TỐI ƯU TRONG QUY HOẠCH VÀ THIẾT KẾ MẠNG BẰNG PHƯƠNG PHÁP DỰ BÁO LƯU LƯỢNG69
3.2.1. Quy trình dự báo lưu lượng. 69
3.2.2. Dự báo lưu lượng bằng phương pháp hồi quy tuyến tính. 70
3.2.3. Dự báo lưu lượng bằng phương pháp hồi quy đàn hồi72
3.3. CÁC CÔNG NGHỆ ĐỂ TĂNG DUNG LƯỢNG ĐƯỜNG TRUYỀN TRONG W-CDMA75
3.3.1. Phân tập dàn anten thích ứng. 75
3.3.2. Cấu phân tập dàn anten thích ứng. 77
CHƯƠNG 4: XÂY DỰNG BÀI TOÁN TÍNH BÁN KÍNH CELL VÀ TỔNG LƯU LƯỢNG TRONG HỆ THỐNG WCDMA81
4.1. LƯU ĐỒ TÍNH TOÁN81
4.1.1. Lưu đồ thuật toán tổng quát:81
4.1.2. Lưu đồ thuật toán chi tiết82
4.2. KẾT QUẢ CHƯƠNG TRÌNH84
4.2.1 Giao diện chính:84
4.2.2.Tính suy hao đường truyền. 84
4.2.3. Tính kích thước Cell85
4.2.4. Tính dung lượng kênh. 85
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI. 87
TÀI LIỆU THAM KHẢO89
PHỤ LỤC A1
109 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 2782 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Quy hoạch và tối ưu mạng wcdma, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
i của một RNC.
Lưu lượng cực đại tại giao diện Iub.
Số lượng và loại giao diện (ví dụ: STM-1, E1).
Ví dụ về dung lượng của một RNC với các cấu khác nhau:
2.3: Ví dụ về dung lượng của một RNC.
Cấu
Lưu lượng Iub
(Mbps)
Số BTS
Số cell
Các giao diện khác
STM-1
E1
1
48
128
384
4*4
6*16
2
85
192
576
4*4
8*16
3
122
256
768
4*4
10*16
4
159
256
960
4*4
12*16
5
196
384
1152
4*4
14*16
Số lượng RNC cần thiết để kết nối đến một số cell nhất định có thể được tính theo công thức sau:
numCells
cellsRNC . fillrate_1
(2.38)
numRNCs =
Trong đó:
numCells: số lượng cell của vùng đang thực hiện việc định cỡ.
cellsRNC: số lượng cell cực đại mà RNC có khả năng hỗ trợ.
fillrate_1: hệ số sử dụng để dự phòng cho dung lượng cực đại.
numBTSs
btsRNC . fillrate_2
(2.39)
Số lượng RNC cần thiết để kết nối đến một số BTS nhất định có thể được tính theo công thức sau:
numRNCs =
Trong đó:
numBTSs: số BTS trong khu vực cần định cỡ.
btsRNC: số BTS cực đại có thể kết nối đến RNC.
fillrate_2: hệ số sử dụng để dự phòng cho dung lượng cực đại.
Dựa trên dung lượng dự tính, có nhiều phương pháp định cỡ RNC như sau:
Lưu lượng hỗ trợ (giới hạn trên của định cỡ RNC): thể hiện dung lượng thiết bị quy hoạch mạng, thông thường được quy hoạch sao cho nó lớn hơn dung lượng yêu cầu.
Lưu lượng yêu cầu (giới hạn dưới của định cỡ RNC): là giá trị lưu lượng trung bình thực tế trên toàn mạng.
Giao diện truyền dẫn Iub: nếu định cỡ RNC để phục vụ N trạm, thì tổng dung lượng của giao diện truyền dẫn Iub phải lớn hơn N lần dung lượng của mỗi trạm.
2.2. QUY HOẠCH CHI TIẾT
Việc quy hoạch chi tiết được thực hiện sử dụng phần mềm quy hoạch mạng. Ở đây, ta phân tích phần mềm mô phỏng tĩnh, cho nên mặc dù thực tế các thuê bao không di động tuy nhiên các thuê bao có các tốc độ khác nhau.
Chương trình mô phỏng gồm có 3 phần cơ bản: Phần khởi tạo, phân tích tổng hợp đường lên và đường xuống, và phần hậu xử lý.
Pha khởi tạo
Pha hậu xử lý
Vòng lặp kết hợp UL/DL
Khởi tạo toàn bộ
Khởi tạo các vòng lặp
Bước lặp UL
Bước lặp DL
Hậu xử lý
Hiển thị đồ họa
Phân tích vùng phủ
Kết thúc
2.6: Tổng quan mô phỏng tĩnh.
2.2.1. Phân tích suy hao đường truyền và các mô truyền dẫn
Địa hình
Hình thái học
Hướng phố
Mô hình truyền sóng
Suy hao tuyến cơ bản
Độ cao hiệu dụng anten
Tham số điều chỉnh
LOS
NLOS
2.7: Các thành phần của mô truyền sóng.
Trong quá trình quy hoạch mạng, các mô truyền dẫn được sử dụng để tính cường độ trường tín hiệu của một máy phát trong vùng tính toán. Trong các cell vĩ mô, giả thiết rằng các máy phát ở trên đỉnh mái nhà và máy thu ở trên mặt đất. Sự truyền lan sóng vô tuyến từ bộ phát đến bộ thu tính toán không đơn giản vì nhiều trở ngại và cấu trúc kênh phức tạp. Trong cell vi mô, việc tính toán đơn giản hơn vì thường chỉ có một ít đường tín hiệu mạnh.
Trong quy hoạch cell vĩ mô, môi trường truyền dẫn phức tạp vì khoảng cách từ máy phát đến máy thu lớn và đường truyền sóng khó xác định. Trong điều kiện đó sử dụng mô thực nghiệm hoặc bán thực nghiệm có hiệu quả hơn. Những mô này sử dụng các tham số tự do và các hệ số điều chỉnh khác nhau có thể được điều chỉnh bằng số liệu đo. Các mô thực nghiệm được sử dụng có hiệu quả trong điều kiện môi trường gần máy phát ít ảnh hưởng đến truyền sóng.
2.2.2. Các mô truyền dẫn cơ bản
Phần này giới thiệu 2 mô truyền dẫn được sử dụng rộng rãi, đó là mô Hata-Okumura và Walfisch-Ikegami. Những mô thực nghiệm này là những phương tiện cơ bản cho việc tính toán suy hao truyền dẫn.
2.2.2.1. Mô Hata-Okumura
Mô Hata-Okumura là quan hệ thực nghiệm được rút ra từ báo cáo kỹ thuật của Okumura cho phép sử dụng các kết quả vào các công cụ tính toán. Báo cáo của Okumura bao gồm một chuỗi các lưu đồ được sử dụng để lập mô thông tin vô tuyến. Dựa trên các đo lường được thực hiện bởi Y.Okumura ở Tokyo tại tần số 1920 MHz, các đo lường này vừa khớp với mô toán học của M.Hata.
Trong mô này, ban đầu suy hao đường truyền được tính bằng cách tính hệ số điều chỉnh Anten cho các vùng đô thị là hàm của khoảng cách giữa trạm gốc, trạm di động và tần số. Hệ số này được đưa vào suy hao không gian tự do. Kết quả được điều chỉnh bằng các hệ số cho độ cao anten trạm gốc và trạm di động. Ngoài ra, các hệ số điều chỉnh được cấp cho hướng phố, các vùng ngoại ô, các vùng mở và các địa không đều.
Các biểu thức toán học được sử dụng trong mô Hata-Okumura để xác định tổn hao trung bình L:
Lp= 69,55 + 26,16lgfc – 13,82lghb – a(hm) + (44,9 – 6,55lghb)lgr dB (2.40)
Trong đó: fc: tần số hoạt động (MHz); Lp: tổn hao trung bình
hb: độ cao anten trạm gốc (m); hm: độ cao anten trạm di động (m)
r : bán kính cell (khoảng cách từ trạm gốc) (km)
a(hm): hệ số hiệu chỉnh cho độ cao anten di động (dB)
Dải thông số sử dụng được cho mô Hata là:
150 ≤ fc ≤ 1500 MHz; 30 ≤ hb ≤ 200 m; 1 ≤ hm ≤ 10 m; 1 ≤ r ≤ 20 km.
a(hm) tính như sau:
F Đối với thành phố nhỏ và trung bình:
a(hm) = (1,11lgfc -0,7)hm – (1,56lgfc – 0,8)dB (2.41)
Đối với thành phố lớn:
a(hm) = 8.29(lg1,54hm)2 – 1,1 dB fc ≥ 200 MHz (2.42)
hay: a(hm) = 3,2(lg11,75hm)2 – 4,97 dB fc ≥ 400 MHz (2.43)
Như vậy bán kính cell được tính :
(2.44)
F Vùng ngoại ô:
Với vùng ngoại ô hệ số hiệu chỉnh suy hao so với vùng thành phố là:
Lno = Lp - 2 (dB) (2.45)
F Vùng nông thôn:
Với vùng nông thôn hệ số hiệu chỉnh suy hao so với vùng thành phố là:
Lnt(dB) = Lp – 4,78.(lgfc)2 +18,33(lgfc) - 40,94 (dB) (2.46)
2.2.2.2. Mô Walfisch - Ikegami
+ Mô Walfisch-Ikegami (hay COST 231) được sử dụng để đánh giá tổn hao đường truyền ở môi trường thành phố cho hệ thống thông tin tổ ong (cellular) ở dải tần 800-2000 MHz. Mô này đã được sử dụng ở châu Âu cho hệ thống GSM và một số mô truyền ở Mỹ. Mô Walfisch-Ikegami chứa 3 phần tử: tổn hao không gian tự do; nhiễu xạ mái nhà-phố và tổn hao tán xạ; tổn hao do nhiều vật chắn.
d
hm
Anten trạm di động
Mặt đường
Tòa nhà
w
b
hr
Hướng di chuyển
f
Sóng tới
Máy di động
hb
+ Mô Walfisch-Ikegami dựa vào giả thiết rằng sự truyền lan sóng được truyền trên mái nhà bằng quá trình nhiễu xạ. Các tòa nhà nằm trên đường thẳng giữa máy phát và máy thu.
2.8: Các tham số trong mô Walfisch-Ikegami
Các biểu thức sử dụng cho mô này như sau:
Lp= Lf + Lrts + Lmsd (2.47)
hay Lp = Lf khi Lrts + Lmsd ≤ 0 (2.48)
trong đó: Lf : tổn hao không gian tự do
Lrts: nhiễu xạ mái nhà - phố và tổn hao tán xạ
Lmsd: tổn hao các vật che chắn.
Tổn hao không gian tự do Lf được xác định:
Lf = 32,4 +20lgr + 20lgfc (dB) (2.49)
- Nhiễu xạ mái nhà - phố và tổn hao phân tán tính như sau:
Lrts = (-16,7) -10lgW + 10lgfc + 20lg∆hm + Lori (dB) (2.50)
Lori =
trong đó: W: độ rộng phố (m); ∆hm= hr - hm (m);
-9,646 (dB) 0 ≤ Ф ≤ 55 (độ)
2,5 + 0,075(Ф-55) (dB) 55 ≤ Ф ≤ 90 (độ)
Trong đó: Ф là góc đến so với trục phố.
- Tổn hao các vật che chắn:
Lmsd = Lbsh + ka + kdlgr + kflgfc – 9lgb (2.51)
Trong đó: b: khoảng cách giữa tòa nhà dọc theo đường truyền vô tuyến (m).
ka =
với thành phố lớn.
với thành phố trung bình.
Với trường hợp tia nhìn thẳng (LOS):
Lp = 42,6 + 26lgr + 20lgfc (2.52)
Với trường hợp tia không nhìn thẳng (NLOS):
Lp = 32,4 + 20lgr + 20lgfc + Lrts + Lmsd (2.53)
Như vậy bán kính cell tính theo mô Walfisch – Ikegami là :
(2.54)
Dải thông số cho mô Walfisch-Ikegami phải thỏa mãn:
800 ≤ fc ≤ 2000 MHz; 4 ≤ hb ≤ 50 m; 1 ≤ hm ≤ 3 m; 0,02 ≤ r ≤ 5 km
Có thể sử dụng các giá trị mặc định sau cho mô :
b = 20 ÷ 50m; W = b/2; Ф = b/2.
Nóc nhà = 3 m cho nóc nhà có độ cao và 0 m cho nóc nhà phẳng.
hr = 3 x (số tầng) + nóc nhà
Ta tính toán tổn hao đường truyền từ mô Hata và Walfisch-Ikegami theo các số liệu dưới đây và so sánh kết quả:
fc = 880 MHz hr = 30 m
hm = 1,5 m Ф = 90 độ
hb = 30 m b = 30 m
nóc nhà = 0 m W = 15 m
Bảng2.4: So sánh tổn hao đường truyền từ mô Hata và Walfisch-Ikegami.
Khoảng cách (km)
Tổn hao đường truyền, dB
Mô Hata
Mô Walfisch-Ikegami
1
2
3
4
5
126,16
136,77
142,97
147,37
150,79
139,45
150,89
157,58
162,33
166,01
Tổn hao đường truyền dự đoán theo mô Hata thấp hơn 13-16 dB so với mô Walfisch-Ikegami. Tuy nhiên, mô Hata bỏ qua ảnh hưởng của độ rộng đường phố, nhiễu xạ phố và các tổn hao tán xạ. Các ảnh hưởng này được xét đến ở mô Walfisch-Ikegami.
2.2.3. Lặp đường lên và đường xuống
Ở đây, ta phân tích các phương pháp và thuật toán trong phân tích lặp trong pha quy hoạch chi tiết của mạng vô tuyến 3G bao gồm: các yêu cầu đa dịch vụ và Q0S, điều khiển công suất phát nhanh ở đường lên và xuống, chuyển giao mềm và mềm hơn, chuyển giao kết hợp, kênh truyền dẫn đa đường, tốc độ của đầu cuối.
Mục đích của quá trình lặp đường lên là để cấp phát công suất phát cho trạm di động để mức tạp âm, xuyên âm và các giá trị độ nhạy trạm gốc hội tụ. Các công suất phát trung bình của các trạm gốc tới mỗi trạm di động được xác định sao cho đáp ứng yêu cầu Eb/N0 tại trạm gốc. Các công suất phát trung bình của các trạm di động dựa trên độ nhạy của các trạm gốc, dữ liệu và tốc độ của trạm di động, các suy hao tuyến tới các trạm di động. Các công suất phát này được so sánh với các công suất cho phép phát của các MS, nếu vượt quá giới hạn này coi như vượt ngưỡng (ngừng thông tin). Sau đó dự tính lại nhiễu, giá trị tải mới và độ nhạy mới cho từng BS được ấn định. Nếu hệ số tải đường lên cao hơn giới hạn được thiết lập, các MS chuyển dịch một cách ngẫu nhiên ở cell có tải cao đến một sóng mang khác hoặc bị vượt ngưỡng.
Một cách để xác định các vấn đề của công nghệ WCDMA trong lặp UL là xem chúng phụ thuộc như thế nào vào các BS mà MS được nối tới, để chọn lựa một BS phục vụ tốt nhất. Tương tự UL, mục đích của lặp DL là gán công suất phát BS cho mỗi kết nối sử dụng bởi một MS, cho đến khi tất cả các MS nhận tín hiệu.
2.2.4. Hậu xử lý - Dự báo vùng phủ mạng và phân tích kênh chung
Phần này sẽ thực hiện việc đánh giá xác suất vùng phủ và phân tích các kênh chung và riêng trong UMTS:UL DCH, DL DCH, P-CPICH,BCH, FACH và PCH. Trong tất cả các phân tích được thực hiện với giả thiết trạng thái nhiễu là cố định. Điều này có nghĩa là một phân bố lưu lượng xác định đã được giả thiết và các lặp DL và UL đã hội tụ. Một MS kiểm tra được di chuyển qua tất cả các điểm bên trong vùng và tất cả các MS khác đã được phục vụ đang đóng góp vào nhiễu. MS kiểm tra không ảnh hưởng lên trạng thái nhiễu, do đó tỷ số nhiễu cell khác / nội cell sẽ không thay đổi và tổng công suất phát của BS phục vụ vẫn như trước vòng lặp.
2.3. TỐI ƯU MẠNG
Tối ưu mạng là quá trình phân tích cấu và hiệu năng mạng nhằm cải thiện chất lượng mạng tổng thể và đảm bảo tài nguyên của mạng được sử dụng một cách có hiệu quả.
Giai đoạn đầu của quá trình tối ưu là định nghĩa các chỉ thị hiệu năng chính. Chúng gồm các kết quả đo ở hệ thống quản lý mạng và số liệu đo thực tế để xác định chất lượng dịch vụ. Với sự giúp đỡ của hệ thống quản lý mạng ta có thể phân tích hiệu năng quá khứ, hiện tại và dự báo tương lai.
Mục đích của phân tích chất lượng mạng là cung cấp cho nhà khai thác một cái nhìn tổng quan về chất lượng và hiệu năng của mạng, bao gồm việc lập kế hoạch về trường hợp đo tại hiện trường và đo bằng hệ thống quản lý mạng để lập báo cáo điều tra. Đối với hệ thống 2G, chất lượng dịch vụ gồm: thống kê các cuộc gọi bị rớt và phân tích nguyên nhân, thống kê chuyển giao và kết quả đo các lần gọi thành công. Còn các hệ thống 3G có các dịch vụ rất đa dạng nên cần đưa ra các định nghĩa mới về chất lượng dịch vụ.
Trong hệ thống thông tin di động thế hệ ba việc tối ưu hóa mạng rất quan trọng vì mạng thế hệ ba cung cấp nhiều dịch vụ đa dạng. Điều chỉnh tự động phải cung cấp câu trả lời nhanh cho các điều khiển thay đổi lưu lượng trong mạng. Trong giai đoạn đầu của quá trình xây dựng mạng WCDMA chỉ có một số thông số là được điều chỉnh tự động và vì thế cần phải duy trì quá trình tối ưu hóa của hệ thống GSM.
F Tổng kết chương 2:
Chương này đã trình bày 3 pha trong quá trình quy hoạch mạng WCDMA: Khởi tạo quy hoạch (định cỡ mạng), quy hoạch chi tiết mạng, vận hành và tối ưu hóa mạng. Trong đó, phần định cỡ mạng được phân tích cụ thể và đưa ra sơ đồ khối quá trình định cỡ, cũng như các công thức tính toán, phân tích quỹ năng lượng đường truyền vô tuyến, bán kính và diện tích cell, quy hoạch dung lượng và vùng phủ. Ngoài ra, trong phần quy hoạch chi tiết cũng đã đề cập đến 2 mô truyền dẫn cơ bản được sử dụng rộng rãi, đó là mô Hata-Okumura và Walfisch-Ikegami.
CHƯƠNG 3: CÁC GIẢI PHÁP TỐI ƯU MẠNG W-CDMA
Tối ưu mạng là quá trình phân tích cấu và hiệu năng mạng nhằm cải thiện chất lượng mạng tổng thể và đảm bảo tài nguyên của mạng được sử dụng một cách có hiệu quả. Giai đoạn đầu của quá trình tối ưu là định nghĩa các chỉ thị hiệu năng chính. Chúng gồm các kết quả đo ở hệ thống quản lý mạng và số liệu đo thực tế để xác định chất lượng dịch vụ. Với sự giúp đỡ của hệ thống quản lý mạng ta có thể phân tích hiệu năng quá khứ, hiện tại và tương lai. Ta có thể phân tích hiệu năng của các thuật toán quản lý tài nguyên vô tuyến và các thông số của chúng bằng cách sử dụng các kết quả của chỉ thị hiệu năng chính.
3.1. MÔ TẢ TOÁN HỌC CỦA VẤN ĐỀ TỐI ƯU HOÁ
Về mặt toán học, vấn đề tối ưu hoá thực chất là quá trình đi tìm điểm cực trị (cực tiểu hoặc cực đại) của một hàm số diển tả mục tiêu cần đạt tới. Các vấn đề tối ưu hoá trong thực tế rất đa dạng và phong phú, song chúng đều có thể quy về một dạng tổng quát.Chúng ta gọi bài toán dưới đây là vấn đề tối ưu hoá dạng chuẩn.
Ký hiệu x là véc tơ n chiều chừa các biến tự do. Cho f(x), hi(x) với i = 1, 2,…, p và gj(x) với j = 1, 2,…, q là các hàm vô hướng phụ thuộc x. Tìm giá trị cực tiểu của f(x) với điều kiện hi(x) ≤ 0 và gj = 0
Hàm f(x) gọi là hàm mục tiêu (objective function), tuỳ theo từng lĩnh vực cụ thể mà biến x xó tên gọi khác nhau. Trong lý thuyết quyết định x được gọi là biến quyết định (decision variable). Trong thiết kế tối ưu x được gọi là véc tơ tham số thiết kế (design parameter vector). Trong lý thuyết hệ thống tối ưu x được gọi là biến trạng thái (state variable). Thuât ngữ biến quyết định được dùng chủ yếu. Điều kiện hi(x) ≤ gọi là điều kiện ràng buộc dạng bất đẳng thức (inequality contraints), điều kiện gj(x) = 0 gọi là điều kiệu ràng buộc dạng đẳng thức (equality constraints).
Vấn đề tối ưu hoá dạng chuẩn có thể phát biểu ngắn gọn như sau:
Cực tiểu f(x) với điều kiện hi(x) ≤ 0, i = 1, 2,…, p ;
gj(x) = 0, j = 1, 2,…, q; x
Như đã biết, với mọi hàm f(x) ta có max{ f(x)} = min{ -f(x)} nên vấn đề cực đại hoá luôn luôn có thể chuyển về vấn đề cực tiểu hoá. Tương tự, điều kiện hi(x) ≥ 0 có thể chuyển thành –hi(x) ≤ 0 nên trong bài toán chuẩn không chứa điều kiện hi(x) ≥ 0.
3.2.TỐI ƯU TRONG QUY HOẠCH VÀ THIẾT KẾ MẠNG BẰNG PHƯƠNG PHÁP DỰ BÁO LƯU LƯỢNG
Dự báo lưu lượng ước tính tổng số lưu lượng tại một tần số nhất định, với quy định rằng nhu cầu điện thoại đã được dự báo. Kết quả của dự báo lưu lượng được sử dụng để lập kế hoạch quản lý, và để nghiên cứu lý thuyết về mạng tối ưu làm cho lưu lượng có chi phí thấp nhất. Dự báo lưu lượng cũng được sử dụng để tính số lượng thiết bị (ví dụ: mạch trung kế và thiết bị thông dụng cho thiết bị trạm). Để tính số lượng thiết bị, cần có số liệu lưu lượng chi tiết cho mỗi mạch và cho mỗi trạm.
3.2.1. Quy trình dự báo lưu lượng
Lưu lượng được dự báo theo các bước sau đây:
Bước 1: Xác định mục đích và đối tượng dự báo. Xác định mục tiêu của dự báo, lưu lượng và năm được dự báo.
Bước 2: Thu thập số liệu và xác định giả thiết.
Xác định các giả thiết của dự báo ( hệ thống giá và các dự án phát triển địa phương có thể có). Lựa chọn và phân tích số liệu biểu thị xu hướng của nhu cầu lưu lượng.
Bước 3: Nghiên cứu xu hướng lưu lượng
Ghi chép và phân tích các đặc tính lưu lượng. Gồm có: xu hướng chuỗi thời gian của lưu lượng, phân tích xu hướng lưu lượng nội hạt và đường dài trong nước,các nhân tố chính ảnh hưởng dến lưu lượng, mối quan hệ giữa sự phát triển vùng và lưu lượng,sự phân bố lưu lượng theo thời gian
Bước 4: Lựa chọn phương pháp dự báo. Phương pháp thích hợp nhất được lựa chọn qua việc xem xét các đặc tính của lưu lượng và các nhân tố dao động.
Bước 5: Tính toán lưu lượng cơ bản.
Tính toán lưu lượng trung bình hàng năm cho năm tham khảo
Bước 6: Dự báo lưu lượng
Dự báo thực hiện bằng cách sử dụng phương pháp chuỗi thời gian, hoặc nhân tỉ lệ tăng lưu lượng với lưu lượng cơ bản.
Bước 7: Đánh giá/xác định dự báo
Xem xét các đặc tính của các nhân tố dao động sử dụng trong dự báo, dự báo so sánh xu hướng lưu lượng toàn cầu và số liệu lưu lượng của từng nước.
Bước 8: Tính toán lưu lượng tham khảo
Lưu lượng tham khảo được tính theo giả thuyết về sự dao động trong dự báo(lưu lượng trung bình hàng năm).
Bước 9: Biên soạn các báo cáo các báo cáo mà chúng ta đưa ra các số liệu cơ sở cho dự báo lưu lượng ( lưu lượng cơ sở và số thuê bao), dự báo, các giả thiết cho dự báo, và cơ sở để đánh giá/xác định dự báo được soạn thảo.
Bước 10: Hoàn thiện dự báo
Bằng việc tiếp tục so sánh dự báo với các số liệu thưc tế,cải tiến phương pháp dự báo để đạt được sự chính xác cao hơn.
3.2.2. Dự báo lưu lượng bằng phương pháp hồi quy tuyến tính
Tập hợp số liệu:
Tập hợp lại những số liệu sau đây. Sử dụng lại những số lượng này,dự báo mật độ lưu lượng từ năm 2010 đến 2015.
3.1: Số liệu thực tế.
Năm
2003
2004
2005
2006
2007
2008
2009
Lưu lượng
1010.3
1074.7
1127.5
1150.7
1196.6
1231.8
1253.3
Số thuê bao
11348
12497
13422
14033
14592
15207
15667
Lựa chọn phưong trình mẫu:
Chọn phương trình mẫu có thể áp dụng đối với xu hướng quá khứ
Hồi quy tuyến tính: y = ax + b (3.1)
x : là số thuê bao
y : là lưu lượng (erl)
Phương trình: ∑y = a.n + b∑x (3.2)
∑xy = a∑x + b∑x2 (3.3)
Tính toán:
3.2: Tính toán.
Năm
Lưu lượng(x)
Thuê bao (y)
x.y
x2
2003
1010.3
11348
11464884.4
1020706.09
2004
1074.7
12497
13430525.9
1154980.09
2005
1127.5
13422
15133305
1271256.25
2006
1150.7
14033
16147773.1
1324110.49
2007
1196.6
14592
17460787.2
1431851.56
2008
1231.8
15207
18731982.6
1517331.24
2009
1253.3
15667
19635451.1
1570760.89
∑
8044.9
96766
112004709.3
9290996.61
∑y = a.n + b∑x suy ra: 96766 = 7*a + 8044.9*b
∑xy = a∑x + b∑x2 suy ra: 112004709.3= 8044.9*7*a + 9290996.61*b
Giải các phương trình:
a = 5.190920289 b=12.02372479
y = 5.190920289.x + 12.02372479 (3.4)
(4) Tính giá trị thuê bao:
Những giá trị sau đây là giá trị dự báo số thuê bao. Suy ra giá trị dự báo lưu lượng:
3.3: Tính giá trị thuê bao.
Năm
2010
2011
2012
2013
2014
2015
Số thuê bao
16137
16621
17120
17642
18215
18723
Mật độ lưu lượng
83777.90443
86290.31
88880.58
91590.23946
94564.63679
97201.6243
3.2.3. Dự báo lưu lượng bằng phương pháp hồi quy đàn hồi
Tập hợp số liệu
Tập hợp đựơc những số liệu sau:
3.4: Số liệu thực tế
Năm
2003
2004
2005
2006
2007
2008
2009
Lưu lượng
1010.3
1074.7
1127.5
1150.7
1196.6
1231.8
1253.3
Số thuê bao
11348
12497
13422
14033
14592
15207
15667
Lựa chọn phương trình mẫu có thể được áp dụng với xu hướng quá khứ. Hồi quy đàn hồi:
(3.5)
x : tỷ lệ tăng số thuê bao
y : tỷ lệ tăng lưu lượng
: giá trị đàn hồi
log(y) = log(a) + log(x) (3.6)
∑ log(y) = n log(a) + ∑log(x) (3.7)
∑ log(x).log(y) = n log(a). ∑log(x) + ∑log(x)2 (3.8)
Tính toán:
3.5: Tính toán
Năm
L.Lượng
(y)
Thuê bao(X)
(x)
log(y)
log(x)
log(y).log
(logx)2
(Y)
(x)
2003
1010.3
1
11480
1
0
0
0
0
2004
1074.7
1.064
12497
1.089
0.02694
0.03703
0.001
0.00137
2005
1127.5
1.116
13422
1.169
0.04766
0.06782
0.00323
0.0046
2006
1150.7
1.139
14033
1.222
0.05652
0.08707
0.00492
0.00758
2007
1196.6
1.184
14592
1.271
0.07335
0.10415
0.00764
0.01085
2008
1231.8
1.219
15207
1.325
0.086
0.12222
0.01051
0.01494
2009
1253.3
1.241
15667
1.365
0.09377
0.13513
0.01267
0.01826
∑
8044.9
7.963
96898
8.441
0.38426
0.55341
0.03997
0.0576
(a) Tỷ lệ tăng lưu lượng:
y : 2004 : 1074.7 - 1010.3 = 1.064
2005 : 1127.5 - 1010.3 = 1.116
…….
2009 : 1253.3 - 1010.3 = 7.963
(b) : Tỷ lệ tăng thuê bao: (tương tự)
(c) : Tính logy,logx,…
(d) : Giải hồi quy đàn hồi:
0.38426 = 7. log(a) + 0.55341
0.03997 = 7. log(a). 0.55341 + .0.0576
Suy ra: log(a) = 0.000099 = 0.693104
log(y) = 0.000099 + 0.693104.log(x) (3.9)
Tính giá trị dự báo:
3.6: Tính giá trị dự báo
Năm
2009(thực tế)
2010
2011
2012
2013
2014
2015
Thuê bao
Dự báo
15667
16137
16621
17120
17642
18215
18723
(a)
1.000
1.030
1.0609
1.0927
1.1253
1.1572
1.1834
Lưu lượng
(b)
1.000
1.021
1.042
1.0636
1.0872
1.1213
1.1465
1253.3
1280
1333.76
1418.5871
1542.2879
1729.3675
1982.7198
Tỷ lệ tăng thuê bao
Tỷ lệ tăng lưu lượng tính theo phương pháp hồi quy
Giá trị dự báo lưu lượng
Giá trị dự báo lưu lượng = (Số liệu lưu lượng thực tế)x(Tỷ lệ tăng lưu lượng)
2010 : 1253.3 x 1.021 = 1280 (erl)
3.3. CÁC CÔNG NGHỆ ĐỂ TĂNG DUNG LƯỢNG ĐƯỜNG TRUYỀN TRONG W-CDMA
W-CDMA có một giao diện vô tuyến cho phép ứng dụng các thiết bị triệt nhiễu và các công nghệ thu vμ phát phân tập dμn anten thích ứng để tăng hơn nữa dung lượng truyền dẫn trong tương lai. ở đường lên, việc giảm MAI là rất quan trọng để tăng dung lượng đường truyền, kết hợp với việc sử dụng TPC nhanh-một biện pháp hiệu quả nhằm giảm công suất phát của MS để kéo dài tuổi thọ của pin và mở rộng vùng phủ sóng. Mặt khác, ở đường xuống, yêu cầu tăng dung lượng đường truyền mạnh hơn ở đường lên vì việc tải xuống (downloading) số liệu tốc độ cao trên Internet và các dịch vụ quảng bá chắc chắn sẽ được ứng dụng rộng rãi. MAI từ các thuê bao tốc độ cao sẽ gây nhiễu cực kỳ lớn đến các thuê bao tốc độ thấp (ví dụ như thông tin thoại). Do đó, việc tăng hơn nữa dung lượng ở đường truyền xuống là một nhiệm vụ rất quan trọng. Các công nghệ để thực hiện điều này bao gồm công nghệ sử dụng các thiết bị triệt nhiễu (thiết bị triệt nhiễu đa đường) hoặc công nghệ thu phân tập dàn anten thích ứng trong MS và công nghệ phân tập phát dàn anten thích ứng ở BS. Trong số đó, công nghệ phân tập phát dàn anten thích ứng là một công nghệ có tính thực tế và hiệu quả để tăng hơn nữa dung lượng đường truyền xuống, nó không yêu cầu phải thay đổi đáng kể chức năng của MS và có thể được thực hiện qua việc xử lý phần phát tại phía BS.
3.3.1. Phân tập dàn anten thích ứng
Như trình bày trong 3.1, phân tập dàn anten thích ứng bao gồm việc lắp một máy thu phát cho một dàn anten thích ứng trong BS và nhân các tín hiệu thu được từ các anten đường lên với hệ số tải trọng tối ưu sau đó kết hợp các tín hiệu lại. Phương pháp này đem lại một mẫu bức xạ định hướng có một búp sóng chính ở hướng mà các tín hiệu cần thu đếnvà một chùm sóng ở hướng mà các sóng nhiễu đến nhằm làm vô hiệu các sóng nhiễu cho phép tăng tối đa SIR thu. Nhờ phương pháp này giúp giảm MAI và tăng dung lượng hệ thống ở đường lên. Ở đường xuống phương pháp này bao gồm việc phân hệ số tải trọng anten phát đã được tạo ra một cách thích hợp tại BS cho mỗi thuê bao với các tín hiệu phát của mỗi thuê bao, nhằm tạo ra một búp sóng chính ở hướng có các tín hiệu cần thu của thê bao và thực hiện truyền theo cách giảm nhiễu ở hướng của các thuê bao khác. Điều này cho phép tăng dung lượng hệ thống ở đường xuống.
3.1: Nguyên lý của phương pháp phân tập dàn anten thích nghi
Dung lượng mạng C được tạo bởi :
(3.10)
Trong đó : là số kênh khả dụng trong mạng
là số xuyên nhiễu trong cùng 1 cell
là tỷ số tín hiệu trên xuyên nhiễu
n là số mũ tổn hao đường truyền, phụ thuộc vào loại địa như nhà cao tần, cây cối,… thường chọn n = 4,38
Nếu một anten thích nghi làm giảm sự đóng góp xuyên nhiễu được biểu diễn quan bởi một hệ số cải thiện anten thích nghi là tức là thì sự tăng dung lượng từ C đến C’ là :
(3.11)
Nếu sử dụng n = 4,38 thì dung lượng mạng tăng lên một hệ số là 1,88 ( C’ = 1.88C)
3.3.2. Cấu phân tập dàn anten thích ứng
Phân tập dμn anten thích ứng là một công nghệ xử lý quá trình thu thích ứng (đường lên) và phát thích ứng ( đường xuống) tại BS và được xây dựng theo cách để có thể ứng dụng được cho giao diện vô tuyến W-CDMA được qui định bởi 3 GPP. Phân tập phát dàn anten thích ứng tạo ra hệ số tải trọng anten phát bằng cách thực hiện theo hệ số tải trọng anten thu đã tạo ra tại khối thu BS: (1) Kiểm định mạch RF, thực hiện bù các độ lệch biên độ và pha giữa các nhánh trong các mạch thu phát RF và (2) kiểm định tần số sóng mang, thực hiện bù cho những giá trị xê dịch trong hệ số tải trọng của anten phát ở hướng búp sóng chính và búp sóng vô hiệu gây ra bởi sự khác nhau trong tần số sóng mang giữa đường lên và đường xuống ( đặc biệt trong FDD, tần số sóng là không giống nhau đối với đường lên và đường xuống). 3.2 trình bày cấu khối của BS thực hiện phân tập thu và phát dàn anten thích ứng. Các tín hiệu thu được bởi mỗi anten ở đường lên được giới hạn về độ rộng băng tần và được khuyếch đại nhờ một mạch thu RF và sau đó được điều chỉnh hệ số tải trọng bằng hệ số tải anten thu phức hợp và được kết hợp tại khối thu phân tập dàn anten thích ứng nhất quán. Sau đó tín hiệu sẽ được đưa tới quá trình ước tính các dao động về pha và biên độ gây ra bởi pha đinh trong mỗi đường truyền và kết hợp RAKE. Sau đó, các tín hiệu đã kết hợp RAKE được đưa tới phần giải xen kẽ và giải mã sữa lỗi để khôi phục chuỗi số liệu phát. Mặt khác, tại khối máy phát của BS, các tín hiệu sẽ được mã hoá kênh (FEC), xen kẽ, điều chế QPSK và nhân với các hệ số tải trọng anten phát phức hợp rồi đưa đến quá trình trải phổ. Sau đó, tín hiệu sẽ được đổi tần và khuyếch đại tại khối phát RF để phát đi.
3.2: Sơ đồ khối tổng quát hệ thống phân tập dàn anten thích nghi.
F Tổng kết chương 3:
Trong hệ thống thông tin di động thế hệ ba việc tối ưu hóa mạng rất quan trọng vì mạng thế hệ ba cung cấp nhiều dịch vụ đa dạng. Điều chỉnh tự động phải cung cấp câu trả lời nhanh cho các điều khiển thay đổi lưu lượng trong mạng. Vì vậy cần phải có phương pháp dự doán lưu lượng nhanh chóng và chính xác, đồng thời cần phải tối ưu hoá thiết bị nhằm tăng dung lượng đường truyền phù hợp với xu hướng phát triển thuê bao và nhu cầu dịch vụ ngày càng cao.
CHƯƠNG 4: XÂY DỰNG BÀI TOÁN TÍNH BÁN KÍNH CELL VÀ TỔNG LƯU LƯỢNG TRONG HỆ THỐNG WCDMA
Sau khi tìm hiểu tổng quát về kiến trúc mạng, các bước quy hoạch, tối ưu mạng WCDMA, ta tiến hành mô phỏng. Trong phần này sẽ giới thiệu lưu đồ thuật toán mô phỏng - tính toán các bước quy hoạch mạng di động và cùng các cửa sổ giao diện chương trình mô phỏng viết bằng ngôn ngữ Visual Basic 6.0.
4.1. LƯU ĐỒ TÍNH TOÁN
4.1.1. Lưu đồ thuật toán tổng quát:
Sai
Bắt đầu
Thực hiện tính toán
Kiểm tra thông số nhập
Đúng
In kết quả
Kết thúc
Nhập các thông số yêu cầu
4.1:Lưu đồ thuật toán tổng quát.
4.1.2. Lưu đồ thuật toán chi tiết
Bắt đầu
- Tính bán kính Cell
- Tính diện tích Cell
In kết quả
Kiểm tra thông số nhập
Sai
Đúng
Kiểm tra thông số nhập
Sai
Đúng
Tính suy hao đường truyền cho phép đối với vùng phủ của cell
In kết quả
Nhập các thông số truyền sóng (chọn mô hình truyền sóng Walfisch-Ikegami cho Tp nhỏ và trung bình)
Nhập:
- Thông số truyền dẫn
- Thông số trạm BTS
- Thông số trạm MS
4.2: Lưu đồ thuật toán chi tiết.
4.2. KẾT QUẢ CHƯƠNG TRÌNH
4.2.1 Giao diện chính:
4.3: Chương trình chính.
4.2.2.Tính suy hao đường truyền
4.4: Giao diện tính suy hao đường truyền.
4.2.3. Tính kích thước Cell
4.5: Giao diện tính kích thước Cell.
4.2.4. Tính dung lượng kênh
4.6: Giao diện tính dung lượng kênh.
Tổng kết chương 4:
Để thấy rõ quá trình tính toán quy hoạch mạng W-CDMA ta tiến hành mô phỏng với các giao diện tính suy hao đường truyền, tính kích thước cell, tính dung lượng kênh dựa vào ErlangB. Chương trình mô phỏng giúp chúng ta có cái nhìn tổng quan và thực tế hơn trong quá trình tính toán quy hoạch mạng W-CDMA
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI
Ở Việt Nam, các hệ thống thông tin di động thế hệ thứ ba cũng đã được nhanh chóng triển khai. Đối với các nhà khai thác mạng di động thì cái đích là triển khai nhanh và hiệu quả các hệ thống thông tin di động CDMA băng rộng (WCDMA) theo chuẩn IMT-2000. Xuất phát từ định hướng này, em đã thực hiện đề tài “QUY HOẠCH VÀ TỐI ƯU MẠNG WCDMA”.
Thành công của đề tài
Đã giới thiệu tổng quan về sự phát triển mạng di động WCDMA
Tìm hiểu tổng quan về phần cứng của mạng WCDMA
Tìm hiểu về đường truyền dẫn vô tuyến, về phương pháp trải phổ, các kênh vô tuyến, các kiểu lập lịch gói trong WCDMA
Tìm hiểu về các thuật toán tối ưu, thông qua việc tối ưu bằng thuật toán dự báo lưu lượng và công nghệ tăng dung lượng vùng phủ bằng phương pháp phân tập dàn anten thích ứng.
Phân tích được những yêu cầu và nguyên tắc thực hiện quy hoạch mạng WCDMA ứng với đặc trưng, cấu trúc địa lý từng vùng cụ thể, đưa ra các công thức tính toán dung lượng, vùng phủ và đánh giá chất lượng dịch vụ với 2 mô thực nghiệm cụ thể Hata-Okumura và Walfisch-Ikegami.
Thành công lớn nhất của đề tài đã thiết kế được phần mềm mô phỏng tính được suy hao đường truyền, phần mềm tính kích thước cell, phần mềm mô phỏng tính dung lượng kênh.
Hạn chế của đề tài
- Trong phần tối ưu mạng, việc tăng dung lượng mạng bằng phương pháp phân tập dàn anten thích ứng chỉ đưa ra trên cơ sở lý thuyết, chưa tính toán cụ thể chi tiết.
- Hạn chế lớn nhất của đề tài đó là ứng dụng cho bài toán cụ thể, ngoài việc lấy một số tham số của nhà cung cấp thiết bị, một phần lớn các tham số khác còn lấy theo các giá trị điển . Điều này dẫn đến kết quả thiết kế dừng ở mức định cỡ mạng sơ bộ.
- Ngoài ra, việc tính toán sử dụng mô Walfisch-Ikegami chưa tính đến các tổn hao do lá cây và chưa xét cho môi trường trong nhà (indoor) và kết quả chưa tính cho dịch vụ truyền dữ liệu.
Hướng phát triển của đề tài
Trong thực tế việc triển khai một hệ thống thông tin luôn cần có thêm bước chạy thử, hiệu chỉnh dựa trên các kết quả đo đạc thực tế.
Trong thời gian tới, em sẽ tiếp tục nghiên cứu, tìm hiểu tiếp những hạn chế trên từ đó tìm ra cách khắc phục tối ưu nhất để nâng cao chất lượng dịch vụ mạng .
TÀI LIỆU THAM KHẢO
Tài liệu tiếng Việt:
[1]. Vũ Ngọc Phàn (2004), Tối ưu hoá cơ sở lý thuyết và ứng dụng trong công nghệ bưu chính viễn thông, Nhà xuất bản Bưu Điện Hà Nội.
[2]. Vũ Đức Thọ (2003), Tính toán mạng thông tin di động số cellular, Nhà xuất bản Giáo Dục Hà Nội.
[3]. Đỗ Quốc Trinh, Vũ Thanh Hải (2006), Kỹ thuật trải phổ và ứng dụng, Nhà xuất bản Học viện kỹ thuật quân sự Hà Nội.
[4]. Trần Anh Tấn (2005), Tối ưu mạng GSM , Nhà xuất bản Học viện kỹ thuật quân sự Hà Nội.
[5]. Ks. Nguyễn Văn Thuận (2004), Hệ thống thông tin di đông W-CDMA, Nhà xuất bản Học viện công nghệ bưu chính viễn thông Hà Nội.
[6]. TS. Nguyễn Xuân Vinh (2005), Quy hoạch phát triển mạng viễn thông, Nhà xuất bản Khoa Học Và Kỹ Thuật Hà Nội.
Tài liệu tiếng Anh:
[7]. Jaana Laiho and Achim Wacker (2006) Radio network planning and optimisation for umts, John Wiley and Sons, LTD.
[8]. McGraw Hill (2002), W-CDMA AND CDMA 2000, M.R. Karim and Lucent Technologies.
PHỤ LỤC
PHẦN MÔ PHỎNG
1. Phần giao diện chính
Private Sub Command1_Click()
frmKientrucmang.Show
End Sub
Private Sub Command2_Click()
frmLoss.Show
End Sub
Private Sub Command3_Click()
frmMofCell.Show
End Sub
Private Sub Command4_Click()
frmCap.Show
End Sub
2.Phần tính suy hao đường truyền
Option Explicit
Private Sub sbfor_Click(Index As Integer)
On Error Resume Next
Dim i As Integer
Select Case Index
Case 0
Unload Me
frmMofCell.Show
frmchinh.Enabled = False
Case 1
Unload Me
frmchinh.Enabled = True
Case 2
Unload Me
frmchinh.Enabled = True
Case 3
For i = 0 To 13
tsnhapsh(i) = Val(txtloss(i).Text)
Next
EIRP = tsnhapsh(0) - tsnhapsh(1)
mdtapam = tsnhapsh(2) + tsnhapsh(3)
cstapam = mdtapam + 10 * Lg10(tsnhapsh(6) * 1000000)
tongnhieugt = cstapam + tsnhapsh(7)
doloixuli = 10 * Lg10(tsnhapsh(6) * 1000 / tsnhapsh(9))
donhay = cstapam - doloixuli - tsnhapsh(7) + tsnhapsh(8) + tsnhapsh(3)
suyhaochophep = tsnhapsh(4) - tsnhapsh(5) - tsnhapsh(12) - tsnhapsh(10) + tsnhapsh(11) + EIRP - donhay - tsnhapsh(13)
lblLossRes(0).Caption = Format(EIRP, "0.######") + " dB"
lblLossRes(1).Caption = Format(mdtapam, "0.######") + " dB/Hz"
lblLossRes(2).Caption = Format(cstapam, "0.######") + " dBm"
lblLossRes(3).Caption = Format(doloixuli, "0.#####") + " dB"
lblLossRes(4).Caption = Format(donhay, "0.######") + " dBm"
lblLossRes(5).Caption = Format(suyhaochophep, "0.######") + " dBm"
lblLossRes(6).Caption = Format(tongnhieugt, "0.######") + " dBm"
lstBitRate.AddItem txtloss(9).Text + " KBps"
lstLoss.AddItem lblLossRes(5).Caption
Case 4
txtloss(0).Text = "21"
txtloss(1).Text = "3"
txtloss(2).Text = "-174"
txtloss(3).Text = "5"
txtloss(4).Text = "14"
txtloss(5).Text = "2"
txtloss(6).Text = "3.84"
txtloss(7).Text = "3"
txtloss(8).Text = "5"
txtloss(9).Text = "12.2"
txtloss(10).Text = "9"
txtloss(11).Text = "4"
txtloss(12).Text = "8"
lblLossRes(0).Caption = ""
lblLossRes(1).Caption = ""
lblLossRes(2).Caption = ""
lblLossRes(3).Caption = ""
lblLossRes(4).Caption = ""
lblLossRes(5).Caption = ""
lstBitRate.Clear
lstLoss.Clear
Case 5
txtloss(0).SetFocus
txtloss(0).Text = ""
txtloss(1).Text = ""
txtloss(2).Text = ""
txtloss(3).Text = ""
txtloss(4).Text = ""
txtloss(5).Text = ""
txtloss(6).Text = ""
txtloss(7).Text = ""
txtloss(8).Text = ""
txtloss(9).Text = ""
txtloss(10).Text = ""
txtloss(11).Text = ""
txtloss(12).Text = ""
lblLossRes(0).Caption = ""
lblLossRes(1).Caption = ""
lblLossRes(2).Caption = ""
lblLossRes(3).Caption = ""
lblLossRes(4).Caption = ""
lblLossRes(5).Caption = ""
lstBitRate.Clear
lstLoss.Clear
End Select
End Sub
Private Sub tmCheckInput_Timer()
If (txtloss(0).Text = "" Or txtloss(1).Text = "" Or txtloss(2).Text = "" _
Or txtloss(3).Text = "" Or txtloss(4).Text = "" Or txtloss(5).Text = "" _
Or txtloss(6).Text = "" Or txtloss(6).Text = "" Or txtloss(7).Text = "" _
Or txtloss(8).Text = "") Then
sbfor(3).Enabled = False
Else
sbfor(3).Enabled = True
End If
End Sub
Private Sub txtLoss_KeyPress(Index As Integer, KeyAscii As Integer)
Dim found As Integer
Select Case KeyAscii
Case vbKeyBack, vbKeyRight, vbKeyLeft
'do nothing
Case Asc("0") To Asc("9")
'do nothing
Case Asc("-")
If txtloss(Index).Text "" Then
Beep
KeyAscii = 0
End If
Case Asc(".")
If txtloss(Index).Text "" Then
found = InStr(1, txtloss(Index).Text, ".", vbTextCompare)
If found 0 Then
Beep
KeyAscii = 0
End If
End If
Case Else
Beep
KeyAscii = 0
End Select
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
frmchinh.Enabled = True
End Sub
3.Phần tính dung lượng
Option Explicit
Private Sub cmdReport_Click()
Me.Hide
frmchinh.Enabled = False
frmReport.Show
End Sub
Private Sub cmd1_Click()
dlccdl = Val(txtdlcc(1).Text)
hssdtkdl = dlccdl * 100 / sokenhdlen
lblResultl(2).Caption = Format(hssdtkdl, "0.#") + "%"
kgcdl = (tsnhapcap(4) + 1) * sokenhdlen
kgcdl = Round(kgcdl)
lblResultl(3).Caption = Format(kgcdl, "0.")
MsgBox "Tra bang Erlang tu so kenh gop chung sau do nhap vao o 'dung luong chung' roi bam nut '>>' de tinh tiep!"
End Sub
Private Sub cmd2_Click()
dlcdl = Val(txtdlc(1).Text)
dlcmdl = dlcdl / (1 + tsnhapcap(4))
lblResultl(5).Caption = Format(dlcmdl, "0.####")
dlmdl = ((dlcmdl / dlccdl) - 1) * 100
lblResultl(6).Caption = Format(dlmdl, "0.##") + "%"
stbpvdl = dlcmdl / dungluongMS
lblResultl(7).Caption = Format(stbpvdl, "0.")
End Sub
Private Sub cmd3_Click()
dlccdx = Val(txtdlcc(0).Text)
hssdtkdx = dlccdx * 100 / sokenhdxuong
lblResultx(2).Caption = Format(hssdtkdx, "0.#") + "%"
kgcdx = (tsnhapcap(4) + 1) * sokenhdxuong
kgcdx = Round(kgcdx)
lblResultx(3).Caption = Format(kgcdx, "0.")
MsgBox "Tra bang Erlang tu so kenh gop chung sau do nhap vao o 'dung luong chung' roi bam nut '>>' de tinh tiep!"
End Sub
Private Sub cmd4_Click()
dlcdx = Val(txtdlc(0).Text)
dlcmdx = dlcdx / (1 + tsnhapcap(4))
lblResultx(5).Caption = Format(dlcmdx, "0.####")
dlmdx = ((dlcmdx / dlccdx) - 1) * 100
lblResultx(6).Caption = Format(dlmdx, "0.##") + "%"
stbpvdx = dlcmdx / dungluongMS
lblResultx(7).Caption = Format(stbpvdx, "0.")
End Sub
Private Sub cmderl_Click()
frmerlang.Show
End Sub
Private Sub cmderlangB_Click()
TinhErlangB.Show
End Sub
Private Sub Form_Load()
Dim i As Integer
Dim j As Integer
txtData(0).Text = "0.02"
txtData(1).Text = "1"
txtData(2).Text = "210"
If tsnhapsh(7) = 0 Then
txtData(3).Text = "50"
Else
hesotai = (1 - (1 / 10 ^ (tsnhapsh(7) / 10))) * 100
txtData(3).Text = Format(hesotai, "0.#")
End If
txtData(4).Text = "0.55"
txtData(5).Text = "0.67"
If tsnhapsh(8) = 0 Then
txtData(6).Text = "4"
Else
txtData(6).Text = Format(tsnhapsh(8), "0.##")
End If
txtData(7).Text = "0.4"
If tsnhapsh(6) = 0 Then
txtData(8).Text = "3.84"
Else
txtData(8).Text = Format(tsnhapsh(6), "0.##")
End If
If tsnhapsh(9) = 0 Then
txtData(9).Text = "12.2"
Else
txtData(9).Text = Format(tsnhapsh(9), "0.##")
End If
lblResultkq.Caption = ""
lblResultl(0).Caption = ""
lblResultx(0).Caption = ""
For i = 2 To 3
lblResultl(i).Caption = ""
lblResultx(i).Caption = ""
Next
For i = 5 To 7
lblResultl(i).Caption = ""
lblResultx(i).Caption = ""
Next i
End Sub
Private Sub sbfor_Click(Index As Integer)
Dim i As Integer
For i = 0 To 9
tsnhapcap(i) = Val(txtData(i).Text)
Next
On Error Resume Next
Select Case Index
Case 0
Unload Me
frmchinh.Enabled = False
frmBTS.Show
Case 1
Unload Me
frmchinh.Enabled = False
frmMofCell.Show
Case 2
Unload Me
frmchinh.Enabled = True
Case 3
dungluongMS = tsnhapcap(1) * tsnhapcap(2) / 3600
lblResultkq.Caption = Format(dungluongMS, "0.####") + " Erlang"
sokenhdlen = tsnhapcap(3) * (tsnhapcap(9) / tsnhapcap(8)) / ((1 + tsnhapcap(4)) * (10 ^ ((tsnhapcap(6)) / 10)) * tsnhapcap(5))
sokenhdlen = Round(sokenhdlen)
lblResultl(0).Caption = Format(sokenhdlen, "0.")
sokenhdxuong = tsnhapcap(3) * (tsnhapcap(9) / tsnhapcap(8)) / ((1 - tsnhapcap(7) + tsnhapcap(4)) * (10 ^ ((tsnhapcap(6)) / 10)) * tsnhapcap(5))
sokenhdxuong = Round(sokenhdxuong)
lblResultx(0).Caption = Format(sokenhdxuong, "0.")
txtdlcc(1).SetFocus
MsgBox "Tra bang Erlang tu so kenh trung binh sau do nhap vao o 'dung luong chan cung' roi bam nut '>>' de tinh tiep!"
txtdlcc(1).SetFocus
Case 4
txtData(0).Text = "0.02"
txtData(1).Text = "1"
txtData(2).Text = "210"
txtData(3).Text = "50"
txtData(4).Text = "0.55"
txtData(5).Text = "0.67"
txtData(6).Text = "4"
txtData(7).Text = "0.4"
txtData(8).Text = "3.84"
txtData(9).Text = "12.2"
lblResultl(0).Caption = ""
lblResultx(0).Caption = ""
lblResultkq.Caption = ""
For i = 0 To 1
txtdlcc(i).Text = ""
txtdlc(i).Text = ""
Next i
For i = 2 To 3
lblResultl(i).Caption = ""
lblResultx(i).Caption = ""
Next
For i = 5 To 7
lblResultl(i).Caption = ""
lblResultx(i).Caption = ""
Next i
Case 5
For i = 0 To 9
txtData(i).Text = ""
Next i
For i = 0 To 1
txtdlcc(i).Text = ""
txtdlc(i).Text = ""
Next i
lblResultkq.Caption = ""
lblResultl(0).Caption = ""
lblResultx(0).Caption = ""
For i = 2 To 3
lblResultl(i).Caption = ""
lblResultx(i).Caption = ""
Next
For i = 5 To 7
lblResultl(i).Caption = ""
lblResultx(i).Caption = ""
Next i
End Select
End Sub
Private Sub Timer1_Timer()
If txtdlcc(1).Text = "" Then
cmd1.Enabled = False
Else
cmd1.Enabled = True
End If
End Sub
Private Sub Timer2_Timer()
If txtdlcc(0).Text = "" Then
cmd3.Enabled = False
Else
cmd3.Enabled = True
End If
End Sub
Private Sub Timer3_Timer()
If txtdlc(1).Text = "" Then
cmd2.Enabled = False
Else
cmd2.Enabled = True
End If
End Sub
Private Sub Timer4_Timer()
If txtdlc(0).Text = "" Then
cmd4.Enabled = False
Else
cmd4.Enabled = True
End If
End Sub
Private Sub timerCheck_Timer()
Dim i As Integer
If txtData(0).Text = "" Or txtData(1).Text = "" Or _
txtData(2).Text = "" Or txtData(3).Text = "" Or _
txtData(4).Text = "" Or txtData(4).Text = "" Or _
txtData(5).Text = "" Or txtData(6).Text = "" Or _
txtData(7).Text = "" Or txtData(8).Text = "" Or _
txtData(9).Text = "" Then
sbfor(3).Enabled = False
Else
sbfor(3).Enabled = True
End If
End Sub
Private Sub txtData_KeyPress(Index As Integer, KeyAscii As Integer)
Dim found As Integer
Select Case KeyAscii
Case vbKeyBack, vbKeyRight, vbKeyLeft
'do nothing
Case Asc("0") To Asc("9")
'do nothing
Case Asc("-")
If txtData(Index).Text "" Then
Beep
KeyAscii = 0
End If
Case Asc(".")
If txtData(Index).Text "" Then
found = InStr(1, txtData(Index).Text, ".", vbTextCompare)
If found 0 Then
Beep
KeyAscii = 0
End If
End If
Case Else
Beep
KeyAscii = 0
End Select
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
frmchinh.Enabled = True
End Sub
Private Sub txtdlc_KeyPress(Index As Integer, KeyAscii As Integer)
Dim found As Integer
Select Case KeyAscii
Case vbKeyBack, vbKeyRight, vbKeyLeft
'do nothing
Case Asc("0") To Asc("9")
'do nothing
Case Asc("-")
Case Asc(".")
Case Else
Beep
KeyAscii = 0
End Select
End Sub
Private Sub txtdlcc_KeyPress(Index As Integer, KeyAscii As Integer)
Dim found As Integer
Select Case KeyAscii
Case vbKeyBack, vbKeyRight, vbKeyLeft
'do nothing
Case Asc("0") To Asc("9")
'do nothing
Case Asc("-")
Case Asc(".")
Case Else
Beep
KeyAscii = 0
End Select
End Sub
4. Phần tính kíck thước cell
Private Sub optHata_Click()
cboKieuvungHata.Visible = True
cboKieuvungWalf.Visible = False
End Sub
Private Sub optWalf_Click()
cboKieuvungHata.Visible = False
cboKieuvungWalf.Visible = True
End Sub
Private Sub sbfor_Click(Index As Integer)
On Error Resume Next
Dim i As Byte
For i = 0 To 7
tsnhapkt(i) = Val(txtCell(i).Text)
Next i
Select Case Index
Case 0
Unload Me
frmMain.Enabled = False
frmCap.Show
Case 1
Unload Me
frmMain.Enabled = False
frmLoss.Show
Case 2
Unload Me
frmMain.Enabled = True
Case 3
If optHata.Value = True Then
Select Case cboKieuvungHata.ListIndex
Case 0:
lstvt.AddItem lblvt(0).Caption
If tanso > 400 Then
HesoHieuchinh = (3.2 * ((Lg10(11.75 * tsnhapkt(3))) ^ 2) - 4.97)
Else
HesoHieuchinh = (8.28 * ((Lg10(1.54 * tsnhapkt(3))) ^ 2) - 1.1)
End If
RofCell = (tsnhapkt(0) - 69.55 - 26.16 * Lg10(tsnhapkt(1)) + 13.82 * Lg10(tsnhapkt(2)) + HesoHieuchinh) / (44.9 - 6.55 * Lg10(tsnhapkt(2)))
Case 1:
lstvt.AddItem lblvt(1).Caption
HesoHieuchinh = tsnhapkt(3) * (1.1 * Lg10(tsnhapkt(1)) - 0.7) - 1.56 * Lg10(tsnhapkt(1)) + 0.8
RofCell = (tsnhapkt(0) - 69.55 - 26.16 * Lg10(tsnhapkt(1)) + 13.82 * Lg10(tsnhapkt(2)) + HesoHieuchinh) / (44.9 - 6.55 * Lg10(tsnhapkt(2)))
Case 2:
lstvt.AddItem lblvt(2).Caption
HesoHieuchinh = tsnhapkt(3) * (1.1 * Lg10(tsnhapkt(1)) - 0.7) - 1.56 * Lg10(tsnhapkt(1)) + 0.8
RofCell = (tsnhapkt(0) - 69.55 - 26.16 * Lg10(tsnhapkt(1)) + 13.82 * Lg10(tsnhapkt(2)) + HesoHieuchinh + 2 * ((Lg10(tsnhapkt(1) / 28)) ^ 2) + 5.4) / (44.9 - 6.55 * Lg10(tsnhapkt(2)))
Case 3:
lstvt.AddItem lblvt(3).Caption
HesoHieuchinh = tsnhapkt(3) * (1.1 * Lg10(tsnhapkt(1)) - 0.7) - 1.56 * Lg10(tsnhapkt(1)) + 0.8
'bankinho = (suyhaochophep - 69.55 - 26.16 * Lg10(tanso) + 13.82 * Lg10(docaoBS) + hesohieuchinh + 8) / (44.9 - 6.55 * Lg10(docaoBS))
RofCell = (tsnhapkt(0) - 69.55 - 26.16 * Lg10(tsnhapkt(1)) + 13.82 * Lg10(tsnhapkt(2)) + HesoHieuchinh + (4.78 * (Lg10(tsnhapkt(1))) ^ 2) - 19.33 * Lg10(tsnhapkt(1)) + 40.49) / (44.9 - 6.55 * Lg10(tsnhapkt(2)))
End Select
Kichthuoc = 10 ^ RofCell
lblRcell.Caption = Format(Kichthuoc, "0.######") + " km"
DientichCell = 2.6 * Kichthuoc ^ 2
lbldientich.Caption = Format(DientichCell, "0.######") + " km2"
lstR.AddItem lblRcell.Caption
lstdt.AddItem lbldientich.Caption
lstsh.AddItem Format(tsnhapkt(0), "0.######") + " dB"
lstmh.AddItem optHata.Caption
End If
If optWalf.Value = True Then
Select Case cboKieuvungWalf.ListIndex
Case 0:
lstvt.AddItem lblvt(0).Caption
If (tsnhapkt(5) >= 0) And (tsnhapkt(5) tsnhapkt(4)) Then
Lo = -9.646
Lbsh = (-18 * Lg10(1 + (tsnhapkt(2) - tsnhapkt(4))))
Ka = 54
Kd = (18 - 15 * (tsnhapkt(2) - tsnhapkt(4)) / (tsnhapkt(4) - tsnhapkt(3)))
End If
If (tsnhapkt(5) >= 35) And (tsnhapkt(5) tsnhapkt(4)) Then
Lo = (2.5 + 0.075 * (tsnhapkt(5) - 35))
Lbsh = (-18 * Lg10(1 + (tsnhapkt(2) - tsnhapkt(4))))
Ka = 54
Kd = 18
End If
If (tsnhapkt(5) >= 55) And (tsnhapkt(5) tsnhapkt(4)) Then
Lo = (4 - 0.114 * (tsnhapkt(5) - 55))
Lbsh = (-18 * Lg10(1 + (tsnhapkt(2) - tsnhapkt(4))))
Ka = 54
Kd = 18
End If
If (tsnhapkt(5) >= 0) And (tsnhapkt(5) <= 35) And (tsnhapkt(2) <= tsnhapkt(4)) Then
Lo = -9.646
Lbsh = 0
Ka = (54 - 0.8 * tsnhapkt(2))
Kd = (18 - 15 * (tsnhapkt(2) - tsnhapkt(4)) / (tsnhapkt(4) - tsnhapkt(3)))
End If
If (tsnhapkt(5) >= 35) And (tsnhapkt(5) <= 55) And (tsnhapkt(2) <= tsnhapkt(4)) Then
Lo = (2.5 + 0.075 * (tsnhapkt(5) - 35))
Lbsh = 0
Ka = (54 - 0.8 * tsnhapkt(2))
Kd = (18 - 15 * (tsnhapkt(2) - tsnhapkt(4)) / (tsnhapkt(4) - tsnhapkt(3)))
End If
If (tsnhapkt(5) >= 55) And (tsnhapkt(5) <= 90) And (tsnhapkt(2) <= tsnhapkt(4)) Then
Lo = (4 - 0.114 * (tsnhapkt(5) - 55))
Lbsh = 0
Ka = (54 - 0.8 * tsnhapkt(2))
Kd = (18 - 15 * (tsnhapkt(2) - tsnhapkt(4)) / (tsnhapkt(4) - tsnhapkt(3)))
End If
Kf = (4 + 1.5 * tsnhapkt(1) / 925 - 1.5)
Lp = (Lo + 10 * Lg10(tsnhapkt(1)) - 10 * Lg10(tsnhapkt(7)) - 16.9 + 20 * Lg10(tsnhapkt(4) - tsnhapkt(3)))
Lf = 32.4 + 20 * Lg10(tsnhapkt(1))
Lvc = (Lbsh + Ka + Kf * Lg10(tsnhapkt(1)) - 9 * Lg10(tsnhapkt(6)))
RofCell = (tsnhapkt(0) - Lf - Lvc - Lp) / (20 + Kd)
Case 1:
lstvt.AddItem lblvt(4).Caption
If (tsnhapkt(5) >= 0) And (tsnhapkt(5) tsnhapkt(4)) Then
Lo = -9.646
Lbsh = (-18 * Lg10(1 + (tsnhapkt(2) - tsnhapkt(4))))
Ka = 54
Kd = (18 - 15 * (tsnhapkt(2) - tsnhapkt(4)) / (tsnhapkt(4) - tsnhapkt(3)))
End If
If (tsnhapkt(5) >= 35) And (tsnhapkt(5) tsnhapkt(4)) Then
Lo = (2.5 + 0.075 * (tsnhapkt(5) - 35))
Lbsh = (-18 * Lg10(1 + (tsnhapkt(2) - tsnhapkt(4))))
Ka = 54
Kd = 18
End If
If (tsnhapkt(5) >= 55) And (tsnhapkt(5) tsnhapkt(4)) Then
Lo = (4 - 0.114 * (tsnhapkt(5) - 55))
Lbsh = (-18 * Lg10(1 + (tsnhapkt(2) - tsnhapkt(4))))
Ka = 54
Kd = 18
End If
If (tsnhapkt(5) >= 0) And (tsnhapkt(5) <= 35) And (tsnhapkt(2) <= tsnhapkt(4)) Then
Lo = -9.646
Lbsh = 0
Ka = (54 - 0.8 * tsnhapkt(2))
Kd = (18 - 15 * (tsnhapkt(2) - tsnhapkt(4)) / (tsnhapkt(4) - tsnhapkt(3)))
End If
If (tsnhapkt(5) >= 35) And (tsnhapkt(5) <= 55) And (tsnhapkt(2) <= tsnhapkt(4)) Then
Lo = (2.5 + 0.075 * (tsnhapkt(5) - 35))
Lbsh = 0
Ka = (54 - 0.8 * tsnhapkt(2))
Kd = (18 - 15 * (tsnhapkt(2) - tsnhapkt(4)) / (tsnhapkt(4) - tsnhapkt(3)))
End If
If (tsnhapkt(5) >= 55) And (tsnhapkt(5) <= 90) And (tsnhapkt(2) <= tsnhapkt(4)) Then
Lo = (4 - 0.114 * (tsnhapkt(5) - 55))
Lbsh = 0
Ka = (54 - 0.8 * tsnhapkt(2))
Kd = (18 - 15 * (tsnhapkt(2) - tsnhapkt(4)) / (tsnhapkt(4) - tsnhapkt(3)))
End If
Kf = (4 + 0.7 * tsnhapkt(1) / 925 - 1.5)
Lp = (Lo + 10 * Lg10(tsnhapkt(1)) - 10 * Lg10(tsnhapkt(7)) - 16.9 + 20 * Lg10(tsnhapkt(4) - tsnhapkt(3)))
Lf = 32.4 + 20 * Lg10(tsnhapkt(1))
Lvc = (Lbsh + Ka + Kf * Lg10(tsnhapkt(1)) - 9 * Lg10(tsnhapkt(6)))
RofCell = (tsnhapkt(0) - Lf - Lvc - Lp) / (20 + Kd)
End Select
Kichthuoc = 10 ^ RofCell
lblRcell.Caption = Format(Kichthuoc, "0.######") + " km"
DientichCell = 2.6 * Kichthuoc ^ 2
lbldientich.Caption = Format(DientichCell, "0.######") + " km2"
lstR.AddItem lblRcell.Caption
lstdt.AddItem lbldientich.Caption
lstsh.AddItem Format(tsnhapkt(0), "0.######") + " dB"
lstmh.AddItem optWalf.Caption
End If
Case 4
txtCell(1).Text = "880"
txtCell(2).Text = "30"
txtCell(3).Text = "1.5"
txtCell(4).Text = "30"
txtCell(6).Text = "15"
txtCell(5).Text = "90"
txtCell(7).Text = "20"
lstsh.Clear
lstmh.Clear
lstR.Clear
lstdt.Clear
lstvt.Clear
If suyhaochophep = 0 Then
txtCell(0).Text = ""
Else
txtCell(0).Text = Format(suyhaochophep, "0.######")
End If
txtCell(0).SetFocus
Case 5
txtCell(0).Text = ""
txtCell(1).Text = ""
txtCell(2).Text = ""
txtCell(3).Text = ""
txtCell(4).Text = ""
txtCell(6).Text = ""
txtCell(5).Text = ""
txtCell(7).Text = ""
lblRcell.Caption = ""
lbldientich.Caption = ""
txtCell(0).SetFocus
lstsh.Clear
lstmh.Clear
lstR.Clear
lstdt.Clear
lstvt.Clear
End Select
End Sub
Private Sub tmCheckInput_Timer()
If (txtCell(0).Text = "" Or txtCell(1).Text = "" _
Or txtCell(2).Text = "" _
Or txtCell(3).Text = "" _
Or txtCell(4).Text = "" _
Or txtCell(6).Text = "" _
Or txtCell(5).Text = "") Then
sbfor(3).Enabled = False
Else
sbfor(3).Enabled = True
End If
End Sub
Private Sub Form_Load()
txtCell(1).Text = "880"
txtCell(2).Text = "30"
txtCell(3).Text = "1.5"
txtCell(4).Text = "30"
txtCell(6).Text = "30"
txtCell(5).Text = "90"
txtCell(7).Text = "15"
lblRcell.Caption = ""
lbldientich.Caption = ""
frmchinh.Enabled = False
If suyhaochophep = 0 Then
txtCell(0).Text = ""
Else
txtCell(0).Text = Format(suyhaochophep, "0.######")
End If
optHata.Value = True
cboKieuvungHata.ListIndex = 0
cboKieuvungWalf.ListIndex = 0
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
frmchinh.Enabled = True
End Sub
Private Sub txtCell_KeyPress(Index As Integer, KeyAscii As Integer)
Dim found As Integer
Select Case KeyAscii
Case vbKeyBack, vbKeyRight, vbKeyLeft
'do nothing
Case Asc("0") To Asc("9")
'do nothing
Case Asc("-")
If txtCell(Index).Text "" Then
Beep
KeyAscii = 0
End If
Case Asc(".")
If txtCell(Index).Text "" Then
found = InStr(1, txtCell(Index).Text, ".", vbTextCompare)
If found 0 Then
Beep
KeyAscii = 0
End If
End If
Case Else
Beep
KeyAscii = 1
End Select
End Sub
Các file đính kèm theo tài liệu này:
- Vuong1.doc