1 DETERMINING LINK COSTS IN ZIGBEE ROUTING by Sudeepa Prakash A Thesis submitted in Partial Fulfillment of the Requirements for the Degree of Master of Science in Computer Science at The University of Wisconsin-Milwaukee August 2008 Major Professor Date Graduate School Approval Date 2 ABSTRACT DETERMINING LINK COSTS IN ZIGBEE ROUTING by Sudeepa Prakash The University of Wisconsin-Milwaukee, 2008 Under the Supervision of Dr. Mukul Goyal In this thesis, we investigate the problem of determining routing cost of links in a Zigbee/IEEE 802.15.4 wireless sensor network. Zigbee is a mesh routing protocol used in large IEEE 802.15.4 based wireless sensor networks. This protocol is based on Adhoc On-demand Distance Vector (AODV) routing protocol. Zigbee protocol allows a source to determine the minimum cost route to a destination, where the cost of a route is the sum of the costs of constituent links. Thus, assigning correct cost to a link, reflecting the link quality or reliability, is critical to obtain best quality routes in a Zigbee network. Commercial Zigbee vendors typically use Received Signal Strength Indicator (RSSI) and so called Correlation values to determine the routing costs of the links. RSSI is an indication of radio energy in the communication channel during the transmission of a packet and the Correlation value is a measure of closeness between the received and 3 presumably sent chip-sequences during the transmission of a packet. In this thesis, we argue that none of these values is a good indicator of signal to noise ratio on the transmission channel in all cases. Hence, these values should not be used to determine the link costs. We demonstrate that, from the perspective of receiving IEEE 802.15.4 PHY layer, the signal to noise ratio on the transmission channel is either “good enough” (i.e. almost all frames can be successfully received) or “not good enough” (i.e., almost all frames have incorrigible errors) with very small transition phase between the two states. We suggest that the Zigbee level loss rate, maintained in the Zigbee Neighbor Table, is the best indicator of link quality and hence should be used to determine routing cost of a link. Major Professor Date 4 To MOM and DAD 5 TABLE OF CONTENTS Chapter1 .............................................................................................................................. 1 Introduction ..................................................................................................................... 1 1.1 An Overview of the Thesis and its Contributions ................................................. 1 1.2 802.15 .................................................................................................................... 6 Chapter 2 ............................................................................................................................. 7 802.15.4 and Zigbee ........................................................................................................ 7 2.1 Overview ............................................................................................................... 7 2.2 Architecture ........................................................................................................... 7 2.3 Data rate and Range ............................................................................................... 8 2.4 The Physical (PHY) Layer .................................................................................... 9 2.5 The Medium Access Control layer ...................................................................... 12 2.6 The Network Layer .............................................................................................. 17 2.7 The Application Layer ......................................................................................... 25 Chapter 3 ........................................................................................................................... 28 Routing in Zigbee .......................................................................................................... 28 3.1 Routing Addresses ............................................................................................... 28 6 3.2 Calculation of Routing Cost ................................................................................ 28 3.3 Routing Tables ..................................................................................................... 30 3.4 Upon Receipt of a Unicast Data Frame ............................................................... 32 3.5 Route Discovery .................................................................................................. 35 3.6 Route Maintenance .............................................................................................. 40 Chapter 4 ........................................................................................................................... 41 Link Cost Calculation.................................................................................................... 41 4.1 RSSI for link cost ................................................................................................ 41 4.2 Correlation value for link cost ............................................................................. 42 4.3 Factors affecting communication in actual environments ................................... 44 4.4 Packet transmission and Error Rates ................................................................... 45 4.5 RSSI and Correlation not good indicators of Link cost....................................... 49 Chapter 5 ........................................................................................................................... 51 Mathematical Analysis and Graphical Results.............................................................. 51 5.1. Hamming Distance ............................................................................................. 51 5.2 Error Rates considering AWGN .......................................................................... 52 5.3 Error Rates considering Rayleigh Fading ............................................................ 54 Chapter 6 ........................................................................................................................... 57 Proposed Link Cost Calculation.................................................................................... 57 6.1 Impact of SNR ..................................................................................................... 57 6.2 Link Cost Assignment ......................................................................................... 57 6.3 Path Cost Calculation .......................................................................................... 58 7 Chapter 7 ........................................................................................................................... 59 Conclusion..................................................................................................................... 59 7.1 Future Work ......................................................................................................... 60 Bibliography ..................................................................................................................... 61 Appendix ........................................................................................................................... 63 Tables ............................................................................................................................ 63 LIST OF FIGURES Figure 2.1: 802.15.4/Zigbee Protocol Stack ...................................................................... 8 Figure 2.2: The PHY Layer reference model. .................................................................. 11 Figure 2.3: PPDU format ................................................................................................. 12 Figure 2.4: The MAC Layer reference model. ................................................................. 13 Figure 2.5: Data transfer model from the coordinator to the device ................................ 15 Figure 2.6: Data transfer model from the device to the coordinator ................................ 15 Figure 2.7: Star topology ................................................................................................. 19 Figure 2.8: Tree topology................................................................................................. 20 Figure 2.9: Mesh topology ............................................................................................... 20 Figure 2.10: The NWK Layer reference model ............................................................... 24 Figure 3.1: Route Request Command Frame ................................................................... 36 Figure 3.2: Route Reply Command Frame ...................................................................... 39 Figure 4.1: Bit Stream to transmitted Signal.................................................................... 46 8 Figure 5.1: Hamming distance between any two chip sequences. ................................... 51 Figure 5.2: Complete Graph of Bit Error, Symbol Error Rate and Packet Error Rate versus Signal to Noise Ratio. ............................................................................................ 52 Figure 5.3: Partial Graph of Bit Error, Symbol Error Rate and Packet Error Rate versus Signal to Noise Ratio indicating the change in Packet Error Rate. .................................. 53 Figure 5.4: Graph of Bit Error, Symbol Error Rate and Packet Error Rate versus Signal to Noise Ratio considering Rayleigh fading. .................................................................... 54 Figure 5.5: Partial Graph of Bit Error, Symbol Error Rate and Packet Error Rate versus Signal to Noise Ratio considering Rayleigh fading indicating the change in Packet Error Rate. .................................................................................................................................. 55 Figure 5.6: Packet Error Rate versus Signal to Noise Ratio for AWGN and Rayleigh Fading. .............................................................................................................................. 56 LIST OF TABLES Table 3.1: Routing Table .................................................................................................. 30 Table 3.2: Status Field Values.......................................................................................... 31 Table 3.3: Route Discovery Table.................................................................................... 31 Table 4.1: Sample RSSI to Link Cost Mapping ............................................................... 42 Table 4.2: Symbol to Chip mapping ................................................................................ 43 Table 5.1: Variation of Bit Error Rate, Symbol Error Rate and Packet Error Rate with Signal to Noise Ratio considering AWGN ....................................................................... 64 Table 5.2: Variation of Bit Error Rate, Symbol Error Rate and Packet Error Rate with Signal to Noise Ratio considering Rayleigh Fading ......................................................... 71 9 ACKNOLEDGEMENTS I would like to express my gratitude to my advisor Dr Mukul Goyal, Assistant Professor, Department of Computer Science, University of Wisconsin Milwaukee for his guidance, support and advice during the course of not only my thesis under him but also during the course of my Masters. He has been a definite source of inspiration especially in terms of working hard and shaping a career. Dr Syed H Hosseini, Chair, Department of Computer Science, University of WisconsinMilwaukee is also a person I would like to thank for all the encouragement and advice during my Graduate Studies. I would like to thank Dr Brian Armstrong for being on my thesis committee. 10 This section could not be complete without thanking my parents who have constantly been encouraging me to be what I am today. They have definitely helped me keep my spirits high and motivated me not only to set goals but also achieve each one of them. A special thanks to my mentor and guide Dr K.S Srinath, Head of the department, MCA, RNSIT, Bangalore for all the support he extended to make my Masters dream come true. All my friends have been there for me at the most difficult times and helped me not to let go, I would like to thank them for all that and more. 11 Chapter1 Introduction 1.1 An Overview of the Thesis and its Contributions In recent times, wireless communication technology is rapidly replacing existing wired technology in different monitoring and non-critical control applications. The main advantage of wireless communication over wired communication is the relative ease of installation and maintenance. The main driving factor that has made this transition from wired to wireless communication feasible is the standardization of IEEE 802.15.4 protocol [1]. IEEE 802.15.4 defines low power and low data rate protocols for PHY and MAC layers of a wireless sensor network. The PHY layer protocol defines operation in several frequency bands, the most prominent being the 2.4GHz ISM (industrial, scientific and medical) band where the protocol uses O-QPSK (orthogonal quadrature phase shift keying) modulation [17, Chapter 7: Digital Modulation Techniques.] to support a data rate of 250 Kbps. The MAC layer protocol is based on CSMA/CA (carrier sense multiple access with collision avoidance) [11] and can operate in two modes: beacon-enabled and beaconless. The beacon-enabled mode allows the organization of a sensor network in clusters where nodes in one cluster have exclusive access of the transmission channel during their active period. The nodes in a cluster do not transmit outside their active period. In beaconless mode, there is no such restriction on a node. A node competes with all the other nodes in its hearing range for access to the transmission channel. The 12 beaconless mode operation allows the use of mesh routing in large sensor networks, where the term mesh routing refers to the ability to send packets from a source to a destination via a dynamic route through other nodes in the network. This differs from the hierarchical routing that has to be followed in beacon-enabled networks, where a packet can travel from its source to its destination only along the hierarchy established by coordinator-associated device relationships. Zigbee [2] is a mesh routing protocol for beaconless IEEE 802.15.4 networks. Zigbee facilitates multi-hop routing and thus allows the creation of large sensor networks where the nodes need not be in each other’s hearing range to communicate. Zigbee routing protocol is a version of Adhoc On-demand Distance Vector (AODV) routing protocol [10], where the routes are discovered by the source broadcasting a Route Request through the network and the destination sending Route Replies back on receiving the route requests via different paths between the source and the destination. A route reply travels from the destination to the source along the reverse of the path taken by the corresponding route request. When the route request reaches the source, it carries the cost associated with this route, which is simply the accumulated sum of the costs associated with links on the route. As the route replies reach the source, it chooses the route with minimum cost for its future communication with the destination. Thus, the quality of the routes used in a Zigbee network clearly depends on how the link costs are determined. 13 In this thesis, we focus on the problem of determining the routing cost of a link in a Zigbee network. As discussed later, the Zigbee specification suggests that the link cost be determined using a particular formula based on the probability of successfully sending a packet across the link. However, the specification does not restrict the vendors from using other methods to determine the link costs. Based on our experience with commercial Zigbee stacks, it appears that many vendors use the Received Signal Strength Indicator (RSSI) value of the packets received from the other end of the link as the determining factor of the cost of the link. Typically, the vendors use a table to map the signal strength to the link cost. A node sets the cost of its link to the other node to be low as long as a good strength signal is received from the other node. The signal strength is typically determined by accumulating the radio energy on the transmission channel during the time a packet is being received. Clearly the radio energy consists of not only the signal but also the noise and hence the RSSI value may be quite good even though the signal to noise ratio is poor. This has been observed to be frequently the case in many deployment environments with high levels of radio noise. Even though the signal to noise ratio for the packets received from the other end of the link may be poor, the nodes would continue to assign low costs to a link since the RSSI value for these packets is good. Thus, the low quality links continue to be used to route packets even though the loss rates on such links are quite high. In this thesis, we argue that RSSI value is not a good indicator of signal to noise ratio and hence should not be used to determine the link costs in Zigbee routing. 14 Another metric typically suggested as the determining factor of the routing cost of a link is the so called correlation value in the packets received from the other end of the link. The correlation value is a measure of the closeness between the received chip sequence and the sent chip sequence for the bits in a packet. In IEEE 802.15.4 PHY operation, the sending (or source) node translates each symbol (4 bits) of the MAC payload into the corresponding 32 chip long sequence. The IEEE 802.15.4 specification defines 16 unique 32-chip long sequences for 16 possible symbols. As discussed later in this thesis, the minimum hamming distance [17, Chapter 8: Linear block codes, Section:Minimum Distance Considerations] between any two chip sequences is 12. On receiving the chip sequence corresponding to a symbol, the receiving IEEE 802.15.4 node compares it with all 16 valid chip sequences and decides that the valid sequence closest to the received sequence must be the one sent by the source node. IEEE 802.15.4 PHY layer can tolerate errors in the received chip sequence, presumably caused by the radio noise on the link, as long as it continues to be closer to the actually sent chip sequence than any other valid chip sequence. The correlation value for a packet is a measure of the closeness between the received chip sequences and the perceived sent chip sequences for the symbols in a packet. The correlation value is a good indicator of the signal to noise ratio as long as the receiver correctly identifies the chip sequences actually sent by the source node. However, if the signal to noise ratio is so bad that the received chip sequence becomes closer to another valid chip sequence than the one actually sent by the source, the correlation value becomes meaningless. In fact, such errors in identifying the symbols sent by the source would result in checksum failures for the packet and the packet would 15 be discarded. Thus, the correlation value identifies signal to noise ratio only as long as it is good enough to not cause any errors in symbol identification. We argue that as long as the signal to noise ratio is good enough, the routing cost of the link should be small so that minimum hop routes could be realized. Thus, the correlation value over successful packets does not help us in determining the routing cost of the link and the correlation value over packets with incorrigible errors is meaningless. Thus, the correlation value is not a good base for determining the routing cost of a link. We further argue that even if it were somehow possible to determine the signal to noise ratio on the link in all cases, the signal to noise ratio is not a good indicator of link quality from the perspective of an IEEE 802.15.4 node. This argument is based on the relationship between the signal to noise ratio and the packet error rate at the PHY layer in an IEEE 802.15.4 node. In this thesis, we show that the PHY level packet error rate continues to maintain its very low value as long as the signal to noise ratio is better than a threshold. Once the signal to noise ratio becomes less than this threshold, the PHY level packet error rate jumps to very high levels (close to 1) within 2-3 db of further deterioration in the signal to noise ratio. Thus, from the perspective of an IEEE 802.15.4 node, the link quality is “good enough” as long as the signal to noise ratio is more than a threshold and “not good enough” otherwise. Thus, there is no gradual deterioration in packet error rates as the signal to noise ratio deteriorates and hence the signal to noise ratio is not a good determinant of link cost for routing purpose. 16 We suggest that the cost of a link for Zigbee routing purpose be determined based on the observed loss rate at the Zigbee layer for the packets sent on the link. This loss rate automatically takes into account the radio level signal to noise ratio, the PHY level error correction built in IEEE 802.15.4, the MAC level contention for channel access among multiple nodes in each other’s hearing range in a network and MAC level packet retransmissions allowed by IEEE 802.15.4 protocol. Moreover, such loss rates are already being maintained in Zigbee neighbor tables. The exact mechanism to use such loss rates to determine the link costs and then end-to-end route costs is left as work for future. We do note that any end-to-end route cost should be a multiplicative function of the individual link costs, based on success rates on the links, rather than an additive one as suggested in the Zigbee specification. 1.2 802.15 The 802.15 is an IEEE working group that specializes in Wireless Personal Area Networks. Though all the standards under this group are defined for networks that are smaller in size, they are bifurcated based on the data rate required for different communications. Standards are defined for Bluetooth, very high data rates and very low data rate networks. Under the very low data rate category comes the 802.15.4/Zigbee standard. This is an infant protocol and is making great progress in the recent years. Optimization and efficiency are the main concerns of this protocol especially because of the constraint of power consumption. There has been constant changes being made to the protocol and thus be considered as one of the fastest growing protocols in the industry. 17 Chapter 2 802.15.4 and Zigbee 2.1 Overview 802.15.4/Zigbee is a standard for very low cost, very low power consumption and twoway wireless communications. This standard can be used over a varied set of solutions such as home and office automation, military applications, toys, games, industrial control systems, medical applications etc., Presented in this chapter are the primary design factors of the 802.15.4/Zigbee standard. 2.2 Architecture The 802.15.4/Zigbee standard uses the layered architecture similar to the OSI model. Each of these layers is responsible to carry out a specific function. The layers could be perceived as a chain in which the layer below functions in a way in which it could provide services for the layer above. The services are provided through what are known as the service access points. These points are present between any two layers of the stack. 802.15.4 itself describes the lower layers namely the Physical layer and the MAC layer. Zigbee however describes the network and the application layers over the foundation built by 802.15.4. 18 Application (APL) Layer Application Framework Application Application Object 240 Object 1 APSDESAP Zigbee Device Object (ZDO) APSDESAP APSDESAP Application Support Sublayer (APS) Security Service ZDO Management plane NLDESAP Network (NWK) Layer Provider APSMESAP MLDESAP MLMESAP NLMESAP Medium Access Control (MAC) Layer PLMESAP PD-SAP Physical (PHY) Layer 2.4 GHz 868/915 MHz Radio Figure: 2.1 802.15.4/Zigbee Protocol Stack 2.3 Data rate and Range The frequency band at which the system operates in North America is 2.4GHz. For this frequency the data rate is a maximum of 250kbps. The modulation technique used for this band is the Orthogonal Quadrature Phase Shift Keying (O-QPSK). 19 The other band of operation is the 868MHz band used in Europe. The data rate at this frequency is typically 40kbps and the Binary Phase Shift Keying (BPSK) method of modulation is used. Besides BPSK, Amplitude Shift Keying and O-QPSK may be used based on the application both of which are not mandatory. Range of operation is approximately 50m in both cases. It could however vary from 5500 m depending on the environment at which the nodes are deployed. It can be seen from the above description that Zigbee works for low data rate and short range applications. 2.4 The Physical (PHY) Layer The Physical layer is responsible for all the tasks related to the system at the device level. It provides an interface between the Medium Access Control (MAC) layer and the physical radio channel through the RF firmware and hardware. The PHY layer basically tells how the devices in the network should communicate with each other. The responsibilities of the Physical layer include: The radio transceiver Activation and Deactivation: this is a simple task where either the transmitter or the receiver might have to be either activated or deactivated based on whether data needs to be transmitted or received. Since some of the devices are in the sleep mode so that energy is conserved, they have to be monitored and necessary action be taken. 20 Energy detection within the channel in use: In order to select a channel, the network layer can use the Energy detected at the PHY layer. The energy detected is an estimate of the received signal power within the given bandwidth. Link Quality Indication (LQI) for the packets received: The LQI is determined based on the Signal to Noise Ratio (SNR) and the Energy Detection (ED) for the packets received over the link. This is a measure of how good a particular link is so that packets can be transmitted without losses. The LQI is used to determine a path between the source and the destination. The path which has individual links with a LQI that indicates possible reliable transmission is the one which is selected. Clear Channel Assessment for CSMA-CA: The CCA is done in order to detect whether a given channel is busy before it is selected for packet transmission. A channel is said to be busy if a transmission is currently taking place over the channel. In order to determine whether a channel is in use three different methods could be used: Check to see if the energy level over the channel is greater than a threshold. ED can be used for this purpose. Perform a carrier sense, to check if there a signal with the spectral and modulation characteristics of 802.15.4 21 Perform the carrier sense and also check if the energy detected is above the threshold. Channel frequency selection: The frequency band in which the communication should take place is defined by the PHY layer. Data transmission and Reception: The data to be transmitted is through packets each of which has headers involved. Once the packets are sent to the recipient an acknowledgement is received. 2.4.1 Physical Layer Service Specifications The PHY layer like the other layers can be conceptually divided into the management entity and the data entity providing the management and the data services respectively. Each of these services can be accessed through Service access points namely, PLMESAP and the PD-SAP as shown in the reference model. PD-SAP PLME-SAP PLME PHY Layer PHY PIB RF-SAP Figure 2.2: The PHY Layer reference model. 22 The Mac Protocol Data Units (MPDUs) are handled by the PD-SAP. The PD-SAP supports certain primitives that request and provide data transfer options between the devices. 2.4.1.1 The PPDU format Preamble SFD* Frame length/Reserved SHR* (variable) PHR* PSDU PHY payload Figure 2.3: PPDU format *SFD: Start of Frame delimiter *SHR: The synchronization header. This field enables the device on the receiving end to synchronize. *PHR: The physical header gives the length of the frame. The Payload field carries the MAC sub layer frame. 2.5 The Medium Access Control layer The MAC layer determines when a device can access a given channel over which the communication is intended. It handles all the access to the physical radio channel using the CSMA mechanism. Besides transmitting beacon frames and synchronization, the other important responsibility of the MAC layer is to provide a reliable transmission mechanism. 23 Features of the MAC layer: Network beacons’ generation and synchronization Association and disassociation of the PAN Channel access using CSMA-CA GTS mechanism maintenance Reliable link establishment between MAC entities 2.5.1 MAC Layer Service Specifications The MAC layer can be conceptually divided into two entities, just like the physical layer. The two entities being the Management Entity and the MAC Common Part sub-layer. In order to provide services to the layers above or the Physical layer, Service access points are used. MCPS-SAP MAC Common Part Sub Layer MLME-SAP PLME MLME PIB PD-SAP PLMESAP Figure 2.4: The MAC Layer reference model. RF-SAP RF-SAP 24 MAC provides two different services: Data Services: accessed through the MAC Common Part sub-layer-Service Access Point. Management Services: accessed through the MAC Layer Management EntityService Access Point. 2.5.2 The Data Transfer Model Data transactions take place in three ways. Data transfer from the device to the coordinator. Data transfer from the coordinator to the device. Data transfer between peer devices in the network. In the star topology only the first two types of transactions are used. This is due to the fact that in the star topology the only transactions that can take place are between the coordinator and the devices. In the peer to peer topology transactions can be between any two devices besides the coordinator and the devices and hence all the three types of transactions are possible. 25 Non-Beacon enabled mode: COORDINATOR NETWORK DEVICE Data Request Acknowledgeme Data nt Acknowledgeme Figure 2.5: Data transfer model from the coordinator to the device nt COORDINATOR NETWORK DEVICE Data Request Acknowledgeme (If requested) nt Figure 2.6: Data transfer model from the device to the coordinator 2.5.3 Channel Access Channel Access can be done using the following two methods: Contention based: In this method the devices use the CSMA-CA back off algorithm in order to determine whether a given channel can be utilized. Contention free: The decision making capability in this case lies with the Pan coordinator which makes use of GTSs in order to access a given channel. 26 Slotted CSMA-CA is made use of in the beacon enabled mode, where as in the non beacon enabled mode, the un-slotted CSMA-CA is used. In both the cases the back off periods, which are basically units of time, are utilized in order to implement the algorithm. In the slotted CSMA-CA algorithm the back-off units of different devices in the network are related. Precisely, every device within the network is aligned with the super frame structure of the coordinator; also the start of the first back off is aligned with the start of the beacon transmission. The Un-slotted CSMA-CA works in quite the opposite manner, the back-off periods of any device within the network are not related in time with any other device. Our study is over the non-beacon mode of transmission, hence described below is the Un-slotted CSMA-CA algorithm. The devices in the network maintain three parameters, NB, BE and CW. NB: The NB value is set to zero every time a transmission is initiated. This value is incremented based on the number of times the algorithm had to back-off while attempting the transmission. BE: This gives the number of back-off periods a device should wait before accessing a channel. This value is set to a predetermined minimum value. CW: This parameter is used only in the slotted CSMA-CA algorithm. It gives the contention window length. 27 2.5.4 Un-slotted CSMA-CA algorithm As mentioned earlier the parameter used by the CSMA-CA algorithm is the time units called the back-off periods. A device that is ready to transmit data uses the Un-Slotted CSMA-CA algorithm to determine whether the channel over which the transmission needs to take place is currently free. Once ready, the device waits for a random amount of back off periods. The back off periods has a set range from 0 to 2BE-1. A Clear Channel Assessment (CCA) is then performed to check if the medium is idle. If the channel is found to be clear, data transmission takes place. If the channel is found to be busy then the device backs off. Each time the device backs off, the NB and BE values is incremented. Both NB and BE have threshold values that are predefined, the maximum value that NB can reach is macMAXCSMABackoffs. The maximum value that BE can reach is maxBE. If the channel is found to be busy after the repeated tries, a Channel Access Failure is reported and the CSMA-CA algorithm is terminated. The entire algorithm is restarted to determine whether the channel is still busy. 2.6 The Network Layer The Network layer is defined by Zigbee over the base provided by 802.15.4. The network layer plays a major role in determining how cost effective and power efficient the given WPAN is. Most of the dynamic functions of the devices such as network formation, routing of packets, maintenance and repair of routes etc., are taken care of by the Network layer. 28 Network layer functionalities: Joining and leaving a network. Securing the frames Routing the packets from the source to a given destination Discovery of routes Route maintenance Neighbor discovery Storing the information related to the neighbors of a given device 2.6.1 Zigbee Devices Conservation of power is one of the prime requirements of the 802.15.4/Zigbee protocol. In order to reduce energy utilization one of the implementation strategies is to reduce the functionality of certain devices that are not involved in performing a given set of tasks. Thus the devices are assigned minimal functions just enough to ensure efficient working. A few devices though will have the capacity to perform all the functions. The devices thus can be bifurcated into: Reduced Function Devices (RFD): They can only be network end devices. These devices have limited functionality. Low cost, reduced complexity and low power consumption are the main features of these devices. 29 Full Function Devices (FFD): The FFDs are fully loaded devices that can perform all the functions that the standard specifies. They can function as the Network coordinator owing to the fact that they have full functionality. Any WPAN will invariably contain at least one FFD. A FFD can also be used as a link coordinator or simply a network end device. 2.6.2 Network Topologies Three different topologies have been defined for Zigbee networks. The choice of a topology is based on the application of the system. 2.6.2.1 Star Topology Full Function Device Reduced Function Device PAN Coordinator Figure 2.7: Star topology This is the most widely used and a simple topology characterized by a single Full Function Device which is the network coordinator, to which are connected the end devices. The end devices are allowed to communicate only with the coordinator. Thus any communication that has to be established between two end-devices should be through the coordinator. 30 2.6.2.2 Tree Topology Full Function Device Reduced Function Device PAN Coordinator Figure 2.8: Tree topology In the tree topology, the nodes are arranged based on a parent child structure. The networks related operations such as starting the network and choosing different parameters are the responsibility of either the ZigBee coordinator or ZigBee routers. The data and control messages are propagated through the network based on the hierarchy of arrangement of the nodes. 2.6.2.3 Mesh Topology Full Function Device Reduced Function Device PAN Coordinator Figure 2.9: Mesh topology 31 The Mesh network is a little complex when compared to the other topologies mentioned. The PAN coordinator is connected to either routers or end devices. The router could be further connected to additional routers and end devices, forming a chain with different levels. The routers in this topology have the ability to communication with other routers within its listening range. This helps efficient transmission since if a link is broken alternate routes can be easily established. A mesh allows full peer to peer communication. 2.6.3 Network Layer entities In order to provide an interface to the application layer the network layer can be conceptually divided into two service entities, the Network Layer Data Entity (NLDE) and the Network Layer Management Entity (NLME) to provide the data and the management services respectively. The data transmission service is provided through the NLDE-Service Access Point and the management services are provided through the NLME-Service Access Point. The Network Information Base (NIB) is also maintained by the Network layer and is a data base of the managed objects. The functionalities mentioned are for the network layer as a whole. The services provided by the NLDE and the NLME individually suffice for the general functional requirement of the Network Layer. 32 2.6.3.1 NLDE Services Network Level PDU generation: The NLDE should generate the NPDU from the APS-PDU. Routing: The NPDU generated should be routed from the source to the destination device either directly or through intermediate nodes or devices. The important factor to be taken into consideration here is the network topology being used. Network topologies are described in section 2.6.2. Implementing Security features: It is the responsibility of the NLDE to ensure that the transmission of the frames takes place in a secure manner. Both authenticity and confidentiality have to be taken care of. 2.6.3.2 NLME Services The interface between an application of the system and the stack is provided by the NLME. As the name suggests, considering the broader picture, this entity manages the networks in terms of discovery, formation, monitoring and maintenance. The services provided by the NLME are: New device configuration: A new device added to the network has to be configured based on the role of the device in the network. Whether the device should operate as a coordinator or an end device should be determined, and configured accordingly. 33 Starting a Network: Establishing a brand new network is the responsibility of the NLME. Joining and Leaving a Network: Devices that intend to join a network are permitted to do so by the NLME. Likewise, a Zigbee coordinator or router might request that a device leave the network, the permission to do so is granted by the NLME. Address Assignment: It is highly important to identify different devices within the network based on an identity. The identity could be an address assigned, which is done by the Zigbee coordinator or the routers. The NLME of these devices is responsible for assigning addresses to any new device joining the network. Discovering Neighbors: Any device in a network should be aware of the devices that are its neighbors in order to route packets efficiently from a given source to the intended destination. The NLME has the ability to discover, record and report information of the one hop neighbors (devices that are directly connected to the given device) of a device. Discovering routes: The frames that are to be sent from a given source to a destination are sent through a well-defined path. This is important since they have to be routed efficiently. The route is pre-determined, in i.e. the route is discovered before transmitting the frames. 34 Controlling the reception: A receiver has to be activated and kept active for certain period of time. It is important that the receiver is put into the sleep mode in order to conserve power, since one of the motives of this protocol is low energy consumption. Activation of the receiver enables either MAC sub layer synchronization or direct reception. 2.6.4 Network Layer Service Specification The two services, which establish an interface between the MAC layer and the Application layer, provided by the Network layer are the data service and the management service. The interface is provided through the MLDE-SAP and the MLMESAP. The network layer has an implicit interface between the NLDE and the NLME internally, in addition to the external interfaces facilitating the NLME to utilize the Network Data Services. NLME-SAP NLME-SAP NLME NLDE NWK IB MCPS-SAP MLME-SAP Figure 2.10: The NWK Layer reference model. 35 The NLDE-SAP supports the transportation of the Application layer data units between the application entities. The NLME-SAP is responsible for the network, discovery, formation routing and maintenance. Zigbee routing is a very important function of the Network layer. Since the emphasis of this thesis is over the routing in the Zigbee protocol, it is discussed in detailed in the next chapter. 2.7 The Application Layer The highest layer in the Zigbee architecture stack is the Application layer. As the name suggests, this is the layer in which the application of the Zigbee system could be defined. The application layer provides an interface of the system to the end users. The application layer can be divided into two components namely the Zigbee Device Objects (ZDO) and the Application Support Sub-layer. Within the application framework there could be various application objects also known as communicating objects. The ZDO is responsible for: Deciding whether a given device is an end device or a coordinator. Determining the application services provided by a device once they are discovered within the network. Initialization and responding to binding requests 36 Providing secure connectivity between network devices. The APS sub layer is responsible for: Maintaining binding tables Sending messages back and forth between devices that are bound. Address definition Address mapping Fragmentation of the data frames Reliable data transport. 2.7.1 Application Support Sub Layer The Application Support Sub layer can be divided into two components similar to the other layers mentioned earlier, the APS data entity and the APS management entity, providing the data services and the management services respectively. 2.7.2 Application Framework The application objects are hosted in the Application framework environment. The basic functions provided by the Application objects are as follows: Control and Management of the Zigbee device protocol layers. Initiation of the standard network functions. 37 240 distinct application objects may be defined for each device; the figure is the upper bound on the limit. Another task that the application layer is involved in is the addressing, where the nodes are assigned distinct addresses. 38 Chapter 3 Routing in Zigbee Zigbee routing protocol is a version of Adhoc On-demand Distance Vector (AODV) routing protocol [9,10], where the routes are discovered by the source broadcasting a Route Request through the network and the destination sending Route Replies back on receiving the route requests via different paths between the source and the destination. In order to make Zigbee routing efficient various methods have been studied in the past and many protocols have been proposed [13, 14, 16]. These protocols typically focus on the initial stages of routing; one of the final stages is the selection of the best route which is studied in this thesis. 3.1 Routing Addresses Zigbee devices’ address is utilized in order to route packets between the source and the destination. The routing address of a device is its short address if it is a router or a coordinator. If the device is an end device then the routing address is the short address of its parent. Routing destination of the frame is the routing address of the frame’s NWK destination. The routing address of any device can be derived from the device address. 3.2 Calculation of Routing Cost The routing cost is a metric used during route discovery and maintenance to determine whether the route in question is indeed the best route between the source and the 39 destination. A route from the source to the destination is composed of various links that exist between the intermediate devices. Link cost is associated with each link in the path which when added up gives the effective path cost. Given a path of length L with devices, [D1, D2 … DL ]. The Path cost as a suggestion in the Zigbee specifications[2; section:3.7.3.1] is given by, L 1 C P C Di , Di 1 (3.1) i 1 7 Where C{l} = Min (7, round (1/Pl4)) Pl is the probability of packet delivery on the given link l. This probability basically reflects the number of attempts that may be required for a packet to be successfully transmitted through the link each time it is utilized. The estimation of Pl is an implementation issue. One method of estimation would be observing the sequence numbers over a given period of time so as to detect the lost frames. An alternate fairly straightforward method would be to form an estimate based on an average over per frame Link Quality Index which is provided by the MAC and PHY 40 layer. The initial cost of a link is typically based on the LQI. The LQI may be mapped to the link cost C{l}. The existing procedure for the Link cost calculation and a proposed efficient method for this calculation are explained in detail in the forth coming chapters of this document. 3.3 Routing Tables The Routing Table and the Route discovery table are maintained by either the Zigbee coordinator or the router. The various fields stored in these tables are utilized during route discovery and maintenance in order to take appropriate actions to ensure efficient routing of the packets. Table 3.1 Routing Table Field Name Size Description Destination address 2 bytes The 16-bit network address or Group ID of this route; If the destination device is a ZigBee router or ZigBee coordinator, this field shall contain the actual 16-bit address of that device; If the destination device is an end device, this field shall contain the 16-bit network address of that device’s parent Status 3 bits The status of the route Many-to-one Route record required 1 bit A flag indicating that the destination is a concentrator that issued a many-to-one route request 1 bit A flag indicating that a route record command frame should be sent to the destination prior to the next data packet 41 GroupID flag 1 bit Next-hop address 2 bytes A flag indicating that the destination address is a Group ID The 16-bit network address of the next hop on the way to the destination Table 3.2 Status Field Values Numeric 0x0 0x1 0x2 0x3 0x4 0x5 – 0x7 Value Status ACTIVE DISCOVERY_UNDERWAY DISCOVERY_FAILED INACTIVE VALIDATION_UNDERWAY Reserved Table 3.3 Route Discovery Table Field Name Size Route request ID 1 byte Source address 2 bytes The 16-bit network address of the route request’s initiator Sender address 2 bytes The 16-bit network address of the device that has sent the most recent lowest cost route request command frame corresponding to this entry’s Route request identifier and Source address; This field is used to determine the path that an eventual route reply command frame should follow Description A sequence number for a route request command frame that is incremented each time a device initiates a route request 42 Forward Cost 1 byte The accumulated path cost from the source of the route request to the current device Residual cost 1 byte The accumulated path cost from the current device to the destination device Expiration time 2 bytes A countdown timer indicating the number of milliseconds until route discovery expires; The initial value is nwkcRouteDiscoveryTime 3.4 Upon Receipt of a Unicast Data Frame When a data frame is received at a device, it is intended to be forwarded to a destination device. There is a procedure followed by the device in order to route the packet all the way to the destination and is described in this section. If the receiving device is either a Zigbee router or coordinator and if the destination specified in the frame is a child of this device and also an end device the data frame is directly relayed. 3.4.1 Device with routing capacity If the device that receives the data frame has routing capacity it checks the routing table of the device to check if there exists an entry corresponding to the routing destination of the frame. 43 If the routing table entry exists, the STATUS field is checked. STATUS: ACTIVE or VALIDATION_UNDERWAY implies the frame is relayed. The status field is set to ACTIVE if it was not prior to being relayed. In order to relay the frame, certain parameters related to the source and destination has to be known. o SrcPANId and DestPANId are provided by the macPANId attribute of the MAC PIB of the device that is relaying the frame. o SrcAddr and DestAddr: the SrcAddr is extracted from the macShortAddr attribute of the MAC PIB and the DestAddr is the next hop address field of the routing table entry corresponding to the destination. STATUS: DISCOVERY_UNDERWAY: for this value of the status field, o The frame is treated as though the route discovery has been initiated for this frame o The other option is that the frame could be buffered pending the route discovery or routed using hierarchical routing. Hierarchical routing is allowed based on whether the attribute, nwkUseTreeRouting is set to TRUE. STATUS: DISCOVERY_FAILED or INACTIVE: the frame may be routed using hierarchical routing provided the nwkUseTreeRouting is set to TRUE. 44 STATUS: not ACTIVE and the frame is received from the next higher layer: the source route table is checked for an entry corresponding to the destination, if such an entry is found Source routing is employed to route the frame to the destination. If the routing table entry does not exist and if it is determined that source routing cannot be used the other possibility would be that this device should initiate route discovery. Route discovery is initiated depending on the value of the discover route sub field which is part of the NWK header frame control field. Hierarchical routing may be used in the case where route discovery is not initiated based on the nwkUseTreeRouting value. The frame is discarded after all the above mentioned possibilities are checked for. Thus a frame is discarded when: The discover route subfield is not set Hierarchical routing is not a possibility due to the nwkUseTreeRouting being FALSE The routing table entry corresponding to the routing destination of the frame does not exist. 3.4.2 Device without routing capacity The only possibility is this case is the hierarchical routing which can be carried out only if nwkUseTreeRouting is TRUE. 45 3.5 Route Discovery The motive behind route discovery is the selection of the best available route to the destination when a message is to be sent. Route discovery is initiated when a data transmission is requested. 3.5.1 Types of Route discovery Unicast Route Discovery: to discover a route between a particular source to a particular destination Multicast Route Discovery: performed with respect to a particular source to a multicast group Many-to-one Route Discover: performed by a source device in order to establish routes originating from various devices in the network to itself. The devices here must be within a given radius. The routing protocol employed in Zigbee is the Adhoc On-Demand Distance Vector (AODV) Routing. The choice of this routing scheme is to ensure low power consumption. A device within the network broadcasts a Route Request command frame to its neighbors in order to find a route to the destination device. The neighbors further broadcast this frame until the destination is reached. 46 3.5.2 Creation of a new Route Request Command Frame Each device that issues a Route request Command Frame maintains a counter to generate route request identifiers. This counter is incremented each time a Route Request Command frame is created. The value of the counter is stored in the Route Request Identifier field of the route discovery table. After the Route discovery table and routing table entries are created, the individual fields of the command frame are populated. The command frame identifier: indicates the frame is a command frame. Route request Identifier: the value stored in the route Discovery table. Multicast flag and destination address are set based on the type of route discovery initiated. Path cost: set to 0. 3.5.3. Upon receipt of a Route Request Command Frame Octets : 1 Command Frame Identifier 1 Command Options 1 Route Request Identifier NWK payload 2 Destination Address 1 Path Cost Figure 3.1 Route Request Command Frame The Route Request Command Frame once created is broadcast. When a Route Request Command frame is received by any device in the network, if the device is an end device 47 then the frame is dropped. If the device is not an end device and has routing capacity, various parameters are checked to see if the frame received is legitimate based on the routing table entries of the device. 3.5.3.1 Device is the destination or the parent of the destination Once the route request is found to be valid it is checked whether the device is the destination or if the destination is a child of this device. If yes, a reply with a Route Reply Command Frame is sent. The Route Reply’s source address would be the address of the device that creates the reply and the destination address would be the next hop address considering the originator of the route request to be the destination. Link Cost: the Link Cost from the next hop device to the current device is computed and inserted to the path cost field of the Route Reply Command frame. 3.5.3.2 Device is not the destination In this case the device computes the link cost from the previous device and adds it to the path cost value in the Route Request command frame and is forwarded towards the destination. The next hop for this is determined in a manner as if the frame were a data frame address to the device identified by the destination address. 3.5.4 Route Discovery Table Entries During the course of a route discovery any device within the network device might be included in the route being developed. The Route Discovery table of this device should 48 be updated with the values corresponding to the values present in the Route request Command frame. The forward cost field however, is calculated using the previous sender of the command frame to compute the link cost which is added to the value obtained from the path cost field of the route request command frame and the result of this calculation is stored in the Forward cost field. If the Route discovery table entries for the given route identifier and source address pair already exists, the device checks if the path cost in the Route request Command frame is less than the Forward cost that is stored in the Route Discovery table. In order to compare these values, The link cost from the previous device that sent this frame is computed and then added to the path cost value in the Route Discovery table entry. If the new value obtained is greater than the value stored in the Route Discovery table the frame is dropped and no further processing is required. If the new value is lesser, the forward cost and sender address fields are updated with the new cost and the previous device address from the Route Request Command frame respectively. 49 3.5.5. Upon receipt of a Route Reply Command Frame Octets : 1 1 1 2 2 1 Command Frame Identifier Command Options Route Request Identifier Originator Address Responder Address Path Cost Figure 3.2 Route Reply Command Frame When a device receives a RREP command frame, it has to make a decision either to forward it or to discard. The frame may be discarded in the following cases: When the device does not have routing capacity and hierarchical routing is not a possibility since the nwkUseTreeRouting is set to false. When the device has routing capacity but is neither the intended destination nor contains a table entry corresponding to the intended destination’s address. If the device does have a table entry corresponding to the destination address and if the STATUS field is set to VALIDATION_UNDERWAY, and the path cost in the route reply command frame is greater than the residual cost obtained from the route discovery table. The frame is forwarded though if the above mentioned cases are not encountered. Before forwarding the Route Reply Command Frame, the device updates the path cost field by computing the link cost from the next hop device to itself and adding this to the value in 50 the Route reply path cost field provided it is lesser then the residual cost. The next hop address is updated and is set to the previous device that forwarded the Route Reply Command frame. 3.6 Route Maintenance Once a route is formed it is important that the route is monitored to make sure all the links involved in the route are fit to be able to transmit any packet it received over a period of time. The monitoring may be done in regular intervals of time by sending test packets to make sure the links are working. Since Zigbee is a power saving protocol, this might not be the best practice, since the intervals may have to be spaced quite far apart. This might lead to a condition where in a link that is down may not be recognized for that entire period that there was no monitoring. As an alternative every device could maintain a counter for each if its outgoing link to record the number of packet transmission failures that occurred, once this value reaches a predetermined threshold value a route repair could be initiated and the other devices may be notified of the failure. 51 Chapter 4 Link Cost Calculation The determination of a route from the source to the destination in order to provide reliable yet efficient transmission of a packet depends on the path cost as seen in the previous chapter. The decision whether or not a route needs to be selected depends on the path cost being lower than the path costs of any other alternate route between the source and the destination devices. The path cost is obtained by adding the individual cost of the individual links which is described in section 3.5.4 of the previous chapter. The link cost is a measure of the reliability of the link and is inversely proportional to the probability of packet delivery over the link in question. Thus a high link cost implies the link is not good enough. During the process of route discovery, the path cost is compared at the intermediate devices to ensure that those devices that contribute a minimum value to the path cost are chosen. 4.1 RSSI for link cost One of the methods used to determine the Link Cost is based on the Received Signal Strength Index (RSSI). The RSSI is a measure of the strength of the signal received at a device over a given link. The link is considered to be good and hence reliable if it has transmitted a signal well. Whether a signal is transmitted well can be determined by 52 measuring how strong the signal is at the receiving end. If this value is high enough it implies that the link has been successful in signal transmission and hence could be considered reliable. The RSSI is measured in dB. The value can be linearly scaled within a predetermined range. A table containing a mapping of RSSI to link cost value is maintained. The link cost is a value between 1 and 7 according to the Zigbee specifications. Different ranges in the RSSI are mapped to link cost values. A table might look similar (but not same as) to the table given below Table 4.1 Sample RSSI to Link Cost Mapping Link Cost 1 2 3 4 5 6 7 RSSI >30 25-30 20-25 15-20 10-15 5-10 Other 4.2 Correlation value for link cost For a packet to be transmitted in 802.15.4, each 4 bit symbol is converted to a 32 bit long chip sequence. It is this 32 bit long sequence that is transmitted. Once the transmission is done, on the receiving end the received sequence is compared to the 16 possible chip sequences. Each individual bit of the received sequence is XORed with the 16 possibilities and the number of bits that are “same” are counted. This gives the 53 correlation value. Amongst the 16 possibilities, the sequence that has the highest correlation value, in other words the one which has the maximum bits that match the received sequence is considered as the actual sequence. The correlation value obtained may be used as the link cost for further use. The correlation value is nothing but the Hamming Distance which is used as the link cost. 4.2.1 Hamming Distance Table 4.2 Symbol to Chip mapping Data symbol (decimal) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Data symbol (binary) (b0 b1 b2 b3) 0000 1000 0100 1100 0010 1010 0110 1110 0001 1001 0101 1101 0011 1011 0111 1111 Chip values (c0 c1 … c30 c31) 11011001110000110101001000101110 11101101100111000011010100100010 00101110110110011100001101010010 00100010111011011001110000110101 01010010001011101101100111000011 00110101001000101110110110011100 11000011010100100010111011011001 10011100001101010010001011101101 10001100100101100000011101111011 10111000110010010110000001110111 01111011100011001001011000000111 01110111101110001100100101100000 00000111011110111000110010010110 01100000011101111011100011001001 10010110000001110111101110001100 11001001011000000111011110111000 54 4.3 Factors affecting communication in actual environments Though the above discussed methods may seem straight forward in calculating the link cost, in the actual environments there are many other factors that have to be taken into consideration. These factors affect the RSSI and Correlation values and thus make them unfit to be used for the calculation of the link cost. Studies [5, 6, 7] related to performance analysis of Zigbee using Matlab models or simulations give details related to the behavior of Zigbee networks in real time environments. 4.3.1 Noise in the environment Any communication environment is characterized by noise. The noise could be originating from various physical factors related to the environment or due to the presence of other wireless networks in the vicinity of the Zigbee network. 4.3.1.1 Signal to Noise Ratio (SNR) The SNR is a measure of the signal power to the noise power that is interfering with the given signal. If the SNR value is high, it means the Signal quality is good and that the noise power is low; noise though present is not too obtrusive. Different modules have been devised to record the effect of noise in a given environment. Some of the modules relevant to the Zigbee environment that was considered are described below. 55 4.3.1.2 Rayleigh Fading Rayleigh fading is a model that determines the effect of the propagation environment on the wireless devices. Rayleigh fading is dominant in case of zigbee networks since there is no significant line of sight component between the source and the destination. 4.3.1.3 Rician Fading Rician fading deals with the anomalies in the radio signal itself, due to the different components of the signal that might lead to partial cancellation of the signal. The effect of Rician fading however is negligible. It is prominent in cases in scenarios that have a dominant line of sight component between the source and the destination. 4.3.1.4 Additive White Gaussian Noise The other component that has a significant impact on the signal quality is the Additive White Gaussian Noise. This is the model that determines the effect of the linear wideband or white noise. The AWGN though does not account for the fading and interference due to other wireless networks present in the propagation environment. 4.4 Packet transmission and Error Rates Every 4 bit symbol is converted to a 32 bit sequence of symbols and this sequence is what is transmitted. The modulation technique used for transmission is the OffsetQuadrature Phase Shift Keying. 56 Figure 4.1 Bit Stream to transmitted Signal 4.4.1 More about O-QPSK The O-QPSK scheme is characterized by the fact that the information carried by the transmitted wave is contained in the phase. The phase of the carrier takes one of the four equally spaced values. Thus the name “Quadrature” Phase shift keying. 4.4.2 Bit Error Rate, Symbol Error Rate and Packet Error Rate. In a given communication environment, there are many factors that could contribute to erroneous transmissions [4, 12]. Error rates can be used to characterize a given transmission channel [8, 5]. 4.4.2.1. Bit Error Rate An integral part of any communication is the errors associated with it. The average probability of error is obtained based on the method used for modulation. 57 The probability of error for any O-QPSK modulated signal is given by B 1 Eb erfc 2 No (4.1) Where Eb is the energy transmitted per bit. And N o is the associated noise The value obtained from the above equation is the Bit Error Rate. 4.4.2.2 Symbol Error Rate As explained earlier, every 4 bits to be transmitted is converted to 32 bit symbols. The errors originating on the bit level would be propagated to the symbols as the symbols are basically composed of bits. Any error occurring in the chips is thus reflected on the symbols. The probability that a bit is not in error given the BER = B is 1-B. Each symbol consists of 32 bits; for a 32 bit chip sequence is recognized accurately at the receiver, the maximum number of errors that can be tolerated is given by maximum hamming distance between any two sequences, say, ‘d’. 58 The probability that no errors occur in a symbol could be thus given as a function of the BER,’B’; which would be a summation over the probability that a maximum of d errors occur, given by 32 i B 1 B 32i i 0 i d (4.2) The symbol error rate may be calculated from the Bit Error Rate using the formula d 32 32i SER 1 B i 1 B i 0 i (4.3) d: Hamming distance to accurately identify a 32 bit sequence. 4.4.2.3 Packet Error Rate The errors in the symbol are propagated further and reflected as the Packet Error Rate. Analysis exists that refer to the occurrence of packet errors in Zigbee due to the environment in which a Zigbee network is setup [12]. The packet error rate can be obtained using the symbol error rate using: PER 1 1 SER N (4.4) N: the number of symbols in a packet. The packet size is assumed to be 100 bytes and hence the number of symbols would be 200. 59 4.5 RSSI and Correlation not good indicators of Link cost 4.5.1 RSSI RSSI when measured at the receiver device need not necessarily be just the measure of the incoming signal; it in fact seldom is. RSSI is a combination of both the original signal and the noise in the environment such as other wireless devices or even ambient noise. The source that affects the existing signal the most is the interference due to other wireless devices or wireless networks that are present in the vicinity of the Zigbee devices or the Zigbee network itself. This makes the SNR low, sometimes so low that the signal itself becomes insignificant. Thus the environment in which the Zigbee network exists can cause variations in the link quality [4]. There is existing analysis for the scenario in which a Zigbee network and other WLANs coexist. This is one of the most commonly encountered situations. It has been observed that the Zigbee packets may be corrupted in the presence of other WLANs [12] even if the interference power is relatively small. Thus the RSSI value would produce erroneous Link costs. The link in consideration might not be able to transmit the packets efficiently because of the interference, yet it would be considered as a good link if the RSSI is within an expected range. 60 4.5.2 Correlation Correlation is the proximity between the received symbol and the perceived sent symbol. This value makes sense only if perceived sent symbol is same as the actual sent symbol. Correlation value makes sense if closest valid sequence (to the received sequence) is same as the sent sequence. If channel is of good quality!! Correlation value is meaningless for bad quality channel. The distance between any two of the 16 symbols is uniform; say this has a value of ‘h’. This value is nothing but the number of bits those are same in both the symbols. Errors in the individual bits would thus reflect on the hamming distance calculation. A maximum of h/2 errors can be tolerated. If more than h/2 errors occur, the symbol can be assumed as a wrong “actual” signal giving rise to an error. Thus in summary both RSSI and Correlation value are not good indicators of the link cost for the following reasons They ignore MAC level packet losses IEEE 802.15.4 has great in-built tolerance for deterioration in physical channel quality. We need to know when and how frequently channel quality becomes too bad RSSI/Correlation value does not tell us when channel quality is too bad. 61 Chapter 5 Mathematical Analysis and Graphical Results 5.1. Hamming Distance The hamming distance [17, Chapter 7: Digital Modulation Techniques] between any two chip sequences is plotted below based on the values given in the table 4.1. The maximum hamming distance between any two sequences is found to be 6. This limits the maximum bit errors in a given sequence to 6. Hamming distance between sequences Hamming distance different sequences and an individual sequence 25 1 2 3 20 4 5 6 15 7 8 9 10 10 11 12 13 5 14 15 16 0 0 5 10 15 20 Individual sequences Figure 5.1: Hamming distance between any two chip sequences. 62 5.2 Error Rates considering AWGN Formula for the Bit Error Rate when only the Additive White Gaussian Noise is taken into consideration B 1 Eb erfc 2 No (5.1) Where Eb is the energy transmitted per bit. And N o is the associated noise Error Rates Under AWGN 1.200 BitErrRate SymErrRate 1.000 PktErrRate Error Rates 0.800 0.600 0.400 0.200 0.000 -10 -5 0 5 Signal to Noise Ratio 10 15 20 Figure 5.2: Complete Graph of Bit Error, Symbol Error Rate and Packet Error Rate versus Signal to Noise Ratio. 63 Error rates under AWGN(partial graph) 1.200 BitErrRate SymErrRate PktErrRate 1.000 Error Rates 0.800 0.600 0.400 0.200 0.000 -1 -0.5 0 0.5 1 1.5 Signal to Noise Ratio 2 2.5 3 3.5 Figure 5.3: Partial Graph of Bit Error, Symbol Error Rate and Packet Error Rate versus Signal to Noise Ratio indicating the change in Packet Error Rate. 64 5.3 Error Rates considering Rayleigh Fading Formula for the Bit Error Rate when the Additive White Gaussian Noise along with Rayleigh fading is taken into consideration B Where 0 1.2 0 1 1 2 1 0 (5.2) Eb No Error Rates under Rayleigh Fading BitErrRate SymErrRate 1 PktErrRate Error Rates 0.8 0.6 0.4 0.2 0 Signal to Noise ratio Figure 5.4: Graph of Bit Error, Symbol Error Rate and Packet Error Rate versus Signal to Noise Ratio considering Rayleigh fading. 65 Error rates under Rayleigh fading(partial graph)BitErrRate 1.2 SymErrRate PktErrRate 1 Error Rates 0.8 0.6 0.4 0.2 0 1.4 2.4 3.4 4.4 5.4 Signal to Noise Ratio 6.4 7.4 8.4 Figure 5.5: Partial Graph of Bit Error, Symbol Error Rate and Packet Error Rate versus Signal to Noise Ratio considering Rayleigh fading indicating the change in Packet Error Rate. 66 PER comparison for AWGN and Rayleigh Fading AWGN 1.2 1 Rayleigh Packet Error Rate 0.8 0.6 0.4 0.2 0 0 2 4 6 Signal to Noise ratio 8 10 Figure 5.6: Packet Error Rate versus Signal to Noise Ratio for AWGN and Rayleigh Fading. 67 Chapter 6 Proposed Link Cost Calculation 6.1 Impact of SNR The link cost/quality calculation could be the based on packet success rate at Zigbee layer. There are experimental results showing packet reception rate used to determine Link quality could be useful predicting wireless network performance [3]. Using packet success rate in the Zigbee layer automatically takes care of all Physical and MAC layer effects. The long term loss rate is a good indicator of not only the Physical layer losses but also the MAC layer contention. 6.2 Link Cost Assignment The proposed Link Cost Calculation scheme is described below Link cost should reflect the reliability of the link, i.e. the probability of successful packet delivery on the link The factors affecting probability of successful packet delivery are PHY layer signal to noise ratio MAC layer congestion leading to collisions and channel access failures 68 The best way to determine link cost is to track the (long term) probability of successful packet delivery (at zigbee layer) on the link. Each time a packet is sent over a link and a failure occurs, the failure is noted. If there have been many failures in transmission over the link, the link is marked with a very high link cost. 6.3 Path Cost Calculation The End-to-end cost of a route should reflect the reliability of the route. Assign Link quality be the probability of successful packet delivery on the link. The route quality should simply be the product of quality values of the constituent links. The route quality is calculated as the product since a product would reflect the weakest link in the path if one exists. Once the path costs are computed, the route with the best quality is chosen for routing. 6.3.1 Paths with same path cost Application of this algorithm could result in multiple routes with the same path cost. In such a situation since only one of the routes has to be chosen. A “tie breaker” could be the hop count. If two routes have the same quality the one with smaller number of hops should be chosen. This will help improve the delay performance. 69 Chapter 7 Conclusion In this thesis, we demonstrate the unsuitability of the RSSI value and the correlation value to determine the link costs in Zigbee routing. We argue that the radio signal to noise ratio cannot be the sole determinant of the routing cost of a link as it is either good enough or not so from the perspective of a receiving IEEE 802.15.4 PHY layer. We suggest that the cost of a link for Zigbee routing purpose be determined based on the observed loss rate at the Zigbee layer for the packets sent on the link. This loss rate automatically takes into account the radio level signal to noise ratio, the PHY level error correction built in IEEE 802.15.4, the MAC level contention for channel access among multiple nodes in each other’s hearing range in a network and MAC level packet retransmissions allowed by IEEE 802.15.4 protocol. Moreover, such loss rates are already being maintained in Zigbee neighbor tables. The exact mechanism to use such loss rates to determine the link costs and then end-to-end route costs is left as work for future. We do note that any end-to-end route cost should be a multiplicative function of the individual link costs, based on success rates on the links, rather than an additive one as suggested in Zigbee specification. Zigbee being an infant protocol has immense scope for development in terms of optimal schemes of implementation of the protocol maintaining efficiency. ZigBee is used extensively for wireless networks with low-cost, low-power solutions. It provides the 70 ability to run for years on inexpensive batteries for a host of monitoring applications. ZigBee technology is well suited to a wide range of energy management and efficiency applications in areas such as building automation, industrial, medical and home automation. This is an indication of the popularity that can be foreseen for Zigbee devices especially owing to the green revolution and the demand for energy management systems. 7.1 Future Work Basic routing is the main focus of this thesis. In order to make the routing highly efficient, a more complex routing scheme could be devised. Some of the topics that could be an extension to this study are how to keep track of link qualities with extra traffic how to keep track of link qualities without extra traffic load balancing and no load balancing [15] dynamic switching to best quality route without explicit route discovery 71 Bibliography [1] “IEEE standard for information technology- telecommunications and information exchange between systems- local and metropolitan area networks- specific requirements part 15.4: Wireless medium access control (MAC) and physical layer (PHY) specifications for low-rate wireless personal area networks (WPANs),” IEEE Std 802.15.4-2006 (Revision of IEEE Std 802.15.4-2003), 2006. [2] Zigbee Alliance, http://www.zigbee.org “Zigbee specification,” Dec. 2006. [Online].Available: [3] S Wahba. K LaForce, J Fisher and J Hallstrom, “An Empirical Evaluation of Embedded Link Quality”, International Conference on Sensor Technologies and Applications,2007. SensorComm 2007, 14-20 Oct. 2007, Page(s):430 – 435 [4] D Sexton, M Mahony, M Lapinsk and J Werb, “Radio Channel Quality in Industrial Wireless Sensor Networks”, Sensors for Industry Conference, 2005, Feb. 2005 Page(s):88 - 94 [5] M Alnuaimi, K Shuaib and I Jawhar, “Performance Evaluation of IEEE 802.15.4 Physical Layer Using MatLab/Simulink”, Innovations in Information Technology, 2006 Nov. 2006 Page(s):1 - 5 [6] T.H Wilson and T.C. Wan, “Performance Evaluation of IEEE 802.15.4 Ad Hoc Wireless Sensor Networks: Simulation Approach”, 2006 IEEE Conference on Systems, Man and Cybernetics October 8-11, 2006, Taipei, Taiwan [7] J. Zheng and M J. Lee, “A comprehensive performance study of IEEE 802.15.4, Sensor Network Operations”, IEEE Press, Wiley Interscience, Chapter 4, pp. 218-237, 2006 [8] A Vedral and J F Wollert, “Analysis of error and time behavior of the IEEE 802.15.4 phy-layer in an industrial environment”, IEEE International Workshop on Factory Communication Systems, 2006, June 27, 2006, Page(s):119 – 124 [9] C Chen and J Ma, ”Simulation Study of AODV Performance over IEEE 802.15.4 MAC in WSN with Mobile Sinks”, 21st International Conference on Advanced Information Networking and Applications Workshops, 2007, AINAW '07, Volume 2, 2123 May 2007, Page(s):159 - 164 72 [10] C. Perkins, E. Belding-Royer and S. Das, “Ad hoc On-Demand Distance Vector (AODV) Routing”, Request for Comments 3561, Internet Engineering Task Force, July 2003. [11] L Kleinrock and F Tobagi,”Packet Switching in Radio Channels: Part I--Carrier Sense Multiple-Access Modes and Their Throughput-Delay Characteristics”, IEEE Transactions on Communications, Volume 23, Issue 12, Dec 1975, Page(s):1400 - 1416 [12] S.Y.Shin, H.S. Park, S Choi and W H Kwon,”Packet Error Rate Analysis of ZigBee under WLAN and Bluetooth Interferences”, IEEE Transactions on Wireless Communications, Volume 6, Issue 8, Page(s):2825 - 2830, August 2007 [13] J Sun, Z Wang, H Wang and X Zhang, “Research on Routing Protocols Based on ZigBee Network”, Third International Conference on Intelligent Information Hiding and Multimedia Signal Processing, 2007. IIHMSP 2007. Volume 1, 26-28 Nov. 2007, Page(s):639 - 642 [14] A. Ordine, F Feuli and G Bianchi, ”Multiple-path layer-2 based routing and load balancing approach for wireless infrastructure mesh networks,” CoNEXT '06: Proceedings of the 2006 ACM CoNEXT conference, December 2006, POSTER SESSION: Poster session 1, Article Number: 39 [15] M Zúñiga, Z Karim Seada, B Krishnamachari and A Helmy, ”Efficient geographic routing over lossy links in wireless sensor networks,” ACM Transactions on Sensor Networks (TOSN), Volume 4 Issue 3, May 2008, Article Number: 12 [16] Simon Haykin, “Digital Communication Systems”, 4th Edition, John Wiley and Sons, 2001 73 Appendix Tables 74 Table 5.1: Variation of Bit Error Rate, Symbol Error Rate and Packet Error Rate with Signal to Noise Ratio considering AWGN SNR -10 -9.9 -9.8 -9.7 -9.6 -9.5 -9.4 -9.3 -9.2 -9.1 -9 -8.9 -8.8 -8.7 -8.6 -8.5 -8.4 -8.3 -8.2 -8.1 -8 -7.9 -7.8 -7.7 -7.6 -7.5 -7.4 -7.3 -7.2 -7.1 -7 -6.9 -6.8 -6.7 -6.6 -6.5 -6.4 -6.3 -6.2 BitErrRate 0.327 0.325 0.324 0.322 0.320 0.318 0.316 0.314 0.312 0.310 0.308 0.306 0.304 0.302 0.300 0.298 0.295 0.293 0.291 0.289 0.287 0.284 0.282 0.280 0.278 0.275 0.273 0.271 0.269 0.266 0.264 0.261 0.259 0.257 0.254 0.252 0.249 0.247 0.244 SymErrRate 0.938 0.935 0.932 0.929 0.926 0.923 0.919 0.916 0.912 0.908 0.904 0.900 0.895 0.891 0.886 0.881 0.876 0.871 0.865 0.859 0.853 0.847 0.840 0.833 0.826 0.819 0.811 0.803 0.795 0.787 0.778 0.769 0.759 0.750 0.740 0.729 0.719 0.708 0.697 PktErrRate 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 75 -6.1 -6 -5.9 -5.8 -5.7 -5.6 -5.5 -5.4 -5.3 -5.2 -5.1 -5 -4.9 -4.8 -4.7 -4.6 -4.5 -4.4 -4.3 -4.2 -4.1 -4 -3.9 -3.8 -3.7 -3.6 -3.5 -3.4 -3.3 -3.2 -3.1 -3 -2.9 -2.8 -2.7 -2.6 -2.5 -2.4 -2.3 -2.2 -2.1 -2 -1.9 -1.8 -1.7 0.242 0.239 0.237 0.234 0.232 0.229 0.226 0.224 0.221 0.219 0.216 0.213 0.211 0.208 0.205 0.202 0.200 0.197 0.194 0.192 0.189 0.186 0.183 0.181 0.178 0.175 0.172 0.170 0.167 0.164 0.161 0.158 0.156 0.153 0.150 0.147 0.144 0.142 0.139 0.136 0.133 0.131 0.128 0.125 0.122 0.685 0.673 0.661 0.649 0.636 0.623 0.609 0.596 0.582 0.568 0.553 0.539 0.524 0.509 0.494 0.479 0.463 0.448 0.432 0.417 0.401 0.385 0.370 0.354 0.339 0.323 0.308 0.293 0.278 0.263 0.249 0.235 0.221 0.208 0.195 0.182 0.170 0.158 0.147 0.136 0.125 0.115 0.106 0.097 0.089 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 76 -1.6 -1.5 -1.4 -1.3 -1.2 -1.1 -1 -0.9 -0.8 -0.7 -0.6 -0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 0.120 0.117 0.114 0.112 0.109 0.106 0.104 0.101 0.099 0.096 0.093 0.091 0.088 0.086 0.083 0.081 0.079 0.076 0.074 0.072 0.069 0.067 0.065 0.063 0.060 0.058 0.056 0.054 0.052 0.050 0.048 0.046 0.045 0.043 0.041 0.039 0.038 0.036 0.034 0.033 0.031 0.030 0.028 0.027 0.025 0.081 0.073 0.066 0.059 0.053 0.048 0.043 0.038 0.033 0.030 0.026 0.023 0.020 0.017 0.015 0.013 0.011 0.009 0.008 0.007 0.006 0.005 0.004 0.003 0.003 0.002 0.002 0.001 0.001 0.001 0.001 0.001 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 0.999 0.997 0.995 0.990 0.981 0.968 0.949 0.922 0.887 0.844 0.792 0.734 0.671 0.604 0.536 0.470 0.406 0.347 0.292 0.244 0.201 0.164 0.132 0.106 0.084 0.066 0.051 0.039 0.030 0.023 0.017 0.013 0.010 0.007 0.005 0.004 0.003 77 2.9 3 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 4 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 5 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 6 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 7 7.1 7.2 7.3 0.024 0.023 0.022 0.020 0.019 0.018 0.017 0.016 0.015 0.014 0.013 0.013 0.012 0.011 0.010 0.009 0.009 0.008 0.008 0.007 0.006 0.006 0.005 0.005 0.005 0.004 0.004 0.004 0.003 0.003 0.003 0.002 0.002 0.002 0.002 0.002 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.002 0.001 0.001 0.001 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 78 7.4 7.5 7.6 7.7 7.8 7.9 8 8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 8.9 9 9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 9.9 10 10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8 10.9 11 11.1 11.2 11.3 11.4 11.5 11.6 11.7 11.8 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 79 11.9 12 12.1 12.2 12.3 12.4 12.5 12.6 12.7 12.8 12.9 13 13.1 13.2 13.3 13.4 13.5 13.6 13.7 13.8 13.9 14 14.1 14.2 14.3 14.4 14.5 14.6 14.7 14.8 14.9 15 15.1 15.2 15.3 15.4 15.5 15.6 15.7 15.8 15.9 16 16.1 16.2 16.3 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 80 16.4 16.5 16.6 16.7 16.8 16.9 17 17.1 17.2 17.3 17.4 17.5 17.6 17.7 17.8 17.9 18 18.1 18.2 18.3 18.4 18.5 18.6 18.7 18.8 18.9 19 19.1 19.2 19.3 19.4 19.5 19.6 19.7 19.8 19.9 20 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 81 Table 5.2: Variation of Bit Error Rate, Symbol Error Rate and Packet Error Rate with Signal to Noise Ratio considering Rayleigh Fading Gamma_o 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 BitErrRate 0.500 0.349 0.296 0.260 0.233 0.211 0.194 0.179 0.167 0.156 0.146 0.138 0.131 0.124 0.118 0.113 0.108 0.103 0.099 0.095 0.092 0.088 0.085 0.083 0.080 0.077 0.075 0.073 0.071 0.069 0.067 0.065 0.064 0.062 0.060 0.059 0.058 0.056 0.055 SymErrRate 1.000 0.963 0.877 0.763 0.642 0.528 0.429 0.346 0.278 0.223 0.179 0.144 0.116 0.094 0.076 0.062 0.051 0.042 0.034 0.028 0.024 0.020 0.017 0.014 0.012 0.010 0.008 0.007 0.006 0.005 0.005 0.004 0.003 0.003 0.003 0.002 0.002 0.002 0.002 PktErrRate 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 0.999 0.997 0.992 0.982 0.965 0.940 0.907 0.866 0.819 0.767 0.712 0.657 0.602 0.548 0.498 0.450 0.406 0.365 0.328 0.294 0.264 82 3.9 4 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 5 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 6 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 7 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 8 8.1 8.2 8.3 0.054 0.053 0.052 0.051 0.050 0.049 0.048 0.047 0.046 0.045 0.044 0.044 0.043 0.042 0.041 0.041 0.040 0.039 0.039 0.038 0.038 0.037 0.037 0.036 0.036 0.035 0.035 0.034 0.034 0.033 0.033 0.032 0.032 0.031 0.031 0.031 0.030 0.030 0.030 0.029 0.029 0.029 0.028 0.028 0.028 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.237 0.212 0.190 0.171 0.153 0.138 0.124 0.111 0.100 0.090 0.082 0.074 0.067 0.060 0.055 0.050 0.045 0.041 0.037 0.034 0.031 0.028 0.026 0.024 0.022 0.020 0.018 0.017 0.015 0.014 0.013 0.012 0.011 0.010 0.009 0.009 0.008 0.008 0.007 0.006 0.006 0.006 0.005 0.005 0.005 83 8.4 8.5 8.6 8.7 8.8 8.9 9 9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 9.9 10 0.027 0.027 0.027 0.026 0.026 0.026 0.026 0.025 0.025 0.025 0.025 0.024 0.024 0.024 0.024 0.023 0.023 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.004 0.004 0.004 0.003 0.003 0.003 0.003 0.003 0.002 0.002 0.002 0.002 0.002 0.002 0.002 0.002 0.001