qo100-trx-prototypes/blocks/costas-beacon-sync.h

33 lines
500 B
C
Raw Permalink Normal View History

2021-12-15 22:09:47 +01:00
#ifndef _COSTAS_
#define _COSTAS_
#include <complex>
2021-12-15 23:43:41 +01:00
2021-12-15 22:09:47 +01:00
#include <liquid/liquid.h>
class CostasBeaconSync {
2021-12-15 23:24:42 +01:00
private:
float alpha;
float beta;
2021-12-15 22:09:47 +01:00
2021-12-15 23:24:42 +01:00
float min_freq;
float max_freq;
2021-12-15 22:09:47 +01:00
2021-12-15 23:24:42 +01:00
float loop_freq;
float loop_phase;
2021-12-15 22:09:47 +01:00
2021-12-15 23:24:42 +01:00
firfilt_crcf bandpass;
2021-12-15 22:09:47 +01:00
2021-12-29 14:21:10 +01:00
bool locked;
2021-12-15 22:09:47 +01:00
public:
CostasBeaconSync(float, float, float);
~CostasBeaconSync();
2021-12-15 22:09:47 +01:00
std::complex<float> work(liquid_float_complex);
2021-12-29 14:21:10 +01:00
bool has_lock();
2021-12-15 22:09:47 +01:00
};
#endif