framework for channel attenuation model final paper
TRANSCRIPT
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
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.
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
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
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.
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
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
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
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.
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 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.
[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_insertion_loss.html
[6] The MathWorks. Matlab. http://www.mathworks.com/products/.