LocalizationLocalization in in
Wireless LANsWireless LANs
OutlineOutline
Wireless LAN fundamentalsWireless LAN fundamentals Wi-Fi ScannerWi-Fi Scanner WLAN LocalizationWLAN Localization Simple Point MatchingSimple Point Matching Area Based ProbabilityArea Based Probability
Wireless LAN Wireless LAN
StandardStandard IEEE 802.11aIEEE 802.11a IEEE 802.11bIEEE 802.11b
Also call “Wi-Fi”Also call “Wi-Fi” operating at 2.4 GHz operating at 2.4 GHz 11 Mbps 11 Mbps
IEEE 802.11gIEEE 802.11g operating at 2.4 GHz operating at 2.4 GHz 54 Mbps 54 Mbps Future StandardFuture Standard
Wireless LANWireless LAN
InformationInformation MAC AddressMAC Address
Identifier of the Wireless LAN Access Point (AP)Identifier of the Wireless LAN Access Point (AP) Provided by the Ethernet LAN in the APProvided by the Ethernet LAN in the AP
RSSIRSSI Signal StrengthSignal Strength
SSIDSSID Name of APName of AP
Wi-Fi ScannerWi-Fi Scanner
PlatformPlatform Pocket PC 2003(Windows CE 4.0)Pocket PC 2003(Windows CE 4.0)
Wi-Fi NetworkWi-Fi Network IEEE 802.11bIEEE 802.11b
APIAPI Windows CE .NET 4.2Windows CE .NET 4.2
ToolsTools Embedded Visual C++ 4.0Embedded Visual C++ 4.0 Visual Studio .NET 2003Visual Studio .NET 2003
Wi-Fi ScannerWi-Fi Scanner
TargetTarget Get two unique informationGet two unique information
MAC AddressMAC Address Signal StrengthSignal Strength
Future ApplicationFuture Application Develop the 2D Location AlgorithmDevelop the 2D Location Algorithm Provide the Multimedia Services (e.g. Provide the Multimedia Services (e.g.
streaming service)streaming service)
Wi-Fi ScannerWi-Fi Scanner
Overall Architecture
User InterfcaeCore Operations
Embedded VC++
DLL (dynamic link library )
Visual .NET 2003
Wi-Fi ScannerWi-Fi ScannerWi-Fi Application
MAC Address, Signal Strength
Network Driver Interface Specification (NDIS)
ApplicationApplication
PresentationPresentation
SessionSession
TransportTransport
NetworkNetwork
Data LinkData Link
PhysicalPhysical
NDISNDIS
Develop the Network DriverDevelop the Network Driver Support varieties of Network Technology Support varieties of Network Technology
(e.g. Ethernet (IEEE 802.3), Token Ring (e.g. Ethernet (IEEE 802.3), Token Ring (IEEE 802.5), and IrDA media)(IEEE 802.5), and IrDA media)
Portability of drivers between platforms Portability of drivers between platforms that support NDIS that support NDIS
Network adapter miniport driver Network adapter miniport driver
NDIS ArchitectureNDIS Architecture
Miniport driver-communicate directly with network interface card (NIC)
NDIS User-mode I/O(NDISUIO)NDIS User-mode I/O(NDISUIO)
Supports sending and receiving Ethernet frSupports sending and receiving Ethernet frames ames
Retrieve MediaSense indications Retrieve MediaSense indications Retrieve signal power indications Retrieve signal power indications
NDIS User-mode I/ONDIS User-mode I/O
Steps to bind the NIC CardSteps to bind the NIC Card Get Ethernet LAN Adapter (NIC) NameGet Ethernet LAN Adapter (NIC) Name Create the File Handle to bind NDISUIOCreate the File Handle to bind NDISUIO Using the “DeviceIoControl” interface to Using the “DeviceIoControl” interface to
achieve the required packetachieve the required packet
NDIS User-mode I/ONDIS User-mode I/O
fRetVal = DeviceIoControl(fRetVal = DeviceIoControl( hNdisUio,hNdisUio,
IOCTL_NDISUIO_QUERY_OID_VALUE,IOCTL_NDISUIO_QUERY_OID_VALUE,(LPVOID) pQueryOid,(LPVOID) pQueryOid,dwQueryBufferSize,dwQueryBufferSize,(LPVOID) pQueryOid,(LPVOID) pQueryOid,dwQueryBufferSize,dwQueryBufferSize,&dwBytesReturned,&dwBytesReturned,NULL);NULL);
Retrieves NDIS object
NDIS User-mode I/ONDIS User-mode I/O struct _NDIS_WLAN_BSSIDstruct _NDIS_WLAN_BSSID {{
ULONGULONG LengthLength;; NDIS_802_11_MAC_ADDRESSNDIS_802_11_MAC_ADDRESS MacAddressMacAddress;; UcharUchar Reserved[2]Reserved[2];; NDIS_802_11_SSIDNDIS_802_11_SSID SsidSsid;; ULONG ULONG PrivacyPrivacy;; NDIS_802_11_RSSINDIS_802_11_RSSI RssiRssi;; NDIS_802_11_NETWORK_TYPENDIS_802_11_NETWORK_TYPE NetworkTypeInUseNetworkTypeInUse;; NDIS_802_11_CONFIGURATIONNDIS_802_11_CONFIGURATION ConfigurationConfiguration;; NDIS_802_11_NNDIS_802_11_NETWORK_INFRASTRUCTUREETWORK_INFRASTRUCTURE InfrastructureModeInfrastructureMode;; NDIS_802_11_RATESNDIS_802_11_RATES SupportedRatesSupportedRates;; } NDIS_WLAN_BSSID, *PNDIS_WLAN_BSSID;} NDIS_WLAN_BSSID, *PNDIS_WLAN_BSSID;
WLAN LocalizationWLAN Localization
Point-based approachPoint-based approach Localization goal is to return a single point for Localization goal is to return a single point for
the mobile objectthe mobile object
Area-based approachArea-based approach Localization goal is to return the possible Localization goal is to return the possible
locations of the mobile object as an area locations of the mobile object as an area rather than a single pointrather than a single point
Area-based ApproachArea-based Approach
Advantage of Area-based Advantage of Area-based ApproachApproach
Direct the user in the search for an object Direct the user in the search for an object in a more systematic mannerin a more systematic manner
Presents the user an understanding of the Presents the user an understanding of the system in a more natural and intuitive system in a more natural and intuitive mannermanner
Some Terms and DefinitionsSome Terms and Definitions
n Access Pointsn Access Points APAP11, AP, AP22, …, AP, …, APnn
Training set TTraining set T00
the offline measured signal strengths and locatithe offline measured signal strengths and locations an algorithm usesons an algorithm uses
Consists of a set of fingerprints (SConsists of a set of fingerprints (S ii) at m differen) at m differen
t areas At areas Aii
TT0 0 = ( A= ( Aii, S, Sii ), i = 1 … m ), i = 1 … m
Some Terms and DefinitionsSome Terms and Definitions
Fingerprints SFingerprints Sii
Set of n signal strengths at ASet of n signal strengths at A ii, one per each a, one per each a
ccess pointccess point The are totally n access pointsThe are totally n access points SSi i = (s= (si1i1, …, s, …, sinin), where s), where sijij is the expected aver is the expected aver
age signal strength from APage signal strength from AP jj
Generating Training SetGenerating Training Set
In one particular AIn one particular Aii, we read a series of sig, we read a series of sig
nal strengths (snal strengths (sijkijk ) for a particular AP ) for a particular APj j with with
a constant time between samplesa constant time between samples k = 1… ok = 1… oij ij ,where o,where oijij is the number of samples is the number of samples
from APfrom APj j at Aat Aii
We estimate sWe estimate sij ij by averaging the series, {sby averaging the series, {sijij
11, s, sij2ij2…, s…, sijoijo } }
Generating Training SetGenerating Training Set
We do the same for all n APs, so we have We do the same for all n APs, so we have the fingerprints at Athe fingerprints at Aii, , SSi i = (s= (si1i1, …, s, …, sinin))
We do the same for all m areas, so we havWe do the same for all m areas, so we have the training set e the training set TT0 0 = ( A= ( Aii, S, Sii ), i = 1… m ), i = 1… m
Getting Testing SetGetting Testing Set
The object to be localized collects a set of The object to be localized collects a set of received signal strengths (RSS) when it is received signal strengths (RSS) when it is at certain locationat certain location
A testing set(SA testing set(Stt) is created similar to the fin) is created similar to the fin
gerprints in the training setgerprints in the training set It is a set of average signal strengths from It is a set of average signal strengths from
n APs, Sn APs, St t = (s= (st1t1, …, s, …, stntn))
Area-based Approach AlgorithmsArea-based Approach Algorithms
How to use the training set and testing How to use the training set and testing set?set?
Simple Point MatchingSimple Point Matching Area Based ProbabilityArea Based Probability
Simple Point MatchingSimple Point Matching
Compare the received signal strength (RRCompare the received signal strength (RRS) in the training set and the testing setS) in the training set and the testing set
Find n set of areas that fall within a threshFind n set of areas that fall within a threshold of the RSS for each APold of the RSS for each APj j , j =1…n, j =1…n
The RSS with threshold for APThe RSS with threshold for APjj at position at position i = si = sij ij ±q±q
Return the areas formed by intersecting all Return the areas formed by intersecting all matched areas from different AP area setsmatched areas from different AP area sets
Simple Point MatchingSimple Point Matching
How to choose the threshold?How to choose the threshold? q is the standard deviation of signal receivq is the standard deviation of signal receiv
ed from the corresponding APed from the corresponding AP The algorithm starts with a very small qThe algorithm starts with a very small q Area sets for some AP may be emptyArea sets for some AP may be empty q is additively increases eg. q, 2q, 3q … q is additively increases eg. q, 2q, 3q …
SPM algorithmSPM algorithm
Area Based ProbabilityArea Based Probability
Goal is to return the area with the highest Goal is to return the area with the highest probability that the object is inprobability that the object is in
Approach is to compute the likelihood of thApproach is to compute the likelihood of the testing set (Se testing set (Stt) that matches the fingerpri) that matches the fingerpri
nt for each area (Snt for each area (Sii) )
Area Based ProbabilityArea Based Probability
Assumptions:Assumptions: Signal received from different APs are indSignal received from different APs are ind
ependent ependent
For each APFor each APjj, j = 1…n, the sequence of R, j = 1…n, the sequence of R
SS sSS sijkijk, k = 1… o, k = 1… oijij, at each A, at each Ai i in Tin Too is model is model
ed as a Gaussian distributioned as a Gaussian distribution
Bayes’ ruleBayes’ rule
We compute the probability of being at diffWe compute the probability of being at different areas Aerent areas Aii, on given the testing set S, on given the testing set St t
P(AP(Ai i |S|Stt) = P(S) = P(St t |A|Aii)* P(A)* P(Aii)/ P(S)/ P(Stt) (1)) (1) P(SP(Stt) is a constant) is a constant
Assume the object is equally likely to be at any locAssume the object is equally likely to be at any location. P(Aation. P(Aii) is a constant) is a constant
P(AP(Ai i |S|Stt) = c*P(S) = c*P(St t |A|Aii)) (2)(2)
Area Based ProbabilityArea Based Probability
We compute P(SWe compute P(St t |A|Aii) for every area A) for every area Aii ,i=1 ,i=1…m,using the Gaussian assumption…m,using the Gaussian assumption
Max{P(AMax{P(Ai i |S|Stt) } = Max{c*P(S) } = Max{c*P(St t |A|Aii) } ) }
= Max{P(S= Max{P(St t |A|Aii) }) }
Return the area AReturn the area Aii with top probability with top probability
Area Based ProbabilityArea Based Probability
ReferenceReference
Eiman Elnahrawy, Xiaoyan Li, Richard P. Martin ,Using Area-based Presentations and Metrics for Localization Systems in Wireless LANs, Department of Computer Science, Rutgers University
Andreas Haeberlen, Eliot Flannery, Andrew M. Ladd, Algis Rudys, Dan S. Wallach and Lydia E. Kavraki, Practical Robust Localization over Large-Scale 802.11 Wireless Networks, Rice University