Skip to content
This repository has been archived by the owner on Mar 10, 2024. It is now read-only.
Steve Zingman edited this page Dec 23, 2016 · 6 revisions

I’ve completely rewritten the way that RSSI calculations are done in the host. The previous method expected a linear relationship between the input (raw) RSSI and the RSSI reported to the network in dBm. This may hold true, but something more flexible was required. Note that this change only affects the host, not the MMDVM firmware.

What I’ve done is add a linear interpolator which converts the input RSSI to the output value via a number of points on a graph. There is now a new file (default RSSI.dat) which is referenced from within the [Modem] section of MMDVM.ini

This new file is simply a list of raw RSSI values and their real world equivalents. For example:

# Raw RSSI dBm

997 -100

1020 -95

1200 -80

There are only two rules for entering these values. Firstly there should be no duplicates in the Raw RSSI column. Secondly there must be an entry that represents an extremely strong signal, and another that represents a very weak one. If the received RSSI is outside of these values then the weakest or strongest value will be used. If the value is between these two values, or any other two values in the list, then the software will calculate a value which represents a straight line between them. If it turns out that the relationship between the raw RSSI and the actual dBm value is not a straight line, it is up to you to put in as many calibration points as possible so that the software can do a best-fit calculation based on a straight line. This may not be the best way to do the calculation, but it is simple and quick and probably accurate enough for most purposes.

Needless to say that it’s completely untested.

Jonathan G4KLX

Clone this wiki locally