summaryrefslogtreecommitdiff
path: root/gr-fec/examples/tpc_ber_curve_gen.py
diff options
context:
space:
mode:
Diffstat (limited to 'gr-fec/examples/tpc_ber_curve_gen.py')
-rwxr-xr-xgr-fec/examples/tpc_ber_curve_gen.py457
1 files changed, 457 insertions, 0 deletions
diff --git a/gr-fec/examples/tpc_ber_curve_gen.py b/gr-fec/examples/tpc_ber_curve_gen.py
new file mode 100755
index 0000000000..004f9f8988
--- /dev/null
+++ b/gr-fec/examples/tpc_ber_curve_gen.py
@@ -0,0 +1,457 @@
+#!/usr/bin/env python2
+##################################################
+# GNU Radio Python Flow Graph
+# Title: Tpc Ber Curve Gen
+# Generated: Thu Jul 23 09:27:33 2015
+##################################################
+
+if __name__ == '__main__':
+ import ctypes
+ import sys
+ if sys.platform.startswith('linux'):
+ try:
+ x11 = ctypes.cdll.LoadLibrary('libX11.so')
+ x11.XInitThreads()
+ except:
+ print "Warning: failed to XInitThreads()"
+
+from PyQt4 import Qt
+from gnuradio import eng_notation
+from gnuradio import fec
+from gnuradio import gr
+from gnuradio import qtgui
+from gnuradio.eng_option import eng_option
+from gnuradio.filter import firdes
+from optparse import OptionParser
+import numpy
+import sip
+import sys
+
+from distutils.version import StrictVersion
+class tpc_ber_curve_gen(gr.top_block, Qt.QWidget):
+
+ def __init__(self):
+ gr.top_block.__init__(self, "Tpc Ber Curve Gen")
+ Qt.QWidget.__init__(self)
+ self.setWindowTitle("Tpc Ber Curve Gen")
+ try:
+ self.setWindowIcon(Qt.QIcon.fromTheme('gnuradio-grc'))
+ except:
+ pass
+ self.top_scroll_layout = Qt.QVBoxLayout()
+ self.setLayout(self.top_scroll_layout)
+ self.top_scroll = Qt.QScrollArea()
+ self.top_scroll.setFrameStyle(Qt.QFrame.NoFrame)
+ self.top_scroll_layout.addWidget(self.top_scroll)
+ self.top_scroll.setWidgetResizable(True)
+ self.top_widget = Qt.QWidget()
+ self.top_scroll.setWidget(self.top_widget)
+ self.top_layout = Qt.QVBoxLayout(self.top_widget)
+ self.top_grid_layout = Qt.QGridLayout()
+ self.top_layout.addLayout(self.top_grid_layout)
+
+ self.settings = Qt.QSettings("GNU Radio", "tpc_ber_curve_gen")
+ self.restoreGeometry(self.settings.value("geometry").toByteArray())
+
+
+ ##################################################
+ # Variables
+ ##################################################
+ self.esno_0 = esno_0 = numpy.arange(0, 8, .5)
+ self.samp_rate_0 = samp_rate_0 = 35000000
+ self.rate = rate = 2
+ self.polys = polys = [79, 109]
+ self.k = k = 7
+ self.framebits = framebits = 4096
+
+ self.enc_tpc_4 = enc_tpc_4 = map( (lambda b: map( ( lambda a: fec.tpc_encoder_make(([3]), ([43]), 26, 6, 9, 3)), range(0,1) ) ), range(0,len(esno_0)));
+
+ self.enc_tpc_3 = enc_tpc_3 = map( (lambda b: map( ( lambda a: fec.tpc_encoder_make(([3]), ([43]), 26, 6, 9, 3)), range(0,1) ) ), range(0,len(esno_0)));
+
+ self.enc_tpc_2 = enc_tpc_2 = map( (lambda b: map( ( lambda a: fec.tpc_encoder_make(([3]), ([43]), 26, 6, 9, 3)), range(0,1) ) ), range(0,len(esno_0)));
+
+ self.enc_tpc_1 = enc_tpc_1 = map( (lambda b: map( ( lambda a: fec.tpc_encoder_make(([3]), ([43]), 26, 6, 9, 3)), range(0,1) ) ), range(0,len(esno_0)));
+
+ self.enc_tpc_0 = enc_tpc_0 = map( (lambda b: map( ( lambda a: fec.tpc_encoder_make(([3]), ([43]), 26, 6, 9, 3)), range(0,1) ) ), range(0,len(esno_0)));
+
+ self.dec_tpc_4 = dec_tpc_4 = map( (lambda b: map( ( lambda a: fec.tpc_decoder_make(([3]), ([43]), 26, 6, 9, 3, 6, 4)), range(0,1) ) ), range(0,len(esno_0)));
+
+ self.dec_tpc_3 = dec_tpc_3 = map( (lambda b: map( ( lambda a: fec.tpc_decoder_make(([3]), ([43]), 26, 6, 9, 3, 6, 3)), range(0,1) ) ), range(0,len(esno_0)));
+
+ self.dec_tpc_2 = dec_tpc_2 = map( (lambda b: map( ( lambda a: fec.tpc_decoder_make(([3]), ([43]), 26, 6, 9, 3, 6, 2)), range(0,1) ) ), range(0,len(esno_0)));
+
+ self.dec_tpc_1 = dec_tpc_1 = map( (lambda b: map( ( lambda a: fec.tpc_decoder_make(([3]), ([43]), 26, 6, 9, 3, 6, 1)), range(0,1) ) ), range(0,len(esno_0)));
+
+ self.dec_tpc_0 = dec_tpc_0 = map( (lambda b: map( ( lambda a: fec.tpc_decoder_make(([3]), ([43]), 26, 6, 9, 3, 6, 0)), range(0,1) ) ), range(0,len(esno_0)));
+
+ ##################################################
+ # Blocks
+ ##################################################
+ self.qtgui_bercurve_sink_0 = qtgui.ber_sink_b(
+ esno_0, #range of esnos
+ 5, #number of curves
+ 1000, #ensure at least
+ -10, #cutoff
+ [], #indiv. curve names
+ )
+ self.qtgui_bercurve_sink_0.set_update_time(0.10)
+ self.qtgui_bercurve_sink_0.set_y_axis(-10, 0)
+ self.qtgui_bercurve_sink_0.set_x_axis(esno_0[0], esno_0[-1])
+
+ labels = ["Linear LOG-MAP", "MAX LOG-MAP", "Constant LOG-MAP", "LOG-MAP (LUT)", "LOG-MAP (C Correction)",
+ "", "", "", "", ""]
+ widths = [2, 2, 2, 2, 2,
+ 1, 1, 1, 1, 1]
+ colors = ["blue", "red", "magenta", "dark red", "Dark Blue",
+ "red", "red", "red", "red", "red"]
+ styles = [1, 2, 5, 5, 4,
+ 0, 0, 0, 0, 0]
+ markers = [0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0]
+ alphas = [1, 1, 1, 1.0, 1.0,
+ 1.0, 1.0, 1.0, 1.0, 1.0]
+ for i in xrange(5):
+ if len(labels[i]) == 0:
+ self.qtgui_bercurve_sink_0.set_line_label(i, "Data {0}".format(i))
+ else:
+ self.qtgui_bercurve_sink_0.set_line_label(i, labels[i])
+ self.qtgui_bercurve_sink_0.set_line_width(i, widths[i])
+ self.qtgui_bercurve_sink_0.set_line_color(i, colors[i])
+ self.qtgui_bercurve_sink_0.set_line_style(i, styles[i])
+ self.qtgui_bercurve_sink_0.set_line_marker(i, markers[i])
+ self.qtgui_bercurve_sink_0.set_line_alpha(i, alphas[i])
+
+ self._qtgui_bercurve_sink_0_win = sip.wrapinstance(self.qtgui_bercurve_sink_0.pyqwidget(), Qt.QWidget)
+ self.top_layout.addWidget(self._qtgui_bercurve_sink_0_win)
+ self.fec_bercurve_generator_0_1_0 = fec.bercurve_generator(
+ enc_tpc_4, #size
+ dec_tpc_4, #name
+ esno_0, #range of esnos
+ samp_rate_0, #throttle
+ "capillary", #threading mode
+ '11', #puncture pattern
+ -100 # noise gen. seed
+ )
+
+ self.fec_bercurve_generator_0_1 = fec.bercurve_generator(
+ enc_tpc_3, #size
+ dec_tpc_3, #name
+ esno_0, #range of esnos
+ samp_rate_0, #throttle
+ "capillary", #threading mode
+ '11', #puncture pattern
+ -100 # noise gen. seed
+ )
+
+ self.fec_bercurve_generator_0_0_0 = fec.bercurve_generator(
+ enc_tpc_0, #size
+ dec_tpc_0, #name
+ esno_0, #range of esnos
+ samp_rate_0, #throttle
+ "capillary", #threading mode
+ '11', #puncture pattern
+ -100 # noise gen. seed
+ )
+
+ self.fec_bercurve_generator_0_0 = fec.bercurve_generator(
+ enc_tpc_1, #size
+ dec_tpc_1, #name
+ esno_0, #range of esnos
+ samp_rate_0, #throttle
+ "capillary", #threading mode
+ '11', #puncture pattern
+ -100 # noise gen. seed
+ )
+
+ self.fec_bercurve_generator_0 = fec.bercurve_generator(
+ enc_tpc_2, #size
+ dec_tpc_2, #name
+ esno_0, #range of esnos
+ samp_rate_0, #throttle
+ "capillary", #threading mode
+ '11', #puncture pattern
+ -100 # noise gen. seed
+ )
+
+
+ ##################################################
+ # Connections
+ ##################################################
+ self.connect((self.fec_bercurve_generator_0, 0), (self.qtgui_bercurve_sink_0, 64))
+ self.connect((self.fec_bercurve_generator_0, 1), (self.qtgui_bercurve_sink_0, 65))
+ self.connect((self.fec_bercurve_generator_0, 2), (self.qtgui_bercurve_sink_0, 66))
+ self.connect((self.fec_bercurve_generator_0, 3), (self.qtgui_bercurve_sink_0, 67))
+ self.connect((self.fec_bercurve_generator_0, 4), (self.qtgui_bercurve_sink_0, 68))
+ self.connect((self.fec_bercurve_generator_0, 5), (self.qtgui_bercurve_sink_0, 69))
+ self.connect((self.fec_bercurve_generator_0, 6), (self.qtgui_bercurve_sink_0, 70))
+ self.connect((self.fec_bercurve_generator_0, 7), (self.qtgui_bercurve_sink_0, 71))
+ self.connect((self.fec_bercurve_generator_0, 8), (self.qtgui_bercurve_sink_0, 72))
+ self.connect((self.fec_bercurve_generator_0, 9), (self.qtgui_bercurve_sink_0, 73))
+ self.connect((self.fec_bercurve_generator_0, 10), (self.qtgui_bercurve_sink_0, 74))
+ self.connect((self.fec_bercurve_generator_0, 11), (self.qtgui_bercurve_sink_0, 75))
+ self.connect((self.fec_bercurve_generator_0, 12), (self.qtgui_bercurve_sink_0, 76))
+ self.connect((self.fec_bercurve_generator_0, 13), (self.qtgui_bercurve_sink_0, 77))
+ self.connect((self.fec_bercurve_generator_0, 14), (self.qtgui_bercurve_sink_0, 78))
+ self.connect((self.fec_bercurve_generator_0, 15), (self.qtgui_bercurve_sink_0, 79))
+ self.connect((self.fec_bercurve_generator_0, 16), (self.qtgui_bercurve_sink_0, 80))
+ self.connect((self.fec_bercurve_generator_0, 17), (self.qtgui_bercurve_sink_0, 81))
+ self.connect((self.fec_bercurve_generator_0, 18), (self.qtgui_bercurve_sink_0, 82))
+ self.connect((self.fec_bercurve_generator_0, 19), (self.qtgui_bercurve_sink_0, 83))
+ self.connect((self.fec_bercurve_generator_0, 20), (self.qtgui_bercurve_sink_0, 84))
+ self.connect((self.fec_bercurve_generator_0, 21), (self.qtgui_bercurve_sink_0, 85))
+ self.connect((self.fec_bercurve_generator_0, 22), (self.qtgui_bercurve_sink_0, 86))
+ self.connect((self.fec_bercurve_generator_0, 23), (self.qtgui_bercurve_sink_0, 87))
+ self.connect((self.fec_bercurve_generator_0, 24), (self.qtgui_bercurve_sink_0, 88))
+ self.connect((self.fec_bercurve_generator_0, 25), (self.qtgui_bercurve_sink_0, 89))
+ self.connect((self.fec_bercurve_generator_0, 26), (self.qtgui_bercurve_sink_0, 90))
+ self.connect((self.fec_bercurve_generator_0, 27), (self.qtgui_bercurve_sink_0, 91))
+ self.connect((self.fec_bercurve_generator_0, 28), (self.qtgui_bercurve_sink_0, 92))
+ self.connect((self.fec_bercurve_generator_0, 29), (self.qtgui_bercurve_sink_0, 93))
+ self.connect((self.fec_bercurve_generator_0, 30), (self.qtgui_bercurve_sink_0, 94))
+ self.connect((self.fec_bercurve_generator_0, 31), (self.qtgui_bercurve_sink_0, 95))
+ self.connect((self.fec_bercurve_generator_0_0, 0), (self.qtgui_bercurve_sink_0, 32))
+ self.connect((self.fec_bercurve_generator_0_0, 1), (self.qtgui_bercurve_sink_0, 33))
+ self.connect((self.fec_bercurve_generator_0_0, 2), (self.qtgui_bercurve_sink_0, 34))
+ self.connect((self.fec_bercurve_generator_0_0, 3), (self.qtgui_bercurve_sink_0, 35))
+ self.connect((self.fec_bercurve_generator_0_0, 4), (self.qtgui_bercurve_sink_0, 36))
+ self.connect((self.fec_bercurve_generator_0_0, 5), (self.qtgui_bercurve_sink_0, 37))
+ self.connect((self.fec_bercurve_generator_0_0, 6), (self.qtgui_bercurve_sink_0, 38))
+ self.connect((self.fec_bercurve_generator_0_0, 7), (self.qtgui_bercurve_sink_0, 39))
+ self.connect((self.fec_bercurve_generator_0_0, 8), (self.qtgui_bercurve_sink_0, 40))
+ self.connect((self.fec_bercurve_generator_0_0, 9), (self.qtgui_bercurve_sink_0, 41))
+ self.connect((self.fec_bercurve_generator_0_0, 10), (self.qtgui_bercurve_sink_0, 42))
+ self.connect((self.fec_bercurve_generator_0_0, 11), (self.qtgui_bercurve_sink_0, 43))
+ self.connect((self.fec_bercurve_generator_0_0, 12), (self.qtgui_bercurve_sink_0, 44))
+ self.connect((self.fec_bercurve_generator_0_0, 13), (self.qtgui_bercurve_sink_0, 45))
+ self.connect((self.fec_bercurve_generator_0_0, 14), (self.qtgui_bercurve_sink_0, 46))
+ self.connect((self.fec_bercurve_generator_0_0, 15), (self.qtgui_bercurve_sink_0, 47))
+ self.connect((self.fec_bercurve_generator_0_0, 16), (self.qtgui_bercurve_sink_0, 48))
+ self.connect((self.fec_bercurve_generator_0_0, 17), (self.qtgui_bercurve_sink_0, 49))
+ self.connect((self.fec_bercurve_generator_0_0, 18), (self.qtgui_bercurve_sink_0, 50))
+ self.connect((self.fec_bercurve_generator_0_0, 19), (self.qtgui_bercurve_sink_0, 51))
+ self.connect((self.fec_bercurve_generator_0_0, 20), (self.qtgui_bercurve_sink_0, 52))
+ self.connect((self.fec_bercurve_generator_0_0, 21), (self.qtgui_bercurve_sink_0, 53))
+ self.connect((self.fec_bercurve_generator_0_0, 22), (self.qtgui_bercurve_sink_0, 54))
+ self.connect((self.fec_bercurve_generator_0_0, 23), (self.qtgui_bercurve_sink_0, 55))
+ self.connect((self.fec_bercurve_generator_0_0, 24), (self.qtgui_bercurve_sink_0, 56))
+ self.connect((self.fec_bercurve_generator_0_0, 25), (self.qtgui_bercurve_sink_0, 57))
+ self.connect((self.fec_bercurve_generator_0_0, 26), (self.qtgui_bercurve_sink_0, 58))
+ self.connect((self.fec_bercurve_generator_0_0, 27), (self.qtgui_bercurve_sink_0, 59))
+ self.connect((self.fec_bercurve_generator_0_0, 28), (self.qtgui_bercurve_sink_0, 60))
+ self.connect((self.fec_bercurve_generator_0_0, 29), (self.qtgui_bercurve_sink_0, 61))
+ self.connect((self.fec_bercurve_generator_0_0, 30), (self.qtgui_bercurve_sink_0, 62))
+ self.connect((self.fec_bercurve_generator_0_0, 31), (self.qtgui_bercurve_sink_0, 63))
+ self.connect((self.fec_bercurve_generator_0_0_0, 0), (self.qtgui_bercurve_sink_0, 0))
+ self.connect((self.fec_bercurve_generator_0_0_0, 1), (self.qtgui_bercurve_sink_0, 1))
+ self.connect((self.fec_bercurve_generator_0_0_0, 2), (self.qtgui_bercurve_sink_0, 2))
+ self.connect((self.fec_bercurve_generator_0_0_0, 3), (self.qtgui_bercurve_sink_0, 3))
+ self.connect((self.fec_bercurve_generator_0_0_0, 4), (self.qtgui_bercurve_sink_0, 4))
+ self.connect((self.fec_bercurve_generator_0_0_0, 5), (self.qtgui_bercurve_sink_0, 5))
+ self.connect((self.fec_bercurve_generator_0_0_0, 6), (self.qtgui_bercurve_sink_0, 6))
+ self.connect((self.fec_bercurve_generator_0_0_0, 7), (self.qtgui_bercurve_sink_0, 7))
+ self.connect((self.fec_bercurve_generator_0_0_0, 8), (self.qtgui_bercurve_sink_0, 8))
+ self.connect((self.fec_bercurve_generator_0_0_0, 9), (self.qtgui_bercurve_sink_0, 9))
+ self.connect((self.fec_bercurve_generator_0_0_0, 10), (self.qtgui_bercurve_sink_0, 10))
+ self.connect((self.fec_bercurve_generator_0_0_0, 11), (self.qtgui_bercurve_sink_0, 11))
+ self.connect((self.fec_bercurve_generator_0_0_0, 12), (self.qtgui_bercurve_sink_0, 12))
+ self.connect((self.fec_bercurve_generator_0_0_0, 13), (self.qtgui_bercurve_sink_0, 13))
+ self.connect((self.fec_bercurve_generator_0_0_0, 14), (self.qtgui_bercurve_sink_0, 14))
+ self.connect((self.fec_bercurve_generator_0_0_0, 15), (self.qtgui_bercurve_sink_0, 15))
+ self.connect((self.fec_bercurve_generator_0_0_0, 16), (self.qtgui_bercurve_sink_0, 16))
+ self.connect((self.fec_bercurve_generator_0_0_0, 17), (self.qtgui_bercurve_sink_0, 17))
+ self.connect((self.fec_bercurve_generator_0_0_0, 18), (self.qtgui_bercurve_sink_0, 18))
+ self.connect((self.fec_bercurve_generator_0_0_0, 19), (self.qtgui_bercurve_sink_0, 19))
+ self.connect((self.fec_bercurve_generator_0_0_0, 20), (self.qtgui_bercurve_sink_0, 20))
+ self.connect((self.fec_bercurve_generator_0_0_0, 21), (self.qtgui_bercurve_sink_0, 21))
+ self.connect((self.fec_bercurve_generator_0_0_0, 22), (self.qtgui_bercurve_sink_0, 22))
+ self.connect((self.fec_bercurve_generator_0_0_0, 23), (self.qtgui_bercurve_sink_0, 23))
+ self.connect((self.fec_bercurve_generator_0_0_0, 24), (self.qtgui_bercurve_sink_0, 24))
+ self.connect((self.fec_bercurve_generator_0_0_0, 25), (self.qtgui_bercurve_sink_0, 25))
+ self.connect((self.fec_bercurve_generator_0_0_0, 26), (self.qtgui_bercurve_sink_0, 26))
+ self.connect((self.fec_bercurve_generator_0_0_0, 27), (self.qtgui_bercurve_sink_0, 27))
+ self.connect((self.fec_bercurve_generator_0_0_0, 28), (self.qtgui_bercurve_sink_0, 28))
+ self.connect((self.fec_bercurve_generator_0_0_0, 29), (self.qtgui_bercurve_sink_0, 29))
+ self.connect((self.fec_bercurve_generator_0_0_0, 30), (self.qtgui_bercurve_sink_0, 30))
+ self.connect((self.fec_bercurve_generator_0_0_0, 31), (self.qtgui_bercurve_sink_0, 31))
+ self.connect((self.fec_bercurve_generator_0_1, 0), (self.qtgui_bercurve_sink_0, 96))
+ self.connect((self.fec_bercurve_generator_0_1, 1), (self.qtgui_bercurve_sink_0, 97))
+ self.connect((self.fec_bercurve_generator_0_1, 2), (self.qtgui_bercurve_sink_0, 98))
+ self.connect((self.fec_bercurve_generator_0_1, 3), (self.qtgui_bercurve_sink_0, 99))
+ self.connect((self.fec_bercurve_generator_0_1, 4), (self.qtgui_bercurve_sink_0, 100))
+ self.connect((self.fec_bercurve_generator_0_1, 5), (self.qtgui_bercurve_sink_0, 101))
+ self.connect((self.fec_bercurve_generator_0_1, 6), (self.qtgui_bercurve_sink_0, 102))
+ self.connect((self.fec_bercurve_generator_0_1, 7), (self.qtgui_bercurve_sink_0, 103))
+ self.connect((self.fec_bercurve_generator_0_1, 8), (self.qtgui_bercurve_sink_0, 104))
+ self.connect((self.fec_bercurve_generator_0_1, 9), (self.qtgui_bercurve_sink_0, 105))
+ self.connect((self.fec_bercurve_generator_0_1, 10), (self.qtgui_bercurve_sink_0, 106))
+ self.connect((self.fec_bercurve_generator_0_1, 11), (self.qtgui_bercurve_sink_0, 107))
+ self.connect((self.fec_bercurve_generator_0_1, 12), (self.qtgui_bercurve_sink_0, 108))
+ self.connect((self.fec_bercurve_generator_0_1, 13), (self.qtgui_bercurve_sink_0, 109))
+ self.connect((self.fec_bercurve_generator_0_1, 14), (self.qtgui_bercurve_sink_0, 110))
+ self.connect((self.fec_bercurve_generator_0_1, 15), (self.qtgui_bercurve_sink_0, 111))
+ self.connect((self.fec_bercurve_generator_0_1, 16), (self.qtgui_bercurve_sink_0, 112))
+ self.connect((self.fec_bercurve_generator_0_1, 17), (self.qtgui_bercurve_sink_0, 113))
+ self.connect((self.fec_bercurve_generator_0_1, 18), (self.qtgui_bercurve_sink_0, 114))
+ self.connect((self.fec_bercurve_generator_0_1, 19), (self.qtgui_bercurve_sink_0, 115))
+ self.connect((self.fec_bercurve_generator_0_1, 20), (self.qtgui_bercurve_sink_0, 116))
+ self.connect((self.fec_bercurve_generator_0_1, 21), (self.qtgui_bercurve_sink_0, 117))
+ self.connect((self.fec_bercurve_generator_0_1, 22), (self.qtgui_bercurve_sink_0, 118))
+ self.connect((self.fec_bercurve_generator_0_1, 23), (self.qtgui_bercurve_sink_0, 119))
+ self.connect((self.fec_bercurve_generator_0_1, 24), (self.qtgui_bercurve_sink_0, 120))
+ self.connect((self.fec_bercurve_generator_0_1, 25), (self.qtgui_bercurve_sink_0, 121))
+ self.connect((self.fec_bercurve_generator_0_1, 26), (self.qtgui_bercurve_sink_0, 122))
+ self.connect((self.fec_bercurve_generator_0_1, 27), (self.qtgui_bercurve_sink_0, 123))
+ self.connect((self.fec_bercurve_generator_0_1, 28), (self.qtgui_bercurve_sink_0, 124))
+ self.connect((self.fec_bercurve_generator_0_1, 29), (self.qtgui_bercurve_sink_0, 125))
+ self.connect((self.fec_bercurve_generator_0_1, 30), (self.qtgui_bercurve_sink_0, 126))
+ self.connect((self.fec_bercurve_generator_0_1, 31), (self.qtgui_bercurve_sink_0, 127))
+ self.connect((self.fec_bercurve_generator_0_1_0, 0), (self.qtgui_bercurve_sink_0, 128))
+ self.connect((self.fec_bercurve_generator_0_1_0, 1), (self.qtgui_bercurve_sink_0, 129))
+ self.connect((self.fec_bercurve_generator_0_1_0, 2), (self.qtgui_bercurve_sink_0, 130))
+ self.connect((self.fec_bercurve_generator_0_1_0, 3), (self.qtgui_bercurve_sink_0, 131))
+ self.connect((self.fec_bercurve_generator_0_1_0, 4), (self.qtgui_bercurve_sink_0, 132))
+ self.connect((self.fec_bercurve_generator_0_1_0, 5), (self.qtgui_bercurve_sink_0, 133))
+ self.connect((self.fec_bercurve_generator_0_1_0, 6), (self.qtgui_bercurve_sink_0, 134))
+ self.connect((self.fec_bercurve_generator_0_1_0, 7), (self.qtgui_bercurve_sink_0, 135))
+ self.connect((self.fec_bercurve_generator_0_1_0, 8), (self.qtgui_bercurve_sink_0, 136))
+ self.connect((self.fec_bercurve_generator_0_1_0, 9), (self.qtgui_bercurve_sink_0, 137))
+ self.connect((self.fec_bercurve_generator_0_1_0, 10), (self.qtgui_bercurve_sink_0, 138))
+ self.connect((self.fec_bercurve_generator_0_1_0, 11), (self.qtgui_bercurve_sink_0, 139))
+ self.connect((self.fec_bercurve_generator_0_1_0, 12), (self.qtgui_bercurve_sink_0, 140))
+ self.connect((self.fec_bercurve_generator_0_1_0, 13), (self.qtgui_bercurve_sink_0, 141))
+ self.connect((self.fec_bercurve_generator_0_1_0, 14), (self.qtgui_bercurve_sink_0, 142))
+ self.connect((self.fec_bercurve_generator_0_1_0, 15), (self.qtgui_bercurve_sink_0, 143))
+ self.connect((self.fec_bercurve_generator_0_1_0, 16), (self.qtgui_bercurve_sink_0, 144))
+ self.connect((self.fec_bercurve_generator_0_1_0, 17), (self.qtgui_bercurve_sink_0, 145))
+ self.connect((self.fec_bercurve_generator_0_1_0, 18), (self.qtgui_bercurve_sink_0, 146))
+ self.connect((self.fec_bercurve_generator_0_1_0, 19), (self.qtgui_bercurve_sink_0, 147))
+ self.connect((self.fec_bercurve_generator_0_1_0, 20), (self.qtgui_bercurve_sink_0, 148))
+ self.connect((self.fec_bercurve_generator_0_1_0, 21), (self.qtgui_bercurve_sink_0, 149))
+ self.connect((self.fec_bercurve_generator_0_1_0, 22), (self.qtgui_bercurve_sink_0, 150))
+ self.connect((self.fec_bercurve_generator_0_1_0, 23), (self.qtgui_bercurve_sink_0, 151))
+ self.connect((self.fec_bercurve_generator_0_1_0, 24), (self.qtgui_bercurve_sink_0, 152))
+ self.connect((self.fec_bercurve_generator_0_1_0, 25), (self.qtgui_bercurve_sink_0, 153))
+ self.connect((self.fec_bercurve_generator_0_1_0, 26), (self.qtgui_bercurve_sink_0, 154))
+ self.connect((self.fec_bercurve_generator_0_1_0, 27), (self.qtgui_bercurve_sink_0, 155))
+ self.connect((self.fec_bercurve_generator_0_1_0, 28), (self.qtgui_bercurve_sink_0, 156))
+ self.connect((self.fec_bercurve_generator_0_1_0, 29), (self.qtgui_bercurve_sink_0, 157))
+ self.connect((self.fec_bercurve_generator_0_1_0, 30), (self.qtgui_bercurve_sink_0, 158))
+ self.connect((self.fec_bercurve_generator_0_1_0, 31), (self.qtgui_bercurve_sink_0, 159))
+
+ def closeEvent(self, event):
+ self.settings = Qt.QSettings("GNU Radio", "tpc_ber_curve_gen")
+ self.settings.setValue("geometry", self.saveGeometry())
+ event.accept()
+
+ def get_esno_0(self):
+ return self.esno_0
+
+ def set_esno_0(self, esno_0):
+ self.esno_0 = esno_0
+
+ def get_samp_rate_0(self):
+ return self.samp_rate_0
+
+ def set_samp_rate_0(self, samp_rate_0):
+ self.samp_rate_0 = samp_rate_0
+
+ def get_rate(self):
+ return self.rate
+
+ def set_rate(self, rate):
+ self.rate = rate
+
+ def get_polys(self):
+ return self.polys
+
+ def set_polys(self, polys):
+ self.polys = polys
+
+ def get_k(self):
+ return self.k
+
+ def set_k(self, k):
+ self.k = k
+
+ def get_framebits(self):
+ return self.framebits
+
+ def set_framebits(self, framebits):
+ self.framebits = framebits
+
+ def get_enc_tpc_4(self):
+ return self.enc_tpc_4
+
+ def set_enc_tpc_4(self, enc_tpc_4):
+ self.enc_tpc_4 = enc_tpc_4
+
+ def get_enc_tpc_3(self):
+ return self.enc_tpc_3
+
+ def set_enc_tpc_3(self, enc_tpc_3):
+ self.enc_tpc_3 = enc_tpc_3
+
+ def get_enc_tpc_2(self):
+ return self.enc_tpc_2
+
+ def set_enc_tpc_2(self, enc_tpc_2):
+ self.enc_tpc_2 = enc_tpc_2
+
+ def get_enc_tpc_1(self):
+ return self.enc_tpc_1
+
+ def set_enc_tpc_1(self, enc_tpc_1):
+ self.enc_tpc_1 = enc_tpc_1
+
+ def get_enc_tpc_0(self):
+ return self.enc_tpc_0
+
+ def set_enc_tpc_0(self, enc_tpc_0):
+ self.enc_tpc_0 = enc_tpc_0
+
+ def get_dec_tpc_4(self):
+ return self.dec_tpc_4
+
+ def set_dec_tpc_4(self, dec_tpc_4):
+ self.dec_tpc_4 = dec_tpc_4
+
+ def get_dec_tpc_3(self):
+ return self.dec_tpc_3
+
+ def set_dec_tpc_3(self, dec_tpc_3):
+ self.dec_tpc_3 = dec_tpc_3
+
+ def get_dec_tpc_2(self):
+ return self.dec_tpc_2
+
+ def set_dec_tpc_2(self, dec_tpc_2):
+ self.dec_tpc_2 = dec_tpc_2
+
+ def get_dec_tpc_1(self):
+ return self.dec_tpc_1
+
+ def set_dec_tpc_1(self, dec_tpc_1):
+ self.dec_tpc_1 = dec_tpc_1
+
+ def get_dec_tpc_0(self):
+ return self.dec_tpc_0
+
+ def set_dec_tpc_0(self, dec_tpc_0):
+ self.dec_tpc_0 = dec_tpc_0
+
+
+if __name__ == '__main__':
+ parser = OptionParser(option_class=eng_option, usage="%prog: [options]")
+ (options, args) = parser.parse_args()
+ if(StrictVersion(Qt.qVersion()) >= StrictVersion("4.5.0")):
+ Qt.QApplication.setGraphicsSystem(gr.prefs().get_string('qtgui','style','raster'))
+ qapp = Qt.QApplication(sys.argv)
+ tb = tpc_ber_curve_gen()
+ tb.start()
+ tb.show()
+ def quitting():
+ tb.stop()
+ tb.wait()
+ qapp.connect(qapp, Qt.SIGNAL("aboutToQuit()"), quitting)
+ qapp.exec_()
+ tb = None #to clean up Qt widgets