summaryrefslogtreecommitdiff
path: root/gr-fec/python
diff options
context:
space:
mode:
Diffstat (limited to 'gr-fec/python')
-rw-r--r--gr-fec/python/fec/bercurve_generator.py5
-rw-r--r--gr-fec/python/fec/extended_decoder.py8
-rw-r--r--gr-fec/python/fec/extended_encoder.py8
-rw-r--r--gr-fec/python/fec/fec_test.py17
4 files changed, 28 insertions, 10 deletions
diff --git a/gr-fec/python/fec/bercurve_generator.py b/gr-fec/python/fec/bercurve_generator.py
index ee51493152..e67d1e17c2 100644
--- a/gr-fec/python/fec/bercurve_generator.py
+++ b/gr-fec/python/fec/bercurve_generator.py
@@ -28,7 +28,7 @@ from fec_test import fec_test
class bercurve_generator(gr.hier_block2):
def __init__(self, encoder_list, decoder_list, esno=numpy.arange(0.0, 3.0, .25),
- samp_rate=3200000, threading='capillary', puncpat='11'):
+ samp_rate=3200000, threading='capillary', puncpat='11', seed=0):
gr.hier_block2.__init__(
self, "ber_curve_generator",
gr.io_signature(0, 0, 0),
@@ -51,7 +51,8 @@ class bercurve_generator(gr.hier_block2):
esno=esno[i],
samp_rate=samp_rate,
threading=threading,
- puncpat=puncpat)
+ puncpat=puncpat,
+ seed=seed)
self.ber_generators.append(ber_generator_temp);
for i in range(0, len(esno)):
diff --git a/gr-fec/python/fec/extended_decoder.py b/gr-fec/python/fec/extended_decoder.py
index 17c9810013..072adcde07 100644
--- a/gr-fec/python/fec/extended_decoder.py
+++ b/gr-fec/python/fec/extended_decoder.py
@@ -86,10 +86,18 @@ class extended_decoder(gr.hier_block2):
self.puncpat=puncpat
self.flush=flush
+ if(type(decoder_obj_list[0]) == list):
+ gr.log.info("fec.extended_decoder: Parallelism must be 1.")
+ raise AttributeError
+
if type(lentagname) == str:
if(lentagname.lower() == 'none'):
lentagname = None
+ if lentagname and threading:
+ gr.log.info("fec.extended_decoder: Cannot use threading with tagged_stream mode.")
+ raise AttributeError
+
message_collector_connected=False
##anything going through the annihilator needs shifted, uchar vals
diff --git a/gr-fec/python/fec/extended_encoder.py b/gr-fec/python/fec/extended_encoder.py
index 01b9e09f2e..f511b53a2b 100644
--- a/gr-fec/python/fec/extended_encoder.py
+++ b/gr-fec/python/fec/extended_encoder.py
@@ -37,10 +37,18 @@ class extended_encoder(gr.hier_block2):
self.blocks=[]
self.puncpat=puncpat
+ if(type(encoder_obj_list[0]) == list):
+ gr.log.info("fec.extended_encoder: Parallelism must be 1.")
+ raise AttributeError
+
if type(lentagname) == str:
if(lentagname.lower() == 'none'):
lentagname = None
+ if lentagname and threading:
+ gr.log.info("fec.extended_decoder: Cannot use threading with tagged_stream mode.")
+ raise AttributeError
+
if fec.get_encoder_input_conversion(encoder_obj_list[0]) == "pack":
self.blocks.append(blocks.pack_k_bits_bb(8))
diff --git a/gr-fec/python/fec/fec_test.py b/gr-fec/python/fec/fec_test.py
index cacbb35f5e..0a7524af74 100644
--- a/gr-fec/python/fec/fec_test.py
+++ b/gr-fec/python/fec/fec_test.py
@@ -30,11 +30,11 @@ from extended_decoder import extended_decoder
class fec_test(gr.hier_block2):
def __init__(self, generic_encoder=0, generic_decoder=0, esno=0,
- samp_rate=3200000, threading="capillary", puncpat='11'):
- gr.hier_block2.__init__(
- self, "fec_test",
- gr.io_signature(1, 1, gr.sizeof_char*1),
- gr.io_signature(2, 2, gr.sizeof_char*1))
+ samp_rate=3200000, threading="capillary", puncpat='11',
+ seed=0):
+ gr.hier_block2.__init__(self, "fec_test",
+ gr.io_signature(1, 1, gr.sizeof_char*1),
+ gr.io_signature(2, 2, gr.sizeof_char*1))
self.generic_encoder = generic_encoder
self.generic_decoder = generic_decoder
@@ -50,16 +50,17 @@ class fec_test(gr.hier_block2):
self.pack8 = blocks.pack_k_bits_bb(8)
self.encoder = extended_encoder(encoder_obj_list=generic_encoder,
- threading='capillary',
+ threading=threading,
puncpat=puncpat)
self.decoder = extended_decoder(decoder_obj_list=generic_decoder,
- threading='capillary',
+ threading=threading,
ann=None, puncpat=puncpat,
integration_period=10000, rotator=None)
noise = math.sqrt((10.0**(-esno/10.0))/2.0)
- self.fastnoise = analog.fastnoise_source_f(analog.GR_GAUSSIAN, noise, 0, 8192)
+ #self.fastnoise = analog.fastnoise_source_f(analog.GR_GAUSSIAN, noise, seed, 8192)
+ self.fastnoise = analog.noise_source_f(analog.GR_GAUSSIAN, noise, seed)
self.addnoise = blocks.add_ff(1)
# Send packed input directly to the second output