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.Point2D;
20
21 /**
22 * Data related to a Wi-Fi access point with estimated transmitted power and
23 * known 2D location.
24 */
25 public class WifiAccessPointWithPowerAndLocated2D extends WifiAccessPointWithPowerAndLocated<Point2D> {
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 WifiAccessPointWithPowerAndLocated2D(
38 final String bssid, final double frequency, final double transmittedPower, final Point2D 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 WifiAccessPointWithPowerAndLocated2D(
54 final String bssid, final double frequency, final String ssid, final double transmittedPower,
55 final Point2D 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 WifiAccessPointWithPowerAndLocated2D(
72 final String bssid, final double frequency, final double transmittedPower,
73 final Double transmittedPowerStandardDeviation, final Point2D 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 WifiAccessPointWithPowerAndLocated2D(
91 final String bssid, final double frequency, final String ssid, final double transmittedPower,
92 final Double transmittedPowerStandardDeviation, final Point2D 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 WifiAccessPointWithPowerAndLocated2D(
109 final String bssid, final double frequency, final double transmittedPower, final Point2D 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 WifiAccessPointWithPowerAndLocated2D(
128 final String bssid, final double frequency, final String ssid, final double transmittedPower,
129 final Point2D 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 WifiAccessPointWithPowerAndLocated2D(
148 final String bssid, final double frequency, final double transmittedPower,
149 final Double transmittedPowerStandardDeviation, final Point2D 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 WifiAccessPointWithPowerAndLocated2D(
169 final String bssid, final double frequency, final String ssid, final double transmittedPower,
170 final Double transmittedPowerStandardDeviation, final Point2D 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 WifiAccessPointWithPowerAndLocated2D(
187 final String bssid, final double frequency, final double transmittedPower, final double pathLossExponent,
188 final Point2D 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 WifiAccessPointWithPowerAndLocated2D(
206 final String bssid, final double frequency, final double transmittedPower,
207 final Double transmittedPowerStandardDeviation, final double pathLossExponent, final Point2D position) {
208 super(bssid, frequency, transmittedPower, transmittedPowerStandardDeviation, pathLossExponent, position);
209 }
210
211 /**
212 * Constructor.
213 *
214 * @param bssid basic service set identifier of this access point in the form of a six-byte MAC address:
215 * xx:xx:xx:xx:xx:xx.
216 * @param frequency frequency used by this Access Point (expressed in Hz).
217 * @param ssid service set identifier (SSID) of this 802.11 network.
218 * @param transmittedPower transmitted power by this access point (expressed in dBM's).
219 * @param transmittedPowerStandardDeviation standard deviation of transmitted power value.
220 * @param pathLossExponent path loss exponent. By default, this is 2.0.
221 * @param position position where access point is located.
222 * @throws IllegalArgumentException if either BSSID is null, frequency is negative,
223 * or transmitted power standard deviation is negative.
224 */
225 public WifiAccessPointWithPowerAndLocated2D(
226 final String bssid, final double frequency, final String ssid, final double transmittedPower,
227 final Double transmittedPowerStandardDeviation, final double pathLossExponent, final Point2D position) {
228 super(bssid, frequency, ssid, transmittedPower, transmittedPowerStandardDeviation, pathLossExponent, position);
229 }
230
231 /**
232 * Constructor.
233 *
234 * @param bssid basic service set identifier of this access point in the form of a six-byte MAC address:
235 * xx:xx:xx:xx:xx:xx.
236 * @param frequency frequency used by this Access Point (expressed in Hz).
237 * @param transmittedPower transmitted power by this access point (expressed in dBm's).
238 * @param pathLossExponent path loss exponent. By default, this is 2.0.
239 * @param position position where access point is located.
240 * @param positionCovariance covariance of inhomogeneous coordinates of current
241 * position (if available).
242 * @throws IllegalArgumentException if either BSSID is null, frequency is negative
243 * or covariance has invalid size.
244 */
245 public WifiAccessPointWithPowerAndLocated2D(
246 final String bssid, final double frequency, final double transmittedPower, final double pathLossExponent,
247 final Point2D position, final Matrix positionCovariance) {
248 super(bssid, frequency, transmittedPower, pathLossExponent, position, positionCovariance);
249 }
250
251 /**
252 * Constructor.
253 *
254 * @param bssid basic service set identifier of this access point in the form of a six-byte MAC address:
255 * xx:xx:xx:xx:xx:xx.
256 * @param frequency frequency used by this Access Point (expressed in Hz).
257 * @param transmittedPower transmitted power by this access point (expressed in dBm's).
258 * @param transmittedPowerStandardDeviation standard deviation of transmitted power value.
259 * @param pathLossExponent path loss exponent. By default, this is 2.0.
260 * @param position position where access point is located.
261 * @param positionCovariance covariance of inhomogeneous coordinates of current
262 * position (if available).
263 * @throws IllegalArgumentException if either BSSID is null, frequency is negative
264 * or transmitted power standard deviation is negative.
265 */
266 public WifiAccessPointWithPowerAndLocated2D(
267 final String bssid, final double frequency, final double transmittedPower,
268 final Double transmittedPowerStandardDeviation, final double pathLossExponent, final Point2D position,
269 final Matrix positionCovariance) {
270 super(bssid, frequency, transmittedPower, transmittedPowerStandardDeviation, pathLossExponent, position,
271 positionCovariance);
272 }
273
274 /**
275 * Constructor.
276 *
277 * @param bssid basic service set identifier of this access point in the form of a six-byte MAC address:
278 * xx:xx:xx:xx:xx:xx.
279 * @param frequency frequency used by this Access Point (expressed in Hz).
280 * @param ssid service set identifier (SSID) of this 802.11 network.
281 * @param transmittedPower transmitted power by this access point (expressed in dBM's).
282 * @param transmittedPowerStandardDeviation standard deviation of transmitted power value.
283 * @param pathLossExponent path loss exponent. By default, this is 2.0.
284 * @param position position where access point is located.
285 * @param positionCovariance covariance of inhomogeneous coordinates of current
286 * position (if available).
287 * @throws IllegalArgumentException if either BSSID is null, frequency is negative,
288 * or transmitted power standard deviation is negative.
289 */
290 public WifiAccessPointWithPowerAndLocated2D(
291 final String bssid, final double frequency, final String ssid, final double transmittedPower,
292 final Double transmittedPowerStandardDeviation, final double pathLossExponent, final Point2D position,
293 final Matrix positionCovariance) {
294 super(bssid, frequency, ssid, transmittedPower, transmittedPowerStandardDeviation, pathLossExponent, position,
295 positionCovariance);
296 }
297
298 /**
299 * Constructor.
300 *
301 * @param bssid basic service set identifier of this access point in the form of a six-byte MAC address:
302 * xx:xx:xx:xx:xx:xx.
303 * @param frequency frequency used by this Access Point (expressed in Hz).
304 * @param transmittedPower transmitted power by this access point (expressed in dBm's).
305 * @param transmittedPowerStandardDeviation standard deviation of transmitted power value or null
306 * if unknown.
307 * @param pathLossExponent path loss exponent. By default, this is 2.0.
308 * @param pathLossExponentStandardDeviation standard deviation of path loss exponent or null if
309 * unknown.
310 * @param position position where access point is located.
311 * @throws IllegalArgumentException if either BSSID is null, frequency is negative
312 * or any standard deviation is negative.
313 */
314 public WifiAccessPointWithPowerAndLocated2D(
315 final String bssid, final double frequency, final double transmittedPower,
316 final Double transmittedPowerStandardDeviation, final double pathLossExponent,
317 final Double pathLossExponentStandardDeviation, final Point2D position) {
318 super(bssid, frequency, transmittedPower, transmittedPowerStandardDeviation, pathLossExponent,
319 pathLossExponentStandardDeviation, position);
320 }
321
322 /**
323 * Constructor.
324 *
325 * @param bssid basic service set identifier of this access point in the form of a six-byte MAC address:
326 * xx:xx:xx:xx:xx:xx.
327 * @param frequency frequency used by this Access Point (expressed in Hz).
328 * @param ssid service set identifier (SSID) of this 802.11 network.
329 * @param transmittedPower transmitted power by this access point (expressed in dBM's).
330 * @param transmittedPowerStandardDeviation standard deviation of transmitted power value or null
331 * if unknown.
332 * @param pathLossExponent path loss exponent. By default, this is 2.0.
333 * @param pathLossExponentStandardDeviation standard deviation of path loss exponent or null if
334 * unknown.
335 * @param position position where access point is located.
336 * @throws IllegalArgumentException if either BSSID is null, frequency is negative,
337 * or any standard deviation is negative.
338 */
339 public WifiAccessPointWithPowerAndLocated2D(
340 final String bssid, final double frequency, final String ssid, final double transmittedPower,
341 final Double transmittedPowerStandardDeviation, final double pathLossExponent,
342 final Double pathLossExponentStandardDeviation, final Point2D position) {
343 super(bssid, frequency, ssid, transmittedPower, transmittedPowerStandardDeviation, pathLossExponent,
344 pathLossExponentStandardDeviation, position);
345 }
346
347 /**
348 * Constructor.
349 *
350 * @param bssid basic service set identifier of this access point in the form of a six-byte MAC address:
351 * xx:xx:xx:xx:xx:xx.
352 * @param frequency frequency used by this Access Point (expressed in Hz).
353 * @param transmittedPower transmitted power by this access point (expressed in dBm's).
354 * @param transmittedPowerStandardDeviation standard deviation of transmitted power value or null
355 * if unknown.
356 * @param pathLossExponent path loss exponent. By default, this is 2.0.
357 * @param pathLossExponentStandardDeviation standard deviation of path loss exponent or null if
358 * unknown.
359 * @param position position where access point is located.
360 * @param positionCovariance covariance of inhomogeneous coordinates of current
361 * position (if available).
362 * @throws IllegalArgumentException if either BSSID is null, frequency is negative,
363 * any standard deviation is negative or covariance has invalid size.
364 */
365 public WifiAccessPointWithPowerAndLocated2D(
366 final String bssid, final double frequency, final double transmittedPower,
367 final Double transmittedPowerStandardDeviation, final double pathLossExponent,
368 final Double pathLossExponentStandardDeviation, final Point2D position, final Matrix positionCovariance) {
369 super(bssid, frequency, transmittedPower, transmittedPowerStandardDeviation, pathLossExponent,
370 pathLossExponentStandardDeviation, position, positionCovariance);
371 }
372
373 /**
374 * Constructor.
375 *
376 * @param bssid basic service set identifier of this access point in the form of a six-byte MAC address:
377 * xx:xx:xx:xx:xx:xx.
378 * @param frequency frequency used by this Access Point (expressed in Hz).
379 * @param ssid service set identifier (SSID) of this 802.11 network.
380 * @param transmittedPower transmitted power by this access point (expressed in dBM's).
381 * @param transmittedPowerStandardDeviation standard deviation of transmitted power value or null
382 * if unknown.
383 * @param pathLossExponent path loss exponent. By default, this is 2.0.
384 * @param pathLossExponentStandardDeviation standard deviation of path loss exponent or null if
385 * unknown.
386 * @param position position where access point is located.
387 * @param positionCovariance covariance of inhomogeneous coordinates of current
388 * position (if available).
389 * @throws IllegalArgumentException if either BSSID is null, frequency is negative,
390 * any standard deviation is negative or covariance has invalid size.
391 */
392 public WifiAccessPointWithPowerAndLocated2D(
393 final String bssid, final double frequency, final String ssid, final double transmittedPower,
394 final Double transmittedPowerStandardDeviation, final double pathLossExponent,
395 final Double pathLossExponentStandardDeviation, final Point2D position, final Matrix positionCovariance) {
396 super(bssid, frequency, ssid, transmittedPower, transmittedPowerStandardDeviation, pathLossExponent,
397 pathLossExponentStandardDeviation, position, positionCovariance);
398 }
399
400 /**
401 * Empty constructor.
402 */
403 protected WifiAccessPointWithPowerAndLocated2D() {
404 super();
405 }
406 }