aboutsummaryrefslogtreecommitdiffstats
path: root/python/misc_utils
diff options
context:
space:
mode:
authorPiotr Krysik <ptrkrysik@gmail.com>2016-07-20 21:39:40 +0200
committerPiotr Krysik <ptrkrysik@gmail.com>2016-07-20 21:39:40 +0200
commit7973538ed2f61b09ffacd35b11e9c986a2b805b2 (patch)
tree4c2586d2897f40f18a5e7e195640b60e3e1349f6 /python/misc_utils
parent43af70d360db5b2cf3b82d6d4ccd78ee4d50d6b8 (diff)
Changing ppm parameter in clock offset corrector now takes effect on the fractional resampler
Diffstat (limited to 'python/misc_utils')
-rw-r--r--python/misc_utils/clock_offset_corrector_tagged.py9
1 files changed, 5 insertions, 4 deletions
diff --git a/python/misc_utils/clock_offset_corrector_tagged.py b/python/misc_utils/clock_offset_corrector_tagged.py
index a3e2b0a..bf4b455 100644
--- a/python/misc_utils/clock_offset_corrector_tagged.py
+++ b/python/misc_utils/clock_offset_corrector_tagged.py
@@ -4,7 +4,7 @@
# Title: Clock Offset Corrector Tagged
# Author: Piotr Krysik
# Description: Clock offset corrector with blocks that use tags to switch offsets
-# Generated: Sun Jul 17 22:03:13 2016
+# Generated: Wed Jul 20 20:07:11 2016
##################################################
from gnuradio import gr
@@ -42,7 +42,7 @@ class clock_offset_corrector_tagged(grgsm.hier_block):
##################################################
self.gsm_msg_to_tag_0 = grgsm.msg_to_tag()
self.gsm_controlled_rotator_cc_0 = grgsm.controlled_rotator_cc(ppm/1.0e6*2*math.pi*fc/samp_rate_out)
- self.gsm_controlled_fractional_resampler_cc_0 = grgsm.controlled_fractional_resampler_cc(0, samp_rate_in/samp_rate_out)
+ self.gsm_controlled_fractional_resampler_cc_0 = grgsm.controlled_fractional_resampler_cc(0, (1-ppm/1.0e6)*(samp_rate_in/samp_rate_out))
##################################################
# Connections
@@ -73,13 +73,14 @@ class clock_offset_corrector_tagged(grgsm.hier_block):
def set_ppm(self, ppm):
self.ppm = ppm
self.gsm_controlled_rotator_cc_0.set_phase_inc(self.ppm/1.0e6*2*math.pi*self.fc/self.samp_rate_out)
+ self.gsm_controlled_fractional_resampler_cc_0.set_resamp_ratio((1-self.ppm/1.0e6)*(self.samp_rate_in/self.samp_rate_out))
def get_samp_rate_in(self):
return self.samp_rate_in
def set_samp_rate_in(self, samp_rate_in):
self.samp_rate_in = samp_rate_in
- self.gsm_controlled_fractional_resampler_cc_0.set_resamp_ratio(self.samp_rate_in/self.samp_rate_out)
+ self.gsm_controlled_fractional_resampler_cc_0.set_resamp_ratio((1-self.ppm/1.0e6)*(self.samp_rate_in/self.samp_rate_out))
def get_gsm_symb_rate(self):
return self.gsm_symb_rate
@@ -93,5 +94,5 @@ class clock_offset_corrector_tagged(grgsm.hier_block):
def set_samp_rate_out(self, samp_rate_out):
self.samp_rate_out = samp_rate_out
- self.gsm_controlled_fractional_resampler_cc_0.set_resamp_ratio(self.samp_rate_in/self.samp_rate_out)
self.gsm_controlled_rotator_cc_0.set_phase_inc(self.ppm/1.0e6*2*math.pi*self.fc/self.samp_rate_out)
+ self.gsm_controlled_fractional_resampler_cc_0.set_resamp_ratio((1-self.ppm/1.0e6)*(self.samp_rate_in/self.samp_rate_out))