[hamradio-commits] [gnss-sdr] 06/60: Adding cshort to gr_complex conversion

Carles Fernandez carles_fernandez-guest at moszumanska.debian.org
Sun Mar 22 11:15:38 UTC 2015


This is an automated email from the git hooks/post-receive script.

carles_fernandez-guest pushed a commit to branch next
in repository gnss-sdr.

commit c9ee0c4eab11be2b9d0946dd4a039798d1417861
Author: Carles Fernandez <carles.fernandez at gmail.com>
Date:   Thu Feb 26 12:56:29 2015 +0100

    Adding cshort to gr_complex conversion
---
 src/algorithms/input_filter/adapters/fir_filter.cc | 56 +++++++++++++++++++++-
 1 file changed, 54 insertions(+), 2 deletions(-)

diff --git a/src/algorithms/input_filter/adapters/fir_filter.cc b/src/algorithms/input_filter/adapters/fir_filter.cc
index 91a6b7d..d949b60 100644
--- a/src/algorithms/input_filter/adapters/fir_filter.cc
+++ b/src/algorithms/input_filter/adapters/fir_filter.cc
@@ -76,6 +76,26 @@ FirFilter::FirFilter(ConfigurationInterface* configuration, std::string role,
                     file_sink_ = gr::blocks::file_sink::make(item_size, dump_filename_.c_str());
                 }
         }
+    else if ((taps_item_type_.compare("float") == 0) && (input_item_type_.compare("cshort") == 0)
+            && (output_item_type_.compare("gr_complex") == 0))
+        {
+            item_size = sizeof(gr_complex);
+            cshort_to_float_x2_ = make_cshort_to_float_x2();
+            fir_filter_fff_1_ = gr::filter::fir_filter_fff::make(1, taps_);
+            fir_filter_fff_2_ = gr::filter::fir_filter_fff::make(1, taps_);
+            DLOG(INFO) << "I input_filter(" << fir_filter_fff_1_->unique_id() << ")";
+            DLOG(INFO) << "Q input_filter(" << fir_filter_fff_2_->unique_id() << ")";
+            //float_to_short_1_ = gr::blocks::float_to_short::make();
+            //float_to_short_2_ = gr::blocks::float_to_short::make();
+            //short_x2_to_cshort_ = make_short_x2_to_cshort();
+            float_to_complex_ = gr::blocks::float_to_complex::make();
+            if (dump_)
+                {
+                    DLOG(INFO) << "Dumping output into file " << dump_filename_;
+                    file_sink_ = gr::blocks::file_sink::make(item_size, dump_filename_.c_str());
+                }
+        }
+
     else if ((taps_item_type_.compare("float") == 0) && (input_item_type_.compare("cbyte") == 0)
             && (output_item_type_.compare("gr_complex") == 0))
         {
@@ -169,7 +189,6 @@ void FirFilter::connect(gr::top_block_sptr top_block)
                 {
                     top_block->connect(float_to_complex_, 0, file_sink_, 0);
                 }
-
         }
     else if ((taps_item_type_.compare("float") == 0) && (input_item_type_.compare("cbyte") == 0)
             && (output_item_type_.compare("cbyte") == 0))
@@ -185,6 +204,18 @@ void FirFilter::connect(gr::top_block_sptr top_block)
                     top_block->connect(char_x2_cbyte_, 0, file_sink_, 0);
                 }
         }
+    else if ((taps_item_type_.compare("float") == 0) && (input_item_type_.compare("cshort") == 0)
+    		&& (output_item_type_.compare("gr_complex") == 0))
+        {
+            top_block->connect(cshort_to_float_x2_, 0, fir_filter_fff_1_, 0);
+    	    top_block->connect(cshort_to_float_x2_, 1, fir_filter_fff_2_, 0);
+    	    top_block->connect(fir_filter_fff_1_, 0, float_to_complex_, 0);
+    	    top_block->connect(fir_filter_fff_2_, 0, float_to_complex_, 1);
+    	    if (dump_)
+    	        {
+    		        top_block->connect(float_to_complex_, 0, file_sink_, 0);
+    	        }
+        }
     else
         {
             LOG(ERROR) << " Unknown item type conversion";
@@ -228,7 +259,6 @@ void FirFilter::disconnect(gr::top_block_sptr top_block)
                 {
                     top_block->disconnect(short_x2_to_cshort_, 0, file_sink_, 0);
                 }
-
         }
     else if ((taps_item_type_.compare("float") == 0) && (input_item_type_.compare("cbyte") == 0)
             && (output_item_type_.compare("cbyte") == 0))
@@ -244,6 +274,18 @@ void FirFilter::disconnect(gr::top_block_sptr top_block)
                     top_block->disconnect(char_x2_cbyte_, 0, file_sink_, 0);
                 }
         }
+    else if ((taps_item_type_.compare("float") == 0) && (input_item_type_.compare("cshort") == 0)
+    		&& (output_item_type_.compare("gr_complex") == 0))
+        {
+            top_block->disconnect(cshort_to_float_x2_, 0, fir_filter_fff_1_, 0);
+    	    top_block->disconnect(cshort_to_float_x2_, 1, fir_filter_fff_2_, 0);
+    	    top_block->disconnect(fir_filter_fff_1_, 0, float_to_complex_, 0);
+    	    top_block->disconnect(fir_filter_fff_2_, 0, float_to_complex_, 1);
+    	    if (dump_)
+    	        {
+    		        top_block->disconnect(float_to_complex_, 0, file_sink_, 0);
+    	        }
+        }
     else
         {
             LOG(ERROR) << " Unknown item type conversion";
@@ -274,6 +316,11 @@ gr::basic_block_sptr FirFilter::get_left_block()
         {
             return cbyte_to_float_x2_;
         }
+    else if ((taps_item_type_.compare("float") == 0) && (input_item_type_.compare("cshort") == 0)
+    		&& (output_item_type_.compare("gr_complex") == 0))
+        {
+            return cshort_to_float_x2_;
+        }
     else
         {
             return nullptr;
@@ -305,6 +352,11 @@ gr::basic_block_sptr FirFilter::get_right_block()
         {
             return char_x2_cbyte_;
         }
+    else if ((taps_item_type_.compare("float") == 0) && (input_item_type_.compare("cshort") == 0)
+      		&& (output_item_type_.compare("gr_complex") == 0))
+        {
+            return float_to_complex_;
+        }
     else
         {
             return nullptr;

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-hamradio/gnss-sdr.git



More information about the pkg-hamradio-commits mailing list