Giới thiệu dự án

Trong kỷ nguyên phát triển của môi trường sống thông minh (Smart Environments) và Internet vạn vật (IoT - Internet of Things), các hệ thống nhận dạng hành vi con người (Human Activity Recognition - HAR) đóng vai trò nền tảng trong việc tự động hóa tương tác giữa người và máy. Theo các thống kê từ ngành công nghiệp IoT, nhu cầu về giao diện tương tác không chạm (touchless interface) và giám sát môi trường sống đã tăng trưởng vượt bậc với tốc độ tăng trưởng kép hàng năm (CAGR) ước tính trên 18.5%.

flowchart LR
    A[Phát tín hiệu OFDM<br/>LimeSDR Mini Tx] -->|Sóng RF 850 MHz| B(Tác động chuyển động tay)
    B -->|Tín hiệu phản xạ / tán xạ| C[Thu tín hiệu & Trích xuất CSI<br/>LimeSDR Mini Rx + GNU Radio]
    C -->|Ma trận CSI 48 Data + 4 Pilot| D[Mô hình Deep Learning<br/>LeNet-5 / BiLSTM]
    D -->|Dự đoán nhãn hành động| E[Bộ điều khiển IoT<br/>Orange Pi 5 / RPi 3B GPIO]
    E -->|Kích hoạt chân GPIO| F[Thiết bị ngoại vi / Đèn LED]

Vấn đề thực tiễn và thách thức (Problem Statement)

Các phương pháp nhận dạng con người truyền thống hiện nay đang đối mặt với nhiều rào cản kỹ thuật:

  • Phương pháp gắn thiết bị (Device-based): Yêu cầu người dùng phải liên tục mang theo cảm biến đo quán tính (IMU), đồng hồ thông minh hoặc thẻ RFID. Điều này gây bất tiện lớn, đặc biệt trong các kịch bản chăm sóc sức khỏe người cao tuổi hoặc trẻ nhỏ do nguy cơ quên hoặc chủ động tháo bỏ.
  • Phương pháp sử dụng thị giác máy tính (Vision-based): Sử dụng Camera quang học mang lại độ chính xác cao nhưng vi phạm nghiêm trọng quyền riêng tư (privacy issues), đồng thời suy giảm hiệu năng rõ rệt trong điều kiện thiếu sáng, góc khuất hoặc khói bụi.
  • Phương pháp sóng vô tuyến hiện hữu: Hầu hết các nghiên cứu khai thác thông tin trạng thái kênh truyền (CSI - Channel State Information) từ Wi-Fi đều bị phụ thuộc chặt chẽ vào các dòng card mạng cố định như Intel 5300 hay Atheros AR9300. Điều này làm mất đi tính linh hoạt trong việc cấu hình tầng vật lý (Physical Layer - PHY), tần số phát sóng, và khó triển khai trên các hệ thống nhúng chi phí thấp. Các giải pháp dựa trên thiết bị vô tuyến định nghĩa bằng phần mềm (SDR - Software Defined Radio) cao cấp như USRP lại quá đắt đỏ ($2,000 - $5,000) và phụ thuộc vào môi trường thương mại như MATLAB.

Mục tiêu đề tài

  1. Nghiên cứu cơ chế lan truyền sóng: Phân tích ảnh hưởng của chuyển động cơ thể người lên tín hiệu ghép kênh phân chia theo tần số trực giao (OFDM - Orthogonal Frequency Division Multiplexing).
  2. Xây dựng hệ thống thu phát vô tuyến khả trình hoàn chỉnh: Thiết kế chuỗi phát/thu OFDM chuẩn hóa trên nền tảng mã nguồn mở GNU Radio kết hợp với phần cứng SDR chi phí thấp (LimeSDR Mini).
  3. Trích xuất và xử lý dữ liệu CSI: Thu thập và chuẩn hóa bộ dữ liệu biên độ CSI đối với 4 hành động tay đặc trưng trong không gian thực tế.
  4. Tối ưu hóa và triển khai mô hình học sâu (Deep Learning): Huấn luyện mô hình LeNet-5 và BiLSTM, tối ưu hóa suy luận biên (Edge Inference) qua RKNPU trên máy tính nhúng Orange Pi 5 và mô hình dịch vụ (Model as a Service - MaaS) qua NVIDIA Triton Inference Server để điều khiển thiết bị IoT thời gian thực qua giao tiếp GPIO.

Phạm vi và giới hạn (Scope & Limitations)

  • Băng tần thử nghiệm: Tần số trung tâm 850 MHz, băng thông tín hiệu 1 MHz, chế độ truyền song công toàn phần (Full Duplex).
  • Môi trường triển khai: Phòng thí nghiệm E3.1, Khoa Mạng máy tính và Truyền thông, Trường ĐH Công nghệ Thông tin - ĐHQG TP.HCM.
  • Tác vụ nhận dạng: 4 trạng thái hành động tay cơ bản phục vụ điều khiển hệ thống 4 kênh LED thông qua cổng GPIO.

Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Tiêu chí Thị giác máy tính (Camera AI) Cảm biến đeo (Wearable IMU) Wi-Fi CSI (Intel 5300/ESP32) SDR USRP + MATLAB Giải pháp đề xuất (LimeSDR + GNU Radio + Edge AI)
Bảo vệ riêng tư Thấp (Lộ hình ảnh cá nhân) Cao Cao (Tín hiệu vô tuyến) Cao (Tín hiệu vô tuyến) Tuyệt đối (Dữ liệu RF CSI thuần túy)
Ảnh hưởng môi trường Cao (Ánh sáng, vật cản) Thấp Trung bình (Nhiễu đa đường) Trung bình (Nhiễu đa đường) Thấp (Hoạt động xuyên vật cản/tối)
Độ tiện dụng người dùng Cao (Device-free) Thấp (Phải đeo thiết bị) Cao (Device-free) Cao (Device-free) Cao (Hoàn toàn Device-free)
Khả năng tùy biến PHY Không áp dụng Không áp dụng Cố định chuẩn IEEE 802.11 Rất cao Rất cao (Lập trình toàn bộ tham số OFDM)
Chi phí phần cứng Trung bình ($50 - $200) Thấp ($20 - $100) Thấp ($30 - $100) Rất cao ($2,000 - $6,000) Tối ưu ($150 - $250)
Bản quyền phần mềm Mã nguồn mở / Độc quyền Mã nguồn mở Firmware vá lỗi / Linux cũ Đắt đỏ (MATLAB License) 100% Mã nguồn mở (GNU Radio, Linux, Python)

Phân tích yêu cầu hệ thống (Ma trận MoSCoW)

  • Must have: Bộ phát và bộ thu tín hiệu OFDM trên GNU Radio; module trích xuất biên độ CSI ma trận $48 \times N$; mô hình học sâu nhận dạng 4 hành động tay với độ chính xác $>90%$; module kích hoạt chân GPIO trên vi mạch nhúng.
  • Should have: Chuyển đổi mô hình sang định dạng ONNX và RKNN; triển khai suy luận trực tiếp trên bộ tăng tốc phần cứng NPU của vi xử lý RK3588S.
  • Could have: Cung cấp giao thức gRPC/REST API kết nối với NVIDIA Triton Inference Server phục vụ kiến trúc Model as a Service.
  • Won't have (lần này): Nhận diện đồng thời nhiều người trong môi trường đa đường phức tạp (Multi-user tracking); tự động bù pha sóng mang do trôi tần số (CFO) ở mức phần cứng cao tần.

Thiết kế hệ thống và ngăn xếp công nghệ (Technology Stack)

+-----------------------------------------------------------------------+
|                           TẦNG ỨNG DỤNG & IOT                         |
|   - 4x Kênh điều khiển GPIO (gpiozero v1.6.2)                         |
|   - Logic điều khiển trạng thái Actuator / Đèn LED                   |
+-----------------------------------------------------------------------+
|                        TẦNG TÍNH TOÁN & SUY LUẬN                      |
|   - Edge NPU: Orange Pi 5 (RK3588S NPU 6 TOPS, RKNN-Toolkit2 v1.5.0)  |
|   - Cloud/Server: Azure VM D2ds v4, NVIDIA Triton Server v23.04       |
|   - Deep Learning Framework: TensorFlow v2.12, Keras, ONNX Runtime    |
+-----------------------------------------------------------------------+
|                    TẦNG XỬ LÝ TÍN HIỆU SỐ (DSP)                       |
|   - GNU Radio v3.10 / GNU Radio Companion                             |
|   - Trích xuất Channel State Information (CSI) từ Pilot Subcarriers   |
|   - Điều chế / Giải điều chế: OFDM (BPSK Header, QPSK Payload)        |
+-----------------------------------------------------------------------+
|                         TẦNG VẬT LÝ & PHẦN CỨNG                       |
|   - SDR Transceiver: LimeSDR Mini (FPGA Intel MAX 10, LMS7002M RFIC)  |
|   - Máy tính nhúng: Orange Pi 5 (16GB RAM) & Raspberry Pi 3B (PiSDR)  |
|   - Antenna: Đa hướng kết nối qua giao tiếp đồng trục SMA             |
+-----------------------------------------------------------------------+

Cơ sở toán học cho việc trích xuất Channel State Information (CSI)

Trong hệ thống vô tuyến đa sóng mang OFDM, tín hiệu thu được tại miền tần số $y_i$ trên sóng mang con thứ $i$ được mô hình hóa theo phương trình: $$y_i = H_i \cdot p_i + n_i$$

Trong đó:

  • $y_i \in \mathbb{C}$: Tín hiệu nhận được tại sóng mang con thứ $i$.
  • $p_i \in \mathbb{C}$: Ký hiệu huấn luyện (pilot symbol) đã biết trước tại cả máy phát và máy thu.
  • $H_i \in \mathbb{C}$: Đáp ứng tần số của kênh truyền (Channel Frequency Response - CFR) tại sóng mang con thứ $i$.
  • $n_i \sim \mathcal{CN}(0, \sigma^2)$: Thành phần nhiễu trắng Gauss cộng (AWGN).

Ma trận trạng thái kênh truyền ước lượng được biểu diễn dưới dạng số phức $H_i = a_i + j b_i$. Hệ thống tiến hành trích xuất đặc trưng biên độ $|H_i|$ để đưa vào mạng neuron: $$|H_i| = \sqrt{a_i^2 + b_i^2}$$ $$\angle H_i = \arctan\left(\frac{b_i}{a_i}\right)$$

Quy trình phát triển (Methodology & Milestones)

Dự án được thực hiện theo phương pháp phát triển kỹ thuật lặp (Iterative Prototyping) qua 5 giai đoạn:

  1. Milestone 1 (Tuần 1 - 3): Khởi tạo chuỗi truyền nhận OFDM trên GNU Radio Companion; cấu hình tham số tầng vật lý cho LimeSDR Mini.
  2. Milestone 2 (Tuần 4 - 6): Thiết kế khối đồng bộ khung (Schmidl-Cox sync words), trích xuất dữ liệu pilot và tính toán ma trận CSI thời gian thực.
  3. Milestone 3 (Tuần 7 - 9): Xây dựng bộ công cụ thu thập dữ liệu; ghi nhận 4 nhãn cử chỉ tay; tiền xử lý và gắn nhãn tập dữ liệu chuẩn hóa.
  4. Milestone 4 (Tuần 10 - 12): Thiết kế kiến trúc mạng LeNet-5 và BiLSTM trên TensorFlow/Keras; lượng hóa mô hình sang định dạng ONNX và RKNN.
  5. Milestone 5 (Tuần 13 - 15): Tích hợp suy luận trên Orange Pi 5 NPU và Server Triton; kết nối mạch LED qua GPIO và nghiệm thu toàn diện hệ thống.

Implementation và kết quả

Chi tiết cấu hình tầng vật lý (OFDM PHY Layer)

Tham số cấu hình Giá trị thiết lập Giải thích kỹ thuật
Kích thước FFT ($N_{FFT}$) 64 Tương thích cấu trúc biến đổi Fourier chuẩn 802.11
Sóng mang dữ liệu ($N_{data}$) 48 Mang thông tin payload hữu ích
Sóng mang định vị pilot ($N_{pilot}$) 4 Tọa lạc tại các chỉ số sóng mang (-21, -7, 7, 21)
Ký hiệu Pilot chuẩn (1, 1, 1, -1) Chuỗi BPSK cố định phục vụ ước lượng kênh $H_i$
Độ dài Cyclic Prefix (CP) 16 mẫu Triệt tiêu hiện tượng can nhiễu giữa các ký hiệu (ISI)
Điều chế Header / Payload BPSK / QPSK Header đảm bảo độ bền vững cao, Payload tối ưu tốc độ
Tần số lấy mẫu ($F_s$) 1.0 MHz Băng thông chiếm dụng trên không trung
Tần số sóng mang ($F_c$) 850.0 MHz Băng tần Sub-GHz tối ưu khả năng phản xạ bề mặt cơ thể

Hiện thực khối tiền xử lý và trích xuất CSI trên GNU Radio (Python Block)

import numpy as np
from gnuradio import gr

class csi_extractor_sink(gr.sync_block):
    """
    Khối xử lý tín hiệu tùy biến trong GNU Radio trích xuất biên độ CSI
    từ các sóng mang con Pilot và Data của gói tin OFDM.
    """
    def __init__(self, fft_len=64, pilot_carriers=(-21, -7, 7, 21), pilot_symbols=(1, 1, 1, -1)):
        gr.sync_block.__init__(
            self,
            name="CSI Extractor Sink",
            in_sig=[np.complex64],
            out_sig=None
        )
        self.fft_len = fft_len
        self.pilot_carriers = pilot_carriers
        self.pilot_symbols = np.array(pilot_symbols, dtype=np.complex64)
        self.csi_buffer = []

    def work(self, input_items, output_items):
        in0 = input_items[0]
        n_samples = len(in0)
        
        # Xử lý theo từng khối FFT symbol
        for i in range(0, n_samples - self.fft_len + 1, self.fft_len):
            symbol = in0[i : i + self.fft_len]
            # Ước lượng đáp ứng kênh truyền trên các pilot subcarriers
            h_pilots = symbol[list(self.pilot_carriers)] / self.pilot_symbols
            
            # Nội suy tuyến tính biên độ kênh truyền cho toàn bộ 48 data subcarriers
            h_interpolated = np.interp(
                np.arange(self.fft_len),
                self.pilot_carriers,
                np.abs(h_pilots)
            )
            self.csi_buffer.append(h_interpolated)
            
        return n_samples

Kiến trúc các mô hình học sâu

1. Mô hình LeNet-5 (2D-CNN cho dữ liệu CSI dạng ảnh phổ)

Mô hình chuyển đổi chuỗi thời gian CSI kích thước $(T \times 52)$ thành ma trận 2 chiều, cho phép trích xuất các đặc trưng không gian - thời gian tương tự xử lý ảnh.

  • Input Layer: Shape $(64, 52, 1)$ tương ứng với 64 bước thời gian và 52 sóng mang con.
  • Conv2D (1): 32 filters, kernel $(3, 3)$, activation ReLU, padding 'same'.
  • MaxPooling2D (1): Pool size $(2, 2)$.
  • Conv2D (2): 64 filters, kernel $(3, 3)$, activation ReLU.
  • MaxPooling2D (2): Pool size $(2, 2)$.
  • Flatten & Dense: Flatten $\rightarrow$ Dense(128, ReLU) $\rightarrow$ Dropout(0.5) $\rightarrow$ Dense(4, Softmax).

2. Mô hình BiLSTM (Xử lý chuỗi dữ liệu chuỗi thời gian hai chiều)

import tensorflow as tf
from tensorflow.keras import layers, models

def build_bilstm_csi_model(input_shape=(64, 52), num_classes=4):
    """
    Xây dựng mô hình Bidirectional LSTM tối ưu cho chuỗi dữ liệu CSI
    nhận dạng cử chỉ tay thời gian thực.
    """
    model = models.Sequential([
        layers.Input(shape=input_shape),
        layers.Bidirectional(layers.LSTM(64, return_sequences=True)),
        layers.Dropout(0.3),
        layers.Bidirectional(layers.LSTM(32, return_sequences=False)),
        layers.Dropout(0.3),
        layers.Dense(64, activation='relu'),
        layers.Dense(num_classes, activation='softmax')
    ])
    
    model.compile(
        optimizer=tf.keras.optimizers.Adam(learning_rate=0.001),
        loss='sparse_categorical_crossentropy',
        metrics=['accuracy']
    )
    return model

Triển khai biên với RKNN và điều khiển GPIO

from rknnlite.api import RKNNLite
from gpiozero import LED
import numpy as np

# Khởi tạo 4 chân GPIO điều khiển LED tương ứng 4 trạng thái hành động
leds = [LED(17), LED(27), LED(22), LED(23)]

def run_rknn_edge_inference(csi_feature_matrix):
    rknn = RKNNLite()
    rknn.load_rknn('gesture_lenet.rknn')
    rknn.init_runtime(core_mask=RKNNLite.NPU_CORE_0)
    
    # Chuẩn hóa đầu vào phù hợp định dạng đầu vào của NPU RK3588S
    input_data = np.expand_dims(csi_feature_matrix, axis=(0, -1)).astype(np.float32)
    outputs = rknn.inference(inputs=[input_data])
    predicted_class = np.argmax(outputs[0])
    
    # Điều khiển bật/tắt thiết bị ngoại vi theo kết quả dự đoán
    for idx, led in enumerate(leds):
        if idx == predicted_class:
            led.on()
        else:
            led.off()
            
    rknn.release()
    return predicted_class

Kết quả đo lường và đánh giá thực nghiệm

=== MA TRẬN NHẦM LẪN (CONFUSION MATRIX) - LENET-5 MODEL ===
Dự đoán ->        Cử chỉ 1    Cử chỉ 2    Cử chỉ 3    Cử chỉ 4
Thực tế:
Cử chỉ 1 (Vẫy trái)    96.0%       2.0%        1.0%        1.0%
Cử chỉ 2 (Vẫy phải)     1.5%      95.5%        2.0%        1.0%
Cử chỉ 3 (Đẩy tới)      1.0%       2.0%       94.0%        3.0%
Cử chỉ 4 (Thu về)       1.0%       1.5%        2.0%       95.5%

Độ chính xác trung bình toàn hệ thống: 95.25%

=== ĐÁNH GIÁ HIỆU NĂNG TÍNH TOÁN VÀ ĐỘ TRỄ SUY LUẬN ===
+-------------------------+--------------------+-------------------+
| Phương thức triển khai  | Thiết bị xử lý     | Độ trễ trung bình |
+-------------------------+--------------------+-------------------+
| Model as a Service      | Azure VM D2ds v4   | 48.6 ms           |
| (NVIDIA Triton Server)  | (2 vCPU, 8GB RAM)  | (đã gồm mạng)     |
|                         |                    |                   |
| Edge Deployment         | Orange Pi 5        | 8.2 ms            |
| (RKNPU Acceleration)    | (NPU RK3588S)      | (suy luận thuần)  |
|                         |                    |                   |
| CPU Inference           | Raspberry Pi 3B    | 124.5 ms          |
| (TFLite Runtime)        | (Cortex-A53)       | (không có NPU)    |
+-------------------------+--------------------+-------------------+

Đổi mới và đóng góp

1. Các đóng góp kỹ thuật cốt lõi

  • Kiến trúc SDR độc lập phần cứng: Thoát khỏi sự phụ thuộc vào các card Wi-Fi độc quyền (Intel 5300/Atheros) bằng cách xây dựng toàn bộ pipeline OFDM chuẩn hóa trên nền tảng vô tuyến khả trình LimeSDR Mini kết hợp GNU Radio.
  • Tùy biến linh hoạt tầng vật lý (Full PHY-layer Configurability): Cho phép các nhà nghiên cứu thay đổi số lượng sóng mang con ($N_{FFT}=64, 128, 256$), tần số sóng mang tùy ý từ $10\text{ MHz}$ đến $3.5\text{ GHz}$, và cấu trúc pilot theo nhu cầu nghiên cứu cụ thể.
  • Tối ưu hóa Edge AI nhúng: Hiện thực hóa pipeline chuyển đổi từ TensorFlow $\rightarrow$ ONNX $\rightarrow$ RKNN, khai thác trọn vẹn sức mạnh tính toán 6 TOPS của NPU trên chip Rockchip RK3588S, giảm độ trễ suy luận xuống chỉ còn 8.2 ms (nhanh gấp 15.1 lần so với chạy CPU trên Raspberry Pi 3B).

2. So sánh hiệu quả với các công trình nghiên cứu tiền nhiệm

Đặc tính kỹ thuật Linux 802.11n Tool (Halperin et al.) Atheros CSI Tool (Xie et al.) USRP + MATLAB (Khan et al.) Công trình đề tài (Dang et al., 2023)
Phần cứng yêu cầu Intel 5300 NIC (Cũ, hiếm) Atheros AR93xx USRP N210 / X310 LimeSDR Mini (Nhỏ gọn, sẵn có)
Chi phí phần cứng Thấp (~$30) Thấp (~$25) Rất cao ($2,500+) Tối ưu ($150 - $200)
Bản quyền phần mềm Mã nguồn mở (Driver Linux cũ) Mã nguồn mở Độc quyền (MATLAB) 100% Mã nguồn mở (GNU Radio/Python)
Tính cơ động (Portability) Phụ thuộc Khe cắm PCIe PC Phụ thuộc Router OpenWrt Cồng kềnh, cần nguồn lớn Nhỏ gọn, chạy độc lập trên SBC nhúng
Độ chính xác nhận dạng 88% - 92% 89% - 93% 93% - 96% 94% - 95.2%
Tích hợp Actuator IoT Không có Không có Không có Trực tiếp qua GPIO thời gian thực

Ứng dụng thực tế và triển khai

Kịch bản triển khai thực tế (Real-world Use Cases)

  1. Phòng mổ vô trùng & Cơ sở y tế: Cho phép bác sĩ phẫu thuật điều khiển màn hình hiển thị bệnh án, điều chỉnh đèn phẫu thuật hoặc chuyển trang thiết bị thông qua cử chỉ tay trong không khí mà không cần chạm trực tiếp vào bề mặt, loại bỏ 100% nguy cơ nhiễm khuẩn chéo.
  2. Hệ thống Nhà thông minh (Smart Home Ambient Control): Người dùng có thể bật/tắt đèn, điều chỉnh quạt hoặc kích hoạt các ngữ cảnh phòng ngủ/phòng khách ngay cả trong bóng tối hoàn toàn hoặc khi tay đang ướt/bận cầm đồ vật.
  3. Môi trường công nghiệp & Nhà máy hóa chất: Công nhân thao tác máy móc nguy hiểm từ khoảng cách an toàn thông qua cử chỉ không gian, bảo vệ an toàn lao động trong môi trường độc hại hoặc rung lắc mạnh.
                    MÔ HÌNH HỆ THỐNG TRIỂN KHAI THỰC TẾ
  [Vùng không gian tương tác]
         \ (Cử chỉ tay) /
          \            /
   [Tx LimeSDR] ~~~~~~~~ [Rx LimeSDR]
                              |
                              v (Giao tiếp USB 3.0)
                    [Orange Pi 5 (RK3588S)]
                    +------------------------------------+
                    | - GNU Radio CSI Extraction Block   |
                    | - NPU Inference Engine (RKNN)      |
                    | - Logic Controller (Python)        |
                    +------------------------------------+
                              |
                              +---> [Chân GPIO] ---> [Relay / Thiết bị IoT]
                              |
                              +---> [Cáp LAN]  ---> [Hệ thống MQTT / Home Assistant]

Phân tích chi phí - lợi ích (Cost-Benefit Analysis)

  • Chi phí đầu tư thiết bị (CAPEX): Một trạm thu phát hoàn chỉnh gồm 01 LimeSDR Mini ($180) + 01 Orange Pi 5 16GB ($110) + Module ngoại vi ($20) $\approx$ $310 USD. So với các hệ thống radar chuyên dụng ($1,500 - $3,000) hoặc USRP ($2,500+), giải pháp tiết kiệm 75% - 85% chi phí đầu tư phần cứng.
  • Chi phí vận hành (OPEX): Mức tiêu thụ công suất của toàn bộ hệ thống nhúng khi hoạt động toàn tải chỉ từ 7W - 12W, tiết kiệm hơn 90% điện năng so với việc duy trì máy trạm PC gắn GPU để xử lý thị giác máy tính liên tục 24/7.

Hạn chế và hướng phát triển

Các hạn chế kỹ thuật hiện tại

  • Nhiễu đa đường do môi trường động (Dynamic Clutter): Khi có người khác di chuyển đồng thời trong cùng phòng, biên độ tín hiệu CSI bị biến dạng phức tạp, làm giảm độ chính xác nhận dạng đối với người tương tác chính.
  • Băng thông kết nối USB 2.0: Trên các vi máy tính nhúng thế hệ cũ (Raspberry Pi 3B), tốc độ truyền nhận USB 2.0 làm giới hạn tần số lấy mẫu tối đa của SDR ở mức 1 MHz, chưa khai thác hết băng thông 30.72 MHz của LimeSDR Mini.
  • Tính tổng quát hóa giữa các môi trường (Cross-environment Generalization): Mô hình học sâu huấn luyện tại phòng Lab E3.1 cần phải được tinh chỉnh (fine-tuning) lại khi chuyển sang phòng có kết cấu tường và nội thất khác do đặc tính phản xạ sóng vô tuyến thay đổi.

Hướng nghiên cứu và phát triển tiếp theo

  • Ứng dụng học thích ứng miền (Domain Adaptation & Transfer Learning): Tích hợp các mạng đối kháng tạo sinh (GAN) hoặc kiến trúc Autoencoder để tự động chuẩn hóa dữ liệu CSI giữa các phòng khác nhau mà không cần thu thập lại tập dữ liệu lớn.
  • Mở rộng mảng Antenna MIMO: Ứng dụng cấu hình nhiều ăng-ten thu phát (MIMO 2x2 hoặc 4x4) để kết hợp đồng thời thông tin góc tới (Angle of Arrival - AoA) và biên độ/pha CSI, nâng cao khả năng phân tách đa người dùng.
  • Chuẩn hóa chuẩn truyền thông tích hợp (ISAC - Integrated Sensing and Communication): Nghiên cứu tích hợp chức năng nhận dạng chuyển động trực tiếp lên các khung truyền dữ liệu mạng 5G/6G thế hệ mới.

Đối tượng hưởng lợi

1. Sinh viên và Giảng viên ngành Mạng & Viễn thông

  • Cung cấp mã nguồn và mô hình mẫu chi tiết về cách kết nối các khối xử lý tín hiệu số SDR trong GNU Radio với các framework AI hiện đại (TensorFlow, ONNX).
  • Tài liệu học tập trực quan về cấu trúc gói tin OFDM, kỹ thuật ước lượng kênh truyền pilot-based và xử lý tín hiệu thực tế.

2. Kỹ sư nhúng và Nhà phát triển IoT

  • Hướng dẫn thực hành từng bước (step-by-step pipeline) để lượng hóa và triển khai các mô hình Deep Learning từ máy tính nghiên cứu xuống bộ tăng tốc phần cứng NPU (Rockchip RKNN).
  • Mẫu kiến trúc liên kết trực tiếp giữa đầu ra suy luận AI với các giao tiếp điều khiển phần cứng cấp thấp (GPIO, I2C, SPI).

3. Doanh nghiệp và Đơn vị phát triển sản phẩm Smart Home

  • Tiếp cận giải pháp công nghệ nhận dạng không tiếp xúc với chi phí sản xuất thấp, không vướng phải các rào cản pháp lý khắt khe về quyền riêng tư hình ảnh của người dùng tại các thị trường phát triển (GDPR compliant).

Câu hỏi thường gặp

1. Yêu cầu cấu hình tối thiểu để tự triển khai lại hệ thống này là gì?

Về phần cứng, bạn cần ít nhất 01 thiết bị SDR hỗ trợ Full-Duplex (LimeSDR Mini, HackRF One + Upconverter, hoặc BladeRF), 01 máy tính nhúng (khuyến nghị Orange Pi 5 có NPU hoặc máy tính cá nhân chạy Ubuntu 20.04/22.04 LTS), và ăng-ten phù hợp băng tần 850 MHz/2.4 GHz. Về phần mềm, hệ thống yêu cầu cài đặt GNU Radio v3.8+, Python 3.8+, TensorFlow 2.x và bộ công cụ RKNN-Toolkit2.

2. Vì sao đề tài lại ưu tiên dữ liệu biên độ CSI thay vì dữ liệu góc pha (Phase)?

Dữ liệu pha đo được từ các thiết bị phần cứng vô tuyến phổ thông thường bị nhiễu xoay pha rất lớn (Phase Noise) và trôi dạt pha do xung nhịp (Clock Drift / Sampling Frequency Offset - SFO) giữa bộ tạo dao động nội của máy phát và máy thu không đồng bộ tuyệt đối. Nếu không có mạch phần cứng khử trôi pha chuyên sâu, dữ liệu biên độ ($|H|$) mang tính ổn định và phản ánh trực tiếp sự thay đổi năng lượng tán xạ của chuyển động tay rõ nét hơn.

3. Hệ thống có thể mở rộng để nhận diện các hành vi phức tạp hơn như phát hiện té ngã (Fall Detection) không?

Hoàn toàn có thể. Bằng cách điều chỉnh cửa sổ thời gian quan sát (Time Window) dài hơn (từ 2 đến 5 giây) và tăng độ sâu của mạng BiLSTM hoặc sử dụng kiến trúc Transformer (như Temporal Convolutional Networks / Vision Transformers), hệ thống có thể mở rộng nhận dạng các chuyển động toàn thân như đi bộ, ngồi xuống, đứng lên và ngã đột quỵ.

4. Chi phí bản quyền phần mềm khi thương mại hóa giải pháp này là bao nhiêu?

Toàn bộ ngăn xếp phần mềm sử dụng trong dự án (GNU Radio, Linux Kernel, PiSDR, Python, TensorFlow, ONNX Runtime, RKNN-Lite) đều thuộc các giấy phép mã nguồn mở (GPL, Apache 2.0, MIT). Do đó, chi phí bản quyền phần mềm cho việc nghiên cứu và tích hợp sản phẩm là 0 VNĐ.

5. Khoảng cách hoạt động tối ưu của hệ thống là bao nhiêu mét?

Trong điều kiện tầm nhìn thẳng (Line-of-Sight - LoS) tại phòng thí nghiệm với công suất phát $0\text{ dBm}$ (1 mW) của LimeSDR Mini, khoảng cách hoạt động tối ưu giữa ăng-ten phát và thu là từ $1.5\text{ m}$ đến $3.5\text{ m}$, với người thực hiện thao tác cử chỉ tay nằm trong vùng Fresnel thứ nhất giữa hai ăng-ten.


Kết luận

Đề tài khóa luận tốt nghiệp đã giải quyết thành công bài toán nhận dạng hành vi tay con người thông qua sóng vô tuyến bằng cách kết hợp liên ngành giữa Xử lý tín hiệu số vô tuyến (SDR/OFDM)Trí tuệ nhân tạo biên (Edge AI):

  • Xây dựng thành công chuỗi truyền nhận và trích xuất dữ liệu trạng thái kênh truyền (CSI) 100% mã nguồn mở trên nền tảng GNU Radio và phần cứng LimeSDR Mini, xóa bỏ sự phụ thuộc vào các thiết bị mạng thương mại độc quyền.
  • Đạt độ chính xác nhận dạng ấn tượng 95.25% với mô hình LeNet-5 và 94.10% với mô hình BiLSTM trên tập dữ liệu cử chỉ tay thực tế.
  • Tối ưu hóa suy luận biên thành công trên vi xử lý Rockchip RK3588S với độ trễ cực thấp 8.2 ms, trực tiếp kích hoạt các chân GPIO điều khiển thiết bị ngoại vi theo thời gian thực.

Công trình không chỉ mở ra hướng đi mới trong việc nghiên cứu giao tiếp người - máy không tiếp xúc mà còn đặt nền móng kỹ thuật vững chắc cho các giải pháp IoT bảo mật, chi phí thấp và tôn trọng quyền riêng tư người dùng.