satdump/src-core/common/dsp/costas_loop.h
2021-10-22 15:26:17 +02:00

29 lines
No EOL
544 B
C++

#pragma once
#include "block.h"
/*
Costas loop implementation
with order 2, 4 and 8 support
*/
namespace dsp
{
class CostasLoopBlock : public Block<complex_t, complex_t>
{
private:
float error;
float noise;
int order;
float phase, freq;
float loop_bw;
float alpha, beta;
complex_t previous_vco;
complex_t tmp_val;
void work();
public:
CostasLoopBlock(std::shared_ptr<dsp::stream<complex_t>> input, float loop_bw, unsigned int order);
};
}