Add more frame processing.

This commit is contained in:
Jonathan Naylor
2020-06-10 16:09:45 +01:00
parent 57e18e337f
commit 22cb16f831
2 changed files with 129 additions and 9 deletions
+14 -4
View File
@@ -26,17 +26,27 @@
class CAX25Demodulator {
public:
CAX25Demodulator();
CAX25Demodulator(float32_t* coeffs, uint16_t length);
bool process(const q15_t* samples, uint8_t length, CAX25Frame& frame);
private:
bool* m_delayLine;
uint16_t m_delayPos;
bool m_nrziState;
arm_fir_instance_f32 m_audioFilter;
float32_t m_audioState[20U];
arm_fir_instance_q15 m_lpfFilter;
q15_t m_lpfState[120U]; // NoTaps + BlockSize - 1, 96 + 20 - 1 plus some spare
bool* m_delayLine;
uint16_t m_delayPos;
bool m_nrziState;
arm_fir_instance_f32 m_pllFilter;
float32_t m_pllState[7U];
bool m_pllLast;
uint8_t m_pllBits;
float32_t m_pllCount;
bool delay(bool b);
bool NRZI(bool b);
bool PLL(bool b);
};
#endif