Mục đính mô phỏng

Một phần của tài liệu VẤN ĐỀ NĂNG LƯỢNG TRONG MẠNG WIRELESS SENSON VÀ ĐÁNH GIÁ BẰNG MÔ PHỎNG.doc (Trang 70 - 76)

Mục đích của phần mô phỏng này là xem xét mối quan hệ giữa hoạt động của node mạng với năng lợng dự trữ của nó. Ban đầu, mỗi nút Sensor đợc định cấu hình với một khối năng lợng xác định. Mỗi khi nút Sensor thực hiện một hành động nh nhận một tín hiệu cảm biến, thu hoặc phát các gói tin vô tuyến, xử lý tín hiệu, nguồn năng lợng dự trữ của nút đó sẽ bị khấu trừ theo công suất đợc định nghĩa trớc cho từng thành phần. Khi nút Sensor không có hành động nào, năng lợng sẽ đợc khấu trừ theo công suất rỗi (Idle power).

Mô phỏng này đợc thực hiện với các mạng Sensor đợc triển khai theo hình lới vuông, trong bản đồ hình vuông. Khoảng cách giữa các nút sensor là d, khoảng cách vô tuyến

2

d

≈ để một nút có khả năng phát cho 8 nút lân cận. Khoảng ảnh hởng của nút Phenomenom (hiện tợng mục tiêu) là ≈d 2. Kịch bản triển khai trờng Sensor đợc minh hoạ trong hình 4.1.

Hình 4.1: Kịch bản triển khai trờng Sensor trong mô phỏng

Kiểu hiện tợng mục tiêu đợc chọn là khí Carbon Monoxit (CO) đợc biểu diễn bằng một nút Phenomenon đơn di chuyển một cách ngẫu nhiên trong trờng Sensor. Số lợng điểm thu thập số liệu (Sink) là 1, đợc đặt trên biên của trờng Sensor.

Thang năng lợng sử dụng trong cấu hình node (trong phần node-configure):

- rx Power.175 chỉ ra 175mW tiêu thụ cho việc nhận một gói kích thớc bất kỳ. - tx Power 175 chỉ ra 175mW tiêu thụ cho việc phát một gói kích thớc bất kỳ

- Sensor Power .000 00175 chỉ ra 1.75àW tiêu thụ khi nhận 1 gói quảng bá Phenom.

- Inctial Energy 0.5 chỉ ra tổng năng lợng dự trữ là 0.5J (hay 0.5 W/s).

4.2. Thực hiện mô phỏng

4.2.1. Mã chơng trình

Các tuỳ chọn về môi trờng mạng đợc khai báo nh sau:

set val(chan) Channel/WirelessChannel ;# Kiểu kênh

set val(prop) Propagation/TwoRayGround ;# Kiểu phát vô tuyến set val(netif) Phy/WirelessPhy ;# Kiểu giao tiếp mạng set val(mac) Mac/802_11 ;# Kiểu MAC

set val(PHENOMmac) Mac ;# Kiểu MAC Phenomenon set val(ifq) Queue/DropTail/PriQueue ;# Kiểu hàng đợi

set val(ll) LL ;# Kiểu lớp liên kết số liệu set val(ant) Antenna/OmniAntenna ;# Kiểu antent

set val(ifqlen) 50 ;# Số gói cực đại trong hàng đợi set val(nn) 26 ;# Tổng số nút Sensor và Sink set val(rp) AODV ;# Giao thức định tuyến set val(x) 451 ;# Chiều dài bản đồ (m) set val(y) 451 ;# Chiều rộng bản đồ (m) set val(engmodel) EnergyModel

set val(txPower) 0.175 ;# Công suất truyền (mW)

set val(rxPower) 0.175 ;# Công suất nhận (mW) set val(sensePower) 0.00000175; ;# Công suất cảm biến (mW) set val(idlePower) 0.0 ;# Công suất khấu trừ rỗi (mW)

set val(initeng) 0.5 ;# Năng lợng ban đầu (J)

Một đoạn chơng trình chính: # Main Program

# ====================================================================== # Khoi tao bien toan cuc

set ns_ [new Simulator]

set tracefd [open phenom11.tr w] $ns_ trace-all $tracefd

set namtrace [open phenom11.nam w]

$ns_ namtrace-all-wireless $namtrace $val(x) $val(y)

Trong chơng trình chính đã định nghĩa tên File số liệu đầu ra (Trace, NAM) và thiết lập kiểu kênh, giao thức, nút. Thiết lập toạ độ cho các nút và khai báo các sự kiện xảy ra trong thời gian mô phỏng.

Sau khi đã có mã đầu vào đợc lu trong file phenom.tcl ta bắt đầu chạy mô phỏng bằng lệnh: nam phenom trong cửa sổ X. Sau khi chạy xong ta có thể quan sát hình ảnh bằng ứng dụng NAM trong ns-2.

4.2.1. Phân tích kết quả

Việc tính toán kết quả dựa trên việc phân tích file Trace. File Trace đợc định dạng gồm các trờng cơ bản:

[sự kiện] [thời gian] [số thứ tự nút] [mức Trace] ---- [số thứ tự gói] [kiểu gói] [kích thớc gói][địa chỉ Mac][năng lợng còn lại] [kiểu hiện tợng].

Các sự kiện trong trờng sự kiện gồm r (nhận gói), s (gửi gói), D (mất gói), f (chuyển tiếp gói); trờng thời gian chỉ ra thời điểm xảy ra sự kiện; trờng mức Trace chỉ ra sự kiện này thuộc phạm vi (mức độ) mô phỏng nào (tác nhân (nh udp), lớp liên kết số liệu (MAC) hay mức vật lý, ....).

Với yêu cầu tính toán trong trờng hợp này, ta chỉ cần quan tâm tới 4 trờng đầu tiên và trờng năng lợng. r 1.026254208 _7_ RTR --- 0 AODV 48 [0 ffffffff 8 800] [energy 0.499860] --- [8:255 -1:255 30 0] [0x2 1 1 [26 0] [8 4]] (REQUEST) r 1.026254343 _4_ RTR --- 0 AODV 48 [0 ffffffff 8 800] [energy 0.499860] --- [8:255 -1:255 30 0] [0x2 1 1 [26 0] [8 4]] (REQUEST) r 1.026254343 _2_ RTR --- 0 AODV 48 [0 ffffffff 8 800] [energy 0.499860] --- [8:255 -1:255 30 0] [0x2 1 1 [26 0] [8 4]] (REQUEST) r 1.026254346 _14_ RTR --- 0 AODV 48 [0 ffffffff 8 800] [energy 0.499860] --- [8:255 -1:255 30 0] [0x2 1 1 [26 0] [8 4]] (REQUEST)

Dựa vào file Trace này chúng ta có thể thấy rõ năng lợng của node mạng sẽ giảm theo thời gian mỗi khi node mạng nhận, gửi dữ liệu hoặc cảm biến hiện tợng.

Việc phân tích file trace đuợc thực hiện qua hai bớc:

- Tách file trace: Ta sẽ tách ra các trờng cần thiết cho việc tính toán kết quả

- Tính kết quả: Dựa vào các trờng đã tách ở trên, ta sử dụng các trờng này để tính ra kết quả cần thiết.

Sau đây là các bớc tiến hành cụ thể:

1) Tính sự tiêu hao năng lợng của các node mạng

- Dùng lệnh sau trong của sổ cygwinX để tách lấy các sự kiện tại một node(trong tr- ờng hợp này la node1) nh nhận, gửi gói, trờng thời gian và mức năng lợng tơng ứng tại thời điểm đó.

$ cat energy.tr | grep "_1_" | awk ' { printf ("%c\t%f\t%s\t%s\t%s\t%f\n", $1, $2, $3, $4, $7, $14)} ' >energy_node1.txt

Sau lệnh này ta sẽ tách ra đợc số liệu nằm ở file energy_node1.txt gồm 6 trờng. Dới đây là một đoạn file energy_node1.txt:

s 1.068626 _1_ MAC AODV 0.493780 s 1.069666 _1_ RTR AODV 0.493640 s 1.070016 _1_ MAC AODV 0.493640 r 1.071847 _1_ MAC AODV 0.493360 r 1.071872 _1_ RTR AODV 0.493360 D 1.071978 _1_ MAC AODV 0.493220

-Sau khi có đợc file energy_node1.txt ta sử dụng lệnh sau để tính năng lợng cần mỗi khi node gửi hoặc nhận một gói dữ liệu:

$ cat energy_node1.txt awk ' { dif=old2-$2; if(dif>0) printf ("%c\t%f\t%f\n", $1, $2, dif)} ' >energy_node1_down.txt

Sau lệnh này ta sẽ tính đợc số năng lợng cụ thể mỗi khi node1 nhận hoặc gửi dữ liệu. Các số liệu này đợc ghi vào file nlgiam_node1.txt

Một đoạn trong file energy_node1_down.txt

r 1.027420 0.000280 r 1.028410 0.000140 s 1.029232 0.000140 r 1.035203 0.000840 r 1.036073 0.000140 s 1.036579 0.000140

Tơng tự ta làm nh vậy với các node khác ví dụ với node 2 ta dùng lệnh

$ cat energy.tr | grep "_2_" | awk ' { printf ("%c\t%f\t%s\t%s\t%s\t%f\n", $1, $2, $3, $4, $7, $14)} ' >energy_node2.txt

Và lệnh: $ cat energy_node2.txt awk ' { dif=old2-$2; if(dif>0) printf ("%c\t%f\t %f\n", $1, $2, dif)} ' >nlgiam_node2.txt

2)Tính tốc độ giảm năng lợng

Từ các file energy_node.txt ta có thể tính đợc tốc độ giảm năng lợng của mỗi node và tổng năng lợng cho việc gửi dữ liệu và tổng năng lợng cho việc nhận dữ liệu.

- Tốc độ giảm năng lợng = Tổng năng lợng tiêu tốn/ thời gian khảo sát

4.2. Kết quả

4.2.1. Sự tổn hao năng lợng

Ta xét một mạng sensor gồm 25 nút đợc bố trí đều trong một diện tích có kích thớc 651x651(m2). Khi đó mật độ mạng là 60nut/1km2.

Số thứ

tự nút Năng lợng nhận dữ liệu Năng lợng gửi dữ liệu Tổn hao năng lợng do mất gói Năng l- ợng cảm biến Tổng năng lợng tiêu tốn 1 0.019285 0.046183 0.003525 0.09376 0.162753 2 0.065298 0.033406 0.01526 0.112968 0.226932 3 0.056915 0.05568 0.002437 0.113328 0.22836 4 0.160718 0.02309 0.004672 0.026297 0.214777 5 0.139551 0.02305 0.00042 0.019622 0.182643 6 0.038426 0.046769 0.001325 0.108743 0.195263 7 0.109089 0.040506 0.018258 0.074516 0.242369 8 0.130553 0.021261 0.010534 0.071392 0.23374 9 0.074877 0.027988 0.013917 0.117594 0.234376 10 0.15393 0.023981 0.005717 0.038833 0.222461 11 0.047487 0.03308 0.000406 0.152266 0.233239 12 0.137623 0.034856 0.022823 0.049413 0.244715 13 0.074405 0.037263 0.005593 0.119159 0.23642 14 0.189775 0.028786 0.010324 0.017346 0.246231 15 0.164631 0.01053 0.006003 0.041165 0.222329 16 0.217707 0.00711 0.005957 0 0.230774 17 0.201076 0.031669 0.010278 0.015522 0.258545 18 0.133041 0.020647 0.010764 0.033383 0.197835 19 0.215369 0.01945 0.016523 0.008967 0.260309 20 0.220979 0.02205 0.00547 0.000409 0.248908 21 0.193351 0.022085 0 0 0.215436 22 0.163264 0.003814 0.076103 0 0.243181 23 0.21931 0.028433 0.002297 0.002453 0.252493 24 0.146921 0.020228 0.002425 0.021554 0.191128 25 0.040937 0.003478 0.002703 0 0.047118

Khảo sỏt sự tiờu tốn năng lượng của cỏc nỳt sensor 0 0.05 0.1 0.15 0.2 0.25 0.3 0 5 10 15 20 25 30 Số thứ tự nỳt N ă n g n g t iờ u t n ( j)

Năng lượng nhận dữ liệu Năng lượng gửi dữ liệu Năng lượng hao phớ do mất gúi Năng lượng cảm biến Tổng năng lượng tiờu tốn

Một phần của tài liệu VẤN ĐỀ NĂNG LƯỢNG TRONG MẠNG WIRELESS SENSON VÀ ĐÁNH GIÁ BẰNG MÔ PHỎNG.doc (Trang 70 - 76)