diff options
Diffstat (limited to 'python/misc_utils/clock_offset_corrector.py')
-rw-r--r-- | python/misc_utils/clock_offset_corrector.py | 33 |
1 files changed, 6 insertions, 27 deletions
diff --git a/python/misc_utils/clock_offset_corrector.py b/python/misc_utils/clock_offset_corrector.py index b75d682..ce222a0 100644 --- a/python/misc_utils/clock_offset_corrector.py +++ b/python/misc_utils/clock_offset_corrector.py @@ -7,10 +7,8 @@ ################################################## from gnuradio import blocks -from gnuradio import filter from gnuradio import gr from gnuradio.filter import firdes -from distutils.version import LooseVersion as version import grgsm import math @@ -41,28 +39,16 @@ class clock_offset_corrector(grgsm.hier_block): ################################################## self.gsm_controlled_rotator_cc_0 = grgsm.controlled_rotator_cc(0,samp_rate_out) self.gsm_controlled_const_source_f_0 = grgsm.controlled_const_source_f(ppm) - self.fractional_resampler_xx_0 = filter.fractional_resampler_cc(0, samp_rate_in/samp_rate_out) - self.blocks_multiply_const_vxx_0_0 = blocks.multiply_const_vff((1.0e-6*samp_rate_in/samp_rate_out, )) self.blocks_multiply_const_vxx_0 = blocks.multiply_const_vff((fc/samp_rate_out*(2*math.pi)/1e6, )) - self.blocks_add_const_vxx_0 = blocks.add_const_vff((samp_rate_in/samp_rate_out, )) ################################################## # Connections ################################################## - self.connect((self, 0), (self.fractional_resampler_xx_0, 0)) - self.connect((self.fractional_resampler_xx_0, 0), (self.gsm_controlled_rotator_cc_0, 0)) - self.connect((self.blocks_add_const_vxx_0, 0), (self.fractional_resampler_xx_0, 1)) - self.connect((self.blocks_multiply_const_vxx_0_0, 0), (self.blocks_add_const_vxx_0, 0)) - self.connect((self.blocks_multiply_const_vxx_0, 0), (self.gsm_controlled_rotator_cc_0, 1)) - self.connect((self.gsm_controlled_rotator_cc_0, 0), (self, 0)) - self.connect((self.gsm_controlled_const_source_f_0, 0), (self.blocks_multiply_const_vxx_0_0, 0)) - self.connect((self.gsm_controlled_const_source_f_0, 0), (self.blocks_multiply_const_vxx_0, 0)) - - ################################################## - # Asynch Message Connections - ################################################## - self.msg_connect(self, "ppm_in", self.gsm_controlled_const_source_f_0, "constant_msg") - + self.msg_connect((self, 'ppm_in'), (self.gsm_controlled_const_source_f_0, 'constant_msg')) + self.connect((self.blocks_multiply_const_vxx_0, 0), (self.gsm_controlled_rotator_cc_0, 1)) + self.connect((self.gsm_controlled_const_source_f_0, 0), (self.blocks_multiply_const_vxx_0, 0)) + self.connect((self.gsm_controlled_rotator_cc_0, 0), (self, 0)) + self.connect((self, 0), (self.gsm_controlled_rotator_cc_0, 0)) def get_fc(self): return self.fc @@ -84,18 +70,11 @@ class clock_offset_corrector(grgsm.hier_block): def set_samp_rate_in(self, samp_rate_in): self.samp_rate_in = samp_rate_in self.set_samp_rate_out(self.samp_rate_in) - self.fractional_resampler_xx_0.set_resamp_ratio(self.samp_rate_in/self.samp_rate_out) - self.blocks_multiply_const_vxx_0_0.set_k((1.0e-6*self.samp_rate_in/self.samp_rate_out, )) - self.blocks_add_const_vxx_0.set_k((self.samp_rate_in/self.samp_rate_out, )) def get_samp_rate_out(self): return self.samp_rate_out def set_samp_rate_out(self, samp_rate_out): self.samp_rate_out = samp_rate_out - self.blocks_multiply_const_vxx_0.set_k((self.fc/self.samp_rate_out*(2*math.pi)/1e6, )) - self.fractional_resampler_xx_0.set_resamp_ratio(self.samp_rate_in/self.samp_rate_out) - self.blocks_multiply_const_vxx_0_0.set_k((1.0e-6*self.samp_rate_in/self.samp_rate_out, )) self.gsm_controlled_rotator_cc_0.set_samp_rate(self.samp_rate_out) - self.blocks_add_const_vxx_0.set_k((self.samp_rate_in/self.samp_rate_out, )) - + self.blocks_multiply_const_vxx_0.set_k((self.fc/self.samp_rate_out*(2*math.pi)/1e6, )) |