Preface |
|
xiii | |
About the Authors |
|
xvii | |
|
1 Introduction to Wireless Localization |
|
|
1 | (12) |
|
1.1 Open Problems in Positioning Technologies |
|
|
3 | (2) |
|
1.1.1 Inaccurate Positioning Algorithms |
|
|
3 | (1) |
|
1.1.2 Unstable Wireless Signal Transmission |
|
|
4 | (1) |
|
1.1.3 Unstructured WLAN Infrastructure |
|
|
4 | (1) |
|
1.1.4 Lack of Signal Analytical Models |
|
|
5 | (1) |
|
1.2 Factors Leading to Effective Positioning Systems |
|
|
5 | (8) |
|
1.2.1 An Accurate Positioning Algorithm/Approach |
|
|
6 | (1) |
|
1.2.2 A Stable WLAN Signal Transmission |
|
|
6 | (1) |
|
1.2.3 A Structural WLAN Infrastructure |
|
|
7 | (1) |
|
1.2.4 A Graphical Fuzzy Signal Visualization Model |
|
|
7 | (1) |
|
1.2.5 A Location-aware Information Retrieval System |
|
|
7 | (2) |
|
|
9 | (4) |
|
Part I Wi-Fi Positioning Systems |
|
|
|
2 Installation of Wi-Fi Infrastructure |
|
|
13 | (22) |
|
2.1 What is the IEEE 802.11 Family? |
|
|
14 | (1) |
|
2.2 Properties of Wi-Fi Signal Strength |
|
|
15 | (4) |
|
2.2.1 Distribution of Wi-Fi Signal Strength |
|
|
15 | (2) |
|
2.2.2 Large Value of Path Loss |
|
|
17 | (1) |
|
2.2.3 Small Value of Path Loss |
|
|
17 | (1) |
|
2.2.4 Behavior Study on the Human's Presence |
|
|
18 | (1) |
|
2.3 Optimal Channel Allocation for Wi-Fi Positioning |
|
|
19 | (5) |
|
2.3.1 Overlapping Channel Interference |
|
|
20 | (1) |
|
2.3.2 Distribution of Channel Interference |
|
|
21 | (2) |
|
2.3.3 Channel Assignment Schemes |
|
|
23 | (1) |
|
2.4 Determining Number of APs to be Installed |
|
|
24 | (3) |
|
2.4.1 Square Tessellation Installation |
|
|
24 | (1) |
|
|
24 | (1) |
|
2.4.3 Environmental Factors |
|
|
24 | (1) |
|
2.4.4 Number of Access Points Needed |
|
|
25 | (2) |
|
2.5 Other Tessellation Installations |
|
|
27 | (8) |
|
|
27 | (3) |
|
2.5.2 Environmental Factors |
|
|
30 | (1) |
|
2.5.3 Determining Number of APs to be Installed |
|
|
30 | (1) |
|
2.5.4 Summary of AP Deployment Approach |
|
|
31 | (2) |
|
|
33 | (2) |
|
3 Algorithms Used in Wi-Fi Positioning Systems |
|
|
35 | (36) |
|
3.1 Taxonomy of Indoor Positioning Techniques |
|
|
36 | (1) |
|
3.2 Propagation-based Algorithms |
|
|
37 | (10) |
|
3.2.1 Angle of Arrival (AOA) |
|
|
38 | (2) |
|
3.2.2 Time of Arrival (TOA) |
|
|
40 | (2) |
|
3.2.3 Phase of Arrival (POA) |
|
|
42 | (1) |
|
3.2.4 Time Difference of Arrival (TDOA) |
|
|
43 | (3) |
|
3.2.5 Roundtrip Time of Flight (RTOF) |
|
|
46 | (1) |
|
3.3 Location-fingerprinting-based Algorithms |
|
|
47 | (11) |
|
3.3.1 K-Nearest Neighbor Algorithms |
|
|
47 | (3) |
|
3.3.2 Smallest M-vertex Polygon (SMP) |
|
|
50 | (1) |
|
|
50 | (3) |
|
3.3.4 Support Vector Machine (SVM) |
|
|
53 | (4) |
|
3.3.5 Probabilistic Algorithms |
|
|
57 | (1) |
|
3.4 Evaluation of Positioning Techniques |
|
|
58 | (8) |
|
3.4.1 Mean Square Error (MSE) |
|
|
58 | (1) |
|
3.4.2 Cumulative Distribution Function (CDF) |
|
|
59 | (1) |
|
3.4.3 Cramer-Rao Lower Bound (CRLB) |
|
|
59 | (4) |
|
3.4.4 Circular Error of Probable (CEP) |
|
|
63 | (2) |
|
3.4.5 Geometric Dilution of Precision (GDOP) |
|
|
65 | (1) |
|
3.5 Comparison of Indoor Positioning System |
|
|
66 | (5) |
|
|
68 | (3) |
|
4 Implementation of Wi-Fi Positioning in iPhone |
|
|
71 | (26) |
|
4.1 Site-surveying of Wi-Fi Signals Using iPhone |
|
|
73 | (10) |
|
4.2 Implementing Location Fingerprinting Algorithm in iPhone |
|
|
83 | (3) |
|
|
86 | (2) |
|
4.4 Newton Trust-Region Method |
|
|
88 | (9) |
|
|
89 | (1) |
|
|
89 | (1) |
|
|
89 | (6) |
|
|
95 | (2) |
|
5 Positioning across Different Mobile Platform |
|
|
97 | (10) |
|
5.1 Signal Strength Value Ratio Approach |
|
|
98 | (2) |
|
5.1.1 Signal Strength Ratio |
|
|
98 | (1) |
|
5.1.2 Log-normalized Signal Strength Ratio |
|
|
99 | (1) |
|
5.1.3 K-NN Hyperbolic Location Fingerprinting |
|
|
99 | (1) |
|
5.1.4 Probabilistic Hyperbolic Location Fingerprinting |
|
|
100 | (1) |
|
5.2 Signal Strength Value Difference Approach |
|
|
100 | (1) |
|
5.2.1 Signal Strength Value Difference |
|
|
100 | (1) |
|
5.2.2 K-NN DIFF Location Fingerprinting |
|
|
100 | (1) |
|
5.2.3 Probabilistic DIFF Location Fingerprinting |
|
|
100 | (1) |
|
5.3 Fourier Descriptors Approach |
|
|
101 | (6) |
|
5.3.1 Fourier Location Fingerprint |
|
|
101 | (2) |
|
5.3.2 Example of Fourier Location Fingerprint |
|
|
103 | (1) |
|
5.3.3 K-NN Fourier Location Fingerprinting |
|
|
103 | (1) |
|
5.3.4 Probabilistic Fourier Location Fingerprinting |
|
|
104 | (1) |
|
|
105 | (2) |
|
6 Wi-Fi Signal Visualization |
|
|
107 | (16) |
|
6.1 Why Do We Need a Wi-Fi Visualization Tool? |
|
|
107 | (1) |
|
|
108 | (2) |
|
6.2.1 Fuzzy Membership Function |
|
|
108 | (1) |
|
6.2.2 Fuzzy Spatio-temporal Cluster |
|
|
109 | (1) |
|
|
110 | (3) |
|
|
110 | (1) |
|
|
110 | (2) |
|
6.3.3 Topographic Model Generation |
|
|
112 | (1) |
|
6.4 Signal Visualization Experiments and Results |
|
|
113 | (5) |
|
|
113 | (2) |
|
6.4.2 Visualization Results |
|
|
115 | (3) |
|
6.5 Refinement of Positioning Systems Based on Wi-Fi Visualization Result |
|
|
118 | (5) |
|
|
120 | (3) |
|
Part II Outdoor Positioning Systems |
|
|
|
7 Introduction of Global Positioning System |
|
|
123 | (14) |
|
|
124 | (1) |
|
|
125 | (1) |
|
|
125 | (2) |
|
|
125 | (1) |
|
|
126 | (1) |
|
|
127 | (1) |
|
|
127 | (1) |
|
7.4 Types of GPS Receivers |
|
|
127 | (1) |
|
7.5 Sources of Errors in GPS |
|
|
128 | (3) |
|
|
128 | (1) |
|
7.5.2 Satellite Clock Errors |
|
|
129 | (1) |
|
|
129 | (1) |
|
|
129 | (1) |
|
7.5.5 Multipath Interference |
|
|
130 | (1) |
|
|
131 | (2) |
|
7.6.1 Geometric Dilution of Precision (GDOP) |
|
|
131 | (2) |
|
7.6.2 User Equivalent Range Error (UERE) |
|
|
133 | (1) |
|
7.7 Coordinate Systems on the Earth |
|
|
133 | (4) |
|
8 Study of GPS Signal and Algorithms |
|
|
137 | (20) |
|
|
137 | (4) |
|
8.1.1 Coarse Acquisition Code |
|
|
138 | (1) |
|
|
138 | (1) |
|
|
138 | (1) |
|
8.1.4 Navigation Message Format |
|
|
139 | (2) |
|
8.2 Modernized GPS Signals |
|
|
141 | (2) |
|
8.2.1 L2 Civil Signal (L2C) |
|
|
142 | (1) |
|
|
142 | (1) |
|
|
143 | (1) |
|
8.2.4 Li Civil Signal (LIC) |
|
|
143 | (1) |
|
8.3 GPS Absolute Point Determination |
|
|
143 | (10) |
|
8.3.1 Trilateration Algorithm |
|
|
143 | (3) |
|
8.3.2 What is Pseudorange? |
|
|
146 | (1) |
|
8.3.3 Determining the Location |
|
|
147 | (1) |
|
8.3.4 Determining the Location Using Linearization |
|
|
148 | (5) |
|
8.4 Calculating User Velocity |
|
|
153 | (4) |
|
9 Differential GPS and Assisted GPS |
|
|
157 | (28) |
|
|
158 | (1) |
|
|
158 | (3) |
|
|
158 | (3) |
|
|
161 | (1) |
|
9.3 DGPS Navigation Message Format |
|
|
161 | (5) |
|
9.3.1 RTCM SC-104 Version 2.3 |
|
|
162 | (2) |
|
9.3.2 RTCM SC-104 Version 3.0 |
|
|
164 | (2) |
|
|
166 | (1) |
|
|
167 | (18) |
|
9.5.1 Core Location Framework |
|
|
168 | (3) |
|
|
171 | (2) |
|
9.5.3 GPS Program in iPhone |
|
|
173 | (3) |
|
9.5.4 Core Location Heading |
|
|
176 | (3) |
|
|
179 | (1) |
|
|
180 | (5) |
|
10 Other Existing Positioning Systems |
|
|
185 | (16) |
|
10.1 Acoustic-based Positioning |
|
|
186 | (2) |
|
10.1.1 Active Acoustic Positioning |
|
|
187 | (1) |
|
10.1.2 Passive Acoustic Positioning |
|
|
187 | (1) |
|
10.1.3 What is Beamforming? |
|
|
187 | (1) |
|
10.1.4 Applications of Acoustic Positioning |
|
|
188 | (1) |
|
10.2 Vision-based Positioning |
|
|
188 | (4) |
|
10.2.1 Camera-based Positioning |
|
|
188 | (2) |
|
10.2.2 Landmark-based Positioning |
|
|
190 | (2) |
|
10.2.3 Applications of Vision-based Positioning |
|
|
192 | (1) |
|
10.3 What is RFID Technology and Its Components? |
|
|
192 | (9) |
|
|
193 | (1) |
|
|
193 | (2) |
|
|
195 | (1) |
|
10.3.4 Applications of RFID Positioning |
|
|
196 | (5) |
|
Part III Applications in Wireless Localization |
|
|
|
11 AI for Location-aware Applications |
|
|
201 | (22) |
|
11.1 What is Location-aware Application? |
|
|
202 | (2) |
|
11.2 What are AI Techniques? |
|
|
204 | (5) |
|
|
205 | (2) |
|
11.2.2 Natural Language Processing |
|
|
207 | (2) |
|
11.3 Example of the Tourist Guide Application |
|
|
209 | (14) |
|
11.3.1 System Overview of the Tourist Guide Application |
|
|
209 | (1) |
|
11.3.2 Applying Fuzzy Logic in the Tourist Guide Application |
|
|
210 | (1) |
|
11.3.3 Building the Database Structure |
|
|
211 | (1) |
|
11.3.4 Setting Up the Server Side in PHP |
|
|
212 | (1) |
|
11.3.5 Setting Up the Client-side in iPhone |
|
|
213 | (10) |
|
12 Beyond Positioning: Video Streaming and Conferencing |
|
|
223 | (22) |
|
12.1 What is Video Streaming? |
|
|
224 | (1) |
|
12.1.1 Point-to-point Video Streaming |
|
|
224 | (1) |
|
12.1.2 Multicast Video Streaming |
|
|
225 | (1) |
|
12.1.3 Broadcast Video Streaming |
|
|
225 | (1) |
|
12.2 Networks and Formats in Video Streaming |
|
|
225 | (2) |
|
12.3 How Does Video Streaming Work? |
|
|
227 | (2) |
|
12.3.1 Traditional Video Streaming |
|
|
228 | (1) |
|
12.3.2 Adaptive Video Streaming |
|
|
228 | (1) |
|
12.4 Location-aware Video Streaming |
|
|
229 | (2) |
|
12.4.1 Building the Location-Based Bandwidth Lookup Database |
|
|
230 | (1) |
|
12.4.2 Location-based Bit-rate and Quality Monitoring |
|
|
231 | (1) |
|
12.5 What is Video Conferencing? |
|
|
231 | (2) |
|
12.6 Implementation of Video Streaming in iPhone |
|
|
233 | (8) |
|
12.7 Implementation of Video Conferencing in iPhone |
|
|
241 | (4) |
|
Appendix A Starting the iOS SDK |
|
|
245 | (16) |
|
|
246 | (2) |
|
A.2 What Can You Create Using iOS SDK? |
|
|
248 | (2) |
|
A.2.1 What Tools Are in the iOS SDK? |
|
|
248 | (1) |
|
A.2.2 Apple Developer Center |
|
|
249 | (1) |
|
A.3 Limitations of iPhone Environment |
|
|
250 | (1) |
|
A.4 Introduction to Xcode |
|
|
251 | (3) |
|
A.4.1 Xcode Project Template |
|
|
253 | (1) |
|
A.4.2 Xcode Project Summary |
|
|
253 | (1) |
|
A.5 Xcode Project Interface |
|
|
254 | (7) |
|
|
255 | (1) |
|
|
256 | (1) |
|
|
257 | (1) |
|
|
257 | (1) |
|
|
258 | (3) |
|
Appendix B Introduction to Objective-C Programming in iPhone |
|
|
261 | (44) |
|
B.1 Objective-C Program, Hello World |
|
|
262 | (4) |
|
B.1.1 Using Xcode to Code and Compile Programs |
|
|
263 | (2) |
|
|
265 | (1) |
|
|
266 | (1) |
|
B.1.4 Automatic Reference Counting (ARC) |
|
|
266 | (1) |
|
|
266 | (1) |
|
B.2 Object-Oriented Programming (OOP) |
|
|
266 | (12) |
|
|
268 | (1) |
|
B.2.2 The @Interface Section |
|
|
269 | (1) |
|
B.2.3 The @Implementation Section |
|
|
270 | (1) |
|
B.2.4 The Program Section |
|
|
271 | (1) |
|
B.2.5 @property, @synthesize and @dynamic |
|
|
272 | (1) |
|
B.2.6 @property in the @interface Section |
|
|
273 | (1) |
|
B.2.7 @synthesize in the @implementation Section |
|
|
274 | (1) |
|
B.2.8 @dynamic in the @implementation Section |
|
|
275 | (1) |
|
|
275 | (1) |
|
|
275 | (3) |
|
B.3 Hello World iPhone Application |
|
|
278 | (4) |
|
B.3.1 Using Interface Builder |
|
|
279 | (2) |
|
B.3.2 Creating User Interface by Click-dragging Processes |
|
|
281 | (1) |
|
B.4 Creating Your Web Browser in iPhone |
|
|
282 | (5) |
|
B.5 Creating a Simple Map Application |
|
|
287 | (18) |
|
B.5.1 Map Function from MapKit Frameworks |
|
|
289 | (2) |
|
B.5.2 Locate Yourself and Shift Center View in the Map |
|
|
291 | (1) |
|
B.5.3 Translate and Zoom by MKCoordinateRegion Class |
|
|
291 | (1) |
|
B.5.4 Switch from Satellite Map to Standard Street Map |
|
|
292 | (2) |
|
B.5.5 UISlider Item Handles Zoom Events |
|
|
294 | (4) |
|
B.5.6 Switches Web Browser and Simple Map Application |
|
|
298 | (7) |
Index |
|
305 | |