Tải bản đầy đủ (.doc) (25 trang)

Anten thông minh(Anten thích nghi)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (267.71 KB, 25 trang )

Đặt vấn đề
Trong xã hội hiện nay, cùng với sự phát triển vượt bậc về chất lượng
cuộc sống, về khoa học công nghệ, thông tin di động đã trở thành một nhu
cầu thiết yếu.
Xã hội càng phát triển, nhu cầu đó cũng ngày càng mạnh mẽ, đòi hỏi sự
nâng cao cả về số lượng và chất lượng. Để thực hiện được các yêu cầu cải
thiện và nâng cao chất lượng dịch vụ đó, người ta đã sử dụng một công
nghệ mới, gọi là công nghệ anten thông minh (anten thích nghi).
Anten thông minh, hay còn gọi là anten thích nghi, đã giải quyết được
vấn đề về:
- Tăng dung lượng trong hệ thống thông tin di động
- Cho phép thực hiện đa truy nhập theo không gian (SDMA: Spatial
Division Multiple Access)
- Có thể kết hợp hiệu quả với nhiều kỹ thuật khác trong mạng… và rất
nhiều lợi ích khác.
Vậy, anten thông minh là gì?
Thực ra, ý tưởng về anten thông minh đã xuất hiện từ lâu. Người ta đã
nghĩ đến việc sử dụng anten trạm gốc có giản đồ hướng không cố định như
các anten vô hướng hay dẻ quạt vẫn thường được sử dụng.
Anten thông minh là anten có giản đồ hướng thay đổi linh hoạt, phù
hợp với điều kiện truyền sóng hiện tại nhằm đảm bảo tránh được tối đa
nguồn nhiễu và tăng khả năng thu thông tin từ nguồn tín hiệu mong muốn.
Vì sao lại sử dụng anten thông minh?
Trước đây, khi các trạm gốc sử dụng anten thông minh mà phải bám
theo đồng thời một số lượng lớn người sử dụng mạng, thì số lượng tính
toán trong hệ thống là rất lớn. Đây chính là nguyên nhân chủ yếu cản trở
việc đưa anten thông minh vào mạng thực tế. Đến nay, với sự ra đời của
1


các bộ xử lý tín hiệu số (DSP: Digital Signal Processor), các bộ xử lý đa


mục đích, cũng như các kỹ thuật xử lý tín hiệu bằng phần mềm đã phát
triển hơn rất nhiều, công nghệ anten thông minh trở nên khả thi trong các
hệ thống thông tin di động.
Trước những lợi ích khi sử dụng anten thông minh và khả năng triển
khai trên thực tế của hệ thống, đề tài của chúng tôi đi vào tìm hiểu cấu trúc
anten và các phương pháp xử lý tín hiệu ở trạm gốc, từ đó lập chương trình
mô phỏng về anten thông minh, nhằm kiểm tra, khảo sát một số đặc điểm
của anten.
Nội dung nghiên cứu gồm 3 chương :
- Chương I : Tổng quan về anten thông minh
- Chương II: Matlab và Matlab GUI
- Chương III : Giao diện mô phỏng anten thông minh, đặc điểm
và cách khai thác

2


CHƯƠNG I :

TỔNG QUAN VỀ ANTEN THÔNG MINH

1.1 Khái niệm anten thông minh (Adaptive Antenna)
Từ ý tưởng về anten thông minh,
ta có thể hiểu đơn giản nguyên tắc
làm việc của anten thông minh qua
hình minh hoạ sau:

1.2 Cấu tạo của anten thông minh
Về nguyên tắc, có
một số cách đơn giản để

làm cho búp sóng anten
có thể điều chỉnh được
một cách thích nghi, ví
dụ như các anten được
điều khiển bằng cơ học.
Ngày nay, với sự phát
triển của khoa học, người
ta đã sử dụng các bộ xử
lý tín hiệu để điều khiển
các tham số của dàn
anten. Có thể khái quát
cấu tạo của anten thông minh qua sơ đồ cấu trúc như hình trên.
Anten thông minh là hệ thống gồm có 3 thành phần chính sau:
• Dàn anten: Gồm các phần tử là các anten, có thể có các dạng hình
học khác nhau:
3


- Dàn tuyến tính
Trong các bài toán tổng quát, người ta thường sử dụng mô hình dàn
tuyến tính cách đều.
- Dàn tròn
- Dàn mặt phẳng
• Tạo dạng chùm
Tạo dạng chùm là một kiểu xử lý tín hiệu được sử dụng để
hướng chùm tia của dàn về phía các nguồn tín hiệu mong muốn, đồng thời
tạo ra mức phát xạ nhỏ (gần tới 0) về phía các nguồn nhiễu. Quá trình tách
các thuê bao khỏi nhiễu dựa trên đặc tính không gian của họ được gọi là
lọc không gian. Trong đường lên (từ điện thoại di động đến trạm gốc), mục
tiêu của việc tạo dạng là cực đại hoá tỉ số tín hiệu trên tạp nhiễu (SINR)

của tín hiệu thu mong muốn. Tương tự như vậy, việc tạo dạng được sử
dụng ở đường xuống (từ trạm gốc đến di động) để cực đại hoá SINR của
đường xuống. Sự tạo dạng được điều khiển bằng cách sử dụng bộ xử lý tín
hiệu thích nghi được gọi là tạo dạng thích nghi.
Như vậy, bộ tạo dạng là một bộ xử lý sử dụng kết hợp với dàn
để thực hiện việc lọc không gian một cách linh hoạt.
• Bộ xử lý thích nghi
Bộ xử lý này điều khiển bộ tạo dạng để điều chỉnh một cách tự
động các trọng số về giá trị tối ưu theo một tiêu chuẩn cụ thể và theo một
thuật toán phù hợp. Đây được coi là trí tuệ của anten thông minh.
Bộ xử lý thích nghi điều khiển bộ tạo dạng để tối ưu hoá các trọng số
theo những tiêu chuẩn nhất định. Trong thông tin di động, 4 tiêu chuẩn
thường được sử dụng để thu được trọng số tối ưu là:

4


_ Sai số trung bình bình phương cực tiểu (MMSE : Minimum
Mean Square Error)
_ Tỉ số tín trên tạp nhiễu cực đại (MSINR: Maximum Signal to
Interference plus Noise Ratio)
_ Phương sai nhỏ nhất (MV: Minimum Variance)
_ Ưu độ tối đa (ML: Maximum Likelihood)
Đây chính là các cơ sở xây dựng các thuật toán tối ưu sử dụng trong bộ
xử lý thích nghi. Từ các tiêu chuẩn này, người ta đã xây dựng các thuật
toán tối ưu, cụ thể:
_ Thuật toán: Trung bình bình phương nhỏ nhất (LMS: Least
Mean Square)
_ Thuật toán: Đảo ma trận mẫu (SMI: Sample Matrix Inversion)
_ Thuật toán: Bình phương cực tiểu hồi quy (RLS: Recursive

Least Square)
1.2 Các lợi ích khi sử dụng anten thông minh
Sử dụng anten thông minh đem lại rất nhiều lợi ích cho thông tin di
động. Có thể tóm tắt một số lợi ích cụ thể sau:
a. Cải thiện chất lượng tín hiệu
Nhờ sử dụng dàn thích nghi, ta thu được một độ lợi nhất định, tuỳ thuộc
vào số lượng phần tử dàn. Điều này tương đương với việc cải thiện tỉ số
tín/tạp (SNR).
Trong môi trường truyền dẫn đa đường, nếu sử dụng bộ xử lý tín hiệu
trên cả miền không gian và thời gian như trường hợp bộ tạo dạng băng
rộng thì ta có thể thu được độ lợi phân tập lớn hơn.

5


Lấy ví dụ đơn giản trong trường hợp 2 đường tới. Khi 2 đường này là
không tương quan về không gian, tia tới và tia trễ có góc tới lần lượt là 0 0
và 30 0 , ta ước lượng được tỉ số tín/tạp nhiễu (SINR) đầu ra như sau:
SINR out [dB] = 10log 10 M + 10log 10 (2) + SNR in [dB]
Như vậy, trong môi trường đa đường ta đã thu được độ lợi phân tập là
3dB. Qua biểu thức trên, ta thấy, môi trường càng chịu ảnh hưởng của đa
đường càng có độ lợi phân tập lớn.
b. Mở rộng vùng phủ
Với cùng công suất phát ra ở trạm gốc và máy di động, anten thông
minh có thể tăng cự ly phủ sóng nhờ tăng độ lợi của anten trạm gốc do tạo
ra được búp sóng anten hẹp hơn.
Tại các trạm gốc, với một công suất yêu cầu tối thiểu nào đó, nếu ta
tăng độ lợi anten trạm gốc thì tuyến kết nối thông tin chịu được suy hao
đường truyền lớn hơn (như công thức phần a đã chỉ ra), tức là tuyến có
khoảng cách xa hơn. Như vậy, anten thông minh mở rộng được phạm vi.

c. Giảm công suất phát
Như đã phân tích ở trên, sử dụng anten thông minh cho ta độ lợi phân
tập. Điều này dẫn tới việc giảm công suất phát cần thiết ở trạm gốc. Nếu độ
nhạy yêu cầu là như nhau thì công suất phát yêu cầu của trạm gốc sử dụng
anten thông minh M phần tử giảm đi M −1 lần. Giảm công suất phát có lợi
hơn với sức khoẻ người sử dụng điện thoại và làm cho chi phí lắp đặt giảm
vì các bộ khuếch đại công suất tần số cao thường rất đắt, mà với dàn M
phần tử, đầu ra của bộ khuếch đại trạm gốc có thể giảm tới M −2 .

6


CHƯƠNG II :

MATLAB VÀ MATLAB GUI

2.1 Môi trường Matlab
Matlab (Matrix Laboratory) là một công cụ phần mềm của MathWork
với giao diện cực mạnh cùng những lợi thế trong kỹ thuật lập trình, đáp
ứng được những vấn đề hết sức đa dạng. Matlab cho phép giải quyết các
loại bài toán khác nhau, đặc biệt là hệ phương trình tuyến tính, phi tuyến
hay các bài toán ma trận với kết quả nhanh chóng và chính xác. Được tích
hợp cùng với một số ngôn ngữ lập trình thông dụng khác như: C, C++,
Fortran, Java… do đó, những ứng dụng của Matlab có thể được chuyển đổi
một cách dễ dàng, mềm dẻo sang những ngôn ngữ đó.
Với hàng loạt các ưu điểm đó, Matlab đã được sử dụng rộng rãi trên rất
nhiều lĩnh vực như: điện, điện tử, điều khiển tự động…
Một trong các ứng dụng của Matlab được chúng tôi khai thác và sử
dụng là phần xây dựng giao diện người sử dụng (GUI). GUI là một trong
những công cụ giúp cho Matlab có thể trở nên thân thiện hơn với những

người sử dụng, cho phép người sử dụng nhập tham số, quan sát kết quả
một cách nhanh chóng và trực quan.
Trong thư viện của Matlab đã có sẵn một số GUI ở các phương diện
khác nhau như: xử lý tín hiệu, mô phỏng, khảo sát đặc tính hệ thống, đồ
hoạ… Bên cạnh đó, Matlab còn cho phép người sử dụng tự thiết lập giao
diện theo ý định và mục đích riêng của mình.
2.2 Matlab GUI
a. Vì sao chọn công cụ Matlab GUI
7


Matlab cung cấp một bộ các công cụ để tạo GUI. GUI (Graphic User
Interface) – là giao diện người sử dụng. Đặc điểm chính khi tạo ra các GUI
nói chung là giúp cho người sử dụng có thể thực hiện được một công việc
nào đó một cách nhanh chóng, chính xác và trực quan mà không cần biết
đến thực chất thuật toán hay trình tự lập trình như thế nào.
Khi làm việc trong môi trường Matlab, ta có thể gõ lệnh trực tiếp vào
cửa sổ lệnh (Command Window). Khi số câu lệnh tăng lên, hoặc trong
trường hợp chỉ cần thay đổi một số giá trị các biến và thực hiện lại toàn bộ
các lệnh cũ, Matlab cho phép ta lưu các câu lệnh vào một tệp có phần đuôi
là .m (m file). Thực hiện các lệnh trong file m này cũng như thực hiện lần
lượt chúng trong cửa sổ lệnh. Nhờ có tệp này, ta có thể thực hiện công việc
lập trình để thực hiện tính toán các công việc nhất định.
Việc tạo GUI thuận tiện hơn rất nhiều so với việc sửa tham số trực tiếp
trong m file của Matlab, vì khi sử dụng GUI, người sử dụng GUI có thể chỉ
là những người học không chuyên hay chỉ muốn tìm hiểu một đặc điểm
nào đó trên một lĩnh vực nhất định. Nếu vậy, kể cả khi có code (m file)
trong tay, việc thay đổi tham số để có thể có những kết quả mong muốn
cũng trở nên rất khó khăn.
Bộ công cụ của Matlap cho phép ta tạo ra những giao diện gần gũi hơn

khi đã có trong tay thuật toán và ý nghĩa của từng tham số trong thuật toán
đó.
b. Giới thiệu về GUI và việc xây dựng một GUI theo mục đích riêng
Matlab tạo các GUI như một cửa sổ hình chứa các thành phần có thể lập
trình được. Để các thành phần của GUI có thể thực hiện chức năng nào đó
khi người sử dụng kích hoạt thành phần (ví dụ như ấn một nút), ta phải lập
trình cho từng thành phần một. Như vậy, để tạo ra 1 GUI ta cần thực hiện 2
nhiệm vụ cơ bản:
8


- Triển khai các thành phần của GUI
- Lập trình cho các thành phần GUI vừa tạo
Khi tạo, lưu và chạy GUI, Matlab tự động tạo cho ta 2 file:
- Một m-file chứa mã (code) để quản lý sự khởi tạo và vận hành của
giao diện
- Một fig-file bao gồm tất cả những thành phần ta
đã chọn và sắp xếp theo ý định của mình
Các quy trình cụ thể để tạo một GUI sẽ được
trình bày cụ thể ở các phần sau.
2.3 GUI là gì?
GUI : Graphical User Interface (giao diện người
sử dụng) là giao diện người dùng được xây dựng
bằng các thành phần đồ hoạ - các thành phần của
GUI - như các nút, các vùng văn bản, các thanh
trượt và các menu. Nếu GUI được thiết kế tốt, nó có
thể trở nên trực quan với người sử dụng.
Bằng việc cung cấp giao diện giữa người sử dụng và các mã ứng dụng
ẩn, các GUI cho phép người sử dụng vận hành ứng dụng mà không cần
biết các câu lệnh để đưa ra các kết quả mong muốn. Vì thế các ứng dụng

cung cấp GUI dễ học và dễ sử dụng hơn so với các dòng câu lệnh.
2.4 GUIDE _ môi trường trình bày GUI
GUIDE cung cấp một bộ các công cụ để tạo các GUI. Các công cụ này
đơn giản hoá rất nhiều quy trình trình bày và lập trình một GUI.
Khi mở một GUI trong GUIDE, nó được trình bày trong trình soạn thảo
trình bày (Layout Editor), là panel điều khiển cho tất cả các công cụ GUI.
9


Layout Editor cho phép bạn trình bày một GUI nhanh chóng và dễ dàng
bằng cách đưa vào các thành phần : Nút ấn, thực đơn, các trục… Các thành
phần trong GUI được chỉ ra trong hình bên :
Chức năng cụ thể của các thành phần trong hình sẽ được trình bày cụ
thể trong phần 2.6.
Matlab tạo các GUIDE như một cửa sổ hình chứa các uicontrol objects.
Chúng ta phải lập trình các thành phần để biểu diễn các thao tác chúng ta
muốn nó thực hiện khi người sử dụng kích hoạt vào thành phần trong GUI.
GUIDE cơ bản là một bộ các công cụ trình bày. Dù vậy GUIDE vẫn tạo
một M_file chứa mã quản lý sự khởi tạo vận hành của GUIDE. M_file này
cung cấp một khung công việc cho sự thực hiện các callback. Các hàm sẽ
chạy khi người sử dụng kích hoạt các thành phần trong GUI.
Khi lưu hoặc chạy GUI, GUIDE sẽ tự động sinh ra 2 file:
- 1 file FIG .
- 1 file M.
2.5 GUI FIG_file và M_file
Hai file FIG và M được GUIDE tạo ra khi chúng ta lưu hoặc chạy lần
đầu tiên.
- Fig - file : là file có phần mở rộng “.fig”, file này chứa một sự mô tả
đầy đủ sự trình bày hình ảnh GUI và các thành phần của GUI như : các nút
ấn, các menu, các trục… Khi thay đổi sự trình bày GUI trong Layout

Editor thì những thay đổi đó sẽ được lưu trong FIG_file.
- M - file : là file có phần mở rông “.m”, file này bao gồm các lệnh
callback với các thành phần của nó. Khi lưu hoặc chạy GUI từ Layout
Editor lần đầu tiên, GUIDE tạo ra GUI M_file với các đuôi trống cho mỗi

10


lệnh callback. Sau đó chúng ta có thể sử dụng trình M_file để lập trình
callback đó.
Có thể thêm mã cho callback để nó biểu diễn chương trình mong muốn
hoặc sự vận hành công việc đang thực hiện. M_file cần 2 chứ năng để
thêm mã :
+ Chức năng mở (Openning Fcn): Thực hiện các nhiệm vụ trước khi
GUI hiển thị tới người sử dụng.
+ Chức năng xuất (Output Fcn) : Xuất biến tới dòng lệnh nếu cần.
2.6 Tạo GUI
2.6.1 Mở một GUI mới trong Layout Editor
Mở GUI bằng cách gõ “guide” vào dấu nhắc trong cửa sổ Command
Windos hoặc chọn menu File
→ New → GUI. Trên màn
hình sẽ mở ra hộp thoại
GUIDE Quick Start như hình
sau:
Để tạo GUI mới chúng ta
có thể chọn một trong 4 mục :
- Blank GUI : Chọn GUI
trống nếu các mẫu khác
không phù hợp với GUI cần
tạo hoặc người sử dụng muốn

bắt đầu với GUI trống.
- GUI with Uicontrol, GUI with Axes and Menu, Modal Question
Dialog : là các mẫu GUI với các thành phần có sẵn có thể sử dụng khi mẫu
đó phù hợp với GUI cần tạo.
11


Chúng ta có thể chọn để lưu GUI ngay lập tức dưới một tên khác bằng
cách chọn menu file → Save as. Mặt khác GUI nhắc ta làm như vậy khi
chạy GUI lần đầu.
2.6.2 Lập kích cỡ hình GUI
Định rõ kích cỡ của GUI bằng cách dùng chuột click vào góc dưới bên
phải khu vực lưới và kéo chuột để điều chỉnh kích thước vùng lưới.

Nếu muốn thiết lập GUI đến một giá trị cụ thể thì làm theo các bước
sau :
- Chọn View → Property Inspector.
- Chọn Units sau đó chọn Inches từ Popup menu.
- Chọn biểu tượng + ở phần position.

12


- Gõ toạ độ x, y của điểm ở góc dưới bên trái và độ rộng, chiều cao.
- Lập lại đặc tính Units về Characters.
2.6.3 Thêm các thành phần
Chọn

các


thành phần từ
bảng và dùng
chuột

kéo

chúng vào vùng
trình bày. Có
thể lấy lại kích
thước các thành
phần từ bất cứ
góc

nào

khi

chọn nó.
2.6.4 Căn lề :
Có thể căn lề các thành phần với công cụ căn chỉnh bằng cách :
- Chọn các thành phần căn chỉnh.
- Chọn Align Objects… trong menu Tools.
- Thực hiện các lưới trong công cụ căn chỉnh :
+ Kích thước 20 pixels giữa các nút theo phương dọc.
+ Căn trái theo phương ngang.
- Nhấn OK.

13



2.7 Lập trình GUI
2.7.1 Thiết lập đặc tính cho các thành phần GUI
Để thiết lập đặc tính cho mỗi thành phần GUI, chọn property Inspector
từ menu View (hoặc click
chuột phải vào thành phần
cần thiết lập đặc tính sau
đó

chọn

Property

Inspector).
- Đặc tính Name :
Trong vùng Name : gõ
tên của GUI. Tên này được
hiển thị ở đỉnh của GUI.
- Đặc tính String :

14


Có thể thiết lập nhãn cho một thành phần GUI bằng đặc tính String của
nó và gõ tên của nhãn.
- Các mục Popup menu :
Để tạo Popupmenu, click vào biểu tượng

gần String. Hộp soạn thảo

đặc tính xâu được mở như hình sau :

Xoá Popup menu trong hộp và gõ danh mục menu như ý định của
người sử dụng. Sau đó nhấn nút OK.
- Đặc tính Callback và Tag :
Đặc tính callback định rõ hàm callback trong M_file. Nó được gọi khi
người sử dụng kích hoạt thành phần. Khi lần đầu thêm 1 thành phần vào
Layout, đặc tính callback của nó được tạo về xâu “% automatic”.
Đặc tính Tag phải phù hợp với đặc tính callback.
2.7.2 Các thành phần trong GUI
- Push button :
Các nút ấn tạo một hành động khi được nhấn. Khi người sử dụng click
chuột lên nút, nó biểu hiện sự bị nén, khi nhả chuột, nút trông cao lên và
callback của nó vận hành.
- Toggle Button (Nút T) :
Các nút này tạo một thao tác và chỉ thị một trạng thái nhị phân (Ví dụ :
Bật hay tắt). Khi click chuột vào nút, nó trông như bị ấn và giữ nguyên như
thế cho đến khi nhả nút, khi đó callback vận hành. Một lần click sau tạo
nút trở lại trạng thái không bị ấn và lại chạy callback của nó.
- Radio Button (Nút R) :
Các nút R tương tự như các nút kiểm tra, nhưng là để có thể loại trừ
tương hỗ trong một nhóm các nút R liên hệ với nhau (Nghĩa là chỉ có 1 nút

15


ở trạng thái được chọn trong một thời điểm cho trước). Để kích hoạt nút R,
click chuột lên thành phần, sự biểu diễn chỉ thị trạng thái của nút.
- Check Box (Các hộp kiểm tra) :
Hoạt động khi được kiểm tra và chỉ thị trạng thái là được kiểm tra hay
không được kiểm tra. Hộp kiểm tra hữu ích vì nó cấp cho người sử dụng
các lựa chọn độc lập để thiết lập chế độ (Ví dụ : Biểu diễn 1 thanh công cụ

hay tạo nguyên mẫu hàm callback với đặc tính Value chỉ trạng thái : Value
= 1 → Hộp được kiểm tra; Value = 0 → hộp không được kiểm tra).
- Edit Text (Văn bản soạn thảo) :
Điều khiển văn bản soạn thảo là lĩnh vực cho phép người sử dụng nhập
hay thay đổi các xâu văn bản. Sử dụng văn bản soạn thảo khi muốn văn
bản soạn thảo là đầu vào. Đặc tính String chứa văn bản nhập bởi người
dùng.
- Static Text (Văn bản cố định) :
Được sử dụng để dán nhãn các sự điều khiển, cung cấp, hướng dẫn cho
người sử dụng, chỉ thị các giá trị tương đương với 1 thanh trượt và không
thể thay đổi nó.
- Slider (Thanh trượt) :
Nhận dữ liệu vào dạng số trong khoảng rõ rang bằng cách cho phép
người sử dụng dịch chuyển thanh trượt. Người sử dụng dịch chuyển thanh
bằng cách ấn và kéo thanh trượt. Vị trí của thanh chỉ ra giá trị của số.
- Frame (Khung) :
Là các hộp bao các vùng cửa sổ hình. Khung làm giao diện dễ hiểu hơn
nhờ sự nhóm các cụm điều khiển rõ ràng. Khung không có thủ tục callback
tương ứng và chỉ có các uicontrol có thể xuất hiện trong khung.
- List Boxes (Hộp danh mục) :

16


Biểu diễn một danh sách các hê thống mục và ch phép người sử dụng
chọn một hay nhiều hệ thống. Đặc tinh String chứa danh sách các xâu được
biểu diễn ở hộp danh mục. Hệ thống đầu tiên trong danh sách có chỉ số 1.
Đặc tính Value chứa chỉ số vào (danh sách các xâu tương ứng với mục
được chọn). Nếu người sử dụng chọn nhiều mục, Value là 1 vector chỉ thị.
Theo mặc định, mục đầu tiên trong list được làm nổi bật khi hộp danh mục

được biểu diễn lần đầu. Nếu không muốn bất cứ mục nào nổi bật thì lập
đặc tính Value thành Empty _ [ ]. Việc này thụ hiện chỉ khi việc lựa chọn
mục được cho phép. Đặc tính Listbox top xác định chuỗi nào trong danh
sách biểu diễn mục đỉnh khi hộp danh sách không đủ rộng để biểu diễn tất
cả sự truy nhập danh sách. Listbox top là một chỉ số vào mảng các xâu,
được xác định bằng đặc tính String và được đặt giá trị giữa 1 và số xâu.
Các giá trị không phải số nguyên được đặt về số nguyên thấp nhất gần nó.
- Popup menu (PM) :
PM được mở để biểu diễn danh sách các sự lựa chọn khi người sử dụng
click mũi tên.
- Cho phép và không cho phép điều khiển :
Có thể kiểm soát một sự điều khiển tương ứng với sự click chuột bằng
cách lập đặc tính Enable. Điều khiển có 3 mức :
+ On : Sự điều khiển có thể vận hành.
+ Off : Sự điều khiển bị cấm và nhãn của nó bị bôi đen.
+ Inactive : Sự điều khiển bị cấm nhưng nhãn không bị bôi đen.
- Axes : Trục cho phép GUI biểu diễn đồ hoạ.
- Figure : Là các cửa sổ chứa GUI.
• Chú ý : Các đặc tính cụ thể của các thành phần và phương pháp lập
trình cho từng thành phần có thể tham khảo một cách chi tiết trong Matlab
Help.
17


CHƯƠNG III : GIAO DIỆN MÔ PHỎNG ANTEN THÔNG MINH
CÁC CHỨC NĂNG VÀ CÁCH KHAI THÁC GIAO DIỆN
3.1 Giới thiệu khái quát về giao diện mô phỏng
Sử dụng Matlab GUI để lựa chọn các thành phần cần thiết của giao
diện, thực hiện các thao tác như đã trình bày ở chương II ta tạo được một
giao diện có dạng như sau:

Hình 1 (figure – mở bằng guide)

Thực hiện lập trình cho GUI dựa trên các thuật toán đã biết. Khi thêm
mã (code) cho các thành phần trong GUI cần chú ý đến chức năng, nhiệm
vụ từng thành phần. Sau khi đã thêm các mã chương trình phù hợp, ta có
được một giao diện với các chức năng mong muốn.
Trên giao diện, chúng ta có các cửa sổ để điền các tham số cần thiết cho
việc mô phỏng. Sau khi thiết lập các tham số, kích hoạt giao diện sẽ cho ta
những kết quả khảo sát. Trong quá trình tạo giao diện, chúng tôi tập trung
vào khảo sát 2 đặc tính cơ bản của anten thông minh:
18


- Chuỗi huấn luyện
- Giản đồ hướng của anten
Các thuật toán cụ thể chúng tôi đã liệt kê ở chương I.
Sau khi mô phỏng, ta có thể lưu những hình đã mô phỏng với những
tham số đã nhập. Các hình biểu diễn 2 đồ thị trên sẽ được tách riêng trên 2
hình độc lập. Điều này là để giải quyết vấn đề diện tích trình bày của giao
diện quá nhỏ cho cả 2 đồ thị. Ta có thể mô phỏng để kiểm nghiệm trước và
lưu lại sau.
3.2 Mô phỏng bằng giao diện
Mở giao diện
Có 2 cách mở giao diện:
- Cách 1 :
Mở từ biểu tượng guide trên cửa sổ chính của
Matlab và mở file “.fig” (file hình) có tên :
“mophonganten”.
Để chạy GUI, kích vào dấu RUN trên giao diện
- Cách 2 : Mở “m - file” có tên như trên bằng cách vào

menu file → Open → vào thư mục để chương trình mô
phỏng, chọn file “.m”. Kích chuột vào biểu tượng “Save and
run” trên thanh công cụ của m-file.
Giao diện mô phỏng sẽ xuất hiện dưới dạng như sau:

19


3.2.1 Nhập các tham số
Trước khi thực hiện mô phỏng cần nhập các tham số vào các ô tương
ứng. Nếu không nhập, GUI sẽ mô phỏng giá trị mặc định ban đầu. Có 3
loại tham số cơ bản:
- Các tham số chung
- Tham số của tín hiệu mong muốn
- Tham số nhiễu
Tên và ý nghĩa của các tham số sẽ được trình bày trong bảng dưới đây:
a. Các tham số chung
Tên tham số
SNR_dB
m
Number

Ý nghĩa tham số
Tỉ số tín/tạp đầu vào, được đo
bằng dB
Số phần tử dàn (số anten trong
dàn anten thích nghi)
Số tín hiệu khảo sát

20


Giá trị mặc định
0 dB
4
8000 (tín hiệu)


b. Các tham số tín hiệu mong muốn
Bước sóng

Bước sóng của tín hiệu tới

1

(lambda [m]) (→ tần số tín hiệu
Góc tới

fu)
Góc tới dàn của tín hiệu (độ)
Dạng điều chế tín hiệu ở đầu

0
M-PSK

phát. Có 2 dạng điều chế có thể
Dạng điều chế

khảo sát:
- M-PSK


Số mức
Góc lệch

- M-QAM
Số mức điều chế bên phát
Góc lệch điều chế

2
0

c-Các tham số nhiễu
Bước sóng

Bước sóng nhiễu [m] (→ tần

1

Góc tới

số nhiễu fi)
Góc tới dàn của nhiễu

30

Trong chương trình mô phỏng này, chúng tôi chỉ khảo sát 2 loại tín hiệu
chính là M-PSK và M-QAM vì trên thực tế, đây là 2 dạng điều chế đáp
ứng được các tiêu chí lựa chọn tối ưu tập tín hiệu phát và có thể mô phỏng
điều chế bằng các hàm đơn giản của Matlab.

3.2.2 Lựa chọn thuật toán thích nghi


21


Sau khi khai báo các tham số, cần lựa chọn thuật toán thích nghi. Ta có
thể giữ nguyên tham số khai báo và lựa chọn thuật toán khác nhau để có sự
so sánh qua giản đồ hướng anten.
Việc lựa chọn được thực hiện trên menu đổ xuống (popup menu). Có 3
thuật toán được sử dụng:
- LMS
- SMI
- RLS
Muốn chọn thuật toán nào, ta chỉ cần kích chuột vào tên trên menu
popup. Thuật toán mặc định được chọn là thuật toán LMS.
3.2.3 Mô phỏng
Sau khi đã khai báo các tham số và lựa chọn thuật toán theo
sự quan tâm, ta thực hiện mô phỏng bằng cách kích chuột vào nút
ấn “Mô phỏng” trên giao diện.
3.3 Một số tính năng hỗ trợ khác
(Các tính năng trên thanh công cụ)
3.3.1 In GUI
Lệnh “In” trên menu Lựa chọn cho phép người sử dụng in ra hình GUI
với đầy đủ các tham số, đồ thị và kết quả mô phỏng.
3.3.2 Đóng GUI
Cho phép người dùng tắt GUI sau khi đã hoàn thành việc mô phỏng.

3.4 Các kết quả mô phỏng
22



Sau khi mô phỏng, các kết quả được trình bày trên 2 trục sẵn có của
GUI. Đồng thời, phía trên của giản đồ hướng của anten, sau mỗi lần mô
phỏng sẽ thông báo các thông số:
- Tỉ số tín/tạp (SNR) đầu vào
- Tỉ số tín/tạp đầu ra
- Độ lợi khi sử dụng anten
Người sử dụng có thể quan sát và so sánh các kết quả với những trường
hợp có nhiễu và không có nhiễu ở hướng truyền tin.
Do diện tích của giao diện nhỏ, việc biễu diễn 2 hình trên một giao diện
sẽ gây nên sự khó khăn khi quan sát. Để khắc phục điều này, chúng tôi đã
xây dựng chương trình để khi mô phỏng, giao diện tự động vẽ ra 3 hình
riêng. Các hình này là hình
phóng to của hình chính trên
GUI. Với menu File trên hình, ta
có thể lưu lại hình sau từng lần
mô phỏng để có sự đối chiếu,
tham khảo. Ý nghĩa cụ thể của
các hình riêng này sau:
• Hình 2 : Hình “Chuỗi huấn
luyện”
Trục x biểu diễn số lần tính
toán. Số này chính là số tín hiệu
khảo sát được nhập vào trước khi mô phỏng.
Trục y biểu diễn lượng ước lượng sai số ở đầu ra.
Nhờ có đồ thị này, ta có thể đánh giá độ chính xác của tín hiệu ước
lượng khi dùng các thuật toán thích nghi.

23



• Hình 3 : Hình “Giản đồ hướng của dàn anten khi không sử dụng thuật
toán thích nghi”
Giản đồ hướng của dàn anten được biểu diễn trên toạ độ cực để tăng
tính trực quan của việc
mô phỏng. Thông qua
giản đồ, ta thấy được
dạng đặc trưng hướng
của dàn anten với số
phần tử tương ứng. Số
phần tử tăng, búp sóng
chính càng hẹp (tăng độ
tập trung). Tuy nhiên,
ta có thể nhận thấy
ngay, dạng giản đồ này
chưa phải là của dàn anten thích nghi vì ta không quan sát thấy sự thay đổi
của dàn khi có tác động của nhiễu. Giản đồ hướng của dàn anten thích nghi
được biểu diễn trên hình 4.
• Hình 4 : Hình “Giản đồ
hướng của dàn anten khi sử dụng
thuật toán thích nghi”
Thực chất đây chính là hình
phóng to giản đồ trên giao diện
chính. Quan sát và so sánh với
dạng giản đồ của dàn khi không
dùng thuật toán thích nghi (chỉ
hướng búp chính về phía tín hiệu

24



tới), giản đồ này hướng búp sóng lớn về phía tín hiệu và búp “0” về phía
nhiễu (mặc định là ở góc 30 độ).
3 hình vẽ riêng này cho phép ta lưu lại với từng lần mô phỏng.

25


×