diff options
author | Martin Braun <martin.braun@kit.edu> | 2013-10-27 16:19:05 +0100 |
---|---|---|
committer | Martin Braun <martin.braun@kit.edu> | 2013-10-27 16:27:11 +0100 |
commit | bf713bd4aa2c81dcf78f8bac329efd1cf0316f10 (patch) | |
tree | e99cb5c858afc1f5b9861b9ab56d433a6d3ee0db /gr-digital/python/digital/ofdm_txrx.py | |
parent | 0ded588941bd4774a50e859727685585f974099a (diff) |
digital: Fixed bug where OFDM Tx hier block would ignore 2nd sync word
Diffstat (limited to 'gr-digital/python/digital/ofdm_txrx.py')
-rw-r--r-- | gr-digital/python/digital/ofdm_txrx.py | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/gr-digital/python/digital/ofdm_txrx.py b/gr-digital/python/digital/ofdm_txrx.py index b1ebc9e9c2..06e375e3d6 100644 --- a/gr-digital/python/digital/ofdm_txrx.py +++ b/gr-digital/python/digital/ofdm_txrx.py @@ -170,9 +170,10 @@ class ofdm_tx(gr.hier_block2): if len(sync_word1) != self.fft_len: raise ValueError("Length of sync sequence(s) must be FFT length.") self.sync_words = [self.sync_word1,] - self.sync_word2 = () if sync_word2 is None: self.sync_word2 = _make_sync_word2(fft_len, occupied_carriers, pilot_carriers) + else: + self.sync_word2 = sync_word2 if len(self.sync_word2): if len(self.sync_word2) != fft_len: raise ValueError("Length of sync sequence(s) must be FFT length.") @@ -342,8 +343,12 @@ class ofdm_rx(gr.hier_block2): chanest = digital.ofdm_chanest_vcvc(self.sync_word1, self.sync_word2, 1) header_constellation = _get_constellation(bps_header) header_equalizer = digital.ofdm_equalizer_simpledfe( - fft_len, header_constellation.base(), - occupied_carriers, pilot_carriers, pilot_symbols, 0, 0 + fft_len, + header_constellation.base(), + occupied_carriers, + pilot_carriers, + pilot_symbols, + symbols_skipped=0, ) header_eq = digital.ofdm_frame_equalizer_vcvc( header_equalizer.base(), @@ -388,11 +393,13 @@ class ofdm_rx(gr.hier_block2): payload_fft = fft.fft_vcc(self.fft_len, True, (), True) payload_constellation = _get_constellation(bps_payload) payload_equalizer = digital.ofdm_equalizer_simpledfe( - fft_len, payload_constellation.base(), + fft_len, + payload_constellation.base(), occupied_carriers, pilot_carriers, pilot_symbols, - 1 # Skip 1 symbol (that was already in the header) + symbols_skipped=1, # (that was already in the header) + alpha=0.1 ) payload_eq = digital.ofdm_frame_equalizer_vcvc( payload_equalizer.base(), |