FFT averaging now works on any FFT size + some cleanup

This commit is contained in:
Tatu Peltola 2016-10-22 22:43:51 +03:00
parent 4f01756006
commit f38243d8b8
2 changed files with 10 additions and 5 deletions

View File

@ -69,10 +69,12 @@ sdrhu_public_listing = False
# ==== DSP/RX settings ==== # ==== DSP/RX settings ====
dsp_plugin="csdr" dsp_plugin="csdr"
fft_fps=9 fft_fps=9
fft_size=16384 # averaging only works on fft_size=16384 for some reason fft_size=4096
fft_averages=50 fft_overlap=0.3
samp_rate = 250000 samp_rate = 250000
fft_averages=int(round(1.0 * samp_rate / fft_size / fft_fps / (1.0 - fft_overlap)))
center_freq = 145525000 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. 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 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" #access_log = "~/openwebrx_access.log"
waterfall_colors = "[0x000000ff,0x0000ffff,0x00ffffff,0x00ff00ff,0xffff00ff,0xff0000ff,0xff00ffff,0xffffffff]" 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 waterfall_max_level = -20
#A guide is available to help you set these values: https://github.com/simonyiszk/openwebrx/wiki/Calibrating-waterfall-display-levels #A guide is available to help you set these values: https://github.com/simonyiszk/openwebrx/wiki/Calibrating-waterfall-display-levels

View File

@ -59,8 +59,11 @@ class dsp_plugin:
if self.csdr_through: any_chain_base+="csdr through | " 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 | " any_chain_base+=self.format_conversion+(" | " if self.format_conversion!="" else "") ##"csdr flowcontrol {flowcontrol} auto 1.5 10 | "
if which == "fft": 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}" 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}" 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": if self.fft_compression=="adpcm":
return fft_chain_base+" | csdr compress_fft_adpcm_f_u8 {fft_size}" return fft_chain_base+" | csdr compress_fft_adpcm_f_u8 {fft_size}"
else: else: