Chương trình mô phỏng phương pháp định vị kết hợp AOA–RSS được thực hiện trên phần mềm Matlab. Chương trình mô phỏng này được xây dựng để đánh giá độ chính xác của phương pháp định vị này trong một kịch bản đặc biệt – các hành lang dài trong các tòa nhà nơi các hoạt động của các robot diễn ra một cách phổ biến nhất.
Code của chương trình mô phỏng phương pháp định vị kết hợp AOA–RSS được trình bày chi tiết trong phần phụ lục A. Chương trình này gồm các tập tin chính sau (xem hình 4.3):
60
Hình 4.1. Mô hình mô phỏng.
Hình 4.2. Kịch bản mô phỏng phương pháp định vị kết hợp AOA–RSS.
AOA_RSS_main.m: là tập tin chính của chương trình mô phỏng. Tập tin này thực hiện một số nhiệm vụ chính như sau:
61
Thực hiện phương pháp định vị AOA–RSS. Tính toán sai số.
InputParameters.m: là tập tin chứa các thông số để cấu hình cho hệ thống. Các thông số này được phân loại như sau:
Các thông số cấu hình chung như: số lượng PD, khoảng cách lấy mẫu. Các thông số cấu hình cho mô hình hệ thống VLC như: chiều cao của
đèn LED, góc nửa công suất, góc FOV của PD, v.v.
Các thông số để tính toán nhiễu Gauss tại đầu ra của bộ nhận quang PD: độ nhạy thu của PD, tốc độ truyền, v.v.
AOA_RSS_Estimation.m: là tập tin thực hiện hai bước của phương pháp định vị kết hợp AOA–RSS:
Tính toán góc ước lượng αi-max (hàm ComputeEstAng).
Tính toán vị trí ước lượng của robot từ giá trị αi-max (hàm
ComputeEstPosition).
ComputeEstAng.m: là tập tin thực hiện việc tính toán góc ước lượng αi-max
trong bước một của phương pháp định vị đề suất. Các nhiệm vụ của nó bao gồm: Tính toán công suất nhận được tại các PD (hàm ComputePower) trong
trường hợp không có nhiễu.
Tính toán công suất nhận được tại các PD trong trường hợp có nhiễu. Xác định PD có công suất nhận được lớn nhất.
Tính góc của PD nhận được công suất lớn nhất đó.
ComputeEstPosition.m: là tập tin thực hiện việc tính toán vị trí ước lượng của robot trong bước hai của thuật toán định vị đề xuất.
ComputePower.m: là tập tin thực hiện việc tính toán công suất nhận được tại các PD trong trường hợp không có nhiễu.
ComputeNoise.m: là tập tin thực hiện việc tính toán nhiễu tác động lên tín hiệu đầu ra của các PD bao gồm nhiễu nhiệt và tạp âm kim.
CreatePDArray.m: là tập tin thực hiện việc tính toán vị trí của các PD theo vị trí của robot.
DrawCircle: là tập tin thực hiện việc vẽ các vùng phủ tưởng tượng của các đèn LED.
62
Hình 4.3. Sơ đồ khối của chương trình mô phỏng phương pháp định vị kết hợp AOA– RSS.