mirror of
https://github.com/eried/portapack-mayhem.git
synced 2024-10-01 01:26:06 -04:00
Add SSB demodulator.
This commit is contained in:
parent
2fd8b1c4d4
commit
220b7b0a6a
@ -55,6 +55,23 @@ buffer_f32_t AM::execute(
|
|||||||
|
|
||||||
return { dst.p, src.count, src.sampling_rate };
|
return { dst.p, src.count, src.sampling_rate };
|
||||||
}
|
}
|
||||||
|
|
||||||
|
buffer_f32_t SSB::execute(
|
||||||
|
const buffer_c16_t& src,
|
||||||
|
const buffer_f32_t& dst
|
||||||
|
) {
|
||||||
|
const complex16_t* src_p = src.p;
|
||||||
|
const auto src_end = &src.p[src.count];
|
||||||
|
auto dst_p = dst.p;
|
||||||
|
while(src_p < src_end) {
|
||||||
|
*(dst_p++) = (src_p++)->real();
|
||||||
|
*(dst_p++) = (src_p++)->real();
|
||||||
|
*(dst_p++) = (src_p++)->real();
|
||||||
|
*(dst_p++) = (src_p++)->real();
|
||||||
|
}
|
||||||
|
|
||||||
|
return { dst.p, src.count, src.sampling_rate };
|
||||||
|
}
|
||||||
/*
|
/*
|
||||||
static inline float angle_approx_4deg0(const complex32_t t) {
|
static inline float angle_approx_4deg0(const complex32_t t) {
|
||||||
const auto x = static_cast<float>(t.imag()) / static_cast<float>(t.real());
|
const auto x = static_cast<float>(t.imag()) / static_cast<float>(t.real());
|
||||||
|
@ -35,6 +35,14 @@ public:
|
|||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class SSB {
|
||||||
|
public:
|
||||||
|
buffer_f32_t execute(
|
||||||
|
const buffer_c16_t& src,
|
||||||
|
const buffer_f32_t& dst
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
class FM {
|
class FM {
|
||||||
public:
|
public:
|
||||||
buffer_f32_t execute(
|
buffer_f32_t execute(
|
||||||
|
Loading…
Reference in New Issue
Block a user