## 3 Proposal Architecture
### Mobile Monitoring Node  
The mobile monitoring node consists of an LCP2148 ARM7 micro controller, a radio that is 802.15.4 compatible and a radio that is 802.15.1 compatible, an energy module and a pair of sensors (accelerometer and heart rate sensor). The node is programmed to constantly monitor the values of the heart rate sensor and the accelerometer to detect abnormal values which could indicate an event that may compromise the user's safety. Figure 2 illustrates the Mobile Monitoring Node.  
The triple axis accelerometer contained in the mobile device is used to detect rapid accelerations. These sensors are normally fabricated with small margins of error, which can be compensated for by means of software [25]. To calibrate each axis of the accelerometer, it is necessary to apply a different compensation value (offset) for each axis, (\(a_{x}=1\) g, \(a_{y}=0\) g, \(a_{z}=0\) g), (\(a_{x}=0\) g, \(a_{y}=1\) g, \(a_{z}=0\) g), (\(a_{x}=0\) g, \(a_{y}=0\) g, \(a_{z}=1\) g). In order to deliver these samples, the micro-controller's Analogical to Digital Converter (ADC) is configured to 4.5 MHz with a 10-bit resolution, which obtains the 3 axes at a 10 ms frequency and stores them. In order to calculate the offset, the X, Y and Z-axes were fixed at 0 g. The value of the ADC in the Y-axis when the acceleration is equal to 0 g is 505; the value of the  
Figure 1: The proposed system architecture.  
ADC in the X-axis when the value is 0 g is of 510; the value of the ADC in the Z-axis with a 0 g acceleration is 515. Consequently, the three-axes of the accelerometer and the ADC values of each axis can be adjusted using the following formulas.  
The calibration formula for the Y-axis is:  
\[a_{y}=\frac{\left(\frac{ADC_{y}\times 3.3}{1024}\right)-1.63}{0.33} \tag{1}\]  
The calibration formula for the X-axis is:  
\[a_{x}=\frac{\left(\frac{ADC_{y}\times 3.3}{1024}\right)-1.64}{0.33} \tag{2}\]  
The calibration formula for the Z-axis is:  
\[a_{z}=\frac{\left(\frac{ADC_{z}\times 3.3}{1024}\right)-1.65}{0.33} \tag{3}\]  
The Signal Magnitude Vector (SMV) was calculated to detect a possible fall, which, according to [26], is SMV \(>\) 1.8 g.  
The formula to calculate the SMV is:  
\[SMV=\sqrt{a_{x}^{2}+a_{y}^{2}+a_{z}^{2}} \tag{4}\]  
Once a possible fall has been detected, the PNR algorithm determines if a fall has actually occurred. The PNR algorithm is shown in Figure 3. The PNR algorithm activates when the SMV readings average 1 g to determine if the individual is on the floor and hurt due to an accident before it transmits a distress signal. [PERSON]'s algorithm, [10] which was used to validate falls, uses a sample rate of 60 SMV entries and compares each incoming entry with the 59 preceding samples. If the product of these  
Figure 2: Block diagram of the Mobile Monitoring Node.  
samples is not above or the same as 0.13 g, a value that is easily surpassed if the user stands up or walks normally, an alert will be sent to the network.  
To detect abnormalities in the user's heart rate, a monitoring threshold was established based on beats per minute (BPM) measurements. One common heart rate abnormality is bradycardia, which is lower than 60 BPM for individuals at rest, although this condition may vary with age and daily habits of the individual. Older people, in particular, have bradycardia if their value drops below 50 BPM because the heart weakens and the heartbeat slows as persons age [27].  
Another common heart beat abnormality is tachycardia. Adults with tachycardia have over 100 BPM [28]. As with bradycardia, a series of habits and age influence the values; however, these factors do not require in-depth study. Based on other research, the acceptable limits for tachycardia and bradycardia were set at 100 BPM and 60 BPM, respectively. Any values above or below the established limits would activate the alarm.  
Figure 3: (**a**) Fall detection algorithm (part 1); (**b**) Fall detection algorithm (part 2).