Module NEO-6M GPS (Hình 3.2) là module định vị tồn cầu sử dụng hệ
thống vệ tinh GPS. Module GPS-6M cho tốc độ xác định vị trí nhanh và
chính xác, có nhiều mức năng lượng hoạt động, phù hợp với các ứng dụng
chạy PIN. Đặc điểm kỹ thuật cuar module NEO-6M GPS được thể hiện như
sau:
Kích thước 39×25.5 mm.
Nguồn hoạt động: 3.5−3.5 V.
Dịng hoạt động bình thường: 50 mA (ở trạng thái tiết kiệm 30 mA).
Baud rate: gồm nhiều mức khác nhau 1200, 2400, 4800, 19200, 38400, . . . (mặc định là 9600).
Hình 3.2:Module GPS Neo 6m.
3.5. Raspberry Pi 3 Mode B
Máy tính Raspberry Pi 3 Mode B (Hình 3.3) là board mạch máy tính nhúng
được sử dụng khả phổ biến thường chạy trên các hệ điều hành Linux, ngồi
ra máy cịn có 40 chân GPIO dùng để giao tiếp và điều khiển các board mạch
cứng khác để tạo nên vô số ứng dụng khác nhau. Thông số kỹ thuật của máy
tính Raspberry Pi 3 Mode B được thể hiện như sau:
1.2 GHz 64 bit quad-core ARM cortex A53 CPU.
1 Gb RAM.
Chip on-board Wireless Lan – 2.4 Ghz 802.11 b/g/n
Hỗ trợ cổng HDMI. Khe cắm microSD.
Hình 3.3:Máy tính nhúng Raspberry Pi 3 Mode B.
3.6. Hệ Thống Điều Khiển Cơng Suất Phát Thích Ứng Thời Gian Thực
3.6.1. Kịch Bản
Theo như quan sát ở bản đồ contour map đã được triển khai bên trên,
trong khuôn viên trường xuất hiện những vị trí có mức chất lượng tín hiệu
dưới ngưỡng tối thiểu và khi người dùng đi vào khu vực này tín hiệu khơng
đủ độ tin cậy cho các nhu cầu thiết yếu theo Bảng 2.1. Để giải quyết vấn đề
này, hệ thống cần phải có những điều chỉnh cơng suất phát phù hợp ở 2trạm Wifi để mở rộng đường đồng mức tối thiểu và bao phủ lên vị trí người dùng.
Do tính bảo mật của các thiết bị Wifi nên việc điều khiển công suất của
những trạm WiFi này là khơng được phép. Chính vì tại phần này, hệ thống
điều khiển cơng suất thích ứng theo thời gian thực sẽ được lập trình và triển
khai trên bo mạch USRP và máy tính Rapsberry Pi 3. Hình 3.4 mơ tả hệ
Hình 3.4: Mơ hình hệ thống điều khiển cơng suất thích ứng theo thời gian thực.
Mơ hình gồm 2 phần chính, bên phát và bên thu. Tại bên phát, USRP được máy tính lập trình để phát đi liên tục các bản tin với chu kỳ 100ms theo
chuẩn Wifi IEEE 802.11g có các địa chỉ MAC cố định ra ngồi không gian.
Bên thu gồm Raspberry pi 3 và module Wifi di chuyển ngẫu nhiên trong miền
phủ sóng của USRP và dựa vào việc đọc các địa chỉ MAC để lọc ra các bản
tin được phát từ USRP. Raspberry đọc và cập nhật liên tục các giá trị RSSI
từ trường RadioTap Header của tín hiệu nhận được lên server theo thời gian
thực. Đồng thời tại bên phát, máy tính quan sát các giá trị này trên server và
có những điều chỉnh để tối ưu công suất phát thông qua tham số Gain Value
của USRP. Server thời gian thực được sử dụng trong kịch bản là Firebase
Realtime của Google.
3.6.2. Giới Thiệu Phần Mềm GNU-Radio Companion
GNU Radio là một bộ công cụ phát triển mã nguồn mở và miễn phí cung
cấp các khối xử lý tín hiệu để triển khai sóng vơ tuyến bằng phần mềm. Nó
có thể được sử dụng với các thiết bị thu phát sóng RF giá rẻ có sẵn để triển
khai SDR – Software Defined Radio, hoặc khơng có phần cứng như trong một
mại để hỗ trợ cả về nghiên cứu truyền thông không dây và và hệ thống vô
tuyến trong thực tế. Các nhà phát triển có thể viết phần mềm và test theo
thời gian thực, hệ thống vô tuyến truyền thông lưu lượng cao một cách đơn
giản, nhanh chóng.
GNU Radio được cấp phép theo Giấy phép công cộng (General Public
License– GPL) version 3 trở lên. Nó cung cấp cho người dùng giao diện kéo
thả các module đồng thời cung cấp việc thực thi tiến hành thu phát, xử lý
tín hiệu thơng qua matlab. Bên cạnh đó, GNU Radio cung cấp giao diện lập
trình để lập trình viên có thể thay đổi thơng qua C++ hoặc Python. Hình 3.5
trình bày các khối block trong GNU radio sẽ được sử dụng trong luận văn
này.
Hình 3.5: Ví dụ về các khối block trong GNU Radio.
3.7. Thiết Kế Trạm Phát Wifi Trên Bo Mạch USRP Sử DụngGNU-Radio GNU-Radio
Dựa trên cơ sở lý thuyết về kỹ thuật điều chế OFDM và chuẩn 802.11g, sơ
Hình 3.6: Lưu đồ hệ thống phát wifi chuẩn IEEE 802.11g xây dựng trên phần mềmGNU-Radio Companion [2]. GNU-Radio Companion [2].
Trong hình trên, nếu phân loại theo chức năng, các khối được sử dụng
trong lưu đồ được chia ra làm 2 loại:
Khối biến và tham số: Dùng để định nghĩa các biến sử dụng cho các khối chức năng và các tham số sử dụng trong hệ thống.
Khối chức năng: Định nghĩa các chức năng sử dụng để xây dựng hệ thống phát Wifi theo chuẩn IEEE 802.11g trên phần mềm GNU-Radio
Companion.
Chi tiết các khối sẽ được phân tích chi tiết ở các phần tiếp sau đây.
3.7.1. Các Biến Sử Dụng Trong Mơ Hình
Các biến sử dụng trong mơ hình của luận văn được mơ tả chi tiết ở Bảng 3.1
bao gồm: encoding, pdu_length, interval, freq, tx_gain, và Head_formatter
ở cột thứ nhất. Cột thứ 2 của bảng mô tả chức năng của các biến này. Cột
Bảng 3.1:Bảng mô tả các biến sử dụng trong hệ thống phát Wifi trên phần mềm GNU-Radio Companion [3].
Biến Mô tả Giá trị
encoding Kiểu điều chế và mã hóa cho trường Data của 0 - BPSK1_2
khung PPDU (X_Y_Z được hiểu là sử dụng 1 - BPSK_3_4
điều chế X với code rate bằng Y/Z) 2 - QPSK_1_2
3 - QPSK_3_4 4 - QAM16_1_2 5 - QAM16_3_4 6 - QAM64_2_3 7 - QAM64_3_4
pdu_length Chiều dài kí tự được tạo bởi khối 100 kí tự
Message Strobe
interval Chu kì tạo ra dữ liệu của khối 100ms
Message Strobe
freq Tần số trung tâm được sử dụng 2.472 GHz
(channel 13)
tx_gain Thông số cho phép điều chỉnh công suất phát Mặc định bằng
của USRP 20dB
Header_formatter Được khối Packet Header Generator sử dụng ieee802_11.signal_field()
để tạo nên cấu trúc của trường Signal trong khung PPDU
3.7.2. Thiết Kế
Mơ hình hệ thống được thiết kế dựa theo đặc điểm và chức năng của 2 tầng
cuối của mơ hình OSI theo chuẩn IEEE 802.11 như trình bày ở Hình 3.7.
Hình 3.7: Q trình đóng gói dữ liệu tại tầng dưới cùng trong mơ hình OSI theochuẩn IEEE 802.11. chuẩn IEEE 802.11.
các địa chỉ MAC và các đặc điểm của bản tin để tạo nên khung dữ liệu chuẩn
IEEE 802.11 MAC được gọi là MPDU (media access control protocol data
unit). Khung MPDU chuyển xuống tầng vật lý kết hợp với trường Signal và
trường Preamble hình thành nên khung PPDU (PLCP Protocol Data Unit).
Cuối cùng khung PPDU sẽ được điều chế ODFM tạo ra tín hiệu chuẩn Wifi
IEEE 802.11 trước khi truyền ra không gian thông qua USRP. Do độ phức
tạp của mỗi tầng là khác nhau nên q trình này chia làm 3 giai đoạn chính:
MAC generator, pre-OFDM, và OFDM. Dưới đây là phần mô tả chi tiết 3
giai đoạn:
Giai đoạn 1 (MAC generator): Giai đoạn này thực hiện việc tạo khung dữ liệu MPDU thông qua 2 khối đầu tiên của sơ đồ: Message Strobe và
WIFI MAC như trình bày trong Hình 3.8.
Hình 3.8:Hai khối thực hiện giai đoạn MAC Generator.
Khối Message Strobe sẽ tạo dữ liệu gốc là một chuỗi kí tự gồm pdu_length
kí tự ‘x’ với chu kì interval (ms) một bản tin rồi truyền đến khối WIFI
MAC. Dựa theo cấu trúc của MPDU như Hình 3.9, Khối WIFI MAC
được thiết kế với chức năng ghép dữ liệu với các thông tin như: Frame
Control, các địa chỉ MAC, chuỗi kiểm tra, ... để tạo nên khung dữ liệu
MPDU hồn chỉnh như mơ tả trong Hình 3.10. Khung này được chuyển
Hình 3.9:Cấu trúc khung MPDU.
Hình 3.10: Khung MPDU được tạo sau giai đoạn MAC Generator.
Giai đoạn 2 (Pre-OFDM): Giai đoạn pre-OFDM có nhiệm vụ hình thành trường Data và Signal của khung PPDU như trình bày trong Hình 3.11.
Hình 3.11: Các khối thực hiện giai đoạn Pre-OFDM.
MPDU đi vào khối WIFI Mapper được gán thêm các trường SERVICE,
loại bỏ bit theo code rate và thực hiện kỹ thuật hoán đổi bit. Dựa vào
biến encoding, khối Chunks to Symbol sử dụng dữ liệu đã được mã hóa
để điều chế theo yêu cầu tạo nên trường Data. Trong khi đó, khối Packet
Header Generator sử dụng biến Header_formatter để xây dụng cấu trúc
cho 24 bit chứa các thông tin của dữ liệu như chiều dài, tốc độ dữ liệu,
parity bit, tail bit sau đó qua khối Chunks to Symbol sử dụng điều chế
BPSK tạo nên trường Signal. Cuối cùng khối Tagged Stream Mux nối
hai trường Signal và Data với nhau tạo nên khung PPDU gần hồn thiện
như Hình 3.12.
Hình 3.12: Cấu trúc khung dữ liệu PPDU.
Hình 3.13: Các khối thực hiện giai đoạn OFDM.
Giai đoạn 3 (OFDM): Giai đoạn này thực hiện biến đổi cuối cùng của OFDM qua 3 khối: OFDM Carrier Allocator, FFT block, OFDM Cyclic
Prefixer như trình bày trong Hình 3.13.
Theo chuẩn 802.11g, một OFDM symbol có băng thơng là 20 MHz với
16.6MHz băng thông được sử dụng để truyền dữ liệu tương đương 52
sóng mang con (48 sóng mang dữ liệu và 4 sóng mang kí tự dẫn đường
pilot) được đánh số thứ tự từ -26 đến 26 ngoại trừ 0. Khối OFDM Carrier
Allocator (Hình 3.14) sẽ thiết lập các kí tự dẫn đường có các giá trị Pilot
Symbols gán với các sóng mang con có vị trí Pilot Carriers: -21, -7, 7, 21
và sắp xếp các dữ liệu phức sau điều chế với các sóng mang con cịn lại.
Cuối cùng trường Preamble gán vào đầu khung dữ liệu bằng các giá trị
Sync Words được dùng để phát hiện, đồng bộ và ước tính kênh truyền
tại bên nhận.
Hình 3.14: Khối OFDM Carrier Allocator.
Tiếp đến là khối FFT Reverse (IFFT), khối này thực hiện chuyển đổi các
kí tự OFDM được tạo từ khối OFDM Carrier Allocator sang miền thời
gian đồng thời đảm bảo tính trực giao của các sóng mang con.
Khối cuối cùng là OFDM Cyclic Prefixer có nhiệm vụ chèn thêm các
này sẽ sao chép một số mẫu phía cuối của OFDM symbol và đưa lên đầu
kí tự. Sau khi hồn tất, tín hiệu được gửi đến khối USRP sink.
3.7.3. USRP Sink
Đây là khối cuối cùng của hệ thống như trong Hình 3.15. Khối này sử dụng
tín hiệu đã được điều chế OFDM theo chuẩn IEEE 802.11g gán với tần số
trung tâm là 2.472GHz với băng thông samp_rate bằng 20Mhz. Tại khối này
cho phép điều chỉnh công suất phát của USRP qua thông số tx_gain ở mục
RF Option (Hình 3.16).
Hình 3.16: Mục RF option trong khối USRP Sink.
3.8. Kết Quả
Trong mục này, luận văn trình bày một số kết quả thu được trong việc
truyền dữ liệu thơng qua bo mạch USRP. Sau đó, một thuật tốn tối ưu hóa
cơng suất phát được đề cập.
3.8.1. Kết Quả Truyền Tín Hiệu
Sau khi hồn thành các bước thiết kế, tín hiệu đầu vào USRP Sink trước
khi được phát ra ngồi có dạng như trong Hình 3.17. Tín hiệu trên Hình 3.17
2.482GHz, có trải phổ OFDM. Sau khi tín hiệu này phát ra ngồi khơng gian
có thể sử dụng máy tính để quan sát qua phần mềm WireShark như trong
Hình 3.18.
Hình 3.17: Phổ tín hiệu đầu ra trước khi phát ra ngồi khơng gian qua USRP.
Sau khi thiết kế và chạy thành công hệ thống phát Wifi trên USRP bằng
phần mềm GNU-Radio Companion, một file code Python được tạo ra và thuật
tốn tối ưu cơng suất tại bên phát. Bằng việc lập trình trên GNU Radio, hệ
thống tác động vào bộ điều tiết công suất của USRP N210 [28]. Tham số biến
Hình 3.18: Giao diện phần mềm Wireshark khi máy tính bắt được các bản tin từ phần cứng USRP.
3.8.2. Thuật Tốn Tối Ưu Cơng Suất Tại Bên Phát
Mơ hình trong kịch bản là hệ thống truyễn dẫn giữa 2 thiết bị, vì vậy thuật
tốn tối ưu có một đầu vào là giá trị RSSI được cập nhật trên server bởi một
người dùng. Dựa theo giải pháp được trình bày trước đó, thuật tốn điều
khiển cơng suất phát tối ưu được thiết kế như Hình 3.19.
Máy tính cập nhật liên tục giá trị RSSI từ server thời gian thực. Bất cứ
khi nào giá trị này ở dưới ngưỡng tối thiểu là -60 dBm, máy tính sẽ hiểu rằng
tín hiệu tại người dùng khơng ổn định, cần tăng công suất phát của USRP.
Và khi RSSI đạt giá trị lớn -40 dBm hay tín hiệu người dùng quá tốt để sử
dụng, máy tính sẽ có giảm cơng suất phát để tránh lãng phí tài ngun. Mỗi
lần điều chỉnh, máy tính sẽ tăng hoặc giảm 5dB giá trị tx_gain của USRP
đồng thời trễ 5s để chờ sự phản hồi chính xác từ người dùng. Việc điểu chỉnh
sẽ tiếp tục cho đến khi giá trị RSSI nằm giữa 2 khoảng giới hạn hoặc tx_gain
Hình 3.19: Lưu đồ thuật tốn tối ưu cơng suất phát được lập trình tại máy tính.
3.8.3. Lập Trình Tại Bên Thu
Tại bên nhận, Raspberry Pi 3 được lập trình Python để đọc RSSI từ module
Wifi và sử dụng thư viện firebase để cập nhật dữ liệu lên server Firebase. Lưu
đồ thuật tốn được trình bày ở Hình 3.20. Địa chỉ 23:23:23:23:23:23 là giá trị
của trường địa chỉ nguồn đã được máy tính lập trình cố định cho các bản tin
tại bên phát. Bằng cách lọc theo địa chỉ MAC, Raspberry có thể đọc được
giá trị RSSI của các bản tin từ USRP và cập nhật chúng lên server thời gian
Hình 3.20: Lưu đồ thuật tốn tại bên thu.
3.8.4. Triển Khai Và Kết Quả
Mơ hình được triển khai trong khoảng khơng gian có bán kính 20 m xung quanh thiết bị phát sóng USRP có vị trí cố định (Hình 3.21). Trong khi đó
bên nhận gồm Raspberry và module wifi với vai trò là người dùng sẽ di chuyển
ngẫu nhiên trong phạm vi phủ sóng xung quanh USRP (Hình 3.22). Các giá
trị RSSI được phản hổi từ người dùng có thể theo dõi tại giao diện được thiết
Hình 3.21: Bên phát.
Hình 3.22:Bên thu.
Tại giao diện máy tính có một cột biểu thị giá trị RSSI thay đổi liên tục
theo dữ liệu trên server thời gian thực và một thanh trượt thể hiện giá trị
tx_gain của USRP. Khi người dùng đi lại gần USRP, giá trị RSSI sẽ tăng và
USRP nhằm tiết kiệm tài ngun. Cịn khi người dùng đi về phía xa USRP,
giá trị RSSI sẽ giảm và khi ở dưới -60dBm, tx_gain sẽ tăng 5dB để đảm bảo
chất lượng tín hiệu người dùng.
Hệ thống đã hoạt động ổn định, gửi phản hồi về RSSI cũng như điều khiển
công suất đáp ứng một cách kịp thời.
Hình 3.23: Giao diện màn hình tại máy tính bên phát.
3.9. Kết Luận Chương
Chương này đã nêu ra vấn đề cần phải tối ưu công suất phát dựa trên mơ
hình được thực nghiện thực tế đồng thời thực hiện hướng giải quyết đã được
đề xuất bằng việc xây dựng hệ thống tự điều khiển cơng suất thích ứng theo
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Luận văn đã chỉ ra vấn đề đang tồn tại hiện nay trong các hệ thống viễn