diff --git a/config_webrx.py b/config_webrx.py index ab9e7fd..b819ad2 100644 --- a/config_webrx.py +++ b/config_webrx.py @@ -69,10 +69,12 @@ sdrhu_public_listing = False # ==== DSP/RX settings ==== dsp_plugin="csdr" fft_fps=9 -fft_size=16384 # averaging only works on fft_size=16384 for some reason -fft_averages=50 +fft_size=4096 +fft_overlap=0.3 samp_rate = 250000 +fft_averages=int(round(1.0 * samp_rate / fft_size / fft_fps / (1.0 - fft_overlap))) + center_freq = 145525000 rf_gain = 5 #in dB. For an RTL-SDR, rf_gain=0 will set the tuner to auto gain mode, else it will be in manual gain mode. ppm = 0 @@ -148,7 +150,7 @@ iq_server_port = 4951 #TCP port for ncat to listen on. It will send I/Q data ove #access_log = "~/openwebrx_access.log" waterfall_colors = "[0x000000ff,0x0000ffff,0x00ffffff,0x00ff00ff,0xffff00ff,0xff0000ff,0xff00ffff,0xffffffff]" -waterfall_min_level = -85 #in dB +waterfall_min_level = -88 #in dB waterfall_max_level = -20 #A guide is available to help you set these values: https://github.com/simonyiszk/openwebrx/wiki/Calibrating-waterfall-display-levels diff --git a/plugins/dsp/csdr/plugin.py b/plugins/dsp/csdr/plugin.py index d82140e..6597330 100644 --- a/plugins/dsp/csdr/plugin.py +++ b/plugins/dsp/csdr/plugin.py @@ -59,8 +59,11 @@ class dsp_plugin: if self.csdr_through: any_chain_base+="csdr through | " any_chain_base+=self.format_conversion+(" | " if self.format_conversion!="" else "") ##"csdr flowcontrol {flowcontrol} auto 1.5 10 | " if which == "fft": - #fft_chain_base = any_chain_base+"csdr fft_cc {fft_size} {fft_block_size} | csdr logpower_cf -70 | csdr fft_exchange_sides_ff {fft_size}" - fft_chain_base = any_chain_base+"csdr fft_cc {fft_size} {fft_block_size} | csdr logaveragepower_cf -70 {fft_size} {fft_averages} | csdr fft_exchange_sides_ff {fft_size}" + if self.fft_averages > 1: + fft_chain_base = any_chain_base+"csdr fft_cc {fft_size} {fft_block_size} | csdr logaveragepower_cf -70 {fft_size} {fft_averages} | csdr fft_exchange_sides_ff {fft_size}" + else: + fft_chain_base = any_chain_base+"csdr fft_cc {fft_size} {fft_block_size} | csdr logpower_cf -70 | csdr fft_exchange_sides_ff {fft_size}" + if self.fft_compression=="adpcm": return fft_chain_base+" | csdr compress_fft_adpcm_f_u8 {fft_size}" else: