summaryrefslogtreecommitdiff
path: root/gr-trellis/src/examples/python/test_turbo_equalization1.py
diff options
context:
space:
mode:
Diffstat (limited to 'gr-trellis/src/examples/python/test_turbo_equalization1.py')
-rwxr-xr-xgr-trellis/src/examples/python/test_turbo_equalization1.py14
1 files changed, 10 insertions, 4 deletions
diff --git a/gr-trellis/src/examples/python/test_turbo_equalization1.py b/gr-trellis/src/examples/python/test_turbo_equalization1.py
index 17ad430235..dfe1a2d82e 100755
--- a/gr-trellis/src/examples/python/test_turbo_equalization1.py
+++ b/gr-trellis/src/examples/python/test_turbo_equalization1.py
@@ -1,13 +1,19 @@
#!/usr/bin/env python
from gnuradio import gr
-from gnuradio import trellis, digital
+from gnuradio import trellis, digital, filter
from gnuradio import eng_notation
import math
import sys
import random
import fsm_utils
+try:
+ from gnuradio import analog
+except ImportError:
+ sys.stderr.write("Error: Program requires gr-analog.\n")
+ sys.exit(1)
+
def make_rx(tb,fo,fi,dimensionality,tot_constellation,K,interleaver,IT,Es,N0,type):
metrics_in = trellis.metrics_f(fi.O(),dimensionality,tot_constellation,digital.TRELLIS_EUCLIDEAN) # data preprocessing to generate metrics for innner SISO
scale = gr.multiply_const_ff(1.0/N0)
@@ -61,12 +67,12 @@ def run_test (fo,fi,interleaver,Kb,bitspersymbol,K,channel,modulation,dimensiona
src = gr.vector_source_s(packet,False)
enc_out = trellis.encoder_ss(fo,0) # initial state = 0
inter = trellis.permutation(interleaver.K(),interleaver.INTER(),1,gr.sizeof_short)
- mod = gr.chunks_to_symbols_sf(modulation[1],modulation[0])
+ mod = digital.chunks_to_symbols_sf(modulation[1],modulation[0])
# CHANNEL
- isi = gr.fir_filter_fff(1,channel)
+ isi = filter.fir_filter_fff(1,channel)
add = gr.add_ff()
- noise = gr.noise_source_f(gr.GR_GAUSSIAN,math.sqrt(N0/2),seed)
+ noise = analog.noise_source_f(analog.GR_GAUSSIAN,math.sqrt(N0/2),seed)
# RX
(head,tail) = make_rx(tb,fo,fi,dimensionality,tot_constellation,K,interleaver,IT,Es,N0,trellis.TRELLIS_MIN_SUM)