diff options
author | mormj <mormjb@gmail.com> | 2020-10-30 10:59:50 -0400 |
---|---|---|
committer | Marcus Müller <marcus@hostalia.de> | 2020-10-30 17:52:53 +0100 |
commit | 7a0948ba85758fba1cc3858ef99bfa600dcc7416 (patch) | |
tree | 610d7f9d773a193562def6df2d4b50f1bb3b3f86 /gr-digital/python/digital/qa_constellation_receiver.py | |
parent | 12192ee7d58de95ddca35a3e93bfc172bdb5c820 (diff) |
qa: run autopep8 formatting on qa python files
find ./ -iname qa*.py | xargs autopep8 --in-place -a -a
mostly formats whitespace and gets rid of trailing semicolons
Diffstat (limited to 'gr-digital/python/digital/qa_constellation_receiver.py')
-rw-r--r-- | gr-digital/python/digital/qa_constellation_receiver.py | 54 |
1 files changed, 33 insertions, 21 deletions
diff --git a/gr-digital/python/digital/qa_constellation_receiver.py b/gr-digital/python/digital/qa_constellation_receiver.py index 8c22ebc68e..507fdd45b5 100644 --- a/gr-digital/python/digital/qa_constellation_receiver.py +++ b/gr-digital/python/digital/qa_constellation_receiver.py @@ -9,7 +9,6 @@ # - import random import math @@ -40,8 +39,8 @@ FREQUENCY_OFFSET = 0.01 TIMING_OFFSET = 1.0 # RECEIVER PARAMETERS -FREQ_BW = 2*math.pi/100.0 -PHASE_BW = 2*math.pi/100.0 +FREQ_BW = 2 * math.pi / 100.0 +PHASE_BW = 2 * math.pi / 100.0 class channel_model(gr.hier_block2): @@ -50,20 +49,19 @@ class channel_model(gr.hier_block2): gr.io_signature(1, 1, gr.sizeof_gr_complex), gr.io_signature(1, 1, gr.sizeof_gr_complex)) - timing_offset = filter.mmse_resampler_cc(0, timing) noise_adder = blocks.add_cc() noise = analog.noise_source_c(analog.GR_GAUSSIAN, noise_voltage, 0) freq_offset = analog.sig_source_c(1, analog.GR_SIN_WAVE, freq, 1.0, 0.0) - mixer_offset = blocks.multiply_cc(); + mixer_offset = blocks.multiply_cc() self.connect(self, timing_offset) - self.connect(timing_offset, (mixer_offset,0)) - self.connect(freq_offset, (mixer_offset,1)) - self.connect(mixer_offset, (noise_adder,1)) - self.connect(noise, (noise_adder,0)) + self.connect(timing_offset, (mixer_offset, 0)) + self.connect(freq_offset, (mixer_offset, 1)) + self.connect(mixer_offset, (noise_adder, 1)) + self.connect(noise, (noise_adder, 0)) self.connect(noise_adder, self) @@ -91,16 +89,24 @@ class test_constellation_receiver(gr_unittest.TestCase): # Assumes not more than 64 points in a constellation # Generates some random input data to use. self.src_data = tuple( - [rndm.randint(0,1) for i in range(0, self.max_data_length)]) + [rndm.randint(0, 1) for i in range(0, self.max_data_length)]) # Generates some random indices to use for comparing input and # output data (a full comparison is too slow in python). self.indices = alignment.random_sample( self.max_data_length, self.max_num_samples, SEED) requirements = ( - (EASY_REQ_CORRECT, tested_constellations(easy=True, medium=False, difficult=False)), - (MEDIUM_REQ_CORRECT, tested_constellations(easy=False, medium=True, difficult=False)), - ) + (EASY_REQ_CORRECT, + tested_constellations( + easy=True, + medium=False, + difficult=False)), + (MEDIUM_REQ_CORRECT, + tested_constellations( + easy=False, + medium=True, + difficult=False)), + ) for req_correct, tcs in requirements: for constellation, differential in tcs: # The constellation_receiver doesn't work for constellations @@ -116,19 +122,20 @@ class test_constellation_receiver(gr_unittest.TestCase): src_data=self.src_data[:data_length]) tb.run() data = tb.dst.data() - d1 = tb.src_data[:int(len(tb.src_data)*self.ignore_fraction)] - d2 = data[:int(len(data)*self.ignore_fraction)] + d1 = tb.src_data[:int(len(tb.src_data) * self.ignore_fraction)] + d2 = data[:int(len(data) * self.ignore_fraction)] correct, overlap, offset, indices = alignment.align_sequences( d1, d2, indices=self.indices) if correct <= req_correct: - print("Constellation is {0}. Differential is {1}. Required correct is {2}. Correct is {3}. FAIL.". - format(constellation, differential, req_correct, correct)) + print( + "Constellation is {0}. Differential is {1}. Required correct is {2}. Correct is {3}. FAIL.". format( + constellation, differential, req_correct, correct)) self.assertTrue(correct > req_correct) def test_tag(self): # Send data through bpsk receiver # followed by qpsk receiver - data = [0.9+0j, 0.1+0.9j, -1-0.1j, -0.1-0.6j]*2 + data = [0.9 + 0j, 0.1 + 0.9j, -1 - 0.1j, -0.1 - 0.6j] * 2 bpsk_data = [1, 1, 0, 0] qpsk_data = [1, 3, 0, 0] first_tag = gr.tag_t() @@ -146,13 +153,15 @@ class test_constellation_receiver(gr_unittest.TestCase): tb = gr.top_block() tb.connect(src, decoder, snk) tb.run() - self.assertEqual(list(snk.data()), bpsk_data+qpsk_data) + self.assertEqual(list(snk.data()), bpsk_data + qpsk_data) + class rec_test_tb(gr.top_block): """ Takes a constellation an runs a generic modulation, channel, and generic demodulation. """ + def __init__(self, constellation, differential, data_length=None, src_data=None, freq_offset=True): """ @@ -166,7 +175,8 @@ class rec_test_tb(gr.top_block): super(rec_test_tb, self).__init__() # Transmission Blocks if src_data is None: - self.src_data = tuple([random.randint(0,1) for i in range(0, data_length)]) + self.src_data = tuple([random.randint(0, 1) + for i in range(0, data_length)]) else: self.src_data = src_data packer = blocks.unpacked_to_packed_bb(1, gr.GR_MSB_FIRST) @@ -174,7 +184,8 @@ class rec_test_tb(gr.top_block): mod = generic_mod(constellation, differential=differential) # Channel if freq_offset: - channel = channel_model(NOISE_VOLTAGE, FREQUENCY_OFFSET, TIMING_OFFSET) + channel = channel_model( + NOISE_VOLTAGE, FREQUENCY_OFFSET, TIMING_OFFSET) else: channel = channel_model(NOISE_VOLTAGE, 0, TIMING_OFFSET) # Receiver Blocks @@ -188,5 +199,6 @@ class rec_test_tb(gr.top_block): self.dst = blocks.vector_sink_b() self.connect(src, packer, mod, channel, demod, self.dst) + if __name__ == '__main__': gr_unittest.run(test_constellation_receiver) |