Thursday, October 11, 2012

Adaptive Filtering with GNURADIO & USRP : Part-3

There are following files in gnuradio which can help me for adaptive filtering :


In the downloads folder there are following :

/Downloads/gnuradio/build/gr-filter/python/qa_adaptive_fir_filter_test.sh

/Downloads/gnuradio/gnuradio-core/src/lib/filter/gr_adaptive_fir_ccc.cc
/Downloads/gnuradio/gnuradio-core/src/lib/filter/gr_adaptive_fir_ccc.h
/Downloads/gnuradio/gnuradio-core/src/lib/filter/gr_adaptive_fir_ccc.i
/Downloads/gnuradio/gnuradio-core/src/lib/filter/gr_adaptive_fir_ccf.cc
/Downloads/gnuradio/gnuradio-core/src/lib/filter/gr_adaptive_fir_ccf.h
/Downloads/gnuradio/gnuradio-core/src/lib/filter/gr_adaptive_fir_ccf.i
/Downloads/gnuradio/gr-filter/include/filter/adaptive_fir_ccc.h
/Downloads/gnuradio/gr-filter/include/filter/adaptive_fir_ccf.h
/Downloads/gnuradio/gr-filter/lib/adaptive_fir_ccc_impl.cc
/Downloads/gnuradio/gr-filter/lib/adaptive_fir_ccc_impl.h
/Downloads/gnuradio/gr-filter/lib/adaptive_fir_ccf_impl.cc
/Downloads/gnuradio/gr-filter/lib/adaptive_fir_ccf_impl.h
/Downloads/gnuradio/gr-filter/python/qa_adaptive_fir_filter.py

In the installation folder there are following :


/usr/local/include/gnuradio/gr_adaptive_fir_ccc.h
/usr/local/include/gnuradio/gr_adaptive_fir_ccf.h
/usr/local/include/gnuradio/filter/adaptive_fir_ccc.h
/usr/local/include/gnuradio/filter/adaptive_fir_ccf.h

I asked in the gnuradio community regarding these two versions of the adaptive_fir_filter classes i.e.  gr_adaptive_fir_ccc.cc & adaptive_fir_ccc.cc.

I got the reply as :

In many cases where we have functionality that we might want to use
other than as a GNU Radio block, we create an implementation class,
which we then create a gr_ class that wraps around this to bring the
implementation into an actual gr_block. So in this case, both are
valid, but one is a gr_block the other is the algorithm used inside of
the gr_block.

Tom 


http://gnuradio.4.n7.nabble.com/Reg-gr-adaptive-fir-ccc-amp-adaptive-fir-ccc-impl-tt37943.html

This means that gr_adaptive_fir_ccc makes the adaptive filter block while adaptive_fir_ccf_impl contains the implementational details of the same.


Lets look into them one by one :


Starting from  gr_adaptive_fir_ccc.cc in /Downloads/gnuradio/gnuradio-core/src/lib/filter/  and its header gr_adaptive_fir_ccc.h in /usr/local/include/gnuradio/


Dependency graph for gr_adaptive_fir_ccc.h can be found at http://gnuradio.org/doc/doxygen/gr__adaptive__fir__ccc_8h.html

Dependency graph tells us what headers they include in a hierarchical manner.

Inside the header a class named "gr_adaptive_fir_ccc" has been declared

The class reference can be found at http://gnuradio.org/doc/doxygen/classgr__adaptive__fir__ccc.html#details


So it seems that this class is used in three examples :

digital_cma_equalizer_cc

digital_kurtotic_equalizer_cc

digital_lms_dd_equalizer_cc











No comments:

Post a Comment