summaryrefslogtreecommitdiff
path: root/gnuradio-core/src/lib
diff options
context:
space:
mode:
authorTom Rondeau2011-12-30 13:49:14 -0500
committerTom Rondeau2011-12-30 13:49:14 -0500
commitdd84c8dfcb30617dbac56f49a57c1e363afe643b (patch)
treee6e4e71634dc4dc3f5e85ab5ff2c92e7ada8fa78 /gnuradio-core/src/lib
parent0cdc6e67f575f6c86ad12734f87cf83aed72b102 (diff)
parent9838bb040af5eb21cd88dbc9aae8d4bdf2838854 (diff)
downloadgnuradio-dd84c8dfcb30617dbac56f49a57c1e363afe643b.tar.gz
gnuradio-dd84c8dfcb30617dbac56f49a57c1e363afe643b.tar.bz2
gnuradio-dd84c8dfcb30617dbac56f49a57c1e363afe643b.zip
Merge branch 'master' into next
Conflicts: gr-digital/examples/Makefile.am gr-digital/include/Makefile.am gr-digital/lib/Makefile.am gr-digital/python/Makefile.am gr-digital/swig/Makefile.am
Diffstat (limited to 'gnuradio-core/src/lib')
-rw-r--r--gnuradio-core/src/lib/filter/gr_fft_filter_ccc.cc7
-rw-r--r--gnuradio-core/src/lib/filter/gr_fft_filter_ccc.h1
-rw-r--r--gnuradio-core/src/lib/filter/gr_fft_filter_ccc.i1
-rw-r--r--gnuradio-core/src/lib/filter/gr_fft_filter_fff.cc8
-rw-r--r--gnuradio-core/src/lib/filter/gr_fft_filter_fff.h1
-rw-r--r--gnuradio-core/src/lib/filter/gr_fft_filter_fff.i1
-rw-r--r--gnuradio-core/src/lib/filter/gr_fir_filter_XXX.cc.t6
-rw-r--r--gnuradio-core/src/lib/filter/gr_fir_filter_XXX.h.t1
-rw-r--r--gnuradio-core/src/lib/filter/gr_fir_filter_XXX.i.t1
-rw-r--r--gnuradio-core/src/lib/gengen/gr_noise_source_X.h.t3
-rw-r--r--gnuradio-core/src/lib/gengen/gr_noise_source_X.i.t3
-rw-r--r--gnuradio-core/src/lib/hier/gr_channel_model.cc25
-rw-r--r--gnuradio-core/src/lib/hier/gr_channel_model.h5
-rw-r--r--gnuradio-core/src/lib/hier/gr_channel_model.i5
14 files changed, 67 insertions, 1 deletions
diff --git a/gnuradio-core/src/lib/filter/gr_fft_filter_ccc.cc b/gnuradio-core/src/lib/filter/gr_fft_filter_ccc.cc
index 02bfaf105..9fa98cc69 100644
--- a/gnuradio-core/src/lib/filter/gr_fft_filter_ccc.cc
+++ b/gnuradio-core/src/lib/filter/gr_fft_filter_ccc.cc
@@ -62,6 +62,7 @@ gr_fft_filter_ccc::gr_fft_filter_ccc (int decimation, const std::vector<gr_compl
#else
d_filter = new gri_fft_filter_ccc_sse(decimation, taps);
#endif
+ d_new_taps = taps;
d_nsamples = d_filter->set_taps(taps);
set_output_multiple(d_nsamples);
}
@@ -78,6 +79,12 @@ gr_fft_filter_ccc::set_taps (const std::vector<gr_complex> &taps)
d_updated = true;
}
+std::vector<gr_complex>
+gr_fft_filter_ccc::taps () const
+{
+ return d_new_taps;
+}
+
int
gr_fft_filter_ccc::work (int noutput_items,
gr_vector_const_void_star &input_items,
diff --git a/gnuradio-core/src/lib/filter/gr_fft_filter_ccc.h b/gnuradio-core/src/lib/filter/gr_fft_filter_ccc.h
index 721a44a83..1b72a1c00 100644
--- a/gnuradio-core/src/lib/filter/gr_fft_filter_ccc.h
+++ b/gnuradio-core/src/lib/filter/gr_fft_filter_ccc.h
@@ -62,6 +62,7 @@ class GR_CORE_API gr_fft_filter_ccc : public gr_sync_decimator
~gr_fft_filter_ccc ();
void set_taps (const std::vector<gr_complex> &taps);
+ std::vector<gr_complex> taps () const;
int work (int noutput_items,
gr_vector_const_void_star &input_items,
diff --git a/gnuradio-core/src/lib/filter/gr_fft_filter_ccc.i b/gnuradio-core/src/lib/filter/gr_fft_filter_ccc.i
index aa7564f54..812920d8b 100644
--- a/gnuradio-core/src/lib/filter/gr_fft_filter_ccc.i
+++ b/gnuradio-core/src/lib/filter/gr_fft_filter_ccc.i
@@ -36,4 +36,5 @@ class gr_fft_filter_ccc : public gr_sync_decimator
~gr_fft_filter_ccc ();
void set_taps (const std::vector<gr_complex> &taps);
+ std::vector<gr_complex> taps () const;
};
diff --git a/gnuradio-core/src/lib/filter/gr_fft_filter_fff.cc b/gnuradio-core/src/lib/filter/gr_fft_filter_fff.cc
index e5b218f20..c0a9b3483 100644
--- a/gnuradio-core/src/lib/filter/gr_fft_filter_fff.cc
+++ b/gnuradio-core/src/lib/filter/gr_fft_filter_fff.cc
@@ -55,7 +55,7 @@ gr_fft_filter_fff::gr_fft_filter_fff (int decimation, const std::vector<float> &
#else
d_filter = new gri_fft_filter_fff_sse(decimation, taps);
#endif
-
+ d_new_taps = taps;
d_nsamples = d_filter->set_taps(taps);
set_output_multiple(d_nsamples);
}
@@ -72,6 +72,12 @@ gr_fft_filter_fff::set_taps (const std::vector<float> &taps)
d_updated = true;
}
+std::vector<float>
+gr_fft_filter_fff::taps () const
+{
+ return d_new_taps;
+}
+
int
gr_fft_filter_fff::work (int noutput_items,
gr_vector_const_void_star &input_items,
diff --git a/gnuradio-core/src/lib/filter/gr_fft_filter_fff.h b/gnuradio-core/src/lib/filter/gr_fft_filter_fff.h
index b0dc74883..ddd8dcac2 100644
--- a/gnuradio-core/src/lib/filter/gr_fft_filter_fff.h
+++ b/gnuradio-core/src/lib/filter/gr_fft_filter_fff.h
@@ -62,6 +62,7 @@ class GR_CORE_API gr_fft_filter_fff : public gr_sync_decimator
~gr_fft_filter_fff ();
void set_taps (const std::vector<float> &taps);
+ std::vector<float> taps () const;
int work (int noutput_items,
gr_vector_const_void_star &input_items,
diff --git a/gnuradio-core/src/lib/filter/gr_fft_filter_fff.i b/gnuradio-core/src/lib/filter/gr_fft_filter_fff.i
index bbe84f99f..7e2cde977 100644
--- a/gnuradio-core/src/lib/filter/gr_fft_filter_fff.i
+++ b/gnuradio-core/src/lib/filter/gr_fft_filter_fff.i
@@ -36,4 +36,5 @@ class gr_fft_filter_fff : public gr_sync_decimator
~gr_fft_filter_fff ();
void set_taps (const std::vector<float> &taps);
+ std::vector<float> taps () const;
};
diff --git a/gnuradio-core/src/lib/filter/gr_fir_filter_XXX.cc.t b/gnuradio-core/src/lib/filter/gr_fir_filter_XXX.cc.t
index 29e351925..f7458e743 100644
--- a/gnuradio-core/src/lib/filter/gr_fir_filter_XXX.cc.t
+++ b/gnuradio-core/src/lib/filter/gr_fir_filter_XXX.cc.t
@@ -63,6 +63,12 @@ void
d_updated = true;
}
+std::vector<@TAP_TYPE@>
+@NAME@::taps () const
+{
+ return d_new_taps;
+}
+
int
@NAME@::work (int noutput_items,
gr_vector_const_void_star &input_items,
diff --git a/gnuradio-core/src/lib/filter/gr_fir_filter_XXX.h.t b/gnuradio-core/src/lib/filter/gr_fir_filter_XXX.h.t
index db0625504..f638e7bb5 100644
--- a/gnuradio-core/src/lib/filter/gr_fir_filter_XXX.h.t
+++ b/gnuradio-core/src/lib/filter/gr_fir_filter_XXX.h.t
@@ -59,6 +59,7 @@ class GR_CORE_API @NAME@ : public gr_sync_decimator
~@NAME@ ();
void set_taps (const std::vector<@TAP_TYPE@> &taps);
+ std::vector<@TAP_TYPE@> taps () const;
int work (int noutput_items,
gr_vector_const_void_star &input_items,
diff --git a/gnuradio-core/src/lib/filter/gr_fir_filter_XXX.i.t b/gnuradio-core/src/lib/filter/gr_fir_filter_XXX.i.t
index 0cbe8cbcc..fb4ff95af 100644
--- a/gnuradio-core/src/lib/filter/gr_fir_filter_XXX.i.t
+++ b/gnuradio-core/src/lib/filter/gr_fir_filter_XXX.i.t
@@ -38,4 +38,5 @@ class @NAME@ : public gr_sync_decimator
~@NAME@ ();
void set_taps (const std::vector<@TAP_TYPE@> &taps);
+ std::vector<@TAP_TYPE@> taps () const;
};
diff --git a/gnuradio-core/src/lib/gengen/gr_noise_source_X.h.t b/gnuradio-core/src/lib/gengen/gr_noise_source_X.h.t
index 9dd92c8f5..ab5992257 100644
--- a/gnuradio-core/src/lib/gengen/gr_noise_source_X.h.t
+++ b/gnuradio-core/src/lib/gengen/gr_noise_source_X.h.t
@@ -55,6 +55,9 @@ class GR_CORE_API @NAME@ : public gr_sync_block {
void set_type (gr_noise_type_t type) { d_type = type; }
void set_amplitude (float ampl) { d_ampl = ampl; }
+ gr_noise_type_t type () const { return d_type; }
+ float amplitude () const { return d_ampl; }
+
virtual int work (int noutput_items,
gr_vector_const_void_star &input_items,
gr_vector_void_star &output_items);
diff --git a/gnuradio-core/src/lib/gengen/gr_noise_source_X.i.t b/gnuradio-core/src/lib/gengen/gr_noise_source_X.i.t
index 27261502d..179dc0343 100644
--- a/gnuradio-core/src/lib/gengen/gr_noise_source_X.i.t
+++ b/gnuradio-core/src/lib/gengen/gr_noise_source_X.i.t
@@ -34,4 +34,7 @@ class @NAME@ : public gr_block {
public:
void set_type (gr_noise_type_t type) { d_type = type; }
void set_amplitude (float ampl) { d_ampl = ampl; }
+
+ gr_noise_type_t type () const { return d_type; }
+ float amplitude () const { return d_ampl; }
};
diff --git a/gnuradio-core/src/lib/hier/gr_channel_model.cc b/gnuradio-core/src/lib/hier/gr_channel_model.cc
index fb57e808a..5f190e972 100644
--- a/gnuradio-core/src/lib/hier/gr_channel_model.cc
+++ b/gnuradio-core/src/lib/hier/gr_channel_model.cc
@@ -99,3 +99,28 @@ gr_channel_model::set_timing_offset(double epsilon)
{
d_timing_offset->set_interp_ratio(epsilon);
}
+
+
+double
+gr_channel_model::noise_voltage() const
+{
+ return d_noise->amplitude();
+}
+
+double
+gr_channel_model::frequency_offset() const
+{
+ return d_freq_offset->frequency();
+}
+
+std::vector<gr_complex>
+gr_channel_model::taps() const
+{
+ return d_multipath->taps();
+}
+
+double
+gr_channel_model::timing_offset() const
+{
+ return d_timing_offset->interp_ratio();
+}
diff --git a/gnuradio-core/src/lib/hier/gr_channel_model.h b/gnuradio-core/src/lib/hier/gr_channel_model.h
index 07c0c76b6..c5d06ce11 100644
--- a/gnuradio-core/src/lib/hier/gr_channel_model.h
+++ b/gnuradio-core/src/lib/hier/gr_channel_model.h
@@ -71,4 +71,9 @@ class GR_CORE_API gr_channel_model : public gr_hier_block2
void set_frequency_offset(double frequency_offset);
void set_taps(const std::vector<gr_complex> &taps);
void set_timing_offset(double epsilon);
+
+ double noise_voltage() const;
+ double frequency_offset() const;
+ std::vector<gr_complex> taps() const;
+ double timing_offset() const;
};
diff --git a/gnuradio-core/src/lib/hier/gr_channel_model.i b/gnuradio-core/src/lib/hier/gr_channel_model.i
index ff9ab466d..2e0cb7bdf 100644
--- a/gnuradio-core/src/lib/hier/gr_channel_model.i
+++ b/gnuradio-core/src/lib/hier/gr_channel_model.i
@@ -42,4 +42,9 @@ class gr_channel_model : public gr_hier_block2
void set_frequency_offset(double frequency_offset);
void set_taps(const std::vector<gr_complex> &taps);
void set_timing_offset(double epsilon);
+
+ double noise_voltage() const;
+ double frequency_offset() const;
+ std::vector<gr_complex> taps() const;
+ double timing_offset() const;
};