summaryrefslogtreecommitdiff
path: root/gr-trellis/src/examples/test_sccc_turbo.py
diff options
context:
space:
mode:
Diffstat (limited to 'gr-trellis/src/examples/test_sccc_turbo.py')
-rwxr-xr-xgr-trellis/src/examples/test_sccc_turbo.py40
1 files changed, 20 insertions, 20 deletions
diff --git a/gr-trellis/src/examples/test_sccc_turbo.py b/gr-trellis/src/examples/test_sccc_turbo.py
index f67fb09223..f3a856de7f 100755
--- a/gr-trellis/src/examples/test_sccc_turbo.py
+++ b/gr-trellis/src/examples/test_sccc_turbo.py
@@ -11,7 +11,7 @@ import fsm_utils
-def make_rx(fg,fo,fi,dimensionality,constellation,K,interleaver,IT,Es,N0,type):
+def make_rx(tb,fo,fi,dimensionality,constellation,K,interleaver,IT,Es,N0,type):
metrics_in = trellis.metrics_f(fi.O(),dimensionality,constellation,trellis.TRELLIS_EUCLIDEAN) # data preprocessing to generate metrics for innner Viterbi
scale = gr.multiply_const_ff(1.0/N0)
gnd = gr.vector_source_f([0],True);
@@ -32,27 +32,27 @@ def make_rx(fg,fo,fi,dimensionality,constellation,K,interleaver,IT,Es,N0,type):
siso_out.append( trellis.viterbi_s(fo,K,0,-1) ) # no soft outputs needed
# connect first stage
- fg.connect (gnd,inter[0])
- fg.connect (metrics_in,scale)
- fg.connect (scale,(siso_in[0],1))
+ tb.connect (gnd,inter[0])
+ tb.connect (metrics_in,scale)
+ tb.connect (scale,(siso_in[0],1))
# connect the rest
for it in range(IT):
if it < IT-1:
- fg.connect (metrics_in,(siso_in[it+1],1))
- fg.connect (siso_in[it],deinter[it],(siso_out[it],1))
- fg.connect (gnd,(siso_out[it],0))
- fg.connect (siso_out[it],inter[it+1])
- fg.connect (inter[it],(siso_in[it],0))
+ tb.connect (metrics_in,(siso_in[it+1],1))
+ tb.connect (siso_in[it],deinter[it],(siso_out[it],1))
+ tb.connect (gnd,(siso_out[it],0))
+ tb.connect (siso_out[it],inter[it+1])
+ tb.connect (inter[it],(siso_in[it],0))
else:
- fg.connect (siso_in[it],deinter[it],siso_out[it])
- fg.connect (inter[it],(siso_in[it],0))
+ tb.connect (siso_in[it],deinter[it],siso_out[it])
+ tb.connect (inter[it],(siso_in[it],0))
return (metrics_in,siso_out[IT-1])
def run_test (fo,fi,interleaver,Kb,bitspersymbol,K,dimensionality,constellation,Es,N0,IT,seed):
- fg = gr.flow_graph ()
+ tb = gr.top_block ()
# TX
@@ -69,18 +69,18 @@ def run_test (fo,fi,interleaver,Kb,bitspersymbol,K,dimensionality,constellation,
noise = gr.noise_source_f(gr.GR_GAUSSIAN,math.sqrt(N0/2),seed)
# RX
- (head,tail) = make_rx(fg,fo,fi,dimensionality,constellation,K,interleaver,IT,Es,N0,trellis.TRELLIS_MIN_SUM)
- #(head,tail) = make_rx(fg,fo,fi,dimensionality,constellation,K,interleaver,IT,Es,N0,trellis.TRELLIS_SUM_PRODUCT)
+ (head,tail) = make_rx(tb,fo,fi,dimensionality,constellation,K,interleaver,IT,Es,N0,trellis.TRELLIS_MIN_SUM)
+ #(head,tail) = make_rx(tb,fo,fi,dimensionality,constellation,K,interleaver,IT,Es,N0,trellis.TRELLIS_SUM_PRODUCT)
fsmi2s = gr.unpacked_to_packed_ss(bitspersymbol,gr.GR_MSB_FIRST) # pack FSM input symbols to shorts
dst = gr.check_lfsr_32k_s()
- fg.connect (src,src_head,s2fsmi,enc_out,inter,enc_in,mod)
- fg.connect (mod,(add,0))
- fg.connect (noise,(add,1))
- fg.connect (add,head)
- fg.connect (tail,fsmi2s,dst)
+ tb.connect (src,src_head,s2fsmi,enc_out,inter,enc_in,mod)
+ tb.connect (mod,(add,0))
+ tb.connect (noise,(add,1))
+ tb.connect (add,head)
+ tb.connect (tail,fsmi2s,dst)
- fg.run()
+ tb.run()
#print enc_out.ST(), enc_in.ST()