mirror of
https://github.com/DJ2LS/FreeDATA
synced 2024-05-14 08:04:33 +00:00
snr messurement
This commit is contained in:
parent
bd5f2a7487
commit
c7f85f8505
3 changed files with 23 additions and 1 deletions
20
modem.py
20
modem.py
|
@ -337,6 +337,15 @@ class RF():
|
|||
dummy_mod = bytes(self.c_lib.freedv_nin(freedv))
|
||||
self.c_lib.freedv_rawdatarx(freedv, bytes_out, dummy_mod)
|
||||
|
||||
|
||||
#stats = 0
|
||||
#stats = self.c_lib.freedv_get_modem_extended_stats(freedv, stats);
|
||||
#print(stats)
|
||||
|
||||
# freedv_get_modem_stats(freedv, &sync, &snr_est);
|
||||
#freedv_get_modem_extended_stats(freedv, &stats);
|
||||
|
||||
|
||||
# demod loop
|
||||
while (static.CHANNEL_STATE == 'RECEIVING_DATA' and static.ARQ_DATA_CHANNEL_MODE == mode) or (static.CHANNEL_STATE == 'RECEIVING_SIGNALLING' and static.FREEDV_SIGNALLING_MODE == mode):
|
||||
time.sleep(0.01)
|
||||
|
@ -377,6 +386,7 @@ class RF():
|
|||
# forward data only if broadcast or we are the receiver
|
||||
if nbytes == bytes_per_frame and bytes(bytes_out[1:2]) == static.MYCALLSIGN_CRC8 or bytes(bytes_out[1:2]) == b'\x01':
|
||||
self.calculate_ber(freedv)
|
||||
self.calculate_snr(freedv)
|
||||
|
||||
# counter reset for stuck in sync counter
|
||||
stuck_in_sync_counter = 0
|
||||
|
@ -500,3 +510,13 @@ class RF():
|
|||
|
||||
self.c_lib.freedv_set_total_bit_errors(freedv, 0)
|
||||
self.c_lib.freedv_set_total_bits(freedv, 0)
|
||||
|
||||
def calculate_snr(self, freedv):
|
||||
|
||||
modem_stats_snr = c_float()
|
||||
modem_stats_sync = c_int()
|
||||
|
||||
self.c_lib.freedv_get_modem_stats(freedv,byref(modem_stats_sync), byref(modem_stats_snr))
|
||||
modem_stats_snr = modem_stats_snr.value
|
||||
static.SNR = int(modem_stats_snr)
|
||||
print(static.SNR)
|
||||
|
|
3
sock.py
3
sock.py
|
@ -140,7 +140,8 @@ class CMDTCPRequestHandler(socketserver.BaseRequestHandler):
|
|||
"TNC_STATE": str(static.TNC_STATE),
|
||||
"ARQ_STATE": str(static.ARQ_STATE),
|
||||
"AUDIO_RMS": str(static.AUDIO_RMS),
|
||||
"BER": str(static.BER)
|
||||
"BER": str(static.BER),
|
||||
"SNR": str(static.SNR)
|
||||
}
|
||||
|
||||
jsondata = json.dumps(output)
|
||||
|
|
|
@ -61,6 +61,7 @@ FREEDV_SIGNALLING_BYTES_PER_FRAME = 0
|
|||
FREEDV_SIGNALLING_PAYLOAD_PER_FRAME = 0
|
||||
|
||||
BER = 0
|
||||
SNR = 0
|
||||
# ---------------------------------
|
||||
|
||||
# Audio Defaults
|
||||
|
|
Loading…
Reference in a new issue