mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2025-04-10 20:56:45 +00:00
Use newer signature for set_relative_rate(), improve member initialization
This commit is contained in:
parent
ca11e5d215
commit
3d3d76362b
@ -29,25 +29,30 @@
|
||||
|
||||
|
||||
DirectResamplerConditioner::DirectResamplerConditioner(
|
||||
const ConfigurationInterface* configuration, const std::string& role,
|
||||
unsigned int in_stream, unsigned int out_stream) : role_(role), in_stream_(in_stream), out_stream_(out_stream)
|
||||
const ConfigurationInterface* configuration,
|
||||
const std::string& role,
|
||||
unsigned int in_stream,
|
||||
unsigned int out_stream)
|
||||
: role_(role),
|
||||
in_stream_(in_stream),
|
||||
out_stream_(out_stream),
|
||||
dump_(configuration->property(role + ".dump", false))
|
||||
{
|
||||
const std::string default_item_type("short");
|
||||
const std::string default_dump_file("./data/signal_conditioner.dat");
|
||||
const double fs_in_deprecated = configuration->property("GNSS-SDR.internal_fs_hz", 2048000.0);
|
||||
const double fs_in = configuration->property("GNSS-SDR.internal_fs_sps", fs_in_deprecated);
|
||||
item_type_ = configuration->property(role + ".item_type", default_item_type);
|
||||
dump_filename_ = configuration->property(role + ".dump_filename", default_dump_file);
|
||||
sample_freq_in_ = configuration->property(role_ + ".sample_freq_in", 4000000.0);
|
||||
sample_freq_out_ = configuration->property(role_ + ".sample_freq_out", fs_in);
|
||||
|
||||
if (std::fabs(fs_in - sample_freq_out_) > std::numeric_limits<double>::epsilon())
|
||||
{
|
||||
std::string aux_warn = "CONFIGURATION WARNING: Parameters GNSS-SDR.internal_fs_sps and " + role_ + ".sample_freq_out are not set to the same value!";
|
||||
LOG(WARNING) << aux_warn;
|
||||
std::cout << aux_warn << '\n';
|
||||
}
|
||||
item_type_ = configuration->property(role + ".item_type", default_item_type);
|
||||
dump_ = configuration->property(role + ".dump", false);
|
||||
DLOG(INFO) << "dump_ is " << dump_;
|
||||
dump_filename_ = configuration->property(role + ".dump_filename", default_dump_file);
|
||||
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
|
@ -24,25 +24,30 @@
|
||||
#include <vector>
|
||||
|
||||
MmseResamplerConditioner::MmseResamplerConditioner(
|
||||
const ConfigurationInterface* configuration, const std::string& role,
|
||||
unsigned int in_stream, unsigned int out_stream) : role_(role), in_stream_(in_stream), out_stream_(out_stream)
|
||||
const ConfigurationInterface* configuration,
|
||||
const std::string& role,
|
||||
unsigned int in_stream,
|
||||
unsigned int out_stream)
|
||||
: role_(role),
|
||||
in_stream_(in_stream),
|
||||
out_stream_(out_stream),
|
||||
dump_(configuration->property(role + ".dump", false))
|
||||
{
|
||||
const std::string default_item_type("gr_complex");
|
||||
const std::string default_dump_file("./data/signal_conditioner.dat");
|
||||
const double fs_in_deprecated = configuration->property("GNSS-SDR.internal_fs_hz", 2048000.0);
|
||||
const double fs_in = configuration->property("GNSS-SDR.internal_fs_sps", fs_in_deprecated);
|
||||
item_type_ = configuration->property(role + ".item_type", default_item_type);
|
||||
dump_filename_ = configuration->property(role + ".dump_filename", default_dump_file);
|
||||
sample_freq_in_ = configuration->property(role_ + ".sample_freq_in", 4000000.0);
|
||||
sample_freq_out_ = configuration->property(role_ + ".sample_freq_out", fs_in);
|
||||
|
||||
if (std::fabs(fs_in - sample_freq_out_) > std::numeric_limits<double>::epsilon())
|
||||
{
|
||||
std::string aux_warn = "CONFIGURATION WARNING: Parameters GNSS-SDR.internal_fs_sps and " + role_ + ".sample_freq_out are not set to the same value!";
|
||||
LOG(WARNING) << aux_warn;
|
||||
std::cout << aux_warn << '\n';
|
||||
}
|
||||
item_type_ = configuration->property(role + ".item_type", default_item_type);
|
||||
dump_ = configuration->property(role + ".dump", false);
|
||||
DLOG(INFO) << "dump_ is " << dump_;
|
||||
dump_filename_ = configuration->property(role + ".dump_filename", default_dump_file);
|
||||
|
||||
if (item_type_ == "gr_complex")
|
||||
{
|
||||
|
@ -50,6 +50,11 @@ if(GNURADIO_USES_STD_POINTERS)
|
||||
)
|
||||
endif()
|
||||
|
||||
if(GNURADIO_IS_38_OR_GREATER)
|
||||
target_compile_definitions(resampler_gr_blocks
|
||||
PUBLIC -DGR_GREATER_38=1)
|
||||
endif()
|
||||
|
||||
target_include_directories(resampler_gr_blocks
|
||||
PUBLIC
|
||||
${GNSSSDR_SOURCE_DIR}/src/core/interfaces
|
||||
|
@ -34,12 +34,14 @@ direct_resampler_conditioner_cb_sptr direct_resampler_make_conditioner_cb(
|
||||
|
||||
direct_resampler_conditioner_cb::direct_resampler_conditioner_cb(
|
||||
double sample_freq_in,
|
||||
double sample_freq_out) : gr::block("direct_resampler_make_conditioner_cb", gr::io_signature::make(1, 1, sizeof(lv_8sc_t)), gr::io_signature::make(1, 1, sizeof(lv_8sc_t))),
|
||||
d_sample_freq_in(sample_freq_in),
|
||||
d_sample_freq_out(
|
||||
sample_freq_out),
|
||||
d_phase(0),
|
||||
d_lphase(0)
|
||||
double sample_freq_out)
|
||||
: gr::block("direct_resampler_make_conditioner_cb",
|
||||
gr::io_signature::make(1, 1, sizeof(lv_8sc_t)),
|
||||
gr::io_signature::make(1, 1, sizeof(lv_8sc_t))),
|
||||
d_sample_freq_in(sample_freq_in),
|
||||
d_sample_freq_out(sample_freq_out),
|
||||
d_phase(0),
|
||||
d_lphase(0)
|
||||
{
|
||||
const double two_32 = 4294967296.0;
|
||||
// Computes the phase step multiplying the resampling ratio by 2^32 = 4294967296
|
||||
@ -51,9 +53,11 @@ direct_resampler_conditioner_cb::direct_resampler_conditioner_cb(
|
||||
{
|
||||
d_phase_step = static_cast<uint32_t>(floor(two_32 * sample_freq_in / sample_freq_out));
|
||||
}
|
||||
|
||||
set_relative_rate(1.0 * sample_freq_out / sample_freq_in);
|
||||
set_output_multiple(1);
|
||||
#ifdef GR_GREATER_38
|
||||
this->set_relative_rate(static_cast<uint64_t>(sample_freq_out), static_cast<uint64_t>(sample_freq_in));
|
||||
#else
|
||||
this->set_relative_rate(sample_freq_out / sample_freq_in);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
@ -33,11 +33,14 @@ direct_resampler_conditioner_cc_sptr direct_resampler_make_conditioner_cc(
|
||||
|
||||
direct_resampler_conditioner_cc::direct_resampler_conditioner_cc(
|
||||
double sample_freq_in,
|
||||
double sample_freq_out) : gr::block("direct_resampler_conditioner_cc", gr::io_signature::make(1, 1, sizeof(gr_complex)), gr::io_signature::make(1, 1, sizeof(gr_complex))),
|
||||
d_sample_freq_in(sample_freq_in),
|
||||
d_sample_freq_out(sample_freq_out),
|
||||
d_phase(0),
|
||||
d_lphase(0)
|
||||
double sample_freq_out)
|
||||
: gr::block("direct_resampler_conditioner_cc",
|
||||
gr::io_signature::make(1, 1, sizeof(gr_complex)),
|
||||
gr::io_signature::make(1, 1, sizeof(gr_complex))),
|
||||
d_sample_freq_in(sample_freq_in),
|
||||
d_sample_freq_out(sample_freq_out),
|
||||
d_phase(0),
|
||||
d_lphase(0)
|
||||
{
|
||||
// Computes the phase step multiplying the resampling ratio by 2^32 = 4294967296
|
||||
const double two_32 = 4294967296.0;
|
||||
@ -49,8 +52,11 @@ direct_resampler_conditioner_cc::direct_resampler_conditioner_cc(
|
||||
{
|
||||
d_phase_step = static_cast<uint32_t>(floor(two_32 * sample_freq_in / sample_freq_out));
|
||||
}
|
||||
set_relative_rate(1.0 * sample_freq_out / sample_freq_in);
|
||||
set_output_multiple(1);
|
||||
#ifdef GR_GREATER_38
|
||||
this->set_relative_rate(static_cast<uint64_t>(sample_freq_out), static_cast<uint64_t>(sample_freq_in));
|
||||
#else
|
||||
this->set_relative_rate(sample_freq_out / sample_freq_in);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
@ -34,13 +34,14 @@ direct_resampler_conditioner_cs_sptr direct_resampler_make_conditioner_cs(
|
||||
|
||||
direct_resampler_conditioner_cs::direct_resampler_conditioner_cs(
|
||||
double sample_freq_in,
|
||||
double sample_freq_out) : gr::block("direct_resampler_make_conditioner_cs",
|
||||
gr::io_signature::make(1, 1, sizeof(lv_16sc_t)),
|
||||
gr::io_signature::make(1, 1, sizeof(lv_16sc_t))),
|
||||
d_sample_freq_in(sample_freq_in),
|
||||
d_sample_freq_out(sample_freq_out),
|
||||
d_phase(0),
|
||||
d_lphase(0)
|
||||
double sample_freq_out)
|
||||
: gr::block("direct_resampler_make_conditioner_cs",
|
||||
gr::io_signature::make(1, 1, sizeof(lv_16sc_t)),
|
||||
gr::io_signature::make(1, 1, sizeof(lv_16sc_t))),
|
||||
d_sample_freq_in(sample_freq_in),
|
||||
d_sample_freq_out(sample_freq_out),
|
||||
d_phase(0),
|
||||
d_lphase(0)
|
||||
{
|
||||
const double two_32 = 4294967296.0;
|
||||
// Computes the phase step multiplying the resampling ratio by 2^32 = 4294967296
|
||||
@ -53,8 +54,11 @@ direct_resampler_conditioner_cs::direct_resampler_conditioner_cs(
|
||||
d_phase_step = static_cast<uint32_t>(floor(two_32 * sample_freq_in / sample_freq_out));
|
||||
}
|
||||
|
||||
set_relative_rate(1.0 * sample_freq_out / sample_freq_in);
|
||||
set_output_multiple(1);
|
||||
#ifdef GR_GREATER_38
|
||||
this->set_relative_rate(static_cast<uint64_t>(sample_freq_out), static_cast<uint64_t>(sample_freq_in));
|
||||
#else
|
||||
this->set_relative_rate(sample_freq_out / sample_freq_in);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user