<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xml:lang="en" article-type="research-article">
<front>
<journal-meta>
<journal-id journal-id-type="nlm-ta">Sensors</journal-id>
<journal-title>Sensors</journal-title>
<issn pub-type="epub">1424-8220</issn>
<publisher>
<publisher-name>Molecular Diversity Preservation International (MDPI)</publisher-name></publisher></journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.3390/s110302875</article-id>
<article-id pub-id-type="publisher-id">sensors-11-02875</article-id>
<article-categories>
<subj-group>
<subject>Article</subject></subj-group></article-categories>
<title-group>
<article-title>Multi-Hop Routing-Based Optimization of the Number of Cluster-Heads in Wireless Sensor Networks</article-title></title-group>
<contrib-group>
<contrib contrib-type="author">
<name><surname>Nam</surname><given-names>Choon Sung</given-names></name></contrib>
<contrib contrib-type="author">
<name><surname>Han</surname><given-names>Young Shin</given-names></name></contrib>
<contrib contrib-type="author">
<name><surname>Shin</surname><given-names>Dong Ryeol</given-names></name><xref ref-type="corresp" rid="c1-sensors-11-02875">*</xref></contrib>
<aff id="af1-sensors-11-02875">School of Information and Communication Engineering, Sungkyunkwan University, Suwon 440-774, Korea; E-Mails: <email>namgun99@skku.edu</email> (C.S.N.); <email>yshan95@ewhain.net</email> (Y.S.H.)</aff></contrib-group>
<author-notes>
<corresp id="c1-sensors-11-02875">
<label>*</label> Author to whom correspondence should be addressed; E-Mail: <email>drshin@skku.edu</email>; Tel.: +82-31-290-7232; Fax: +82-31-290-7239.</corresp></author-notes>
<pub-date pub-type="collection">
<year>2011</year></pub-date>
<pub-date pub-type="epub">
<day>3</day>
<month>3</month>
<year>2011</year></pub-date>
<volume>11</volume>
<issue>3</issue>
<fpage>2875</fpage>
<lpage>2884</lpage>
<history>
<date date-type="received">
<day>21</day>
<month>1</month>
<year>2011</year></date>
<date date-type="rev-recd">
<day>16</day>
<month>2</month>
<year>2011</year></date>
<date date-type="accepted">
<day>28</day>
<month>2</month>
<year>2011</year></date></history>
<permissions>
<copyright-statement>© 2011 by the authors; licensee MDPI, Basel, Switzerland.</copyright-statement>
<copyright-year>2011</copyright-year>
<license>
<p>This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution license (http://creativecommons.org/licenses/by/3.0/).</p></license></permissions>
<abstract>
<p>Wireless sensor networks require energy-efficient data transmission because the sensor nodes have limited power. A cluster-based routing method is more energy-efficient than a flat routing method as it can only send specific data for user requirements and aggregate similar data by dividing a network into a local cluster. However, previous clustering algorithms have some problems in that the transmission radius of sensor nodes is not realistic and multi-hop based communication is not used both inside and outside local clusters. As energy consumption based on clustering is dependent on the number of clusters, we need to know how many clusters are best. Thus, we propose an optimal number of cluster-heads based on multi-hop routing in wireless sensor networks. We observe that a local cluster made by a cluster-head influences the energy consumption of sensor nodes. We determined an equation for the number of packets to send and relay, and calculated the energy consumption of sensor networks using it. Through the process of calculating the energy consumption, we can obtain the optimal number of cluster-heads in wireless sensor networks.</p></abstract>
<kwd-group>
<kwd>sensor networks</kwd>
<kwd>clustering method</kwd>
<kwd>multi-hop routing</kwd>
<kwd>optimal cluster-heads</kwd></kwd-group></article-meta></front>
<body>
<sec sec-type="intro">
<label>1.</label>
<title>Introduction</title>
<p>Wireless sensor networks (WSNs) are organized by wireless nodes for monitoring the existing conditions in a specific area. Sensor nodes consists of three basic devices: a sensor that observes changes in the surroundings, a processor that handles the sensing data, and a wireless transmitter/receiver set that sends processed data to a base station (BS) that collects, analyzes and sends the sensing data to an external network [<xref ref-type="bibr" rid="b1-sensors-11-02875">1</xref>]. Generally, the energy efficiency of sensor nodes is one of the most critical issues for sensor networks due to their restricted energy resources and communication range. Additionally, it is difficult to replace or recharge their batteries. Therefore, in order to reduce the energy consumption of sensor nodes, sensor networks must use energy efficiently, as well as use some scalable clustering technique as a method for organizing the networks. A clustering method is a way to divide networks into local clusters which must consider load balancing and energy distribution of sensor nodes in order to prolong network lifetime. Sensor nodes should, using clustering methods, use many-to-one communication for transmitting the sensing data to the cluster-heads or base station and adopt multi-hop communication for packet relay contrary to existing work [<xref ref-type="bibr" rid="b2-sensors-11-02875">2</xref>], since nodes with a restricted communication radius cannot directly communicate with nodes outside this radius [<xref ref-type="bibr" rid="b3-sensors-11-02875">3</xref>].</p>
<p>The cluster-head is in charge of transmitting sensing data from its own local cluster, as well as collecting and compressing multiple data before sending them to a sink node. They consume more energy than other sensor nodes as a result of these additional tasks. Therefore, it is desirable that all sensor nodes should take on the role of a cluster-head, equally and randomly. Based on the number of cluster-heads, the size of a local cluster may change. It is important to construct adaptive clusters because the number of cluster-heads has an effect on the energy consumption of the cluster-head and the sending of member nodes’ data. As more cluster-heads become available and the smaller the size of a local cluster, the smaller the amount of packets required to be sent will be. With additional cluster-heads, however, there is an increase in the number of packets needed for cluster-heads to communicate to a sink or base station, therefore increasing the energy consumption as a result of clustering. In this paper, we determine the energy variation rate of whole sensor networks based on the energy consumption of a local cluster (intra-cluster) and between local clusters (inter-cluster) using equations. Further, based on this result, we propose an optimal number of cluster-heads in wireless sensor networks based on multi-hop routing.</p></sec>
<sec>
<label>2.</label>
<title>Related Works</title>
<p>A typical application that sensor node networks support is the monitoring of some remote environment. Since individual nodes’ data in a sensor network are often correlated, the end user does not require all the redundant data, but rather some high-level fraction of the data that accurately describes the events occurring in the environment. To achieve this, LEACH [<xref ref-type="bibr" rid="b4-sensors-11-02875">4</xref>] allows all data from nodes within the cluster to be processed locally, reducing the data set that needs to be transmitted to the end user. For the development of LEACH, there are some assumptions about the sensor nodes and the underlying network model. For sensor nodes, all nodes can transmit with enough power to reach the BS if needed, that the nodes can use power control to vary the amount of transmission power, and that each node has the computational power to support different MAC protocols and perform signal processing functions. For the network, nodes can always have data to send to the end user and nodes located close to each other have correlated data. In the LEACH algorithm, the sensor nodes belong to each local cluster. All member nodes send sensing data to their own cluster head (CH), and the CHs send the aggregated data to the sink node after collecting sensing data from their own member nodes and processing them. In LEACH, the transmission method of nodes is based on single-hop communication. That means that the transmission method between the CH and member nodes of the intra-cluster and between the CHs and a sink node is single-hop communication. This communication method has been used in many clustering algorithms for WSNs. In LCA [<xref ref-type="bibr" rid="b5-sensors-11-02875">5</xref>,<xref ref-type="bibr" rid="b6-sensors-11-02875">6</xref>] and adaptive clustering [<xref ref-type="bibr" rid="b7-sensors-11-02875">7</xref>], the CH can directly connect to all nodes in its cluster like LEACH. CLUBS [<xref ref-type="bibr" rid="b8-sensors-11-02875">8</xref>] forms the clusters with a maximum of two hops, regardless of network size. Besides, the other clustering methods which are revised and extended versions of LEACH such as LEACH-C [<xref ref-type="bibr" rid="b4-sensors-11-02875">4</xref>], HEED [<xref ref-type="bibr" rid="b9-sensors-11-02875">9</xref>], EAP [<xref ref-type="bibr" rid="b10-sensors-11-02875">10</xref>] focus on cluster head selection for energy efficiency. The communication range of sensor nodes is based on IEEE 802.15.4 (LR-WPAN) which is one of the transmission standards for WSNs. IEEE 802.15.4 typically extends up to 10 m in all directions [<xref ref-type="bibr" rid="b11-sensors-11-02875">11</xref>]. However, the above clustering algorithms did not adopt realistic communication radius and multi-hop communication method in intra- and inter-clusters [<xref ref-type="bibr" rid="b12-sensors-11-02875">12</xref>]. After constructing clusters, the CHs in local clusters have the authority to operate data transmission during a communication between member nodes. As a local cluster size and the distance between a CH and a sink might be bigger than the restricted radius, any communication should be based on a multi-hop method and is thus affected by the number of cluster heads. That means that if the CHs are increased, the distance between a CH and member nodes is decreased in intra-clusters and the distance between a CH and a sink is increased in inter-clusters. To increase the distance is the same as increasing the number of required relay packets, so we need to know the optimal number of clusters for energy-efficient communication.</p></sec>
<sec>
<label>3.</label>
<title>Optimal Number of Cluster-Heads</title>
<p>This paper is based on the following assumptions: all sensor nodes can communicate with other nodes in a possible communication radius, R [<xref ref-type="bibr" rid="b13-sensors-11-02875">13</xref>]. The state of communication can be divided into intra-cluster communication and inter-cluster communication by the role of cluster-heads. Intra-cluster communication is the state of sending a member node’s sensing data to a cluster-head and assumes that a cluster-head sets up their time division multiple access TDMA schedule to allow sufficient time for transmission. Therefore, member nodes can generate and send data by scheduling. Inter-cluster communication is the state of sending data to sink by cluster heads using the TDMA scheduler. The cluster-heads are equally and randomly selected at a constant rate. All sensor nodes use the multi-hop communication method for relay packets because some of the nodes cannot communicate to the sink directly.</p>
<sec>
<label>3.1.</label>
<title>Radio Model for Energy Consumption</title>
<p>The radio model for a sensor node’s energy consumption assumes that all of the nodes maintain a minimum level of successful communication. There are different energy calculations between transmitting and receiving data. Generally, a radio model defines the energy consumption of a transmitter-receiver as <italic>E<sub>elec</sub> J/bit</italic>, and the energy consumption of a transmitter amplifier by a signal to noise ratio as <italic>E<sub>amp</sub> J/bit</italic>. Therefore, the following equation is required for sending a <italic>k</italic> (bit) message to a node with a distance of <italic>d</italic> (meters) [<xref ref-type="bibr" rid="b4-sensors-11-02875">4</xref>]:
<disp-formula id="FD1">
<label>(1)</label>
<mml:math display="block">
<mml:mrow>
<mml:msub>
<mml:mi>E</mml:mi>
<mml:mi mathvariant="italic">Tx</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>d</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mi>E</mml:mi>
<mml:mi mathvariant="italic">elec</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi mathvariant="italic">kE</mml:mi>
<mml:mi mathvariant="italic">amp</mml:mi></mml:msub>
<mml:msup>
<mml:mi>d</mml:mi>
<mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:math></disp-formula></p>
<p><xref ref-type="disp-formula" rid="FD1">Equation (1)</xref>, <italic>E<sub>Tx</sub></italic>, is the transmitting energy of a radio beam:
<disp-formula id="FD2">
<label>(2)</label>
<mml:math display="block">
<mml:mrow>
<mml:msub>
<mml:mi>E</mml:mi>
<mml:mi mathvariant="italic">Rx</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>d</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi mathvariant="italic">kE</mml:mi>
<mml:mi mathvariant="italic">elec</mml:mi></mml:msub></mml:mrow></mml:math></disp-formula></p>
<p>In <xref ref-type="disp-formula" rid="FD2">Equation (2)</xref>, <italic>E<sub>R</sub></italic>, is the receiving energy of a radio beam. We set up a distance d to R for multi-hop based clustering as seen in the following energy equations:
<disp-formula id="FD3">
<label>(3)</label>
<mml:math display="block">
<mml:mrow>
<mml:msub>
<mml:mi>E</mml:mi>
<mml:mi mathvariant="italic">Rx</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>R</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi mathvariant="italic">kE</mml:mi>
<mml:mi mathvariant="italic">elec</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mi>l</mml:mi></mml:mrow></mml:math></disp-formula>
<disp-formula id="FD4">
<label>(4)</label>
<mml:math display="block">
<mml:mrow>
<mml:msub>
<mml:mi>E</mml:mi>
<mml:mi mathvariant="italic">Tx</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>R</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mi>E</mml:mi>
<mml:mi mathvariant="italic">elec</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi mathvariant="italic">kE</mml:mi>
<mml:mi mathvariant="italic">amp</mml:mi></mml:msub>
<mml:msup>
<mml:mi>R</mml:mi>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>=</mml:mo>
<mml:mi>l</mml:mi>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>μ</mml:mi>
<mml:mi>R</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:math></disp-formula></p></sec>
<sec>
<label>3.2.</label>
<title>Calculation for Clustering</title>
<p>The clustering energy consumption of sensor networks is divided into two categories: intra energy generated in a local cluster and inter energy generated when a cluster-head sends the aggregated data to a sink. In each category, the total energy consumption of the networks, <italic>E<sub>cluster</sub></italic>, can be measured by adding the cluster-heads energy, <italic>E<sub>ch</sub></italic>, to the member nodes energy, <italic>E<sub>member</sub></italic> as follows:
<disp-formula id="FD5">
<label>(5)</label>
<mml:math display="block">
<mml:mrow>
<mml:msub>
<mml:mi>E</mml:mi>
<mml:mi mathvariant="italic">Tx</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>R</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mi>E</mml:mi>
<mml:mi mathvariant="italic">elec</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi mathvariant="italic">kE</mml:mi>
<mml:mi mathvariant="italic">amp</mml:mi></mml:msub>
<mml:msup>
<mml:mrow>
<mml:mi>R</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>=</mml:mo>
<mml:mi>l</mml:mi>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>μ</mml:mi>
<mml:mi>R</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:math></disp-formula>where ‘m’ is the optimal number of cluster-heads and N is the number of sensor nodes in the networks.</p>
<p>For calculation, we assume the sensor networks are organized as follows: the size of the network is A × A. Sensor nodes are equally distributed over the networks. For simplicity, a cluster-head is located in middle of a local cluster as shown in <xref ref-type="fig" rid="f1-sensors-11-02875">Figure 1(a)</xref>. We assume that the distance of the sensor nodes located farthest from the cluster-head is ‘a’ and the radius of a local cluster which is the distance between the cluster-head and a sink, ‘s’. The communication radius of a sensor node is R, (r ≤ R), R is the possible radius of communication within its neighbor nodes and r is the communication radius of sensor nodes [<xref ref-type="bibr" rid="b11-sensors-11-02875">11</xref>,<xref ref-type="bibr" rid="b12-sensors-11-02875">12</xref>]. Based on these assumptions, we find the energy and size change of a local cluster based on a change in the number of cluster-heads.</p>
<p>The total number of cluster-heads in a network is defined as m, therefore the area of the sensor networks is the same as the total area of local clusters which can be calculated as a<sup>2</sup>π × m = A<sup>2</sup>. From this, we can figure out the radius of a local cluster, ‘a’, as:
<disp-formula id="FD6">
<label>(6)</label>
<mml:math display="block">
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mi>A</mml:mi>
<mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mi>π</mml:mi></mml:mrow></mml:msqrt></mml:mrow></mml:mfrac></mml:mrow></mml:math></disp-formula></p>
<p>The number of nodes in a local cluster can be expressed as N/m. As shown in <xref ref-type="fig" rid="f1-sensors-11-02875">Figure 1(b)</xref>, a local cluster can be divided into a number of n rings within a radius of nodes, R, for multi-hop communication. The n<sup>th</sup> ring represents the distance at the farthest nodes, ‘a’. Additionally, it represents hop counts between the cluster-head and the farthest nodes. So, nodes’ hop counts in the n<sup>th</sup> ring can be described as a/R. We know the average number of sensor nodes with n<sup>th</sup> hop counts as compared to the area of a local cluster within the area, which is to subtract the area of the (n−1)<sup>th</sup> ring from the area of the n<sup>th</sup> ring [<xref ref-type="bibr" rid="b14-sensors-11-02875">14</xref>]. Therefore, n<sup>th</sup><sub>avg_node</sub>, the average number of nodes with n<sup>th</sup> hop counts is:
<disp-formula id="FD7">
<label>(7)</label>
<mml:math display="block">
<mml:mrow>
<mml:msubsup>
<mml:mi>n</mml:mi>
<mml:mi mathvariant="italic">avg_node</mml:mi>
<mml:mi mathvariant="italic">th</mml:mi></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>π</mml:mi>
<mml:mi>a</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>−</mml:mo>
<mml:mi>π</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="italic">nR</mml:mi>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>π</mml:mi>
<mml:mi>a</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mi>m</mml:mi></mml:mrow></mml:mfrac></mml:mrow></mml:math></disp-formula></p>
<p>The average number of nodes with (n−1)<sup>th</sup> hop counts, (n−1)<sup>th</sup><sub>avg_node</sub> is:
<disp-formula id="FD8">
<label>(8)</label>
<mml:math display="block">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mi mathvariant="italic">avg_node</mml:mi>
<mml:mi mathvariant="italic">th</mml:mi></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mi>π</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="italic">nR</mml:mi>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>−</mml:mo>
<mml:mi>π</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mi>R</mml:mi></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow>
<mml:mo>}</mml:mo></mml:mrow></mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>π</mml:mi>
<mml:mi>a</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mi>m</mml:mi></mml:mrow></mml:mfrac></mml:mrow></mml:math></disp-formula></p>
<p>When nodes with n<sup>th</sup> hop counts send data packets to nodes with (n−1)<sup>th</sup> hop counts, the number of relay packets can be determined by dividing <xref ref-type="disp-formula" rid="FD7">Equation (7)</xref> into <xref ref-type="disp-formula" rid="FD8">Equation (8)</xref>. With n<sup>th</sup> hop counts in a local cluster, the average number of relay packets, <italic>k<sub>n_Intra</sub>,</italic> is:
<disp-formula id="FD9">
<label>(9)</label>
<mml:math display="block">
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mi>n_Intra</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>π</mml:mi>
<mml:mi>a</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>−</mml:mo>
<mml:mi>π</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="italic">nR</mml:mi>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow>
<mml:mo stretchy="false">]</mml:mo></mml:mrow>
<mml:mo>/</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>π</mml:mi>
<mml:mi>a</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mi>m</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:mi>π</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="italic">nR</mml:mi>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>−</mml:mo>
<mml:mi>π</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mi>R</mml:mi></mml:mrow>
<mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow>
<mml:mo stretchy="false">}</mml:mo></mml:mrow>
<mml:mo>/</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>π</mml:mi>
<mml:mi>a</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mi>m</mml:mi></mml:mrow></mml:mfrac>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mi>a</mml:mi>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>−</mml:mo>
<mml:msup>
<mml:mi>n</mml:mi>
<mml:mn>2</mml:mn></mml:msup>
<mml:msup>
<mml:mi>R</mml:mi>
<mml:mn>2</mml:mn></mml:msup></mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mi>R</mml:mi>
<mml:mn>2</mml:mn></mml:msup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>n</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mfrac></mml:mrow></mml:math></disp-formula></p>
<p>In an intra-cluster, a node’s energy consumption is divided into two types: transmission energy of own sensing data and relay energy of neighbor’s sensing data. Therefore, the average energy consumption of nodes with n<sup>th</sup> hop counts, <italic>E</italic><sub><italic>mem</italic>_intra</sub>, is to add packet transmission energy, <italic>E<sub>Trans</sub></italic> to own packet transmission energy, <italic>E<sub>Relay</sub></italic>, of packet relay energy. This equation can be represented as:
<disp-formula id="FD10">
<label>(10)</label>
<mml:math display="block">
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="italic">mem</mml:mi>
<mml:mi mathvariant="italic">intra</mml:mi></mml:msub></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>E</mml:mi>
<mml:mi mathvariant="italic">Relay</mml:mi></mml:msub>
<mml:mo>×</mml:mo>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi mathvariant="italic">Intra</mml:mi></mml:msub></mml:mrow></mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>E</mml:mi>
<mml:mi mathvariant="italic">Trans</mml:mi></mml:msub></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>R</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>R</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mo>×</mml:mo>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mi mathvariant="italic">n_Intra</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>R</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>μ</mml:mi>
<mml:mi>R</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mo>+</mml:mo>
<mml:mi>l</mml:mi></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi mathvariant="italic">Intra</mml:mi></mml:msub></mml:mrow></mml:msub>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>μ</mml:mi>
<mml:mi>R</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>l</mml:mi>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>μ</mml:mi>
<mml:mi>R</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mi>a</mml:mi>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>−</mml:mo>
<mml:msup>
<mml:mi>n</mml:mi>
<mml:mn>2</mml:mn></mml:msup>
<mml:msup>
<mml:mi>R</mml:mi>
<mml:mn>2</mml:mn></mml:msup></mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mi>R</mml:mi>
<mml:mn>2</mml:mn></mml:msup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>n</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mfrac>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>μ</mml:mi>
<mml:mi>R</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>The average number of packets which a cluster-head receives from member nodes is N/m. The energy consumption of cluster heads for aggregate packets is <italic>E<sub>agg</sub></italic>. The received packets are sent to a sink node by cluster heads during inter-cluster transmission. At this time, the transmission energy of a cluster head occurs when sending packets to the sink, <italic>E<sub>Trans</sub></italic>. The average energy consumption of a cluster head, <italic>E<sub>ch</sub></italic>, can be represented as:
<disp-formula id="FD11">
<label>(11)</label>
<mml:math display="block">
<mml:mrow>
<mml:msub>
<mml:mi>E</mml:mi>
<mml:mi mathvariant="italic">ch</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>E</mml:mi>
<mml:mi mathvariant="italic">Agg</mml:mi></mml:msub>
<mml:mo>×</mml:mo>
<mml:mfrac>
<mml:mi>N</mml:mi>
<mml:mi>m</mml:mi></mml:mfrac>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>E</mml:mi>
<mml:mi mathvariant="italic">Tran</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>E</mml:mi>
<mml:mi mathvariant="italic">Agg</mml:mi></mml:msub>
<mml:mo>×</mml:mo>
<mml:mi>N</mml:mi></mml:mrow>
<mml:mi>m</mml:mi></mml:mfrac>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>μ</mml:mi>
<mml:mi>R</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:math></disp-formula></p>
<p>Generally, a sink node is located close to the sensor network. The distance between a cluster-head and a sink is from one hop R to n<sup>th</sup> node’s distance added to one hop R, 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:mi>R</mml:mi>
<mml:mo>≤</mml:mo>
<mml:mi mathvariant="normal">s</mml:mi>
<mml:mo>≤</mml:mo>
<mml:msqrt>
<mml:mi>a</mml:mi></mml:msqrt>
<mml:mi>A</mml:mi>
<mml:mo>+</mml:mo>
<mml:mi>R</mml:mi></mml:mrow></mml:math></inline-formula>. Therefore, we can assume that the average distance between a cluster-head and a sink, s, is:
<disp-formula id="FD12">
<label>(12)</label>
<mml:math display="block">
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msqrt>
<mml:mn>2</mml:mn></mml:msqrt>
<mml:mi>A</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>2</mml:mn>
<mml:mi>R</mml:mi></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:mfrac></mml:mrow></mml:math></disp-formula></p>
<p>As the number of relay packets is also increased in proportion to s, in inter-clusters, the average number of relay packets, <italic>k<sub>n_Inter</sub></italic>, is:
<disp-formula id="FD13">
<label>(13)</label>
<mml:math display="block">
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mi mathvariant="italic">n_Inter</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mi mathvariant="italic">sm</mml:mi>
<mml:mi>R</mml:mi></mml:mfrac>
<mml:mo>×</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mi>m</mml:mi></mml:mfrac>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mi>s</mml:mi>
<mml:mi>R</mml:mi></mml:mfrac></mml:mrow></mml:math></disp-formula></p>
<p>In an inter-cluster, as the CHs can only send the packet to a sink node, we just find the relay packet energy. To achieve this, during inter-cluster transmission, the average energy consumption between a cluster-head and a sink, <italic>E<sub>mem_inter</sub></italic>, is as follows, according to <xref ref-type="disp-formula" rid="FD13">Equation (13)</xref>:
<disp-formula id="FD14">
<label>(14)</label>
<mml:math display="block">
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mi>E</mml:mi>
<mml:mi mathvariant="italic">mem_inter</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>E</mml:mi>
<mml:mi mathvariant="italic">Relay</mml:mi></mml:msub>
<mml:mo>×</mml:mo>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mi mathvariant="italic">n_Inter</mml:mi></mml:msub></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>l</mml:mi>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>μ</mml:mi>
<mml:mi>R</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mo>×</mml:mo>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi mathvariant="italic">Inter</mml:mi></mml:msub></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>l</mml:mi>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>μ</mml:mi>
<mml:mi>R</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow>
<mml:mi>R</mml:mi></mml:mfrac></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>Based on the clustering energy equations, we can find the average energy consumption of member nodes, <italic>E<sub>member</sub></italic>, by using the following added equations:
<disp-formula id="FD15">
<label>(15)</label>
<mml:math display="block">
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mi>E</mml:mi>
<mml:mi mathvariant="italic">member</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="italic">mem</mml:mi>
<mml:mi mathvariant="italic">Intra</mml:mi></mml:msub></mml:mrow></mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="italic">mem</mml:mi>
<mml:mi mathvariant="italic">Inter</mml:mi></mml:msub></mml:mrow></mml:msub></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>l</mml:mi>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>μ</mml:mi>
<mml:mi>R</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mi>a</mml:mi>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>−</mml:mo>
<mml:msup>
<mml:mi>n</mml:mi>
<mml:mn>2</mml:mn></mml:msup>
<mml:msup>
<mml:mi>R</mml:mi>
<mml:mn>2</mml:mn></mml:msup></mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mi>R</mml:mi>
<mml:mn>2</mml:mn></mml:msup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>n</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mfrac>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>+</mml:mo>
<mml:mi>μ</mml:mi>
<mml:msup>
<mml:mi>R</mml:mi>
<mml:mn>2</mml:mn></mml:msup></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>l</mml:mi>
<mml:mo>+</mml:mo>
<mml:mi>μ</mml:mi>
<mml:msup>
<mml:mi>R</mml:mi>
<mml:mn>2</mml:mn></mml:msup></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mfrac>
<mml:mi>s</mml:mi>
<mml:mi>R</mml:mi></mml:mfrac></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p></sec></sec>
<sec sec-type="methods|results">
<label>4.</label>
<title>Performance Analysis and Results</title>
<sec>
<label>4.1.</label>
<title>Network Configuration</title>
<p>For network configuration, we assume the following network topology, as described in <xref ref-type="table" rid="t1-sensors-11-02875">Table 1</xref>.</p>
<p>We set up the size of the networks to be 100 m × 100 m, with a possible node communication radius, R, set at 5 meters. To prevent an isolated node, the number of network nodes is 400. The sensor node’s initial energy is 1 J (Joule) and the data packets of a node are 525 bytes between a cluster-head and member node, and a sink and a cluster-head. As described previously, a sink node is located outside of the sensor networks with the distance between a sink and the networks defined as R. For constant energy, we set up the transmission/receiving energy, <italic>E<sub>elec</sub></italic>, to be 50 nJ/bit and the amplifier energy, <italic>E<sub>amp</sub></italic>, to be 10 pJ/bit/m<sup>2</sup>. The aggregation energy per a packet, <italic>E<sub>f</sub></italic> or <italic>E<sub>agg</sub></italic>, is 0.21 mJ/bit [<xref ref-type="bibr" rid="b4-sensors-11-02875">4</xref>]. After cluster configuration, we assume that the process of transmitting sensing data to a sink is one round. Thus, member nodes send their own sensing data packet to cluster-heads, cluster-heads aggregate and process them, and then the cluster-heads transmit the processed data to a sink over a data path. In these processes, we omit the messages or packets for clustering as negligible.</p></sec>
<sec sec-type="results">
<label>4.2.</label>
<title>Performance Results</title>
<p>In an intra-cluster scenario, if there is a single cluster-head, as illustrated in <xref ref-type="fig" rid="f2-sensors-11-02875">Figure 2(A)</xref>, the number of relay packets of member nodes is more than 2,400 per round, based on multi-hop communication. As the number of cluster-heads increases, <xref ref-type="fig" rid="f2-sensors-11-02875">Figure 2(A)</xref> shows that the number of relay packets is decreased.</p>
<p>The reason for this is that the average distance between a cluster-head and member nodes is decreased. In the case of cluster-heads being more than 27% of the networks, a local cluster does not generate the relay packets, as the distance between a cluster-head and member nodes is a &lt; R. On the other hand, the packets which a cluster-head collects from member nodes are fixed, regardless of changing the number of cluster-heads, because the total aggregated data from nodes is always 400, as seen in <xref ref-type="fig" rid="f2-sensors-11-02875">Figure 2(B)</xref>. Therefore, the average energy consumption of a node only affects intra-cluster energy consumption, as seen in <xref ref-type="fig" rid="f2-sensors-11-02875">Figure 2(C)</xref>. As shown in <xref ref-type="fig" rid="f2-sensors-11-02875">Figure 2(C,D)</xref>, the energy consumption of a node is in proportion to the intra-cluster energy consumption.</p>
<p>In an inter-cluster, with an increase of cluster-heads, there is an increase of relay packets between a cluster-head and a sink. As illustrated in <xref ref-type="fig" rid="f3-sensors-11-02875">Figure 3(A)</xref>, if sensor networks have only one cluster-head, there are 15 relay packets in the inter-cluster. When cluster-heads are more than 30% of the sensor networks they send more than 1,800 relay packets to a sink. An increase in the number of relay packets affects inter-cluster energy consumption, as seen in <xref ref-type="fig" rid="f3-sensors-11-02875">Figure 3(B)</xref>. This is the reason most of the energy consumption in an inter-cluster is only affected by the relay packets which cluster-heads transmit to a sink. Even if the inter-cluster energy is increased, the average inter-cluster energy consumption is fixed after 12 cluster-heads, 3% among sensor nodes, as shown in <xref ref-type="fig" rid="f3-sensors-11-02875">Figure 3(C)</xref>, because increased cluster-heads distribute the energy loads evenly in the networks.</p>
<p>In <xref ref-type="fig" rid="f2-sensors-11-02875">Figures 2(D)</xref> and <xref ref-type="fig" rid="f3-sensors-11-02875">3(B)</xref>, the amount of intra-cluster energy is inversely proportional to the amount of inter-cluster energy. Therefore, it is important to obtain a balance between the two. Using the two energy consumptions, we can find the total energy consumption of sensor networks, as shown in <xref ref-type="fig" rid="f4-sensors-11-02875">Figure 4(A)</xref>. In this figure, in the case of a single cluster-head, the total energy consumption of the network is 1.05 J. This value is very large compared to the initial sensor energy. If the number of cluster-heads is 24, or 6%, the total energy consumption is minimal at 0.32 J. If the number of cluster heads number is more than 24, the energy consumption is gradually increased. <xref ref-type="fig" rid="f4-sensors-11-02875">Figure 4(A)</xref> shows that the ratio of cluster-heads should be between 4% and 8% in order to consume the minimum amount of energy. Considering the average energy consumption per round, we can find the number of rounds of a node. As seen in <xref ref-type="fig" rid="f4-sensors-11-02875">Figure 4(B)</xref>, in the case of only one cluster-head, a node can be alive below 400 rounds. In the case of 24 cluster-heads however, a node can be alive for more than 1,200 rounds. So, to establish 4% to 8% of cluster-heads among sensor nodes is the most energy efficient method to set up for the optimal number of cluster-heads.</p></sec></sec>
<sec sec-type="conclusions">
<label>5.</label>
<title>Conclusions</title>
<p>In previous clustering algorithms for WSNs, they did not consider the practical transmission radius of sensor nodes for communicating with nodes in and out of clusters. All sensor nodes, however, should use the multi-hop method as they have a restricted communication radius. In multi-hop based communication, communication messages or packets in the WSNs are increased in proportion to the distance between nodes. Also, clustering algorithms are affected by the distance. In any clustering algorithm, packet delivery distance is an important issue and is influenced by the number of clusters. All this is related to energy consumption in WSNs. We need to know how many clusters are best in WSNs. Thus we propose the optimal number of cluster-heads based on changing the number of cluster-heads and the associated consumed energy. To prove this, we calculated the energy change in the total network consumption using the number of relay packets in intra-cluster and inter-cluster transmission. We found the change ratio of a cluster-head’s energy, the change ratio of intra-cluster energy, and the change ratio of inter-cluster energy based on a sensor energy model and relay packets by experiments. Therefore, we determined that a change in the number of cluster-heads affects the consumed energy of a sensor network and were thus able to determine the optimal number of cluster-heads a sensor network requires.</p></sec></body>
<back>
<ack>
<p>This work is financially supported by the Ministry of Education, Science and Technology (MEST), the Ministry of Knowledge Economy (MKE) through the fostering project of HUNIC.</p></ack>
<ref-list>
<title>References</title>
<ref id="b1-sensors-11-02875"><label>1.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Akyildiz</surname><given-names>IF</given-names></name><name><surname>Su</surname><given-names>W</given-names></name><name><surname>SanKarasubramaniam</surname><given-names>Y</given-names></name><name><surname>Cayirci</surname><given-names>E</given-names></name></person-group><article-title>A Survey on Sensor Networks</article-title><source>IEEE Commun. Mag</source><year>2002</year><volume>40</volume><fpage>102</fpage><lpage>114</lpage></citation></ref>
<ref id="b2-sensors-11-02875"><label>2.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Mhatre</surname><given-names>V</given-names></name><name><surname>Rosenberg</surname><given-names>C</given-names></name></person-group><article-title>Homogeneous <italic>vs</italic> Heterogeneous Clustered Sensor Networks: A Comparative Study</article-title><conf-name>Proceedings of IEEE International Conference on Communications</conf-name><conf-loc>Paris France</conf-loc><conf-date>20–24 June 2004</conf-date><volume>6</volume><fpage>3646</fpage><lpage>3651</lpage></citation></ref>
<ref id="b3-sensors-11-02875"><label>3.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Toumpis</surname><given-names>S</given-names></name><name><surname>Goldsmith</surname><given-names>AJ</given-names></name></person-group><article-title>Capacity Regions for Wireless <italic>Ad Hoc</italic> Networks: Wireless Communications</article-title><source>IEEE Trans. Wire. Commun</source><year>2003</year><volume>2</volume><fpage>736</fpage><lpage>748</lpage></citation></ref>
<ref id="b4-sensors-11-02875"><label>4.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Heinzelman</surname><given-names>WB</given-names></name><name><surname>Chandrakasan</surname><given-names>AP</given-names></name><name><surname>Balakrishnan</surname><given-names>H</given-names></name></person-group><article-title>An Application-Specific Protocol Architecture for Wireless Microsensor Networks</article-title><source>IEEE Trans. Wire. Commun</source><year>2002</year><volume>1</volume><fpage>660</fpage><lpage>670</lpage><pub-id pub-id-type="doi">10.1109/TWC.2002.804190</pub-id></citation></ref>
<ref id="b5-sensors-11-02875"><label>5.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Baker</surname><given-names>DJ</given-names></name><name><surname>Ephremides</surname><given-names>A</given-names></name></person-group><article-title>The Architectural Organization of a Mobile Radio Network via a Distributed Algorithm</article-title><source>IEEE Trans. Commun</source><year>1981</year><volume>29</volume><fpage>1694</fpage><lpage>1701</lpage><pub-id pub-id-type="doi">10.1109/TCOM.1981.1094909</pub-id></citation></ref>
<ref id="b6-sensors-11-02875"><label>6.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Baker</surname><given-names>DJ</given-names></name><name><surname>Ephremides</surname><given-names>A</given-names></name><name><surname>Flynn</surname><given-names>JA</given-names></name></person-group><article-title>The Design and Simulation of a Mobile Radio Network with Distributed Control</article-title><source>IEEE J. Select. Area. Commun</source><year>1984</year><volume>2</volume><fpage>226</fpage><lpage>237</lpage><pub-id pub-id-type="doi">10.1109/JSAC.1984.1146043</pub-id></citation></ref>
<ref id="b7-sensors-11-02875"><label>7.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Basagni</surname><given-names>S</given-names></name></person-group><article-title>Distributed Clustering Algorithm for <italic>Ad-Hoc</italic> Networks</article-title><conf-name>Proceedings of the International Symposium on Parallel Architectures, Algorithms, and Networks (I-SPAN)</conf-name><conf-loc>Fremantle, Australia</conf-loc><conf-date>23–25 June 1999</conf-date></citation></ref>
<ref id="b8-sensors-11-02875"><label>8.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Nagpal</surname><given-names>R</given-names></name><name><surname>Coore</surname><given-names>D</given-names></name></person-group><article-title>An Algorithm for Group Formation in an Amorphous Computer</article-title><conf-name>Proceedings of the 10th International Conference on Parallel and Distributed Systems (PDCS’98)</conf-name><conf-loc>Las Vegas, NV, USA</conf-loc><conf-date>28–31 October 1998</conf-date></citation></ref>
<ref id="b9-sensors-11-02875"><label>9.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Younis</surname><given-names>O</given-names></name><name><surname>Fahmy</surname><given-names>S</given-names></name></person-group><article-title>HEED: A Hybrid, Energy-Efficient, Distributed Clustering Approach for Ad Hoc Sensor Networks</article-title><source>IEEE Trans. Mobile Comput</source><year>2004</year><volume>3</volume><fpage>366</fpage><lpage>379</lpage><pub-id pub-id-type="doi">10.1109/TMC.2004.41</pub-id></citation></ref>
<ref id="b10-sensors-11-02875"><label>10.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Liu</surname><given-names>M</given-names></name><name><surname>Cao</surname><given-names>J</given-names></name><name><surname>Chen</surname><given-names>G</given-names></name><name><surname>Wang</surname><given-names>X</given-names></name></person-group><article-title>An Energy-Aware Routing Protocol in Wireless Sensor Networks</article-title><source>Sensors</source><year>2009</year><volume>9</volume><fpage>445</fpage><lpage>462</lpage><pub-id pub-id-type="doi">10.3390/s90100445</pub-id><pub-id pub-id-type="pmid">22389610</pub-id></citation></ref>
<ref id="b11-sensors-11-02875"><label>11.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Gutierrez</surname><given-names>JA</given-names></name><name><surname>Naeve</surname><given-names>M</given-names></name><name><surname>Callaway</surname><given-names>E</given-names></name><name><surname>Bourgeois</surname><given-names>M</given-names></name><name><surname>Mitter</surname><given-names>V</given-names></name><name><surname>Heile</surname><given-names>B</given-names></name></person-group><article-title>IEEE 802.15.4: A Developing Standard for Low-Power Low-Cost Wireless Personal Area Networks</article-title><source>IEEE Network</source><year>2001</year><volume>15</volume><fpage>12</fpage><lpage>19</lpage></citation></ref>
<ref id="b12-sensors-11-02875"><label>12.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Iwanicki</surname><given-names>K</given-names></name><name><surname>van Steen</surname><given-names>M</given-names></name></person-group><article-title>Multi-Hop Cluster Hierarchy Maintenance in Wireless Sensor Networks: A Case for Gossip-Based Protocol</article-title><source>Lect. Note. Comput. Sci</source><year>2009</year><volume>5432</volume><fpage>102</fpage><lpage>117</lpage></citation></ref>
<ref id="b13-sensors-11-02875"><label>13.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Gupta</surname><given-names>P</given-names></name><name><surname>Kumar</surname><given-names>PR</given-names></name></person-group><article-title>Critical Power for Asymptotic Connectivity in Wireless Networks</article-title><source>Stochastic Analysis, Control, Optimization and Applications</source><comment>A Volume in Honor of W.H. Fleming;</comment><person-group person-group-type="editor"><name><surname>McEneany</surname><given-names>WM</given-names></name><name><surname>Yin</surname><given-names>G</given-names></name><name><surname>Zhang</surname><given-names>Q</given-names></name></person-group><publisher-name>Birkhauser</publisher-name><publisher-loc>Boston, MA, USA</publisher-loc><year>1998</year><fpage>547</fpage><lpage>566</lpage></citation></ref>
<ref id="b14-sensors-11-02875"><label>14.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Mhatre</surname><given-names>V</given-names></name><name><surname>Rosenberg</surname><given-names>C</given-names></name></person-group><article-title>Design Guidelines for Wireless Sensor Networks: Communication, Clustering and Aggregation</article-title><source>Ad Hoc Netw. J</source><year>2003</year><volume>2</volume><fpage>45</fpage><lpage>63</lpage></citation></ref></ref-list>
<sec sec-type="display-objects">
<title>Figures and Table</title>
<fig id="f1-sensors-11-02875" position="float">
<label>Figure 1.</label>
<caption>
<p>Calculation model for clustering, <bold>(a)</bold> simple cluster modeling, <bold>(b)</bold> multi-hop based communication modeling.</p></caption>
<graphic xlink:href="sensors-11-02875f1.gif"/></fig>
<fig id="f2-sensors-11-02875" position="float">
<label>Figure 2.</label>
<caption>
<p>Intra-Cluster. <bold>(A)</bold> relay packets in intra-clusters, <bold>(B)</bold> cluster-head aggregation energy consumption, <bold>(C)</bold> average node energy consumption, <bold>(D)</bold> intra-cluster energy consumption.</p></caption>
<graphic xlink:href="sensors-11-02875f2.gif"/></fig>
<fig id="f3-sensors-11-02875" position="float">
<label>Figure 3.</label>
<caption>
<p>Inter-Cluster. <bold>(A)</bold> Inter-cluster relay packets, <bold>(B)</bold> Inter-cluster energy consumption, <bold>(C)</bold> average inter-cluster energy consumption.</p></caption>
<graphic xlink:href="sensors-11-02875f3.gif"/></fig>
<fig id="f4-sensors-11-02875" position="float">
<label>Figure 4.</label>
<caption>
<p>Energy consumption and node alive. <bold>(A)</bold> total energy consumption in the network, <bold>(B)</bold> the number of rounds in alive nodes.</p></caption>
<graphic xlink:href="sensors-11-02875f4.gif"/></fig>
<table-wrap id="t1-sensors-11-02875" position="float">
<label>Table 1.</label>
<caption>
<p>System parameter for network configuration.</p></caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th align="left" valign="bottom"><bold>Parameter</bold></th>
<th align="left" valign="bottom"><bold>Value</bold></th></tr></thead>
<tbody>
<tr>
<td align="left" valign="top">Network size</td>
<td align="left" valign="top">100 × 100 (100 m<sup>2</sup>)</td></tr>
<tr>
<td align="left" valign="top">Sensor nodes</td>
<td align="left" valign="top">400</td></tr>
<tr>
<td align="left" valign="top">Radius of sensor nodes</td>
<td align="left" valign="top">5 m</td></tr>
<tr>
<td align="left" valign="top">Data packet</td>
<td align="left" valign="top">525 bytes</td></tr>
<tr>
<td align="left" valign="top"><italic>E<sub>elec</sub></italic></td>
<td align="left" valign="top">50 nJ/bit</td></tr>
<tr>
<td align="left" valign="top"><italic>E<sub>amp</sub></italic></td>
<td align="left" valign="top">10 pJ/bit/m<sup>2</sup></td></tr>
<tr>
<td align="left" valign="top"><italic>E<sub>f</sub></italic></td>
<td align="left" valign="top">0.021 mJ</td></tr>
<tr>
<td align="left" valign="top">Initial Energy</td>
<td align="left" valign="top">1 J</td></tr></tbody></table></table-wrap></sec></back></article>
