aboutsummaryrefslogtreecommitdiffstats
path: root/python/misc_utils/clock_offset_corrector.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/misc_utils/clock_offset_corrector.py')
-rw-r--r--python/misc_utils/clock_offset_corrector.py33
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, ))