summaryrefslogtreecommitdiff
path: root/gr-digital/python/digital/ofdm_txrx.py
diff options
context:
space:
mode:
authorMartin Braun <martin.braun@kit.edu>2013-10-27 16:19:05 +0100
committerMartin Braun <martin.braun@kit.edu>2013-10-27 16:27:11 +0100
commitbf713bd4aa2c81dcf78f8bac329efd1cf0316f10 (patch)
treee99cb5c858afc1f5b9861b9ab56d433a6d3ee0db /gr-digital/python/digital/ofdm_txrx.py
parent0ded588941bd4774a50e859727685585f974099a (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.py17
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(),