Bối cảnh và vấn đề nghiên cứu

Trong hệ thống truyền thông kỹ thuật số và lưu trữ dữ liệu, thông tin truyền qua kênh truyền không dây thường xuyên bị suy hao và sai lệch bởi nhiều yếu tố môi trường như nhiễu ngẫu nhiên, hiện tượng mờ kênh (fading), phản xạ đa đường từ các vật thể di động hoặc cố định, và các rào cản vật lý. Nếu không có các biện pháp kiểm soát và khắc phục sai số, chất lượng truyền dẫn không thể đáp ứng yêu cầu kỹ thuật và làm giảm độ tin cậy của toàn bộ hệ thống. Các kỹ thuật mã hóa sửa lỗi tiền định (Forward Error Correction - FEC) được phát triển nhằm bảo vệ tính toàn vẹn của dữ liệu từ nguồn phát đến nơi nhận.

Trong số các kỹ thuật mã hóa khối tuyến tính, mã Reed-Solomon (RS) sở hữu ưu thế vượt trội về khả năng phát hiện và sửa đồng thời cả lỗi ngẫu nhiên lẫn lỗi chùm (burst errors), đồng thời định vị chính xác vị trí bit lỗi thông qua việc bổ sung các ký hiệu kiểm tra dư thừa (parity check symbols). Mặc dù mã Reed-Solomon đã được triển khai hiệu quả trong các ứng dụng vi điều khiển, bộ nhớ và đĩa quang (CD/DVD), việc ứng dụng kỹ thuật này trong môi trường truyền thông vô tuyến phần lớn mới chỉ dừng lại ở các nghiên cứu mô phỏng lý thuyết bằng phần mềm mà thiếu đi các thiết kế phần cứng vi mạch cụ thể.

Xuất phát từ thực tiễn trên, đề tài "Thiết kế và đánh giá bộ mã Reed-Solomon ứng dụng trong thông tin vô tuyến" được thực hiện với các mục tiêu và nhiệm vụ nghiên cứu cụ thể:

  1. Nghiên cứu cơ sở lý thuyết về đại số trường hữu hạn Galois, cấu trúc mã vòng tuyến tính và nguyên lý thuật toán mã hóa, giải mã Reed-Solomon.
  2. Xây dựng mô hình mô phỏng, phân tích và đánh giá tỷ lệ lỗi bit (BER) của mã Reed-Solomon qua kênh truyền nhiễu Gauss trắng cộng (AWGN) với điều chế BPSK trên phần mềm MATLAB.
  3. Thiết kế kiến trúc phần cứng chi tiết cho khối mã hóa (Encoder) và khối giải mã (Decoder) Reed-Solomon bằng ngôn ngữ mô tả phần cứng Verilog HDL.
  4. Tổng hợp, mô phỏng chức năng và kiểm tra hoạt động của hệ thống phần cứng trên phần mềm Xilinx ISE Suite 14 và kit thực nghiệm FPGA Spartan-3E.

Phạm vi nghiên cứu của đề tài tập trung vào bộ mã Reed-Solomon cấu hình $RS(31, 19)$ trên trường $GF(2^5)$, đánh giá hiệu năng lý thuyết qua mô phỏng MATLAB và hoàn thiện thiết kế RTL, tổng hợp tài nguyên phần cứng trên dòng FPGA Spartan-3E của Xilinx.


Cơ sở lý thuyết và phương pháp

Khóa luận xây dựng trên nền tảng toán học đại số trừu tượng và lý thuyết thông tin số, bao gồm các cấu trúc lý thuyết và giải thuật cốt lõi:

  • Hệ thống truyền thông kỹ thuật số: Mô hình truyền nhận dữ liệu tiêu chuẩn bao gồm các khối: Bộ mã hóa nguồn và mã hóa kênh (Encoder), Bộ điều chế tín hiệu (Modulator - BPSK), Kênh truyền (Channel) có tác động của nguồn nhiễu (Interference source/AWGN), Bộ giải điều chế (Demodulator) và Bộ giải mã kênh/nguồn (Decoder).
  • Trường hữu hạn Galois ($GF(2^m)$): Không gian toán học gồm $2^m$ phần tử được biểu diễn dưới dạng đa thức tối giản, cho phép thực hiện các phép toán nhị phân cộng, nhân, chia và nghịch đảo đại số mà kết quả luôn đóng trong trường.
  • Mã vòng tuyến tính (Cyclic Codes): Lớp mã khối $(n, k)$ có đặc tính dịch vòng các phần tử của một từ mã hợp lệ vẫn tạo ra một từ mã hợp lệ, được sinh ra từ đa thức sinh $g(X)$ bậc $n-k$.
  • Mã Reed-Solomon $RS(n, k)$: Mã khối phi nhị phân trên trường $GF(2^m)$ với chiều dài từ mã $n = 2^m - 1$, số ký hiệu thông tin $k$, và số ký hiệu kiểm tra $2t = n - k$, có khả năng sửa tối đa $t$ ký hiệu bị lỗi trong mỗi khối dữ liệu.
  • Thuật toán giải mã Reed-Solomon:
    • Tính toán Syndrome (Syndrome Computation): Thay thế các nghiệm của đa thức sinh $g(X)$ vào đa thức nhận được $r(X)$ để phát hiện sự xuất hiện của lỗi.
    • Giải phương trình then chốt (Key Equation Solve - KES): Sử dụng thuật toán Berlekamp-Massey để tìm đa thức định vị lỗi $\Lambda(X)$ và đa thức đánh giá giá trị lỗi $\Omega(X)$.
    • Tìm vị trí lỗi (Error Location): Ứng dụng thuật toán tìm kiếm Chien (Chien Search) để xác định các gốc của $\Lambda(X)$, từ đó suy ra vị trí ký hiệu lỗi.
    • Tính toán độ lớn lỗi (Error Magnitude): Ứng dụng thuật toán Forney để tính toán biên độ sai lệch của từng ký hiệu bị lỗi.
    • Sửa lỗi (Error Corrector): Khôi phục từ mã gốc bằng cách cộng đa thức nhận được với đa thức lỗi ước lượng $c(X) = r(X) + e(X)$.

Phương pháp nghiên cứu kết hợp giữa mô phỏng số học định lượng trên MATLAB (đánh giá tham số BER theo SNR và chiều dài khối) và phương pháp thiết kế vi mạch số bán dẫn từ mức truyền thanh ghi (RTL) bằng Verilog HDL, biên dịch tổng hợp logic trên công cụ Xilinx ISE Suite 14 và xác minh trên phần cứng FPGA Spartan-3E.


Thiết kế và triển khai

Hệ thống mã hóa và giải mã được thiết kế chuyên biệt cho cấu hình mã $RS(31, 19)$, tương ứng mỗi symbol gồm $m = 5\text{ bit}$, độ dài khối $n = 31\text{ symbols}$ (gồm 19 symbol dữ liệu và 12 symbol parity kiểm tra dư thừa), có năng lực sửa tối đa $t = 6\text{ symbol}$ lỗi trong một khối.

1. Thiết kế bộ mã hóa Reed-Solomon (Encoder)

Khối mã hóa thực hiện phép nhân đa thức thông tin $m(X)$ với $X^{n-k}$ và chia lấy dư cho đa thức sinh $g(X)$ trong trường $GF(2^5)$. Cấu trúc phần cứng bao gồm bộ cộng bit trong Galois Field (ADD), bộ nhân với hệ số đa thức sinh (G_multi), thanh ghi dịch (Shift Register) và bộ đếm chu kỳ (counter_out) để đồng bộ việc nạp 19 symbol dữ liệu ngõ vào qua chân MX và xuất tuần tự 31 symbol từ mã hoàn chỉnh (19 symbol dữ liệu kèm 12 symbol parity) ra chân CX.

Tên chân tín hiệu Độ rộng (bit) Loại tín hiệu Chức năng kỹ thuật
MX 5 Input Ngõ vào nạp dữ liệu gốc cần mã hóa
Clock 1 Input Tín hiệu xung đồng hồ cấp cho hệ thống
Start 1 Input Tín hiệu điều khiển cho phép khối bắt đầu hoạt động
Reset 1 Input Tín hiệu xóa logic (tích cực mức cao)
CX 5 Output Ngõ ra xuất dữ liệu đã được mã hóa kèm parity

2. Thiết kế bộ giải mã Reed-Solomon (Decoder)

Bộ giải mã nhận dữ liệu từ chân Recword và phối hợp hoạt động của 5 khối chức năng chính nhằm phát hiện, định vị và sửa sai dữ liệu:

  • Khối Điều khiển chính (Main Control): Sử dụng các bộ ghép kênh (MUX) và D-Flip Flop để tạo các pha xung đồng hồ lệch nhau, quản lý quá trình đồng bộ đa nhiệm. Khối này cho phép khối Syndrome Computation nhận khối dữ liệu mới trong khi khối Chien Search & Error Evaluator đang hoàn tất sửa lỗi cho khối dữ liệu trước đó, loại bỏ hiện tượng chồng lấn tín hiệu.
  • Khối Tính toán Syndrome (Syndrome Computation): Bao gồm 12 tế bào tính toán (Syndcell), các cổng logic reduce_OR và bộ MUX để thay các nghiệm của $g(X)$ vào từ mã nhận được, tính ra 12 giá trị Syndrome (Syndvalue[11:0]). Nếu có bất kỳ giá trị nào khác 0, tín hiệu errdetect sẽ được kích hoạt lên mức '1'.
  • Khối Giải phương trình then chốt (Key Equation Solve - KES): Cấu thành từ các phần tử xử lý song song từ PE0 đến PE11 kết hợp các mô-đun chức năng FE_A, FE_B0 đến FE_B6, hiện thực hóa thuật toán Berlekamp-Massey để xuất ra đa thức định vị lỗi $\Lambda(X)$ (Lambda[6:0]) và đa thức đánh giá lỗi $\Omega(X)$ (Homega[5:0]).
  • Khối Tìm kiếm Chien và Đánh giá lỗi (Chien Search and Error Evaluator - CSEE): Tích hợp các khối CS_0 đến CS_6 (thuật toán Chien) và FN_0 đến FN_6 (thuật toán Forney). Khối kiểm tra các phần tử trường để tìm nghiệm của $\Lambda(X)$, xác định vị trí lỗi rootcntr và tính toán giá trị độ lớn sai số errorvalue.
  • Khối Bộ đệm FIFO (FIFO Register): Đóng vai trò bộ nhớ đệm tạm thời lưu trữ 31 symbol nhận được trong suốt thời gian các khối tính toán xử lý ma trận và giải thuật toán, bảo đảm dữ liệu xuất ra tại bộ cộng sửa lỗi (Corr_recword) được căn chỉnh chính xác theo thời gian thực.
Tên chân tín hiệu Độ rộng (bit) Loại tín hiệu Chức năng kỹ thuật
Recword 5 Input Chuỗi dữ liệu từ mã nhận được từ kênh truyền
Corr_recword 5 Output Chuỗi dữ liệu đã được sửa lỗi hoàn chỉnh
Dataoutstart 1 Output Tín hiệu báo hiệu xuất symbol đầu tiên của khối
Dataoutend 1 Output Tín hiệu báo hiệu xuất symbol cuối cùng của khối
decode_fail 1 Output Cảnh báo số lỗi vượt quá năng lực sửa sai của bộ giải mã
Errfound 1 Output Cờ thông báo phát hiện có lỗi trong từ mã nhận được
Ready 1 Output Báo trạng thái sẵn sàng tiếp nhận khối dữ liệu mới

Nội dung chính theo từng chương

Chương 1: Tổng quan đề tài

Chương này phân tích tổng quan về sự cần thiết của kiểm soát lỗi trong truyền thông số và lưu trữ dữ liệu. Tác giả chỉ ra các dạng nhiễu vật lý, fading kênh vô tuyến và so sánh đặc tính của mã Reed-Solomon với các kỹ thuật mã hóa khác như Turbo, LDPC, Hamming, CRC. Nội dung chương xác lập mục tiêu nghiên cứu, phạm vi thực hiện đồ án trên công cụ Xilinx ISE và FPGA Spartan-3E, đồng thời phân bổ bố cục báo cáo thành 6 chương.

Chương 2: Cơ sở lý thuyết

Nội dung chương tập trung trình bày chi tiết các cơ sở toán học và kỹ thuật mã hóa:

  • Mô hình tổng quát hệ thống truyền thông kỹ thuật số và phân loại mã hóa (mã hóa nguồn, mã hóa kênh, mã hóa đường truyền).
  • Đại số trường hữu hạn Galois $GF(2^m)$, cấu trúc đa thức tối giản và các phép toán số học trường.
  • Lý thuyết mã vòng tuyến tính $(n, k)$, mối quan hệ giữa đa thức thông tin $m(X)$, đa thức sinh $g(X)$ và đa thức từ mã $c(X)$. Khảo sát ví dụ thực tế mã vòng $(7, 4)$ với $g(X) = 1 + X + X^3$.
  • Giải thuật mã hóa và giải mã Reed-Solomon: Trình bày chi tiết công thức toán học của thuật toán tính Syndrome, thuật toán Berlekamp-Massey, thuật toán tìm kiếm Chien và thuật toán Forney.

Chương 3: Đánh giá mã Reed Solomon qua kênh truyền AWGN sử dụng phần mềm MATLAB

Chương này thiết lập mô hình truyền nhận nhị phân qua kênh AWGN sử dụng điều chế BPSK trên môi trường MATLAB để khảo sát tỷ lệ lỗi bit (BER):

  • Khảo sát BER theo tỷ số năng lượng bit trên mật độ phổ công suất nhiễu ($E_b/N_0$ hay SNR) trên chiều dài cố định $N = 120\text{ bits}$ với 11 lần lặp: So sánh mã $RS(7,5)$ ($m=3$, 40 symbols), $RS(15,9)$ ($m=4$, 30 symbols) và $RS(31,19)$ ($m=5$, 24 symbols). Kết quả chứng minh cấu hình $RS(31,19)$ đạt giá trị BER thấp nhất ở cùng mức SNR.
  • Khảo sát BER của mã $RS(31,19)$ theo chiều dài khối dữ liệu (Block-length) thay đổi ở các mức $N = 10\text{ symbols}$, $100\text{ symbols}$ và $100.000\text{ symbols}$. Kết quả cho thấy khi tăng kích thước khối lên $100.000\text{ symbols}$, đường cong BER giảm sâu rõ rệt trong khi ngưỡng SNR duy trì ổn định.

Chương 4: Thiết kế mô hình hệ thống

Chương 4 mô tả chi tiết kiến trúc phần cứng mức logic của hệ thống trên Verilog HDL:

  • Đặc tả sơ đồ khối tổng quát và sơ đồ cổng logic chi tiết của bộ mã hóa $RS(31,19)$, bảng chức năng các chân tín hiệu vào/ra.
  • Đặc tả kiến trúc bộ giải mã $RS(31,19)$ và sơ đồ kết nối nội bộ giữa 5 phân khối: Main Control, Syndrome Computation, Key Equation Solve, Chien Search and Error Evaluator, và FIFO Register. Bảng mô tả chi tiết toàn bộ các cổng giao tiếp và tín hiệu điều khiển giữa các khối.

Chương 5: Kết quả và đánh giá

Chương này tổng hợp các kết quả thực nghiệm mô phỏng và kiểm tra mạch phần cứng:

  • Mô phỏng dạng sóng khối Encoder trên Modelsim/Xilinx ISE: Kiểm tra quá trình nạp 19 symbol dữ liệu gốc hệ Hex qua chân MX và đối soát 12 symbol parity kiểm tra được sinh ra chính xác tại ngõ ra CX.
  • Mô phỏng dạng sóng khối Decoder theo 3 kịch bản kiểm thử (Testcase):
    • Testcase 1: 1 block dữ liệu 39 symbol (chuỗi thử nghiệm), 0 symbol lỗi $\rightarrow$ giải mã chính xác hoàn toàn.
    • Testcase 2: 1 block dữ liệu, chèn 6 symbol lỗi đơn lẻ $\rightarrow$ bộ giải mã phát hiện và sửa đúng toàn bộ 6 vị trí lỗi.
    • Testcase 3: 1 block dữ liệu, chèn 8 symbol lỗi gồm cả lỗi đơn và lỗi chùm (burst error) $\rightarrow$ đánh giá giới hạn hoạt động và phản hồi cờ trạng thái của bộ giải mã.
  • Tổng hợp thiết kế phần cứng thực tế trên kit FPGA Spartan-3E: Kiểm tra mạch tổng hợp khối Encoder và Decoder qua sơ đồ RTL, hiển thị kết quả kiểm tra chuỗi dữ liệu nhận và dữ liệu sau giải mã trên phần cứng thực nghiệm.

Chương 6: Kết luận và hướng phát triển

Chương cuối tóm tắt toàn bộ khối lượng công việc đã hoàn thành trong khóa luận và đề xuất các định hướng mở rộng nghiên cứu tiếp theo.


Kết quả và đóng góp

1. Kết quả kỹ thuật đạt được

  • Kết quả mô phỏng truyền thông (MATLAB): Xác nhận tính ưu việt của cấu hình mã $RS(31, 19)$ so với các mã $RS(7, 5)$ và $RS(15, 9)$ về hiệu năng giảm tỷ lệ lỗi bit BER trên kênh AWGN. Đồng thời, việc tăng dung lượng khối phát lên $100.000\text{ symbols}$ giúp tối ưu hóa đáng kể độ tin cậy truyền dữ liệu.
  • Kết quả thiết kế vi mạch (Verilog HDL & Xilinx ISE): Hoàn thành thiết kế RTL đầy đủ cho cả hai khối Encoder và Decoder của mã $RS(31, 19)$. Dạng sóng mô phỏng xác nhận bộ giải mã sửa chữa chính xác $100%$ các trường hợp lỗi ngẫu nhiên lên đến $t = 6\text{ symbols}$ lỗi trong mỗi khối 31 symbol.
  • Kết quả thực nghiệm trên phần cứng (FPGA Spartan-3E): Đã tổng hợp thành công sơ đồ mạch logic, nạp và xác minh chức năng mã hóa dữ liệu, chèn bit parity và giải mã sửa lỗi thời gian thực trên chip FPGA Spartan-3E.

2. Đóng góp của đề tài

  • Khóa luận đã chuyển đổi thành công các thuật toán giải mã phức tạp (Berlekamp-Massey, Chien Search, Forney) từ lý thuyết toán học trừu tượng thành kiến trúc phần cứng số chi tiết, có khả năng thực thi thực tế.
  • Khắc phục khoảng trống của nhiều đề tài trước đây (vốn chỉ dừng lại ở bước mô phỏng thuật toán trên MATLAB) bằng cách hiện thực hóa trọn vẹn mô hình phần cứng trên nền tảng vi mạch FPGA thực tế.
  • Đưa ra giải pháp thiết kế khối điều khiển phân pha xung nhịp thông minh, cho phép xử lý dữ liệu gối đầu (pipelining/interleaving-like control) giữa khối tính Syndrome và khối sửa lỗi Chien/Forney, tối ưu hóa thông lượng truyền thông.

Hạn chế và hướng nghiên cứu tiếp

  • Hạn chế: Thiết kế phần cứng trong khóa luận được cấu hình cố định cho tham số mã $RS(31, 19)$ trên trường $GF(2^5)$, chưa hỗ trợ thay đổi động các tham số $(n, k)$ theo điều kiện thay đổi của kênh truyền. Quá trình kiểm nghiệm thực tế trên kit Spartan-3E mới chỉ thực hiện kiểm tra dạng sóng và tín hiệu logic số trên bo mạch, chưa tích hợp hoàn chỉnh với tầng cao tần (RF front-end) và kênh truyền sóng vô tuyến thực tế ngoài không gian.
  • Hướng phát triển tiếp:
    • Tối ưu hóa tài nguyên logic logic slices, LUTs và giảm thiểu công suất tiêu thụ của các khối nhân trường Galois trên FPGA/ASIC.
    • Nghiên cứu nâng cấp bộ mã hóa/giải mã có khả năng cấu hình lại tham số (reconfigurable RS codec) để thích ứng linh hoạt với các chuẩn truyền thông không dây băng rộng.
    • Tích hợp bộ mã RS vào chuỗi thu phát vô tuyến hoàn chỉnh kết hợp với các bộ điều chế số thực tế (QPSK, QAM) và truyền nhận qua anten vô tuyến thực nghiệm.

Giá trị tham khảo

Khóa luận là tài liệu tham khảo kỹ thuật hữu ích cho:

  • Sinh viên và học viên chuyên ngành Công nghệ Kỹ thuật Điện tử - Viễn thông, Kỹ thuật Vi điện tử, Thiết kế Vi mạch và Xử lý tín hiệu số.
  • Các kỹ sư thiết kế phần cứng đang tìm kiếm giải pháp kiến trúc RTL chi tiết bằng Verilog HDL cho các giải thuật tính toán trên trường hữu hạn Galois, giải thuật Berlekamp-Massey, giải thuật tìm kiếm Chien và giải thuật Forney.
  • Các đề tài nghiên cứu về hệ thống kiểm soát lỗi kênh truyền FEC cho truyền thông vô tuyến, mạng cảm biến không dây hoặc hệ thống lưu trữ dữ liệu số tin cậy cao.

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

1. Bộ mã Reed-Solomon trong khóa luận được thiết kế với các thông số kỹ thuật cụ thể nào?

Khóa luận thiết kế bộ mã $RS(31, 19)$ hoạt động trên trường hữu hạn $GF(2^5)$. Trong đó, mỗi symbol có độ dài $m = 5\text{ bit}$, tổng chiều dài từ mã là $n = 31\text{ symbols}$ ($155\text{ bits}$), số symbol dữ liệu thông tin là $k = 19\text{ symbols}$ ($95\text{ bits}$), số symbol kiểm tra parity dư thừa là $2t = 12\text{ symbols}$ ($60\text{ bits}$), và khả năng sửa lỗi tối đa của bộ giải mã là $t = 6\text{ symbol}$ lỗi trong một khối.

2. Thuật toán Berlekamp-Massey và Forney đóng vai trò gì trong kiến trúc bộ giải mã?

Trong bộ giải mã, thuật toán Berlekamp-Massey được triển khai tại khối Key Equation Solve (KES) nhằm tìm ra đa thức định vị lỗi $\Lambda(X)$ và đa thức đánh giá lỗi $\Omega(X)$ có bậc nhỏ nhất thỏa mãn hệ phương trình Syndrome. Thuật toán Forney được triển khai tại khối Error Evaluator để tính toán chính xác giá trị biên độ lỗi ($e_j$) tại từng vị trí lỗi đã được thuật toán Chien định vị, giúp loại bỏ sự cần thiết của các phép nghịch đảo ma trận phức tạp.

3. Kết quả mô phỏng trên MATLAB đánh giá hiệu năng của mã $RS(31, 19)$ như thế nào?

Kết quả mô phỏng trên kênh AWGN điều chế BPSK cho thấy mã $RS(31, 19)$ đạt tỷ lệ lỗi bit (BER) thấp hơn rõ rệt so với các mã $RS(7, 5)$ và $RS(15, 9)$ ở cùng mức tỷ số tín hiệu trên nhiễu ($E_b/N_0$). Ngoài ra, khi khảo sát trên mã $RS(31, 19)$, việc tăng chiều dài khối từ $10\text{ symbols}$, $100\text{ symbols}$ lên $100.000\text{ symbols}$ làm giảm mạnh giá trị BER trong khi tỷ số SNR không bị biến động, chứng minh tính ổn định cao của giải thuật.

4. Khối FIFO Register trong bộ giải mã đảm nhận nhiệm vụ gì?

Khối FIFO Register là bộ nhớ đệm hàng đợi (First In First Out) có nhiệm vụ lưu giữ 31 symbol của từ mã nhận được từ kênh truyền trong thời gian các khối Syndrome Computation, Key Equation Solve và Chien Search/Error Evaluator xử lý tính toán. Khi các khối này xác định xong vị trí và độ lớn sai số, dữ liệu từ FIFO sẽ được đẩy ra đồng bộ để bộ cộng sửa lỗi thực hiện phép tính $c(X) = r(X) + e(X)$ chính xác theo từng symbol.

5. Hệ thống phần cứng của đồ án được triển khai và kiểm chứng trên nền tảng nào?

Hệ thống được mô tả bằng ngôn ngữ phần cứng Verilog HDL, tổng hợp và mô phỏng trên môi trường phần mềm Xilinx ISE Suite 14, và nạp kiểm tra thực tế trên kit phần cứng FPGA Spartan-3E của hãng Xilinx.


Kết luận

Khóa luận tốt nghiệp của tác giả Thái Dương Tuấn Thành và Đinh Trường Nam đã hoàn thành toàn diện việc nghiên cứu lý thuyết, mô phỏng truyền thông và thiết kế phần cứng cho bộ mã hóa - giải mã Reed-Solomon $RS(31, 19)$ ứng dụng trong vô tuyến. Bằng việc phối hợp linh hoạt các giải thuật toán học trường Galois, Berlekamp-Massey, Chien Search và Forney trên nền ngôn ngữ Verilog HDL, nhóm tác giả đã hiện thực hóa thành công kiến trúc vi mạch có khả năng sửa tối đa 6 symbol lỗi trên mỗi khối dữ liệu. Kết quả nghiên cứu đã được kiểm chứng tính đúng đắn qua mô phỏng tỷ lệ lỗi BER trên MATLAB, dạng sóng logic trên Xilinx ISE và thực nghiệm trên dòng vi mạch FPGA Spartan-3E.