Cài địt thuật toán 4B

Một phần của tài liệu nghiên cứu và triển khai một số thuật toán đánh giá chất lượng tuyến của mạng cảm biến không dây dựa trên nền tảng cảm biến zolertia zl (Trang 34 - 39)

Trong phần này, chứng ta sẽ xem xét các chỉ tiết hoạt động của ước lượng 4B, hiểu được sự khác nhau từ các ước lượng thu thập, và cài đặt thử thuật toán trên contiki.

Giao thức thu thập dữ liệu của contiki được tạo thành từ một số thành phần cơ bản: quản lý và tìm kiếm node lân cận, ước lượng và định tuyến.

Quá trình cài đặt thuật toán 4B sẽ ảnh hưởng đến hai thành phần đầu tiên( quản lý và tìm kiếm node lân cận, ước lượng liên kết). Thành phần định tuyến sẽ không thay đổi gì khi cài đặt 4B.

Thuật toán 4Đ sẽ được cài đặt ưong giao thức thu thập contỉki tương tự như cài đặt trong 4B TinyOS. Ước lượng liên kết 4B cũng có thể được cài đặt trong TinyOS là một ước lượng liên kết lai: để tính toán ước lượng liên kết 4B kết hợp thông tin được cung cấp bởi 3 lớp với các thông báo đỉnh kỳ(nghĩa là phát đi gói tin với bất kỳ payload).

Bảng dưới đây nói lên sự khác nhau cơ bản giữa ước lượng thu thập contiki và ước lượng 4B.

Hình 2.13 cho biết 4 bit sử dụng cho thật toán 4B. Bit ack được sử dụng cho việc gửi các gói dữ liệu cho việc tính toán giá trị ETX. Bit white, pin và bit compare được sử dụng để quyết định xem có đưa một thành viên mới vào bảng danh sách hàng xóm hay không.

Sự khác nhau giữa thuật toán ước lượng Contikicollect và ước lượng 4B là

• Sự khác nhau giữa loại bỏ/thêm node.

• Sử dụng các gói dữ liệu, trong việc bổ xung tuyến đường, tới việc cập nhật chất lượng liên kết.

• Tính toán Chất lượng liên kết(ETX).

Giao thức Contiki collect 4B

Sử dụng Data Packets tới

• Ước lượng chất lượng liên kết hai chiều( sử dụng ack/timer-out).

• Ước lượng chất lượng liên kết hai chiều(sử dụng ack/timer- out).

• Thông báo giá trị metric(tuy nhiên không được thực hiện).

Sử dụng cảnh báo/thông báo tới

Phát quảng bá(tới các thảnh viên có mặt trong bảng hàng xóm).

• Thông báo giá trị metric cho việc định tuyến

Phát quảng bá(tới các thành viên có mặt trong bảng hàng xóm). • Thông báo giá trị metric cho

việc định tuyến

Hình 2.14: ước lượng liên kết của thuật toán 4b.

> Thêm/Loạỉ bỗNeỉghbor(hàng xóm)

Khi nhận được một gói tin beacon hay gói tin dữ liệu từmột nút hàng xóm, các nút mạng kiểm tra thông tin trong hảng hàng xóm của nó còn trống hay không, nếu có, nó sẽ tự động thêm vào bảng nếu nút mạng này chưa từng tồn tại trong bảng. Ngược lại, nếu như bảng hảng xóm đã đầy, nút mạng này cũng chưa từng tồn tại trong bảng, nó sẽ quyết định việc add thêm vào bảng như sau:

• Bảng sẽ quét một lượt các nút hàng xóm có chất lượng liên kết xấu nhất, có giá trị ETX cao nhất hoặc giá trị ETX bị vượt qua một ngưỡng nào đấy mà thuật toán đã quy định.

• Nêu như không có nút hàng xóm nào thỏa mãn yêu cầu, bit white sẽ được sử dụng đến để quyết định có thêm nút đó vào bảng hay không, nếu bit white không được thiết lập, chất lượng của môi trường truyền kém, nút này sẽ không được xem xét để thêm vào bảng.Ngược lại, nếu như bit white và bit compare của nút đó đều được thiết lập thì nó sẽ được lựa chọn để thêm vào bảng.

• Cuối cùng, một nút mạng đã được lựa chọn để thêm vào bảng, thuật toán loại bỏ ngẫu nhiên một liên kết nào đó trong bảng có giá trị Bit Pin chưa được thiết lập và liên kết được lựa chọn kia được thêm vào.

Hình 2.15: Thuật toán 4B-thêmâoại bỏ Neighbor Chú ỷ: Sự khác nhau

giữa giao thức ước lượng Contỉkỉ collect, hàng xóm xấu nhất được tính toán như là hảng xóm với con đường định tuyến xấu nhất đến node sink, tức là hàng xóm có tổnggỉá trị liên kết ETX và giá trị metric lón.

Với 4B, hàng xóm xấu nhất trước tiên được đánh giá dựa trên giá trị liên kết ETX. Giá trị metric chỉ được tính đến sau bằng cách sử dụng các bit so sánh. Các lý do này chia nhỏ ước lượng là vì giao diện chặt chẽ được đề xuất bởi 4B. Thật vậy, giá trị liên kết ETX chỉ được biết đến bởi ước lượng liên kết, trong khi giá trị metric là một phần của định tuyến logic. Và do đó chỉ được biết đến bởi lớp mạng.

> Tính toán ước lượng liên kết

Trước khi được kết họp, giá ữị ETX được tính riêng cho việc gửi gói tin unicast và nhận gói tin beacons. (adsbygoogle = window.adsbygoogle || []).push({});

• Giá trị ETX unicast cập nhật kuw của gói tin unicast.kuw được gọi là cửa sổ cập nhật unicast.

Nếu giá trị a củagói tin Kuw đươc chấp nhận khi nhận được. Giá trị ETX unicast được tính là

____Kuw

ETX=——

a

Trong đó:

- Ku là tổng số gói tin được gửi từ nút X tới nút Y.

- a (Au) là số gói tin đã nhận được ACK ưả về từ nút Y tới nút X. Nếu a=0 thì ước lượng là số lỗi nhận được kể từ lần lần thành công cuối cùng.

• Giá trị ETX beacon được cập nhật kbwcủa beacon(trong đó một số có thể bỏ lỡ). Kfcw được gọi là của sổ cập nhập beacon.

Tính toán tưomg tự, nhưng bổ sung thêm một số bước. Trước tiên tỷ lệ gói tin nhận được(PRR) được tính toán dựa trên số lượng beacon nhận được Rb và beacon lỗi Fb.

Rb

p RRiast — __

Rb+Fb

Việc cập nhật giá ưị PRR này dựa ưên quy tắc cửa sổ trung bình động theo hàm mũ -EWMA (Exponentially Weighted Moving Average) như sau:

PRR new = a*PRR0id + (1- a)*PRRiast

Trong đó, trọng số a là một trọng số bất kì có giá trị nằm giữa 0 và 1. Tùy thuộc vào mục đích cập nhật dựa trên những giá trị mới hay phụ thuộc nhiều vào giá trị cũ mà a tiến gần về 0 hay 1. Ở đây chọn a = 0,9

ETX tính theo beacon của tuyến A-B được tính như sau: ETXb = 1/PRR

Sau củng, hai giá tri ETX này (beacon ETX và data- unicast ETX) đều được kết hợp ở cửa sổ trung bình động theo hàm mũ thứ 2:

ETXnew = a *ETXold + (1- a)*ETXlast

Theo cách đó, sẽthu được giá trị kết hợp (hybrid) ETX của liên kết cần tìm. Neu như lưu lượng mạng dày đặc, thì ước lượng data-unicast ETX sẽ chiếm ưu thế, ngược lại khi lưu lượng mạng thưa thớt, thì ước lượng beacon ETX lại được ưu tiên. Đối lập với những phương pháp ước lượng chỉ đơn thuần dựa trên beacon ETX, bộ ước lượng của thuật toán 4B ít thay đổi tích cục và duy trì một ước lượng hai chiều sử dụng các gói tin data. Do bit ACK vốn đã cho phép tính toán thuộc tính của một liên kết dựa trên cả hai chiều nên thuật toán hoàn toàn có thể cho phép chỉ sử dụng những gói tin beacon đến như một giá trị khởi đầu cho phẩm chất các liên kết và được định lượng lại kĩ hơn trong quá trình ước lượng dựa trên dữ liệu sau này.

Hình 2.16 minh họa một ví dụ tính toán cho một cập nhật của sồ unicast kuw=5; và cập nhập của sổ beacon kbw=3. Góc alpha(a)=0.5. gói tin dữ liệu đến đề trắng, gói tin bị loại bỏ đánh đấu ‘x\ Ước lượng liên kết tính toán từng ước lượng liên kết của 2 ước lượng tại vị trí trên trục times với mũi lên thẳng đứng.

Một phần của tài liệu nghiên cứu và triển khai một số thuật toán đánh giá chất lượng tuyến của mạng cảm biến không dây dựa trên nền tảng cảm biến zolertia zl (Trang 34 - 39)