[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commit-gnuradio] r3382 - gnuradio/trunk/gr-trellis/src/lib
From: |
anastas |
Subject: |
[Commit-gnuradio] r3382 - gnuradio/trunk/gr-trellis/src/lib |
Date: |
Tue, 22 Aug 2006 23:18:05 -0600 (MDT) |
Author: anastas
Date: 2006-08-22 23:18:04 -0600 (Tue, 22 Aug 2006)
New Revision: 3382
Modified:
gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_X.cc.t
gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_X.h.t
gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_b.cc
gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_b.h
gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_combined_X.cc.t
gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_combined_X.h.t
gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_combined_X.i.t
gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_combined_b.cc
gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_combined_b.h
gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_combined_b.i
gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_combined_i.cc
gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_combined_i.h
gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_combined_i.i
gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_combined_s.cc
gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_combined_s.h
gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_combined_s.i
gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_i.cc
gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_i.h
gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_s.cc
gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_s.h
Log:
clean-up of Viterbi blocks: d_trace is not a private variable anymore but a
local variable
Modified: gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_X.cc.t
===================================================================
--- gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_X.cc.t 2006-08-23
02:38:53 UTC (rev 3381)
+++ gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_X.cc.t 2006-08-23
05:18:04 UTC (rev 3382)
@@ -52,8 +52,8 @@
d_FSM (FSM),
d_K (K),
d_S0 (S0),
- d_SK (SK),
- d_trace(FSM.S()*K)
+ d_SK (SK)//,
+ //d_trace(FSM.S()*K)
{
set_relative_rate (1.0 / ((double) d_FSM.O()));
set_output_multiple (d_K);
@@ -81,9 +81,10 @@
const std::vector<int> &PI,
int K,
int S0,int SK,
- const float *in, @TYPE@ *out,
- std::vector<int> &trace)
+ const float *in, @TYPE@ *out)//,
+ //std::vector<int> &trace)
{
+ std::vector<int> trace(S*K);
std::vector<float> alpha(S*2);
int alphai;
float norm,mm,minm;
@@ -158,7 +159,7 @@
const float *in = (const float *) input_items[m];
@TYPE@ *out = (@TYPE@ *) output_items[m];
for (int n=0;n<nblocks;n++) {
-
viterbi_algorithm(d_FSM.I(),d_FSM.S(),d_FSM.O(),d_FSM.NS(),d_FSM.OS(),d_FSM.PS(),d_FSM.PI(),d_K,d_S0,d_SK,&(in[n*d_K*d_FSM.O()]),&(out[n*d_K]),d_trace);
+
viterbi_algorithm(d_FSM.I(),d_FSM.S(),d_FSM.O(),d_FSM.NS(),d_FSM.OS(),d_FSM.PS(),d_FSM.PI(),d_K,d_S0,d_SK,&(in[n*d_K*d_FSM.O()]),&(out[n*d_K]));//,d_trace);
}
}
Modified: gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_X.h.t
===================================================================
--- gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_X.h.t 2006-08-23
02:38:53 UTC (rev 3381)
+++ gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_X.h.t 2006-08-23
05:18:04 UTC (rev 3382)
@@ -45,7 +45,7 @@
int d_K;
int d_S0;
int d_SK;
- std::vector<int> d_trace;
+ //std::vector<int> d_trace;
friend @SPTR_NAME@ address@hidden@ (
const fsm &FSM,
Modified: gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_b.cc
===================================================================
--- gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_b.cc 2006-08-23
02:38:53 UTC (rev 3381)
+++ gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_b.cc 2006-08-23
05:18:04 UTC (rev 3382)
@@ -52,8 +52,8 @@
d_FSM (FSM),
d_K (K),
d_S0 (S0),
- d_SK (SK),
- d_trace(FSM.S()*K)
+ d_SK (SK)//,
+ //d_trace(FSM.S()*K)
{
set_relative_rate (1.0 / ((double) d_FSM.O()));
set_output_multiple (d_K);
@@ -81,9 +81,10 @@
const std::vector<int> &PI,
int K,
int S0,int SK,
- const float *in, unsigned char *out,
- std::vector<int> &trace)
+ const float *in, unsigned char *out)//,
+ //std::vector<int> &trace)
{
+ std::vector<int> trace(S*K);
std::vector<float> alpha(S*2);
int alphai;
float norm,mm,minm;
@@ -158,7 +159,7 @@
const float *in = (const float *) input_items[m];
unsigned char *out = (unsigned char *) output_items[m];
for (int n=0;n<nblocks;n++) {
-
viterbi_algorithm(d_FSM.I(),d_FSM.S(),d_FSM.O(),d_FSM.NS(),d_FSM.OS(),d_FSM.PS(),d_FSM.PI(),d_K,d_S0,d_SK,&(in[n*d_K*d_FSM.O()]),&(out[n*d_K]),d_trace);
+
viterbi_algorithm(d_FSM.I(),d_FSM.S(),d_FSM.O(),d_FSM.NS(),d_FSM.OS(),d_FSM.PS(),d_FSM.PI(),d_K,d_S0,d_SK,&(in[n*d_K*d_FSM.O()]),&(out[n*d_K]));//,d_trace);
}
}
Modified: gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_b.h
===================================================================
--- gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_b.h 2006-08-23
02:38:53 UTC (rev 3381)
+++ gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_b.h 2006-08-23
05:18:04 UTC (rev 3382)
@@ -45,7 +45,7 @@
int d_K;
int d_S0;
int d_SK;
- std::vector<int> d_trace;
+ //std::vector<int> d_trace;
friend trellis_viterbi_b_sptr trellis_make_viterbi_b (
const fsm &FSM,
Modified: gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_combined_X.cc.t
===================================================================
--- gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_combined_X.cc.t
2006-08-23 02:38:53 UTC (rev 3381)
+++ gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_combined_X.cc.t
2006-08-23 05:18:04 UTC (rev 3382)
@@ -34,35 +34,35 @@
@SPTR_NAME@
address@hidden@ (
const fsm &FSM,
- int D,
- const std::vector<float> &TABLE,
int K,
int S0,
int SK,
+ int D,
+ const std::vector<float> &TABLE,
trellis_metric_type_t TYPE)
{
- return @SPTR_NAME@ (new @NAME@ (FSM,D,TABLE,K,S0,SK,TYPE));
+ return @SPTR_NAME@ (new @NAME@ (FSM,K,S0,SK,D,TABLE,TYPE));
}
@NAME@::@NAME@ (
const fsm &FSM,
- int D,
- const std::vector<float> &TABLE,
int K,
int S0,
int SK,
+ int D,
+ const std::vector<float> &TABLE,
trellis_metric_type_t TYPE)
: gr_block ("@BASE_NAME@",
gr_make_io_signature (1, -1, sizeof (float)),
gr_make_io_signature (1, -1, sizeof (@TYPE@))),
d_FSM (FSM),
- d_D (D),
- d_TABLE (TABLE),
d_K (K),
d_S0 (S0),
d_SK (SK),
- d_TYPE (TYPE),
- d_trace(FSM.S()*K)
+ d_D (D),
+ d_TABLE (TABLE),
+ d_TYPE (TYPE)//,
+ //d_trace(FSM.S()*K)
{
set_relative_rate (1.0 / ((double) d_D));
set_output_multiple (d_K);
@@ -88,14 +88,15 @@
const std::vector<int> &OS,
const std::vector<int> &PS,
const std::vector<int> &PI,
+ int K,
+ int S0,int SK,
int D,
const std::vector<float> &TABLE,
- int K,
- int S0,int SK,
trellis_metric_type_t TYPE,
- const float *in, @TYPE@ *out,
- std::vector<int> &trace)
+ const float *in, @TYPE@ *out)//,
+ //std::vector<int> &trace)
{
+ std::vector<int> trace(S*K);
std::vector<float> alpha(S*2);
float *metric = new float[O];
int alphai;
@@ -173,7 +174,7 @@
const float *in = (const float *) input_items[m];
@TYPE@ *out = (@TYPE@ *) output_items[m];
for (int n=0;n<nblocks;n++) {
-
viterbi_algorithm_combined(d_FSM.I(),d_FSM.S(),d_FSM.O(),d_FSM.NS(),d_FSM.OS(),d_FSM.PS(),d_FSM.PI(),d_D,d_TABLE,d_K,d_S0,d_SK,d_TYPE,&(in[n*d_K*d_D]),&(out[n*d_K]),d_trace);
+
viterbi_algorithm_combined(d_FSM.I(),d_FSM.S(),d_FSM.O(),d_FSM.NS(),d_FSM.OS(),d_FSM.PS(),d_FSM.PI(),d_K,d_S0,d_SK,d_D,d_TABLE,d_TYPE,&(in[n*d_K*d_D]),&(out[n*d_K]));//,d_trace);
}
}
Modified: gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_combined_X.h.t
===================================================================
--- gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_combined_X.h.t
2006-08-23 02:38:53 UTC (rev 3381)
+++ gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_combined_X.h.t
2006-08-23 05:18:04 UTC (rev 3382)
@@ -34,52 +34,52 @@
@SPTR_NAME@ address@hidden@ (
const fsm &FSM,
- int D,
- const std::vector<float> &TABLE,
int K,
int S0,
int SK,
+ int D,
+ const std::vector<float> &TABLE,
trellis_metric_type_t TYPE);
class @NAME@ : public gr_block
{
fsm d_FSM;
- int d_D;
- std::vector<float> d_TABLE;
int d_K;
int d_S0;
int d_SK;
+ int d_D;
+ std::vector<float> d_TABLE;
trellis_metric_type_t d_TYPE;
- std::vector<int> d_trace;
+ //std::vector<int> d_trace;
friend @SPTR_NAME@ address@hidden@ (
const fsm &FSM,
- int D,
- const std::vector<float> &TABLE,
int K,
int S0,
int SK,
+ int D,
+ const std::vector<float> &TABLE,
trellis_metric_type_t TYPE);
@NAME@ (
const fsm &FSM,
- int D,
- const std::vector<float> &TABLE,
int K,
int S0,
int SK,
+ int D,
+ const std::vector<float> &TABLE,
trellis_metric_type_t TYPE);
public:
fsm FSM () const { return d_FSM; }
- int D () const { return d_D; }
- std::vector<float> TABLE () const { return d_TABLE; }
int K () const { return d_K; }
int S0 () const { return d_S0; }
int SK () const { return d_SK; }
+ int D () const { return d_D; }
+ std::vector<float> TABLE () const { return d_TABLE; }
trellis_metric_type_t TYPE () const { return d_TYPE; }
//std::vector<int> trace () const { return d_trace; }
void forecast (int noutput_items,
Modified: gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_combined_X.i.t
===================================================================
--- gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_combined_X.i.t
2006-08-23 02:38:53 UTC (rev 3381)
+++ gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_combined_X.i.t
2006-08-23 05:18:04 UTC (rev 3382)
@@ -26,11 +26,11 @@
@SPTR_NAME@ address@hidden@ (
const fsm &FSM,
- int D,
- const std::vector<float> &TABLE,
int K,
int S0,
int SK,
+ int D,
+ const std::vector<float> &TABLE,
trellis_metric_type_t TYPE);
@@ -39,20 +39,20 @@
private:
@NAME@ (
const fsm &FSM,
- int D,
- const std::vector<float> &TABLE,
int K,
int S0,
int SK,
+ int D,
+ const std::vector<float> &TABLE,
trellis_metric_type_t TYPE);
public:
fsm FSM () const { return d_FSM; }
- int D () const { return d_D; }
- std::vector<float> TABLE () const { return d_TABLE; }
int K () const { return d_K; }
int S0 () const { return d_S0; }
int SK () const { return d_SK; }
+ int D () const { return d_D; }
+ std::vector<float> TABLE () const { return d_TABLE; }
trellis_metric_type_t TYPE () const { return d_TYPE; }
//std::vector<short> trace () const { return d_trace; }
};
Modified: gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_combined_b.cc
===================================================================
--- gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_combined_b.cc
2006-08-23 02:38:53 UTC (rev 3381)
+++ gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_combined_b.cc
2006-08-23 05:18:04 UTC (rev 3382)
@@ -34,35 +34,35 @@
trellis_viterbi_combined_b_sptr
trellis_make_viterbi_combined_b (
const fsm &FSM,
- int D,
- const std::vector<float> &TABLE,
int K,
int S0,
int SK,
+ int D,
+ const std::vector<float> &TABLE,
trellis_metric_type_t TYPE)
{
- return trellis_viterbi_combined_b_sptr (new trellis_viterbi_combined_b
(FSM,D,TABLE,K,S0,SK,TYPE));
+ return trellis_viterbi_combined_b_sptr (new trellis_viterbi_combined_b
(FSM,K,S0,SK,D,TABLE,TYPE));
}
trellis_viterbi_combined_b::trellis_viterbi_combined_b (
const fsm &FSM,
- int D,
- const std::vector<float> &TABLE,
int K,
int S0,
int SK,
+ int D,
+ const std::vector<float> &TABLE,
trellis_metric_type_t TYPE)
: gr_block ("viterbi_combined_b",
gr_make_io_signature (1, -1, sizeof (float)),
gr_make_io_signature (1, -1, sizeof (unsigned
char))),
d_FSM (FSM),
- d_D (D),
- d_TABLE (TABLE),
d_K (K),
d_S0 (S0),
d_SK (SK),
- d_TYPE (TYPE),
- d_trace(FSM.S()*K)
+ d_D (D),
+ d_TABLE (TABLE),
+ d_TYPE (TYPE)//,
+ //d_trace(FSM.S()*K)
{
set_relative_rate (1.0 / ((double) d_D));
set_output_multiple (d_K);
@@ -88,14 +88,15 @@
const std::vector<int> &OS,
const std::vector<int> &PS,
const std::vector<int> &PI,
+ int K,
+ int S0,int SK,
int D,
const std::vector<float> &TABLE,
- int K,
- int S0,int SK,
trellis_metric_type_t TYPE,
- const float *in, unsigned char *out,
- std::vector<int> &trace)
+ const float *in, unsigned char *out)//,
+ //std::vector<int> &trace)
{
+ std::vector<int> trace(S*K);
std::vector<float> alpha(S*2);
float *metric = new float[O];
int alphai;
@@ -173,7 +174,7 @@
const float *in = (const float *) input_items[m];
unsigned char *out = (unsigned char *) output_items[m];
for (int n=0;n<nblocks;n++) {
-
viterbi_algorithm_combined(d_FSM.I(),d_FSM.S(),d_FSM.O(),d_FSM.NS(),d_FSM.OS(),d_FSM.PS(),d_FSM.PI(),d_D,d_TABLE,d_K,d_S0,d_SK,d_TYPE,&(in[n*d_K*d_D]),&(out[n*d_K]),d_trace);
+
viterbi_algorithm_combined(d_FSM.I(),d_FSM.S(),d_FSM.O(),d_FSM.NS(),d_FSM.OS(),d_FSM.PS(),d_FSM.PI(),d_K,d_S0,d_SK,d_D,d_TABLE,d_TYPE,&(in[n*d_K*d_D]),&(out[n*d_K]));//,d_trace);
}
}
Modified: gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_combined_b.h
===================================================================
--- gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_combined_b.h
2006-08-23 02:38:53 UTC (rev 3381)
+++ gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_combined_b.h
2006-08-23 05:18:04 UTC (rev 3382)
@@ -34,52 +34,52 @@
trellis_viterbi_combined_b_sptr trellis_make_viterbi_combined_b (
const fsm &FSM,
- int D,
- const std::vector<float> &TABLE,
int K,
int S0,
int SK,
+ int D,
+ const std::vector<float> &TABLE,
trellis_metric_type_t TYPE);
class trellis_viterbi_combined_b : public gr_block
{
fsm d_FSM;
- int d_D;
- std::vector<float> d_TABLE;
int d_K;
int d_S0;
int d_SK;
+ int d_D;
+ std::vector<float> d_TABLE;
trellis_metric_type_t d_TYPE;
- std::vector<int> d_trace;
+ //std::vector<int> d_trace;
friend trellis_viterbi_combined_b_sptr trellis_make_viterbi_combined_b (
const fsm &FSM,
- int D,
- const std::vector<float> &TABLE,
int K,
int S0,
int SK,
+ int D,
+ const std::vector<float> &TABLE,
trellis_metric_type_t TYPE);
trellis_viterbi_combined_b (
const fsm &FSM,
- int D,
- const std::vector<float> &TABLE,
int K,
int S0,
int SK,
+ int D,
+ const std::vector<float> &TABLE,
trellis_metric_type_t TYPE);
public:
fsm FSM () const { return d_FSM; }
- int D () const { return d_D; }
- std::vector<float> TABLE () const { return d_TABLE; }
int K () const { return d_K; }
int S0 () const { return d_S0; }
int SK () const { return d_SK; }
+ int D () const { return d_D; }
+ std::vector<float> TABLE () const { return d_TABLE; }
trellis_metric_type_t TYPE () const { return d_TYPE; }
//std::vector<int> trace () const { return d_trace; }
void forecast (int noutput_items,
Modified: gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_combined_b.i
===================================================================
--- gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_combined_b.i
2006-08-23 02:38:53 UTC (rev 3381)
+++ gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_combined_b.i
2006-08-23 05:18:04 UTC (rev 3382)
@@ -26,11 +26,11 @@
trellis_viterbi_combined_b_sptr trellis_make_viterbi_combined_b (
const fsm &FSM,
- int D,
- const std::vector<float> &TABLE,
int K,
int S0,
int SK,
+ int D,
+ const std::vector<float> &TABLE,
trellis_metric_type_t TYPE);
@@ -39,20 +39,20 @@
private:
trellis_viterbi_combined_b (
const fsm &FSM,
- int D,
- const std::vector<float> &TABLE,
int K,
int S0,
int SK,
+ int D,
+ const std::vector<float> &TABLE,
trellis_metric_type_t TYPE);
public:
fsm FSM () const { return d_FSM; }
- int D () const { return d_D; }
- std::vector<float> TABLE () const { return d_TABLE; }
int K () const { return d_K; }
int S0 () const { return d_S0; }
int SK () const { return d_SK; }
+ int D () const { return d_D; }
+ std::vector<float> TABLE () const { return d_TABLE; }
trellis_metric_type_t TYPE () const { return d_TYPE; }
//std::vector<short> trace () const { return d_trace; }
};
Modified: gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_combined_i.cc
===================================================================
--- gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_combined_i.cc
2006-08-23 02:38:53 UTC (rev 3381)
+++ gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_combined_i.cc
2006-08-23 05:18:04 UTC (rev 3382)
@@ -34,35 +34,35 @@
trellis_viterbi_combined_i_sptr
trellis_make_viterbi_combined_i (
const fsm &FSM,
- int D,
- const std::vector<float> &TABLE,
int K,
int S0,
int SK,
+ int D,
+ const std::vector<float> &TABLE,
trellis_metric_type_t TYPE)
{
- return trellis_viterbi_combined_i_sptr (new trellis_viterbi_combined_i
(FSM,D,TABLE,K,S0,SK,TYPE));
+ return trellis_viterbi_combined_i_sptr (new trellis_viterbi_combined_i
(FSM,K,S0,SK,D,TABLE,TYPE));
}
trellis_viterbi_combined_i::trellis_viterbi_combined_i (
const fsm &FSM,
- int D,
- const std::vector<float> &TABLE,
int K,
int S0,
int SK,
+ int D,
+ const std::vector<float> &TABLE,
trellis_metric_type_t TYPE)
: gr_block ("viterbi_combined_i",
gr_make_io_signature (1, -1, sizeof (float)),
gr_make_io_signature (1, -1, sizeof (int))),
d_FSM (FSM),
- d_D (D),
- d_TABLE (TABLE),
d_K (K),
d_S0 (S0),
d_SK (SK),
- d_TYPE (TYPE),
- d_trace(FSM.S()*K)
+ d_D (D),
+ d_TABLE (TABLE),
+ d_TYPE (TYPE)//,
+ //d_trace(FSM.S()*K)
{
set_relative_rate (1.0 / ((double) d_D));
set_output_multiple (d_K);
@@ -88,14 +88,15 @@
const std::vector<int> &OS,
const std::vector<int> &PS,
const std::vector<int> &PI,
+ int K,
+ int S0,int SK,
int D,
const std::vector<float> &TABLE,
- int K,
- int S0,int SK,
trellis_metric_type_t TYPE,
- const float *in, int *out,
- std::vector<int> &trace)
+ const float *in, int *out)//,
+ //std::vector<int> &trace)
{
+ std::vector<int> trace(S*K);
std::vector<float> alpha(S*2);
float *metric = new float[O];
int alphai;
@@ -173,7 +174,7 @@
const float *in = (const float *) input_items[m];
int *out = (int *) output_items[m];
for (int n=0;n<nblocks;n++) {
-
viterbi_algorithm_combined(d_FSM.I(),d_FSM.S(),d_FSM.O(),d_FSM.NS(),d_FSM.OS(),d_FSM.PS(),d_FSM.PI(),d_D,d_TABLE,d_K,d_S0,d_SK,d_TYPE,&(in[n*d_K*d_D]),&(out[n*d_K]),d_trace);
+
viterbi_algorithm_combined(d_FSM.I(),d_FSM.S(),d_FSM.O(),d_FSM.NS(),d_FSM.OS(),d_FSM.PS(),d_FSM.PI(),d_K,d_S0,d_SK,d_D,d_TABLE,d_TYPE,&(in[n*d_K*d_D]),&(out[n*d_K]));//,d_trace);
}
}
Modified: gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_combined_i.h
===================================================================
--- gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_combined_i.h
2006-08-23 02:38:53 UTC (rev 3381)
+++ gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_combined_i.h
2006-08-23 05:18:04 UTC (rev 3382)
@@ -34,52 +34,52 @@
trellis_viterbi_combined_i_sptr trellis_make_viterbi_combined_i (
const fsm &FSM,
- int D,
- const std::vector<float> &TABLE,
int K,
int S0,
int SK,
+ int D,
+ const std::vector<float> &TABLE,
trellis_metric_type_t TYPE);
class trellis_viterbi_combined_i : public gr_block
{
fsm d_FSM;
- int d_D;
- std::vector<float> d_TABLE;
int d_K;
int d_S0;
int d_SK;
+ int d_D;
+ std::vector<float> d_TABLE;
trellis_metric_type_t d_TYPE;
- std::vector<int> d_trace;
+ //std::vector<int> d_trace;
friend trellis_viterbi_combined_i_sptr trellis_make_viterbi_combined_i (
const fsm &FSM,
- int D,
- const std::vector<float> &TABLE,
int K,
int S0,
int SK,
+ int D,
+ const std::vector<float> &TABLE,
trellis_metric_type_t TYPE);
trellis_viterbi_combined_i (
const fsm &FSM,
- int D,
- const std::vector<float> &TABLE,
int K,
int S0,
int SK,
+ int D,
+ const std::vector<float> &TABLE,
trellis_metric_type_t TYPE);
public:
fsm FSM () const { return d_FSM; }
- int D () const { return d_D; }
- std::vector<float> TABLE () const { return d_TABLE; }
int K () const { return d_K; }
int S0 () const { return d_S0; }
int SK () const { return d_SK; }
+ int D () const { return d_D; }
+ std::vector<float> TABLE () const { return d_TABLE; }
trellis_metric_type_t TYPE () const { return d_TYPE; }
//std::vector<int> trace () const { return d_trace; }
void forecast (int noutput_items,
Modified: gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_combined_i.i
===================================================================
--- gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_combined_i.i
2006-08-23 02:38:53 UTC (rev 3381)
+++ gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_combined_i.i
2006-08-23 05:18:04 UTC (rev 3382)
@@ -26,11 +26,11 @@
trellis_viterbi_combined_i_sptr trellis_make_viterbi_combined_i (
const fsm &FSM,
- int D,
- const std::vector<float> &TABLE,
int K,
int S0,
int SK,
+ int D,
+ const std::vector<float> &TABLE,
trellis_metric_type_t TYPE);
@@ -39,20 +39,20 @@
private:
trellis_viterbi_combined_i (
const fsm &FSM,
- int D,
- const std::vector<float> &TABLE,
int K,
int S0,
int SK,
+ int D,
+ const std::vector<float> &TABLE,
trellis_metric_type_t TYPE);
public:
fsm FSM () const { return d_FSM; }
- int D () const { return d_D; }
- std::vector<float> TABLE () const { return d_TABLE; }
int K () const { return d_K; }
int S0 () const { return d_S0; }
int SK () const { return d_SK; }
+ int D () const { return d_D; }
+ std::vector<float> TABLE () const { return d_TABLE; }
trellis_metric_type_t TYPE () const { return d_TYPE; }
//std::vector<short> trace () const { return d_trace; }
};
Modified: gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_combined_s.cc
===================================================================
--- gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_combined_s.cc
2006-08-23 02:38:53 UTC (rev 3381)
+++ gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_combined_s.cc
2006-08-23 05:18:04 UTC (rev 3382)
@@ -34,35 +34,35 @@
trellis_viterbi_combined_s_sptr
trellis_make_viterbi_combined_s (
const fsm &FSM,
- int D,
- const std::vector<float> &TABLE,
int K,
int S0,
int SK,
+ int D,
+ const std::vector<float> &TABLE,
trellis_metric_type_t TYPE)
{
- return trellis_viterbi_combined_s_sptr (new trellis_viterbi_combined_s
(FSM,D,TABLE,K,S0,SK,TYPE));
+ return trellis_viterbi_combined_s_sptr (new trellis_viterbi_combined_s
(FSM,K,S0,SK,D,TABLE,TYPE));
}
trellis_viterbi_combined_s::trellis_viterbi_combined_s (
const fsm &FSM,
- int D,
- const std::vector<float> &TABLE,
int K,
int S0,
int SK,
+ int D,
+ const std::vector<float> &TABLE,
trellis_metric_type_t TYPE)
: gr_block ("viterbi_combined_s",
gr_make_io_signature (1, -1, sizeof (float)),
gr_make_io_signature (1, -1, sizeof (short))),
d_FSM (FSM),
- d_D (D),
- d_TABLE (TABLE),
d_K (K),
d_S0 (S0),
d_SK (SK),
- d_TYPE (TYPE),
- d_trace(FSM.S()*K)
+ d_D (D),
+ d_TABLE (TABLE),
+ d_TYPE (TYPE)//,
+ //d_trace(FSM.S()*K)
{
set_relative_rate (1.0 / ((double) d_D));
set_output_multiple (d_K);
@@ -88,14 +88,15 @@
const std::vector<int> &OS,
const std::vector<int> &PS,
const std::vector<int> &PI,
+ int K,
+ int S0,int SK,
int D,
const std::vector<float> &TABLE,
- int K,
- int S0,int SK,
trellis_metric_type_t TYPE,
- const float *in, short *out,
- std::vector<int> &trace)
+ const float *in, short *out)//,
+ //std::vector<int> &trace)
{
+ std::vector<int> trace(S*K);
std::vector<float> alpha(S*2);
float *metric = new float[O];
int alphai;
@@ -173,7 +174,7 @@
const float *in = (const float *) input_items[m];
short *out = (short *) output_items[m];
for (int n=0;n<nblocks;n++) {
-
viterbi_algorithm_combined(d_FSM.I(),d_FSM.S(),d_FSM.O(),d_FSM.NS(),d_FSM.OS(),d_FSM.PS(),d_FSM.PI(),d_D,d_TABLE,d_K,d_S0,d_SK,d_TYPE,&(in[n*d_K*d_D]),&(out[n*d_K]),d_trace);
+
viterbi_algorithm_combined(d_FSM.I(),d_FSM.S(),d_FSM.O(),d_FSM.NS(),d_FSM.OS(),d_FSM.PS(),d_FSM.PI(),d_K,d_S0,d_SK,d_D,d_TABLE,d_TYPE,&(in[n*d_K*d_D]),&(out[n*d_K]));//,d_trace);
}
}
Modified: gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_combined_s.h
===================================================================
--- gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_combined_s.h
2006-08-23 02:38:53 UTC (rev 3381)
+++ gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_combined_s.h
2006-08-23 05:18:04 UTC (rev 3382)
@@ -34,52 +34,52 @@
trellis_viterbi_combined_s_sptr trellis_make_viterbi_combined_s (
const fsm &FSM,
- int D,
- const std::vector<float> &TABLE,
int K,
int S0,
int SK,
+ int D,
+ const std::vector<float> &TABLE,
trellis_metric_type_t TYPE);
class trellis_viterbi_combined_s : public gr_block
{
fsm d_FSM;
- int d_D;
- std::vector<float> d_TABLE;
int d_K;
int d_S0;
int d_SK;
+ int d_D;
+ std::vector<float> d_TABLE;
trellis_metric_type_t d_TYPE;
- std::vector<int> d_trace;
+ //std::vector<int> d_trace;
friend trellis_viterbi_combined_s_sptr trellis_make_viterbi_combined_s (
const fsm &FSM,
- int D,
- const std::vector<float> &TABLE,
int K,
int S0,
int SK,
+ int D,
+ const std::vector<float> &TABLE,
trellis_metric_type_t TYPE);
trellis_viterbi_combined_s (
const fsm &FSM,
- int D,
- const std::vector<float> &TABLE,
int K,
int S0,
int SK,
+ int D,
+ const std::vector<float> &TABLE,
trellis_metric_type_t TYPE);
public:
fsm FSM () const { return d_FSM; }
- int D () const { return d_D; }
- std::vector<float> TABLE () const { return d_TABLE; }
int K () const { return d_K; }
int S0 () const { return d_S0; }
int SK () const { return d_SK; }
+ int D () const { return d_D; }
+ std::vector<float> TABLE () const { return d_TABLE; }
trellis_metric_type_t TYPE () const { return d_TYPE; }
//std::vector<int> trace () const { return d_trace; }
void forecast (int noutput_items,
Modified: gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_combined_s.i
===================================================================
--- gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_combined_s.i
2006-08-23 02:38:53 UTC (rev 3381)
+++ gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_combined_s.i
2006-08-23 05:18:04 UTC (rev 3382)
@@ -26,11 +26,11 @@
trellis_viterbi_combined_s_sptr trellis_make_viterbi_combined_s (
const fsm &FSM,
- int D,
- const std::vector<float> &TABLE,
int K,
int S0,
int SK,
+ int D,
+ const std::vector<float> &TABLE,
trellis_metric_type_t TYPE);
@@ -39,20 +39,20 @@
private:
trellis_viterbi_combined_s (
const fsm &FSM,
- int D,
- const std::vector<float> &TABLE,
int K,
int S0,
int SK,
+ int D,
+ const std::vector<float> &TABLE,
trellis_metric_type_t TYPE);
public:
fsm FSM () const { return d_FSM; }
- int D () const { return d_D; }
- std::vector<float> TABLE () const { return d_TABLE; }
int K () const { return d_K; }
int S0 () const { return d_S0; }
int SK () const { return d_SK; }
+ int D () const { return d_D; }
+ std::vector<float> TABLE () const { return d_TABLE; }
trellis_metric_type_t TYPE () const { return d_TYPE; }
//std::vector<short> trace () const { return d_trace; }
};
Modified: gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_i.cc
===================================================================
--- gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_i.cc 2006-08-23
02:38:53 UTC (rev 3381)
+++ gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_i.cc 2006-08-23
05:18:04 UTC (rev 3382)
@@ -52,8 +52,8 @@
d_FSM (FSM),
d_K (K),
d_S0 (S0),
- d_SK (SK),
- d_trace(FSM.S()*K)
+ d_SK (SK)//,
+ //d_trace(FSM.S()*K)
{
set_relative_rate (1.0 / ((double) d_FSM.O()));
set_output_multiple (d_K);
@@ -81,9 +81,10 @@
const std::vector<int> &PI,
int K,
int S0,int SK,
- const float *in, int *out,
- std::vector<int> &trace)
+ const float *in, int *out)//,
+ //std::vector<int> &trace)
{
+ std::vector<int> trace(S*K);
std::vector<float> alpha(S*2);
int alphai;
float norm,mm,minm;
@@ -158,7 +159,7 @@
const float *in = (const float *) input_items[m];
int *out = (int *) output_items[m];
for (int n=0;n<nblocks;n++) {
-
viterbi_algorithm(d_FSM.I(),d_FSM.S(),d_FSM.O(),d_FSM.NS(),d_FSM.OS(),d_FSM.PS(),d_FSM.PI(),d_K,d_S0,d_SK,&(in[n*d_K*d_FSM.O()]),&(out[n*d_K]),d_trace);
+
viterbi_algorithm(d_FSM.I(),d_FSM.S(),d_FSM.O(),d_FSM.NS(),d_FSM.OS(),d_FSM.PS(),d_FSM.PI(),d_K,d_S0,d_SK,&(in[n*d_K*d_FSM.O()]),&(out[n*d_K]));//,d_trace);
}
}
Modified: gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_i.h
===================================================================
--- gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_i.h 2006-08-23
02:38:53 UTC (rev 3381)
+++ gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_i.h 2006-08-23
05:18:04 UTC (rev 3382)
@@ -45,7 +45,7 @@
int d_K;
int d_S0;
int d_SK;
- std::vector<int> d_trace;
+ //std::vector<int> d_trace;
friend trellis_viterbi_i_sptr trellis_make_viterbi_i (
const fsm &FSM,
Modified: gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_s.cc
===================================================================
--- gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_s.cc 2006-08-23
02:38:53 UTC (rev 3381)
+++ gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_s.cc 2006-08-23
05:18:04 UTC (rev 3382)
@@ -52,8 +52,8 @@
d_FSM (FSM),
d_K (K),
d_S0 (S0),
- d_SK (SK),
- d_trace(FSM.S()*K)
+ d_SK (SK)//,
+ //d_trace(FSM.S()*K)
{
set_relative_rate (1.0 / ((double) d_FSM.O()));
set_output_multiple (d_K);
@@ -81,9 +81,10 @@
const std::vector<int> &PI,
int K,
int S0,int SK,
- const float *in, short *out,
- std::vector<int> &trace)
+ const float *in, short *out)//,
+ //std::vector<int> &trace)
{
+ std::vector<int> trace(S*K);
std::vector<float> alpha(S*2);
int alphai;
float norm,mm,minm;
@@ -158,7 +159,7 @@
const float *in = (const float *) input_items[m];
short *out = (short *) output_items[m];
for (int n=0;n<nblocks;n++) {
-
viterbi_algorithm(d_FSM.I(),d_FSM.S(),d_FSM.O(),d_FSM.NS(),d_FSM.OS(),d_FSM.PS(),d_FSM.PI(),d_K,d_S0,d_SK,&(in[n*d_K*d_FSM.O()]),&(out[n*d_K]),d_trace);
+
viterbi_algorithm(d_FSM.I(),d_FSM.S(),d_FSM.O(),d_FSM.NS(),d_FSM.OS(),d_FSM.PS(),d_FSM.PI(),d_K,d_S0,d_SK,&(in[n*d_K*d_FSM.O()]),&(out[n*d_K]));//,d_trace);
}
}
Modified: gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_s.h
===================================================================
--- gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_s.h 2006-08-23
02:38:53 UTC (rev 3381)
+++ gnuradio/trunk/gr-trellis/src/lib/trellis_viterbi_s.h 2006-08-23
05:18:04 UTC (rev 3382)
@@ -45,7 +45,7 @@
int d_K;
int d_S0;
int d_SK;
- std::vector<int> d_trace;
+ //std::vector<int> d_trace;
friend trellis_viterbi_s_sptr trellis_make_viterbi_s (
const fsm &FSM,
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Commit-gnuradio] r3382 - gnuradio/trunk/gr-trellis/src/lib,
anastas <=