<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.1 20151215//EN" "http://jats.nlm.nih.gov/publishing/1.1/JATS-journalpublishing1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" article-type="research-article" dtd-version="1.1">
<front>
<journal-meta>
<journal-id journal-id-type="pmc">CMES</journal-id>
<journal-id journal-id-type="nlm-ta">CMES</journal-id>
<journal-id journal-id-type="publisher-id">CMES</journal-id>
<journal-title-group>
<journal-title>Computer Modeling in Engineering &#x0026; Sciences</journal-title>
</journal-title-group>
<issn pub-type="epub">1526-1506</issn>
<issn pub-type="ppub">1526-1492</issn>
<publisher>
<publisher-name>Tech Science Press</publisher-name>
<publisher-loc>USA</publisher-loc>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">15636</article-id>
<article-id pub-id-type="doi">10.32604/cmes.2022.015636</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Article</subject>
</subj-group>
</article-categories>
<title-group>
<article-title>A Novel Indoor Positioning Framework</article-title>
<alt-title alt-title-type="left-running-head">A Novel Indoor Positioning Framework</alt-title>
<alt-title alt-title-type="right-running-head">A Novel Indoor Positioning Framework</alt-title>
</title-group>
<contrib-group content-type="authors">
<contrib id="author-1" contrib-type="author">
<name name-style="western">
<surname>Chen</surname>
<given-names>Ming-Chih</given-names>
</name>
</contrib>
<contrib id="author-2" contrib-type="author" corresp="yes">
<name name-style="western">
<surname>Cheng</surname>
<given-names>Yin-Ting</given-names>
</name><email>i107109118@nkust.edu.tw</email>
</contrib> <contrib id="author-3" contrib-type="author">
<name name-style="western">
<surname>Chen</surname>
<given-names>Ru-Wei</given-names>
</name>
</contrib>
<aff><institution>Department of Electronic Engineering, National Kaohsiung University of Science and Technology (First Campus)</institution>, <addr-line>Kaohsiung City, 82445</addr-line>, <country>Taiwan</country></aff>
</contrib-group>
<author-notes>
<corresp id="cor1">&#x002A;Corresponding Author: Yin-Ting Cheng. Email: <email>i107109118@nkust.edu.tw</email></corresp>
</author-notes>
<pub-date pub-type="epub" date-type="pub" iso-8601-date="2021-12-29">
<day>29</day>
<month>12</month>
<year>2021</year>
</pub-date>
<volume>130</volume>
<issue>3</issue>
<fpage>1459</fpage>
<lpage>1477</lpage>
<history>
<date date-type="received">
<day>01</day>
<month>1</month>
<year>2021</year>
</date>
<date date-type="accepted">
<day>08</day>
<month>10</month>
<year>2021</year>
</date>
</history>
<permissions>
<copyright-statement>&#x00A9; 2022 Chen, Cheng and Chen</copyright-statement>
<copyright-year>2022</copyright-year>
<copyright-holder>Chen, Cheng and Chen</copyright-holder>
<license xlink:href="https://creativecommons.org/licenses/by/4.0/">
<license-p>This work is licensed under a <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</ext-link>, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</license-p>
</license>
</permissions>
<self-uri content-type="pdf" xlink:href="TSP_CMES_15636.pdf"></self-uri>
<abstract>
<p>Current positioning systems are primarily based on the Global Positioning System (GPS). Although the GPS is accurate within 10 m, it is mainly used for outdoor positioning services (Location-Based Service; LBS). However, since satellite signals cannot penetrate buildings, indoor positioning has always been a blind spot for satellite signals. As indoor positioning applications are extensive with high commercial values, they have created a competitive niche in the market. Existing indoor positioning technologies are unable to achieve less than 10 cm accuracy except for the Ultra Wide Band (UWB) technology. On the other hand, the Bluetooth protocol achieves an accuracy of 1 to 2 m. In this work, we use Bluetooth wireless signals to build a novel indoor positioning framework to avoid the high manufacturing costs involved in the UWB technology. The Bluetooth signals are combined with the results from artificial intelligence algorithms to improve accuracy. During laboratory indoor location tracking, the accuracy rate is 96%, which provides effective indoor tracking for the movement of people.</p>
</abstract>
<kwd-group kwd-group-type="author">
<kwd>Indoor positioning</kwd>
<kwd>Bluetooth protocol</kwd>
<kwd>artificial intelligence</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="s1">
<label>1</label>
<title>Introduction</title>
<sec id="s1_1">
<label>1.1</label>
<title>Research Motivation</title>
<p>Currently, indoor positioning is not as widely used in daily life as outdoor positioning, and fewer service types are provided. However, if accurate indoor positioning services can be provided, outdoor positioning services can be extended indoors. At the same time, if indoor positioning technology can be combined with other technologies such as physiological information acquisition technology, then home medical care or home lifestyle identification can be performed to achieve the goal of ubiquitous care. For example, indoor positioning technology can determine a patient&#x2019;s location, such as in the living room, bedroom or bathroom. By combining indoor positioning technology with physiological information, the patient&#x2019;s behavior, such as watching TV on the sofa, going to bed in the bedroom, or staying in the bathroom for overly long, can be speculated. The patient&#x2019;s behavior can determine whether there is a possibility of an accident and provide appropriate assistance.</p>
<p>Furthermore, indoor positioning systems can provide the location of an automatically classified product to manufacturers to determine whether the product is classified correctly. Employees&#x2019; current locations can also be provided to managers through indoor positioning services to determine whether or not the employees have entered restricted areas and violated safety regulations. Other services such as indoor environment monitoring, indoor disaster protection, rescue management [<xref ref-type="bibr" rid="ref-1">1</xref>,<xref ref-type="bibr" rid="ref-2">2</xref>], can all be accomplished with the advancement of indoor positioning technology.</p>
</sec>
<sec id="s1_2">
<label>1.2</label>
<title>Research Purposes</title>
<p>Since indoor environments may be quite complicated, indoor positioning systems may encounter difficulties that affect the accuracy, such as the attenuation of signal strength due to different obstructions, signal drift or positioning algorithm design. In this work, the strength of the Bluetooth wireless signal is used to calculate the person&#x2019;s location. To obtain a person&#x2019;s position accurately and rapidly, the system needs to overcome interference signal sources in the environment, such as the electromagnetic interferences generated by metal and electronic products, which attenuates the signal strength and reduces positioning accuracy.</p>
<p>This work uses artificial intelligence to build a novel indoor positioning framework and achieve accurate personnel positioning in a complex indoor environment. The proposed model is used to process the signals and complete the establishment of the algorithm.</p>
</sec>
<sec id="s1_3">
<label>1.3</label>
<title>Literature Review</title>
<p>There are many different positioning methods for positioning systems. For wireless signal positioning, multiple fixed communication receiving points are set up to communicate with the measured object, and the relative distance is calculated. Many approaches have been proposed to calculate the relative distance as well as the accuracy and computational complexity. Several papers have proposed different methods of indoor personnel positioning.</p>
<p>In 2013, Tsuboi et al. [<xref ref-type="bibr" rid="ref-3">3</xref>] proposed the Ultra-High Frequency Radio Frequency Identification (UHF RFID) based personnel positioning system with a path tracking function. The authors proposed that the RFID method accurately and quickly calculates the personnel&#x2019;s position and records the personnel&#x2019;s historical position through the database. The author installed several passive RFID tags on the ceiling of the experimental environment to form an RFID tag array. The subject holds a handheld reader. When the subject moves, the reader reads the RFID tag and sends the tag number to the database to record the historical path and location. This method has very low complexity in positioning calculations and implements localization quickly and accurately. However, it requires a large number of RFID tag installations.</p>
<p>In 2015, Schafermeyer et al. [<xref ref-type="bibr" rid="ref-4">4</xref>] proposed a method that uses simple wall-mounted radio frequency transceiver and IR sensors capable of fingerprint identifications for individual identification. The method achieved a classification accuracy of 98% when using a Gaussian mixture model for classification. In the same year, Ma et al. [<xref ref-type="bibr" rid="ref-5">5</xref>] proposed a method to identify personnel entering or leaving a building. The method used Wi-Fi signals and combined the One-Class SVM and Binary-Class SVM classifiers.</p>
<p>In 2016, Kim et al. [<xref ref-type="bibr" rid="ref-6">6</xref>] proposed a personnel location algorithm based on the wireless signal strength received by a mobile phone. The authors used the K-Nearest Neighbor classification (KNN) machine-learning algorithm to establish a positioning model. The KNN model was used to group the positions of people according to the strength of the received signal. The positioning error of this system was 0.33 to 8.67 m, and the accuracy varied significantly in environments with many interferences.</p>
<p>In 2017, Alkandari et al. [<xref ref-type="bibr" rid="ref-7">7</xref>] proposed a method to estimate the speed between two fixed points based on device-free passive localization (DfPL) [<xref ref-type="bibr" rid="ref-8">8</xref>]. The authors proposed using one access point and onemonitoring point to detect DfPL and estimate the personnel&#x2019;s indoor position. In the same year, Oguntala et al. [<xref ref-type="bibr" rid="ref-9">9</xref>] proposed using the received signal strength of passive RFID to measure the distance for personnel localization. The system used particle filters to analyze RSS to localize the target position in an indoor environment.</p>
<p>In 2018, Cui et al. [<xref ref-type="bibr" rid="ref-10">10</xref>] proposed a ZigBee-based personnel positioning system. The authors proposed a Zigbee railway tunnel employee positioning system to enable tunnel managers to grasp the exact location of the tunnel personnel in real-time, achieve appropriate deployment and effective command of employees, as well as improve management and emergency command capabilities. The authors set up four Zigbee fixed nodes in the tunnel and used the K-means machine learning method to establish a model. When the fixed node receives the signal sent by the mobile node worn by the personnel, the signal strength calculated based on the received signal is input into the model to calculate the current location of the personnel. The method used machine learning to establish a model with an accuracy of 95% when the personnel&#x2019;s error is within 2 m.</p>
<p>Al-Khaleefa et al. [<xref ref-type="bibr" rid="ref-11">11</xref>] proposed the maximum feature adaptive online sequential extreme learning machine (MFA-OSELM) in 2019 to process the cyclic dynamic factors due to a person&#x2019;s movements in an internal environment. In the same year, Xue et al. [<xref ref-type="bibr" rid="ref-12">12</xref>] proposed a WiFi-based localization model by modifying the large localization errors and enhancing the Gaussian process regression (MEGPR). The model increased the effectiveness and feasibility of accurate indoor positioning. However, it required a multitude of access points to provide Wi-Fi signals, thus increasing the implementation cost.</p>
</sec>
</sec>
<sec id="s2">
<label>2</label>
<title>Research Method</title>
<p>Nowadays, artificial intelligence is widely used in various systems. This study uses TensorFlow as the framework to build the neural network and uses three different neural network architectures to build a fall detection model. As the neural network strives to find the optimal weight value and deviation, the obtained values will be closer to the desired result when the input data passes through the function in the framework.</p>
<p>An activation function is added after the hidden layer of the neural network to determine the desired result and calculate the optimal effect for building a predictive fall detection model. Advantages and disadvantages comparisons of the multi-layer perceptron (MLP) and recurrent neural network (RNN) models are shown in <?A3B2 "tbl1",5,"anchor"?><xref ref-type="table" rid="table-1">Table 1</xref>.</p>
<table-wrap id="table-1">
<label>Table 1</label>
<caption>
<title>Comparisons for MLP and RNN</title>
</caption>
<table>
<colgroup>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th>Neural network</th>
<th>Advantages</th>
<th>Disadvantages</th>
</tr>
</thead>
<tbody>
<tr>
<td>MLP</td>
<td>A simple structure to</td>
<td>The number of nodes is difficult to select,</td>
</tr>
<tr>
<td></td>
<td>solve classification problems</td>
<td>the learning speed is slow,</td>
</tr>
<tr>
<td></td>
<td></td>
<td>and the overfitting problem exists.</td>
</tr>
<tr>
<td>RNN</td>
<td>Handles continuous signals</td>
<td>Vanishing gradient or exploding</td>
</tr>
<tr>
<td></td>
<td></td>
<td>gradient problems exist, and the signal</td>
</tr>
<tr>
<td></td>
<td></td>
<td>is poorly processed for a long time.</td>
</tr>
</tbody>
</table>
</table-wrap>
<sec id="s2_1">
<label>2.1</label>
<title>Multi-Layer Perceptron (MLP)</title>
<p>The MLP is a kind of feedforward neural network. It has a three-layered structure: an input layer, a hidden layer and an output layer. The input layer is the current material to be learned. The hidden layer is the feature node that needs to be learned, and each node is a neuron with a nonlinear activation function so that its output meets the required results. The output layer is the category that needs to be learned. Each layer is a fully-connected layer in the middle. The multi-layer perceptron was widely used in the 1980s in problems such as speech recognition, image recognition, machine translation and has achieved good results in classification problems.</p>
</sec>
<sec id="s2_2">
<label>2.2</label>
<title>Recurrent Neural Network (RNN)</title>
<p>Early neural network architectures have no time concept and no label learning for sequence signals. In 1982, Hopfield [<xref ref-type="bibr" rid="ref-13">13</xref>] proposed a Hopfield neural network with 2n states, where the value of each neuron is either 1 or 0, and the output is a four-bit binary number. There are 16 network states in total due to the network&#x2019;s recursive characteristics. If the network is stable, it converges from any initial state to a stable state; otherwise, it does not diverge because each neuron has only two states.</p>
<p>Jordan [<xref ref-type="bibr" rid="ref-14">14</xref>] proposed a structure in 1986 where the learning method includes labeling the sequence signal, and the output provides feedback to hidden nodes, as shown in the figure. First, the network multiplies the input and the weight values of a neural network and adds on the deviation value of the node. Then, the value that has been calculated once and the output values are recalculated.</p>
<p>Since the RNN is modeled by serial signals, it achieves better results if the signals are correlated before and after. Therefore, it is often applied to natural language, handwriting recognition, weather, or sensor values.</p>
<p>However, as the network&#x2019;s hidden layer becomes deeper and deeper, the gradient vanishing or gradient exploding problem may occur, making it difficult to use in situations where the signal time is long.</p>
</sec>
<sec id="s2_3">
<label>2.3</label>
<title>Activation Function</title>
<p>The activation function in neural networks mainly uses nonlinear equations to solve nonlinear problems. Without activation functions, the neural network is a linear combination of operations. Since both the hidden and the output layers are input results of the upper layer, they are calculated with the weight value and the deviation. The calculation result is regarded as the layer&#x2019;s output so that the output and the input have only a linear relationship. The learned model cannot solve nonlinear problems without using a nonlinear activation function. In this work, we have provided four different activation functions when learning the framework. Activation functions with good outcomes are selected through experiments to establish a fall detection model.</p>
<sec id="s2_3_1">
<label>2.3.1</label>
<title>Rectified Linear Unit (ReLU)</title>
<p>According to <xref ref-type="disp-formula" rid="eqn-1">Eq. (1)</xref>, the output is 0 when the value is negative, and the output remains unchanged when the value is positive, as shown in <?A3B2 "fig1",5,"anchor"?><xref ref-type="fig" rid="fig-1">Fig. 1</xref>. The result is easy to predict since the algorithm is linear. Due to the rapid convergence, the algorithm effectively solves the gradient vanishing and gradient exploding problems with a fast calculation speed. However, it is difficult to activate a particular neuron when it has a value of 0, and the node has no effective results on the data.</p>
<p><disp-formula id="eqn-1">
<label>(1)</label>
<mml:math id="mml-eqn-1" display="block"><mml:mi>R</mml:mi><mml:mi>e</mml:mi><mml:mi>L</mml:mi><mml:mi>U</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mtable columnalign="left left" rowspacing=".2em" columnspacing="1em" displaystyle="false"><mml:mtr><mml:mtd><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mspace width="1em" /><mml:mi>x</mml:mi><mml:mo>&#x003E;</mml:mo><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mspace width="1em" /><mml:mi>x</mml:mi><mml:mo>&#x2264;</mml:mo><mml:mn>0</mml:mn></mml:mtd></mml:mtr></mml:mtable><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow></mml:math>
</disp-formula></p>
<fig id="fig-1">
<label>Figure 1</label>
<caption>
<title>Using ReLU as the activation function</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMES_15636-fig-1.png"/>
</fig>
</sec>
<sec id="s2_3_2">
<label>2.3.2</label>
<title>Exponential Linear Unit (ELU)</title>
<p>According to <xref ref-type="disp-formula" rid="eqn-2">Eq. (2)</xref>, a nonlinear value is provided as the output when the value is negative, as shown in <?A3B2 "fig2",5,"anchor"?><xref ref-type="fig" rid="fig-2">Fig. 2</xref>. Although the amount of calculation increases, the unit provides a smooth solution and solves the shortcomings of the ReLU.</p>
<p><disp-formula id="eqn-2">
<label>(2)</label>
<mml:math id="mml-eqn-2" display="block"><mml:mi>E</mml:mi><mml:mi>L</mml:mi><mml:mi>U</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mtable columnalign="left left" rowspacing=".2em" columnspacing="1em" displaystyle="false"><mml:mtr><mml:mtd><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mspace width="1em" /><mml:mi>x</mml:mi><mml:mo>&#x003E;</mml:mo><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi>&#x03C3;</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msup><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo><mml:mspace width="1em" /><mml:mi>x</mml:mi><mml:mo>&#x2264;</mml:mo><mml:mn>0</mml:mn></mml:mtd></mml:mtr></mml:mtable><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow></mml:math>
</disp-formula></p>
<fig id="fig-2">
	<label>Figure 2</label>
	<caption>
		<title>Using ELU as the activation function</title>
	</caption>
	<graphic mimetype="image" mime-subtype="png" xlink:href="CMES_15636-fig-2.png"/>
	</fig>

</sec>
<sec id="s2_3_3">
<label>2.3.3</label>
<title>Hyperbolic Tangent Function</title>
<p>The result calculated according to <xref ref-type="disp-formula" rid="eqn-3">Eq. (3)</xref> compresses the input values to between &#x2212;1 and 1, as shown in <?A3B2 "fig3",5,"anchor"?><xref ref-type="fig" rid="fig-3">Fig. 3</xref>. The effect is better when the feature is obvious. However, the gradient vanishing problem occurs when the value is larger or smaller when the function includes an exponential calculation with a longer calculation time.</p>
<p><disp-formula id="eqn-3">
<label>(3)</label>
<mml:math id="mml-eqn-3" display="block"><mml:mi>t</mml:mi><mml:mi>a</mml:mi><mml:mi>n</mml:mi><mml:mi>h</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:msup><mml:mi mathvariant="bold-italic">e</mml:mi><mml:mrow><mml:mi mathvariant="bold-italic">x</mml:mi></mml:mrow></mml:msup><mml:mo>&#x2212;</mml:mo><mml:msup><mml:mi mathvariant="bold-italic">e</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>x</mml:mi></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:msup><mml:mi mathvariant="bold-italic">e</mml:mi><mml:mrow><mml:mi mathvariant="bold-italic">x</mml:mi></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:msup><mml:mi mathvariant="bold-italic">e</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>x</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:mfrac></mml:math>
</disp-formula></p>
<fig id="fig-3">
<label>Figure 3</label>
<caption>
<title>Using Tanh as the activation function</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMES_15636-fig-3.png"/>
</fig>
</sec>
<sec id="s2_3_4">
<label>2.3.4</label>
<title>Sigmoid Function</title>
<p>The result calculated according to <xref ref-type="disp-formula" rid="eqn-4">Eq. (4)</xref> compresses the input value to between 0 and 1, as shown in <?A3B2 "fig4",5,"anchor"?><xref ref-type="fig" rid="fig-4">Fig. 4</xref>. The effect is better with the bi-partition, but the function is an exponential calculation. As a result, the calculation time is longer, and the gradient vanishing problem may occur.</p>
<p><disp-formula id="eqn-4">
<label>(4)</label>
<mml:math id="mml-eqn-4" display="block"><mml:mrow><mml:mi mathvariant="italic">S</mml:mi><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">g</mml:mi><mml:mi mathvariant="italic">m</mml:mi><mml:mi mathvariant="italic">o</mml:mi><mml:mi mathvariant="italic">i</mml:mi><mml:mi mathvariant="italic">d</mml:mi></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mn>1</mml:mn><mml:mo>+</mml:mo><mml:msup><mml:mi mathvariant="bold-italic">e</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>x</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:mfrac></mml:math>
</disp-formula></p>
<fig id="fig-4">
<label>Figure 4</label>
<caption>
<title>Using the sigmoid function as the activation function</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMES_15636-fig-4.png"/>
</fig>
</sec>
</sec>
</sec>
<sec id="s3">
<label>3</label>
<title>System Structure</title>
<p>The proposed system combines low-power Bluetooth radio frequency technology, Raspberry Pi embedded system, artificial intelligence and cloud database and other related equipment and technologies. It also uses artificial intelligence algorithms to improve the accuracy of indoor positioning.</p>
<sec id="s3_1">
<label>3.1</label>
<title>Hardware Architecture</title>
<p>The system architecture diagram is shown in <?A3B2 "fig5",5,"anchor"?><xref ref-type="fig" rid="fig-5">Fig. 5</xref>. The architecture of the proposed system incorporates four hardware devices: wearable devices worn by the user, information receivers for receiving the packets, routers for establishing the local networks and management computers with interface programs.</p>
<fig id="fig-5">
<label>Figure 5</label>
<caption>
<title>The indoor positioning hardware architecture</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMES_15636-fig-5.png"/>
</fig>
<p>The system continuously sends information packets to the information receiving device through the Bluetooth broadcast mode. The information receiver first uses the algorithm to calculate the RSSI value of the packet and sends the user&#x2019;s positioning information to the computer through the wired network. The management computers first analyze the user&#x2019;s status information in the packet, calculate the current user location through the positioning algorithm, display the user&#x2019;s location in the management interface program and finally upload the positioning information to the cloud database for storage.</p>
</sec>
<sec id="s3_2">
<label>3.2</label>
<title>Wearing Device</title>
<p>The device uses Texas Instruments&#x2019; CC2541 Bluetooth wireless chip, the core of which is an 8051 microcontroller. The power source is a 3.7 V 1000 mAh polymer lithium battery with a working endurance of about one month. The components of the wearable device are shown in <?A3B2 "fig6",5,"anchor"?><xref ref-type="fig" rid="fig-6">Fig. 6</xref>.</p>
<fig id="fig-6">
<label>Figure 6</label>
<caption>
<title>The components of the wearable device</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMES_15636-fig-6.png"/>
</fig>
<p>The embedded development software of the wearable device is the IAR Embedded Workbench F, and the program is developed using the C language.</p>
<p>For the system to have low power consumption, automatic detection of power and increased stability, three functions have been added: a low power consumption mode, ADC voltage detection and a watchdog timer (WDT). The low power consumption mode switches to sleep mode after completing an event to reduce power consumption. The ADC voltage detection checks whether or not the current battery power is sufficient when the system is turned on. The WDT checks whether or not the program continues to operate upon the completion of an event. The flowchart of the wearable device system is shown in <?A3B2 "fig7",5,"anchor"?><xref ref-type="fig" rid="fig-7">Fig. 7</xref>.</p>
<fig id="fig-7">
	<label>Figure 7</label>
	<caption>
		<title>Flowchart for the wearable device</title>
	</caption>
	<graphic mimetype="image" mime-subtype="png" xlink:href="CMES_15636-fig-7.png"/>
	</fig>
<sec id="s3_2_1">
<label>3.2.1</label>
<title>Voltage Detection</title>
<p>The Analog-to-Digital Converter (ADC) converts the analog voltage value into a digital value after comparing the reference voltage with the voltage to be measured. Since the power supply used by the wearing device is a 3.7 V polymer lithium battery, the ADC function is used to detect whether or not the battery is sufficient. In the proposed system, if the device&#x2019;s battery voltage is higher than 2.2 V upon being turned on, the battery indicator lights up to indicate that the battery is sufficient. On the contrary, the indicator light is off if the power supply is insufficient or the device malfunctions. The flowchart for power detection is shown in <?A3B2 "fig8",5,"anchor"?><xref ref-type="fig" rid="fig-8">Fig. 8</xref>.</p>
<fig id="fig-8">
<label>Figure 8</label>
<caption>
<title>Flowchart for power detection</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMES_15636-fig-8.png"/>
</fig>
</sec>
<sec id="s3_2_2">
<label>3.2.2</label>
<title>The Watchdog Timer (WDT)</title>
<p>The system is based on the information packet of the device. Therefore, a WDT is added to the program to ensure that the device sends packets accordingly. The timer is reset after the execution of each event designed by the developer. When an error occurs in the main program and the count value is not cleared for a certain time after the main program crashes, the WDT sends a signal to restart the system to return it to normal and ensure its stability. The flowchart of the watchdog timer is shown in <?A3B2 "fig9",5,"anchor"?><xref ref-type="fig" rid="fig-9">Fig. 9</xref>.</p>
<fig id="fig-9">
<label>Figure 9</label>
<caption>
<title>Flowchart of the watchdog timer</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMES_15636-fig-9.png"/>
</fig>
</sec>
<sec id="s3_2_3">
<label>3.2.3</label>
<title>Low-Power Sending Packet Program</title>
<p>The 8051 chip provides three low-power modes, as shown in <?A3B2 "tbl2",5,"anchor"?><xref ref-type="table" rid="table-2">Table 2</xref>. The system uses Power Mode 2 because Power Mode 1 wakes up every 4 microseconds, which leads to excessive power consumption by the chip. Since power consumption reduction is one of the system&#x2019;s goals, Power Mode 1 is not selected. The wake-up time for Power Mode 2 can be set according to the developer&#x2019;s needs to ensure low power consumption. Furthermore, since the system is designed to broadcast packet information once every 100 ms, it is designed to enter sleep mode at other times to reduce power consumption.</p>
<table-wrap id="table-2">
<label>Table 2</label>
<caption>
<title>Power mode</title>
</caption>
<table>
<colgroup>
<col/>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th>Mode</th>
<th>Function</th>
<th>Wake</th>
<th>Power</th>
</tr>
<tr>
<th></th>
<th></th>
<th></th>
<th>Consumption (<inline-formula id="ieqn-1000"><mml:math id="mml-ieqn-1000"><mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x0B5;</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula>A)</th>
</tr>
</thead>
<tbody>
<tr>
<td>Power Mode 1</td>
<td>Low-frequency oscillator (LFO)</td>
<td>Wake up every 4 ms</td>
<td>270</td>
</tr>
<tr>
<td></td>
<td>internal digital</td>
<td></td>
<td></td>
</tr>
<tr>
<td>Power Mode 2</td>
<td>Low-frequency oscillator</td>
<td>Set to wake up according</td>
<td>1</td>
</tr>
<tr>
<td></td>
<td>(LFO) sleep clock</td>
<td>to the sleep clock</td>
<td></td>
</tr>
<tr>
<td>Power Mode 3</td>
<td>None</td>
<td>External triggers</td>
<td>0.5</td>
</tr>
<tr>
<td></td>
<td></td>
<td>interrupt the program</td>
<td></td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
</sec>
<sec id="s3_3">
<label>3.3</label>
<title>Indoor Positioning System Process</title>
<p>The flowchart of the indoor positioning system is shown in <?A3B2 "fig10",5,"anchor"?><xref ref-type="fig" rid="fig-10">Fig. 10</xref>. The receiver receives the packet sent by the wearable device and discards the packet information not sent by the device. The receiver&#x2019;s internal algorithm then calculates the RSSI value of the received packet. Next, the RSSI value of the packet is sent to the computer interface program <italic>via</italic> the TCP/IP socket. Finally, the computer interface program uses a positioning algorithm to calculate the user&#x2019;s location and marks the location on the computer interface program. The management personnel monitors all users&#x2019; locations in the field through the interface program. When a user accidentally falls or activates the emergency button, the displayed user mark will be marked in different colors so that the management personnel can quickly proceed to the location and deal with the situation.</p>
<fig id="fig-10">
	<label>Figure 10</label>
	<caption>
		<title>Flowchart of the indoor positioning system</title>
	</caption>
	<graphic mimetype="image" mime-subtype="png" xlink:href="CMES_15636-fig-10.png"/>
	</fig>
<p>The flowchart of the management interface program system used by the management personnel is shown in <?A3B2 "fig11",5,"anchor"?><xref ref-type="fig" rid="fig-11">Fig. 11</xref>. The management personnel can check the user&#x2019;s position at any time through the management interface program to ensure the user&#x2019;s safety. After the user installs the wearable device, the device must be paired with the transmitter device through the management interface program. When a user enters the detection area, the user&#x2019;s location and status can be read on the management interface program. When the user leaves the detection area, the user must use the management interface program to unpair the wearable device and retrieve the device for later use.</p>
<fig id="fig-11">
<label>Figure 11</label>
<caption>
<title>Flowchart of the management interface program system</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMES_15636-fig-11.png"/>
</fig>
</sec>
<sec id="s3_4">
<label>3.4</label>
<title>The Information Receiver</title>
<p>The information receiver uses the Raspberry Pi 3B as its development platform. Due to the device&#x2019;s small size, strong computing power and multiple functions, the proposed system adds a USB Bluetooth receiver to its microcomputer and uses the C language to develop a packet receiving program. This program&#x2019;s main functions are to receive information packets from the wearable device, confirm that the packet information is correct, calculate the RSSI value of the packet, reassemble the packet information, and send it to the computer. The flowchart of the information receiver program is shown in <?A3B2 "fig12",5,"anchor"?><xref ref-type="fig" rid="fig-12">Fig. 12</xref>. The information receiver automatically finds and receives the packet information broadcasted by the wearable device, recombines the device number, the user status and the RSSI value of the packet information into a new information packet. Finally, it sends the new packet to the interface program for processing using the TCP/IP Socket.</p>
<fig id="fig-12">
<label>Figure 12</label>
<caption>
<title>Flowchart of the information receiver program</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMES_15636-fig-12.png"/>
</fig>
</sec>
<sec id="s3_5">
<label>3.5</label>
<title>The Indoor Positioning Model</title>
<p>The system uses artificial intelligence to establish a positioning model and finds an optimal algorithm to solve the environmental factors that affect indoor positioning. Spyder and Python are used as the development software to create the model. The system uses Tensorflow to build a model and various neural network models to find a high-accuracy model. The established model is reproduced in C/C&#x002B;&#x002B;, and the algorithm is applied to the indoor positioning system.</p>
<sec id="s3_5_1">
<label>3.5.1</label>
<title>Acquire Training Materials</title>
<p>Four or six information receivers can be placed depending on the requirements, and the experimental field is divided into thirty-two areas.</p>
<p>Two placements for the information receivers have been proposed to ensure the quality of information receivers. When the signals are affected by environmental factors, the placement with six information receivers can be used; otherwise, four information receivers are sufficient. In addition, since the information receivers are placed in an array, the experiment field can be divided into thirty-two blocks (Block 1&#x2013;Block 32) to cover all areas and avoid noise interference from the testing environment, as shown in <?A3B2 "fig13",5,"anchor"?><xref ref-type="fig" rid="fig-13">Fig. 13</xref>. According to these two placement methods, thirty-two regional receiver signals are acquired as the training materials, providing five thousand seven hundred thirty-two signals in total.</p>
<fig id="fig-13">
<label>Figure 13</label>
<caption>
<title>Information receiver placements and subdivisions (a) For four information receivers and (b) 6 information receivers</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMES_15636-fig-13.png"/>
</fig>
</sec>
<sec id="s3_5_2">
<label>3.5.2</label>
<title>Model Architecture</title>
<p>We have compared two neural network models to determine which area the user is in: the multi-layer perceptron (MLP) and recurrent neural network (RNN). Four thousand two hundred and eighty-three signals are used for training when building the architecture, and one thousand four hundred and ninety-nine three signals are used for testing the trained model architecture. The input unit is the receiver of either four or six signal strength values, and the output unit has thirty-two nodes to represent thirty-two areas. After modifying the number of nodes, the number of layers, and the activation function of the intermediate hidden layer, we use the framework provided by Tensorflow for training and select a model with low resource consumption and high accuracy. Regarding the setting of the number of hidden layers, we refer to the paper proposed by Xu et al. [<xref ref-type="bibr" rid="ref-15">15</xref>] in 2020.</p>
</sec>
<sec id="s3_5_3">
<label>3.5.3</label>
<title>Multi-Layer Perceptron Positioning Model</title>
<p>The architecture diagram of the multi-layer perceptron positioning model is shown in <?A3B2 "fig14",5,"anchor"?><xref ref-type="fig" rid="fig-14">Fig. 14</xref>. The input layer has either four or six signal strength values, and the output layer has thirty-two nodes. Each node needs to be multiplied and added with all input values.</p>
<fig id="fig-14">
<label>Figure 14</label>
<caption>
<title>The multi-layer perceptron positioning model</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMES_15636-fig-14.png"/>
</fig>
</sec>
<sec id="s3_5_4">
<label>3.5.4</label>
<title>Recurrent Neural Network Positioning Model</title>
<p>The architecture diagram of the recurrent neural network (RNN) positioning model is shown in <?A3B2 "fig15",5,"anchor"?><xref ref-type="fig" rid="fig-15">Fig. 15</xref>. The input layer has four or six signal strength values, and the output layer has thirty-two nodes. Since RNN is a recursive architecture, only one (out of four or six) signal strength value is input at a time. The positioning model input signal is only input once compared to the fall action, so it cannot find the correlation of the continuous signal. As a result, the MLP has a better effect than the RNN.</p>
<fig id="fig-15">
<label>Figure 15</label>
<caption>
<title>The recurrent neural network positioning model</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="CMES_15636-fig-15.png"/>
</fig>
</sec>
</sec>
</sec>
<sec id="s4">
<label>4</label>
<title>Experimental Result and Discussion</title>
<sec id="s4_1">
<label>4.1</label>
<title>Acquire Indoor Positioning Model Test Data</title>
<p>There are two ways to place the information receivers, using either four or six receivers and dividing the experimental field into thirty-two areas. The receivers are placed in the experimental field, as shown in <?A3B2 "fig16",5,"anchor"?><xref ref-type="fig" rid="fig-16">Fig. 16</xref>.</p>
<fig id="fig-16">
	<label>Figure 16</label>
	<caption>
		<title>The placement of receivers in the experimental field</title>
	</caption>
	<graphic mimetype="image" mime-subtype="png" xlink:href="CMES_15636-fig-16.png"/>
	</fig>
<p>The locations of the receivers are at 1, 3, 4 and 6 for the placement with four information receivers and at 1, 2, 3, 4, 5, and 6 for the placement with six information receivers. The training materials also adapt to the thirty-two-area receiver signals based on these two placement methods. Each area obtains one hundred seventy-five to one hundred and eighty-two data values, and a total of five thousand seven hundred thirty-two signals are acquired. The signal values of thirty-two areas are shown in <?A3B2 "fig17",5,"anchor"?><xref ref-type="fig" rid="fig-17">Fig. 17</xref>.</p>
<fig id="fig-17">
		<label>Figure 17</label>
		<caption>
			<title>The signal values from the 32 areas</title>
		</caption>
		<graphic mimetype="image" mime-subtype="png" xlink:href="CMES_15636-fig-17.png"/>
		</fig>
</sec>
<sec id="s4_2">
<label>4.2</label>
<title>The Indoor Positioning Model Accuracy and Resource Consumption</title>
<p>The model is divided into two structures, with four or six information receivers, to select the optimal number for information receivers placement. The wearable device is updated once per second, and the calculations are performed by a computer. As such, the architecture is expected to consume a lot of resources.</p>
<sec id="s4_2_1">
<label>4.2.1</label>
<title>The MLP Indoor Positioning Model Accuracy and Resource Consumption</title>
<p>The MLP is a fully connected layer architecture, and the number of weights on a single node in the hidden layer is the number of input nodes. For example, the hidden layer has six input units, which means that each node of the layer has six weight values and one deviation value. The MLP model training architecture is shown in <?A3B2 "tbl3",5,"anchor"?><xref ref-type="table" rid="table-3">Table 3</xref>. Since there are only four or six input data values, the model needs more features to learn 32 different regions. The structure has a two-layer design to filter the data and preserve the features as the data is not filtered.</p>
<table-wrap id="table-3">
<label>Table 3</label>
<caption>
<title>The MLP model training architecture</title>
</caption>
<table>
<colgroup>
<col/>
<col/>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th>Number of</th>
<th>Number of</th>
<th>Number of</th>
<th>Dropout</th>
<th>Activation</th>
</tr>
<tr>
<th>receivers</th>
<th>layers</th>
<th>nodes</th>
<th></th>
<th>function</th>
</tr>
</thead>
<tbody>
<tr>
<td>6</td>
<td>2</td>
<td>1<sup>st</sup> layer 24 nodes</td>
<td>0.9</td>
<td>Relu</td>
</tr>
<tr>
<td></td>
<td></td>
<td>2<sup>nd</sup> layer 36 nodes</td>
<td></td>
<td></td>
</tr>
<tr>
<td>6</td>
<td>2</td>
<td>1<sup>st</sup> layer 32 nodes</td>
<td>0.9</td>
<td>Relu</td>
</tr>
<tr>
<td></td>
<td></td>
<td>2<sup>nd</sup> layer 48 nodes</td>
<td></td>
<td></td>
</tr>
<tr>
<td>4</td>
<td>2</td>
<td>1<sup>st</sup> layer 24 nodes</td>
<td>0.9</td>
<td>elu</td>
</tr>
<tr>
<td></td>
<td></td>
<td>2<sup>nd</sup> layer 36 nodes</td>
<td></td>
<td></td>
</tr>
<tr>
<td>4</td>
<td>2</td>
<td>1<sup>st</sup> layer 32 nodes</td>
<td>0.9</td>
<td>elu</td>
</tr>
<tr>
<td></td>
<td></td>
<td>2<sup>nd</sup> layer 48 nodes</td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
</table-wrap>	
<p>The MLP model training results are shown in <?A3B2 "tbl4",5,"anchor"?><xref ref-type="table" rid="table-4">Table 4</xref>, where the accuracy obtained by six information receivers is higher than that of the four receivers. The reason being that there are more input data with more extracted features, leading to a better learning effect.</p>
<table-wrap id="table-4">
<label>Table 4</label>
<caption>
<title>The MLP model training result</title>
</caption>
<table>
<colgroup>
<col/>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th>Number of</th>
<th>Architecture</th>
<th>Training</th>
<th>Test</th>
</tr>
<tr>
<th>receivers</th>
<th></th>
<th>accuracy (%)</th>
<th>accuracy (%)</th>
</tr>
</thead>
<tbody>
<tr>
<td>6</td>
<td>1<sup>st</sup> layer 24 hidden nodes</td>
<td>97.9</td>
<td>96.2</td>
</tr>
<tr>
<td></td>
<td>2<sup>nd</sup> layer 36 hidden nodes</td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td>32 output nodes</td>
<td></td>
<td></td>
</tr>
<tr>
<td>6</td>
<td>1<sup>st</sup> layer 32 hidden nodes</td>
<td>99</td>
<td>96.9</td>
</tr>
<tr>
<td></td>
<td>2<sup>nd</sup> layer 48 hidden nodes</td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td>32 output nodes</td>
<td></td>
<td></td>
</tr>
<tr>
<td>4</td>
<td>1<sup>st</sup> layer 24 hidden nodes</td>
<td>96</td>
<td>93.5</td>
</tr>
<tr>
<td></td>
<td>2<sup>nd</sup> layer 36 hidden nodes</td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td>32 output nodes</td>
<td></td>
<td></td>
</tr>
<tr>
<td>4</td>
<td>1<sup>st</sup> layer 32 hidden nodes</td>
<td>96.7</td>
<td>94</td>
</tr>
<tr>
<td></td>
<td>2<sup>nd</sup> layer 48 hidden nodes</td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td>32 output nodes</td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
</table-wrap>
<p>The model resources for the MLP implementation is shown in <?A3B2 "tbl5",5,"anchor"?><xref ref-type="table" rid="table-5">Table 5</xref>, which shows all weights and calculation times of the MLP model. Since the algorithm is performed on a computer, resource cost is not the primary concern, and the calculation time is much shorter than the time required to update the interface program.</p>
<table-wrap id="table-5">
<label>Table 5</label>
<caption>
<title>The model resources for the MLP implementation</title>
</caption>
<table>
<colgroup>
<col/>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th>Number of</th>
<th>Architecture</th>
<th>Number of</th>
<th>Calculation</th>
</tr>
<tr>
<th>receivers</th>
<th></th>
<th>weights</th>
<th>time (ms)</th>
</tr>
</thead>
<tbody>
<tr>
<td>6</td>
<td>1<sup>st</sup> layer 24 hidden nodes</td>
<td>1068 hidden layers</td>
<td>4</td>
</tr>
<tr>
<td></td>
<td>2<sup>nd</sup> layer 36 hidden nodes</td>
<td>1184 output layers</td>
<td></td>
</tr>
<tr>
<td></td>
<td>32 output nodes</td>
<td></td>
<td></td>
</tr>
<tr>
<td>6</td>
<td>1<sup>st</sup> layer 32 hidden nodes</td>
<td>1808 hidden layers;</td>
<td>4.8</td>
</tr>
<tr>
<td></td>
<td>2<sup>nd</sup> layer 48 hidden nodes</td>
<td>1568 output layers</td>
<td></td>
</tr>
<tr>
<td></td>
<td>32 output nodes</td>
<td></td>
<td></td>
</tr>
<tr>
<td>4</td>
<td>1<sup>st</sup> layer 24 hidden nodes</td>
<td>1020 hidden layers</td>
<td>3.9</td>
</tr>
<tr>
<td></td>
<td>2<sup>nd</sup> layer 36 hidden nodes</td>
<td>1184 output layers</td>
<td></td>
</tr>
<tr>
<td></td>
<td>32 output nodes</td>
<td></td>
<td></td>
</tr>
<tr>
<td>4</td>
<td>1<sup>st</sup> layer 32 hidden nodes</td>
<td>1744 hidden layers</td>
<td>4.5</td>
</tr>
<tr>
<td></td>
<td>2<sup>nd</sup> layer 48 hidden nodes</td>
<td>1568 output layers</td>
<td></td>
</tr>
<tr>
<td></td>
<td>32 output nodes</td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s4_2_2">
<label>4.2.2</label>
<title>The RNN Indoor Positioning Model Accuracy and Resource Consumption</title>
<p>The indoor positioning model does not implement the algorithm due to the low training accuracy. The model architecture of RNN training is shown in <?A3B2 "tbl6",5,"anchor"?><xref ref-type="table" rid="table-6">Table 6</xref>. In terms of model design, it also uses two layers like the MLP and performs filtering and features retention simultaneously.</p>
<table-wrap id="table-6">
	<label>Table 6</label>
	<caption>
		<title>The model architecture of RNN training</title>
	</caption>
	
		
			<table>
				<colgroup>
					<col/>
						<col/>
							<col/>
								<col/>
									<col/>
									</colgroup>
									<thead>
										<tr>
											<th>Number of</th>
											<th>Number of</th>
											<th>Number of</th>
											<th>Dropout</th>
											<th>Activation</th>
										</tr>
										<tr>
											<th>receivers</th>
											<th>layers</th>
											<th>nodes</th>
											<th></th>
											<th>function</th>
										</tr>
									</thead>
									<tbody>
										<tr>
											<td>6</td>
											<td>2</td>
											<td>1<sup>st</sup> layer 24 nodes</td>
											<td>0.9</td>
											<td>Relu</td>
										</tr>
										<tr>
											<td></td>
											<td></td>
											<td>2<sup>nd</sup> layer 36 nodes</td>
											<td></td>
											<td></td>
										</tr>
										<tr>
											<td>6</td>
											<td>2</td>
											<td>1<sup>st</sup> layer 32 nodes</td>
											<td>0.9</td>
											<td>Relu</td>
										</tr>
										<tr>
											<td></td>
											<td></td>
											<td>2<sup>nd</sup> layer 48 nodes</td>
											<td></td>
											<td></td>
										</tr>
										<tr>
											<td>4</td>
											<td>2</td>
											<td>1<sup>st</sup> layer 24 nodes</td>
											<td>0.9</td>
											<td>Relu</td>
										</tr>
										<tr>
											<td></td>
											<td></td>
											<td>2<sup>nd</sup> layer 36 nodes</td>
											<td></td>
											<td></td>
										</tr>
										<tr>
											<td>4</td>
											<td>2</td>
											<td>1<sup>st</sup> layer 32 nodes</td>
											<td>0.9</td>
											<td>Relu</td>
										</tr>
										<tr>
											<td></td>
											<td></td>
											<td>2<sup>nd</sup> layer 48 nodes</td>
											<td></td>
											<td></td>
										</tr>
									</tbody>
								</table>
							
						</table-wrap>
<p>The RNN model training results are shown in <?A3B2 "tbl7",5,"anchor"?><xref ref-type="table" rid="table-7">Table 7</xref>. From the result, it can be seen that the learning effect is undesirable. The RNN&#x2019;s strength lies in its ability to retain the previous calculation features, and the model cannot be used fully when the data is input only once. Since each hidden node is divided into the input weight and historical calculation weight, the data representing the history is 0, leading to a calculated value of 0 and no memorized historical features. As a result, the accuracy of the calculation is very low.</p>
<table-wrap id="table-7">
<label>Table 7</label>
<caption>
<title>The RNN model training results</title>
</caption>
<table>
<colgroup>
<col/>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th>Number of</th>
<th>Architecture</th>
<th>Training</th>
<th>Test</th>
</tr>
<tr>
<th>receivers</th>
<th></th>
<th>accuracy (%)</th>
<th>accuracy (%)</th>
</tr>
</thead>
<tbody>
<tr>
<td>6</td>
<td>1<sup>st</sup> layer 24 hidden nodes</td>
<td>53.5</td>
<td>51</td>
</tr>
<tr>
<td></td>
<td>2<sup>nd</sup> layer 36 hidden nodes</td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td>32 output nodes</td>
<td></td>
<td></td>
</tr>
<tr>
<td>6</td>
<td>1<sup>st</sup> layer 32 hidden nodes</td>
<td>68</td>
<td>66</td>
</tr>
<tr>
<td></td>
<td>2<sup>nd</sup> layer 48 hidden nodes</td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td>32 output nodes</td>
<td></td>
<td></td>
</tr>
<tr>
<td>4</td>
<td>1<sup>st</sup> layer 24 hidden nodes</td>
<td>48.6</td>
<td>46</td>
</tr>
<tr>
<td></td>
<td>2<sup>nd</sup> layer 36 hidden nodes</td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td>32 output nodes</td>
<td></td>
<td></td>
</tr>
<tr>
<td>4</td>
<td>1<sup>st</sup> layer 32 hidden nodes</td>
<td>55</td>
<td>5</td>
</tr>
<tr>
<td></td>
<td>2<sup>nd</sup> layer 48 hidden nodes</td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td>32 output nodes</td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s4_2_3">
<label>4.2.3</label>
<title>The Indoor Positioning Model Comparison</title>
<p>The comparisons of the three architectures are shown in <?A3B2 "tbl8",5,"anchor"?><xref ref-type="table" rid="table-8">Table 8</xref>. In the MLP implementation, the architectures with six receivers and four receivers are selected; and in the RNN implementation, the architecture with the best effect is selected for comparison. The accuracy rate of the MLP&#x2019;s user positioning architecture with six receivers is about 2.5% higher than that of the four receivers architecture, with just slightly more resource consumption of weights and calculation times. The accuracy rate of the RNN&#x2019;s user positioning architecture is about 30% lower than that of the MLP, with significantly more weights and calculation times. According to the comparison result, the MLP&#x2019;s user positioning architecture is chosen for the proposed system. The cost can be reduced using the four receivers implementation; otherwise, six receivers will be used.</p>
<table-wrap id="table-8">
<label>Table 8</label>
<caption>
<title>The Comparison of the indoor positioning architectures</title>
</caption>
<table>
<colgroup>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th>Comparison</th>
<th>Model</th>
<th>Number of</th>
<th>Number of</th>
<th>Consumption</th>
<th>Accuracy</th>
</tr>
<tr>
<th>items</th>
<th></th>
<th>nodes</th>
<th>weights</th>
<th>time (ms)</th>
<th>rate (%)</th>
</tr>
</thead>
<tbody>
<tr>
<td>MLP positioning</td>
<td>6 receivers</td>
<td>1<sup>st</sup> layer 32 hidden nodes</td>
<td>3376</td>
<td>4.8</td>
<td>97.95</td>
</tr>
<tr>
<td>architecture</td>
<td></td>
<td>2<sup>nd</sup> layer 48 hidden nodes</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td>32 output nodes</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>MLP positioning</td>
<td>4 receivers</td>
<td>1<sup>st</sup> layer 32 hidden nodes</td>
<td>3312</td>
<td>4.5</td>
<td>95.35</td>
</tr>
<tr>
<td>architecture</td>
<td></td>
<td>2<sup>nd</sup> layer 48 hidden nodes</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td>32 output nodes</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>RNN positioning</td>
<td>6 receivers</td>
<td>1<sup>st</sup> layer 32 hidden nodes</td>
<td>6704</td>
<td>9</td>
<td>67</td>
</tr>
<tr>
<td>architecture</td>
<td></td>
<td>2<sup>nd</sup> layer 48 hidden nodes</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td>32 output nodes</td>
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
</sec>
</sec>
<sec id="s5">
<label>5</label>
<title>Conclusion</title>
<p>This paper proposes a novel indoor positioning system using artificial intelligence algorithms and various neural network models for learning a low-resource, high-accuracy algorithm. The proposed algorithm can build effective and resource-efficient models to be used in different applications. Furthermore, experiments have shown that the number of receivers can vary according to the field&#x2019;s size to implement the system at low costs. The system also provides a convenient user interface for the management personnel to quickly and effectively solve abnormal user problems.</p>
<p>According to comparisons of various indoor positioning frameworks, we have found that the MLP architecture is superior to the RNN architecture regardless of whether four or six receivers are used. Therefore, we have decided to use the MLP for the indoor positioning framework in this work. The proposed system has achieved a 95% positioning accuracy with four receivers and close to 98% accuracy with six receivers. In conclusion, the proposed indoor positioning system has significantly improved accuracy compared to previous indoor positioning systems.</p>
</sec>
</body>
<back>
<fn-group>
<fn fn-type="other">
<p><bold>Funding Statement:</bold> The authors received no specific funding for this study.</p>
</fn>
<fn fn-type="conflict">
<p><bold>Conflicts of Interest:</bold> The authors declare that they have no conflicts of interest to report regarding the present study.</p>
</fn>
</fn-group>
<ref-list content-type="authoryear">
<title>References</title>
<ref id="ref-1"><label>1.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Estrin</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Culler</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Pister</surname>, <given-names>K.</given-names></string-name>, <string-name><surname>Sukhatme</surname>, <given-names>G.</given-names></string-name></person-group> (<year>2002</year>). <article-title>Connecting the physical world with pervasive networks</article-title>. <source>IEEE Pervasive Computing</source><italic>,</italic> <volume>1</volume><italic>(</italic><issue>1</issue><italic>),</italic> <fpage>59</fpage>&#x2013;<lpage>69</lpage>. DOI <pub-id pub-id-type="doi">10.1109/MPRV.2002.993145</pub-id>.</mixed-citation></ref>
<ref id="ref-2"><label>2.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Pottie</surname>, <given-names>G. J.</given-names></string-name>, <string-name><surname>Kaiser</surname>, <given-names>W. J.</given-names></string-name></person-group> (<year>2000</year>). <article-title>Wireless integrated network sensors</article-title>. <source>Communications of the ACM</source><italic>,</italic> <volume>43</volume><italic>(</italic><issue>5</issue><italic>),</italic> <fpage>51</fpage>&#x2013;<lpage>58</lpage>. DOI <pub-id pub-id-type="doi">10.1145/332833.332838</pub-id>.</mixed-citation></ref>
<ref id="ref-3"><label>3.</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>Tsuboi</surname>, <given-names>T.</given-names></string-name>, <string-name><surname>Ueda</surname>, <given-names>H.</given-names></string-name></person-group> (<year>2013</year>). <article-title>Indoor trace tracking algorithm with pattern-based positioning technique of UHF band RFID</article-title>. <conf-name>19th Asia-Pacific Conference on Communications</conf-name>, pp. <fpage>339</fpage>&#x2013;<lpage>344</lpage>, <publisher-loc>Bali Island, Indonesia</publisher-loc>.</mixed-citation></ref>
<ref id="ref-4"><label>4.</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>Schafermeyer</surname>, <given-names>E. R.</given-names></string-name>, <string-name><surname>Wan</surname>, <given-names>E. A.</given-names></string-name>, <string-name><surname>Samin</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Zentzis</surname>, <given-names>N.</given-names></string-name>, <string-name><surname>Preiser</surname>, <given-names>N.</given-names></string-name> <etal>et al.</etal></person-group> (<year>2015</year>). <article-title>Multi-resident identification using device-free IR and RF fingerprinting</article-title>. <conf-name>Annual International Conference of the IEEE Engineering in Medicine and Biology Society</conf-name>, pp. <fpage>5481</fpage>&#x2013;<lpage>5484</lpage>. <conf-loc>Milan, Italy</conf-loc>.</mixed-citation></ref>
<ref id="ref-5"><label>5.</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>Ma</surname>, <given-names>W.</given-names></string-name>, <string-name><surname>Zhu</surname>, <given-names>X.</given-names></string-name>, <string-name><surname>Huang</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Shou</surname>, <given-names>G.</given-names></string-name></person-group> (<year>2015</year>). <article-title>Detecting pedestrians behavior in building based on Wi-Fi signals</article-title>. <conf-name>IEEE International Conference on Smart City/SocialCom/SustainCom</conf-name>, pp. <fpage>1</fpage>&#x2013;<lpage>8</lpage>. <conf-loc>Chengdu, China</conf-loc>.</mixed-citation></ref>
<ref id="ref-6"><label>6.</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>Kim</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Ji</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Jeon</surname>, <given-names>J. I.</given-names></string-name>, <string-name><surname>Park</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Cho</surname>, <given-names>Y.</given-names></string-name></person-group> (<year>2016</year>). <article-title>K-NN based positioning performance estimation for fingerprinting localization</article-title>. <conf-name>Eighth International Conference on Ubiquitous and Future Networks</conf-name>, pp. <fpage>468</fpage>&#x2013;<lpage>470</lpage>. <publisher-loc>Vienna, Austria</publisher-loc>.</mixed-citation></ref>
<ref id="ref-7"><label>7.</label><mixed-citation publication-type="book"><person-group person-group-type="author"><string-name><surname>Alkandari</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Basu</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Hasan</surname>, <given-names>S. F.</given-names></string-name></person-group> (<year>2017</year>). <chapter-title>A Wi-Fi based passive technique for speed estimation in indoor environments</chapter-title>. <source>Workshop on recent trends in telecommunications research</source>. pp. <fpage>1</fpage>&#x2013;<lpage>3</lpage>.</mixed-citation></ref>
<ref id="ref-8"><label>8.</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>Kosba</surname>, <given-names>A. E.</given-names></string-name>, <string-name><surname>Saeed</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Youssef</surname>, <given-names>M.</given-names></string-name></person-group> (<year>2012</year>). <article-title>Robust WLAN device-free passive motion detection</article-title>. <conf-name>IEEE Wireless Communications and Networking Conference</conf-name>, pp. <fpage>3284</fpage>&#x2013;<lpage>3289</lpage>. <conf-loc>Paris, France</conf-loc>.</mixed-citation></ref>
<ref id="ref-9"><label>9.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Oguntala</surname>, <given-names>G.</given-names></string-name>, <string-name><surname>Obeidat</surname>, <given-names>H.</given-names></string-name>, <string-name><surname>Al Khambashi</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Elmegri</surname>, <given-names>F.</given-names></string-name>, <string-name><surname>Abd-Alhameed</surname>, <given-names>R. A.</given-names></string-name> <etal>et al.</etal></person-group> (<year>2017</year>). <article-title>Design framework for unobtrusive patient location recognition using passive RFID and particle filtering</article-title>. <source>Internet Technologies and Applications</source><italic>,</italic> pp. <fpage>212</fpage>&#x2013;<lpage>217</lpage>. <conf-loc>Wrexham, UK</conf-loc>.</mixed-citation></ref>
<ref id="ref-10"><label>10.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Cui</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Gao</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Zheng</surname>, <given-names>Y.</given-names></string-name></person-group> (<year>2018</year>). <article-title>Application of ZigBee location fingerprint method in positioning of railway tunnel staff</article-title>. <source>Chinese Automation Congress</source><italic>,</italic> pp. <fpage>3283</fpage>&#x2013;<lpage>3287</lpage>. <conf-loc>Xi'an, China</conf-loc>.</mixed-citation></ref>
<ref id="ref-11"><label>11.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Al-Khaleefa</surname>, <given-names>A. S.</given-names></string-name>, <string-name><surname>Ahmad</surname>, <given-names>M. R.</given-names></string-name>, <string-name><surname>Isa</surname>, <given-names>A. A. M.</given-names></string-name>, <string-name><surname>Al-Saffar</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Esa</surname>, <given-names>M. R. M.</given-names></string-name> <etal>et al.</etal></person-group> (<year>2019</year>). <article-title>MFA-OSELM algorithm for WiFi-based indoor positioning system</article-title>. <source>Information-An International Interdisciplinary Journal</source><italic>,</italic> <volume>10</volume><italic>(</italic><issue>4</issue><italic>),</italic> <fpage>146</fpage>. DOI <pub-id pub-id-type="doi">10.3390/info10040146</pub-id>.</mixed-citation></ref>
<ref id="ref-12"><label>12.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Xue</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Sun</surname>, <given-names>W.</given-names></string-name>, <string-name><surname>Yu</surname>, <given-names>H.</given-names></string-name>, <string-name><surname>Tang</surname>, <given-names>H.</given-names></string-name>, <string-name><surname>Lin</surname>, <given-names>A.</given-names></string-name> <etal>et al.</etal></person-group> (<year>2019</year>). <article-title>Locate the mobile device by enhancing the WiFi-based indoor localization model</article-title>. <source>IEEE Internet of Things Journal</source><italic>,</italic> <volume>6</volume><italic>(</italic><issue>5</issue><italic>),</italic> <fpage>8792</fpage>&#x2013;<lpage>8803</lpage>. DOI <pub-id pub-id-type="doi">10.1109/JIOT.2019.2923433</pub-id>.</mixed-citation></ref>
<ref id="ref-13"><label>13.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Hopfield</surname>, <given-names>J. J.</given-names></string-name></person-group> (<year>1982</year>). <article-title>Neural networks and physical systems with emergent collective computational abilities</article-title>. <source>Proceedings of the National Academy of Sciences of the United States of America</source><italic>,</italic> <volume>79</volume><italic>(</italic><issue>8</issue><italic>),</italic> <fpage>2554</fpage>&#x2013;<lpage>2558</lpage>. DOI <pub-id pub-id-type="doi">10.1073/pnas.79.8.2554</pub-id>.</mixed-citation></ref>
<ref id="ref-14"><label>14.</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name><surname>Jordan</surname>, <given-names>M. I.</given-names></string-name></person-group> (<year>1986</year>). <article-title>Serial order: A parallel distributed processing approach (No. 8604 ICS Technical Report)</article-title>. <comment>University of California at San Diego, La Jolla, CA</comment>.</mixed-citation></ref>
<ref id="ref-15"><label>15.</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Xu</surname>, <given-names>P.</given-names></string-name>, <string-name><surname>Aamir</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Shabri</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Ishaq</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Aslam</surname>, <given-names>A.</given-names></string-name> <etal>et al.</etal></person-group> (<year>2020</year>). <article-title>A new approach for reconstruction of IMFs of decomposition and ensemble model for forecasting crude oil prices</article-title>. <source>Mathematical Problems in Engineering</source><italic>,</italic> <volume>2020</volume><italic>(</italic><issue>3</issue><italic>),</italic> <fpage>1</fpage>&#x2013;<lpage>23</lpage>. DOI <pub-id pub-id-type="doi">10.1155/2020/1325071</pub-id>.</mixed-citation></ref>
</ref-list>
</back>
</article>
