• No results found

WIRELESS SENSOR NETWORKS, also known as WSNs, are

N/A
N/A
Protected

Academic year: 2021

Share "WIRELESS SENSOR NETWORKS, also known as WSNs, are"

Copied!
8
0
0

Loading.... (view fulltext now)

Full text

(1)

Emote: A Wireless Sensor Network Monitoring Tool With

Node Localization Using RSSI

Nick Verbaendert, David Henderickx and Jeroen Doggen.

Abstract—It is a fact that Wireless Sensor Networks (WSN) have a very promising future to many applications in different areas of deployment. As we all know, many technologies find their roots in military applications. With this in mind we have been developing a test-bed application, called eMote, for monitoring and visualizing a battlefield that is covered by a Wireless Sensor Network, where hurt soldiers can be tracked. This paper describes how we managed to develop this application using the open source project Octopus as a core and Crossbow’s TelosB nodes as devices. We present both our theoretical and practical findings, and in particular the implementation of the localization scheme we have used.

Index Terms—Wireless Sensor Network, WSN, RSSI, localization, TelosB, TinyOS.

F

1 INTRODUCTION

W

IRELESS SENSOR NETWORKS, also known as WSNs, are networks consisting of a large number of small, au-tonomous, low-power nodes, also referred as motes, which are equipped with different types of sensors. These devices are spread around an area or space to cooperatively monitor and/or modify the state of that area. The nodes are most likely to be left without human supervision, so we can call this network a standalone network.

Sensor nodes have many limitations regarding computa-tional power, but actually their only task is to report their sensing values to a single base station or sink node which is, in most cases, connected to a PC or notebook with a lot of computational resources. This way we can put the intelligence into the software application.

In the beginning, the need for Wireless Sensor Networks was motivated by military applications such as battlefield surveillance. These days, however, wireless sensor networks are more commonly used in civilian application areas such as environmental monitoring [1], disaster relief [2], home au-tomation [3] or health care [4]. The ultimate vision for wireless sensor networks can be found in the concept of “smart dust” (Kahn, Kats, Pister, 1999): sensor nodes shall become so small and cheap that they can be embedded almost everywhere and could make our environment intelligent. [5]

In figure 1 a typical mesh network consisting of wireless sensor nodes, routing nodes and a base station is shown whereas figure 2 shows us the basic architecture of a sensor node.

In this paper we discuss our master thesis. Namely, we discuss how we developed an application that is able to monitor the environment, visualize the sensor network and localize so-called “blind nodes”. The devices we have used are the TelosB nodes from Crossbow Technology [6].

The paper is structured as follows. In Section 2 we define our goals for our master thesis. Section 3 describes our case study more thoroughly. In section 4 we present an overview of the application and the technologies we have used. We devote a new section, section 5, to the implementation and realization of

• Nick Verbaendert, David Henderickx and Jeroen Doggen (promotor) are with the University College of Antwerp, Paardenmarkt 92, 2000 Antwerp, Belgium

E-mail: see http://www.e-lab.be

the localization mechanism. In section 6 we discuss our results. and, finally, section 7 concludes our paper and we describe some future challenges.

Fig. 1. A typical mesh network

Fig. 2. Basic architecture of a sensor node

2 GOALS

The goal for this project is to create a Wireless Sensor Network with node localization using Received Signal Strength. We divide this goal into subdivisions.

• Deploy a wireless sensor network.

• Let anchor nodes cooperate with the blind nodes using a

good routing protocol.

• Choose a good and reliable localization method.

• Visualizing events: when a sensor threshold is reached, an

(2)

Create an all-in application which is able to visualize,

monitor and control this type of sensor network.

3 CASE

This project was built around a hypothetical case. We started from the idea that this sensor network had to be used on a battlefield where soldiers would infiltrate a certain area. Beforehand, a helicopter drops anchor nodes on the, soon to become, battlefield and gets their coordinates. Every soldier has a sensor node on him, which is connected to his body. This sensor node monitors the soldier’s health situation. It reads his body temperature, pulse rate, blood pressure or even the amount of adrenaline that is released in his blood. When a soldier is wounded a certain threshold of these sensor values will be reached and the node will signal this event to the base-camp. Because one can monitor the movement of the soldier and values of the sensors using the application, a medic (or even a robot with a medical kit) can be sent directly to the soldier. This will increase the safety of the soldiers and medics as well as the efficiency of the infiltration.

4 APPLICATIONOVERVIEW

4.1 Hardware

For our sensor network, we made use of TelosB nodes (see figure 3) to create a tree network. Crossbow Technology man-ufactured this open-source platform for academic and exper-imental use. These nodes are IEEE 802.15.4 compliant and have a TI MSP430 microcontroller. There is an USB interface, a 2.4GHz radio (the industrial, scientific and medical (ISM) band [7]), onboard antenna and sensors. It is possible to connect the nodes with the FCC/ARIB certified MICAz motes from Crossbow Technology in case of further development. TPR2400 is an uncertified radio platform, intended for research and lab studies. TPR2400 is fully compatible with UC Berkeley’s open-source TinyOS [8] distribution.

Fig. 3. TelosB mote

4.2 Software

4.2.1 TinyOS

TinyOS is a component-based operating system for wireless sensor networks. Component-based means that TinyOS appli-cations are built with software components written in nesC. NesC is an extension to the C programming language designed to embody the structuring concepts and execution model of TinyOS [9].It is optimized for the memory limitations of sensor networks. The software components are connected with each other by using interfaces.

4.2.2 Octopus

Our application is built onto an existing open-source appli-cation named Octopus [10]. This appliappli-cation already has the ability to visualize a sensor network in a random matter. This means that the sensor nodes are displayed onscreen in random fashion. The motes are programmed so that they send messages using the CTP protocol [11] of TinyOS and are able to receive requests from the application. Using this as a base for our implementation was a very good choice.

4.2.3 Emote

The overall goal of the application is to alert the user when a certain threshold is reached and specifically locate and visual-ize this event. As an analogy to our case: when a soldier turns on his sensor node, the onboard sensors will monitor his health condition. When a soldier is hit, his sensor will measure a value which is above or below a given threshold and there will be an event visualized by the user interface. At the base camp a user can monitor the location and situation of the soldier and send a medic immediately to the location of the wounded soldier.

Thus, what is our application able to do? In the first place, it is designed tomonitorthe deployed sensor network, partic-ularly, monitoring thesensor valuesreceived from the motes. TelosB motes have the possibility to mount 2 sensors on it. We can measure temperature and humidity (these are measured by the same sensor), light intensity and the remaining battery level. To obtain these sensor values we will have to address the sensors one by one. The sensors used by TelosB nodes for temperature, humidity and light intensity are respectively the Sensirion Sht11 and the Hamamatsu S1087. How this is done in nesC is irrelevant for this paper, so we won’t go into this any further. All these values are sent to the base station, which is connected to a PC or laptop that runs the application. In figure 4 a screenshot is shown of the panel where all the incoming data is represented in a table.

Fig. 4. eMote: Monitoring the sensor values

eMote, completely written in Java, reads the sensor values and saves them in a MySQL database. We have chosen for this type of database because it is fairly easy to execute SQL commands in Java and we can use this database for the development of a web based monitoring system, e.g. in PHP.

Of course, an application that processes data received from external devices needs to have a built-in graphing function. The authors of Octopus have this feature already implemented but it is only able to plot some demo values. That is why, as you can see in figure 5, we added some extra features and now

(3)

the application shows us real-time graphs of all the values we receive through the base station.

Fig. 5. eMote: Real-time graphs of the sensor readings Events are triggered when a sensor value of a specific mote reaches its threshold. eMote has a feature that can set a threshold for each sensor value for each mote. Thus, it is possible to signal a threshold reach to the user.

Because we need to be able tolocatea blind node we have to receive some kind of value that is related to distance. That is why we use the Received Signal Strength Indicator function of the CC2420 radio where the TelosB nodes are equipped with. Since these values are very sensitive to environmental noise we have implemented some sort of calibration process in our application. This topic, together with localization of a node, is described in section 5.

To make our application usable for every kind of area, we have implemented a map import function. With this feature, one can import a specific map of an area and set the scale in real-time by drawing a line on the map and define the desired distance for this line. This can be very effective in combination with the calibration function.

4.3 Network And Protocols

In wireless networks there are different kind of network topologies one can use. Figure 6 shows us three widely used topologies.

Mesh

In a mesh network, each node is able to send its data through the network by simply using multiple hops. Hence the name “multihop” network. When one node fails, the routing is done by another node which is in the sending node’s neighbourhood.

Star

In a star network all nodes are connected with a central node. When the central node is down, the network is down.

Tree

In a tree network, the nodes are placed in an hierar-chical order. The top level node is connected to one or more nodes of one lower level. Depending on which node is down, the network is down, or just partially. In the setup for this case we use anchor nodes, blind nodes and a base station. Every blind node is connected in a star network to the anchor nodes. The blind node is connected to the base station, forming a tree network. We choose for this

Fig. 6. Network Topology

setup so we can calculate the position of the blind node in respect to the anchor nodes.

Because of this we had to reprogram Octopus’ code for the motes. There had to be a difference between an anchor node and a blind node. The anchor nodes send their packets, including their Received Signal Strength Indicator (RSSI), to the blind node and the blind node on his part has to forward the anchors’ messages as well as sending its own RSSI values and sensor readings to the base station.

In TinyOS there is a protocol called Collection Tree Protocol (CTP). CTP is a tree-based collection protocol. A number of nodes in a network indentify themselves as tree roots. Nodes form a set of routing trees to these roots. CTP is address-free, this means that a node does not send a packet to a particular root, instead, it chooses a root by choosing a next hop. Nodes generate routes to roots using a routing gradient.

By simply combining this protocol, used on the blind node, with anchors sending regular AM packets to the blind node, we are able to create a tree topology where we can choose the tree-roots ourselves, in this case the blind node.

Eventually, the ultimate goal, in which we didn’t manage to succeed, is to create a network where there can be an unlimited number of blind and anchor nodes working in a cooperative way without the need for hard coding the anchor nodes to send its data to the blind node.

5 LOCALIZATION

5.1 Techniques

Since we use a number of nodes to create a sensor network for monitoring an environment, it is important to know which data is received from which node, but it is also important to know where this node is located in an environment. This tendency is becoming a very popular and demanding feature as this greatly improves the quality of service. To estimate the location of a “blind node” we need their coordinates. There are three commonly used techniques to determine the location of a node in a wireless network:

Triangulation

A large number of localization algorithms fall into this category. In simple terms, the triangulation method involves gathering Angle of Arrival (AoA) measure-ments at the sensor node from at least three sources. Then using the AoA references, simple geometric relationships and properties are applied to compute the location of the sensor node. [12]

Attenuation or RSS

The distance to an anchor node is measured by the re-ceived signal strength (RSS) that the other node emits. In this case we need three anchor nodes to determine the location of a blind node. Now, trilateration can be used to calculate the location.

(4)

Propagation or TDOA

A node sends a packet to another node. This packet consists of a time stamp on which it was sent. The receiving node deducts the timestamp with the time when it received the packet.

5.2 Attenuation

The method we have opted for is attenuation or the Re-ceived Signal Strength (RSS) method. This technique does not require any additional hardware or software and it can be easily implemented in the TelosB motes by using the CC2420 Received Signal Strength Indicator (RSSI) function. Received Signal Strength Indication is an indication of the power in a received radio signal. TelosB motes make use of the CC2420 radio controller and with every package it sends, there is the possibility to send an RSS measurement with it. By simply using at least three nodes as anchors, we can determine the location of a fourth blind (unknown) node. We send the RSS values of the anchor nodes, in respect to the blind node, to the base station via the blind node and the base station in turn sends these values to a PC or laptop. Now we can use the RSS values in a formula (1) [13] that computes the distance related to the RSS value. Figure 7 shows us a typical way of estimating the location of a node. Once we have the desired distances, it is fairly simple to calculate a certain location.

A=−2∗    (x1−xn) (y1−yn) (z1−zn) (x2−xn) (y2−yn) (z2−zn) ... ... ... (xn−1−xn) (yn−1−yn) (zn−1−zn)    b=    r12−r2n−x21+x2n−y21+yn2−z12+zn2 r2 2−r2n−x22+x2n−y22+yn2−z22+zn2 ... r2 n−1−r2n−x2n−1+x2n−yn2−1+yn2−zn2−1+z2n    u= " u x uy uz # u= (A0A)−1∗A0b (1)

xi, yi and zi are the three-dimensional coordinates of the

ith reference point. ux, uy anduz are the coordinates of the

unknown node. ri is the RSSI value between the unknown

node and theithreference node.

Fig. 7. Localization with RSSI and trilateration

5.3 Location Estimation

Because we are estimating distances, we could use lateration to calculate the position like it is shown in figure 7. But this method comes along with some practical problems. RSS is very sensitive to measurement errors. It would be practical impos-sible to obtain just one intersection point like we presented in figure 7. That is why we will use another technique called “bounding boxes” [14]. Instead of using a circle to show the RSS value of an anchor node, we use squares with the same length and width as the diameter of the circles. When three squares overlap, we get a fourth square, a bounding box. In this bounding box the blind node is positioned. We set the node’s position exactly in the middle of this box. In an ideal situation, one should get the exact same result as presented in figure 7. In figure 8 we illustrate the bounding box method.

Fig. 8. Estimating position with the bounding box method

5.4 Computing Distance with RSSI

Before we can apply the bounding box technique we need to convert RSS values to actual distances. This section explains how this is done. An electromagnetic signal is attenuated when it travels through air. As RSSI is a measurement of this signal strength, it decreases when the blind node is placed further away from an anchor node.

The relationship is given by formula (2) [15].

RSS(d) = Π0−10γlog d ∆0 [dBm] (2) With: Π0[dBm] : The RSS at distance∆0

γ : The path loss exponent ∆0[m] : A distance

For our network we rearrange this formula to [16]

RSS(d) =A−10nlog d

1m[dBm] (3)

With:

A[dBm]: RSS at distance 1m.

You can take multiple measurements at one meter around a node and take the average to get the best result.

n: the path loss exponent. By rearranging the formula you can calculate:

n= (A−RSS)

(5)

Since we know the RSS value and A, we can calculate n for each distance.

5.5 Noise and RSSI

In an ideal world the signal strength would decrease linearly, but in a real environment the signal strength is influenced due to fading. Fading is caused by multipath and propagation. Objects cause the multiple paths for a signal to reflect or diffract. The receiver detects multiple copies of a same signal with another phase shift, delay or attenuation. This causes an interference that results in the amplification or attenuation of the signal strength.

Slow fading

The strength of the signal is changed very slowly in function of the signal delay. It can be caused due to shadowing. That is, there is signal strength loss because of things that are in the path between the transmitter and receiver. You can think of walls, desks, people, etc.

Fast fading

The amplitude and phase of the signal changes rapidly in function of the signal delay.

Deep fading

Strong destructive interference is frequently referred to as a deep fade and may result in temporary failure of communication due to a severe drop in the chan-nel’s signal-to-noise ratio.

5.6 Calibration

Like we mentioned in the application overview, eMote has a calibration feature. Constants A and n can be calibrated with this feature for any environment and any deployment, and the noise will be filtered out. We calibrate with a median filter to get the best results. A median filter is a non-linear digital filter that rearranges the received signal strength values from the lowest value to the highest and then takes the value in the middle of the array as the end result.

Fig. 9. eMote: Calibrating A

5.6.1 Calibrating A

When calibrating A, one should only use two nodes and place them 1 meter from each other. The next step is to perform a number of measurements at 1 meter distance from the fixed node. Then the average of these measurements can be used for A. In figure 9, a screenshot is shown illustrating the calibration of A.

5.6.2 Calibrating n

Using formula (4), n can be found. Thus, n can be calculated for each distance since we know the according signal strength and A. Again, one can use the average of these results as the value for n (see figure 10).

Fig. 10. eMote: Calibrating N

6 RESULTS

6.1 Antenna Limitations

TelosB motes can have 2 types of antennas [17]. The first type is an internal antenna. It is a Planar Inverted Folded Antenna (PIFA), this type of antenna is mostly used in cell phones. The second one is an external SMA (SubMiniature version A) connector, which is a coaxial RF connector. In our experiments we used the internal antenna. Since the received signal strength was not the same in every direction we can conclude that the radiation of the antenna is not homogenous. In figure 11 the results are shown of the measurements when we rotated one node around its axis in respect to another node.

Fig. 11. RSSI values for the rotation of one node in respect to another node at a distance of 1 meter.

6.2 Received Signal Strength Versus Environment

Since radio waves are extremely sensitive to all kinds of factors, especially reflection, we did some experiments in different environments. First we did some tests on grass (roughly 5 cm in height), then we did the same tests on a concrete surface and a last test 40 cm above ground level. The goal of this experiment was to see how much RSS values would differ from each other

(6)

Fig. 12. RSSI values for 1 to 10 meters on grass, a concrete surface and 40 cm above surface.

in these kind of situations. In figure 12 we show you a graph with our results.

As you can see, the results from the last experiment, holding the motes 40 cm above ground level, differ a lot from the other two. We can conclude that this is related to reflection because in the first two experiments, the radio waves reflect on the grass and the ground itself. In [18] also tests on this subject were done. The tests showed that there was a significant difference in RSS measurements on a field of grass 6 cm in height and a field of grass 20 cm in height. Although, we had expected more variance in the results with grass, this was not the case.

6.3 Received Signal Strength Versus RF Power

In TinyOS it is possible to set the RF power level of a mote. This is easily done by setting the variable CC2420 DEF RFPOWER in TinyOS to a desired value. Ranging from 0 to 31, we only tested power levels 11, 21 and 31 to see what influences they had on the received signal strength. In figure 13 we compare these results in a graph.

Fig. 13. RSSI values for 1 to 10 meters on a concrete surface for different power levels

As expected, the lower the RF power the lower the received signal strength. One would think that setting the RF power level always to the maximum is the best solution, but this is not always the case. Setting this value has influence on the battery life. Thus, if one has deployed a multihop network for example, one can set this value much lower than the maximum, increasing your network lifetime.

6.4 Real-time Localization In eMote

The most difficult task was to develop a feature that could visualize the movement of a node in the network. We explained the bounding box method in the previous section. In figure 14 a screenshot is shown of eMote’s localization feature. As you can see, a test map is loaded into the background and all the nodes (base station, anchor nodes and blind node) are visualized.

Fig. 14. eMote: Localization of the blind node

7 CONCLUSIONS ANDFUTUREWORK

We can conclude that using RSSI for locating a blind node is very unreliable. RSSI has too many delimiting factors such as environment, temperature, remaining battery or even the way one places nodes at each other. All of these factors cause errors one by one and thus incorrect distance calculations. We did manage to get some decent results by implementing a calibration system, a median filter, and a scaling function but still, errors occur and an exact localization system cannot be built by using RSSI. However, in our case these errors are not really a problem. If a soldier is hit, it is not of great importance that he is located with an error range of just 30 cm, even an error of 3 meters is sufficient to locate this person. Our future work consists in improving scalability of the network, a real time calibration system that constantly re-calibrates the anchor nodes and a more precise localization system. Also, we are planning to implement a web-based interface to the network. Because of the fact that all the values are saved in a MySQL database we can easily monitor the network through a PHP-based website, for example. Another challenge is to develop a mobile implementation for a PDA or cell phone. We think that the new SDK for Apple’s iPhone is a perfect platform to develop these kinds of applications.

REFERENCES

[1] R. Cardell-Oliver, K. Smettem, M. Kranz, and K. Mayer, “Field testing a wireless sensor network for reactive environmental monitoring [soil moisture measurement],” Intelligent Sensors, Sensor Networks and Information Processing Conference, 2004. Proceedings of the 2004, pp. 7–12, Dec. 2004. [Online]. Available: http://ieeexplore.ieee.org/xpl/freeabs all. jsp?arnumber=1417429

[2] G. Werner-Allen, J. Johnson, M. Ruiz, J. Lees, and M. Welsh, “Monitoring volcanic eruptions with a wireless sensor network,” Wireless Sensor Networks, 2005. Proceedings of the Second European Workshop on, pp. 108–120, Jan.-2 Feb. 2005. [Online]. Available: http://ieeexplore.ieee.org/xpl/freeabs all. jsp?arnumber=1462003

[3] D. Gurganious, M. Hatlerand, and M. Ritter, “Wsn for smart homes,” ON World Inc., Tech. Rep., Feb. 2008.

(7)

[4] C. R. Baker, K. Armijo, S. Belka, M. Benhabib, V. Bhargava, N. Burkhart, A. D. Minassians, G. Dervisoglu, L. Gutnik, M. B. Haick, C. Ho, M. Koplow, J. Mangold, S. Robinson, M. Rosa, M. Schwartz, C. Sims, H. Stoffregen, A. Waterbury, E. S. Leland, T. Pering, and P. K. Wright, “Wireless sensor networks for home health care,” Advanced Information Networking and Applications Workshops, 2007, AINAW ’07. 21st International Conference on, vol. 2, pp. 832–837, May 2007.

[5] A. Willig, “Wireless sensor networks: concept, challenges and approaches,”Elektrotechnik & Informationstechnik, vol. 20, p. 224, 2006.

[6] http://www.xbow.com/Products/productdetails.aspx?sid=252. [7] A. S. Tanenbaum,Computer networks. Pearson Education Benelux,

2003.

[8] http://www.tinyos.net.

[9] D. Gay, P. Levis, D. Culler, and E. Brewer, nesC 1.1 Language Reference Manual, May 2003.

[10] http://csserver.ucd.ie/ rjurdak/Octopus.htm.

[11] http://www.tinyos.net/tinyos 2.x/doc/html/tep123.html. [12] A. Srinivasan and J. Wu,A Survey on Secure Localization in Wireless

Sensor Networks. Auerbach Publishers Inc., 2008, p. 6.

[13] C. Savarese, “Robust positioning algorithms for distributed ad-hoc wireless sensor networks,” Ph.D. dissertation, Department of Electrical Engineering and Computer Sciences, University of California at Berkeleys, 2007.

[14] R. Severino and M. Alves, “Engineering a search and rescue application with a wireless sensor network - based localization mechanism,”World of Wireless, Mobile and Multimedia Networks, 2007. WoWMoM 2007., pp. 1–4, June 2007.

[15] N. Patwari, “Location estimation in sensor networks,” Ph.D. dissertation, The University of Michigan, 2005.

[16] G. Ottoy, A. Van Nieuwenhuyse, J.-P. Goemaere, and L. De Strycker, “Indoor localisation techniques: Comparison between the use of rss and toa,” Ph.D. dissertation, KaHo Sint Lieven Department Industrieel Ingenieur, 2007.

[17] R. Polastre, J. Szewczyk and D. Culler, “Telos: Enabling ultra-low power wireless research,” Information Processing in Sensor Networks, 2005. IPSN 2005., pp. 364–369, Apr. 2005. [Online]. Available: http://ieeexplore.ieee.org/xpl/freeabs all. jsp?arnumber=1440950

[18] K. Whitehouse, C. Karlof, and D. Culler, “A practical evaluation of radio signal strength for ranging-based localization,”SIGMOBILE Mob. Comput. Commun. Rev., vol. 11, no. 1, pp. 41–52, 2007.

Student 1Nick Verbaendert is currently work-ing on his Master Thesis after graduatwork-ing as Bachelor in Applied Engineering: electronics-ict in 2007 at the University College of Antwerp.

Student 2David Henderickx is currently work-ing on his Master Thesis after graduatwork-ing as Bachelor in Applied Engineering: electronics-ict in 2007 at the University College of Antwerp.

(8)

Figure

Fig. 2. Basic architecture of a sensor node
Fig. 3. TelosB mote
Fig. 6. Network Topology
Fig. 8. Estimating position with the bounding box method
+3

References

Related documents

trans -regulatory variation affects standing levels of gene expression: To examine the effects of trans - regulatory variation on transcript abundance, we used pyrosequencing to

Jika diakumulasikan konsumsi ubikayu dalam rumah tangga per tahun dengan jumlah penduduk 249,9 juta penduduk, maka kemungkinan total ubikayu yang dikonsumsi sebagai

The trial will compare rituximab 1 g given intravenously, twice at an interval of 2 weeks, with intravenously administered cyclophosphamide given monthly at a dose of 600 mg/m 2

TITLE: Sedative effects of intramuscular alfaxalone in pet guinea pigs (Cavia porcellus)2. AUTHORS: Dario d’Ovidio, Francesco Marino, Emilio Noviello, Enrico Lanaro, Paolo Monticelli,

Dostupné zdroje umožňují shrnout, že navzdory tomu, že developerský trh v dlouhodobém měřít- ku vykazuje v České republice výrazný růst (tento trh nemá v ČR dlouhou historii),

5hmC: 5-hydroxymethylcytosine; 5mC: 5-methylcytosine; AID: Activation- induced deaminase; Tet: Ten-11 translocation; hpi: Hours post infection; ED: Embryonic day; IBDV:

These strategies may be useful for other developing countries in planning their health systems and postgraduate training programs to reduce the emigration of medical