1
0
mirror of https://github.com/gnss-sdr/gnss-sdr synced 2026-04-25 08:11:25 +00:00

Adding short int data type (IF)

This commit is contained in:
Carles Fernandez
2014-11-29 14:00:15 +01:00
parent 59bfa75e01
commit 52f7fcee4c
7 changed files with 232 additions and 6 deletions

View File

@@ -65,6 +65,14 @@ FreqXlatingFirFilter::FreqXlatingFirFilter(ConfigurationInterface* configuration
freq_xlating_fir_filter_fcf_ = gr::filter::freq_xlating_fir_filter_fcf::make(decimation_factor, taps_, intermediate_freq_, sampling_freq_);
DLOG(INFO) << "input_filter(" << freq_xlating_fir_filter_fcf_->unique_id() << ")";
}
else if((taps_item_type_.compare("float") == 0) && (input_item_type_.compare("short") == 0)
&& (output_item_type_.compare("gr_complex") == 0))
{
item_size = sizeof(gr_complex);
input_size_ = sizeof(short); //input
freq_xlating_fir_filter_scf_ = gr::filter::freq_xlating_fir_filter_scf::make(decimation_factor, taps_, intermediate_freq_, sampling_freq_);
DLOG(INFO) << "input_filter(" << freq_xlating_fir_filter_scf_->unique_id() << ")";
}
else
{
LOG(ERROR) << taps_item_type_ << " unknown input filter item type";
@@ -94,6 +102,10 @@ void FreqXlatingFirFilter::connect(gr::top_block_sptr top_block)
{
top_block->connect(freq_xlating_fir_filter_fcf_, 0, file_sink_, 0);
}
else if (input_size_ == sizeof(short))
{
top_block->connect(freq_xlating_fir_filter_scf_, 0, file_sink_, 0);
}
else
{
top_block->connect(freq_xlating_fir_filter_ccf_, 0, file_sink_, 0);
@@ -115,6 +127,10 @@ void FreqXlatingFirFilter::disconnect(gr::top_block_sptr top_block)
{
top_block->disconnect(freq_xlating_fir_filter_fcf_, 0, file_sink_, 0);
}
else if (input_size_ == sizeof(short))
{
top_block->disconnect(freq_xlating_fir_filter_scf_, 0, file_sink_, 0);
}
else
{
top_block->disconnect(freq_xlating_fir_filter_ccf_, 0, file_sink_, 0);
@@ -130,6 +146,10 @@ gr::basic_block_sptr FreqXlatingFirFilter::get_left_block()
{
return freq_xlating_fir_filter_fcf_;
}
else if (input_size_ == sizeof(short))
{
return freq_xlating_fir_filter_scf_;
}
else
{
return freq_xlating_fir_filter_ccf_;
@@ -144,6 +164,10 @@ gr::basic_block_sptr FreqXlatingFirFilter::get_right_block()
{
return freq_xlating_fir_filter_fcf_;
}
else if (input_size_ == sizeof(short))
{
return freq_xlating_fir_filter_scf_;
}
else
{
return freq_xlating_fir_filter_ccf_;

View File

@@ -37,6 +37,7 @@
#include <vector>
#include <gnuradio/filter/freq_xlating_fir_filter_ccf.h>
#include <gnuradio/filter/freq_xlating_fir_filter_fcf.h>
#include <gnuradio/filter/freq_xlating_fir_filter_scf.h>
#include <gnuradio/blocks/file_sink.h>
#include <gnuradio/msg_queue.h>
#include "gnss_synchro.h"
@@ -87,6 +88,7 @@ public:
private:
gr::filter::freq_xlating_fir_filter_ccf::sptr freq_xlating_fir_filter_ccf_;
gr::filter::freq_xlating_fir_filter_fcf::sptr freq_xlating_fir_filter_fcf_;
gr::filter::freq_xlating_fir_filter_scf::sptr freq_xlating_fir_filter_scf_;
ConfigurationInterface* config_;
bool dump_;
std::string dump_filename_;