1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Thiết kế và thi công bộ mã hóa kênh theo công nghệ fpga nhằm tăng độ tin cậy trong thông tin vô tuyến

61 3 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Thiết kế và thi công bộ mã hóa kênh theo công nghệ fpga nhằm tăng độ tin cậy trong thông tin vô tuyến
Tác giả Nguyễn Thị Hồng Hảo
Người hướng dẫn TS. Đỗ Duy Tân
Trường học Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh
Chuyên ngành Công nghệ kỹ thuật Điện tử - Viễn thông
Thể loại Báo cáo tổng kết
Năm xuất bản 2022
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 61
Dung lượng 7,06 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Đỗ Duy Tân 1 trên cả phần mềm và phần cứng kit FPGA với các chuỗi dữ liệu bị lỗi nhằm kiểm tra độ hiệu quả của mã trong việc phát hiện lỗi thông qua mạch tổng hợp bộ giải mã.. Kết quả n

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT

THÀNH PHỐ HỒ CHÍ MINH

S 0 9

CÔNG TRÌNH NGHIÊN CỨU KHOA HỌC CỦA SINH VIÊN

MÃ SỐ: SV2022-23 CHỦ NHIỆM ĐỀ TÀI: NGUYỄN THỊ HỒNG HẢO

THÔNG TIN VÔ TUYẾN

THIẾT KẾ VÀ THI CÔNG BỘ MÃ HÓA KÊNH THEO CÔNG NGHỆ FPGA NHẰM TĂNG ĐỘ TIN CẬY TRONG

S KC 0 0 8 0 8 2

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT TPHCM

BÁO CÁO TỔNG KẾT

ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CỦA SINH VIÊN

THIẾT KẾ VÀ THI CÔNG BỘ MÃ HÓA KÊNH THEO CÔNG NGHỆ FPGA

NHẰM TĂNG ĐỘ TIN CẬY TRONG THÔNG TIN VÔ TUYẾN

SV2022-23

Chủ nhiệm đề tài: Nguyễn Thị Hồng Hảo

TP Hồ Chí Minh, 11/2022

Trang 3

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT TPHCM

BÁO CÁO TỔNG KẾT

ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CỦA SINH VIÊN

THIẾT KẾ VÀ THI CÔNG BỘ MÃ HÓA KÊNH THEO CÔNG NGHỆ FPGA

NHẰM TĂNG ĐỘ TIN CẬY TRONG THÔNG TIN VÔ TUYẾN

SV2022-23

Thuộc nhóm ngành khoa học: Khoa học kỹ thuật

Dân tộc: Kinh

Ngành học: Công nghệ kỹ thuật Điện tử - Viễn thông

Người hướng dẫn: TS Đỗ Duy Tân

TP Hồ Chí Minh, 11/2022

MỤC LỤC

Trang 4

DANH MỤC HÌNH v

DANH MỤC BẢNG viii

CÁC TỪ VIẾT TẮT ix

MỞ ĐẦU 1

I Tổng quan 1

II Lý do chọn đề tài 1

III Mục tiêu đề tài 2

IV Phương pháp nghiên cứu 2

V Đối tượng và phạm vi nghiên cứu 2

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 3

1.1 Tổng quan về mã khối 3

1.1.1 Mã khối 3

1.1.2 Mã Hamming 6

1.2 Mã CRC 7

CHƯƠNG 2: THIẾT KẾ BỘ MÃ HÓA VÀ GIẢI MÃ CRC-16 15

2.1 Yêu cầu thiết kế 15

2.2 Thiết kế bộ mã hóa CRC-16 15

2.3 Thiết kế bộ giải mã CRC-16 19

2.4 Lưu đồ và giải thuật 22

CHƯƠNG 3: KẾT QUẢ VÀ ĐÁNH GIÁ 25

3.1 Định nghĩa các Testcase 25

3.2 Mô phỏng 26

3.2.1 Testcase 1 26

3.2.2 Testcast 2 28

3.2.3 Testcast 3 29

Trang 5

3.2.4 Testcast 4 30

3.2.5 Testcast 5 32

3.3 Kết quả tổng hợp từ Xilinx ISE 36

3.3.1 Kiểm tra hoạt động bộ mã hóa CRC-16 36

3.3.2 Bộ giải mã CRC-16 38

3.4 Tài nguyên sử dụng 43

3.5 Đánh giá và so sánh 44

CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 46

4.1 Kết luận 46

4.2 Hướng phát triển 46

4.3 Kiến nghị 46

TÀI LIỆU THAM KHẢO 47

Trang 6

DANH MỤC HÌNH

Hình 1.1: Bộ mã hóa và bộ giải mã CRC 8

Hình 1.2: Thực hiện tìm CRC thông qua phép chia số nhị phân 9

Hình 1.3: Kiểm tra CRC thông qua phép chia nhị phân lấy dư (không lỗi) 10

Hình 1.4: Thực hiện kiểm tra CRC thông qua phép chia số nhị phân (có lỗi) 10

Hình 1.5: Thiết kế đi dây cho bộ chia CRC 11

Hình 1.6: Đa thức sinh CRC-16 ở dạng nhị phân và dạng đa thức 11

Hình 1.7: Phép tính CRC bằng phương pháp chia đa thức 12

Hình 1.8: Biểu diễn lỗi 2 bit đơn phân biệt 13

Hình 2.1: Sơ đồ khối mạch mã hóa CRC-16 15

Hình 2.2: Sơ đồ chi tiết khối counter 16

Hình 2.3: Mô tả mạch tính CRC-16 với đa thức sinh g(x) = x16 + x15 + x2 + 1 17

Hình 2.4: Sơ đồ chi tiết khối Shifter_encode 18

Hình 2.5: Sơ đồ khối bộ giải mã CRC-16 19

Hình 2.6: Sơ đồ chi tiết khối Shifter_decode 21

Hình 2.7: Lưu đồ bộ counter 22

Hình 2.8: Lưu đồ bộ Shifter_encode 23

Hình 2.9: Lưu đồ bộ Shifter_decode 24

Hình 3.1: Dạng sóng kết quả tính toán CRC của block 4000 bit sau 80,34 us 27

Hình 3.2: Dạng sóng kết quả tính toán CRC của block 4000 bit sau 80,02 us 27

Hình 3.3: Dạng sóng kết quả tính toán CRC của block 32,32 bit sau 1.621 us 28

Hình 3.4: Dạng sóng kết quả tính toán CRC của block 1600 bit sau 32.02 us 29

Hình 3.5: Dạng sóng kết quả CRC của 3 block khác nhau cho ra cùng 1 mã CRC 30

Hình 3.6: Dạng sóng kết quả giải mã CRC của block 1616 bit sau 1.621 us 31

Hình 3.7: Dạng sóng kết quả của bộ giải mã CRC-16 được cho là không đáng tin 31

Hình 3.8: Dạng sóng kết quả giải mã CRC của block 1616 bit sau 1.600 us 31

Hình 3.9: Dạng sóng truyền 100 block có độ dài 4016 bit với mỗi block sai 2 bit 32

Hình 3.10: Dạng sóng truyền 100 block có độ dài 4016 bit với mỗi block sai 2 bit 33

Hình 3.11: Dạng sóng truyền 100 block có độ dài 4016 bit với mỗi block sai 3 bit 33

Hình 3.12: Dạng sóng bộ giải mã không phát hiện được block sai khi truyền 100 block có độ dài 4016 bit với với mỗi block sai 4 bit 34

Trang 7

Hình 3.13: Dạng sóng truyền 100 block có độ dài 4016 bit với mỗi block sai 4 bit 34

Hình 3.14: Dạng sóng truyền 100 block có độ dài 4016 bit với mỗi block sai 5 bit 35

Hình 3.15: Dạng sóng truyền 100 block có độ dài 4016 bit với mỗi block sai 6 bit 35

Hình 3.16: Kết quả bộ mã hóa với block dữ liệu 4000 bit khi chưa có dữ liệu 36

Hình 3.17: Kết quả tính toán CRC của bộ mã hóa với block dữ liệu dài 4000 bit 36

Hình 3.18: Kết quả bộ mã hóa với block dữ liệu 1600 bit khi chưa có dữ liệu 36

Hình 3.19: Kết quả tính toán CRC của bộ mã hóa với block dữ liệu dài 1600 bit 37

Hình 3.20: Kết quả tính toán CRC của bộ mã hóa với block dữ liệu dài 1600 bit 37

Hình 3.21: Kết quả tính toán CRC của bộ mã hóa với block dữ liệu dài 1600 bit 37

Hình 3.22: Kết quả tính toán CRC của bộ mã hóa với block dữ liệu dài 1600 bit 37

Hình 3.23: Hiển thị khi chưa có dữ liệu đưa vào bộ giải mã 38

Hình 3.24: Kết quả kiểm tra của bộ giải mã với block data 0 bị sai 2 bit 38

Hình 3.25: Kết quả kiểm tra của bộ giải mã với block data 1 bị sai 2 bit 38

Hình 3.26: Kết quả kiểm tra của bộ giải mã với block data 2 bị sai 2 bit 39

Hình 3.27: Kết quả kiểm tra của bộ giải mã với block data 3 bị sai 2 bit 39

Hình 3.28: Kết quả kiểm tra của bộ giải mã với block data 0 bị sai 3 bit 39

Hình 3.29: Kết quả kiểm tra của bộ giải mã với block data 1 bị sai 3 bit 39

Hình 3.30: Kết quả kiểm tra của bộ giải mã với block data 2 bị sai 3 bit 40

Hình 3.31: Kết quả kiểm tra của bộ giải mã với block data 3 bị sai 3 bit 40

Hình 3.32: Kết quả kiểm tra của bộ giải mã với block data 0 bị sai 4 bit 40

Hình 3.33: Kết quả kiểm tra của bộ giải mã với block data 1 bị sai 4 bit 40

Hình 3.34: Kết quả kiểm tra của bộ giải mã với block data 2 bị sai 4 bit 41

Hình 3.35: Kết quả kiểm tra của bộ giải mã với block data 3 bị sai 4 bit 41

Hình 3.36: Kết quả kiểm tra của bộ giải mã với block data 0 bị sai 5 bit 41

Hình 3.37: Kết quả kiểm tra của bộ giải mã với block data 1 bị sai 5 bit 41

Hình 3.38: Kết quả kiểm tra của bộ giải mã với block data 2 bị sai 5 bit 42

Hình 3.39: Kết quả kiểm tra của bộ giải mã với block data 3 bị sai 5 bit 42

Hình 3.40: Kết quả kiểm tra của bộ giải mã với block data 0 bị sai 6 bit 42

Hình 3.41: Kết quả kiểm tra của bộ giải mã với block data 1 bị sai 6 bit 42

Hình 3.42: Kết quả kiểm tra của bộ giải mã với block data 2 bị sai 6 bit 43

Hình 3.43: Kết quả kiểm tra của bộ giải mã với block data 3 bị sai 6 bit 43

Trang 8

Hình 3.45: Tài nguyên của bộ giải mã CRC-16 với dữ liệu block dài 4016 bit 44

Trang 9

DANH MỤC BẢNG

Bảng 1.1: Minh họa bộ mã (5,2) 4

Bảng 1.2: Các mô hình mã hóa kênh truyền 5

Bảng 1.3: Ví dụ mã hóa của mã Hamming (7,4) 6

Bảng 1.4: Ví dụ giải mã và sửa lỗi của mã Hamming (7,4) 7

Bảng 1.5: Một số đa thức sinh g(x) thông dụng của mã CRC 7

Bảng 2.1: Bảng trạng thái của khối counter 16

Bảng 2.2: Bảng trạng thái của khối Shifter_encode 19

Bảng 2.3: Bảng trạng thái của khối Shifter_decode 20

Bảng 3.1: Bảng tóm tắt Testcase case của bộ mã hóa và giải mã CRC-16 25

Bảng 3.2: Gói dữ liệu bao gồm CRC-16 của USB 26

Bảng 3.3: Modbus message 28

Bảng 3.4: 3 block dữ liệu được tạo ra 29

Bảng 3.5: Bảng thời gian tối thiểu để mã hóa và giải mã CRC 44

Bảng 3.6: Bảng so sánh xác suất phát hiện được block sai khi truyền 100 block với xác suất lỗi ngẫu nhiên mỗi block là khác nhau 45

Trang 10

CÁC TỪ VIẾT TẮT

Language

Trang 11

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT TPHCM

THÔNG TIN KẾT QUẢ NGHIÊN CỨU CỦA ĐỀ TÀI

1 Thông tin chung:

- Tên đề tài: THIẾT KẾ VÀ THI CÔNG BỘ MÃ HÓA KÊNH THEO CÔNG NGHỆ

FPGA NHẰM TĂNG ĐỘ TIN CẬY TRONG THÔNG TIN VÔ TUYẾN

- Thành viên đề tài:

- Người hướng dẫn: TS Đỗ Duy Tân

1 trên cả phần mềm và phần cứng (kit FPGA) với các chuỗi dữ liệu bị lỗi nhằm kiểm tra độ hiệu quả của mã trong việc phát hiện lỗi thông qua mạch tổng hợp bộ giải mã

3 Tính mới và sáng tạo:

Phần lớn các bài báo hiện nay chỉ tập trung vào việc thực thi chức năng thiết kế qua mô phỏng và chưa có các trình bày chi tiết cho thiết kế đã để ra Vì vậy, để giúp cho đọc giả có thể dễ dàng tiếp cận với nội dung nghiên cứu, chúng tôi thực hiện trình bày

Trang 12

chi tiết các thiết kế bộ mã hóa và giải mã CRC-16 và đánh giá kết quả thiết kế trên cả phần mềm Xilinx ISE và kit FPGA Xilinx AX309, trong đó khả năng phát hiện lỗi, tài nguyên sử dụng và thời gian hoạt động được xem xét và đánh giá chi tiết Bên cạnh đó, các Testcase dùng cho các đánh giá cũng tiệm cận với các ứng dụng thực tế như chuẩn

USB 2.0 và Modbus

4 Kết quả nghiên cứu:

Nghiên cứu đã đạt được những kết quả như: Xây dựng được bộ mã hóa CRC-16

từ lý thuyết dùng ngôn ngữ mô tả phân cứng Verilog HDL, các kết quả mô phỏng được xem xét cho thấy thiết kế có thể đáp ứng với các chuẩn truyền thông Bên cạnh đó, thiết

kế được tích hợp trên kit FGPA Xilix AX309 nhằm đánh giá tính thực thi của thiết kế trên phần cứng thực tế

5 Đóng góp về mặt giáo dục và đào tạo, kinh tế - xã hội, an ninh, quốc phòng và khả năng áp dụng của đề tài:

Trong đề tài này, chúng tôi đã thực hiện thiết kế, thi công và đánh giá chi tiết bộ

mã hóa và giải mã mã CRC-16 dựa trên công nghệ FPGA Các đánh giá về mã CRC được xem xét trên các block dữ liệu tiệm cận với ứng dụng trong các chuẩn truyền thông như USB 2.0 hay Modbus thông qua các Testcase mô phỏng Bài báo này có giá trị như một tài liệu tham khảo cho việc học tập các môn liên quan tới thiết kế hệ thống số và thiết kế vi mạch số, đặc biệt là thiết kế các khối mã hóa kiểm soát lỗi ứng dụng trong thông tin số

6 Công bố khoa học của SV từ kết quả nghiên cứu của đề tài (ghi rõ tên tạp chí nếu

có) hoặc nhận xét, đánh giá của cơ sở đã áp dụng các kết quả nghiên cứu (nếu có):

Bài báo “FPGA-Based Design and Implementation of CRC-16 Encoder and Decoder” đã được chấp nhận đăng trên tạp chí Khoa học Giáo dục Kỹ Thuật - Trường đại học Sư phạm Kỹ thuật thành phố Hồ Chí Minh ngày 30/08/2022

Ngày 10 tháng 11 năm 2022

SV chịu trách nhiệm chính thực hiện đề tài

(kí, họ và tên)

Trang 13

Nhận xét của người hướng dẫn về những đóng góp khoa học của SV thực hiện đề

tài (phần này do người hướng dẫn ghi):

Ngày tháng năm

Người hướng dẫn

(kí, họ và tên)

Trang 14

từ nhiều nguồn khác nhau như nhiễu hoặc việc truyền dẫn dữ liệu trong môi trường không dây bị ảnh hưởng bởi các vật cản, phản xạ từ các vật thể… Vì vậy hệ thống cần

có độ tin cậy cao với cơ chế phát hiện và sửa lỗi để đảm bảo tính toàn vẹn dữ liệu

vệ thông tin từ nguồn đến đích Theo đó, các mã kiểm tra và sửa lỗi cũng không ngừng được nâng cao, một số mã kiểm tra được sử dụng nhiều hiện nay như: LDPC, Reed-Solomon, CRC, Convolutional Codes, … được ứng dụng trong các khối mã hóa và giải

mã thông tin trong hệ thống số Với ưu điểm là đơn giản, phổ biến nhưng hiệu quả trong việc phát hiện các lỗi bệt trong quá trình truyền và lưu trữ dữ liệu số, mã CRC (Cyclic Redundancy Check) vẫn được tin dùng trong các giao thức truyền thông kỹ thuật số, nó cung cấp lớp bảo vệ đầu tiên chống lại sự cố hỏng dữ liệu trong quá trình truyền

Mã CRC đã được nghiên cứu trong nhiều bài báo [1-3] Trong bài báo [1], tác giả thiết kế và thi công bộ mã CRC cho hệ thống ADS-B (Automatic Dependent Surveillance Broadcast) dựa trên công nghệ FPGA Trong bài báo [2], tác giả đề xuất thuật toán CRC có khả năng giảm tỉ lệ lỗi của hệ thống bằng cách phát hiện và kiểm soát

Trang 15

của mã CRC áp dụng cho hai tiêu chuẩn yêu cầu năng lượng thấp Bluetooth Low Energy (BLE) và IEEE 802.15.4 Đồng thời, các nghiên cứu, đồ án về lĩnh vực này vẫn còn rất hạn chế

Trong đề tài này, chúng tôi trình bày chi tiết thiết kế và thi công bộ mã hóa và bộ giải mã CRC-16 ứng dụng trong chuẩn Modbus RTU dựa trên công nghệ FPGA [4-5] – thường được sử dụng trong hệ thống truyền thông công nghiệp, để xác minh độ tin cậy của dữ liệu Thay vì chỉ đánh giá thực thi chức năng thiết kế qua mô phỏng như nhiều bài báo đang có, chúng tôi đánh giá kết quả thiết kế trên cả phần mềm Xilinx ISE và kit FPGA Xilinx AX309, trong đó khả năng phát hiện lỗi, tài nguyên sử dụng và thời gian hoạt động được xem xét và đánh giá chi tiết

III Mục tiêu đề tài

Mục tiêu đề tài là nghiên cứu, xây dựng và mô phỏng được một bộ mã hóa và một

bộ giải mã CRC-16

 Nghiên cứu lý thuyết về mã CRC

 Bộ mã hóa CRC-16 có thể tính toán ra mã CRC và nối vào block và truyền đi

Bộ giải mã CRC-16 có thể kiểm tra độ chính xác của block nhận được và giải mã block

IV Phương pháp nghiên cứu

- Nghiên cứu và phân tích lý thuyết

- Dùng các ngôn ngữ lập trình mô tả phần cứng như Verilog và các phần mềm máy tính hỗ trợ cho quá trình thiết kế vi mạch

- Đánh giá hiệu năng và tài nguyên hệ thống cần thiết của giải pháp được nêu ra

V Đối tượng và phạm vi nghiên cứu

Đối tượng nghiên cứu: Nhóm tập trung tìm hiểu lý thuyết, từ đó thiết kế các thành

phần của bộ mã CRC dựa trên ngôn ngữ Verilog Sau đó tiến hành tạo các bản thử nghiệm và quan sát kết quả thông qua môi trường mô phỏng

Phạm vi nghiên cứu: Đề tài chỉ nghiên cứu một trong số các mô hình mã hóa

kiểm soát lỗi đang có là CRC và chỉ giới hạn trong việc đánh giá hiệu năng của thiết kế qua mô phỏng và qua kit FPGA

Trang 16

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT

1.1 Tổng quan về mã khối

1.1.1 Mã khối

Mã khối là mã gồm k bit thông tin, người ta sẽ tính toán và tạo ra r bit kiểm tra tạo thành một từ mã (n, k) với n là tổng số bit (n = k + r) Nếu k bit được truyền từ bên phát qua môi trường đến bên thu Nếu bên thu nhận được k bit nguyên vẹn thì sẽ tính ra được

r bit giống bit kiểm tra đi kèm Có một tham số được quan tâm là R = k/n được gọi là tỉ

lệ thông tin chứa dữ liệu có ích trên tổng số thông tin truyền, tỉ lệ này liên quan mật thiết đến tốc độ truyền dữ liệu: ở điều kiện kênh truyền tốt thì ta cho tỉ lệ này cao lên, điều chế bậc cao hơn để cho tăng tốc độ, ngược lại trong điều kiện kênh truyền xấu thì phải cho tỉ lệ này thấp, bit kiểm tra nhiều lên và loại điều chế mang ít thông tin, bảo đảm độ tin cậy dữ liệu

Với k bits ta có thể tạo ra 1 bộ dữ liệu gồm 2 k thông tin, tương tự với n bits ta có

2 n từ mã Bởi vì n > k cho nên số lượng từ mã luôn luôn lớn hơn số lượng thông tin, suy

ra rằng: sẽ có (2 n – 2 k ) từ mã sẽ không phù hợp với bất kì thông tin nào, các từ mã này

được gọi là từ mã không hợp lệ Ví dụ: Mã Hamming (7, 4) với độ dài từ mã là n = 7 bit, có 3 bit mang dữ liệu và 7 bit chẵn lẻ

Khoảng cách Hamming

Khoảng cách Hamming giữa hai dãy ký tự có chiều dài bằng nhau được định nghĩa

là tổng số lượng các bit ở vị trí tương đương có giá trị khác nhau Khoảng cách Hamming dùng để đo số lượng thay thế cần phải có để đổi giá trị của một dãy ký tự sang một dãy

Trang 17

Ví dụ: Trong ví dụ bên dưới từ mã có 2 lỗi và khoảng cách Hamming giữa 2 từ mã

là d(11111, 01101) = 2

Khoảng cách tối thiểu

Khoảng cách tối thiểu là khoảng cách Hamming nhỏ nhất giữa tất cả các cặp ký tự

Bằng cách xác định khoảng cách tối thiểu của bộ mã từ đó sẽ cung cấp cho chúng

ta khả năng phát hiện lỗi ngẫu nhiên của bộ mã Từ mã nhận được là tổng (phép cộng modulo-2) của từ mã được truyền và mẫu lỗi Vì vậy, lỗi có thể phát hiện được khi chúng không bị thay đổi từ từ mã được truyền thành từ mã hợp lệ khác hoặc bị thay đổi thành

từ mã không hợp lệ Theo định nghĩa của khoảng cách tối thiểu, hai từ mã bất kỳ của cùng một bộ mã khác nhau ít nhất là dmin bit Trường hợp luôn đáp ứng điều kiện này là

số lỗi nhỏ hơn khoảng cách tối thiểu dmin vì từ mã được truyền đi trong trường hợp này

sẽ không bị biến thành từ mã hợp lệ khác Do đó, có thể phát hiện đến t lỗi:

min 1

Trang 18

Bên cạnh đó, khoảng cách tối thiểu còn có mối quan hệ với khả năng sửa lỗi ngẫu nhiên theo biểu thức sau đây

Với w là khả năng sửa lỗi ngẫu nhiên của mã Trong ví dụ trên w = 1, mã này có

khả năng sửa được lỗi 1 bit

Từ hai biểu thức (1.1) và (1.2) có kết luận: bất kì mã nào có khả năng phát hiện được tất cả lỗi đôi thì có khả năng sửa được lỗi 1 bit

Bảng 1.2: Các mô hình mã hóa kênh truyền

Mã không tuyến tính

Mã tuyến tính

Mã không tuần hoàn

e

>

1 Trong thực tế, luôn luôn tồn tại nhiễu và các yếu tố khác can thiệp làm thay đổi thông tin mà chúng ta muốn gửi đi Việc mã hóa dữ liệu sẽ giúp cho chúng ta có khả năng kiểm soát lỗi (Error control) từ đó cải thiện hiệu suất của hệ thống Có 2 loại kiểm soát lỗi đó là:

Trang 19

+ Forward error control: thông tin sửa sai được thêm vào các ký tự hoặc các frame truyền đi, để bên nhận có thể phát hiện khi nào có lỗi và lỗi nằm ở đâu để sửa (có khả năng sửa lỗi)

+ Feedback (backward) error control: thông tin sửa sai được thêm vào các ký tự hoặc các frame truyền đi chỉ đủ để phát hiện khi nào có lỗi (không có khả năng sửa lỗi) Cơ chế yêu cầu truyền lại ký tự/frame sai được dùng trong trường hợp này (Automatic Repeat Request – ARQ)

1.1.2 Mã Hamming

Là một mã cao cấp hơn của các mã kiểm tra chẵn lẻ đơn thuần Mã Hamming chia

dữ liệu thành các khối để tính các bit chẵn lẻ Lấy ví dụ chúng ta có một từ dữ liệu dài

7 bit với giá trị là 0110101 Chữ d (data) được dùng để biểu thị các bit dữ liệu và chữ p (parity) để biểu thị các bit chẵn lẻ (parity bits) Đầu tiên, các bit của dữ liệu được

đặt vào vị trí tương thích của chúng, sau đó các bit chẵn lẻ cho mỗi trường hợp được tính toán dùng quy luật bit chẵn lẻ số chẵn

Bảng 1.3: Ví dụ mã hóa của mã Hamming (7,4)

Vị trí bit chẵn lẻ và các bit dữ liệu p1 p2 p1 p3 p2 p3 p4 p4 p5 p6 p7

Trong Bảng 1.3, bit parity p 1 được tính cho các bit dữ liệu (d 1 d 2 d 4 d 5 d 7), tương tự

cho p 2 , p 3 và p 4 Bằng phương pháp này, các bit chẵn lẻ của từng nhóm dữ liệu sẽ kết hợp với nhau và tìm ra chính xác vị trí bit bị sai

Giả sử bit cuối cùng trong nhóm dữ liệu là d 7 bị sai từ 1  0 Nhóm dữ liệu mới

sẽ là 10001100100 Trong Bảng 1.4 chúng ta sẽ phân tích quy luật giải mã của mã

Hamming Trong đó, vị trí bit bị sai là 1011 (đọc từ dưới lên) tương ứng với giá trị thập phân là 11

Trang 20

Bảng 1.4: Ví dụ giải mã và sửa lỗi của mã Hamming (7,4)

Vị trí bit chẵn lẻ

và các bit dữ liệu p1 p2 p1 p3 p2 p3 p4 p4 p5 p6 p7

Kiểm tra chẵn lẻ

Bit chẵn lẻ Nhóm dữ liệu

cơ bản để giữ cho dữ liệu sạch và toàn vẹn trong một hệ thống nhúng

CRC là một phương pháp phát hiện lỗi bằng cách gắn thêm một khối bit phía sau khối dữ liệu Các bit bổ sung thêm vào được gọi là các bit CRC: giá trị chuỗi bit kiểm tra hay chuỗi CRC là số dư của phép chia chuỗi bit thông tin (message) cho một chuỗi bit đa thức sinh Đa thức sinh sẽ khác nhau tùy theo các giao thức quy định Phép chia trong tính toán CRC sử dụng phép modulo-2 CRC rất phổ biến, vì nó rất đơn giản để lắp đặt trong các máy tính sử dụng hệ cơ số nhị phân, hiệu quả trong việc kiểm tra, và rất phù hợp để dò ra các lỗi gây ra bởi nhiễu trong khi truyền dữ liệu

 Các hàm CRC thường dùng và được chuẩn hóa

Các mã kiểm tra CRC được chia thành nhiều tiêu chuẩn, mỗi ứng dụng khác nhau

sẽ có các mã CRC phù hợp

Bảng 1.5: Một số đa thức sinh g(x) thông dụng của mã CRC

Tên mã Ứng dụng Đa thức biểu diễn

Trang 21

Trong mô hình mã hóa ở Hình 1.1, chuỗi bit dữ liệu gồm k bits (ở hình minh họa

là 4 bit a 3 a 2 a 1 a 0 ) và từ mã phát đi gồm n bit nhị phân (ở hình minh họa là 7 bit:

a3a2a1a0r2r1r0) Kích thước của chuỗi dữ liệu được nối thêm vào n - k bits số 0 (trong

Trang 22

sau khi đã chèn thêm các bit 0 sẽ đi qua bộ tạo mã CRC (generator) Bộ tạo mã CRC thực hiện phép chia nhị phân không nhớ (phép chia modulo-2) với số chia là một đa

thức sinh được quy định từ trước (hình minh họa là 1 đa thức sinh bậc 3 d 3 d 2 d 1 d 0) Cuối

cùng, phần dư của phép chia này (r 2 r 1 r 0) được nối thêm vào trước chuỗi dữ liệu tạo thành từ mã

Dữ liệu nối thêm bit 0

Đa thức sinh

Hình 1.2: Thực hiện tìm CRC thông qua phép chia số nhị phân

Các bước trong Hình 1.2 được tiến hành như sau: đầu tiên, thêm vào chuỗi dữ liệu

các bit 0, số lượng bit 0 phụ thuộc vào bậc của đa thức sinh Ở mỗi bước thực hiện, ta tiến hành xor chuỗi dữ liệu với số chia (chuỗi đa thức sinh) Sau khi xor, ta hạ 1 bit tiếp theo trong chuỗi dữ liệu xuống để tạo thành đủ số bit tương ứng với số chia Nếu bit có trọng số cao nhất của số dư sau mỗi lần chia bằng 0 thì ở bước tiếp theo ta sẽ thực hiện xor với chuỗi bit 0 thay vì xor với chuỗi đa thức sinh

Bộ kiểm tra mã CRC

Trong Hình 1.3 khối kiểm tra ở bộ giải mã sẽ thực hiện phép chia nhị phân không

nhớ của từ mã nhận được với cùng chuỗi đa thức sinh ở bộ mã hóa Phần dư của phép

chia là 1 chuỗi gồm n – k bit (n – k = 7 – 4 = 3 bits) được gọi là syndrome (s 2 s 1 s 0) Từ

mã nhận được là không lỗi nếu chuỗi syndrome chứa toàn bộ là các bit 0 và ngược lại

từ mã nhận được là có lỗi

Trang 23

Hình 1.3: Kiểm tra CRC thông qua phép chia nhị phân lấy dư (không lỗi)

Hình 1.3 tiến hành phép chia lấy dư để kiểm tra lỗi của từ mã 1001110 Kết quả

nhận được là một từ mã đúng, không có lỗi Ngược lại, trong Hình 1.4 với từ mã là

1000110, dựa vào kết quả giải mã là số dư ta thu được syndrome 011 nên từ mã 1000110

Một trong những ưu điểm của mã CRC có thể thấy được qua những phân tích trên

đó là khả năng thi công phần cứng dễ dàng và đơn giản từ các linh kiện cổng xor, flip flop

 Số chia (generator)

o Số chia được tiến hành xor nhiều lần với từng phần của số bị chia

o Số chia gồm n – k +1 bits Số chia có thể được định nghĩa trước hoặc

hoàn toàn là các bit 0 Việc số chia nhận giá trị nào trong hai giá trị trên phụ thuộc vào bit có trọng số lớn nhất của số bị chia mà số chia có thể

là chuỗi đa thức sinh đã được lựa chọn từ trước hoặc là chuỗi các bit 0

Trang 24

Kết hợp những điều trên cùng với việc biết trước chuỗi bit của số chia, ta có thể tạo được một mô hình cố định:

Không cần kết nối cổng xor

ở vị trí bit có giá trị bằng 0

Bit MSB của dữ liệu

Hình 1.5: Thiết kế đi dây cho bộ chia CRC

Lấy ví dụ chuỗi bit số chia là 1011 (d 3 d 2 d 1 d 0 ) như Hình 1.5 Vì bit d2 bằng 0 nên nhánh d2 bị loại bỏ

 Số bị chia (chuỗi dữ liệu): giữ nguyên vị trí và chỉ có số chia là dịch phải mỗi lần một bit Tuy nhiên xem xét trong quá trình thực hiện phần cứng, việc dịch chuỗi dữ liệu là một cách làm không hiệu quả Bởi vì số chia là cố định, chỉ

có dữ liệu đầu vào là thay đổi Vì vậy, ta sẽ giữ nguyên số chia và dịch chuỗi

dữ liệu

Số dư: gồm n – k bits nên chúng ta có thể sử dụng n – k thanh ghi để lưu giá

trị của các bits này

Mã CRC có thể được biểu diễn dưới 2 hình thức, đó là: dạng chuỗi các bit nhị phân

và dưới dạng đa thức Dạng đa thức sinh được lựa chọn vì phù hợp và thuận tiện cho việc phân tích mã CRC

Đa thức sinh

Hình 1.6: Đa thức sinh CRC-16 ở dạng nhị phân và dạng đa thức

Bộ tạo CRC thường không chỉ là chuỗi các bit 1 và 0, mà được tạo ra từ đa thức Các đa thức này tiện lợi vì 2 lý do: ngắn và thường dùng để chứng minh các ý niệm toán học trong quá trình giải mã CRC [6] Việc biểu diễn CRC dưới dạng đa thức thông qua

Hình 1.6 các bit nhị phân được thay bằng 4 số hạng giúp người đọc dễ hình dung hơn

Trang 25

Điều này đặc biệt có lợi khi số lượng bit trình bày càng lớn Chú ý rằng bậc của đa thức sinh sẽ ít hơn so với khi biểu diễn dưới dạng bit nhị phân 1 đơn vị

Phép toán cộng và trừ được áp dụng lên đa thức là phép toán modulo-2 Và phép nhân hai đa thức thì chúng ta vẫn thực hiện như nhân đa thức thông thường

Ví dụ:x5  x4  x2cộng (hoặc trừ) cho x6  x4  x2sẽ cho ra kết quả là

xx Phép cộng (trừ) modulo-2 tiến hành loại bỏ các số hạng có cùng số mũ Chú

ý trong trường hợp số các số hạng có cùng số mũ là số lẻ thì phải giữ lại 1 số hạng Phép toán mà chúng ta quan tâm nhất ở đây đó chính là phép chia hai đa thức cho nhau Các bước tiến hành tương tự như thực hiện với các bit nhị phân Tuy nhiên, vì tính chất dịch vòng và tuyến tính của mã CRC nên chúng ta cần phải biến đổi số bị chia trước khi tiến hành phép chia đa thức

Bước 1: chúng ta nhân đa thức dữ liệu với r

x với rbậc của đa thức sinh Bước này tương tự như khi chúng ta chèn thêm các bit 0 vào trước chuỗi bit nhị phân dữ liệu

Đa thức dữ liệu m(x) trở thành: x x3( 3    1) x6 x3

Bước 2: ta thực hiện như phép chia hai đa thức thông thường Chú ý phép trừ vẫn được thực hiện theo modulo-2

Hình 1.7: Phép tính CRC bằng phương pháp chia đa thức

Hình 1.7 biểu diễn thực hiện phép chia dưới dạng đa thức sẽ đơn giản và nhanh

chóng hơn so với việc thực hiện chia dưới dạng các bit nhị phân vì đã bỏ qua bước chia cho các bit 0

Trang 26

Từ biểu thức (1.3), T(x) chắc chắn chia hết cho G(x) Vì thế khả năng phát hiện lỗi

sẽ phụ thuộc vào dạng của biểu thức E(x) và kết quả của E(x) mod G(x) Dựa vào đây,

ta có thể đánh giá độ hiệu quả của đa thức sinh trong việc phát hiện các dạng lỗi và từ

đó rút ra được các quy luật để hình thành một đa thức sinh G(x) sao cho có thể phát hiện

được nhiều dạng lỗi nhất có thể

Lỗi 1 bit: giống với việc cộng thêm một đa thức ( ) E xx kvào đa thức gửi đi T x( ).

Vì thế nếu đa thức sinh có nhiều hơn 1 số hạng hoặc đa thức sinh không chia hết cho x i

(với i ∈ 𝑁) thì mã CRC có thể phát hiện được tất cả các trường hợp lỗi 1 bit

Lỗi 2 bit đơn phân biệt: Lỗi 2 bit đơn phân biệt được trình bày dưới dạng đa thức

như sau: E x( ) x i x jx x i( j i 1),(với ji) Nếu nhưG x( )có nhiều hơn 1 số hạng

thì G(x) không thể chia hết cho x i (đã chứng minh ở lỗi 1 bit) Trong trường hợpG x ( )

chia hết cho E x ( ) thì nó bắt buộc phải chia hết cho xj i  1.Vì vậy để phát hiện được

lỗi 2 bit đơn phân biệt thì G x ( )phải không chia hết cho xt  1với

Đa thức G(x) trong trường hợp này gọi là đa thức nguyên thủy

Hình 1.8: Biểu diễn lỗi 2 bit đơn phân biệt

Ta rút ra được, một đa thức sinh khi phân tích đa thức thành nhân tử có tồn tại

( x  1)thì sẽ phát hiện được toàn bộ lỗi là số lẻ các bit

Lỗi chùm (lỗi bệt): là một trong những yếu tố quan trọng để đánh giá mức độ hiệu

quả của một bộ mã hóa Lỗi chùm sẽ phải có nhiều hơn 2 số hạng trong đa thức lỗi (nếu bằng 2 thì là lỗi 2 bit) ta có:

Trang 27

( ) mod ( ) 0 ( j i 1) mod( r 1) 0

x i được loại bỏ bớt vì đây là điều kiện tiên chuẩn của một đa thức sinh có thể phát

hiện được lỗi 1 bit nên đa thức sinh không thể chia hết cho x i

+ Tất cả các lỗi chùm sẽ được phát hiện nếu Lr(với Llà độ dài của đa thức lỗi) + Tất các các lỗi chùm với độ dài L r 1sẽ được phát hiện với xác suất là

1

112

a Không chia hết cho x

b Không chia hết cho x t 1,với 2  t n 1

c Khi phân tích thành nhân tử có ( x  1)

Nhận xét về hiệu năng của mã CRC

CRC là phương pháp phát hiện lỗi rất hiệu quả nếu đa thức sinh đáp ứng được các điều kiện vừa nêu do:

+ CRC có thể phát hiện các lỗi chùm có độ dài nhỏ hơn hoặc bằng bậc của đa thức sinh và phát hiện với xác suất cao các lỗi chùm có độ dài lớn hơn bậc của đa thức sinh + CRC có thể phát hiện các lỗi 2 bit ngẫu nhiên

+ CRC có thể phát hiện tất cả các lỗi chùm ảnh hưởng lên các bit có thứ tự lẻ

Trang 28

CHƯƠNG 2: THIẾT KẾ BỘ MÃ HÓA VÀ GIẢI MÃ CRC-16

2.1 Yêu cầu thiết kế

 Thiết kế bộ mã hóa và bộ giải mã CRC-16 dựa trên đa thức sinh

1

 Thiết kế hoạt động với xung clock tần số 50 MHz

 Độ dài 1 block đầu vào của bộ mã hóa CRC-16 là N và của bộ giải mã CRC-16 là N+16

2.2 Thiết kế bộ mã hóa CRC-16

Bộ mã hóa CRC-16 hoạt động dựa trên sự thay đổi trạng thái của tín hiệu en_data

Dữ liệu được đưa vào chân data_in, sau khi tính toán CRC với đa thức sinh

en_crc

en_crc clk rst_n en_data data_in

Hình 2.1: Sơ đồ khối mạch mã hóa CRC-16

Hình 2.1 mô tả sơ đồ khối trong mạch mã hóa CRC-16 Mạch gồm 2 khối chính

đó là khối counter và khối Shifter_encode Khối counter có nhiệm vụ tạo tín hiệu cho phép en_crc bằng cách đếm số lần dịch để đưa vào khối Shifter_encode cho phép đưa

dữ liệu đến ngõ ra data_out và crc_out

Trang 29

+ D

Clk Q

reset

DataA

DataB Out DataA

T Out D

Clk Q

reset

1

0

N-1 0

M_3

D_0

D_1

Hình 2.2: Sơ đồ chi tiết khối counter

Khối Counter được thiết kế như Hình 2.2 Bảng trạng thái mô tả hoạt động bên trong của khối counter được thể hiện trong Bảng 2.1 Mux M_0 cho phép giá trị đếm

bên trong mạch tăng lên 1 đơn vị khi giá trị đếm nhỏ hơn N-1, Mux M_1 điều khiển cho phép mạch bắt đầu đếm khi tín hiệu en_data = 0 Khi giá trị đếm bằng giá trị N-1 mạch

sẽ giữ nguyên giá trị đếm đồng thời gán mức 1 cho tín hiệu en_crc Các bộ mux M_2, M_3 và Flip Flop D_1 đóng vai trò như một mạch chốt cho ngõ ra en_crc

Bảng 2.1: Bảng trạng thái của khối counter

Ngày đăng: 25/10/2023, 16:18

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[6] Nguyễn Việt Hùng, Nguyễn Ngô Lâm, Nguyễn Văn Phúc, Đặng Phước Hải Trang, “Kỹ thuật truyền số liệu”. NXB Đại Học Quốc Gia TP. HCM, 04/2013 Sách, tạp chí
Tiêu đề: Kỹ thuật truyền số liệu
Tác giả: Nguyễn Việt Hùng, Nguyễn Ngô Lâm, Nguyễn Văn Phúc, Đặng Phước Hải Trang
Nhà XB: NXB Đại Học Quốc Gia TP. HCM
Năm: 2013
[7] Moon, T. K., “Error Control Coding—Mathematical Methods and Algorithms”, New York: John Wiley & Sons, 2005 Sách, tạp chí
Tiêu đề: Error Control Coding—Mathematical Methods and Algorithms
Tác giả: T. K. Moon
Nhà XB: John Wiley & Sons
Năm: 2005
[8] Lin, S., and D. J. Castello, “Error Control Coding—Fundamentals and Application”, Upper Saddle River, NJ: Prentice-Hall, 2004 Sách, tạp chí
Tiêu đề: Error Control Coding—Fundamentals and Application
Tác giả: Lin, S., D. J. Castello
Nhà XB: Prentice-Hall
Năm: 2004
[9] Behrouz A. Forouzan, “Data Communications and Networking”, Fourth Edition, Published by McGraw-Hill, USA, 2007.[10] usb.org Sách, tạp chí
Tiêu đề: Data Communications and Networking
Tác giả: Behrouz A. Forouzan
Nhà XB: McGraw-Hill
Năm: 2007
[1] Ma Yuping &Zhang Jun, “Design and Implementation of CRC Error Correction for ADS-B System Responding Based on FPGA”. Applied Mechanics and Materials,2014 Khác
[2] Zonglin Zhong, Wengui Hu, “Error detection and control of IoT network based on CRC algorithm”, Computer Communications, volume 153, 2020, pages 390-396 Khác
[3] E. Tsimbalo, X. Fafoutis and R. J. Piechocki, “CRC Error Correction in IoT Applications”, IEEE Transactions on Industrial Informatics, vol. 13, no. 1, Feb. 2017, pp. 361-369 Khác
[4] J. N. Chhatrawala, N. Jasani and V. Tilva, “FPGA based data acquisition with Modbus protocol”, International Conference on Communication and Signal Processing (ICCSP), 2016, pp. 1251-1254 Khác
[5] Sarah L. Harris, David Money Harris, Digital Design and Computer Architecture - Arm Edition, Elsevier USA, 04/2015 Khác

HÌNH ẢNH LIÊN QUAN

Hình 1.1: Bộ mã hóa và bộ giải mã CRC. - Thiết kế và thi công bộ mã hóa kênh theo công nghệ fpga nhằm tăng độ tin cậy trong thông tin vô tuyến
Hình 1.1 Bộ mã hóa và bộ giải mã CRC (Trang 21)
Hình 2.2: Sơ đồ chi tiết khối counter. - Thiết kế và thi công bộ mã hóa kênh theo công nghệ fpga nhằm tăng độ tin cậy trong thông tin vô tuyến
Hình 2.2 Sơ đồ chi tiết khối counter (Trang 29)
Hình 2.3: Mô tả mạch tính CRC-16 với đa thức sinh g(x) = x 16  + x 15  + x 2  + 1. - Thiết kế và thi công bộ mã hóa kênh theo công nghệ fpga nhằm tăng độ tin cậy trong thông tin vô tuyến
Hình 2.3 Mô tả mạch tính CRC-16 với đa thức sinh g(x) = x 16 + x 15 + x 2 + 1 (Trang 30)
Hình 2.4: Sơ đồ chi tiết khối Shifter_encode. - Thiết kế và thi công bộ mã hóa kênh theo công nghệ fpga nhằm tăng độ tin cậy trong thông tin vô tuyến
Hình 2.4 Sơ đồ chi tiết khối Shifter_encode (Trang 31)
Hình 2.9: Lưu đồ bộ Shifter_decode. - Thiết kế và thi công bộ mã hóa kênh theo công nghệ fpga nhằm tăng độ tin cậy trong thông tin vô tuyến
Hình 2.9 Lưu đồ bộ Shifter_decode (Trang 37)
Bảng 3.2: Gói dữ liệu bao gồm CRC-16 của USB. - Thiết kế và thi công bộ mã hóa kênh theo công nghệ fpga nhằm tăng độ tin cậy trong thông tin vô tuyến
Bảng 3.2 Gói dữ liệu bao gồm CRC-16 của USB (Trang 39)
Hình 3.4:  Dạng sóng kết quả tính toán CRC của block 1600 bit sau 32.02 us. - Thiết kế và thi công bộ mã hóa kênh theo công nghệ fpga nhằm tăng độ tin cậy trong thông tin vô tuyến
Hình 3.4 Dạng sóng kết quả tính toán CRC của block 1600 bit sau 32.02 us (Trang 42)
Hình 3.5: Dạng sóng kết quả CRC của 3 block khác nhau cho ra cùng 1 mã CRC. - Thiết kế và thi công bộ mã hóa kênh theo công nghệ fpga nhằm tăng độ tin cậy trong thông tin vô tuyến
Hình 3.5 Dạng sóng kết quả CRC của 3 block khác nhau cho ra cùng 1 mã CRC (Trang 43)
Hình 3.6: Dạng sóng kết quả giải mã CRC của block 1616 bit sau 1.621 us. - Thiết kế và thi công bộ mã hóa kênh theo công nghệ fpga nhằm tăng độ tin cậy trong thông tin vô tuyến
Hình 3.6 Dạng sóng kết quả giải mã CRC của block 1616 bit sau 1.621 us (Trang 44)
Hình 3.10: Dạng sóng truyền 100 block có độ dài 4016 bit với mỗi block sai 2 bit. - Thiết kế và thi công bộ mã hóa kênh theo công nghệ fpga nhằm tăng độ tin cậy trong thông tin vô tuyến
Hình 3.10 Dạng sóng truyền 100 block có độ dài 4016 bit với mỗi block sai 2 bit (Trang 46)
Hình  3.26: Kết quả kiểm tra của bộ giải mã với block data 2 bị sai 2 bit. - Thiết kế và thi công bộ mã hóa kênh theo công nghệ fpga nhằm tăng độ tin cậy trong thông tin vô tuyến
nh 3.26: Kết quả kiểm tra của bộ giải mã với block data 2 bị sai 2 bit (Trang 52)
Hình  3.34: Kết quả kiểm tra của bộ giải mã với block data 2 bị sai 4 bit. - Thiết kế và thi công bộ mã hóa kênh theo công nghệ fpga nhằm tăng độ tin cậy trong thông tin vô tuyến
nh 3.34: Kết quả kiểm tra của bộ giải mã với block data 2 bị sai 4 bit (Trang 54)
Hình  3.38: Kết quả kiểm tra của bộ giải mã với block data 2 bị sai 5 bit. - Thiết kế và thi công bộ mã hóa kênh theo công nghệ fpga nhằm tăng độ tin cậy trong thông tin vô tuyến
nh 3.38: Kết quả kiểm tra của bộ giải mã với block data 2 bị sai 5 bit (Trang 55)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w