From b41430fc43166fee3c263af133f3fad474a18fe9 Mon Sep 17 00:00:00 2001 From: dj2ls Date: Wed, 12 Oct 2022 11:05:49 +0200 Subject: [PATCH] another attempt with rms --- gui/preload-main.js | 5 ++--- tnc/modem.py | 10 ++++++---- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/gui/preload-main.js b/gui/preload-main.js index b0f4ef1f..e0903593 100644 --- a/gui/preload-main.js +++ b/gui/preload-main.js @@ -1458,11 +1458,10 @@ ipcRenderer.on('action-update-tnc-state', (event, arg) => { document.getElementById("beaconInterval").disabled = false; } // RMS - /* - var rms_level = Math.round((arg.rms_level/60) * 100) + var rms_level = (arg.rms_level / 32767) * 100 document.getElementById("rms_level").setAttribute("aria-valuenow", rms_level); document.getElementById("rms_level").setAttribute("style", "width:" + rms_level + "%;"); - */ + // SET FREQUENCY document.getElementById("frequency").innerHTML = arg.frequency; diff --git a/tnc/modem.py b/tnc/modem.py index 68a40545..6d1c513b 100644 --- a/tnc/modem.py +++ b/tnc/modem.py @@ -775,8 +775,8 @@ class RF: for i in range(codec2.MODEM_STATS_NC_MAX): for j in range(1, codec2.MODEM_STATS_NR_MAX, 2): # print(f"{modemStats.rx_symbols[i][j]} - {modemStats.rx_symbols[i][j]}") - xsymbols = round(modemStats.rx_symbols[i][j - 1] / 1000) - ysymbols = round(modemStats.rx_symbols[i][j] / 1000) + xsymbols = round(modemStats.rx_symbols[i][j - 1] // 1000) + ysymbols = round(modemStats.rx_symbols[i][j] // 1000) if xsymbols != 0.0 and ysymbols != 0.0: scatterdata.append({"x": str(xsymbols), "y": str(ysymbols)}) @@ -872,8 +872,10 @@ class RF: if not static.TRANSMITTING: dfft[dfft > avg + 10] = 100 - # Calculate audio max value - # static.AUDIO_RMS = np.amax(self.fft_data) + # Calculate audio RMS + # https://stackoverflow.com/a/9763652 + d = np.frombuffer(self.fft_data, np.int16).astype(np.float) + static.AUDIO_RMS = int(np.sqrt((d * d).sum() / len(d))) # Check for signals higher than average by checking for "100" # If we have a signal, increment our channel_busy delay counter