summaryrefslogtreecommitdiff
path: root/gr-digital/lib
diff options
context:
space:
mode:
authorTom Rondeau2011-04-07 10:53:05 -0400
committerTom Rondeau2011-04-07 10:53:05 -0400
commit6d080314a1e4619f96685f8c4514f4bc37a5c1e3 (patch)
tree41860eabc5d5eafdea1a5f2bc4bcc997ef30f6a3 /gr-digital/lib
parent9fc0750bbe5987efe36c571526e432f6ed6858bb (diff)
downloadgnuradio-6d080314a1e4619f96685f8c4514f4bc37a5c1e3.tar.gz
gnuradio-6d080314a1e4619f96685f8c4514f4bc37a5c1e3.tar.bz2
gnuradio-6d080314a1e4619f96685f8c4514f4bc37a5c1e3.zip
gr-digital: exposing accessors of CMA equalizer through swig and into GRC. Also added protection from exploding error calcs by clipping.
Diffstat (limited to 'gr-digital/lib')
-rw-r--r--gr-digital/lib/digital_cma_equalizer_cc.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/gr-digital/lib/digital_cma_equalizer_cc.h b/gr-digital/lib/digital_cma_equalizer_cc.h
index 45883eb03..54cba319c 100644
--- a/gr-digital/lib/digital_cma_equalizer_cc.h
+++ b/gr-digital/lib/digital_cma_equalizer_cc.h
@@ -24,6 +24,7 @@
#define INCLUDED_DIGITAL_CMA_EQUALIZER_CC_H
#include <gr_adaptive_fir_ccc.h>
+#include <gr_math.h>
#include <iostream>
class digital_cma_equalizer_cc;
@@ -58,7 +59,9 @@ protected:
virtual gr_complex error(const gr_complex &out)
{
gr_complex error = out*(norm(out) - d_modulus);
- return error;
+ float re = gr_clip(error.real(), 1.0);
+ float im = gr_clip(error.imag(), 1.0);
+ return gr_complex(re, im);
}
virtual void update_tap(gr_complex &tap, const gr_complex &in)