mirror of
https://github.com/eried/portapack-mayhem.git
synced 2025-03-20 05:46:01 -04:00
Add some baseband constructors.
Some of them I think I took out earlier...
This commit is contained in:
parent
add6171410
commit
111a5f10c0
@ -38,6 +38,17 @@ public:
|
||||
By32,
|
||||
};
|
||||
|
||||
constexpr ChannelDecimator(
|
||||
) : decimation_factor { DecimationFactor::By32 }
|
||||
{
|
||||
}
|
||||
|
||||
constexpr ChannelDecimator(
|
||||
const DecimationFactor decimation_factor
|
||||
) : decimation_factor { decimation_factor }
|
||||
{
|
||||
}
|
||||
|
||||
void set_decimation_factor(const DecimationFactor f) {
|
||||
decimation_factor = f;
|
||||
}
|
||||
@ -69,7 +80,7 @@ private:
|
||||
dsp::decimate::DecimateBy2CIC3 cic_3;
|
||||
dsp::decimate::DecimateBy2CIC3 cic_4;
|
||||
|
||||
DecimationFactor decimation_factor = DecimationFactor::By32;
|
||||
DecimationFactor decimation_factor;
|
||||
|
||||
buffer_c16_t execute_decimation(buffer_c8_t buffer);
|
||||
};
|
||||
|
@ -116,6 +116,16 @@ private:
|
||||
template<typename ErrorFilter>
|
||||
class ClockRecovery {
|
||||
public:
|
||||
ClockRecovery(
|
||||
const float sampling_rate,
|
||||
const float symbol_rate,
|
||||
ErrorFilter error_filter,
|
||||
std::function<void(const float)> symbol_handler
|
||||
) : symbol_handler { symbol_handler }
|
||||
{
|
||||
configure(sampling_rate, symbol_rate, error_filter);
|
||||
}
|
||||
|
||||
ClockRecovery(
|
||||
std::function<void(const float)> symbol_handler
|
||||
) : symbol_handler { symbol_handler }
|
||||
|
@ -49,9 +49,17 @@ public:
|
||||
using taps_t = tap_t[];
|
||||
|
||||
template<class T>
|
||||
void configure(
|
||||
MatchedFilter(
|
||||
const T& taps,
|
||||
size_t decimation_factor = 1
|
||||
) {
|
||||
configure(taps, decimation_factor);
|
||||
}
|
||||
|
||||
template<class T>
|
||||
void configure(
|
||||
const T& taps,
|
||||
size_t decimation_factor
|
||||
) {
|
||||
samples_ = std::make_unique<samples_t>(taps.size());
|
||||
taps_reversed_ = std::make_unique<taps_t>(taps.size());
|
||||
|
@ -37,6 +37,8 @@
|
||||
#include <cstddef>
|
||||
#include <bitset>
|
||||
|
||||
#include "ais_baseband.hpp"
|
||||
|
||||
class FSKProcessor : public BasebandProcessor {
|
||||
public:
|
||||
using payload_t = std::bitset<1024>;
|
||||
@ -49,10 +51,11 @@ public:
|
||||
void execute(buffer_c8_t buffer) override;
|
||||
|
||||
private:
|
||||
ChannelDecimator decimator;
|
||||
dsp::matched_filter::MatchedFilter mf;
|
||||
ChannelDecimator decimator { ChannelDecimator::DecimationFactor::By32 };
|
||||
dsp::matched_filter::MatchedFilter mf { baseband::ais::rrc_taps_76k8_4t_p, 4 };
|
||||
|
||||
clock_recovery::ClockRecovery<clock_recovery::FixedErrorFilter> clock_recovery {
|
||||
19200, 9600, { 0.0555f },
|
||||
[this](const float symbol) { this->consume_symbol(symbol); }
|
||||
};
|
||||
symbol_coding::NRZIDecoder nrzi_decode;
|
||||
|
Loading…
x
Reference in New Issue
Block a user