Auto-channel tuning by GPS location

Discussions related to the firmware code development
Post Reply
Posts: 66
Joined: Thu Oct 22, 2020 11:29 pm
Location: Silverthorne, Colorado, USA

Auto-channel tuning by GPS location

Post by ve2wkr » Tue Sep 12, 2023 3:48 pm

I have a suggestion for an automatic channel tuning function based on GPS location for STM32 based radios with GPS receivers.
There are similar features implemented in the anytone radios, but they are based on RSSI, which is not a very good indication for DMR signals.
The feature would work as follows:

- create a GPS tuning zone.
- each channel would include a transmitter GPS location, input in CPS, It would also include a radius in km/miles of the transmitter range.
- each channel would include a list of "shadow zones" when the channel transmitter cannot be heard. Each entry would have GPS location and radius. (This is for mountainous regions like Colorado ;-) )
Global parameters:
- hysteresis for switching channels when overlapping zones
- timer for switching channels when exiting a particular area.( in other words how often we calculate all this. Every 10s 1m 10 m ..etc.)
- keypad mapping to turn auto-tuning on or off.

This is just to seed the idea, i am sure it can be improved.
Thoughts ?

Posts: 10
Joined: Tue Nov 21, 2023 3:22 pm

Re: Auto-channel tuning by GPS location

Post by OE6BZD » Thu Nov 30, 2023 1:55 pm

I like the general idea! Although I think the „shadow zones“ as you proposed them are hard, if not impossible to implement. I would instead attempt to combine distance to relay station with RSSI or BER. Just save a list of relais with their GPS coordinates. Try closest relay first (theoretically highest chance of success) -> check if RSSI is sufficient for a stable connection, if not -> try next relay and repeat. If successful -> stay on that relay until RSSI drops below a certain threshold. Maybe apply a simple low-pass filter to the RSSI instead of checking it at fixed intervals for a more reliable decision.
The bigger question for me is: how do you get the RSSI value without taking up too much bandwidth on that relay?
Let‘s see if I can find the time to play around with this idea when my MD-UV390 arrives :)
73 Nico

Post Reply