SIMULATION METRICS FOR WIRELESS SENSOR NETWORKS (WSN) 1. Energy Consumption a. Theoretical background Radio model: The radio model is showed in Figure 1 (redrawn from [1] page 2) Figure 1: Radio model for WSN The formula for sending (Figure 2) and receiving (Figure 3) a message (redrawn from [1] page 2): Figure 2: Energy consumption formula for sending a k-bit message to a distance d Figure 3: Energy consumption formula for receiving a k-bit message Sensor board, CPU board, and Memory board: These boards work in 2 modes: full action and sleep. In the sleep mode, the energy dissipation is almost zero. The full action consumes energy as showed in Table 1 (redrawn from [2] page 21) Table 1: Current of boards in sensor node MICA2DOT (MPR 500) Calculations: We use the assumption of [1] to calculate the energy dissipation: Eelec = 50nJ/bit amp = 100pJ/bit/m2 = 0.1nJ/bit/m2 Data rate = 2000bits/s Data package size = 2000-bit (Size of a data messages) Signal package size = 64-bit (Size of advertising, neighbor activation, or maintenance messages) From Table 1, we deduce that current of CPU board in full operation is equal to Radio board in the receiving mode. And, the current of sensor board in full operation is around 2/3 of current of the radio in receiving mode. So: ERx_data = Eelec* k-bit/message = 50nJ/bit * 2000 bits/message = 100 µJ/message (Meaning: The radio board consumes 100 µJ for each received data message) ERx_signal = Eelec* k-bit/message = 50nJ/bit * 64 bits/message = 3.2 µJ/message ~ 3 µJ/message (Meaning: The radio board consumes 3 µJ for each received signal message) ETx_data = Eelec* k-bit/message + amp*k*d^2 = 50 nJ/bit * 2000 bits/message + 0.1 nJ/bit*2000 bits/message*d^2 = (100 µJ + 200*d^2)/message (Meaning: The radio board consumes (100 + 200*d^2) µJ for transmitting a data message to a distance d) ETx_signal = Eelec* k-bit/message + amp*k*d^2 = 50 nJ/bit * 64 bits/message + 0.1 nJ/bit*64 bits/message*d^2 = (3 µJ + 6.4*d^2)/message (Meaning: The radio board consumes (3 + 64*d^2) µJ for transmitting a signal message to a distance d) We assume that, the optimized distance is 60m. So: ETx_data = 2000(bit)*(50(nJ) + 0.1(nJ)*60*60) = 820 µJ/message (Meaning: The radio board consumes 820 µJ for transmitting a data message to a distance d<= 60m) ETx_signal = 64(bit)*(50(nJ) + 0.1(nJ)*60*60) = 26.2 µJ/message ~ 26 µJ/message (Meaning: The radio board consumes 26 µJ for transmitting a data message to a distance d<= 60m) ERadio = Eelec * data_rate = 50nJ/bit* 2000 bits/s = 100 µJ/s (Meaning: if the radio board is in receive mode, it consumes 100 µJ at each second) ESensor = ERadio * 2/3 = 66 µJ/s (Meaning: if the sensor board is in full operation mode, it consumes 66 µJ at each second) In practical, the CPU is in sleep mode, it just switches to active when having an external interrupt. So, in the simulation, we assume that the processor is in sleep mode most of the time. It turns to full operation when having an event. It means when creating a new message, energy as follow is consumed: ECPU_data = 2000(bit)*50(nJ) = 100 µJ/message (Meaning: The CPU board consumes 100 µJ for creating a data message) ECPU_signal = 64(bit)*50(nJ) = 3.2 ~ 3 µJ/message (Meaning: The CPU board consumes 3 µJ for creating a signal message) b. Summary Table Table 2 is a summary of the calculations above Create/Receive a data message Create/Receive a signal message Send a data message (d<= 60m) Send a signal message (d<=60m) Send a message (d > 60m) Sensor board (full operation) Radio board (idle/receive mode) 100 µJ 3 µJ 820 µJ 26 µJ 100 µJ + 0.1*d^2 66 µJ/s 100 µJ/s Table 2: WSN Energy consumption summary table c. Direct Communication Energy Consumption Model In this method, the sensor boards of all nodes are in full operation. When a node senses an object, it transmits the sensing information to the base directly. Nodes don’t need to communicate together, so, the radio boards are in sleep mode. The summary state of all nodes is as follow: o o o Sensor board = Full operation Radio board = Sleep, wake up for transmitting only. CPU board = Sleep, wake up for creating messages only. d. LEACH Energy Consumption Model In this method, the sensor boards of all nodes are in full operation. When a node senses an object, it transmits the sensing information to its cluster head, then, the head forwards the information to the base directly. Cluster heads need to receive messages from its clients, so, the radio boards of the heads are in receiving mode. The radio boards of other nodes are turned off (sleep mode). We know that one of the weaknesses of LEACH is that nodes don’t always get invitation because there are no cluster head in their zone (called wild nodes). So, in the simulation scenario, I turn off the sensor board of nodes that didn’t enroll in any cluster head. The summary state of nodes is as follow: o o o Cluster heads: Sensor board = Full operation. Radio board = Receive. CPU board = Sleep, wake up for creating messages only. Client nodes: Sensor board = Full operation. Radio board = Sleep, wake up for transmitting only. CPU board = Sleep, wake up for creating messages only. Wild nodes: Sensor board= Sleep after 10s of receiving no invitation. Radio board = Sleep. CPU board = Sleep. Note: According to [1], the direct communication consumes less energy than LEACH-based algorithm if and only if (Figure 4 – redrawn from [1] page 3): Figure 4: Condition for direct communication consume less energy than LEACH The n in Figure 4 is the number of hops - 1 from the destination to the source. r is the distance among hops. In our LEACH simulation, however, the distances among hops aren’t equal. So, from Figure 5, the energy consumption for the LEACH and the direct communication are as follow: r Source r1 Destination r2 Figure 5: LEACH and Direct Communication transmit model ELEACH = k(bit)*(Eelec + amp* r1^2+ Eelec + amp* r2^2 + ERx) EDIRECT = k(bit)*(Eelec + amp* r^2) ELEACH < EDIRECT (Eelec + amp* r1^2+ Eelec + amp* r2^2 + ERx) < (Eelec + amp* r^2) (1) Because Eelec = ERx = 50 µJ, amp = 0.1 µJ. So: (1) 100+0.1(r1^2 + r2^2) < 0.1*r^2 1000 + (r1^2 + r2^2) < r^2 r1, r2, and r are 3 edges of a triangle => r2^2 = r1^2 + r^2 2*r1*r*cos() [4]. Hence: 1000 + (r1^2 + r1^2 + r^2 - 2*r1*r*cos()) < r^2 1000 + 2*r1^2 < 2*r1*r*cos() (2) We assume r1= 60m. So: (2) r > 68.3/cos() To sum up, the simulation LEACH is more efficient than the direct communication when the distances from nodes to the base are greater than 68.3/cos() (m). (Example: if 0<<45 0.707< cos() <1 r > 68.3/0.707~ 97.14 A simulation result verified this.) e. OCO Energy Consumption Model In this method, nodes are categorized into 3 groups: border nodes, forward nodes, and redundant nodes. In tracking mode, the sensor of all border nodes is in full operation. The sensor boards of forwarding nodes are in sleep mode. They just turned on only by their neighbors. The redundant nodes have all boards in sleep mode. Actually, they just wake up in a short time after each long period to get command from the base because they are used as reservation. The summary state of nodes is as follow: o o o Redundant nodes: Sensor board = Sleep. Radio board = Sleep. CPU board = Sleep. Forwarding nodes: Sensor board = Sleep, wake up when receiving an activation message and automatically turn to sleep after an interval of sensing nothing. Radio board = Receive. CPU board = Sleep, wake up for creating messages only. Border nodes: Sensor board = Full operation. Radio board = Receive. CPU board = Sleep, wake up for creating messages only. 2. Object Tracking Accuracy a. Standard detected point According to [3] (page 36), a sensor network with all nodes are in tracking mode (sensor board is in full operation mode) is a useful base for comparison because it provides the best possible quality of tracking. So, we consider the total number of detected points in this case is 100%, and called standard detected point. b. Accuracy calculation The accuracy of each method is a percent ratio between the number of detected points of the method and the standard detected point. 3. Cost per Detected Point Cost per detected point is a ratio between the total energy dissipation and the total number of detected points of the method. 4. References [1] Wendi Rabiner Heinzelman, Anantha Chandrakasan, and Hari Balakrishnan (2000). “Energy-Efficient Communication Protocol for Wireless Microsensor Networks”. THE HAWAII INTERNATIONAL CONFERENCE ON SYSTEM SCIENCES, JANUARY 4-7, 2000, MAUI, HAWAII. Retrieved 6/20/05 from http://academic.csuohio.edu/yuc/mobile03/0403-heinzelman.pdf [2] Rev B (2005). “MPR/ MIB User’s Manual”. DOCUMENT 7430-0021-06. Retrieved 7/10/05 from http://www.xbow.com/Support/Support_pdf_files/MPRMIB_Series_Users_Manual.pdf [3] Sundeep Pattem, Sameera Poduri, and Bhaskar Krishnamachari (2003). “EnergyQuality Tradeoffs for Target Tracking in Wireless Sensor Networks”. DEPARTMENT OF ELECTRICAL ENGINEERING AND DEPARTMENT OF COMPUTER SCIENCE,UNIVERSITY OF SOUTHERN CALIFORNIA. Retrieved 7/10/05 from http://www-scf.usc.edu/~pattem/PattemKrishnamachari_Tracking.pdf [4] Math for Morons Like Us website (2005). “Algebra II: Equations and Triangles – Law of Cosines”. Retrieved 7/10/05 from http://library.thinkquest.org/20991/alg2/eqtri.html