Framework for Channel Attenuation Model Final Paper
1. A Framework For Validating Wireless Channel
Attenuation Models For Body Sensor Networks
Khade L. Grant1
, Philip K. Asare2
, John Lach, Ph.D.2
1. Department of Biomedical Engineering, Virginia Commonwealth University, Richmond, VA 23284
2. Department of Electrical and Computer Engineering, University of Virginia, Charlottesville, VA 22904
Abstract
Channel attenuation is the gradual loss in intensity of a signal as it propagates
along a channel. It poses a significant challenge for wireless communication in Body
Sensor Networks (BSNs). Channel attenuation affects the strength of the received
signal and can cause the signal along with the information it carries to be lost. The main
objective of this project is to develop a framework for the validation of wireless channel
attenuation models that determine how channel attenuation in BSNs is affected by
certain variables of interest like distance, orientation, and environmental properties like
the size and reflectivity of the environment. MATLAB was used to develop the software
that performed this model validation. The software uses different mathematical
measures of similarity to compare the outputs from a test model to a set of reference
signals to determine how similar these are, mainly with respect to the timing and value
features of the signals. Preliminary results are consistent with our expectation of how
such a validation framework should function. This software will enable us and others to
evaluate channel attenuation models that will be used in BSN simulators to make
simulations more realistic by adding an attenuation feature to them.
Introduction
Wireless communication has a very important role in medical issues. For
example, a pacemaker or cardiac defibrillator implemented with a wireless link allows a
physician to more easily monitor a patient’s response to therapy and adjust device
2. performance as required. Body Sensor Networks (BSNs) use wireless communication to
send and receive signals that contain medical, physiological, environmental, and inertial
data. In BSNs, wireless communication provides more flexibility than previous BSNs
with wires. Wireless sensor nodes are much more comfortable and much less
cumbersome on human subjects. They also make it much easier and efficient to add
new sensors to the communication network. Instead of having to rewire all the sensors,
a wireless connection can easily be made for additional sensors. BSNs are mainly used
to provide a continuous human health monitoring system for early detection of medical
conditions, computer-assisted rehabilitation, personal health monitoring, assisted living,
and physical fitness assessments.
One of the greatest problems with wireless communication, specifically in body
sensor networks, is channel attenuation. Channel attenuation, measured in decibels
(dB), is the gradual loss in intensity of a signal as it propagates along a channel. Figure
1 shows an illustration of attenuation between a transmitting and receiving sensor.
3. Figure 1. Attenuation of link or channel. This figure illustrates attenuation between a transmitting and receiving
channel (Tallinn University, n.d.)
As the signal propagates from the transmitted sensor to receiving sensor, the intensity
of the signal gradually decreases.
Channel attenuation has significant effects in Body Sensor Network research,
simulations, and modeling. According to previous research on attenuation in BSNs, a
number of individual factors contribute to channel attenuation [3]. Position, orientation,
multipath, Line of Sight (LOS), Non-Line of Sight (NLOS), size and reflectivity of the
environment, noise, and interference are some of the key factors that contribute to
attenuation. During experimental research, if the attenuation is too high, the transmitted
signal can become too low by the time it is received for any significant communication to
occur between the transmitting and receiving sensor nodes. This can cause the
information carried by the signal to be lost. It is important to be able to determine the
4. channel attenuation in various positions, environments, and circumstances to ensure
the transmitted signals are not lost en route to the receiving sensor. In the modeling and
simulations of BSNs, like Body-Sim (a multi-domain modeling and simulation framework
for the research and design of BSNs), the effects of channel attenuation need to be
included in the simulations in order to make them more realistic. Attenuation models
need to be developed in order to address these two challenges. In previous research,
models that approximate how channel attenuation is affected by those factors of interest
have already begun to be developed [2]. However, even before attenuation models are
created, it is important to have a way of determining how valid the models are.
The main objective of this research project is to develop a model validation
framework for determining how accurate various future attenuation models are at
predicting how channel attenuation is affected by certain variables of interest, like
distance between sensors, orientation, LOS, NLOS, multipath, size and reflectivity of the
environment, interference, noise and others. We will develop this framework by creating
a model validation software that will ultimately test the validity of models by running
various signal analysis tests on their predicted signals and the actual signals from
experiments. We are mainly concerned about the similarities in the timing and value
aspects of the signals.
Once the model validation software is designed, attenuation models will be input
to the software to determine how valid they are. This is important since we need to
make sure that time is not wasted by using invalid attenuation models for simulation and
other various purposes.
Materials and Methods
The model validation software (modelTEST ) was created using MATLAB. A set
of generated data (data_set_actual ) containing ten signals made of noisy sinusoid
waves with frequencies varying from 9Hz to 19Hz were generated to approximate
5. wireless channel data. The generated signal represented taking 2,000 measurements of
the magnitude of a signal at constant time intervals, with the intervals adding up to a
total time duration of 1.9995 seconds. The data set was a matrix consisting of 2,000
rows and 10 columns, each column representing a different signal, and each row
representing the signal magnitude measurement at a point in time between 0 and
1.9995 seconds. This data set was used to represent the actual signals.
Next, four more data sets containing ten signals each were generated to serve as
the predicted signals. Three of the data sets were used to calibrate the model validation
software. The software was designed to take in the actual signal and the predicted
signals as inputs and output a validity number between 0 and 1. A validity number of 0
meant there was no correlation whatsoever between the actual and predicted signals. A
validity number of 1 was the ideal case where the actual and predicted signals were
exactly the same.
The first of the four “predicted” data sets, data_set_1_pred , was a signal
containing all zeroes. When passed through modelTEST , it would compare
data_set_1_pred with data_set_actual . We calibrated modelTEST to return a
value of 0. The second data set, data_set_2_pred , was set equal to
data_set_actual . The software was calibrated to return a validity number of 1 since
the two data sets were exactly the same. The third data set, data_set_3_pred , had
five of the signals containing all zeroes, and the other five signals exactly equal to their
corresponding signals in data_set_actual . We calibrated the software to return a
validity number of 0.5. After making sure these conditions were met, the fourth data set,
data_set_4_pred (which was data_set_actual plus some random noise), was
passed through modelTEST to determine the similarity between it and
data_set_actual . We expected a validity number between 0.5 and 1. Figure 2 shows
the graphs of the first signal in data_set_actual compared with data_set_4_pred .
6. Figure 2. Graphs of first signals in data_set_actual and data_set_4_pred vs. time
Five signal analysis methods were used to compare the actual and predicted
signals. Each analysis method would compare data_set_actual with the predicted
signals and output a validity number. A weighted average of each validity number would
be taken to get one final validity number.
The first signal analysis method was the cross-correlation test. We created a
function to take the cross-correlation of each actual signal with its corresponding
predicted signal. The results were normalized to produce a row vector where each
column would contain a value between 0 and 1. The average of each column was taken
to get the validity number for the cross-correlation test.
The next signal analysis method was the Root-Mean-Squared Error (RMSE) test.
A function was created to take the root-mean-squared error of each corresponding
actual and predicted signal. In order to normalize the RMSE values obtained, we used
7. the equation valN = abs(RMSE1- RMSE0)/RMSE0 ; where RMSE1 was the root-
mean-squared error between the actual and predicted signals, RMSE0 was the root-
mean-squared error between the actual and the signal with all zeroes, and valN was
the validity number. Using this equation, if RMSE1 (the RMSE between the actual and
predicted signals) was 0 (which meant the actual and predicted signals were the exact
same), the validity number would be 1. As RMSE1 increases from a value of 0 to
RMSE0 (the value of the RMSE between the actual signal and a signal composed of all
zeroes) valN decreases from 1 to 0. If RMSE1 was greater than RMSE0 , then valN
was set to zero. Finally the values of valN were averaged together to get one final
validity number for the RMSE test.
In the next signal analysis method we created a function that took the difference
between the autocorrelations of each signal. A similar method as in the RMSE test
function was used to determine the validity number of this function. We used the
normalizing equation valN = abs(calib1- calib0)/calib0 ; where calib1 was the
difference between the corresponding autocorrelations of the actual and predicted
signals, and calib0 was the difference between the autocorrelation of the actual and
the signal of all zeroes.
In the next signal analysis method we created a function which took the RMSE of
the autocorrelations of the corresponding actual and predicted signals. Again we used a
similar equation to determine the validity number.
valN = abs(R- calib)/calib; where R was the RMSE of the corresponding
autocorrelations of the actual and the predicted signals, and calib was the RMSE of the
autocorrelation of the actual and the signal consisting of all zeroes.
In the last signal test we created a function that took the correlation coefficient of
the absolute values of the Fast Fourier Transforms (FFTs) of the corresponding actual
8. and predicted signals. This produced ten normalized values between 0 and 1, one for
each signal comparison. We took the average of these values to produce the validity
number for the correlation coefficient test. The validation software called the five
individual comparison functions and took a weighted average of their validity numbers,
depending on the relative importance of each analysis method. For the weighted
average, we multiplied the RMSE test by 0.5 to reduce its effect on the final validity
number. The weights, however, can be modified by the user.
RESULTS
Figure 3. Results of the validity tests
9. We found that modelTEST returned validity numbers that were consistent with
our goals and expectations for the four generated predicted signals. When
data_set_actual and data_set_1_pred (which contained all zeroes) was passed
through modelTEST it returned a validity number of 0. The validation test between the
data_set_actual and data_set_2_pred (which was the same as
data_set_actual ) returned a validity number of 1. The validation test between the
data_set_actual and data_set_3_pred (which was half zeroes and half the same
as data_set_actual ) returned a value of 0.5. We were particularly interested in the
results between the tests between the data_set_actual and data_set_4_pred
(which was the actual signal plus some noise). For the cross-correlation test we
obtained a validity number of 0.6018. For the RMSE test we obtained a validity number
of 0.3359. For the difference between autocorrelations test we obtained a validity
number of 0.6919. For the RMSE autocorrelation test we obtained a validity number of
0.6691. For the correlation coefficient test we obtained a validity number of 0.6956. The
validation test returned a value of 0.6281 after applying a weighted average to the five
validity numbers.
We generated some graphs during the validation tests. Figure 4 shows the graph
of the cross-correlation of the first signals of data_set_actual and
data_set_4_pred . Lag is the time delay between the signals. The spike in the graph
at zero lag means that the two signals are most similar when they are completely ‘in
phase’. This means the timing of the two signals are very similar. The amplitude of the
spike refers to how correlated the signals are at that respective lag. The amplitude goes
from 0 (no correlation) to 1 (completely correlated). A negative amplitude means
negative correlation. The amplitude of the spike on Figure 4 is close to 0.6, which is
about what we obtained from the validity number of the cross-correlation test.
10. Figure 4. Graph of Cross-correlation between first signals of data_set_actual and
data_set_4_pred
Discussion/Conclusions
We chose the five signal comparison methods because they compared signals
based on timing and value related features. The timing and value features of signals are
what we are most interested in. The results we obtained were consistent with our
expectations and goals.
Future work will explore other validity tests and signal analysis methods to add to
the model validation software. It will also seek to develop a justification method for
determining the weight of each validity test depending on its relative importance. Like in
previous research [2], we will also seek to develop models to predict how various factors
contribute to channel attenuation. The model validation software will serve as the
framework for evaluating those future attenuation models. The software will determine if
an attenuation model accurately predicts attenuation given certain variables like
11. distance between sensors, orientation, Line Of Sight (LOS), Non-Line Of Sight (NLOS),
size and reflectivity of the environment, interference and noise. The validated
attenuation models will be specifically used to improve the realism of Body-Sim by
adding an attenuation feature to its simulations. However, because of the general
design of the model validation software, it can be expanded to evaluate other signal
models which can be used for a variety of other applications.
References
[1] Asare, P., Dickerson, R. F., Wu, X., Lach, J., & Stankovic, J. BodySim: A Multi-
Domain Modeling and Simulation Framework for Body Sensor Networks Research
and Design. ResearchGate. Retrieved July 20, 2014.
12. [2] Smith, D. B., Miniutti, D., Lamahewa, T. A., & Hanlen, L. W. Propagation Models for
Body-Area Networks: A Survey and New Outlook. Antennas and Propagation
Magazine, IEEE, vol. 55, pages 97-117, October 2013. Retrieved July 20, 2014.
[3] Roberts, N. E., Oh, S., & Wentzloff, D. D. Exploiting Channel Periodicity in Body
Sensor Networks. IEEE Journal on Emerging and Selected Topics in Circuits and
Systems, vol. 2, pages 4-13, March 2012. Retrieved July 20, 2014.
[4] Aoyagi, T., Iswandi, I., Kim, M., Takada, J., Hamaguchi, K., & Kohno, R. Body
Motion and Channel Response of Dynamic Body Area Channel. Antennas and
Propagation (EUCAP), Proceedings of the 5th European Conference on, pages
3138-3142, 2011. Retrieved July 20, 2014.
[5] Tallinn University. (n.d.). Attenuation of link or channel [Illustration]. Retrieved from
http://www.tlu.ee/~matsak/telecom/cabling/eu_generic_cabling/423_attenuation_inse
rtion_loss.html
[6] The MathWorks. Matlab. http://www.mathworks.com/products/.