Giới thiệu dự án

Mạng cảm biến không dây (Wireless Sensor Networks - WSN) là nền tảng cốt lõi trong kỷ nguyên Internet of Things (IoT), giám sát công nghiệp và quân sự. Theo các báo cáo kỹ thuật ngành viễn thông, hơn 80% năng lượng của một nút cảm biến tiêu hao vào khối thu phát vô tuyến (RF Transceiver), trong đó việc truyền lại các gói tin bị lỗi chiếm từ 30% đến 50% tổng năng lượng lãng phí. Trong môi trường truyền sóng không dây công suất thấp, các hiện tượng suy hao đường truyền (path loss), đa đường (multipath fading) và nhiễu kênh làm gia tăng đột biến tỷ lệ lỗi bit (Bit Error Rate - BER) và tỷ lệ lỗi gói tin (Packet Error Rate - PER).

Vấn đề sống còn của WSN là tối ưu hóa tài nguyên năng lượng cực kỳ hạn chế từ nguồn pin độc lập (thường từ 2.0V - 3.6V trên các node MicaZ, Mica2) trong khi vẫn phải đảm bảo độ tin cậy truyền dữ liệu qua nhiều chặng (multi-hop). Phương pháp truyền thống dựa trên cơ chế tự động phát lại (Automatic Repeat Request - ARQ) bộc lộ nhược điểm nghiêm trọng: chi phí năng lượng truyền 1 KB dữ liệu ở khoảng cách 100m tương đương với việc thực thi hơn 3.000 lệnh xử lý tính toán của vi điều khiển, khiến cơ chế phát lại toàn bộ gói tin trở thành gánh nặng tiêu thụ nguồn.

Đồ án tập trung nghiên cứu, xây dựng mô hình phân tích lớp chéo (Cross-Layer Framework) và tối ưu hóa kỹ thuật Sửa lỗi trước khi truyền (Forward Error Correction - FEC) kết hợp ARQ lai ghép (Hybrid ARQ - HARQ) trên nền tảng phần cứng nút mạng MicaZ và Mica2.

graph TD
    A[Môi trường truyền sóng WSN] -->|Nhiễu / Suy hao| B(Kênh truyền vô tuyến)
    B -->|Tỷ lệ lỗi Bit / Gói cao| C{Cơ chế kiểm soát lỗi}
    C -->|ARQ: Phát lại toàn bộ gói| D[Tiêu hao năng lượng truyền thông cao]
    C -->|FEC: Mã khối tuyến tính| E[Sửa lỗi tại chỗ - Tăng cự ly bước nhảy]
    C -->|HARQ: Kết hợp FEC + ARQ| F[Tối ưu hóa năng lượng & Độ trễ thích ứng]
    E --> G[Kéo dài tuổi thọ mạng WSN]
    F --> G

Mục tiêu dự án

  1. Phân tích toàn diện đặc tính tiêu thụ năng lượng và phân bố lỗi kênh vô tuyến thông qua thực nghiệm 10.000 gói tin trên phần cứng chip vô tuyến tiêu chuẩn (Chipcon CC2420 / CC1000).
  2. Thiết kế và cài đặt các thuật toán mã sửa lỗi khối tuyến tính (Linear Block Codes), bao gồm mã cột trọng số lẻ (Odd-weight-column), mã sửa lỗi kép - phát hiện 3 lỗi (DEC-TED 16,8) và mã BCH (Bose-Chaudhuri-Hocquenghem).
  3. Xây dựng mô hình phân tích lớp chéo (Cross-Layer) tích hợp giữa tầng Vật lý (PHY), tầng Liên kết dữ liệu (MAC) và tầng Mạng (Routing) để đánh giá chính xác cự ly bước nhảy dự kiến $E[d_h]$, năng lượng tiêu thụ $E[E_h]$, độ trễ $E[T_h]$ và PER.
  4. Đánh giá định lượng hiệu năng của FEC so với ARQ truyền thống trên mô phỏng MATLAB và thực nghiệm, xác định ngưỡng chuyển đổi tối ưu nhằm tiết kiệm năng lượng toàn mạng.

Phạm vi và Giới hạn

  • Phần cứng mục tiêu: Dòng nút cảm biến Berkeley Mote thế hệ Mica2 (sử dụng điều chế FSK băng tần 433/868/915 MHz) và MicaZ (chuẩn IEEE 802.15.4, chip RF CC2420 băng tần ISM 2.4 GHz, điều chế O-QPSK với kỹ thuật trải phổ trực tiếp DSSS).
  • Môi trường phần mềm: Hệ điều hành TinyOS 2.x, ngôn ngữ NesC và môi trường tính toán số MATLAB R2011a/R2021b.
  • Giới hạn: Nghiên cứu tập trung vào luồng dữ liệu đơn hướng từ các nút cảm biến phân tán về nút gốc (Sink Node), giả định các nút có chu kỳ thức/ngủ độc lập (Duty Cycle $\delta$).

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

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

Trong mạng cảm biến không dây công suất thấp, các cơ chế xử lý lỗi hiện có bao gồm:

Giải pháp Cơ chế chính Ưu điểm Nhược điểm Đánh giá WSN
Kiểm soát năng lượng (Power Control) Điều chỉnh công suất phát $P_t$ của ăng-ten để cải thiện tỷ lệ tín hiệu trên nhiễu (SNR) Giảm tỷ lệ lỗi bit trực tiếp ở tầng vật lý Tăng nhiễu giao thoa đến các nút láng giềng; yêu cầu giao thức quản lý phức tạp Chỉ phù hợp với mạng quy mô nhỏ hoặc đường truyền cố định
ARQ (Stop-and-Wait / Go-Back-N) Bên nhận phát hiện lỗi qua CRC-16; yêu cầu bên gửi truyền lại toàn bộ gói Thuật toán đơn giản, không tốn tài nguyên tính toán giải mã Tiêu hao năng lượng RF cực lớn khi kênh có chất lượng xấu; độ trễ tích lũy cao Không tối ưu cho kênh truyền có BER cao
FEC (Forward Error Correction) Chèn thêm các bit dư thừa (Redundant Bits) để tự phục hồi bit lỗi tại node nhận Giảm thiểu số lần truyền lại; mở rộng cự ly bước nhảy; chịu nhiễu tốt Tăng kích thước gói tin (Overhead) và năng lượng giải mã trên vi điều khiển Rất phù hợp cho WSN khi thiết kế mã có độ phức tạp thấp
HARQ-I / HARQ-II Kết hợp phát hiện lỗi, truyền lại và mã hóa sửa lỗi có điều kiện Tự thích ứng với biến động chất lượng kênh truyền Quản lý bộ nhớ đệm (Buffer) phức tạp tại nút nhận (đối với HARQ-II) Tối ưu cho các nút cảm biến có cấu hình trung và cao cấp

Yêu cầu hệ thống theo mô hình MoSCoW:

  • Must Have: Thuật toán mã hóa/giải mã mã khối tuyến tính có khả năng sửa lỗi đơn bit (1-bit) và 2-bit (Double-bit error); mô hình toán học lớp chéo đánh giá $E[d_h]$ và PER.
  • Should Have: Triển khai mã DEC-TED (16,8) và thuật toán Berlekamp-Massey giải mã BCH $(128, 78, 7)$; cơ chế bắt tay 3 bước RTS-CTS-DATA cho FEC thay vì 4 bước RTS-CTS-DATA-ACK của ARQ.
  • Could Have: Cơ chế HARQ loại I (HARQ-I) gửi kèm mã FEC khi nhận tín hiệu NACK.
  • Won't Have: Bộ giải mã Soft-decision Viterbi phức tạp vượt quá dung lượng RAM 4KB của vi điều khiển 8-bit ATmega128L.

Thiết kế hệ thống

Kiến trúc giải pháp được thiết kế theo mô hình tương tác lớp chéo chặt chẽ giữa 3 tầng giao thức:

graph LR
    subgraph "Mô hình Lớp Chéo (Cross-Layer Design)"
        PHY["Tầng Vật Lý (PHY)<br/>- Công suất phát Pt<br/>- Điều chế O-QPSK / FSK<br/>- Ngưỡng SNR (ψTh)"]
        MAC["Tầng Liên Kết (MAC)<br/>- Bắt tay RTS-CTS-DATA<br/>- Mã hóa / Giải mã FEC<br/>- Tránh va chạm CSMA/CA"]
        NET["Tầng Mạng (Routing)<br/>- Chọn bước nhảy dựa trên SNR<br/>- Ước lượng cự ly E[dh]<br/>- Tối ưu đường truyền Multi-hop"]
    end
    PHY <-->|Thông số SNR & BER| MAC
    MAC <-->|Độ trễ & Năng lượng bước nhảy| NET

Stack công nghệ và phần cứng:

  • Vi điều khiển (MCU): Atmel ATmega128L (8-bit RISC, 8 MHz clock, 128 KB Flash, 4 KB SRAM).
  • RF Transceiver: Chipcon CC2420 (2.4 GHz, IEEE 802.15.4, công suất phát tối đa 0 dBm, dòng thu 18.8 mA, dòng phát 17.4 mA).
  • Hệ điều hành mạng nhúng: TinyOS v2.1.2 với mô hình hướng sự kiện (Event-driven Architecture).
  • Ngôn ngữ phát triển: NesC (Network Embedded Systems C) cho phần mềm nhúng, C/MATLAB cho phân tích toán học.

Methodology

Quy trình nghiên cứu áp dụng phương pháp lặp kết hợp giữa lý thuyết thông tin vô tuyến và thực nghiệm định lượng:

  1. Phân tích toán học: Thiết lập hệ phương trình năng lượng tiêu thụ tổng thể cho một nút cảm biến: $$E_c = E_{st} + E_{sw} + E_{rx} + E_{tx}$$ Trong đó, năng lượng phát $E_{tx}$ và thu $E_{rx}$ phụ thuộc vào kích thước gói tin $l_{PKT}$, cự ly truyền $d$, hệ số suy hao đường truyền $n \approx 3 \div 4$, và năng lượng giải mã vi xử lý $E_{dec}$.
  2. Xây dựng mô hình thống kê hình học: Tích phân xác suất chọn nút kế tiếp trong vùng hình quạt $dA = d\gamma d\alpha$ dựa trên phân bố Poisson mật độ nút $\rho$ và chu kỳ thức $\delta$.
  3. Mô phỏng và Kiểm chứng: Chạy mô phỏng Monte-Carlo trên MATLAB để đánh giá hiệu năng tiêu thụ năng lượng và độ trễ toàn trình dưới các điều kiện SNR ngưỡng $\psi_{Th}$ thay đổi từ 0 dB đến 15 dB.

Implementation và kết quả

Development process

Cốt lõi của giải pháp là cơ chế mã hóa và giải mã khối tuyến tính hệ thống $C(n, k)$ chuyển đổi $k$ bit dữ liệu thành từ mã $n$ bit ($n - k$ bit kiểm tra chẵn lẻ).

1. Thuật toán mã hóa và Ma trận sinh $G$

Cấu trúc ma trận sinh hệ thống có dạng: $$G = [I_k : P]$$ Trong đó $I_k$ là ma trận đơn vị kích thước $k \times k$, và $P$ là ma trận nhị phân kích thước $k \times (n-k)$. Từ mã $v$ được tạo ra từ vector thông tin $u$ thông qua phép nhân ma trận trên trường nhị phân Galois $\text{GF}(2)$: $$v = u \cdot G$$

2. Thuật toán giải mã và Tính toán Hội chứng lỗi (Syndrome)

Tại phía thu, gói tin nhận được $r = v + e$ (với $e$ là vector lỗi) được kiểm tra thông qua ma trận kiểm tra chẵn lẻ $H = [P^T : I_{n-k}]$. Hội chứng lỗi $s$ kích thước $1 \times (n-k)$ được tính toán: $$s = r \cdot H^T = (v + e) \cdot H^T = u \cdot G \cdot H^T + e \cdot H^T = e \cdot H^T$$

  • Nếu $s = 0$: Không có lỗi xuất hiện.
  • Nếu $s \neq 0$: So khớp $s$ với các cột của ma trận $H$. Nếu $s$ trùng với cột thứ $i$ của $H$, lỗi xảy ra tại bit thứ $i$ (lỗi đơn bit). Đối với mã DEC-TED $(16,8)$, nếu $s$ trùng với phép XOR giữa cột $i$ và cột $j$, lỗi xảy ra tại vị trí bit $i$ và $j$ (lỗi 2-bit).
/**
 * @file fec_dected_16_8.c
 * @brief Module giải mã sửa lỗi DEC-TED (16,8) tối ưu hóa cho MCU 8-bit trên nút MicaZ
 */

#include <stdint.h>

#define K_BITS 8
#define N_BITS 16
#define PARITY_BITS 8

// Ma trận kiểm tra chuyển vị H^T (16 hàng x 8 cột)
static const uint8_t HT_TABLE[16] = {
    0xB1, 0x72, 0x34, 0x58, 0x95, 0xCA, 0x6C, 0x8E, // P^T (8 byte cho data)
    0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80  // I_8 (8 byte cho parity)
};

/**
 * Tính toán Syndrome và tự động sửa tối đa 2 bit lỗi
 * @param received_codeword Từ mã 16-bit nhận được từ RF CC2420
 * @param decoded_data Con trỏ chứa 8-bit dữ liệu sau khi sửa sai
 * @return 0: Thành công (không lỗi/đã sửa), -1: Lỗi không thể sửa (>= 3 bits)
 */
int8_t fec_decode_dected(uint16_t received_codeword, uint8_t *decoded_data) {
    uint8_t syndrome = 0;
    
    // 1. Tính toán hội chứng lỗi s = r * H^T
    for (uint8_t i = 0; i < N_BITS; i++) {
        if ((received_codeword >> i) & 0x01) {
            syndrome ^= HT_TABLE[i];
        }
    }
    
    // Nếu s == 0, dữ liệu không có lỗi
    if (syndrome == 0) {
        *decoded_data = (uint8_t)(received_codeword & 0xFF);
        return 0;
    }
    
    // 2. Kiểm tra và sửa lỗi 1-bit
    for (uint8_t i = 0; i < N_BITS; i++) {
        if (syndrome == HT_TABLE[i]) {
            received_codeword ^= (1 << i); // Đảo bit lỗi
            *decoded_data = (uint8_t)(received_codeword & 0xFF);
            return 0; // Đã sửa lỗi đơn bit
        }
    }
    
    // 3. Kiểm tra và sửa lỗi 2-bit
    for (uint8_t i = 0; i < N_BITS - 1; i++) {
        for (uint8_t j = i + 1; j < N_BITS; j++) {
            if ((HT_TABLE[i] ^ HT_TABLE[j]) == syndrome) {
                received_codeword ^= (1 << i);
                received_codeword ^= (1 << j);
                *decoded_data = (uint8_t)(received_codeword & 0xFF);
                return 0; // Đã sửa thành công 2 bit lỗi
            }
        }
    }
    
    // Lỗi từ 3 bit trở lên -> Không thể phục hồi (Thông báo yêu cầu tầng trên xử lý)
    return -1;
}

Testing và validation

Hiệu năng của các thuật toán được kiểm chứng thông qua bộ tham số mô phỏng chuẩn của nút MicaZ:

  • Năng lượng tiêu thụ mạch điện: $P_{TX-elec} = 59.1\text{ mW}$, $P_{RX-elec} = 59.1\text{ mW}$.
  • Năng lượng khởi động $P_{LO} = 22.5\text{ mW}$, thời gian khởi động $t_{st} = 0.86\text{ ms}$.
  • Chu kỳ lệnh vi điều khiển $t_{cycle} = 250\text{ ns}$ tại điện áp $V = 3.0\text{ V}$, dòng $I_{proc} = 8\text{ mA}$.
  • Trọng tải dữ liệu $l_D = 128\text{ bytes}$, gói điều khiển $l_C = 16\text{ bytes}$.
========================= KẾT QUẢ BENCHMARK MÔ PHỎNG VÀ THỰC NGHIỆM =========================
Kịch bản kiểm thử: 10,000 gói tin truyền liên tục | Kênh truyền Fading Rayleigh | Công suất Pt = -5 dBm
---------------------------------------------------------------------------------------------
Thông số đánh giá              ARQ (Chuẩn)       FEC BCH(128,78,7)    DEC-TED(16,8)    HARQ-I
---------------------------------------------------------------------------------------------
Tỷ lệ nhận gói mục tiêu        90.0%             90.0%                90.0%            90.0%
Cự ly bước nhảy trung bình     29.0 mét          42.0 mét             36.5 mét         44.2 mét
Cải thiện cự ly bước nhảy      Gốc (0.0%)        +44.8%               +25.8%           +52.4%
Ngưỡng SNR yêu cầu (PER 10^-2) 6.1 dB            3.0 dB               4.2 dB           2.5 dB
Năng lượng mã hóa/giải mã      0.0 µJ            14.2 µJ              2.8 µJ           8.6 µJ
Tổng năng lượng luồng (100m)   18.4 mJ           12.6 mJ              14.1 mJ          11.2 mJ
Tiết kiệm năng lượng luồng     --                -31.5%               -23.3%           -39.1%
=============================================================================================

Kết quả đạt được

  1. Mở rộng cự ly bước nhảy: Khi áp dụng mã FEC BCH(128, 78, 7), tầm phủ truyền dẫn hiệu quả của nút MicaZ tăng từ 29m lên 42m (tăng 44.8%) ở mức công suất phát $-5\text{ dBm}$ với cùng mức chất lượng PER mục tiêu.
  2. Tối ưu hóa ngưỡng SNR: Mã FEC giúp hạ thấp ngưỡng SNR yêu cầu để đạt mức PER $10^{-2}$ từ $6.1\text{ dB}$ (ARQ) xuống còn $3.0\text{ dB}$ (BCH) và $2.5\text{ dB}$ (HARQ-I).
  3. Giảm năng lượng truyền thông đa chặng: Nhờ cự ly bước nhảy được mở rộng, số lượng chặng trung gian từ nguồn tới Sink giảm trung bình từ $4.2$ chặng xuống còn $2.6$ chặng, giúp tiết kiệm $31.5%$ tổng năng lượng tiêu thụ trên toàn tuyến.

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

  • Mô hình hóa lớp chéo hợp nhất: Không khảo sát độc lập mã sửa lỗi ở tầng vật lý, đồ án thiết lập thành công mô hình toán học tích hợp giữa điều chế (O-QPSK/FSK), truy cập kênh MAC (RTS-CTS-DATA) và định tuyến đa chặng.
  • Cơ chế sửa lỗi cục bộ trọng số nhẹ: Đề xuất triển khai mã DEC-TED $(16,8)$ sử dụng bảng tra cứu ma trận hội chứng tối ưu cho vi điều khiển 8-bit, tiêu tốn chỉ $2.8\text{ µJ}$ cho một lần giải mã mà vẫn sửa hoàn toàn các mẫu lỗi chiếm tới hơn $85%$ thực tế kênh truyền.
  • Khám phá ngưỡng chuyển giao hiệu năng: Chứng minh định lượng rằng FEC vượt trội hoàn toàn so với ARQ trong môi trường SNR thấp ($\psi_{Th} < 5\text{ dB}$); ngược lại, khi kênh có chất lượng rất tốt ($\psi_{Th} > 12\text{ dB}$), ARQ thuần túy lại tiết kiệm năng lượng hơn do không phải gánh chi phí bit dư thừa.

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

Tình huống ứng dụng thực tế

  1. Nông nghiệp chính xác: Triển khai mạng WSN giám sát độ ẩm, nhiệt độ đất trên cánh đồng hàng chục hecta. Các node đặt cách xa nhau, kênh truyền bị ảnh hưởng bởi tán cây và độ ẩm không khí. Việc tăng cự ly truyền từ 29m lên 42m giúp giảm $30%$ số lượng node trung chuyển cần lắp đặt.
  2. Quan trắc môi trường và phát hiện cháy rừng: Các nút cảm biến thả ngẫu nhiên từ trên không vào địa hình hiểm trở, không thể thay pin. Việc tiết kiệm $31.5%$ năng lượng luồng giúp tăng tuổi thọ toàn mạng từ 18 tháng lên hơn 26 tháng.
  3. Giám sát kết cấu công trình (Cầu đường, Đập thủy điện): Môi trường có cấu trúc bê tông cốt thép gây hiện tượng đa đường nghiêm trọng, mã FEC và HARQ đảm bảo gói tin cảnh báo dao động truyền về trung tâm với độ trễ tức thời, không bị nghẽn do phát lại liên tục.

Phân tích Chi phí - Lợi ích (Cost-Benefit & ROI)

  • Chi phí phần cứng: Chi phí vi điều khiển và module RF không đổi do thuật toán được tối ưu trực tiếp trên firmware (TinyOS).
  • Chi phí bảo trì: Giảm $40%$ chi phí nhân công thay thế pin định kỳ tại các địa hình phức tạp.
  • Thời gian hoàn vốn (ROI): Đối với một trang trại thông minh quy mô 1.000 nodes, việc giảm $300$ node định tuyến phụ trợ giúp tiết kiệm ngay lập tức khoảng $4.500\text{ USD}$ chi phí thiết bị ban đầu.

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

Hạn chế kỹ thuật

  • Chi phí tính toán với mã đại số phức tạp: Các mã Reed-Solomon RS(15,9,3) có cấu trúc trường $\text{GF}(2^4)$ đòi hỏi nhiều chu kỳ nhân ma trận phức tạp, dẫn đến năng lượng giải mã trên vi điều khiển 8-bit đôi khi bù trừ mất lợi ích truyền sóng nếu kích thước gói tin quá ngắn.
  • Kích thước bộ đệm giới hạn: Cơ chế HARQ-II đòi hỏi lưu trữ các khung tin chưa giải mã tại nút nhận, tạo áp lực lên bộ nhớ SRAM 4KB của vi điều khiển ATmega128L khi mật độ gói cao.

Hướng phát triển

  • Thiết kế cơ chế Kiểm soát lỗi thích ứng (Adaptive Error Control): Tự động chuyển đổi giữa ARQ, FEC và HARQ dựa trên việc giám sát động chỉ số RSSI/LQI (Link Quality Indication) theo thời gian thực.
  • Tích hợp mã kiểm tra độ phân tán chẵn lẻ thấp (LDPC) và mã Turbo trên các dòng vi điều khiển 32-bit hiệu năng cao ARM Cortex-M4/M33.

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

  • Sinh viên chuyên ngành Điện tử - Viễn thông, IoT, CNTT: Tài liệu tham khảo chi tiết với mã nguồn C/NesC hoàn chỉnh, các công thức toán học lớp chéo và phương pháp thiết lập mô phỏng MATLAB.
  • Kỹ sư nhúng và IoT Developers: Nắm vững kỹ thuật lập trình mã sửa lỗi dung lượng thấp trên các vi điều khiển hạn chế tài nguyên, hiểu rõ trade-off giữa năng lượng RF và năng lượng tính toán.
  • Doanh nghiệp triển khai giải pháp WSN: Cơ sở kỹ thuật để tối ưu hóa mật độ trạm thu phát, kéo dài thời gian hoạt động của thiết bị và cắt giảm chi phí đầu tư hạ tầng mạng.
  • Nhà nghiên cứu mạng không dây: Khung phân tích lớp chéo tiêu chuẩn làm tiền đề để mở rộng sang các công nghệ LPWAN hiện đại như LoRaWAN, NB-IoT và ZigBee PRO.

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

1. Yêu cầu cấu hình phần cứng tối thiểu để triển khai giải pháp là gì?

Giải pháp được thiết kế tối ưu cho vi điều khiển 8-bit (như Atmel ATmega128L hoặc ATmega328P), dung lượng RAM tối thiểu 2 KB, Flash tối thiểu 32 KB và tương thích với các module thu phát vô tuyến công suất thấp như TI CC2420, CC1101, hoặc Silicon Labs Si4463.

2. Tại sao đồ án tập trung vào mã sửa lỗi 1-bit và 2-bit thay vì đa bit?

Dữ liệu thực nghiệm từ 10.000 gói tin truyền qua kênh vô tuyến WSN chỉ ra rằng hơn 85% các gói bị lỗi chỉ chứa lỗi đơn lẻ hoặc lỗi đôi. Việc thiết kế mã sửa lỗi 1-bit và 2-bit (như DEC-TED 16,8) mang lại tỷ lệ chi phí/hiệu quả cao nhất, tránh được độ phức tạp tính toán khổng lồ của các bộ giải mã đa bit.

3. Thuật toán có thể tích hợp trực tiếp vào hệ thống ZigBee thương mại không?

Có. Do thuật toán được module hóa ở tầng MAC, hệ thống có thể tích hợp trực tiếp vào ngăn xếp giao thức IEEE 802.15.4 / ZigBee bằng cách chèn trường mã kiểm tra vào trước trường FCS (Frame Check Sequence) trong cấu trúc khung chuẩn.

4. Chi phí trễ do giải mã có ảnh hưởng đến các ứng dụng thời gian thực không?

Với mã khối DEC-TED $(16,8)$ sử dụng bảng tra cứu, thời gian giải mã trên MCU 8 MHz chỉ mất khoảng $15 \div 30\text{ µs}$, hoàn toàn không đáng kể so với thời gian truyền sóng vô tuyến (khoảng vài mili-giây cho một gói tin 128 bytes), đảm bảo đáp ứng tốt các yêu cầu thời gian thực.

5. Khi nào nên dùng ARQ thay vì FEC?

ARQ nên được kích hoạt khi kênh truyền đạt chất lượng cao (SNR ngưỡng $\psi_{Th} > 12\text{ dB}$, PER $< 10^{-3}$). Khi đó, xác suất lỗi cực thấp, việc gửi các bit dữ liệu thuần túy không kèm bit dư thừa sẽ tiết kiệm băng thông và năng lượng tối đa.


Kết luận

Đồ án đã giải quyết thành công bài toán tối ưu hóa năng lượng truyền thông trong Mạng cảm biến không dây (WSN) thông qua việc nghiên cứu chuyên sâu các cơ chế kiểm soát lỗi và xây dựng mô hình phân tích lớp chéo. Kết quả nghiên cứu chứng minh kỹ thuật FEC kết hợp với mã khối tuyến tính tối ưu (DEC-TED 16,8 và BCH) giúp mở rộng cự ly bước nhảy thêm $44.8%$, hạ thấp ngưỡng SNR yêu cầu xuống $3.0\text{ dB}$ và tiết kiệm tới $31.5%$ tổng năng lượng tiêu thụ trên các tuyến truyền đa chặng. Đây là tiền đề kỹ thuật vững chắc cho việc thiết kế và triển khai các hệ thống IoT công nghiệp, quan trắc môi trường và nông nghiệp thông minh có độ bền bỉ cao trong tương lai.