diff --git a/lib/utilities.h b/lib/utilities.h index 3f3ed20..992f47f 100644 --- a/lib/utilities.h +++ b/lib/utilities.h @@ -7,7 +7,7 @@ namespace gr { namespace lora { /** - * \brief Clamp given value in the given range. + * \brief Clamp gevin value in the given range. * * \tparam T * The type of variable to clamp. diff --git a/python/lora_receiver.py b/python/lora_receiver.py index bae4728..743e429 100644 --- a/python/lora_receiver.py +++ b/python/lora_receiver.py @@ -30,45 +30,45 @@ class lora_receiver(gr.hier_block2): """ docstring for block lora_receiver """ - def __init__(self, in_samp_rate, freq, offset, sf, out_samp_rate): + def __init__(self, in_samp_rate, freq, offset, sf, out_samp_rate, threshold = 0.01): gr.hier_block2.__init__(self, "lora_receiver", # Min, Max, gr.sizeof_ gr.io_signature(1, 1, gr.sizeof_gr_complex), # Input signature gr.io_signature(0, 0, 0)) # Output signature # Parameters - self.offset = offset - self.sf = sf - self.threshold = 0.01 - self.in_samp_rate = in_samp_rate + self.offset = offset + self.sf = sf + self.in_samp_rate = in_samp_rate self.out_samp_rate = out_samp_rate - bw = 125000 + bw = 125000 # Define blocks - null1 = null_sink(gr.sizeof_float) - null2 = null_sink(gr.sizeof_float) + null1 = null_sink(gr.sizeof_float) + null2 = null_sink(gr.sizeof_float) self.c_decoder = lora.decoder(out_samp_rate, sf) + self.set_threshold(threshold) decimation = 1 - lpf = firdes.low_pass(1, out_samp_rate, 86000, 20000, firdes.WIN_HAMMING, 6.67) - channelizer = freq_xlating_fir_filter_ccf(decimation, lpf, offset, out_samp_rate) + lpf = firdes.low_pass(1, out_samp_rate, 86000, 20000, firdes.WIN_HAMMING, 6.67) + channelizer = freq_xlating_fir_filter_ccf(decimation, lpf, offset, out_samp_rate) self.channelizer = channelizer - resampler = fractional_resampler_cc(0, float(in_samp_rate) / float(out_samp_rate)) - self.delay = delay(gr.sizeof_gr_complex, int((len(lpf)-1) / 2.0)) + resampler = fractional_resampler_cc(0, float(in_samp_rate) / float(out_samp_rate)) + self.delay = delay(gr.sizeof_gr_complex, int((len(lpf)-1) / 2.0)) # Messages self.message_port_register_hier_out('debug') self.message_port_register_hier_out('frames') # Connect blocks - self.connect((self, 0), (resampler, 0)) - self.connect((resampler, 0), (channelizer, 0)) - self.connect((channelizer, 0), (self.c_decoder, 0)) - self.connect((resampler, 0), (self.delay, 0)) - self.connect((self.delay, 0), (self.c_decoder, 1)) - self.msg_connect((self.c_decoder, 'debug'), (self, 'debug')) - self.msg_connect((self.c_decoder, 'frames'), (self, 'frames')) + self.connect( (self, 0), (resampler, 0) ) + self.connect( (resampler, 0), (channelizer, 0) ) + self.connect( (channelizer, 0), (self.c_decoder, 0) ) + self.connect( (resampler, 0), (self.delay, 0) ) + self.connect( (self.delay, 0), (self.c_decoder, 1) ) + self.msg_connect( (self.c_decoder, 'debug' ), (self, 'debug' ) ) + self.msg_connect( (self.c_decoder, 'frames'), (self, 'frames') ) def get_sf(self): return self.sf