diff options
Diffstat (limited to 'gr-channels/python/channels/conj_fs_iqcorr.py')
-rw-r--r-- | gr-channels/python/channels/conj_fs_iqcorr.py | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/gr-channels/python/channels/conj_fs_iqcorr.py b/gr-channels/python/channels/conj_fs_iqcorr.py new file mode 100644 index 0000000000..700eb645c2 --- /dev/null +++ b/gr-channels/python/channels/conj_fs_iqcorr.py @@ -0,0 +1,65 @@ +#!/usr/bin/env python +################################################## +# Gnuradio Python Flow Graph +# Title: Conj FS IQBal +# Author: matt@ettus.com +# Description: Frequency Selective Conjugate Method IQ Balance Corrector +# Generated: Thu Aug 1 13:00:27 2013 +################################################## + +from gnuradio import blocks +from gnuradio import filter +from gnuradio import gr +from gnuradio.filter import firdes + +class conj_fs_iqcorr(gr.hier_block2): + + def __init__(self, delay=0, taps=[]): + gr.hier_block2.__init__( + self, "Conj FS IQBal", + gr.io_signature(1, 1, gr.sizeof_gr_complex*1), + gr.io_signature(1, 1, gr.sizeof_gr_complex*1), + ) + + ################################################## + # Parameters + ################################################## + self.delay = delay + self.taps = taps + + ################################################## + # Blocks + ################################################## + self.filter_fir_filter_xxx_0 = filter.fir_filter_ccc(1, (taps)) + self.delay_0 = blocks.delay(gr.sizeof_gr_complex*1, delay) + self.blocks_conjugate_cc_0 = blocks.conjugate_cc() + self.blocks_add_xx_0 = blocks.add_vcc(1) + + ################################################## + # Connections + ################################################## + self.connect((self.blocks_add_xx_0, 0), (self, 0)) + self.connect((self, 0), (self.blocks_conjugate_cc_0, 0)) + self.connect((self.filter_fir_filter_xxx_0, 0), (self.blocks_add_xx_0, 1)) + self.connect((self.blocks_conjugate_cc_0, 0), (self.filter_fir_filter_xxx_0, 0)) + self.connect((self, 0), (self.delay_0, 0)) + self.connect((self.delay_0, 0), (self.blocks_add_xx_0, 0)) + + +# QT sink close method reimplementation + + def get_delay(self): + return self.delay + + def set_delay(self, delay): + self.delay = delay + self.delay_0.set_dly(self.delay) + + def get_taps(self): + return self.taps + + def set_taps(self, taps): + self.taps = taps + self.filter_fir_filter_xxx_0.set_taps((self.taps)) + + |