1 /*
2 * Copyright (C) 2018 Alberto Irurueta Carro (alberto@irurueta.com)
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16 package com.irurueta.navigation.indoor;
17
18 import com.irurueta.algebra.Matrix;
19 import com.irurueta.geometry.Point3D;
20
21 /**
22 * Data related to a Wi-Fi access point with estimated transmitted power and
23 * known 3D location.
24 */
25 public class WifiAccessPointWithPowerAndLocated3D extends WifiAccessPointWithPowerAndLocated<Point3D> {
26
27 /**
28 * Constructor.
29 *
30 * @param bssid basic service set identifier of this access point in the form of a six-byte MAC address:
31 * xx:xx:xx:xx:xx:xx.
32 * @param frequency frequency used by this Access Point (expressed in Hz).
33 * @param transmittedPower transmitted power by this access point (expressed in dBm's).
34 * @param position position where access point is located.
35 * @throws IllegalArgumentException if BSSID is null or frequency is negative.
36 */
37 public WifiAccessPointWithPowerAndLocated3D(
38 final String bssid, final double frequency, final double transmittedPower, final Point3D position) {
39 super(bssid, frequency, transmittedPower, position);
40 }
41
42 /**
43 * Constructor.
44 *
45 * @param bssid basic service set identifier of this access point in the form of a six-byte MAC address:
46 * xx:xx:xx:xx:xx:xx.
47 * @param frequency frequency used by this Access Point (expressed in Hz).
48 * @param ssid service set identifier (SSID) of this 802.11 network.
49 * @param transmittedPower transmitted power by this access point (expressed in dBM's).
50 * @param position position where access point is located.
51 * @throws IllegalArgumentException if BSSID is null or frequency is negative.
52 */
53 public WifiAccessPointWithPowerAndLocated3D(
54 final String bssid, final double frequency, final String ssid, final double transmittedPower,
55 final Point3D position) {
56 super(bssid, frequency, ssid, transmittedPower, position);
57 }
58
59 /**
60 * Constructor.
61 *
62 * @param bssid basic service set identifier of this access point in the form of a six-byte MAC address:
63 * xx:xx:xx:xx:xx:xx.
64 * @param frequency frequency used by this Access Point (expressed in Hz).
65 * @param transmittedPower transmitted power by this access point (expressed in dBm's).
66 * @param transmittedPowerStandardDeviation standard deviation of transmitted power value.
67 * @param position position where access point is located.
68 * @throws IllegalArgumentException if either BSSID is null, frequency is negative
69 * or transmitted power standard deviation is negative.
70 */
71 public WifiAccessPointWithPowerAndLocated3D(
72 final String bssid, final double frequency, final double transmittedPower,
73 final Double transmittedPowerStandardDeviation, final Point3D position) {
74 super(bssid, frequency, transmittedPower, transmittedPowerStandardDeviation, position);
75 }
76
77 /**
78 * Constructor.
79 *
80 * @param bssid basic service set identifier of this access point in the form of a six-byte MAC address:
81 * xx:xx:xx:xx:xx:xx.
82 * @param frequency frequency used by this Access Point (expressed in Hz).
83 * @param ssid service set identifier (SSID) of this 802.11 network.
84 * @param transmittedPower transmitted power by this access point (expressed in dBM's).
85 * @param transmittedPowerStandardDeviation standard deviation of transmitted power value.
86 * @param position position where access point is located.
87 * @throws IllegalArgumentException if either BSSID is null, frequency is negative,
88 * or transmitted power standard deviation is negative.
89 */
90 public WifiAccessPointWithPowerAndLocated3D(
91 final String bssid, final double frequency, final String ssid, final double transmittedPower,
92 final Double transmittedPowerStandardDeviation, final Point3D position) {
93 super(bssid, frequency, ssid, transmittedPower, transmittedPowerStandardDeviation, position);
94 }
95
96 /**
97 * Constructor.
98 *
99 * @param bssid basic service set identifier of this access point in the form of a six-byte MAC address:
100 * xx:xx:xx:xx:xx:xx.
101 * @param frequency frequency used by this Access Point (expressed in Hz).
102 * @param transmittedPower transmitted power by this access point (expressed in dBm's).
103 * @param position position where access point is located.
104 * @param positionCovariance covariance of inhomogeneous coordinates of current
105 * position (if available).
106 * @throws IllegalArgumentException if BSSID is null or frequency is negative.
107 */
108 public WifiAccessPointWithPowerAndLocated3D(
109 final String bssid, final double frequency, final double transmittedPower, final Point3D position,
110 final Matrix positionCovariance) {
111 super(bssid, frequency, transmittedPower, position, positionCovariance);
112 }
113
114 /**
115 * Constructor.
116 *
117 * @param bssid basic service set identifier of this access point in the form of a six-byte MAC address:
118 * xx:xx:xx:xx:xx:xx.
119 * @param frequency frequency used by this Access Point (expressed in Hz).
120 * @param ssid service set identifier (SSID) of this 802.11 network.
121 * @param transmittedPower transmitted power by this access point (expressed in dBM's).
122 * @param position position where access point is located.
123 * @param positionCovariance covariance of inhomogeneous coordinates of current
124 * position (if available).
125 * @throws IllegalArgumentException if BSSID is null or frequency is negative.
126 */
127 public WifiAccessPointWithPowerAndLocated3D(
128 final String bssid, final double frequency, final String ssid, final double transmittedPower,
129 final Point3D position, final Matrix positionCovariance) {
130 super(bssid, frequency, ssid, transmittedPower, position, positionCovariance);
131 }
132
133 /**
134 * Constructor.
135 *
136 * @param bssid basic service set identifier of this access point in the form of a six-byte MAC address:
137 * xx:xx:xx:xx:xx:xx.
138 * @param frequency frequency used by this Access Point (expressed in Hz).
139 * @param transmittedPower transmitted power by this access point (expressed in dBm's).
140 * @param transmittedPowerStandardDeviation standard deviation of transmitted power value.
141 * @param position position where access point is located.
142 * @param positionCovariance covariance of inhomogeneous coordinates of current
143 * position (if available).
144 * @throws IllegalArgumentException if either BSSID is null, frequency is negative
145 * or transmitted power standard deviation is negative.
146 */
147 public WifiAccessPointWithPowerAndLocated3D(
148 final String bssid, final double frequency, final double transmittedPower,
149 final Double transmittedPowerStandardDeviation, final Point3D position, final Matrix positionCovariance) {
150 super(bssid, frequency, transmittedPower, transmittedPowerStandardDeviation, position, positionCovariance);
151 }
152
153 /**
154 * Constructor.
155 *
156 * @param bssid basic service set identifier of this access point in the form of a six-byte MAC address:
157 * xx:xx:xx:xx:xx:xx.
158 * @param frequency frequency used by this Access Point (expressed in Hz).
159 * @param ssid service set identifier (SSID) of this 802.11 network.
160 * @param transmittedPower transmitted power by this access point (expressed in dBM's).
161 * @param transmittedPowerStandardDeviation standard deviation of transmitted power value.
162 * @param position position where access point is located.
163 * @param positionCovariance covariance of inhomogeneous coordinates of current
164 * position (if available).
165 * @throws IllegalArgumentException if either BSSID is null, frequency is negative,
166 * or transmitted power standard deviation is negative.
167 */
168 public WifiAccessPointWithPowerAndLocated3D(
169 final String bssid, final double frequency, final String ssid, final double transmittedPower,
170 final Double transmittedPowerStandardDeviation, final Point3D position, final Matrix positionCovariance) {
171 super(bssid, frequency, ssid, transmittedPower, transmittedPowerStandardDeviation, position,
172 positionCovariance);
173 }
174
175 /**
176 * Constructor.
177 *
178 * @param bssid basic service set identifier of this access point in the form of a six-byte MAC address:
179 * xx:xx:xx:xx:xx:xx.
180 * @param frequency frequency used by this Access Point (expressed in Hz).
181 * @param transmittedPower transmitted power by this access point (expressed in dBm's).
182 * @param pathLossExponent path loss exponent. By default, this is 2.0.
183 * @param position position where access point is located.
184 * @throws IllegalArgumentException if either BSSID is null or frequency is negative
185 */
186 public WifiAccessPointWithPowerAndLocated3D(
187 final String bssid, final double frequency, final double transmittedPower, final double pathLossExponent,
188 final Point3D position) {
189 super(bssid, frequency, transmittedPower, pathLossExponent, position);
190 }
191
192 /**
193 * Constructor.
194 *
195 * @param bssid basic service set identifier of this access point in the form of a six-byte MAC address:
196 * xx:xx:xx:xx:xx:xx.
197 * @param frequency frequency used by this Access Point (expressed in Hz).
198 * @param transmittedPower transmitted power by this access point (expressed in dBm's).
199 * @param transmittedPowerStandardDeviation standard deviation of transmitted power value.
200 * @param pathLossExponent path loss exponent. By default, this is 2.0.
201 * @param position position where access point is located.
202 * @throws IllegalArgumentException if either BSSID is null, frequency is negative
203 * or transmitted power standard deviation is negative.
204 */
205 public WifiAccessPointWithPowerAndLocated3D(
206 final String bssid, final double frequency, final double transmittedPower,
207 final Double transmittedPowerStandardDeviation, final double pathLossExponent,
208 final Point3D position) {
209 super(bssid, frequency, transmittedPower, transmittedPowerStandardDeviation, pathLossExponent, position);
210 }
211
212 /**
213 * Constructor.
214 *
215 * @param bssid basic service set identifier of this access point in the form of a six-byte MAC address:
216 * xx:xx:xx:xx:xx:xx.
217 * @param frequency frequency used by this Access Point (expressed in Hz).
218 * @param ssid service set identifier (SSID) of this 802.11 network.
219 * @param transmittedPower transmitted power by this access point (expressed in dBM's).
220 * @param transmittedPowerStandardDeviation standard deviation of transmitted power value.
221 * @param pathLossExponent path loss exponent. By default, this is 2.0.
222 * @param position position where access point is located.
223 * @throws IllegalArgumentException if either BSSID is null, frequency is negative,
224 * or transmitted power standard deviation is negative.
225 */
226 public WifiAccessPointWithPowerAndLocated3D(
227 final String bssid, final double frequency, final String ssid, final double transmittedPower,
228 final Double transmittedPowerStandardDeviation, final double pathLossExponent, final Point3D position) {
229 super(bssid, frequency, ssid, transmittedPower, transmittedPowerStandardDeviation, pathLossExponent,
230 position);
231 }
232
233 /**
234 * Constructor.
235 *
236 * @param bssid basic service set identifier of this access point in the form of a six-byte MAC address:
237 * xx:xx:xx:xx:xx:xx.
238 * @param frequency frequency used by this Access Point (expressed in Hz).
239 * @param transmittedPower transmitted power by this access point (expressed in dBm's).
240 * @param pathLossExponent path loss exponent. By default, this is 2.0.
241 * @param position position where access point is located.
242 * @param positionCovariance covariance of inhomogeneous coordinates of current
243 * position (if available).
244 * @throws IllegalArgumentException if either BSSID is null, frequency is negative
245 * or covariance has invalid size.
246 */
247 public WifiAccessPointWithPowerAndLocated3D(
248 final String bssid, final double frequency, final double transmittedPower, final double pathLossExponent,
249 final Point3D position, final Matrix positionCovariance) {
250 super(bssid, frequency, transmittedPower, pathLossExponent, position, positionCovariance);
251 }
252
253 /**
254 * Constructor.
255 *
256 * @param bssid basic service set identifier of this access point in the form of a six-byte MAC address:
257 * xx:xx:xx:xx:xx:xx.
258 * @param frequency frequency used by this Access Point (expressed in Hz).
259 * @param transmittedPower transmitted power by this access point (expressed in dBm's).
260 * @param transmittedPowerStandardDeviation standard deviation of transmitted power value.
261 * @param pathLossExponent path loss exponent. By default, this is 2.0.
262 * @param position position where access point is located.
263 * @param positionCovariance covariance of inhomogeneous coordinates of current
264 * position (if available).
265 * @throws IllegalArgumentException if either BSSID is null, frequency is negative
266 * or transmitted power standard deviation is negative.
267 */
268 public WifiAccessPointWithPowerAndLocated3D(
269 final String bssid, final double frequency, final double transmittedPower,
270 final Double transmittedPowerStandardDeviation, final double pathLossExponent, final Point3D position,
271 final Matrix positionCovariance) {
272 super(bssid, frequency, transmittedPower, transmittedPowerStandardDeviation, pathLossExponent, position,
273 positionCovariance);
274 }
275
276 /**
277 * Constructor.
278 *
279 * @param bssid basic service set identifier of this access point in the form of a six-byte MAC address:
280 * xx:xx:xx:xx:xx:xx.
281 * @param frequency frequency used by this Access Point (expressed in Hz).
282 * @param ssid service set identifier (SSID) of this 802.11 network.
283 * @param transmittedPower transmitted power by this access point (expressed in dBM's).
284 * @param transmittedPowerStandardDeviation standard deviation of transmitted power value.
285 * @param pathLossExponent path loss exponent. By default, this is 2.0.
286 * @param position position where access point is located.
287 * @param positionCovariance covariance of inhomogeneous coordinates of current
288 * position (if available).
289 * @throws IllegalArgumentException if either BSSID is null, frequency is negative,
290 * or transmitted power standard deviation is negative.
291 */
292 public WifiAccessPointWithPowerAndLocated3D(
293 final String bssid, final double frequency, final String ssid, final double transmittedPower,
294 final Double transmittedPowerStandardDeviation, final double pathLossExponent, final Point3D position,
295 final Matrix positionCovariance) {
296 super(bssid, frequency, ssid, transmittedPower, transmittedPowerStandardDeviation, pathLossExponent, position,
297 positionCovariance);
298 }
299
300 /**
301 * Constructor.
302 *
303 * @param bssid basic service set identifier of this access point in the form of a six-byte MAC address:
304 * xx:xx:xx:xx:xx:xx.
305 * @param frequency frequency used by this Access Point (expressed in Hz).
306 * @param transmittedPower transmitted power by this access point (expressed in dBm's).
307 * @param transmittedPowerStandardDeviation standard deviation of transmitted power value or null
308 * if unknown.
309 * @param pathLossExponent path loss exponent. By default, this is 2.0.
310 * @param pathLossExponentStandardDeviation standard deviation of path loss exponent or null if
311 * unknown.
312 * @param position position where access point is located.
313 * @throws IllegalArgumentException if either BSSID is null, frequency is negative
314 * or any standard deviation is negative.
315 */
316 public WifiAccessPointWithPowerAndLocated3D(
317 final String bssid, final double frequency, final double transmittedPower,
318 final Double transmittedPowerStandardDeviation, final double pathLossExponent,
319 final Double pathLossExponentStandardDeviation, final Point3D position) {
320 super(bssid, frequency, transmittedPower, transmittedPowerStandardDeviation, pathLossExponent,
321 pathLossExponentStandardDeviation, position);
322 }
323
324 /**
325 * Constructor.
326 *
327 * @param bssid basic service set identifier of this access point in the form of a six-byte MAC address:
328 * xx:xx:xx:xx:xx:xx.
329 * @param frequency frequency used by this Access Point (expressed in Hz).
330 * @param ssid service set identifier (SSID) of this 802.11 network.
331 * @param transmittedPower transmitted power by this access point (expressed in dBM's).
332 * @param transmittedPowerStandardDeviation standard deviation of transmitted power value or null
333 * if unknown.
334 * @param pathLossExponent path loss exponent. By default, this is 2.0.
335 * @param pathLossExponentStandardDeviation standard deviation of path loss exponent or null if
336 * unknown.
337 * @param position position where access point is located.
338 * @throws IllegalArgumentException if either BSSID is null, frequency is negative,
339 * or any standard deviation is negative.
340 */
341 public WifiAccessPointWithPowerAndLocated3D(
342 final String bssid, final double frequency, final String ssid, final double transmittedPower,
343 final Double transmittedPowerStandardDeviation, final double pathLossExponent,
344 final Double pathLossExponentStandardDeviation, final Point3D position) {
345 super(bssid, frequency, ssid, transmittedPower, transmittedPowerStandardDeviation, pathLossExponent,
346 pathLossExponentStandardDeviation, position);
347 }
348
349 /**
350 * Constructor.
351 *
352 * @param bssid basic service set identifier of this access point in the form of a six-byte MAC address:
353 * xx:xx:xx:xx:xx:xx.
354 * @param frequency frequency used by this Access Point (expressed in Hz).
355 * @param transmittedPower transmitted power by this access point (expressed in dBm's).
356 * @param transmittedPowerStandardDeviation standard deviation of transmitted power value or null
357 * if unknown.
358 * @param pathLossExponent path loss exponent. By default, this is 2.0.
359 * @param pathLossExponentStandardDeviation standard deviation of path loss exponent or null if
360 * unknown.
361 * @param position position where access point is located.
362 * @param positionCovariance covariance of inhomogeneous coordinates of current
363 * position (if available).
364 * @throws IllegalArgumentException if either BSSID is null, frequency is negative,
365 * any standard deviation is negative or covariance has invalid size.
366 */
367 public WifiAccessPointWithPowerAndLocated3D(
368 final String bssid, final double frequency, final double transmittedPower,
369 final Double transmittedPowerStandardDeviation, final double pathLossExponent,
370 final Double pathLossExponentStandardDeviation, final Point3D position, final Matrix positionCovariance) {
371 super(bssid, frequency, transmittedPower, transmittedPowerStandardDeviation, pathLossExponent,
372 pathLossExponentStandardDeviation, position, positionCovariance);
373 }
374
375 /**
376 * Constructor.
377 *
378 * @param bssid basic service set identifier of this access point in the form of a six-byte MAC address:
379 * xx:xx:xx:xx:xx:xx.
380 * @param frequency frequency used by this Access Point (expressed in Hz).
381 * @param ssid service set identifier (SSID) of this 802.11 network.
382 * @param transmittedPower transmitted power by this access point (expressed in dBM's).
383 * @param transmittedPowerStandardDeviation standard deviation of transmitted power value or null
384 * if unknown.
385 * @param pathLossExponent path loss exponent. By default, this is 2.0.
386 * @param pathLossExponentStandardDeviation standard deviation of path loss exponent or null if
387 * unknown.
388 * @param position position where access point is located.
389 * @param positionCovariance covariance of inhomogeneous coordinates of current
390 * position (if available).
391 * @throws IllegalArgumentException if either BSSID is null, frequency is negative,
392 * any standard deviation is negative or covariance has invalid size.
393 */
394 public WifiAccessPointWithPowerAndLocated3D(
395 final String bssid, final double frequency, final String ssid, final double transmittedPower,
396 final Double transmittedPowerStandardDeviation, final double pathLossExponent,
397 final Double pathLossExponentStandardDeviation, final Point3D position, final Matrix positionCovariance) {
398 super(bssid, frequency, ssid, transmittedPower, transmittedPowerStandardDeviation, pathLossExponent,
399 pathLossExponentStandardDeviation, position, positionCovariance);
400 }
401
402 /**
403 * Empty constructor.
404 */
405 protected WifiAccessPointWithPowerAndLocated3D() {
406 super();
407 }
408 }