Algorytm w SmartBeacon wysyła beacony proporcjonalnie do przemierzanej
odległości. Równo oddalone miejsca wysyłania beaconów wyliczone zostają na
podstawie 'Fast Rate', 'High Speed' i aktualnej prędkości.
Gdy prędkość jest wyższa niż 'High Speed', beacony wysyłane są w równych
odstępach czasowych według 'Fast Rate'.
High Speed A |
60 km/h | 120 km/h | 60 km/h | 18 km/h |
---|---|---|---|---|
Fast Rate B |
120 sekund | 60 sekund | 60 sekund | 60 sekund |
Dystans C = A * B ∕ 3600 |
beacon wysyłany jest co 2 kilometry, ale nie częściej niż co 120 sekund | beacon wysyłany jest co 2 kilometry, ale nie częściej niż co 60 sekund | beacon wysyłany jest co 1 kilometr, ale nie częściej niż co 60 sekund | beacon wysyłany jest co 300 metrów, ale nie częściej niż co 60 sekund |
Gdy prędkość spada poniżej 'Low Speed', beacony są wysyłane w odstępach
czasowych określonych w 'Slow Rate'.
Low Speed | 5 km/h | 3 km/h |
---|---|---|
Slow Rate | 1800 sekund | 1200 sekund |
poniżej prędkości 5 km/h beacony wysyłane są co 30 minut | poniżej prędkości 3 km/h beacony wysyłane są co 20 minut |
W przedziale prędkości pomiędzy 'Low Speed' a 'High Speed', czasowe
natężenie wysyłania beaconów wzrasta / zmniejsza się liniowo wraz z
prędkością.
Pewną wadą w SmartBeacon jest brak transmisji po zatrzymaniu. Nie została przemierzona odległość, więc nie ma beaconu, musimy czekać aż upłynie SlowRate.
HamHud posiada przycisk BeaconNow, dzięki któremu w każdej chwili możemy
wymusić transmisję beaconu. Licznik czasu zostaje wówczas zresetowany.
Dodatkowym elementem w SmartBeaconing jest CornerPegging, czyli wysyłanie
beaconu pod wpływem zmiany kursu.
Przy dużej prędkości niewielka zmiana kursu powinna wywołać transmisję, przy
mniejszych prędkościach, wymagana jest większa zmiana kursu.
Konfiguracja CornerPegging obejmuje:
W ostatecznym rezultacie, wielkość zmiany kursu, która spowoduje emisję beaconu jest uzależniona od prędkości, ponieważ 'Turn Slope' dzielony jest przez aktualną prędkość i dodawany do 'Turn Angle':
Prędkość A |
60mph 96km/h |
40mph 64km/h |
30mph 48km/h |
20mph 32km/h |
10mph 16km/h |
5mph 8km/h |
||
---|---|---|---|---|---|---|---|---|
Turn Slope B |
240 | 240 | 240 | 240 | 240 | 240 | ||
Turn Slope ∕ Prędkość C = B ∕ A |
4 | 6 | 8 | 12 | 24 | 48 | ||
Turn Angle D |
10° | 14° | 16° | 18° | 22° | 34° | 58° | Minimalna zmiana kursu, aby wysłać
beacon przy aktualnej prędkości E = C + D |
20° | 24° | 26° | 28° | 32° | 44° | 68° | ||
30° | 34° | 36° | 38° | 42° | 54° | 78° |
Jeśli prędkość jest poniżej 'Low Speed', SmartBeacon nie bierze pod uwagę zmiany kursu podawanego przez odbiornik GPS, zachowuje stały czas beaconów według 'Slow Rate'.
Zobacz graficzne przedstawienie zależności High/Low Speed i Turn Slope dla przykładowych parametrów.
Powyższy opis parametrów w Smart Beacon zawiera terminy, które znajdujemy w oryginalnym urządzeniu dla tego algorytmu, tzn. w HamHud. W kolejnych implementacjach są niekiedy używane inne terminy.