# A coherent data filtering method for large scale RF fingerprint Wi-Fi Positioning Systems

- Jae-Hoon Kim
^{1}and - Woon-Young Yeo
^{2}Email author

**2014**:13

https://doi.org/10.1186/1687-1499-2014-13

© Kim and Yeo; licensee Springer. 2014

**Received: **7 June 2013

**Accepted: **12 January 2014

**Published: **21 January 2014

## Abstract

The rapid growth of mobile communication and the proliferation of smart phones have drawn significant attention to location-based services (LBS). The Wi-Fi positioning system (WPS) is a newly attractive method as a widely applicable positioning technique in LBS. In WPS, the received signal strength indication (RSSI) data of all Wi-Fi access points (APs) are measured, and stored in a huge database, as a form of radio fingerprint map. Because of the millions of APs in urban areas, radio fingerprint data are seriously contaminated. Therefore, we present a coherent filtering method for radio fingerprint data. All fingerprints used in the developed test bed are harvested from actual radio fingerprint measurements taken throughout Seoul, Korea. This demonstrates the practical usefulness of the proposed methodology.

## Keywords

## 1. Introduction

The positioning system measures the estimated position of a moving object (usually a mobile handset), and then minimizes the difference between the actual and estimated position. A well-estimated position can reduce the practical and emotional disjunction caused by the position difference.

The global positioning system (GPS) provides very precise positioning estimation [1, 2]. Owing to current advances in GPS technology, GPS receivers can acquire GPS signals with power levels as low as -160 dBm. However, the GPS signal should be attenuated significantly when it travels through construction materials, or any other obstacle (note that signal strength of at least -145 dBm is needed to acquire ephemeris data; the unobstructed GPS signal strength on Earth is measured at about -130 dBm.) This attenuation of a GPS signal makes it difficult to find a sufficient number of GPS satellites for each receiver in the urban environment (in GPS triangulation, at least three satellites are required to identify a current position). Presently, LBS are mainly used in urban areas, even in indoor environments. Social networking, friend finders, and local search applications need extremely wide coverage of positioning technology with a very short time to first fix (TTFF). LBS applications are shifting from rural areas, highways, and arterial roads, to urban and metropolitan areas.

The main challenge related to RF fingerprinting is the creation and maintenance of an up-to-date reference fingerprint DB, which is especially difficult, due to the dynamic character of APs: they are often moved, or in some cases are temporary, with new APs being continuously deployed. The huge numbers of APs, both indoor and outdoor, are generally deployed in the urban environment. These cause serious complexity to the fingerprint DB management. In addition, the RSSI (measured in dB unit) of each AP is an element of pattern vector. The difference between reference pattern and measured pattern determines the similarity of two patterns. Usually, lots of information (i.e., number of elements in pattern vector) provides confidence to similarity estimation. However, we should consider the measurement error and characteristics of radio signal strength. Because of environmental interference, the measurement error is inevitable. We can observe usually ±3 dB or higher signal strength fluctuation. The important thing is that the unit ‘decibel (dB)’ has log scale. That is, the difference between -75 and -87 dB means not just ‘12 (= -75 to -87)’ degree separation. But, the signal power of -87 dB is 1/16 (i.e., 6.25%) of that of -75 dB. Same fluctuation on electromagnetic field gives extremely higher effect to low RSSI. Small signal power change on low RSSI makes a large change on the dB scale. AP information with low RSSI should be filtered (i.e., zero or very low weight on the AP with low RSSI) to guarantee estimation quality. A set of data filtering methods should be applied as a key management framework in a complex fingerprint DB.

The most popular common data filtering method is the Kalman filter [14]. The historically measured data can be unified with newly measured data, to eliminate data noise. However, the Kalman filter can just be applied to statistical outliers, by comparing the historic and current data. It is too complicated to apply to practical large-scale fingerprint DB, and also, it cannot make any common cutover threshold for consistent filtering in RF fingerprinting (the importance of consistent filtering in fingerprint WPS is described in Section 3).

Therefore, we propose a coherent data-filtering framework for standard RF fingerprint DB. The sufficiently valid fingerprint data are maintained by the proposed filtering framework. The number of APs for each reference fingerprint is maintained, with an effective level. The entire framework is described by an integer programming model. Moreover, we simultaneously propose a practical procedure for filtering, as a form of dynamic algorithm using an iterative function. As a result of a coherent filtering framework, we can make a standard RF fingerprint DB, which is full of effective and valid data sets. All fingerprint data used in the developed test bed are harvested from actual radio fingerprint measurements taken throughout Seoul, Korea. This demonstrates the practical usefulness of the proposed framework.

## 2. RF fingerprint map

**Example of the Wi-Fi AP fingerprint**

BSSID | SSID | MES_X | MES_Y | RSSI (dB) |
---|---|---|---|---|

00:01:36:1f:9c:d2 | Sklifeap_4 | 37.5036 | 127.0336 | -80 |

00:01:36:24:66:60 | Primebc-ap2 | 37.5060 | 127.0436 | -69 |

00:01:36:25:2a:ea | Hpsetup | 37.4956 | 127.0302 | -79 |

00:01:36:25:2a:eb | SK_WLAN | 37.4956 | 127.0302 | -79 |

00:01:36:26:24:27 | KWI-B2200T- | 37.5038 | 127.0274 | -87 |

00:01:36:26:24:28 | D-1201 | 37.5038 | 127.0274 | -83 |

00:01:36:27:4d:54 | Tectura Corporation | 37.5084 | 127.0434 | -89 |

00:01:36:2a:84:f9 | Default | 37.4962 | 127.0302 | -81 |

*X*-axis (MES_X, i.e., Longitude), Measurement

*Y*-axis (MES_Y, i.e., Latitude), and Received Signal Strength Index (RSSI). When an AP is detected by an automatic scanning device, the fingerprint data (i.e., BSSID, SSID, RSSI) are stored with its position (i.e., MES_X, MES_Y). These fingerprint data should be stored and handled as a DB map. A conventional reference fingerprint DB map consists of many grids. Each grid has RF fingerprint data consisting of AP identifiers (usually the MAC address of an AP), and the signal strength of each AP (see Figure 4).

An up-to-date reference fingerprint DB should be maintained for precise position estimation. The segmented rescanning can be a promising way to update reference DB. The entire area is segmented into unit areas. Each unit area has distinguishable geographical characteristics, such as commercial, residential, and industrial or so. Then, a sample set of reference points is selected in a respective unit area. In general, the number of sample reference points is very small compared to total reference points, and the sample reference points are scattered uniformly throughout the unit area. We monitor the fingerprints of sample reference points periodically. The proportion of sample reference points, which have significantly different fingerprint pair for two time-consecutive monitoring epochs, is the determinant of area rescanning. If the proportion of significantly different fingerprint pairs is higher than a pre-specified ratio, we can conclude that the stored fingerprints of a unit area are not ‘valid’ (i.e., data is outdated), and we need to replace all fingerprints of the unit area by rescanning. Otherwise, the fingerprints of the unit area are verified as still valid, and remained to the reference fingerprint DB. Note that RF fingerprint DB is not stored in each handset in real applications. All applications send requests of position estimation to a location server which contains entire RF fingerprint DB.

The proper cutover threshold filters out the ineffective APs, decreases the number of detected APs per grid, and then finally restricts the coverage of the APs. The restricted AP coverage guarantees the higher likelihood for fixation of position estimation. Therefore, the determination of a cutover threshold for each AP is the essential point for reference fingerprint DB management. The key of the proposed coherent data filtering framework is the determination of the cutover threshold.

## 3. Coherent data filtering and compensation

where *g*_{
j
} is the desired number of APs in grid *j*. Note that *g*_{
j
} determines the numerical dimension in a position estimation algorithm. A typical position estimation algorithm uses a pattern-matching method. The synchronous and proper dimensioning of pattern matching is important for the significance and running speed of estimation. The practical value of *g*_{
j
} can be fixed as differentiated numbers, according to the regional characteristics, such as residential or commercial areas (i.e., smaller values for residential and larger ones for commercial). *m*_{
j
} denotes the number of APs offered for grid *j* in the reference fingerprint DB map, after filtering. Thus, the objective function (1) minimizes the difference between the desired and offered number of APs, for all grids in the reference DB map. Equation 2 represents the calculation of *m*_{
j
}. *y*_{
ij
} is determined as 1, if AP*i* in grid *j* survives after the filtering, otherwise as 0. The summation of *y*_{
ij
} for all *i* s in a grid *j* (i.e., $\sum _{i}{y}_{\mathit{ij}}$) can make the value of *m*_{
j
}. *o*_{
ij
} means the original existence of AP*i* in grid *j*. When AP*i* is originally detected in grid *j*, the value of *o*_{
ij
} is determined as 1, otherwise as 0. The inequality (3) shows the existence of AP*i* in grid *j* before and after filtering. The candidate APs for filtering should be selected among the originally detected APs by the inequality (3). The inequality (4) guarantees that all survived AP RSSIs are greater than the RSSIs of filtered APs. (*o*_{
ij
} - *y*_{
ij
}) has value 1 (i.e., (*o*_{
ij
} - *y*_{
ij
}) = 1), if AP*i* in grid *j* is filtered. Thus, (*o*_{
ij
} - *y*_{
ij
})*r*_{
ij
} means RSSIs of filtered APs. (*o*_{
ij
} - *y*_{
ij
})*r*_{
ij
} should be less than the *y*_{
ij
}*r*_{
ij
}, the RSSIs of survived APs. *r*_{
ij
} is the measured RSSI of AP*i* in grid *j*. For arithmetical consistency, we slightly modify the RSSI of AP in our model, in the form of *r*_{
ij
} = -1/RSSI_{
ij
} (RSSI_{
ij
} is the actual measured value of RSSI for AP*i* in grid *j* (unit: dB)).

*i*. |

*g*

_{ĵ(k)}-

*m*

_{ĵ(k)}(RSSI

^{APi})| has the same meaning in function (1), except that

*m*

_{ĵ(k)}(RSSI

^{APi}) denotes the offered number of APs for grid

*ĵ*(

*k*) under the given RSSI

^{APi}(a grid

*ĵ*(

*k*) is in a grid set

*ĵ*which has AP

*i*as a detected AP in its fingerprint;

*k*is the ordering index for each grid in a set

*ĵ*). RSSI

^{APi}is the determined single-value RSSI threshold for AP

*i*. The RSSI

^{APi}guarantees the minimum difference between the desired and offered number of APs for grids

*ĵ*. The RSSI

^{APi}values are determined by an iterative Equation (7):

*f*

_{ n }

^{*}in Equation 7 denotes the summation of difference between the desired and offered number of APs from the 1st to the

*n*th grid, under the given current RSSI threshold for AP

*i*, RSSI

_{ n }

^{APi}*. The

*f*

_{n+1}can be obtained by the summation of ‘the

*n*

^{th}function value (i.e.

*f*

_{ n }

^{*}(RSSI

_{ n }

^{APi}*))’ and ‘difference between the desired and offered number of APs for the

*n*+ 1th grid (i.e., |

*g*

_{ĵ(n+1)}-

*m*

_{ĵ(n+1)}(RSSI

_{n+1}

^{APi})|)’. The difference between the desired and offered number of APs for the

*n*+ 1th grid is calculated under the RSSI threshold of AP

*i*in the

*n*+ 1th grid. Now, we compare the

*f*

_{n+1}(RSSI

_{n+1}

^{APi}) and

*f*

_{n+1}(RSSI

_{ n }

^{APi}*). If the gap between

*f*

_{n+1}(RSSI

_{n+1}

^{APi}) and

*f*

_{n+1}(RSSI

_{ n }

^{APi}*) is lower than a pre-specified range, the current RSSI threshold for AP

*i*is maintained at the same value for the

*n*th grid, (i.e., RSSI

_{n+1}

^{APi}* = RSSI

_{ n }

^{APi}*). Otherwise, we configure the new current RSSI threshold as RSSI

_{n+1}

^{APi}. Note that the RSSI threshold (i.e., RSSI

_{ n }

^{APi}for all

*i*and

*n*) is ideally obtained from the integer programming models (1) ~ (5). However, we have a candidate RSSI range, namely RSSI

_{ n }

^{APi}= {minRSSI

^{APi},…, maxRSSI

^{APi}}, for calculation convenience. The complexity of the proposed dynamic algorithm is O(

*n*C),

*n*is the number of neighboring grids of target grid and C is the scale factor of RSSI measure. To specify all APs in a grid (if we assume

*k*APs per grid), we need maximum

*k*implementations of the dynamic algorithm of O(

*n*C) complexity (i.e., total O(

*nk*C) complexity of implementations). The selection of APs in online positioning stage is totally based on the common cutover RSSI threshold of specific AP. The process of online positioning stage is relatively simple. Just applying the common cutover RSSI threshold can give the simplicity in practical application in online positioning process. Figure 9 shows the sample grid area for calculation of the proposed filtering method. A total of nine neighbor grids are selected for applying the filtering method. We assume the desired number of APs as a single value of 10, for simplicity (the determination of desired number of APs (i.e.,

*g*

_{ j }) is described in the Appendix).

**Results for sample filtering**

Grid# | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---|---|---|---|---|---|---|---|---|---|

Before filtering | 25 | 19 | 18 | 21 | 13 | 18 | 7 | 8 | 20 |

| | 15 | 9 | 8 | 11 | 3 | 8 | 3 | 2 | 10 |

After filtering | 11 | 10 | 9 | 15 | 9 | 9 | 5 | 6 | 15 |

| | 1 | 0 | 1 | 5 | 1 | 1 | 5 | 4 | 5 |

Using the filtering and compensation mechanism, the volume of fingerprint data is significantly reduced, and the data quality is highly enhanced, for precise position estimation. The common RSSI threshold for both the reference fingerprint DB and handset-measured fingerprint gives effective dimension of the fingerprint, which imparts good estimation quality, with sufficiently fast running speed for position estimation algorithms.

## 4. Numerical results

**Single-value thresholds for APs**

AP index | Cutover threshold (dB) | AP index | Cutover threshold (dB) | AP index | Cutover threshold (dB) |
---|---|---|---|---|---|

952 | -95 | 976 | -79 | 1,000 | -60 |

953 | -69 | 977 | -76 | 1,001 | -85 |

954 | -40 | 978 | -73 | 1,002 | -95 |

955 | -95 | 979 | -81 | 1,003 | -95 |

956 | -84 | 980 | -79 | 1,004 | -85 |

957 | -79 | 981 | -84 | 1,005 | -77 |

958 | -85 | 982 | -81 | 1,006 | -81 |

959 | -76 | 983 | -77 | 1,007 | -76 |

960 | -78 | 984 | -75 | 1,008 | -75 |

961 | -81 | 985 | -78 | 1,009 | -83 |

962 | -67 | 986 | -54 | 1,010 | -95 |

963 | -95 | 987 | -40 | 1,011 | -95 |

964 | -84 | 988 | -95 | 1,012 | -95 |

965 | -95 | 989 | -79 | 1,013 | -95 |

966 | -79 | 990 | -79 | 1,014 | -76 |

967 | -61 | 991 | -81 | 1,015 | -55 |

968 | -61 | 992 | -95 | 1,016 | -95 |

969 | -85 | 993 | -95 | 1,017 | -76 |

970 | -64 | 994 | -61 | 1,018 | -87 |

971 | -80 | 995 | -84 | 1,019 | -76 |

972 | -79 | 996 | -83 | 1,020 | -76 |

973 | -79 | 997 | -83 | 1,021 | -85 |

974 | -81 | 998 | -79 | 1,022 | -51 |

975 | -95 | 999 | -95 | 1,023 | -42 |

^{2}. The range of area for test districts is 0.10 ~ 0.17 km

^{2}. Each district has 50 ~ 60 target points for position estimation.

**Position estimation error for test districts**

Test district | Commercial/residential | Average error without filtering (m) | Average error with unified RSSI filter (m) | Average error with coherent filtering and compensation (m) | |
---|---|---|---|---|---|

Coherent filtering only | Coherent filtering and compensation | ||||

1 | 65:35 | 64 | 63 | 52 | 49 |

2 | 25:75 | 49 | 47 | 42 | 41 |

3 | 60:40 | 72 | 72 | 53 | 53 |

4 | 30:70 | 56 | 55 | 43 | 42 |

5 | 70:30 | 81 | 79 | 57 | 55 |

6 | 40:60 | 47 | 46 | 42 | 41 |

7 | 55:45 | 59 | 58 | 44 | 41 |

8 | 70:30 | 74 | 71 | 54 | 51 |

9 | 75:25 | 76 | 73 | 61 | 58 |

10 | 50:50 | 62 | 61 | 50 | 49 |

Average | - | 64.0 | 62.5 | 49.8 | 48 |

Enhancement rate | - | - | 2% | 22% | 25% |

Note that the majority of test points belong to the outdoor environment. The automatic scanning vehicle has an access problem to the indoor environment. The most of indoor fingerprints are collected by human power. Thus, our experiment has a limitation for the applicability on indoor environment. However, our proposed framework are applicable both on indoor and outdoor environments. The radio signal fluctuation and structure complexity are more serious in an indoor environment. The proposed coherent filtering framework has relative advantage on the complex and fluctuated environment (see the comparison between commercial and residential). We carefully expect the effective application to the indoor environment.

## 5. Conclusion

The rapid growth of mobile communication and the proliferation of smart phones have drawn significant attention to location-based services. One of the most important factors in the vitalization of LBS is the accurate position estimation of a mobile device. Traditional triangulation has an inevitable weakness, in estimating an AP's exact position. Moreover, significant technical advances are not shared publicly by solution providers. RF fingerprint WPS is an alternative valuable way to penetrate the positioning solution provider market. Even by indiscriminate fingerprint collection, providers can build a fingerprint DB and apply a simple pattern-matching algorithm for position estimation. However, to build a competitive fingerprint WPS solution, we should focus on fingerprint data management, and precise estimation algorithms. The essential factor of radio fingerprint map is the data integrity of RSSI. Because of millions of APs in the urban area, RSSI measurement data are seriously contaminated. Therefore, we present a coherent filtering method for RSSI measurement data. In our method, we built a new fingerprint filtering method. Based on the single cutover threshold and data coherency, collected fingerprints are filtered and compensated. A new fingerprint data filtering for position estimation can strengthen the advantages of RF fingerprint WPS. Compared to the existing approaches for fingerprint filtering, our method achieves a better performance, in both average error of estimation, and deviation of errors. Furthermore, all the fingerprint data were harvested from the actual measurement of RF fingerprints in Seoul's Gangnam district. We built an effectively filtered fingerprint DB for the entire area of Seoul and applied position estimation. These trials show the practical usefulness of the proposed methodology.

## Appendix

The higher number of *g*_{
j
} provides more information for precise position estimation. On the other hand, it also generates larger deviation (i.e., the deviation is gradually increased according to increment of *g*_{
j
}). The following statistical implication shows the negative effect (i.e., large deviation on position estimation) by the increment of *g*_{
j
}.

The similarity of two patterns is usually determined by the Euclidian distance of two different patterns. That is, the statistical difference between two fingerprints is based on the square of the Euclidean distance (*d*^{2}(*i*, *j*)) between two fingerprint pairs (*f*_{
i
},*f*_{
j
}) as *d*^{2}(*i*, *j*) = (*f*_{
i
} - *f*_{
j
})^{2}, where *f*_{
i
} = {*RSSI*_{AP 1}^{
i
}, *RSSI*_{AP 2}^{
i
},…, *RSSI*_{
AP
n
}^{
i
}}, *f*_{
j
} = {*RSSI*_{AP 1}^{
j
}, *RSSI*_{AP 2}^{
j
},…,*RSSI*_{
AP
n
}^{
j
}}. Each value of *RSSI*_{
AP
k
}^{
i
} (RSSI for AP*k* in fingerprint *f*_{
i
}) is a random variable and has a measurement error that tends to follow a normal distribution. Thus, each element of vector *f*_{
i
} - *f*_{
j
} also follows a normal distribution. By transforming the elements of vector *f*_{
i
} - *f*_{
j
} to the standard normal distribution, *d*^{2}(*i*, *j*) tends to follow a chi-square distribution with a degree of freedom *n* (i.e., ${d}^{2}\left(\mathsf{i}\mathit{,}\mathsf{j}\right)~{\chi}^{2}\left(n\right)$). Generally, the *χ*^{2}(*n*) has a mean *n* and variance 2*n*. The value of *n* is determined by *g*_{
j
}, then, deviation of position error is increased by the increment of *g*_{
j
} (i.e., if *n* is increased, variance (2*n*) is also increased).

*g*

_{ j }’ and ‘information density obtained by higher

*g*

_{ j }’. We adopt an empirical experiment to find the proper number of

*g*

_{ j }. Figure 16 shows three representative illustrations for position estimation error.

This figure shows the position estimation error for three test districts: (1) residential-oriented district (district 2 in Table 4), (2) commercial-oriented district (district 5 in Table 4), and (3) neutral district (district 10 in Table 4). Despite of small difference, significant range of *g*_{
j
} can be found; 9 ~ 11 APs are sufficient numbers for position estimation. From the knowledge of empirical experiments, we can apply proper *g*_{
j
} to practical reference DB management. Note that this empirical experiment cannot give an absolute value of *g*_{
j
} for all cases. The repetitive experiments are required to guarantee the effectiveness of the empirical method.

## Declarations

### Acknowledgements

This research work is supported by SK Telecom in South Korea. All collected data are obtained using the facility of SK Telecom. This work was also supported by the National Research Foundation of Korea (NRF) grant funded by the Korean Government (2013–025572).

## Authors’ Affiliations

## References

- Masumoto Y:
*Global positioning system, US Patent 5,210,540, 11*. May 1993.Google Scholar - Watters JM:
*Combining GPS with TOA/TDOA of cellular signals to locate terminal, US Patent 5982324, 14*. May 1998.Google Scholar - Wireless S:
*Estimation of positioning using WLAN access point radio propagation characteristics in a WLAN Positioning System, US Patent 7515578, World Intellectual Property Organization, 22*. Nov 2007.Google Scholar - del Prado Pavon J: Link adaptation strategy for IEEE 802.11 WLAN via received signal strength measurement. In
*Wireless Communication and Networking Conference*. New Orleans; 16–20 March 2003.Google Scholar - Skyhook Wireless: Skyhook Wireless technology used in revolutionary iPhone and iPod touch. 2008.http://www.businesswire.com/news/home/20080116005162/en/Skyhook-Wireless-Technology-Revolutionary-iPhone-iPod-touch . Accessed 16 January 2008Google Scholar
- Wireless S:
*Location beacon database and server, method of building location beacon database, and location based service using same, US 62310804, World Intellectual Property Organization, 29*. Oct 2004.Google Scholar - Li B, Salter J, Dempster AG, Rizos C: Indoor positioning techniques based on Wireless LAN. In
*The First IEEE International Conference on Wireless Broadband and Ultra Wideband Communications*. Sydney, Australia; 13–16 March 2006.Google Scholar - Li B, Quader IJ, Dempster AG: On outdoor positioning with Wi-Fi.
*Journal of GPS*2008, 7: 1. 10.5081/jgps.7.1.1View ArticleGoogle Scholar - Das S, Teixeira T, Hasan SF: Research issues related to Trilateration and fingerprinting methods.
*Int J Res Wireless Systems*2012, 1: 33-35.Google Scholar - Pandya D, Jain R, Lupu E: Indoor location estimation using multiple wireless technologies. In
*Proceedings of the 15th IEEE International Symposium on Personal Indoor and Mobile Radio Communication (PIMRC)*. Beijing, China; 7–1 Sept 2003.Google Scholar - Battiti R, Nha TL, Villani A:
*Location-aware computing: a neural network model for determining location in wireless LANs, Technical Report DIT-02-0083*. University of Trento; 2002. http://eprints.biblio.unitn.it/233/Google Scholar - Haeberlen A, Flannery E, Ladd AM, Rudys A, Wallach DS, Kavraki LE: Practical robust localization over large-scale 802.11 wireless networks. In
*Proceedings of the 10th annual international conference on Mobile computing and networking (MobiCom’04)*. Philadelphia; 26 Sept - 1 Oct 2004.Google Scholar - Kaemarungsi K:
*Distribution of WLAN received signal strength indication for indoor location determination, 2006 1st International Symposium on Wireless Pervasive Computing, Phuket, Thailand, 16–18*. Jan 2006.Google Scholar - Welch G, Bishop G:
*An Introduction to the Kalman Filter*. Technical Report: University of North Carolina; 2006.Google Scholar - Yoshida H, Ito S, Kawaguchi N: Evaluation for pre-acquisition methods for position estimation system using Wireless LAN. In
*Proceedings of the Third International Conference on Mobile Computing and Ubiquitous Networking (ICMU 2006)*. London, UK; 11–13 Oct 2006:148-155.Google Scholar

## Copyright

This article is published under license to BioMed Central Ltd. This is an open access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.