Giao thức truyền nhận ESB

Một phần của tài liệu DATN-HỆ THỐNG GIÁM SÁT THAM SỐ MÔI TRƯỜNG (Trang 44)

2.3.1. Giới thiệu về ESB

Shock Burst nâng cao (ESB) là một giao thức cơ bản hỗ trợ giao tiếp gĩi dữ liệu hai chiều bao gồm bộ đệm gĩi, gĩi tin ACK và cơ chế tự động truyền lại các gĩi bị mất. Giao thức ESB được nhúng vào phần cứng trong dịng nRF24L cũ. Ở dịng nRF mới hơn như nRF51, thư viện phần mềm ESR nRF51 cho phép thiết bị nRF51 giao tiếp với thiết bị nRF24L bằng giao thức ESB.

ESB cĩ tính năng xử lý giao dịch gĩi tự động để dễ dàng thực hiện liên kết dữ liệu hai chiều độ chính xác cao. Giao dịch là việc thực hiện một trao đổi gĩi giữa hai bộ thu phát, với một bộ thu phát hoạt động như máy thu chính (PRX) và bộ thu phát khác hoạt động như máy phát chính (PTX).

2.3.2. Đặc trưng của ESB

Các đặc trưng chính của Enhanced ShockBurst ™ là [3]:

- Độ dài gĩi tin từ 1 đến 32 byte - Xử lý gĩi tự động

- Xử lý giao dịch gĩi tự động

 Xác nhận bản tin ACK tự động  Tự động truyền lại

- 6 kênh dữ liệu MultiCeiver ™ cho mạng 1: 6  Định dạng gĩi tin ESB

Khung truyền

Mào đầu

Địa chỉ (3-5 Bytes) Điều khiển gĩi tin Dữ liệu gĩi tin (0-32 Bytes)

Mã CRC

Trường mở đầu (Preamble)

Phần mở đầu là một chuỗi bit được sử dụng để phát hiện các mức 0 và 1 trongmáy thu. Phần này là một byte dài 01010101 hoặc 10101010. Nếu bit đầu tiên trong địa chỉ là 1 thì preamble được tự động đặt thành 10101010 và nếu bit đầu tiên

là 0 thì preamble sẽ tự động được đặt thành 01010101. Điều này được thực hiện để đảm bảo cĩ là đủ chuyển tiếp trong phần mở đầu để ổn định máy thu.

Trường địa chỉ (Addresss)

Đây là địa chỉ của bên nhận. Địa chỉ để đảm bảo rằng gĩi tin truyền chính xác và được gửi đến bên nhận. Trường địa chỉ cĩ thể được cấu hình là 3, 4 hoặc 5 byte. Trường điều khiển gĩi tin (Packet Control Field). Định dạng của trường điều khiển gĩi 9 bit, MSB ở bên trái. Trường điều khiển gĩichứa một trường chiều dài tải trọng 6 bit, trường PID 2 bit (Packet Identity) và một cờ NO_ACK 1 bit.

Payload length 6 bit PID 2 bit NO_ACK 1 bit

Dữ liệu gĩi tin

Gĩi tin là nội dung người dùng định nghĩa của gĩi. Cĩ thể từ 0 đến 32 byte và được truyền trực tuyến khi nĩ được tải lên (khơng đổi) cho thiết bị.

CRC

CRC là cơ chế phát hiện lỗi trong gĩi. Nĩ cĩ thể là 1 hoặc 2 byte và được tính tốn qua địa chỉ, trường điều khiển gĩi và tải trọng.

Các đa thức cho 1 byte CRC là: . Giá trị ban đầu 0xFF Các đa thức cho 2 byte CRC là: . Giá trị ban đầu 0xFFFF

2.3.3. Chế độ truyền – nhận trong giao thức ESBa. Chế độ truyền a. Chế độ truyền

Cơ cấu Shock Burst Engine (SBE) ở phần phát:

Trong chế độ truyền, cơ cấu SBE hoạt động như sau [15]:

- Bộ vi điều khiển bên ngồi đầu tiên sẽ cấu hình thiết bị nRF sử dụng đúng kênh, cơng suất đầu ra và xác định nĩ cĩ sử dụng mã kiểm tra CRC (Cyclic Redundant Check) hay khơng.

- Vi điều khiển bắt đầu truyền gĩi tin qua thiết bị nRF2401 bằng cách kéo tín hiệu Chip Enable lên mức cao.

- Xung nhịp của bộ vi xử lý được đĩng gĩi vào thanh ghi dữ liệu đầu ra, sử dụng xung nhịp và chân truyền dữ liệu trên nRF2401. Gĩi cĩ chứa địa chỉ phía thu và gĩi tin SBE.

Hình 2. 4: Chế độ truyền trong Shock Burst Engine [15]

- Nếu vi điều khiển cĩ sử dụng mã kiểm tra lỗi CRC, SBE sẽ tính CRC của gĩi dữ liệu đang được gán xung nhịp và kết quả sẽ được gắn vào gĩi truyền đi. - Gĩi tin sẽ bắt đầu được truyền sau 202s sau khi vi xử lý gửi tín hiệu kéo

Chip Enable xuống mức thấp.

b. Chế độ nhận

Hình 2. 5: Chế độ nhận trong Shock Burst Engine [15]

Đây là cách Shock Burst Engine hoạt động ở chế độ nhận [15]:

- Bộ vi điều đầu tiên sẽ điều khiển cấu hình nRF2401. Trong quá trình cấu hình này, nRF2401 sẽ được thơng báo về địa chỉ riêng của nĩ, độ dài gĩi tin sẽ nhận được, tốc độ bit (250 kbit /s hoặc 1Mbit /s) và nếu nĩ dùng mã kiểm

tra CRC hay khơng. Trong trường hợp tổng quát, giả định rằng địa chỉ riêng cĩ độ rộng N bit, gĩi tin độ dài P bit và nĩ sẽ thực hiện kiểm tra CRC.

- Tại thời điểm này một máy phát bắt đầu truyền gĩi tin đến máy thu này. - Từ bộ giải điều chế nRF2401, các bit được gắn vào một thanh ghi rộng 256

bit First Out (FIFO) với cùng tốc độ bit được sử dụng ở phía phát.

- Mỗi khi một bit mới được gắn vào thanh ghi FIFO từ bộ giải điều chế, N bit đầu tiên trong FIFO sẽ được so sánh với địa chỉ riêng.

- Nếu các bit khớp thì máy tính CRC sẽ kiểm tra của tồn bộ gĩi và so sánh kết quả với các bit CRC trong gĩi nhận được. Nếu CRC khơng khớp, SBE sẽ tiếp tục so sánh các bit đến với địa chỉ riêng cho đến khi tìm thấy một kết quả mới, và sau đĩ lặp lại phép tính CRC.

- Nếu cả hai địa chỉ và CRC giống nhau, phần dữ liệu của gĩi là tồn bộ gĩi ngoại trừ N bit địa chỉ và các bit CRC, sẽ được sao chép vào thanh ghi dữ liệu. Đồng thời tín hiệu dữ liệu đầu ra (DR1) sẽ được đặt ở mức cao.

- Chân tín hiệu DR1 được kết nối với một trong các ngắt chân I/O của vi điều khiển, khi nĩ được kéo lên mức cao thì vi xử lý biết rằng gĩi dữ liệu đã đến. - Bộ vi xử lý bây giờ cĩ thể tạo ra tín hiệu xung trên chân clock củanRF2401

và gĩi tin chứa dữ liệu được lấy từ thanh ghi dữ liệu đầu ra. Khi tồn bộ gĩi tin nhận, tín hiệu ở chân DR1 sẽ kéo xuống mức thấp.

2.4. Lý thuyết xử lý và nén ảnh

Trong mỗi nút mạng cảm biến được tích hợp thêm camera chụp được hình ảnh cĩ dạng JPEG. Phần này sẽ tìm hiểu về định dạng ảnh trên tạo tiền đề xử lý gĩi dữ liệu ảnh một cách phù hợp để thực hiện chức năng truyền ảnh về trung tâm.

Chuẩn JPEG là phương pháp nén ảnh hiệu quả, cho phép làm việc với các bức ảnh nhiều màu cĩ kích cỡ lớn, ví dụ như những hình ảnh bắt nguồn từ cảnh vật thiên nhiên. Định dạng ảnh này được phát triển bởi nhĩm cĩ tên là Joint Photographic Experts Group (JPEG) với mục tiêu đạt giảm dung lượng ảnh trung bình với hệ số 1:16 và được cơng bố năm 1990 theo tiêu chuẩn ISO IS-10918. Ngày nay nĩ được sử dụng rộng rãi nhất để định dạng tệp hình ảnh. Trong thực tế, hệ số nén của ảnh định dạng JPEG đạt được tùy thuộc vào ứng dụng, với ảnh màu 24 bít cĩ thể nén 1 bit trên mỗi pixel (nghĩa là hệ số nén của ảnh vào khoảng 1:25) thành

ảnh JPEG cĩ chất lượng chấp nhận được. Tiêu chuẩn JPEG hỗ trợ hình ảnh tối đa 256 thành phần màu và hỗ trợ cho ảnh CMYK. Trong trường hợp hình ảnh dạng RGB, phương pháp để nén ảnh bao gồm ba bước chính.

2.4.1. Chuyển đổi màu và lấy mẫu

Chuyển đổi màu từ dạng RGB vào khơng gian YCbCr để tách các thành phần màu thực tế từ thành phần độ sáng Y. Hệ thống thị giác của con người ít nhạy cảm với những thay đổi nhanh về màu sắc, vì thế ta cĩ thể nén các thành phần màu sắc để giảm dung lượng của ảnh mà khơng làm mất chất lượng hình ảnh.

Để thực hiện chuyển từ RGB sang YCbCr cĩ nhiều cơng thức theo chuẩn khác nhau, theo chuẩn ITU-R BT.601 sẽ như sau [4]:

(2.1)

Với chiều ngược lại được thực hiện :

(2.2)

Trong cả hai cơng thức trên giá trị RGB đều trong khoảng từ [0 - 255], Y nằm trong khoảng [16 - 235], Cr / Cb thuộc giá trị [16 - 240].

Trong đĩ:

- Y là thành phần độ chĩi, Cr, Cb là các thành phần màu.

- R, G, B lần lượt là các thành phần màu đỏ, xanh lá và xanh da trời.

2.4.2. Biến đổi Cosin và lượng tử hĩa trong khơng gian tần số

Hình ảnh được chia thành một chuẩn dạng lưới gồm các khối 8x8, mỗi khối đều độc lập với nhau, phổ tần số của khối được tính bằng cách sử dụng phép biến đổi Cosin rời rạc. Sau đĩ 64 hệ số phổ của mỗi khối được lượng tử hĩa thành một bảng lượng tử hĩa. Kích thước của bảng này sẽ xác định tỷ lệ nén cuối cùng của bức ảnh. Các hệ số của tần số cao thể hiện cho "độ sắc nét" của hình ảnh, sẽ bị giảm nhiều nhất trong bước này. Trong khi giải nén các giá trị tần số cao này sẽ được xấp xỉ bằng giá trị tính tốn [4].

a. Các bước xử lý cho mã hĩa dựa trên DCT

Hình 2.6 và 2.7 cho thấy các bước xử lý chính của các chế độ mã hĩa DCT. Những hình ảnh này minh họa trường hợp đặc biệt nén ảnh đơn thành phần (ảnh thang đo xám). Quá trình nén ảnh DCT là nén một khối mẫu 8x8 ảnh thang đo xám, do vậy việc nén ảnh màu cĩ thể được coi là nén của nhiều ảnh thang độ xám, chúng

cĩ thể được nén hồn tồn một lần hoặc được nén bằng cách xen kẽ các khối mẫu 8x8 lần lượt [4].

Hình 2. 6: Các bước xử lý bộ mã hĩa DCT [4]

Hình 2. 7: Các bước xử lý bộ giải mã DCT [4] b. 8x8 FDCT và IDCT

Tại đầu vào cho bộ mã hĩa, các mẫu hình ảnh được nhĩm thành các khối 8x8 (bằng cách chuyển các số nguyên khơng dấu trong phạm vi [0, 2P - 1] thành các số nguyên trong phạm vi [-2P-1, 2P-1-1]) và đưa vào bộ biến đổi DCT thuận (FDCT). Tại đầu ra của bộ giải mã, phép biến đổi DCT nghịch đảo (IDCT) xuất ra các khối mẫu 8x8 để tạo thành hình ảnh được nén. Các phương trình sau đây là các định nghĩa tốn học lý tưởng của 2 phép biến đổi 8x8 FDCT và 8x8 IDCT [4]:

(2.3) (2.4)

Trong đĩ:

Phép biến đổi DCT liên quan đến Biến đổi Fourier rời rạc (DFT). Mỗi khối 8x8 của hình ảnh mẫu là một tín hiệu rời rạc 64 điểm, là một hàm của hai giá trị x và y. Phép biến đổi DCT thuân (FDCT) lấy tín hiệu đầu vào của nĩ và phân tách thành 64 tín hiệu cơ sở trực giao. Đầu ra của phép biến đổi DCT thuận (FDCT) là

bộ 64 biên độ tín hiệu cơ sở hoặc “hệ số DCT” cĩ giá trị duy nhất được xác định bởi 64 điểm tín hiệu đầu vào.

Do đĩ, các hệ số DCT cĩ thể được coi là giá trị tương đối của các tần số khơng gian 2D của tín hiệu 64 điểm đầu vào. Hệ số khơng chứa tần số trong cả hai chiều (F(0,0)) được gọi là “hệ số DC” và 63 hệ số cịn lại được gọi là “hệ số AC”. Bởi vì các giá trị mẫu thường thay đổi chậm từ điểm này sang điểm khác, bước xử lý DCT thuận (FDCT) đặt nền tảng cho việc nén dữ liệu bằng cách tập trung hầu hết tín hiệu vào các tần số thấp hơn. Đối với một khối mẫu 8x8 từ một hình ảnh nguồn, hầu hết các tần số khơng gian cĩ biên độ bằng khơng hoặc gần bằng khơng và khơng cần mã hĩa.

Tại bộ giải mã, phép biến đổi DCT ngược (IDCT) đảo ngược so với FDCT. Sử dụng 64 hệ số DCT (mà tại thời điểm đĩ đã được lượng tử hĩa) và tái tạo 64 điểm tín hiệu hình ảnh đầu ra bằng cách tổng hợp các tín hiệu cơ bản. Về mặt tốn học, DCT là phép biến đổi một-một chuyển đổi qua lại giữa 64 điểm ảnh trong miền hình ảnh với 64 điểm tần trong tần số. Nếu FDCT và IDCT cĩ thể được tính tốn với độ chính xác hồn hảo và các hệ số DCT khơng được lượng tử như trong mơ tả sau, tín hiệu 64 điểm ảnh ban đầu cĩ thể được khơi phục chính xác. Về nguyên tắc, DCT khơng làm sự mất mát dữ liệu các mẫu hình ảnh nguồn, nĩ chỉ biến đổi chúng về miền mà chúng cĩ thể được mã hố hiệu quả hơn.

c. Lượng tử hĩa

Sau khi biến đổi DCT thuận, mỗi hệ số DCT được lượng tử hĩa đều kết hợp với Bảng định lượng 64 phần tử để đưa vào bộ mã hĩa. Mỗi phần tử cĩ thể là bất kỳ giá trị số nguyên nào từ 1 đến 255, xác định kích thước bậc của bộ lượng tử hĩa cho hệ số DCT tương ứng. Mục đích của việc lượng tử hĩa là để hình ảnh được nén thêm bằng cách cho hệ số nén DCT cĩ độ chính xác cần thiết để đạt được chất lượng hình ảnh mong muốn. Nĩi cách khác, mục tiêu của bước xử lý này là loại bỏ thơng tin khơng quan trọng trong ảnh. Đây là bước xử lý gây mất mát chính trong bộ mã hĩa DCT. Lượng tử hĩa được định nghĩa là phân chia của mỗi hệ số DCT theo kích thước bậc lượng tử tương ứng của nĩ, tiếp theo là làm trịn đến số nguyên gần nhất [4]:

Giá trị đầu ra này được chuẩn hĩa bởi kích thước bậc lượng tử. Dequantization là hàm nghịch đảo để loại bỏ lượng tử hĩa bằng cách nhân các hệ số với kích thước bậc, kết quả trả về là các hệ số thích hợp cho đầu vào cho IDCT [4]:

(2.6)

d. Mã hĩa DC và trình tự Zig-Zag

Sau khi lượng tử hĩa, hệ số DC được xử lý riêng biệt so với 63 hệ số AC. Hệ số DC là thang đo giá trị trung bình của 64 điểm ảnh, chiếm phần lớn của tổng dung lượng để tái tạo hình ảnh. Ta luơn cĩ mối tương quan chặt chẽ giữa các hệ số DC của các khối 8x8 liền kề, các hệ số DC lượng tử hĩa được mã hĩa bằng sự khác biệt so với hệ số DC của khối trước đĩ theo thứ tự mã hĩa (được định nghĩa như trong Hình 3).

Cuối cùng, tất cả các hệ số lượng tử hĩa được sắp xếp theo trình tự “zig- zag”, cũng được thể hiện trong Hình 2. 8 Thứ tự này giúp mã hĩa entropy được dễ dàng hơn khi đĩ ta đặt các hệ số tần số thấp (cĩ nhiều khả năng là nonzero) trước tần số cao hệ số.

Hình 2. 8: Hệ số lượng tử cho mã hĩa Entropy [4] e. Chất lượng nén và hình ảnh

Đối với hình ảnh màu cĩ cảnh phức tạp vừa phải, mã hĩa DCT thường tạo ra các mức chất lượng hình ảnh dưới đây với giới hạn nén được chỉ định. Các mức này chỉ mang tính tương đối, chất lượng và nén cĩ thể thay đổi tùy theo đặc điểm hình ảnh và nội dung ảnh. (Các đơn vị "bit/pixel" ở đây cĩ nghĩa là tổng số bit trong hình ảnh nén - bao gồm các thành phần màu sắc/chia cho số lượng mẫu trong thành phần độ sáng).

• 0,25-0,5 bit/pixel: vừa phải đến chất lượng tốt, đủ cho một số ứng dụng; • 0,5-0,75 bit/pixel: tốt cho chất lượng rất tốt, đủ cho nhiều ứng dụng; • 0,75-1/5 bit / pixel: chất lượng tuyệt vời, đủ cho hầu hết các ứng dụng; • 1,5-2,0 bit/pixel: thường khơng thể phân biệt được với bản gốc, đủ cho ứng dụng khĩ tính nhất.

2.4.3. Mã hĩa Entropy

Bước cuối cùng trong viêc mã hĩa DCT là mã hĩa entropy. Bước này để nén ảnh thêm bằng cách mã hĩa các hệ số DCT đã được lượng tử hĩa nhỏ gọn hơn dựa trên các đặc tính thống kê của chúng. Với ảnh JPEG ta cĩ hai phương pháp mã hĩa entropy là - mã hĩa Huffman và mã hĩa số họ cho ra 2 định dạng JPEG.

Mã hĩa entropy là một quá trình gồm 2 bước. Bước đầu tiên chuyển đổi chuỗi zig-zag của các hệ số lượng tử thành một chuỗi ký tự trung gian. Bước thứ hai chuyển đổi các ký hiệu thành luồng dữ liệu. Mẫu và định nghĩa của các ký hiệu trung gian phụ thuộc vào cả phương thức hoạt động mã hĩa DCT lẫn phương thức mã hĩa entropy.

Khác biệt duy nhất giữa hai định dạng JPEG là phương pháp mã hĩa entropy, việc chuyển mã giữa hai phương thức cĩ thể bằng cách giải mã entropy bằng một phương thức và entropy recoding với khác.

2.5. Tổng quan về học máy

Học máy (Machine Learning) là một lĩnh vực nhỏ của Khoa học máy tính, cĩ khả năng tự học hỏi, lý luận và hành động dựa trên dữ liệu đưa vào.

Một phần của tài liệu DATN-HỆ THỐNG GIÁM SÁT THAM SỐ MÔI TRƯỜNG (Trang 44)

Tải bản đầy đủ (DOCX)

(107 trang)
w