6
Nguyn Trung Hiếu, Trần Đức Nam, Đinh Sỹ Quảng, Đặng Thế Ngc CI THIN HIỆU NĂNG HỆ THNG IOT DA TRÊN NRF2401 SDNG MÃ REED- SOLOMON Nguyn Trung Hiếu, Trần Đức Nam, Đinh Sỹ Qung, Đặng Thế Ngc Hc vin Công nghBưu chính Viễn thông Tóm tắt: Bài báo này trình bày vmt đề xut xây dng hthng IoT da trên modul nRF2401 sdng trong vic truyn thông tin không dây gia IoT node và IoT gateway. Bài báo cũng đề cập đến nhng hn chế ca modul này và trình bày gii pháp ng dng mã sa li Reed-Solomon kết hp vi mt sbmã khác để nâng cao chất lượng đường truyn vô tuyến thông qua vicsa li, khôi phc bn tin thu sai hoc mt gói trong quá trình truyn dn. 1 Tkhóa: Reed-Solomon,Golay, nRF2401, IoT. I. MĐẦU Khái nim Internet vn vt (IoT - Internet of Things) do Kevin Ashton làm vic ti Procter & Gamble, sau này là Trung tâm ID tđộng thuộc Đại hc MIT, gii thiu vào năm 1999. Kevin Ashton đã đưa ra cụm tInternet of Things nhằm để chcác đối tượng có thđược nhn biết cũng như sự tn ti ca chúng[1].Năm 2013, tchc Global Standards Initiative on Internet of Things (IoT-GSI) định nghĩa IoT là “htầng cơ sở toàn cu phc vcho xã hi thông tin, htrcác dch v(điện toán) chuyên sâu thông qua các vt th(cthc ln o) được kết ni vi nhau nhvào công nghthông tin và truyn thông hin hữu được tích hpvà vi mục đích ấy một “vật” là “mt thtrong thế gii thc (vt thc) hoc thế gii thông tin (vt o), mà vt đó có thể được nhn dạng và được tích hp vào mt mạng lưới truyn thông”. Hthng IoT cho phép vt được cm nhn hoc được điều khin txa thông qua htng mng hin hu, tạo cơ hội cho thế gii thực được tích hp trc tiếp hơn vào hệ thống điện toán, hqulà hiệu năng, độ tin cy và li ích kinh tế được tăng cường bên cnh vic gim thiu scan dcủa con người. Khi IoT được gia ccm biến và cơ cấu chp hành, công nghnày trthành mt dng thc ca hthng o-thc vi tính tng quát cao hơn, bao gồm luôn cnhng công nghnhư điện lưới thông minh, nhà máy điện o, nhà thông minh, vn ti thông minh, nông nghip thông minh và thành phthông minh. Mi vt được nhn dng riêng bit trong hthng điện toán nhúng và có khnăng phối hp vi nhau trong cùng htng Internet hin hu[2], [3]. Đến năm 2016, IoT khẳng định được bước tiến ca mình nhshi tca nhiu công ngh, bao gm truyn ti vô tuyến hin din dầy đặc, phân tích dliu thi gian thc, hc máy, cm biến hàng hóa, và hthng Tác giả liên hệ: Nguyễn Trung Hiếu Email: [email protected] Đến tòa soạn: 11/2019, chỉnh sửa 12/2019, chấp nhận đăng 12/2019 nhúng. Điều này có nghĩa là tất ccác dng thc ca hthng nhúng cđiển, như mng cm biến không dây, hthống điều khin, tđộng hóa đều đóng góp vào vic vn hành Internet vn vt. Mô hình cơ bản ca hthống IoT như thể hiện trong hình 1.1, trong đó phn truyn tin ththng cm biến hoặc cơ cấu chp hành (mà có thtp hp thông tin tại IoT node) đển IoT Gateway sdụng đường truyn vô tuyến. Hình 1: Một mô hình cơ bản ca hthng IoT Vic giám sát, thu thp thông tin là mt phn quan trng ca hthng IoT, trong đó truyn thông không dây được sdng phbiến để thu thp thông tin tcác cm biến tại đầu cui IoT.Các kthut truyn không dây phbiến (Wifi, Zigbee, Bluetooth, NFC, Lora…)đều có nhng ưu điểm và nhược điểm nhất định vgiá thành, khong cách truyn dẫn, độ tin cy, mc độ phc tp ca thiết bvà thut toán x,…[1], [3], [4]. Mt kthuật đã được sdng tlâu là truyn dn vô tuyến (RF) tn scGHz (vi modul nRF2401) cũng có tiềm năng lớn ng dng cho vic thu thp thông tin tnhiều đầu cui cm biến. Cu trúc bn tin ca nRF2401 có ththay đổi linh hot phù hp vi vic truyn các thông tin vi chiu dài bn tin khác nhau và có tính tùy biến cao. Tuy nhiên, hn chế ca modul nRF2401 là xác sut thu li thông tin khá lớn, độ tin cậy chưa cao chính vì vy cho đến nay các khuyến nghthiết btruyn dn trong mạng không dây chưa đề cập đến modul này[1], [2], [3]. Chính vì thế, vic nghiên cu thnghim mã sa li nâng cao độ tin cậy đường truyn không dây thu thp dliu tcác đầu cui IoT sdng module thu phát không dây thông dng nRF24L01 (không htrsn mã sa sai) là cn thiết, mra khnăng ứng dụng và đa dạng kthut truyn dn trong mng IoT đặc biệt là hướng ti mc tiêu góp phn gim giá thành sn phẩm và tăng khả năng triển

C I THIỆN HIỆU NĂNG HỆ TH NG IOT DỰA TRÊN NRF2401 …

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Nguyễn Trung Hiếu, Trần Đức Nam, Đinh Sỹ Quảng, Đặng Thế Ngọc

CẢI THIỆN HIỆU NĂNG HỆ THỐNG IOT DỰA TRÊN NRF2401 SỬ DỤNG MÃ REED-

SOLOMON Nguyễn Trung Hiếu, Trần Đức Nam, Đinh Sỹ Quảng, Đặng Thế Ngọc

Học viện Công nghệ Bưu chính Viễn thông

Tóm tắt: Bài báo này trình bày về một đề xuất xây

dựng hệ thống IoT dựa trên modul nRF2401 sử dụng

trong việc truyền thông tin không dây giữa IoT node và

IoT gateway. Bài báo cũng đề cập đến những hạn chế của

modul này và trình bày giải pháp ứng dụng mã sửa lỗi

Reed-Solomon kết hợp với một số bộ mã khác để nâng

cao chất lượng đường truyền vô tuyến thông qua việcsửa

lỗi, khôi phục bản tin thu sai hoặc mất gói trong quá trình

truyền dẫn.1

Từ khóa: Reed-Solomon,Golay, nRF2401, IoT.

I. MỞ ĐẦU

Khái niệm Internet vạn vật (IoT - Internet of Things) do Kevin Ashton làm việc tại Procter & Gamble, sau này là Trung tâm ID tự động thuộc Đại học MIT, giới thiệu vào năm 1999. Kevin Ashton đã đưa ra cụm từ Internet of Things nhằm để chỉ các đối tượng có thể được nhận biết cũng như sự tồn tại của chúng[1].Năm 2013, tổ chức Global Standards Initiative on Internet of Things (IoT-GSI) định nghĩa IoT là “hạ tầng cơ sở toàn cầu phục vụ cho xã hội thông tin, hỗ trợ các dịch vụ (điện toán) chuyên sâu thông qua các vật thể (cả thực lẫn ảo) được kết nối với nhau nhờ vào công nghệ thông tin và truyền thông hiện hữu được tích hợp” và với mục đích ấy một “vật” là “một thứ trong thế giới thực (vật thực) hoặc thế giới thông tin (vật ảo), mà vật đó có thể được nhận dạng và được tích hợp vào một mạng lưới truyền thông”. Hệ thống IoT cho phép vật được cảm nhận hoặc được điều khiển từ xa thông qua hạ tầng mạng hiện hữu, tạo cơ hội cho thế giới thực được tích hợp trực tiếp hơn vào hệ thống điện toán, hệ quả là hiệu năng, độ tin cậy và lợi ích kinh tế được tăng cường bên cạnh việc giảm thiểu sự can dự của con người. Khi IoT được gia cố cảm biến và cơ cấu chấp hành, công nghệ này trở thành một dạng thức của hệ thống ảo-thực với tính tổng quát cao hơn, bao gồm luôn cả những công nghệ như điện lưới thông minh, nhà máy điện ảo, nhà thông minh, vận tải thông minh, nông nghiệp thông minh và thành phố thông minh. Mỗi vật được nhận dạng riêng biệt trong hệ thống điện toán nhúng và có khả năng phối hợp với nhau trong cùng hạ tầng Internet hiện hữu[2], [3].

Đến năm 2016, IoT khẳng định được bước tiến của mình nhờ sự hội tụ của nhiều công nghệ, bao gồm truyền tải vô tuyến hiện diện dầy đặc, phân tích dữ liệu thời gian thực, học máy, cảm biến hàng hóa, và hệ thống

Tác giả liên hệ: Nguyễn Trung Hiếu Email: [email protected]

Đến tòa soạn: 11/2019, chỉnh sửa 12/2019, chấp nhận đăng 12/2019

nhúng. Điều này có nghĩa là tất cả các dạng thức của hệ thống nhúng cổ điển, như mạng cảm biến không dây, hệ thống điều khiển, tự động hóa đều đóng

góp vào việc vận hành Internet vạn vật. Mô hình cơ bản của hệ thống IoT như thể hiện trong hình 1.1, trong đó phần truyền tin từ hệ thống cảm biến hoặc cơ cấu chấp hành (mà có thể tập hợp thông tin tại IoT node) đển IoT Gateway sử dụng đường truyền vô tuyến.

Hình 1: Một mô hình cơ bản của hệ thống IoT

Việc giám sát, thu thập thông tin là một phần quan trọng của hệ thống IoT, trong đó truyền thông không dây được sử dụng phổ biến để thu thập thông tin từ các cảm biến tại đầu cuối IoT.Các kỹ thuật truyền không dây phổ biến (Wifi, Zigbee, Bluetooth, NFC, Lora…)đều có những ưu điểm và nhược điểm nhất định về giá thành, khoảng cách truyền dẫn, độ tin cậy, mức độ phức tạp của thiết bị và thuật toán xử lý,…[1], [3], [4]. Một kỹ thuật đã được sử dụng từ lâu là truyền dẫn vô tuyến (RF) tần số cỡ GHz (với modul nRF2401) cũng có tiềm năng lớn ứng dụng cho việc thu thập thông tin từ nhiều đầu cuối cảm biến. Cấu trúc bản tin của nRF2401 có thể thay đổi linh hoạt phù hợp với việc truyền các thông tin với chiều dài bản tin khác nhau và có tính tùy biến cao.

Tuy nhiên, hạn chế của modul nRF2401 là xác suất thu lỗi thông tin khá lớn, độ tin cậy chưa cao chính vì vậy cho đến nay các khuyến nghị thiết bị truyền dẫn trong mạng không dây chưa đề cập đến modul này[1], [2], [3]. Chính vì thế, việc nghiên cứu thử nghiệm mã sửa lỗi nâng cao độ tin cậy đường truyền không dây thu thập dữ liệu từ các đầu cuối IoT sử dụng module thu phát không dây thông dụng nRF24L01 (không hỗ trợ sẵn mã sửa sai) là cần thiết, mở ra khả năng ứng dụng và đa dạng kỹ thuật truyền dẫn trong mạng IoT đặc biệt là hướng tới mục tiêu góp phần giảm giá thành sản phẩm và tăng khả năng triển

CẢI THIỆN HIỆU NĂNG HỆ THỐNG IOT DỰA TRÊN NRF2401 SỬ DỤNG MÃ REED-SOLOMON

khai rộng rãi hệ thống IoT vào thực tiến cho các ứng dụng phù hợp.

Một số loại mã sửa lỗi phổ biến thường được sử dụng trong các hệ thống thông tin vô tuyến bao gồm mã Cyclic, Reed-Solomon, BCH, Turbo, LDPC,…[4], [5]. Trong đó, mã Reed-Solomon (RS) là mã kênh tuyến tính được nghiên cứu trong một thời gian dài và ứng dụng trong nhiều lĩnh vực cuộc sống, đặc biệt trong lĩnh vực thông tin và truyền thông[6] - [15]. Khi kết hợp với một số bộ mã khác, nó có thể cải thiện đáng kể chất lượng tín hiệu truyền dẫn ở các môi trường bị ảnh hưởng của tạp âm, can nhiễu hay bị che chắn.

Bài báo này đề xuất một ứng dụng cải tiến mã Reed-Solomon để phục vụ việc sửa lỗi trong đó không chỉ sửa lỗi bit mà còn tập trung vào sửa mất gói tin hay nói cách khác là khôi phục thông tin của gói dữ liệu bị mất, ứng dụng cho đường truyền vô tuyến sử dựng nRF2401. Việc khảo sát, đánh giá về giải pháp được đề xuất được thực hiện bằng phương pháp thực nghiệm và trình bày cụ thể trong bài báo này.

Nội dung còn lại của bài báo được chia làm ba phần. Phần 2, trình bày cơ sở lý thuyết và các nghiên cứu liên quan. Trong phần 3, đề xuất cải tiến hiệu quả sửa lỗi thông tin của mã, khảo sát đánh giá trên các kết nối đầu cuối IoT sử dụng đường truyền vô tuyến. Cuối cùng, phần 4 là kết luận của bài báo.

II. CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN CỨU

LIÊN QUAN

Trong lý thuyết mã hóa, mã Reed-Solomon là một

mã vòng sửa lỗi tuyến tính phát minh bởi Irving S.

Reed và Gustave Solomon[10]. Bằng cách thêm vào t ký

hiệu kiểm tra, mã RS có thể phát hiện không quá t ký

hiệu lỗi và sửa không quá ⌊t/2⌋ ký hiệu lỗi. Dưới dạng mã

xóa, nó có thể sửa không quá t ký hiệu bị xóa ở các vị trí

đã biết, hoặc nhận dạng và sửa cả ký hiệu lỗi và ký hiệu

bị xóa. Ngoài ra, mã RS còn hữu hiệu cho việc sửa nhiều

bit lỗi liên tiếp (hay còn gọi là lỗi cụm), do một

dãy b+1 bit bị lỗi liên tiếp chỉ có thể ảnh hưởng đến hai

ký hiệu có kích thước b. Tham số t có thể được chọn tùy

ý tùy theo người thiết kế mã trong một giới hạn khá rộng. Trong mã hóa Reed-Solomon, các ký hiệu là các hệ số

của một đa thức p(x) trên một trường hữu hạn. Ý tưởng ban đầu của mã RS là tạo ra n kýhiệu mã từ k ký hiệu nguồn bằng cách tính p(x) tại n>k điểm, truyền tải n giá trị này và dùng kĩ thuật nội suy để xây dựng lại các ký hiệu nguồn. Thay vào đó, mã RS cũng có thể được xem là mã vòng BCH (Bose-Chaudhuri-Hocquenghem), trong đó các ký hiệu mã được xây dựng từ hệ số của đa thức tích của p(x) và một đa thức sinh. Cách nhìn này dẫn đến thuật toán giải mã hiệu quả do Elwyn Berlekamp và James Massey, được gọi là thuật toán giải mã Berlekamp-Massey [9, 10].

A. Lý thuyết chung về mã sửa mất lỗi

Một mô hình truyền tin có sử dụng mã hóa kênh cơ bản được thể hiện như trong hình 2. Trong đó, dữ liệu được mã hóa (có thể sử dụng một trong số các bộ mã đơn giản, hoặc kết hợp một số bộ mã, hoặc sử dụng các bộ mã có cấu trúc phức tạp hơn), sau khi ra khỏi bộ mã hóa thì tín hiệu được điều chế và gửi lên đường truyền theo các phương thức khác nhau, có thể sử dụng đường truyền có dây hoặc không dây. Trên thực tế thì hệ thống thông tin có

thể sử dụng thêm mật mã hóa dữ liệu, các bộ trộn, bộ cân bằng tín hiệu, tuy nhiên nội dung nghiên cứu này là đề xuất các bộ mã hóa kênh nhằm cải thiện độ tin cậy của đường truyền không dây nên hạn chế phạm vi trình bày chỉ tập trung vào phần mã hóa tín hiệu.

Dữ liệu

phátMã hóa Điều chế

Dữ liệu

thu

Giải mã

hóa

Giải điều

chế

Bên phát

Bên thu

Nhiễu

Kên

h t

ruy

ền

Hình 2: Sơ đồ hệ thống thông tin cơ bản sử dụng mã hóa

kênh

Trên hình 3 là một mô hình thể hiện phương thức

truyền tin cơ bản nhất và hiện nay vẫn được áp dụng.

Trong phương pháp này, bản tin gốc được chia tách thành

các gói tin D1, D2,…, Dn sau đó được đưa đến đóng gói

thêm phần tiêu đề i (để đánh số thứ tự tương ứng cho gói

tin) và phần kiểm tra Cr (áp dụng phương pháp kiểm tra

CRC).

D1 D2 ... Dn

0 D1 Cr1 1 D2 Cr2 n Dn Crn...

Hình 3: Phương thức truyền tin phát hiện lỗi cơ bản

Sau khi đóng gói xong thì các gói tin được phát đi trên đường truyền (hữu tuyến hoặc vô tuyến) tới phía thu. Tại phía thu các gói tin được tiếp nhận và kiểm tra CRC tương ứng. Với mỗi gói mà kiểm tra CRC phát hiện sai thì ngay lập tức bị loại bỏ và khi đó tùy theo phương thức được thiết lập, trong đó hầu hết là yêu cầu phía phát phát lại toàn bộ bản tin theo cách làm được trình bày ở phần trên. Đây là một hạn chế rất lớn khi mà đường truyền vô tuyến thườngcó xác suất lỗi bit khá cao, như thế sẽ làm cho quá trình phát-thu phải thực hiện lặp đi lặp lại rất nhiều lần đối với một bản tin, làm giảm tốc độ thu phát thông tin, tiêu tốn tài nguyên một cách vô ích. Do đó, vấn đề cải thiện hiệu quả truyền dẫn là yêu cầu được đặt ra một cách cấp thiết.

B. Khảo sát một số kết quả được công bố

Trường hợp phổ biến và đơn giải nhất là sử dụng mã phát hiện lỗi CRC [6], trong đó thông tin gốc được chia ra và đưa tới các gói tiến hành tính CRC.Thu lỗi gói nào (CRC sai) thì loại luôn dẫn đến mất tài liệu như phân tích trong hình 3.

Để cải tiến nhược điểm này, người ta sử dụng thêm ma trận Cauchy kết hợp với mã Reed-Solomon để thực hiện mã hóa, giải mã sửa lỗi như trong hình 4[8]. Cụ thể, áp dụng cho hệ thống IoT dựa trên nRF2401 thì bản tin gốc được chia tách thành k gói tin D1, D2,…, Dk (mỗi gói tin ứng với một từ mã), sau đó các từ mã được nhân với một ma trận Cauchy để tạo ra một nhóm n gói tin C1, C2,…, Cn (trong đó n > k, thường chọn n là một số nguyên lần của k và từ bằng 2k trở lên). Tiếp theo thực hiện gắn chỉ số (ở tiêu đề) và mã kiểm tra CRC (ở cuối) cho các gói tin.

Nguyễn Trung Hiếu, Trần Đức Nam, Đinh Sỹ Quảng, Đặng Thế Ngọc

D0 D1 ... Dk

Cauchy

matrix

D0

D1

...

Dk

C0

C1

...

Cn

Thông tin gốc

C0 C1 ... Cn

0 C0 Cr0 1 C1 Cr1 n Cn Crn...

Hình 4: Một phương thức truyền tin phát hiện lỗi sử dụng mã Reed-Solomon kết hợp với ma trận Cauchy

Phía thu chỉ cần nhận được một lượng lớn hơn k gói không lỗi thì có thể thực hiện giải mã khôi phục dữ liệu. Phương thức này phát huy toàn bộ ưu điểm sửa lỗi mất gói của mã Reed-Solomon, tuy nhiên chưa có khả năng loại bỏ được nhược điểm của mã CRC là khi thu được gói tin, phát hiện lỗi là sẽ bị loại ngay, chỉ nhưng gói tin nào không bị lỗi thì mới được đưa vào giải mã để khôi phục các gói bị mất thông tin. Điều đó đưa đến một hệ quả là tỉ lệ số lần giải mã, khôi phục thành công bản tin không cao vì bắt buộc cần phải có một số lượng lớn hơn k gói tin đúng thì mới giải mã, khôi phục dữ liệu thành công.

III. ĐỀ XUẤT CẢI TIẾN HIỆU QUẢ SỬA LỖI MẤT

THÔNG TIN CỦA MÃ

A. Đề xuất lựa chọn cải tiến mã

Mô hình đề xuất như hình 5.Mô hình này, duy trì ưu điểm được đề xuất trong[8] và khắc phục nhược điểm là hạn chế số lượng gói tin mang đi giải mã. Trước tiên thông tin gốc được nhân với ma trận Cauchy, tiến hành mã hóa Golay, sau đó tiến hành ghép gói trong đó không sử dụng mã hóa CRC tại phía phát. Phía thu tiếp nhận thông tin và kiểm tra số bit sai, phân nhóm các gói tin theo số lượng bit thông tin sai tăng dần, tiến hành chọn lượng tin mang đi giải mã Reed-Solomon khôi phục lại thông tin gốc.

Hoạt động:

▪ Bước 1: Cải tiến sử dụng ma trận Cauchy.

▪ Bước2: Thống kê, đánh giá: chỉ cần thu được nhiều hơn k gói tin đúng là có thể giải mã đúng. Áp dụng lý thuyết xác suất và quá trình đánh giá khảo sát thực tế để lựa chọn nhanh các gói tin đúng.

B. Kịch bản thử nghiệm

Mô hình thử nghiệm, đánh giá hiệu quả của mã sửa lỗi

được thực hiện như hình 6.

Tại Node 1, vi điều khiển thu thập thông tin từ cảm

biến, thực hiện mã hóa theo phương pháp đề xuất ở trên,

sau đó đóng gói bản tin gửi qua modul nRF2401 để

truyền tới Node 2. Tại Node 2, tín hiệu thu về từ modul

nRF2401 chuyển tới vi điều khiển, ở đây thực hiện thu

thập thông tin, tập hợp và gửi thông tin lên máy tính.

Máy tính sẽ thu thập dữ liệu, thực hiện phân tích, thống

kê, đánh giá và thực hiện thử nghiệm các tình huống giải

mã theo các kịch bản khác nhau theo các trường hợp thu

lỗi bản tin.

D1 D2 ... Dk

Cauchy

matrix

D1

D2

...

Dk

C1

C2

...

Cn

Thông tin gốc

C 1 C 2 ... C n

0 C 1 1 C 2 n C n...

C1 C2 ... Cn

Mã hóa Golay

Hình 5: Phương thức truyền tin ứng dụng mã sửa lỗi

được đề xuất

nRF24L01

Vi

điều

khiển

UART

Node 2

nRF24L01

Vi

điều

khiển

Cảm

biến

Node 1

Hình 6: Mô hình thực hiện thử nghiệm, đánh giá hiệu quả

của mã sửa lỗi được đề xuất

Kịch bản thử nghiệm:

- Về khoảng cách, vật chắn: ban đầu thực hiện đặt hai

modul cách nhau 5m, sau đó di chuyển tăng khoảng

cách để tăng xác suất thu lỗi bản tin.Thử nghiệm với

trường hợp không có vật chắn, sau đó là các trường

hợp có vật chắn.

- Tốc độ truyền tin: 2Mb/s.

- Công suất phát của node 1: lần lượt thay đổi tương

ứng -18 dBm, -12 dBm, -6 dBm, 0 dBm.

- Bên phát (Node 1): Truyền liên tục các block tin đã

được mã hóa Golay và Reed-Solomon.

- Bên thu (Node 2): Thu liên tục và ghi vào file, sau

đó dùng máy tính để giải mã, thống kê tỉ lệ lỗi.

C. Đánh giá hiệu quả của giải pháp cải tiến được đề

xuất

CẢI THIỆN HIỆU NĂNG HỆ THỐNG IOT DỰA TRÊN NRF2401 SỬ DỤNG MÃ REED-SOLOMON

1. Khảo sát, đánh giá sự ảnh hưởng của khoảng cách,

xác suất lỗi đến việc khôi phục dữ liệu

Trên hình 7 mô tả kết quả khảo sát việc khôi phục

thông tin thu từ modul vô tuyến nRF2401, sau đó qua vi

điều khiển ARM STM32F103C8T6 tiến hành giải mã,

sửa lỗi ứng với 03 trường hợp chất lượng thu tín hiệu

khác nhau.

Quá trình khảo sát cho thấy xác suất lỗi bit thông tin tỉ

lệ thuận với khoảng khách truyền dẫn, ngoài ra nó còn

phụ thuộc vào đặc điểm của các môi trường truyền dẫn

khác nhau như số lượng và đặc tính của vật cản.

Phân tích một số kết quả trình bày trong hình 7, ví dụ

trong trường hợp a), ta có:

Cột Block là chất lượng các hệ số nhận được trong

tổng số 100% đã truyền đi, có 76.47% các hệ số bị mất

hoàn toàn do kênh truyền còn lại trong 23.53% nhận

được thì có

✓ 4.79% sai 0 bit Golay

✓ 4.64% sai 1 bit Golay

✓ 4.82% sai 2 bit Golay

✓ 9.26% sai 3 bit Golay

Cột Msg là chất lượng giải mã ReedSolomon từ

23.53% hệ số nhận được ở cột 1:

✓ Phần màu xanh là tỉ lệ giải mã được thành công dữ

liệu.

✓ Màu trắng 11.97% là phần giải mã sai (thất bại).

✓ Màu da cam là những trường hợp thiếu hệ số,

không đủ để giải mã RS.

✓ Màu đỏ ứng với phần dữ liệu bị mất hoàn toàn do

kênh truyền.

Cột PT là phóng to của đoạn giải mã sai và không đủ

hệ số để đem đi giải mã ở cột 2.

Tương tự như vậy, ở trường hợp b) và trường hợp c)

cho ta thấy rằng khi tổng số gói tin thu được lỗi 0 bit, 1

bit, 2 bit và 3 bit càng lớn thì khả năng khôi phục bản tin

gốc càng cao. Cụ thể trong trường hợp 3 thì khi tổng xác

suất thu được các gói tin lỗi từ 03 bit trở xuống đạt 81%

thì xác suất giải mã, khôi phục được bản tin đạt gần

100%. Đây là một bước tiến khá tốt so với việc chỉ sử

dụng mã Reed-Solomon và mã CRC trong việc mã hóa

bản tin.

2. Khảo sát, đánh giá ảnh hưởng của số lượng gói tin và

số bit lỗi trong các gói tin sử dụng để giải mã đối với

việc khôi phục dữ liệu

Tại phía phát, nhóm nghiên cứu đã tiến hành mã hóa

Reed-Solomon (120, 24), sau đó mã hóa Golay (23, 12,

7) cho bản tin truyền đi. Tại phía thu, sau khi thực hiện

giải mã Golay thì các gói tin thu được tiến hành sắp xếp

theo thứ tự ưu tiên giảm dần tương ứng với số bit sai tăng

dần (nghĩa là các gói tin có 0 bit sai có mức ưu tiên cao

nhất). Sau đó tiến hành giải mã Reed-Solomon để sửa

mất gói theo các phương án như sau (với các số lẻ chạy

trong đoạn [25, 27,..., 61]; các số chẵn chạy trong đoạn

[26, 28,… 60]):

✓ Chọn một số lẻ các gói tin có số bit sai tối đa

bằng 2 (PA1).

✓ Chọn một số lẻ các gói tin có số bit sai tối đa

bằng 3 (PA2).

✓ Chọn một số chẵn các gói tin có số bit sai tối đa

bằng 2 (PA3).

✓ Chọn một số chẵn các gói tin có số bit sai tối đa

bằng 3 (PA4).

✓ Chọn một số chẵn các gói tin có số bit sai tối đa

bằng 3, nếu giải mã sai thì lấy thêm 02 gói tin tốt

nhất trong những gói tin còn lại. Lặp lại đến khi

giải mã thành công hoặc chạm ngưỡng 60 gói tin

thì dừng lại (PA5).

a) Thu đúng 4.79% b) Thu đúng 8.27% c) Thu đúng 68.79%

Hình 7: Kết quả khảo sát chất lượng khôi phục dữ liệu phụ thuộc vào khoảng cách truyền tin và xác suất lỗi đường

truyền

Nguyễn Trung Hiếu, Trần Đức Nam, Đinh Sỹ Quảng, Đặng Thế Ngọc

Hình 8: Kết quả khảo sát ảnh hưởng của số lượng gói tin và số bit lỗi trong các gói tin sử dụng để giải mã đối với

việc khôi phục dữ liệu

Thực hiện 5 phương án trên ứng với các trường hợp

thu lỗi khác nhau để thu thập kết quả khảo sát. Trên hình

8 thể hiện kết quả khảo sát với 4 trường hợp xác suất thu

lỗi khác nhau.

Nhìn vào biểu đồ, ta có thể có một số nhận xét như

sau:

- Trường hợp PA1, PA3 cho kết quả khá tốt, trong đó

PA3 nhanh đạt ngưỡng giải mã bão hòa hơn PA1.

- Trường hợp PA2, PA4 cho chất lượng không ổn

định, khó kiểm soát khi xác suất thu lỗi thay đổi.

- Trường hợp PA5 cho xác suất sửa lỗi tốt nhất,

nhưng việc sử dụng các vòng lặp dẫn đến hệ quả là

khó kiểm soát và tốn kèm về tài nguyên phần cứng,

tăng thời gian giải mã.

Xét tổng thể về tính hiệu quả chi phí, có thể nhận thấy

rằng trường hợp PA3 là chọn một số chẵn các gói tin có

số bit sai nhỏ hơn hoặc bằng 2 mang lại hiệu quả tốt nhất.

D. Đánh giá tốc độ mã hóa, giải mã và tài nguyên sử

dụng

* Tốc độ mã hóa

Xây dựng đoạn mã chương trình sau để đánh giá tốc

độ mã hóa.

time = 0; for 1:1000 { msg = random msg(); start = micros(); code = encoder(msg); stop = micros(); time = time + (stop – start) } time = time/1000; //thời gian mã hóa (us)

Kết quả thu được như sau: 7.899 chu kỳ, thời gian là

110 us.

* Tốc độ giải mã

Để đánh giá tốc độ giải mã, ta sử dụng đoạn code sau:

time = 0; for 1:1000 { rx_code = random code(); start = micros(); fft 120(); get syndrome(); Ln = berlekamp_errosta(); BackwardLFSR(Ln); stop = micros(); time = time + (stop – start) } time = time/1000; //giải mã (us)

Kết quả thu được như sau: 22.977 chu kỳ, thời gian là

319 us.

* Tài nguyên phần cứng sử dụng

Để đánh giá dung lượng ROM, RAM sử dụng thì

chúng ta có thể kiểm tra ngay kết quả Build project trên

phần mềm Embiz như sau:

ROM (bytes) RAM (bytes)

Encode 10,868 864

Decode 10,032 4,672

IV. KẾT LUẬN

Bài báo đã đề xuất việc sử dụng mã Reed-Solomon kết

hợp với một mã sửa lỗi mất gói giúp nâng cao chất lượng

đường truyền vô tuyến sử dụng nRF2401 ứng dụng xây

dựng đường truyền thông cho hệ thống IoT. Kết quả

nghiên cứu, khảo sát, đánh giá thử nghiệm cho thấy hệ

thống IoT dựa trên modul nRF2401 sử dụng mã Reed-

Solomon được cải thiện chất lượng đáng kể, tăng hiệu

quả hoạt động, chất lượng và tốc độ truyền tin khi ứng

dụng kết hợp các mã sửa lỗi. Hệ thống IoT dựa trên

nRF2401 được đề xuất trong bài báo có khả năng tùy

biến cao, có tiềm năng triển khai trong thực tế, ứng dụng

cho công tác giám sát, thu thập thông tin từ các đầu cuối

CẢI THIỆN HIỆU NĂNG HỆ THỐNG IOT DỰA TRÊN NRF2401 SỬ DỤNG MÃ REED-SOLOMON

IoT tốc độ vừa và nhỏ trong thực tiễn.Trong thời gian tới,

nhóm nghiên cứu sẽ tiếp tục thực hiện các thử nghiệm

trong các môi trường có nhiều loại vật chắn khác nhau và

nhiễu biến thiên, đồng thời tiến tới tích hợp thêm tính

năng mật mã hóa để đảm bảo nâng cao chất lượng truyền

tin, tăng độ bảo mật của hệ thống và công bố thêm các

kết quả nghiên cứu liên quan.

LỜI CẢM ƠN

Tác giả xin chân thành cám ơn sự hỗ trợ của các thành

viên nhóm nghiên cứu điện, điện tử, truyền thông PTIT

Team. Xin cảm ơn Học viện Công nghệ Bưu chính Viễn

thông, Bộ Thông tin và Truyền thông đã tạo điều kiện

cho chúng tôi thực hiện hướng nghiên cứu này.

TÀI LIỆU THAM KHẢO

[1] Alem Colakovic, Mesud Hadzialic, “Internet of Things (IoT): A review of enabling technologies, challenges, and open research issues,” Computer Networks, Volume 144, 24 Oct. 2018, pp 27-39.

[2] Hamza Djelouat, Abbes Amira and Faycal Bensaali, “Compressive Sensing-Based IoT Applications: A Review,” Journal of Sensor and Actuator Networks, Oct. 2018.

[3] Ala Al-Fuqaha, Mohsen Guizani, Mehdi Mohammadi, Mohammed Aledhari, and Moussa Ayyash, “Internet of Things: A Survey on Enabling Technologies, Protocols, and Applications,” IEEE Communication Surveys & Tutorials, Vol. 17, No. 4, Fourth quarter 2015.

[4] Mohammad Sadegh Mohammadi, Iain B. Collings, and Qi Zhang, “Simple Hybrid ARQ Schemes Based on Systematic Polar Codes for IoT Applications,” IEEE Communications Letters, Vol. 21, No. 5, May 2017.

[5] Seung Yong Jeon, Ji Hyoung Ahn, and Tae-Jin Lee, “Data Distribution in IoT Networks with Estimation of Packet Error Rate”, 10th International Conference on Next Generation Mobile Applications, Security and Technologies (NGMAST) (2016).

[6] Menezes A. J, Van Oorchot P. C., Handbook of Applied Cryptography, CRC Press, (1998).

[7] Jack Keil Wolf, Paula Evans, Henry D. Pfister, An Introduction to Reed-Solomon Codes (2006).

[8] James S. Plank, “Optimizing Cauchy Reed-Solomon Codes for Fault-Tolerent Storage Applications”, Technical Report CS-05-569, Department of Computer Science, University of Tennessee, December 2005.

[9] Shuhong Gao, A new algorithm for decoding reed-solomon codes (2002).

[10] I. S. Reed and G. Solomon, “Polynomial codes over certain finite fields,” SIAM J. Appl. Math. 8 (1960) 300–304.

[11] R. E. Blahut, “Transform Techniques for Error Control Codes”, IBM J. Res. Dev., Vol. 23, No. 3, May 1979.

[12] Priyanka J. Jambhulkar, P. A. Salunkhe, “A Review: Implementation of Reed Solomon Error Correction & Detection for Wireless Network 802.16”, International Journal on Recent and Innovation Trends in Computing and Communication, Feb. 2017, pages 214-217.

[13] R. Manojprabhakaran, M. Darani kumar, “Reed-Solomon decoder based on nielson’s algorithm for Low-latency interpolation”, International Journal of Advanced Information Science and Technology, Vol. 2, No. 4, April 2013, pages 177-181.

[14] H. P. Lee, C. H. Chang, S. I. Chu, “High-Speed Decoding of the Binary Golay Code,” Journal of Applied Research and Technology, Vol. 11, issue 3, June 2013, pages 331-337.

[15] Kindle Clark and Ted Marley, The Perfect Code Golay Codes (2005).

PERFORMANCE ENHANCE NRF2401-BASED

IOT BY USING REED-SOLOMON CODE

Abstract: This paper presents a proposal of designing

an IoT system based on the nRF2401 module that is used

for wireless data transmission between IoT node and IoT

gateway. The paper also addresses the limitations of this

module and the proposed solution that is based on the use

of Reed-Solomon error correction code in combination

with a number of other codes to improve quality of

wirelesslink by correctingand recovering the loss packets

during transmission.

Keywords: Reed-Solomon, Golay, nRF2401, IoT.

Nguyễn Trung Hiếu, Nhận học vị Thạc sỹ năm 2010, Tiến sĩ năm 2018. Hiện nay đang công tác tại Khoa Kỹ thuật điện tử 1, Học viện Công nghệ Bưu chính Viễn thông. Lĩnh vực nghiên cứu: Lý thuyết thông tin, mã hóa, mật mã, hệ thống số, hệ thống nhúng.

Trần Đức Nam, Nhận bằng Kỹ

sư Công nghệ Kỹ thuật điện tử tại Học viện Công nghệ Bưu chính Viễn thông năm 2016. Hiện đang tham gia nhóm nghiên cứu về lĩnh vực điện, điện tử, truyền thông PTIT Team. Lĩnh vực nghiên cứu: Hệ thống nhúng, tối ưu các hệ thống điện tử.