Phân bố tần số cho mạng thông tin di động

PHÂN BỔ TẦN SỐ CHO MẠNG THÔNG TIN DI ĐỘNG Một vấn đề đặt ra là làm sao có thể đáp ứng chất lượng phục vụ cho số thuê bao ngày càng tăng lên một cách nhanh chóng trong khi tài nguyên tần số hoàn toàn có giới hạn. Do đó vấn đề cơ bản của các nhà mạng là làm sao để tăng hiệu quả sử dụng băng tần số lên tối đa, đáp ứng nhu cầu về dung lượng cho mạng. Một trong những vần đề quan trọng của quá trình quy hoạch và tái quy hoạch mạng là phân bổ tần số hợp lí. Nó không chỉ có ý nghĩa về mặc chất lượng dịch vụ mà còn có ý nghĩa kinh tế trong việc sử dụng hiệu quả nguồn tài nguyên. Vì vậy trong LVTN này, em sẽ tiến hành một số giải pháp để thực hiện vấn đề trên, cụ thể là: Tìm hiểu những kiến thức cơ bản về mạng GSM, quá trình quy hoạchmạng thông tin di động, đặc biệt là cách phân bổ tần số tối ưu. Từ đó dựng chương trình mô phỏng. Đối với việc phân bổ tần số trong quá trình quy hoạch cũng như tái quy hoạch mạng di động, yêu cầu đặt ra là phải sử dụng lại tần số tối đa nhưng vẫn thỏa mãn các điều kiện đặt ra để hạn chế can nhiễu đồng kênh và can nhiễu kênh lân cận. Điều kiện đặt ra ở đây chính là khoảng cách tần số tối thiểu gán cho các cặp cell. Từ đó, em viết chương trình“GÁN KÊNH TẦN SỐ CHO MẠNG THÔNG TIN DI ĐỘNG” bằng ngôn ngữ C# nhẳm tìm ra lời giải tương đối hợp lý cho vấn đề này. Phân tích, so sánh ưu nhược điểm của 2 cách sector 120o và 60o trong việc tái sử dụng lại tần số dựa trên kết quả mô phỏng có được từ chương trình mô phỏng Nội Dung Chương 1: GIỚI THIỆU 1.1 Khái quát tình hình của ngành viễn thông ở Việt Nam 1.2 Mục đích và nội dung của đề tài Chương 2: LÝ THUYẾT VỀ QUY HOẠCH MẠNG DI ĐỘNG 2.1 Lịch sử phát triển và phân cấp cấu trúc vật lí mạng GSM 2.2 Mô hình hệ thống thông tin di động GSM 2.3 Các nhân tố ảnh hưởng đến quá trình lan truyền 2.4 Tiến trình quy hoạch mạng Chương 3: XÂY DỰNG THUẬT TOÁN PHÂN BỔ TẦN SỐ 3.1 Đặt vấn đề 3.2 Bài toán phân bổ tần số 3.3 Thuật toàn giải bài toán phân bổ tần số và ví dụ Chương 4: CHƯƠNG TRÌNH MÔ PHỎNG “GÁN KÊNH TẦN SỐ CHO MẠNG THÔNG TIN DI ĐỘNG” 4.1 Giao diện người dùng, ý nghĩa các thông số 4.2 Trường hợp dung lượng phân bố đều ở các cell 4.3 Trường hợp dung lượng tăng cục bộ ở 1 vùng nhất định trong cluster Chương 5: KẾT LUẬN VÀ HƯỚNG PHÁ TRIỂN CỦA ĐỀ TÀI 5.1 kết luận 5.2 Hướng phát triển

pdf77 trang | Chia sẻ: lvcdongnoi | Lượt xem: 3565 | Lượt tải: 4download
Bạn đang xem trước 20 trang tài liệu Phân bố tần số cho mạng thông tin di động, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
17 118 119 TCH4 120 121 122 123 124 Ta thấy mỗi cell có thể phân bố cực đại đến 5 sóng mang. Nhƣ vậy, với công nghệ đa truy cập TDMA của GSM, mổi kênh chứa 8 khe thời gian tƣơng ứng với 8 kênh vật lý, trong đó có 1 kênh dành cho quảng bá, 1 kênh dành cho điều khiển để truy cập vị trí và thiết lập cuộc gọi. Vậy số khe thời gian dành cho kênh lƣu lƣợng của mỗi cell còn (5 x 8 – 2) = 38 Tra bảng Erlang-B (Phụ lục), tại GoS 2 % thì một cell có thể cung cấp dung lƣợng 29,166 Erlang. Giả thiết trung bình mỗi thuê bao trong một giờ thực hiện 1 cuộc gọi kéo dài 120s tức là trung bình mỗi thuê bao chiếm 0,033 Erlang, thì mỗi cell có thể phục vụ đƣợc 29,166/0,033 = 833 (thuê bao). CHƯƠNG 2:LÝ THUYẾT VỀ QUY HOẠCH MẠNG 29 GVDH: TS. ĐỖ HỒNG TUẤN SVTH: PHẠM MINH VƢƠNG Hình 2.6: Mẫu tái sử dụng tần số 3/9 Theo lý thuyết, cấu trúc mảng 9 cells có tỉ số C/I > 9 dB đảm bảo GSM làm việc bình thƣờng. Tỉ số C/A cũng là một tỉ số quan trọng và ngƣời ta cũng dựa vào tỉ số này để đảm bảo rằng việc ấn định tần số sao cho các sóng mang liền nhau không nên đƣợc sử dụng ở các cell cạnh nhau về mặt địa lý. Tuy nhiên, trong hệ thống 3/9 các cell cạnh nhau về mặt địa lý nhƣ A1 & C3, C1 & A2, C2 & A3 lại sử dụng các sóng mang liền nhau. Điều này chứng tỏ rằng tỉ số C/A đối với các máy di động hoạt động ở biên giới giữa hai cell A1 và C3 là 0dB, đây là mức nhiễu cao mặc dù tỉ số này là lớn hơn tỉ số chuẩn của GSM là (- 9 dB). Việc sử dụng các biện pháp nhƣ nhảy tần, điều khiển công suất động, truyền dẫn gián đoạn là nhằm mục đích giảm tối thiểu các hiệu ứng này.  Mẫu tái sử dụng tần số 4/12: CHƯƠNG 2:LÝ THUYẾT VỀ QUY HOẠCH MẠNG 30 GVDH: TS. ĐỖ HỒNG TUẤN SVTH: PHẠM MINH VƢƠNG Mẫu sử dụng lại tần số 4/12 có nghĩa là các tần số sử dụng đƣợc chia thành 12 nhóm tần số ấn định trong 4 vị trí trạm gốc. Khoảng cách giữa các trạm đồng kênh khi đó là D = 6R. Lập bảng ấn định tần số nhƣ trên,ta thấy mỗi cell có thể phân bố cực đại là 4 sóng mang. Nhƣ vậy, với khái niệm về kênh nhƣ đã nói ở phần trƣớc, một khe thời gian dành cho kênh BCH, một khe thời gian dành cho kênh SDCCH/8. Vậy số khe thời gian dành cho kênh lƣu lƣợng của mỗi cell còn (4 x 8 – 2) = 30 TCH. Tra bảng Erlang-B ( Phụ lục ), tại GoS = 2 % thì mỗi cell có thể cung cấp dung lƣợng 21,932 Erlang. Giả sử mỗi thuê bao chiếm 0,033 Erlang thì mỗi cell có thể phục vụ đƣợc 21,932/0,033 = 664 thuê bao. Trong mẫu 4/12 số lƣợng các cell D sắp xếp theo các cách khác nhau để nhằm phục vụ cho các cell A,B,C. Hiệu quả của việc điều chỉnh này là để đảm bảo hai cell cạnh nhau không sử dụng hai sóng mang liền nhau (khác với mẫu 3/9). Với mẫu này, khoảng cách tái sử dụng tần số là lớn hơn Hình 2.7: mẫu tái sử dụng tần số 4/12 CHƯƠNG 2:LÝ THUYẾT VỀ QUY HOẠCH MẠNG 31 GVDH: TS. ĐỖ HỒNG TUẤN SVTH: PHẠM MINH VƢƠNG Về lý thuyết, cụm 12 cells có tỉ số C/I > 12 dB. Đây là tỉ số thích hợp cho phép hệ thống GSM hoạt động tốt. Tuy nhiên, mẫu 4/12 có dung lƣợng thấp hơn so với mẫu 3/9 vì:  Số lƣợng sóng mang trên mỗi cell ít hơn (mỗi cell có 1/12 tổng số song mang thay vì 1/9).  Hệ số sử dụng lại tần số thấp hơn (đồng nghĩa với khoảng cách sử dụng lại là lớn hơn).  Mẫu tái sử dụng tần số 7/21: Mẫu 7/21 có nghĩa là các tần số sử dụng đƣợc chia thành 21 nhóm ấn định trong 7 trạm gốc. Khoảng cách giữa các trạm đồng kênh là D = 7,9R. Ta thấy mỗi cell chỉ đƣợc phân bố tối đa 2 sóng mang. Nhƣ vậy với khái niệm về kênh nhƣ đã nói ở phần trƣớc. Phải có một khe thời gian dành cho BCH và có ít nhất một khe thời gian dành cho SDCCH, số khe thời gian dành cho kênh lƣu lƣợng của mỗi cell còn (2 x 8 – 2) = 14 TCH . Tra bảng Erlang- B (Phụ lục), tại GoS = 2 % thì mỗi cell có thể cung cấp một dung lƣợng phục vụ đƣợc 8,2003/0,033 = 248 thuê bao. CHƯƠNG 2:LÝ THUYẾT VỀ QUY HOẠCH MẠNG 32 GVDH: TS. ĐỖ HỒNG TUẤN SVTH: PHẠM MINH VƢƠNG Hình 2.8: Mẫu tái sử dụng tần số 7/21 Nhận xét: Khi số nhóm tần số N giảm (21, 12, 9), nghĩa là số kênh tần số có thể dùng cho mỗi trạm tăng thì khoảng cách giữa các trạm đồng kênh D sẽ giảm 7,9R; 6R; 5,2R. Điều này nghĩa là số thuê bao đƣợc phục vụ sẽ tăng lên là: 248; 664 và 883, nhƣng đồng thời nhiễu trong hệ thống cũng tăng lên. Nhƣ vậy, việc lựa chọn mẫu sử dụng lại tần số phải dựa trên các đặc điểm địa lý vùng phủ sóng, mật độ thuê bao của vùng phủ và tổng số kênh của mạng. - Mẫu 3/9: số kênh trong một cell là lớn, tuy nhiên khả năng nhiễu cao. Mô hình này thƣờng đƣợc áp dụng cho những vùng có mật độ máy di động cao. - Mẫu 4/12: sử dụng cho những vùng có mật độ lƣu lƣợng trung bình. - Mẫu 7/21: sử dụng cho những khu vực mật độ thấp. 2.5 Chia sector: Thay vì sử dụng một anten đẳng hƣớng, trong cell đƣợc phân sector sẽ sử dụng các anten có hƣớng phát ra góc 60 độ hoặc 120 độ. Ƣu điểm của phân sector là sẽ giảm đƣợc nhiễu đồng kênh, tăng dung CHƯƠNG 2:LÝ THUYẾT VỀ QUY HOẠCH MẠNG 33 GVDH: TS. ĐỖ HỒNG TUẤN SVTH: PHẠM MINH VƢƠNG lƣợng thuê bao phục vụ, sử dụng hiệu quả nguồn tài nguyên tần số; nhƣng handover tăng làm cho hệ thống bận rộn hơn. Hình 2.9: Chia sector CHƯƠNG 3: XÂY DỰNG THUẬT TOÁN PHÂN BỔ TẦN SỐ 34 GVDH: TS. ĐỖ HỒNG TUẤN SVTH: PHẠM MINH VƢƠNG Chƣơng 3: XÂY DỰNG THUẬT TOÁN PHÂN BỔ TẦN SỐ:[3] 3.1 Đặt vấn đề: Trong mạng thông tin di động GSM ngày nay, nhu cầu phát triển số thuê bao nhanh chóng trong khi băng tần GSM là một tài nguyên có giới hạn. Để giải quyết vấn đề này trong quy hoạch và thiết kế mạng thông tin di động GSM ngƣời ta đƣa ra giải pháp là sử dụng lại tần số ở những vị trí khác nhau trong mạng GSM với khoảng cách an toàn để đảm bảo không xảy ra nhiễu. Khoảng cách an toàn này đƣợc gọi là khoản cách tối thiểu để sử dụng lại tần số D và tỉ lệ D/R là hệ số an toàn để sử dụng lại tần số nhƣ đã trình bày trong phần lý thuyết . Trong Hình 9, giữa cell 17 vỡ các cell lận cận {9, 10, 16, 18, 20, 21} tô đậm phải luôn duy trì một khoảng cách tần số nhất định để tránh nhiễu. Trong một số trƣờng hợp thậm trí đối với các cell ở xa hơn nhƣ các cell {2, 3, 4, 8, 11, 19 } cũng vẫn nằm trong khoảng cách có thể bị nhiễu. Nhƣ vậy khoảng cách vật lý an toàn cho việc sử dụng lại các kênh tần số giống nhau là thông số rất quan trọng đối với thiết kế mạng vô tuyến di động. Khoảng cách tần số giữa các cặp cell đƣợc xác định dựa vào các yêu cầu về nhiễu và đƣợc xây dựng thành ma trận khoảng cách tần số tƣơng ứng trong đó N là số lƣợng cell nhƣ đã trình bày trên. CHƯƠNG 3: XÂY DỰNG THUẬT TOÁN PHÂN BỔ TẦN SỐ 35 GVDH: TS. ĐỖ HỒNG TUẤN SVTH: PHẠM MINH VƢƠNG Hình 3.1: Ví dụ mạng GSM với N=21cell Ngoài việc bảo đảm không để nhiễu xảy ra, phân bố tần số còn bị ràng buộc bởi điều kiện về số lƣợng tần số cần thiết của cell để phục vụ lƣu lƣợng theo thiết kế. Do phân bố lƣu lƣợng không đều do đó nhu cầu tần số của các cell là khác nhau. Có 3 phƣơng pháp phân bố tần số nhƣ sau: Phân bố tần số cố định, Phân bố tần số động và phân bố tần số linh hoạt. Tuy nhiên trong nội dung luận văn này em sẽ chỉ phân tích trƣờng hợp phân bố tần số cố định. Trong điều kiện mạng vô tuyến thông tin di động có băng tần giới hạn, do đó từ vấn đề hiệu quả sử dụng băng tần đặt ra cho bài toán phân bố tần số là phải tìm đƣợc phƣơng án phân bố tần số có số lƣợng tần số là tối thiểu trong khi đó vẫn thoả mãn các điều kiện về nhiễu và số lƣợng tần số cho từng cell. Hiện nay để giải quyết vấn đề phân bố tần số đa số các nhà khai thác sử dụng phƣơng pháp phân bố tần số theo một mẫu sử dụng lại tần số cố định ví dụ 3/9, 4/12,7/21. Tuy nhiên phƣơng pháp này có hai hạn chế sau: - Việc phân bố tần số chƣa căn cứ vào mức độ đánh giá về nhiễu của các cell trên mạng lƣới (thông qua phƣơng pháp đo hoặc tính toán mô phỏng) do đó nhiễu vẫn có thể xảy ra. CHƯƠNG 3: XÂY DỰNG THUẬT TOÁN PHÂN BỔ TẦN SỐ 36 GVDH: TS. ĐỖ HỒNG TUẤN SVTH: PHẠM MINH VƢƠNG - Do việc phân bổ này là chƣa tính đến số lƣợng tần số thực tế cần thiết cho từng cell do vậy băng tần số sử dụng không thay đổi theo số lƣợng tần số sử dụng thực tế do đó hiệu quả sử dụng tần số còn thấp. Mô hình phƣơng pháp phân bố tần số em đƣa ra sau đây là dựa trên hai phƣơng pháp tiếp cận mới :  Thứ nhất : Việc phân bố tần số dựa trên việc xác định và đánh giá khả năng nhiễu xẩy ra trên mạng lƣới bằng phƣơng pháp đo hoặc phƣơng pháp mô phỏng từ đó xây dựng ma trận khoảng cách tần số giữa các cell. Ma trận khoảng cách tần số giữa các cell bảo đảm việc phân bố tần số loại trừ đƣợc khả năng nhiễu xẩy ra giữa các cell.  Thứ hai : Trên cơ sở số lƣợng tần số cần thiết thực tế cho từng cell, thuật toán sẽ tìm phƣơng pháp phân bố tần số với số lƣợng tần số sử dụng là ít nhất và do đó nâng cao đƣợc hiệu quả sử dụng băng tần số . 3.2 Bài toán phân bổ tần số: Giả sử ta có: - Tài nguyên tần số hiện có M tần số, đƣợc kí hiệu bằng , ,…, . Khoảng cách giữa hai tần số là Δf (với mạng GSM , Δf = 200KHz). Nhƣ vậy ta có quan hệ : fi+m= fi + m* Δf Trong đó , i, m là số nguyên dƣơng. Vậy độ rộng cả băng tần là : M* Δf - Một tập hợp C có N cell {C = C1a , C1b,...,CNb/2} - Vector nhu cầu tần số W= {W1a, W1b, ..., WNb/2}. Trong đó Wix: là số lƣợng kênh tần số cần thiết cho cell thứ ix vỡ 1≤ i ≤ N/2; x = a; b - Ma trận nhƣ đã trình bày ở trên là ma trận khoản cách tần số tƣơng ứng. Phần tử của ma trận là khoảng cách tần số giữa cell i vỡ CHƯƠNG 3: XÂY DỰNG THUẬT TOÁN PHÂN BỔ TẦN SỐ 37 GVDH: TS. ĐỖ HỒNG TUẤN SVTH: PHẠM MINH VƢƠNG cell j. Tuỳ theo việc bố trớ cell trong mạng ta sẽ xác định các giá trị Sij sao cho khoảng cách tần số giữa cell i vỡ cell j bảo đảm để không có nhiễu xảy ra. Các giá trị của đƣợc xác định trên cơ sở các số liệu đo đạc tình hình nhiễu thực tế trong mạng hoặc sử dụng phƣơng pháp mô phỏng để xác định giá trị . Dựa vào các tiêu chuẩn về khoảng cách tần số và phổ tần số GSM theo khuyến nghị ETSI GSM 05.05 và ETSI GSM 05.08 để tránh nhiễu xẩy ra, các giá trị đƣợc xác định theo nguyên tắc nhƣ sau:  Sij = 1 : Nếu giữa cell i và j là không đƣợc sử dụng cùng tần số.  Sij = 2 : Trong trƣờng hợp các kênh tần số lân cận nhƣ fi vỡ fi+1 là không đƣợc phân bố cho các cell i , j một cách đồng thời.  Sij = 0 : Trƣờng hợp không có nhiễu xảy ra ngay cả khi cell i vỡ j sử dụng cùng một tần số.  Sii = 5 : Trƣờng hợp tần số sử dụng trong cùng một cell i phải có khoảng cách tần số là Sii = 5 Trong phạm vi luận văn, em không đƣa ra phƣơng pháp xây dựng ma trận bằng phƣơng pháp mô phỏng thực tế. Việc tính toán ma trận khoảng cách tần số đối với các trƣờng hợp đƣợc dƣa ra trong chƣơng trình mô phỏng. Tuy nhiên, đề minh hoạ, em đƣa ra một ví dụ theo hình 3.2 bên dƣới và phƣơng pháp xây dựng ma trận cho trƣờng hợp cell sector 120o . Trƣờng hợp sector 120o đối với mô hình 9 cell: CHƯƠNG 3: XÂY DỰNG THUẬT TOÁN PHÂN BỔ TẦN SỐ 38 GVDH: TS. ĐỖ HỒNG TUẤN SVTH: PHẠM MINH VƢƠNG Hình 3.2: mô hình cluster 9 cells Theo nguyên tắc xác định nhƣ trên, ta có các phần tử của ma trận có các giá trị lần lƣợt nhƣ sau(ứng với trƣờng hợp 2 kênh tần số và không đƣợc phân bổ một cách đồng thời cho 2 cell kế cận i và i ): C1a C1b C2a C2b C3a C3b C4a C4b C5a C1a 5 1 1 2 0 1 2 0 0 C1b 1 5 1 2 2 2 2 1 0 C2a 1 1 5 1 0 2 2 1 2 C2b 2 2 1 5 1 1 2 1 0 C3a 0 2 0 1 5 1 1 2 0 C3b 1 2 2 1 1 5 2 2 2 CHƯƠNG 3: XÂY DỰNG THUẬT TOÁN PHÂN BỔ TẦN SỐ 39 GVDH: TS. ĐỖ HỒNG TUẤN SVTH: PHẠM MINH VƢƠNG C4a 2 2 2 2 1 2 5 1 1 C4b 0 2 1 1 2 2 1 5 1 C5a 0 1 2 0 0 2 1 1 5 Bảng 3.1: Ma trận khoản cách tần số cho mô hình cluster 9 cells Nhƣ vậy kết quả bài toán là xác định đƣợc ma trận sử dụng tần số cho từng cell của mạng, giả sử đƣợc gọi là ma trận , ở đây, M là số tần số hiện có, còn N là số cell của tập hợp C trong trƣờng hợp sector 120 o hoặc 2xN trong trƣờng hợp sector 60o .Phần tử của ma trận FNN kí hiệu là . Để tìm ma trận trƣớc hết ta định nghĩa các phần tử của ma trận .Ban đầu đặt = 0, sau đó thực hiện thuật toán giá trị sẽ đƣợc gán theo nguyên tắc sau:  0: Có nghĩa là cell thứ i (theo cột) là không sử dụng tần số thứ m (theo hàng).Và nếu tần số này phân bổ cho cell i thì cũng không gây ra xung đột với các tần số khác hiện đã đƣợc phân bổ cho các cell khác.  = 1: Điều này có nghĩa là cell thứ i đã sử dụng tần số  fmi = -1: Điều này có nghĩa là cell thứ i không đƣợc sử dụng tần số vì nếu sử dụng sẽ gây ra nhiễu với các tần số đã đƣợc phân bố. Trong đó : 1 ≤ m ≤ M, 1 ≤ i ≤ N. Mục tiêu đặt ra là tìm đƣợc số lƣợng tần số sử dụng M′ tối thiểu (M′ ≤ M ) đồng thời vẫn thoả mãn 2 điều kiện rỡng buộc sau:  Điều kiện ràng buộc 1: Điều kiện rỡng buộc về khoảng cách tần số: Khi = = 1 thì | | ≥ (1) CHƯƠNG 3: XÂY DỰNG THUẬT TOÁN PHÂN BỔ TẦN SỐ 40 GVDH: TS. ĐỖ HỒNG TUẤN SVTH: PHẠM MINH VƢƠNG Trong đó = 1 là tần số đƣợc gán theo cell thứ j Với tất cả các giá trị m, L, j , i trừ trƣờng hợp m = L và i = j. Với trƣờng hợp i = j là trƣờng hợp sử dụng tần số cùng trên một cell .  Điều kiện rang buộc 2: Là ràng buộc về thoả mãn nhu cầu số lƣợng tần số sử dụng cho từng cell, đáp ứng đƣợc dung lƣợng của từng cell theo thiết kế. Nhƣ đã trình bày ở trên số lƣợng tần số cần thiết cho từng cell đƣợc biểu diễn bằng vector W= {W1a, W1b,... WNb/2}, do vậy ta có : ∑ = 3.3 Thuật toàn giải bài toán phân bổ tần số và ví dụ: 3.3.1 Thuât toán phân bổ tần số:  Bƣớc 1: khởi tạo - Xác định tập hợp cell C = {C1a , C1b,...,CNb/2}. - Xác định số lƣợng tần số F= { , ,…, . } - Xác định ma trận khoảng cách tần số ; - Xác định nhu cầ tần số của từng cell : W= {W1a, W1b, ..., WNb/2}; - Khởi tạo ma trậ sử dụng tần số với các phần tử ban đầu = 0;  Bƣớc 2 : Xác định cell đầu tiên để gán tần số bằng phƣơng pháp lựa chọn ngẫu nhiên.(để tối ƣu thì chọn cell mà có nhu cầu tần số lớn nhất để gán trƣớc).  Bƣớc 3 : Bắt đầu gán tần số cho cell có nhu cầu tần số ; Gán tần số cho cell : Chuyển giá trị = 0 sang =1. CHƯƠNG 3: XÂY DỰNG THUẬT TOÁN PHÂN BỔ TẦN SỐ 41 GVDH: TS. ĐỖ HỒNG TUẤN SVTH: PHẠM MINH VƢƠNG  Bƣớc 4: Theo giá trị của ma trận , kiểm tra Điều kiện ràng buộc 1 và thay đổi giá trị của = {0,−1,+1 } theo nguyên tắc xác định giá trị trình bày ở phần 2.  Bƣớc 5: Theo giá trị Wi của cell Ci kiểm tra Điều kiện ràng buộc 2 . - Nếu thoả mãn thì kết thúc gán tần số cho cell Ci chuyển sang thực hiện bƣớc tiếp. - Nếu chƣa thoả mãn quay lại thực hiện bƣớc 3, gán tần số tiếp theo cho cell ;  Bƣớc 6: Xác định cell gán tần số tiếp theo trong số những cell còn lại trừ cell : Gán tần số cho cell Ck bất kỳ: thực hiện tƣơng tự nhƣ cho cell Ci từ bƣớc 3.  Bƣớc 7: Khi tất cả các cell đã đƣợc gán tần số và xác định đƣợc ma trận sử dụng tần số thì kết thúc thuật toán. 3.3.2 Ví dụ minh hoạ : Để chứng minh thuật toán giải bài toán phân bổ tần số ta sử dụng một bài toán ví dụ nhƣ sau: Bài toán 1: Giả sử ta có một tập hợp cell C gồm 4 cell: C = {C1, C2, C3, C4}, ma trận khoảng cách tần số tƣơng ứng giữa các cell S là : S = [ ] - Nhu cầu tần số cho từng cell C1, C2, C3, C4 đƣợc biểu diễn bằng vector nhu cầu tần số là W = [1 1 1 3]. - Giả sử ta có băng tần số gồm 15 tần số: f = { f1, f2 , f3,...., f15 }. CHƯƠNG 3: XÂY DỰNG THUẬT TOÁN PHÂN BỔ TẦN SỐ 42 GVDH: TS. ĐỖ HỒNG TUẤN SVTH: PHẠM MINH VƢƠNG Yêu cầu : Dựa vào 3 tham số (C, S, W) đã cho ta phải xác định ma trận sử dụng tần số FMxN sao cho số lƣợng tần số sử dụng M′ là tối thiểu (M′ ≤ M ) đồng thời vẫn thoả mãn 2 điều kiện ràng buộc (1) và (2). Tuy nhiên cũng cần lƣu ý số lƣợng tần số hiện có M phải đủ lớn để bảo đảm thoả mãn ràng buộc về số lƣợng tần số yêu cầu cho từng cell. Để tìm ma trận FMxN trƣớc hết ta định nghĩa các giá trị của phần tử của ma trận FMxN .Ban đầu đặt = 0, sau đó khi bắt đầu thực hiện thuật toán giá trị sẽ đƣợc gán các giá trị = [0, 1, -1 ] theo nguyên tắc nhƣ đã nói ở phần trên. Kết quả thực hiện thuật toán là: Sử dụng bài toán 1 với 4 cell và 15 tần số (M=15), đặt các phần tử mi f = 0. Để chọn cell đầu trên cho việc phân bố tần số ta sử dụng phƣơng pháp hoán vị ngẫu nhiên giữa vị trí của các cell C1,C2 ,C3,C4 . Gọi σ1, σ2, σ3, σ4 là ký hiệu thứ tự các cell bắt đầu thực thuật toán. Giả sử ngẫu nhiên ta lựa chọn đƣợc thứ tự là: C3,C1,C2 ,C4 hay ta có: σ1 = C3 , σ2= C1, σ3 = C2 , σ4 = C4 , nhƣ vậy đầu tiên ta gán tần số cho C3 , tức là cột 3 của Ma trận FMxN ban đầu đƣợc xác định các phần tử f đều bằng 0. Nhƣ vậy là hoàn thành bƣớc gán tần số thứ nhất cho cell C3 và xác định các giá trị tƣơng ứng thoả mãn các điều kiện ràng buộc (1). Tiếp theo thuật toán sẽ kiểm tra số lƣợng tần số yêu cầu của cell C3 đã thoả mãn chƣa. Nếu chƣa, thuật toán sẽ tìm dọc theo cộtC3 để tìm giá trị fmi = 0 gần nhất để phân bố tần số tiếp theo cho cell C3 và lại tiếp tục các bƣớc kiểm tra xác định các giá trị fmi sau khi gán tần số thứ 2 cho cell C3 . Tuy nhiên theo đầu bài C3 chỉ có nhu cầu một tần số (W3 1) do đó việc gán thuật toán cho cell C3 hoàn thành. Tƣơng tự nhƣ vậy ta thực hiện gán tần số cho các cell còn lại và thu đƣợc kết quả giải pháp 1 theo bảng 2 . CHƯƠNG 3: XÂY DỰNG THUẬT TOÁN PHÂN BỔ TẦN SỐ 43 GVDH: TS. ĐỖ HỒNG TUẤN SVTH: PHẠM MINH VƢƠNG Qua nhiều lần chạy thuật toán với các hoán vị khác nhau kết quả thu đƣợc với các hoán vị là : C3,C1,C2 ,C4 và hoán vị C3,C1,C4 ,C2 ; C3,C4 ,C1,C2 ; C1,C2 ,C3,C4 ; C1,C3,C2 ,C4 ; C1,C3,C4 ,C2 là có kết quả giống nhau và giống nhƣ giải pháp 1 ở bảng 2. Tức là kết quả phải sử dụng là 13 tần số và phân bố nhƣ giải pháp 1. Tuy nhiên đối với các hoán vị bắt đầu bằng cell C4 nhƣ: C4 ,C1,C3,C2 ; C4 ,C1,C2 ,C3 ; C4,C1,C2 ,C3 ; C4 ,C3,C2 ,C1 là cho kết quả giống nhau theo giải pháp 2 ở bảng 2. Cho kết quả số lƣợng tần số phải sử dụng là 11 tần số. Rõ ràng là giải pháp 2 là giải pháp tối ƣu . Kết quả đƣợc ở bản 3.2 bên dƣới.  Nhận xét: Nhƣ vậy qua nhiều lần chạy thuật toán ta nhận thấy rằng nếu bắt đầu gán tần số cho cell có số lƣợng nhu cầu tần số W lớn nhất rồi tiếp theo đến các cell có số lƣợng tần số nhu cầu thấp hơn sẽ cho kết quả tối ƣu. Nhƣ vậy thuật toán thay vì phải thực hiện hoán vị ngẫu nhiên với tập hợp cell ban đầu cần thực hiện (Mx2^N) phép tính xuống chỉ còn thực hiện (MxN) phép tính là tìm đƣợc kết quả tối ƣu. CHƯƠNG 3: XÂY DỰNG THUẬT TOÁN PHÂN BỔ TẦN SỐ 44 GVDH: TS. ĐỖ HỒNG TUẤN SVTH: PHẠM MINH VƢƠNG Bảng 3.2: Kết quả sử dụng tần số theo ví dụ 1 Tần số Giải pháp 2 C1 C2 C3 C4 f1 +1 -1 -1 +1 f2 -1 -1 -1 -1 f3 -1 -1 +1 -1 f4 -1 -1 -1 -1 f5 -1 +1 -1 -1 f6 -1 -1 -1 +1 f7 -1 -1 -1 -1 f8 -1 -1 -1 -1 f9 0 -1 0 -1 f10 0 0 -1 -1 f11 0 -1 -1 +1 f12 0 0 0 -1 f13 0 0 0 -1 f14 0 0 0 -1 f15 0 0 0 -1 Tần số Giải pháp 1 C1 C2 C3 C4 f1 +1 -1 +1 -1 f2 -1 -1 -1 -1 f3 -1 -1 -1 +1 f4 -1 -1 -1 -1 f5 -1 +1 -1 -1 f6 -1 -1 0 -1 f7 -1 -1 -1 -1 f8 -1 -1 -1 +1 f9 0 -1 -1 -1 f10 0 0 0 -1 f11 0 0 0 -1 f12 0 0 -1 -1 0 0 -1 +1 f14 0 0 -1 -1 f15 0 0 0 -1 CHƯƠNG 4: MÔ PHỎNG 45 GVDH: TS. ĐỖ HỒNG TUẤN SVTH: PHẠM MINH VƢƠNG Chƣơng 4: CHƢƠNG TRÌNH MÔ PHỎNG “GÁN KÊNH TẦN SỐ CHO MẠNG THÔNG TIN DI ĐỘNG” 4.1 Giao diện ngƣời dùng, ý nghĩa các thông số: 4.1.1 Giao diện ngƣời dùng: Trên màn hình thể hiện các thông số sẽ do ngƣời dùng tự thiết lập hoặc chƣơng trình thiết lập (mặc định) và hình minh họa cách bố trí cell trên mạng lƣới. Kết quả tính toán sẽ đƣợc suất ra bên dƣới màn hình, bao gồm ma trận sử dụng tần số F, băng thông, số tần số đƣợc sử dụng. Hình 4.1: giao diện ngƣời dùng 4.1.2 Ý nghĩa các thông số:  SỐ CELLS: là tổng số lƣợng cell sẽ đƣợc tính toán phân bổ tần số. Chƣơng trình hỗ trợ cho 3 trƣờng hợp: cluster 9 cells, 12 cells và 21 cells là CHƯƠNG 4: MÔ PHỎNG 46 GVDH: TS. ĐỖ HỒNG TUẤN SVTH: PHẠM MINH VƢƠNG 3 trƣờng hợp dùng phổ biến nhất trong thực tế mạng GSM, trong 2 trƣờng hợp là sector 60o và 120o.  SỐ TẦN SỐ TỐI ĐA: là tổng số kênh tài nguyên tần số mà mạng có thể sử dụng, tối thiểu là 5 tần số. khoảng cách giữa hai tần số là ( với mạng GSM, 2 ).  VECTO NHU CẦU TẦN SỐ: là nhu cần tần số của từng cell W={W1a, W1b, ..., WNb/2}, trong đó Wix là số lƣợng kênh tần số cần thiết cho cell thứ ix. Chế độ MẶC ĐỊNH ở đây là W = {2, 2, …, 2}, tức là mỗi cell yêu cầu sử dụng 2 tần số đối với trƣờng hợp sector 120o và W = {1,1,….1} đối với trƣờng hợp sector 60o .  MA TRẬN KHOẢNG CÁCH TẦN SỐ: là ma trận chỉ khoảng cách tần số SNN tƣơng ứng giữa các cells. Phần tử Sij của ma trận là khoảng cách tần số giữa cell i và cell j. Chế độ MẶC ĐỊNH ở đây là ma trận khoảng cách tần số ứng với trƣờng hợp 2 kênh tần số liên tiếp fi và fi + 1 không đƣợc phân bố cho các cell i, j mộtcách đồng thời.  SỐ TẦN SỐ ĐƢỢC DÙNG: là số M tần số đã dùng sau khi quy hoạch  BĂNG THÔNG: là độ rộng cả băng tần đã sử dụng, BW = M.  MA TRẬN SỬ DỤNG TẦN SỐ F: là bảng sử dụng tần số FNN của các cell. Trong đó M là số lƣợng tần số sử dụng, N là số lƣợng cell  DÙNG: sử dụng tần số  K : không đƣợc sử dụng tần số  “-” : có thể sử dụng mà không làm ảnh hƣởng đến mạng 4.1.3 Sử dụng chƣơng trình:  Khởi động chƣơng trình từ phần mềm C# hoặc từ file *.exe.  Nhập các thông số đầu vào. CHƯƠNG 4: MÔ PHỎNG 47 GVDH: TS. ĐỖ HỒNG TUẤN SVTH: PHẠM MINH VƢƠNG  Chạy chƣơng trình và nhận xét kết quả. Chú ý:  Khi nhập các thông số đầu vào thiếu, sai, hoặc lỗi thì chƣơng trình sẽ thông báo lỗi và không chạy.  Quỹ tần số trong mạng GSM thƣờng là 42 kênh tần số. 4.2 Trƣờng hợp dung lƣợng phân bố đều ở các cell: 4.2.1 Mô hình 9 cell:  Sector 120o: xét bài toán với các thông số đầu vào là: W = {2, 2, 2, 2, 2, 2, 2, 2, 2}; ma trận khoảng cách tần số nhƣ mặc định. Kết quả: - số tần số đƣợc dùng là 18. - Băng thông sử dụng là 3600 KHz. CHƯƠNG 4: MÔ PHỎNG 48 GVDH: TS. ĐỖ HỒNG TUẤN SVTH: PHẠM MINH VƢƠNG Hình 4.2:mô hình 9 cell, 120 o , dung lƣợng phân bố đều Nhƣ vậy: Trong một mạng mà sử dụng mô hình cluster 9 cell, sector 120 thì với nhu cầu của mỗi cell là 2 kênh tần số, số lƣợng tần số đƣợc dùng là 18 tần số. Số lƣợng tần số nhƣ vậy là không giảm so với trƣờng hợp gán kênh tần số ngẫu nhiên, nhƣng bù lại, với việc phân bố nhƣ trên sẽ giảm đƣợc vấn đề nhiễm giữa các kênh lân cận ở mức thấp nhất theo một tiêu chuẩn cho trƣớc.  Sector 60o : xét bài toán với các thông số đầu vào nhƣ sau: W = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}; Ma trận khoảng cách tần số nhƣ mặc định. Kết quả: - Số tần số đƣợc dùng là : 10 CHƯƠNG 4: MÔ PHỎNG 49 GVDH: TS. ĐỖ HỒNG TUẤN SVTH: PHẠM MINH VƢƠNG - Băng thông sử dụng là 2000 KHz Hình 4.3:mô hình 9 cell, 60 o , dung lƣợng phân bố đều Nhƣ vậy: với cùng một mô hình cluster 9 cell, cùng 1 nhu cầu về dung lƣợng, thì rõ ràng là việc sector 60 làm giảm số lƣợng tần số xuống một cách đáng kể, từ 18 tần số phải dùng xuống chỉ còn 10 tần số phải dùng. 4.2.2 Mô hình cluster 21 cell:  Sector 120o: xét bài toán với các thông số đầu vào: W = {2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2}; Ma trận khoảng cách tần số nhƣ mặc định Kết quả: - Số tần số đƣợc dùng: 24 tần số. CHƯƠNG 4: MÔ PHỎNG 50 GVDH: TS. ĐỖ HỒNG TUẤN SVTH: PHẠM MINH VƢƠNG - Băng thông sử dụng: 4800 KHz Hình 4.4:mô hình 12 cell, 120 o , dung lƣợng phân bố đều  Sector 60o: xét bài toán với dung lƣợng phân bố đều trong mạng: W = {1, 1, . . . 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},ma trận khoảng cách tần số là mặc định. Kết quả: - Số tần số đƣợc dùng là 10 tần số. - Băng thông là 2000 KHz CHƯƠNG 4: MÔ PHỎNG 51 GVDH: TS. ĐỖ HỒNG TUẤN SVTH: PHẠM MINH VƢƠNG Hình 4.5:mô hình 12 cell, 60 o , dung lƣợng phân bố đều  Nhận xét:  Số lƣợng tần số và băng thông giảm đi rõ rệt so với trƣờng hợp sử dụng phƣơng pháp ấn định tần số nhƣ phần lý thuyêt.  Với cùng điều kiện về khoảng cách tần số, khi thực hiện sector 60 o thì kết quả số lƣợng tần số cũng nhƣ băng thông phải dùng giảm đi nhiều so với trƣờng hợp sector 120o và khi không chia sector. 4.3 Trƣờng hợp dung lƣợng tăng cục bộ ở 1 vùng nhất định trong cluster: 4.3.1 Mô hình cluster 9 cell:  Trƣờng hợp sector 120o : Xét bài toán với các thông số đầu vào nhƣ sau: CHƯƠNG 4: MÔ PHỎNG 52 GVDH: TS. ĐỖ HỒNG TUẤN SVTH: PHẠM MINH VƢƠNG W = {2, 2, 2, 2, 2, 2, 2, 5, 2}; ma trận khoảng cách tần số là mặc định. Kết quả: - Số tần số đƣợc dùng: 28 - Băng thông sử dụng: 5600 KHz Hình 4.6:mô hình 9 cell, 120 o , dung lƣợng phân bố không đều Trong bài toán trên, với giả sử là nhu cầu về dung lƣợng ở 1 cell thứ 4b tăng đột biến, nên số tần số phải dùng ở cell này là 5 tần số, trong khi những cell khác chỉ cần 2 tần số là đủ. Khi đó ta thấy số lƣợng tần số phải tăng lên 1 cách rất đáng kể.  Trƣờng hợp sector 60o : xét bài toàn nhƣ trên với các thông số: CHƯƠNG 4: MÔ PHỎNG 53 GVDH: TS. ĐỖ HỒNG TUẤN SVTH: PHẠM MINH VƢƠNG W={1,1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 5, 1, 1} , ma trận khoảng cách tần số vẫn nhƣ cũ. Kết quả: - Số tần số đƣợc dùng là : 23 - Băng thông cần dùng: 4600 KHz Hình 4.7:mô hình 9 cell, 60 o , dung lƣợng phân bố không đều Nhƣ vậy: Rõ ràng khi chia nhỏ sector từ 120o thành 60o thì số lƣợng tần số phải dùng giảm đáng kể. Ta thấy phƣơng pháp chia nhỏ sector sẽ là 1 phƣơng án hữu hiệu để giải quyết vấn đề tài nguyên tần số trong trƣờng hợp dung lƣợng tăng đột biến ở 1 hay một số vị trí cell nào đó. CHƯƠNG 4: MÔ PHỎNG 54 GVDH: TS. ĐỖ HỒNG TUẤN SVTH: PHẠM MINH VƢƠNG 4.3.2 Mô hình cluster 21 cell:  Trƣờng hợp sector 120o : xét bài toán với các thông số: W = {2, 2, 5, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2}; ma trận khoảng cách tần số nhƣ mặc định. Kết quả: - Số tần số đƣợc dùng: 28 - Băng thông đƣợc dùng là: 5600 Khz Hình 4.8:mô hình 21cell, 120 o , dung lƣợng phân bố không đều CHƯƠNG 4: MÔ PHỎNG 55 GVDH: TS. ĐỖ HỒNG TUẤN SVTH: PHẠM MINH VƢƠNG  Trƣờng hợp sector 60o : xét bài toán với các thông số: dung lƣợng của mỗi cell tăng không đều nhau, cell 3a, 3b có dung lƣợng tăng đột biến so với các cell khác trong mô hình. W = { 1, 1, 1, 1, 5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}; ma trận khoảng cách tần số nhƣ mặc định. Kết quả: - Số tần số đƣợc dùng: 23 - Băng thông đƣợc dùng là: 4600 Khz Hình 4.6:mô hình 21 cell, 60 o , dung lƣợng phân bố không đều Nhận xét: CHƯƠNG 4: MÔ PHỎNG 56 GVDH: TS. ĐỖ HỒNG TUẤN SVTH: PHẠM MINH VƢƠNG - Khi dung lƣợng tăng lên cục bộ thì việc sector 60o cũng làm cho số tần số sử dụng giảm đáng kể với cùng 1 khoảng cách tần số nhƣ trong trƣờng hợp sector 120o . - Từ đó ta thấy phƣơng pháp chia nhỏ sector cho thấy việc giảm số tần số rõ rệt với cùng một nhu cầu dung lƣợng nhƣ nhau, qua đó tiết kiệm đƣợc tài nguyên tần số. CHƯƠNG 5: KẾT LUẬN 57 GVDH: TS. ĐỖ HỒNG TUẤN SVTH: PHẠM MINH VƢƠNG Chƣơng 5: KẾT LUẬN VÀ HƢỚNG PHÁ TRIỂN CỦA ĐỀ TÀI: 5.1 kết luận:  Nhƣ đã nói ở phần trƣớc, nhu cầu phát triển số thuê bao trong mạng GSM nhanh chóng trong khi băng tần GSM là một tài nguyên có giới hạn. Bài toán đặt ra cho các nhà quy hoạch mạng là phải sử dụng lại tần số đã đƣợc sử dụng ở nơi khác với khoảng cách an toàn sao cho không xảy ra nhiễu.  Mô hình phƣơng pháp phân bố tần số em đƣa đƣa ra trên đây đã dựa trên hai phƣơng pháp tiếp cận mới :  Thứ nhất : Việc phân bố tần số dựa trên việc xác định và đánh giá khả năng nhiễu xẩy ra trên mạng lƣới bằng phƣơng pháp đo hoặc phƣơng pháp mô phỏng từ đó xây dựng ma trận khoảng cách tần số giữa các cell. Ma trận khoảng cách tần số giữa các cell bảo đảm việc phân bố tần số loại trừ đƣợc khả năng nhiễu xảy ra giữa các cell.  Thứ hai : Trên cơ sở số lƣợng tần số cần thiết thực tế cho từng cell, thuật toán sẽ tìm phƣơng pháp phân bố tần số với số lƣợng tần số sử dụng là ít nhất và do đó nâng cao đƣợc hiệu quả sử dụng băng tần số . - Do đó, khả năng sử dụng lại tần số là tƣơng đối tối ƣu, đảm bảo vấn đề tăng dung lƣợng nhƣng vẫn bảo đảm chất lƣợng dịch vụ. Qua từng bƣớc thực hiện cụ thể của chƣơng trình “ GÁN KÊNH TẦN SỐ CHO MẠNG THÔNG TIN DI ĐỘNG” cho kết quả tối ƣu về việc phân bổ tần số trong các mô hình cluster 9cell, 12cell và 21cell trong 2 trƣờng hợp anten sector 120 o và 60 o. Nhƣ vậy có thể nói nhiệm vụ của Luận văn đã thực hiện xong, ở đây em muốn đƣa ra nhựng đánh giá cụ thể về chƣơng trình:  Chƣơng trình”GÁN KÊNH TẦN SỐ CHO MẠNG THÔNG TIN DI ĐỘNG” đƣa ra kết quả tính toán tối ƣu về việc sử dụng nguồn tài nguyên tần số. Ở đây, các tần số đƣợc phân bổ trên từng cell không những thỏa mãn nhu cầu về dung lƣợng, mà còn CHƯƠNG 5: KẾT LUẬN 58 GVDH: TS. ĐỖ HỒNG TUẤN SVTH: PHẠM MINH VƢƠNG đảm bảo các khoảng cách an toàn về tần số để tránh can nhiễu đồng kênh và can nhiễu kênh lân cận. Đó là yêu cầu bắt buộc trong quá trình quy hoạch và tái quy hoạch mạng.  Chƣơng trình “GÁN KÊNH TẦN SỐ CHO MẠNG THÔNG TIN DI ĐỘNG”tƣơng đối dễ sử dụng. Ngƣời dùng có thể chọn chế độ MẶC ĐỊNH để làm quen ban đầu với chƣơng trình, hoặc tùy chỉnh lại các thông số theo ý riêng của mình. Hình minh họa cho từng trƣờng hợp giúp ngƣời dùng có thể hình dung dễ dàng cách bố trí từng cell trên mạng. Kết quả hiển thị tƣơng đối nhanh, chính xác và rõ ràng. Với những chức năng hiện tại, các chƣơng trình phần nào giải quyết đƣợc những yêu cầu cơ bản về phân bổ tần số cho quá trình quy hoạch mạng.  Chƣơng trình đƣợc viết bằng ngôn ngữ C#,có thể tự chạy trên nền Window mà không cần chƣơng trình biên dịch, do đó có khả năng thƣơng mại rất cao nếu đƣợc đầu tƣ nâng cấp những hạn chế. Nếu đƣợc cung cấp đủ dữ liệu và thời gian phát triển, em tin có thể xây dựng chƣơng trình này thành ứng dụng mạnh và hiệu quả, đáp ứng nhu cầu thực tế  Qua kết quả mô phỏng ở trên, ta thấy đƣợc việc chia nhỏ sector là một phƣơng pháp khá tốt để giải quyết bài toán tiết kiệm băng thông tần số, tăng dung lƣợng phục vụ và góp phần giảm nhiễu xuyên kênh. Việc chia sector 60 làm cho số lƣợng tần số phải dùng giảm đi một cách rất đáng kể, qua đó tiết kiệm đƣợc băng tần phải sử dụng, nâng cao hiệu quả sử dụng băng tần số, hạn chế vấn đề nhiễu xuyên kênh và kênh lân cận. Tuy nhiên, việc chia sector sẽ làm cho thuê bao đang đi chuyển hoạt động liên tục chuyển từ cell này qua cell khác, làm cho quá trình xử lí chuyển vùng gặp khó khăn. Hơn nữa, chi phí cho các thiết bị cũng tăng lên khi thực hiện việc sector. CHƯƠNG 5: KẾT LUẬN 59 GVDH: TS. ĐỖ HỒNG TUẤN SVTH: PHẠM MINH VƢƠNG 5.2 Hƣớng phát triển: - Với khả năng lập trình còn hạn hẹp, kiến thức chƣa sâu nên em biết rằng chƣơng trình “CHƢƠNG TRÌNH PHÂN BỔ TẦN SỐ CHO MẠNG GSM” cần phải có sự cải thiện và phát triển hơn nữa mới mang nhiều ý nghĩa và thực sự có giá trị sử dụng. Các khuyết điểm của chƣơng trình cũng nhƣ nhƣ rất nhiều ý tƣởng mà em chƣa đủ thời gian và khả năng để cải thiện và thực hiện. Em hi vọng có thể phát triển chƣơng trình này trong tƣơng lai với một số hƣớng phát triển và cải thiện mà em rút ra đƣợc trong quá trình thực hiện:  Chƣơng trình nên tăng tính tƣơng thích cho ngƣời sử dụng bằng cách sử dụng thêm tính năng đồ họa để import từ bản đồ thực tế của các cell. Ngƣời dùng có thể click và chọn trực tiếp các thông số từ bản đồ mạng thay vì nhập bằng bảng ma trận nhƣ trên. Kết quả xuất ra đồng thời ma trận phân bố và các thông số của từng cell. Ngƣời dùng khi qua tâm đến cell nào có thể chọn trực tiếp cell đó và lấy kết quả  Cơ sở phát triển của chƣơng trình trên là dựa trên việc chia anten sector 120 o và 60 o, do đó việc dùng lại tần số bị hạn chế do nhiễu xuyên kênh nhiều. Nếu sử dụng anten sector 30 o thì hiệu quả sử dụng tần số sẽ cao hơn nhƣng quá trình tính toán lại phức tạp hơn.  Chƣơng trình nên cho chế độ tuỳ chọn số lƣợng cell thay vì chỉ mặc định là 9cells, 12cells, 21cells vì tuy 3 mô hình trên là phổ biến và dùng nhiều, nhƣng cũng có khi nhà quy hoạch mạng có thể sử dụng các mô hình khác tuỳ vào điều kiện thực tế. chƣơng trình nên cho phép tùy nhập CHƯƠNG 5: KẾT LUẬN 60 GVDH: TS. ĐỖ HỒNG TUẤN SVTH: PHẠM MINH VƢƠNG số lƣợng cell tác động cũng nhƣ vị trí từng cell trong bản đồ thực.  Việc lựa chọn dải tần số trong chƣơng trình là 1 dải tần liên tục. Thực tế tài nguyên tần số có thể trên các dãy tần khác nhau. Do đó chƣơng trình nên có thêm chức năng nhập vào từng dãy tần số không liên tục thì khả năng ứng dụng cao hơn. Với những hạn chế trên, hi vọng trong trƣơng lai em sẽ có cơ hội khắc phục và phát triển phần nào chƣơng trình, mang lại giá trị ứng dụng thực tế cho nó. GVDH: TS. ĐỖ HỒNG TUẤN SVTH: PHẠM MINH VƢƠNG Phụ lục: 1. Tài liệu tham khảo: [1] Jukka Lempiainen,Matti Manninen : “Radio Interface System Planning for Gsm/Gprs/Umts”, chƣơng 1,2,4,5. [2]Nguyễn Tuấn Anh, Dƣơng Văn Trọng : LVTN “Tái Quy Hoạch Mạng” , tháng 7/2009 [3] Nguyễn Mạnh Hùng :“Xây dựng thuật toán phân bố tần số trong qui hoạch mạng thông tin di động GSM”, Tạp chí bƣu chính viễn thông số 243. [4] Vũ Đức Thọ, “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 1999., chƣơng 3. 2. Code thực hiện chƣơng trình: 3. using System; 4. using System.Collections.Generic; 5. using System.ComponentModel; 6. using System.Data; 7. using System.Drawing; 8. using System.Text; 9. using System.Windows.Forms; 10. using Thesis; 11. 12. namespace Thesis 13. { 14. public partial class Channel_Assighnment : Form 15. { 16. private Balloons.BalloonToolTip balError = new Balloons.BalloonToolTip(); 17. public Channel_Assighnment() 18. { 19. balError.TipText = " "; GVDH: TS. ĐỖ HỒNG TUẤN SVTH: PHẠM MINH VƢƠNG 20. balError.Icon = Balloons.BalloonToolTip.TooltipIcon.Error; 21. balError.VisibleTime = 2000; 22. InitializeComponent(); 23. } 24. 25. private bool CheckData() 26. { 27. bool ketqua = false; 28. if (Ndata.Text == "") 29. { 30. balError.Title = "NHẬP VÀO N"; 31. balError.CreateToolTip(Ndata.Handle.ToInt32()); 32. balError.Show(Balloons.BalloonToolTip.BalloonAlignment.BottomMiddle) ; 33. Ndata.Focus(); 34. return ketqua; 35. } 36. if (MMax.Text == "") 37. { 38. balError.Title = "NHẬP QUỸ TẦN SỐ"; 39. balError.CreateToolTip(MMax.Handle.ToInt32()); 40. balError.Show(Balloons.BalloonToolTip.BalloonAlignment.BottomMiddle) ; 41. MMax.Focus(); 42. return ketqua; 43. } 44. ketqua = true; 45. return ketqua; 46. } 47. // chương trình tính toán: 48. private void Caculate_Click(object sender, EventArgs e) 49. { 50. bool ketqua = CheckData(); 51. if (ketqua == false) 52. return; 53. dgvF.Rows.Clear(); 54. int N; 55. if (Ndata.Text == "9ab") N = 18; 56. else if (Ndata.Text == "12ab") N = 24; GVDH: TS. ĐỖ HỒNG TUẤN SVTH: PHẠM MINH VƢƠNG 57. else if (Ndata.Text == "9") N = 9; 58. else if (Ndata.Text == "12") N = 12; 59. else if (Ndata.Text == "21") N = 21; 60. else N = 42; 61. int k, l, i, j, M, count, max_w; 62. Boolean Done = false; 63. int[] Matrix_C = new int[N]; 64. int[,] Matrix_S = new int[N, N]; 65. int[] Matrix_W = new int[N]; 66. 67. for (i = 0; i < N; i++) 68. { 69. Matrix_W[i] = int.Parse(dgvW.Rows[0].Cells[i].Value.ToString()); 70. } 71. 72. for (i = 0; i < N; i++) 73. for (j = 0; j < N; j++) 74. { 75. Matrix_S[i, j] = int.Parse(dgvS.Rows[i].Cells[j].Value.ToString()); 76. } 77. 78. for (i = 0; i < N; i++) 79. Matrix_C[i] = 0; 80. 81. M = int.Parse(MMax.Text); 82. 83. string[,] Matrix_F = new string[M, N]; 84. 85. for (i = 0; i < N; i++) 86. for (j = 0; j < M; j++) 87. Matrix_F[j, i] = "-"; 88. 89. while (!Done) 90. { 91. max_w = 0; 92. k = -1; 93. for (i = 0; i < N; i++) 94. if (Matrix_C[i] == 0) 95. { 96. if (Matrix_W[i] >= max_w) 97. { 98. k = i; GVDH: TS. ĐỖ HỒNG TUẤN SVTH: PHẠM MINH VƢƠNG 99. max_w = Matrix_W[i]; 100. } 101. } 102. if (k > -1) 103. { 104. count = 0; 105. while (count < Matrix_W[k]) 106. { 107. for (l = 0; l < M; l++) 108. if (Matrix_F[l, k] == "-") 109. break; 110. if(l<M) 111. Matrix_F[l, k] = "DÙNG"; 112. for (i = 0; i < N; i++) 113. if ((Matrix_C[i] == 0) && (i != k)) 114. for (j = 0; j < M; j++) 115. if (Math.Abs(j - l) < Matrix_S[i, k]) 116. Matrix_F[j, i] = "K"; 117. for (i = l + 1; i < (l + Matrix_S[k, k]); i++) 118. if (i<M) 119. Matrix_F[i, k] = "K"; 120. count += 1; 121. } 122. Matrix_C[k] = 1; 123. } 124. else 125. Done = true; 126. } 127. 128. int max=1; 129. l = 1; count = 1; 130. for (j = 0; j < N; j++) 131. { 132. k = 0; 133. for (i = 0; i < M; i++) 134. { 135. if (Matrix_F[i, j] == "DÙNG") 136. { 137. k += 1; 138. count = i+1; 139. } 140. } GVDH: TS. ĐỖ HỒNG TUẤN SVTH: PHẠM MINH VƢƠNG 141. if (k != Matrix_W[j]) 142. l = 0; 143. if (max < count) 144. max = count; 145. } 146. if (l == 0) 147. { 148. MUse.Text = "THÔNG SỐ NHẬP KHÔNG HỢP LỆ"; 149. Bandwidth.Text = "THÔNG SỐ NHẬP KHÔNG HỢP LỆ"; 150. } 151. else 152. { 153. MUse.Text = max.ToString(); 154. max = max * 200; 155. Bandwidth.Text = max.ToString(); 156. } 157. 158. for (j = 0; j < M; j++) 159. { 160. string[] currentColumn = new string[N+1]; 161. currentColumn[0] = "F " + (j+1).ToString(); 162. for (i = 0; i < N; i++) 163. currentColumn[i+1] = Matrix_F[j, i]; 164. dgvF.Rows.Add(currentColumn); 165. } 166. } 167. // các thông số mặc định: 168. private void WDefault_Click(object sender, EventArgs e) 169. { 170. dgvW.Rows.Clear(); 171. if (Ndata.Text == "9ab") 172. { 173. dgvW.Rows.Add(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1); 174. } 175. else if (Ndata.Text == "12ab") 176. { 177. dgvW.Rows.Add(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1); 178. } 179. else if (Ndata.Text == "21ab") 180. { GVDH: TS. ĐỖ HỒNG TUẤN SVTH: PHẠM MINH VƢƠNG 181. dgvW.Rows.Add(1,1,1,1,1,1,… ,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1); 182. } 183. else if (Ndata.Text == "9") 184. { 185. dgvW.Rows.Add(2, 2, 2, 2, 2, 2, 2, 2, 2); 186. } 187. else if (Ndata.Text == "12") 188. { 189. dgvW.Rows.Add(2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2); 190. } 191. else if (Ndata.Text == "21") 192. { 193. dgvW.Rows.Add(2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2); 194. } 195. } 196. 197. 198. 199. 200. private void macdinh_Click(object sender, EventArgs e) 201. { 202. dgvS.Rows.Clear(); 203. if (Ndata.Text == "9ab") 204. { 205. dgvS.Rows.Add(5,2,1,1,0,1,1,0,0,0,0,0,1,2,0,0,0,0); 206. dgvS.Rows.Add(2,5,0,1,0,0,2,1,0,0,0,0,1,1,0,0,0,0); 207. dgvS.Rows.Add(0,0,5,2,0,0,0,2,1,0,2,1,2,1,1,2,0,0); 208. dgvS.Rows.Add(0,0,2,5,0,0,1,2,2,1,1,0,1,0,1,0,0,0); 209. dgvS.Rows.Add(0,0,0,0,5,2,0,0,0,0,1,0,0,1,0,0,1,2); 210. dgvS.Rows.Add(1,0,0,0,2,5,0,0,0,0,2,1,1,2,0,0,1,0); 211. dgvS.Rows.Add(1,2,0,1,0,0,5,2,0,0,0,0,1,0,0,0,0,0); GVDH: TS. ĐỖ HỒNG TUẤN SVTH: PHẠM MINH VƢƠNG 212. dgvS.Rows.Add(0,1,1,2,0,0,2,5,1,0,1,0,2,1,0,0,0,0); 213. dgvS.Rows.Add(0,0,1,2,0,0,0,1,5,2,0,0,0,0,1,0,0,0); 214. dgvS.Rows.Add(0,0,1,0,0,0,0,0,2,5,0,0,0,0,2,1,0,0); 215. dgvS.Rows.Add(0,0,2,1,1,2,0,1,0,0,5,2,2,1,2,1,1,0); 216. dgvS.Rows.Add(0,0,1,0,0,1,0,0,0,0,2,5,1,0,1,2,2,1); 217. dgvS.Rows.Add(1,0,2,1,0,1,1,2,0,0,2,0,5,2,0,0,0,0); 218. dgvS.Rows.Add(2,1,1,0,1,2,0,1,0,0,1,0,2,5,0,0,0,0); 219. dgvS.Rows.Add(0,0,0,0,0,0,0,0,1,2,0,1,0,0,5,2,0,0); 220. dgvS.Rows.Add(0,0,2,1,0,0,0,0,0,1,1,2,1,0,2,5,1,0); 221. dgvS.Rows.Add(0,0,0,0,1,0,0,0,0,0,1,2,0,0,0,1,5,2); 222. dgvS.Rows.Add(0,0,0,0,2,1,0,0,0,0,0,1,0,0,0,0,2,5); 223. 224. } 225. else if (Ndata.Text == "12ab") 226. { 227. dgvS.Rows.Add(5,2,0,0,0,0,0,1,1,0,0,0,0,0,0,0,2,1,0,0,0,0,0,0); 228. dgvS.Rows.Add(2,5,0,0,0,0,0,0,2,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0); 229. dgvS.Rows.Add(0,0,5,2,0,0,0,0,0,1,1,0,0,0,2,1,1,2,2,1,0,0,0,0); 230. dgvS.Rows.Add(0,0,2,5,0,0,0,0,1,2,2,1,0,0,1,0,0,1,1,0,0,0,0,0); 231. dgvS.Rows.Add(0,0,0,0,5,2,0,0,0,0,0,0,1,0,0,1,0,0,1,0,2,1,1,2); 232. dgvS.Rows.Add(0,0,1,0,2,5,0,0,0,0,0,0,2,1,1,2,0,0,2,1,1,0,0,1); 233. dgvS.Rows.Add(0,0,0,0,0,0,5,2,0,0,0,0,0,0,1,0,1,0,0,0,0,0,2,1); 234. dgvS.Rows.Add(1,0,1,0,0,0,2,5,0,0,0,0,0,0,2,1,2,1,0,0,0,0,1,0); GVDH: TS. ĐỖ HỒNG TUẤN SVTH: PHẠM MINH VƢƠNG 235. dgvS.Rows.Add(1,2,1,1,0,0,0,0,5,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0); 236. dgvS.Rows.Add(0,1,1,2,0,0,0,0,2,5,0,0,0,0,1,0,1,2,0,0,0,0,0,0); 237. dgvS.Rows.Add(0,0,1,2,0,0,0,0,0,1,5,2,0,0,0,0,0,0,0,1,0,0,0,0); 238. dgvS.Rows.Add(0,0,0,1,0,0,0,0,0,0,2,5,1,0,0,0,0,0,0,1,0,0,0,0); 239. dgvS.Rows.Add(0,0,0,0,1,2,0,0,0,0,0,0,5,2,0,1,0,0,1,2,0,1,0,0); 240. dgvS.Rows.Add(0,0,0,0,0,1,0,0,0,0,0,0,2,5,0,0,0,0,0,1,1,2,0,0); 241. dgvS.Rows.Add(0,0,2,1,0,1,1,2,0,1,0,0,0,0,5,2,1,2,1,0,0,0,0,1); 242. dgvS.Rows.Add(0,0,1,0,1,2,0,1,0,0,0,0,1,0,2,5,0,1,2,1,0,0,1,2); 243. dgvS.Rows.Add(2,1,1,0,0,0,1,2,0,1,0,0,0,0,1,0,5,2,0,0,0,0,0,0); 244. dgvS.Rows.Add(1,0,2,1,0,0,0,1,1,2,0,0,0,0,2,1,2,5,1,0,0,0,0,0); 245. dgvS.Rows.Add(0,0,1,2,1,2,0,0,0,0,0,1,1,0,1,2,0,1,5,2,0,0,0,0); 246. dgvS.Rows.Add(0,0,1,0,0,1,0,0,0,0,1,2,2,1,0,1,0,0,2,5,0,0,0,0); 247. dgvS.Rows.Add(0,0,0,0,2,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,5,2,0,1); 248. dgvS.Rows.Add(0,0,0,0,1,0,0,0,0,0,0,0,1,2,0,0,0,0,0,0,2,5,0,0); 249. dgvS.Rows.Add(0,0,0,0,1,0,2,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,5,2); 250. dgvS.Rows.Add(0,0,0,0,2,1,1,0,0,0,0,0,0,0,1,2,0,0,1,0,1,0,2,5); 251. } 252. else if (Ndata.Text == "21ab") 253. { 254. dgvS.Rows.Add(5,2,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,0,0 ,0,0,0,0,0,0,0,0,0,0); 255. dgvS.Rows.Add(2,5,1,0,0,0,0,0,0,0,0,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 ,0,0,0,0,0,0,0,0,0,0); 256. dgvS.Rows.Add(0,1,5,2,0,0,0,0,0,0,0,0,0,1,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1 ,0,0,0,0,0,0,0,0,0,0); GVDH: TS. ĐỖ HỒNG TUẤN SVTH: PHẠM MINH VƢƠNG 257. dgvS.Rows.Add(0,0,2,5,0,0,0,0,0,0,0,0,0,0,1,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0 ,0,0,0,0,0,0,0,0,0,0); 258. dgvS.Rows.Add(0,0,0,0,5,2,0,1,0,0,0,0,0,1,0,0,0,1,1,0,0,0,0,0,0,0,2,1,0,0,1,2 ,2,1,0,0,0,0,0,0,0,0); 259. dgvS.Rows.Add(0,0,0,0,2,5,0,0,0,0,0,0,0,0,0,0,1,2,2,1,0,0,0,0,0,0,1,0,0,0,0,1 ,1,0,0,0,0,0,0,0,0,0); 260. dgvS.Rows.Add(0,0,0,0,0,0,5,2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,2,1,0,0,0,1,0,0,0,0 ,1,0,2,1,0,0,0,0,2,1); 261. dgvS.Rows.Add(0,0,0,0,1,0,2,5,0,0,0,0,0,0,0,0,0,0,0,0,2,1,1,0,0,0,1,2,0,0,0,0 ,0,0,0,1,0,0,0,0,0,1); 262. dgvS.Rows.Add(0,0,0,0,0,0,0,0,5,2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0 ,0,0,0,0,2,1,1,2,1,0); 263. dgvS.Rows.Add(0,0,0,0,0,0,1,0,2,5,0,0,1,0,0,0,0,0,0,0,0,0,2,1,1,2,0,0,0,0,0,0 ,0,0,0,0,1,0,0,1,2,1); 264. dgvS.Rows.Add(0,0,0,0,0,0,0,0,0,0,5,2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0 ,0,0,0,0,0,0,2,1,0,0); 265. dgvS.Rows.Add(1,0,0,0,0,0,0,0,0,0,2,5,1,0,0,0,0,0,0,0,0,0,0,0,2,1,0,0,2,1,0,0 ,0,0,0,0,0,0,1,0,0,0); 266. dgvS.Rows.Add(0,0,0,0,0,0,0,0,0,1,0,1,5,2,0,1,0,0,0,0,0,0,0,0,2,1,1,0,1,2,1,0 ,0,0,0,0,0,0,0,0,2,1); 267. dgvS.Rows.Add(0,0,1,0,0,0,0,0,0,0,0,0,2,5,1,2,0,0,0,0,0,0,0,0,1,0,2,1,0,1,2,1 ,0,0,0,0,0,0,0,0,1,0); 268. dgvS.Rows.Add(1,2,2,1,0,0,0,0,0,0,0,0,0,1,5,2,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0 ,0,0,0,0,0,0,0,0,0,0); 269. dgvS.Rows.Add(0,1,1,0,0,0,0,0,0,0,0,0,1,2,2,5,0,0,0,0,0,0,0,0,1,0,1,0,0,1,2,1 ,0,0,0,0,0,0,0,0,0,0); 270. dgvS.Rows.Add(0,0,1,2,0,1,0,0,0,0,0,0,0,0,1,0,5,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1 ,0,0,0,0,0,0,0,0,0,0); 271. dgvS.Rows.Add(0,0,0,1,1,2,0,0,0,0,0,0,0,0,0,0,2,5,1,0,0,0,0,0,0,0,1,0,0,0,1,2 ,0,0,0,0,0,0,0,0,0,0); 272. dgvS.Rows.Add(0,0,0,0,1,2,0,0,0,0,0,0,0,0,0,0,0,1,5,2,0,0,0,0,0,0,0,0,0,0,0,0 ,0,1,0,0,0,0,0,0,0,0); GVDH: TS. ĐỖ HỒNG TUẤN SVTH: PHẠM MINH VƢƠNG 273. dgvS.Rows.Add(0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,5,1,0,0,0,0,0,0,0,0,0,0,0 ,1,2,0,0,0,0,0,0,0,0); 274. dgvS.Rows.Add(0,0,0,0,0,0,1,2,0,0,0,0,0,0,0,0,0,0,0,1,5,2,0,0,0,0,0,1,0,0,0,0 ,1,2,0,1,0,0,0,0,0,0); 275. dgvS.Rows.Add(0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,5,0,0,0,0,0,0,0,0,0,0 ,0,1,2,1,0,0,0,0,0,0); 276. dgvS.Rows.Add(0,0,0,0,0,0,2,1,1,2,0,0,0,0,0,0,0,0,0,0,0,0,5,2,0,1,0,1,0,0,0,0 ,0,0,0,1,0,1,0,0,1,2); 277. dgvS.Rows.Add(0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,5,0,0,0,0,0,0,0,0 ,0,0,1,2,1,2,0,0,0,1); 278. dgvS.Rows.Add(0,0,0,0,0,0,0,0,0,1,1,2,2,1,0,1,0,0,0,0,0,0,0,0,5,2,1,0,1,2,0,0 ,0,0,0,0,0,0,0,1,1,0); 279. dgvS.Rows.Add(0,0,0,0,0,0,0,0,1,2,0,1,1,0,0,0,0,0,0,0,0,0,1,0,2,5,0,0,0,1,0,0 ,0,0,0,0,0,0,1,2,2,1); 280. dgvS.Rows.Add(0,0,0,0,2,1,0,1,0,0,0,0,1,2,0,1,0,1,0,0,0,0,0,0,0,0,5,2,0,0,1,2 ,1,0,0,0,0,0,0,0,0,1); 281. dgvS.Rows.Add(0,0,0,0,1,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,1,0,1,0,0,0,2,5,0,0,0,1 ,2,1,0,0,0,0,0,0,1,2); 282. dgvS.Rows.Add(2,1,0,0,0,0,0,0,0,0,1,2,1,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,5,2,0,0 ,0,0,0,0,0,0,0,0,0,0); 283. dgvS.Rows.Add(1,0,0,0,0,0,0,0,0,0,0,1,2,1,1,2,0,0,0,0,0,0,0,0,2,1,0,0,2,5,0,0 ,0,0,0,0,0,0,0,0,1,0); 284. dgvS.Rows.Add(0,0,2,1,1,0,0,0,0,0,0,0,1,2,1,2,0,1,0,0,0,0,0,0,0,0,2,1,0,1,5,2 ,0,0,0,0,0,0,0,0,0,0); 285. dgvS.Rows.Add(0,0,1,0,2,1,0,0,0,0,0,0,0,1,0,1,1,2,0,0,0,0,0,0,0,0,2,1,0,0,2,5 ,1,0,0,0,0,0,0,0,0,0); 286. dgvS.Rows.Add(0,0,0,0,2,1,1,2,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,2,0,0,0,1 ,5,2,0,0,0,0,0,0,0,1); 287. dgvS.Rows.Add(0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,1,2,2,1,0,0,0,0,0,1,0,0,0,0 ,2,5,0,0,0,0,0,0,0,0); 288. dgvS.Rows.Add(0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,0,1,0,0,0,0,0,0,0,0 ,0,0,5,2,0,0,0,0,0,0); GVDH: TS. ĐỖ HỒNG TUẤN SVTH: PHẠM MINH VƢƠNG 289. dgvS.Rows.Add(0,0,0,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,2,0,0,0,0,0,0,0,0 ,0,0,2,5,0,1,0,0,0,1); 290. dgvS.Rows.Add(0,0,0,0,0,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 ,0,0,0,0,5,2,0,1,0,0); 291. dgvS.Rows.Add(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,0,0,0,0,0,0,0,0 ,0,0,0,1,2,5,0,0,0,0); 292. dgvS.Rows.Add(0,0,0,0,0,0,0,0,1,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 ,0,0,0,0,0,0,5,2,0,0); 293. dgvS.Rows.Add(0,0,0,0,0,0,0,0,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,0,0,0,0,0,0 ,0,0,0,0,1,0,2,5,1,0); 294. dgvS.Rows.Add(0,0,0,0,0,0,1,0,1,2,0,0,2,1,0,0,0,0,0,0,0,0,1,0,1,2,0,1,0,0,0,0 ,0,0,0,0,0,0,0,1,5,2); 295. dgvS.Rows.Add(0,0,0,0,0,0,2,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,2,1,0,1,1,2,0,0,0,0 ,1,0,0,1,0,0,0,0,2,5); 296. 297. } 298. else if (Ndata.Text == "9") 299. { 300. dgvS.Rows.Add(5, 1, 1, 2, 0, 1, 2, 0, 0); 301. dgvS.Rows.Add(1, 5, 1, 2, 2, 2, 2, 2, 1); 302. dgvS.Rows.Add(1, 1, 5, 1, 0, 2, 2, 1, 2); 303. dgvS.Rows.Add(2, 2, 1, 5, 1, 1, 2, 1, 0); 304. dgvS.Rows.Add(0, 2, 0, 1, 5, 1, 1, 2, 0); 305. dgvS.Rows.Add(1, 2, 2, 1, 1, 5, 2, 2, 2); 306. dgvS.Rows.Add(2, 2, 2, 2, 1, 2, 5, 1, 1); 307. dgvS.Rows.Add(0, 2, 1, 1, 2, 2, 1, 5, 1); 308. dgvS.Rows.Add(0, 1, 2, 0, 0, 2, 1, 1, 5); GVDH: TS. ĐỖ HỒNG TUẤN SVTH: PHẠM MINH VƢƠNG 309. } 310. else if (Ndata.Text == "12") 311. { 312. dgvS.Rows.Add(5,1,0,1,2,0,0,1,2,0,0,0); 313. dgvS.Rows.Add(1,5,1,1,2,2,1,2,2,2,0,1); 314. dgvS.Rows.Add(0,1,5,1,0,1,2,2,1,2,2,2); 315. dgvS.Rows.Add(1,1,1,5,1,0,0,2,2,1,1,2); 316. dgvS.Rows.Add(2,2,0,1,5,1,0,1,2,1,0,0); 317. dgvS.Rows.Add(0,2,1,0,1,5,1,1,0,2,1,0); 318. dgvS.Rows.Add(0,1,2,0,0,1,5,1,0,2,2,1); 319. dgvS.Rows.Add(1,2,2,2,1,1,1,5,2,2,1,2); 320. dgvS.Rows.Add(2,2,1,2,2,0,0,2,5,1,0,1); 321. dgvS.Rows.Add(0,2,2,1,1,2,2,2,1,5,1,1); 322. dgvS.Rows.Add(0,0,2,1,0,1,2,1,0,1,5,1); 323. dgvS.Rows.Add(0,1,2,2,0,0,1,2,1,1,1,5); 324. } 325. else if (Ndata.Text == "21") 326. { 327. dgvS.Rows.Add(5,1,0,0,0,1,1,2,0,0,0,0,1,0,2,1,0,0,0,0,0); 328. dgvS.Rows.Add(1,5,1,0,0,0,1,2,2,0,0,0,0,1,1,2,0,0,0,0,0); 329. dgvS.Rows.Add(0,1,5,1,0,0,1,1,2,2,1,0,0,2,0,2,2,0,0,0,1); 330. dgvS.Rows.Add(0,0,1,5,1,0,1,0,0,1,2,2,1,2,0,1,2,2,1,0,2); 331. dgvS.Rows.Add(0,0,0,1,5,1,1,0,0,0,0,2,2,1,1,0,0,1,2,2,2); 332. dgvS.Rows.Add(1,0,0,0,1,5,1,1,0,0,0,0,2,0,2,0,0,0,0,2,1); 333. dgvS.Rows.Add(1,1,1,1,1,1,5,2,1,0,0,1,2,2,2,2,1,0,0,1,2); 334. dgvS.Rows.Add(2,2,1,0,0,1,2,5,0,0,0,0,1,1,2,2,0,0,0,0,1); 335. dgvS.Rows.Add(0,2,2,0,0,0,1,0,5,1,0,0,0,1,0,2,1,0,0,0,0); 336. dgvS.Rows.Add(0,0,2,1,0,0,0,0,1,5,1,0,0,1,0,1,2,0,0,0,0); 337. dgvS.Rows.Add(0,0,1,2,0,0,0,0,0,1,5,1,0,1,0,0,2,2,0,0,1); 338. dgvS.Rows.Add(0,0,0,2,2,0,1,0,0,0,1,5,1,1,0,0,1,2,2,1,2); 339. dgvS.Rows.Add(1,0,0,1,2,2,2,1,0,0,0,1,5,1,2,1,0,0,1,2,2); 340. dgvS.Rows.Add(0,1,2,2,1,0,2,1,1,1,1,1,1,5,1,2,2,0,0,0,2); 341. dgvS.Rows.Add(2,1,0,0,1,2,2,2,0,0,0,0,2,1,5,1,0,0,0,1,1); 342. dgvS.Rows.Add(1,2,2,1,0,0,2,2,2,1,0,0,1,2,1,5,0,0,0,0,1); 343. dgvS.Rows.Add(0,0,2,2,0,0,1,0,1,2,2,1,0,2,0,0,5,0,0,0,1); 344. dgvS.Rows.Add(0,0,0,2,1,0,0,0,0,0,2,2,0,0,0,0,0,5,1,0,1); 345. dgvS.Rows.Add(0,0,0,1,2,0,0,0,0,0,0,2,1,0,0,0,0,1,5,1,1); 346. dgvS.Rows.Add(0,0,0,0,2,2,1,0,0,0,0,1,2,0,1,0,0,0,1,5,1); 347. dgvS.Rows.Add(0,0,1,2,2,1,2,1,0,0,1,2,2,2,1,1,1,1,1,1,5); 348. GVDH: TS. ĐỖ HỒNG TUẤN SVTH: PHẠM MINH VƢƠNG 349. }; 350. } 351. //hiển thị hình ảnh: 352. private void Ndata_SelectedIndexChanged(object sender, EventArgs e) 353. { 354. if (Ndata.Text == "9ab") 355. { 356. 357. cell9m.BringToFront(); 358. } 359. else if (Ndata.Text == "12ab") 360. { 361. 362. cell12m.BringToFront(); 363. } 364. else if (Ndata.Text == "21ab") 365. { 366. 367. cell21m.BringToFront(); 368. } 369. else if (Ndata.Text == "9") 370. { 371. 372. cell9.BringToFront(); 373. } 374. else if (Ndata.Text == "12") 375. { 376. cell12.BringToFront(); 377. } 378. else if (Ndata.Text == "21") 379. { 380. cell21.BringToFront(); 381. }; 382. 383. } 384. 385. } 386. } 387.

Các file đính kèm theo tài liệu này:

  • pdfPhân Bố Tần Số Cho Mạng Thông Tin Di Động.pdf