Implement an efficient FIR filter.

This commit is contained in:
Jonathan Naylor 2020-04-22 14:37:23 +01:00
parent f936bc6fe8
commit 57730d7f81
2 changed files with 31 additions and 11 deletions

6
FM.h
View file

@ -52,8 +52,8 @@ public:
uint8_t setMisc(uint16_t timeout, uint8_t timeoutLevel, uint8_t ctcssFrequency, uint8_t ctcssThreshold, uint8_t ctcssLevel, uint8_t kerchunkTime, uint8_t hangTime);
private:
arm_fir_instance_q15 m_filter;
q15_t m_filterState[130U]; // NoTaps + BlockSize - 1, 101 + 20 - 1 plus some spare
q15_t* m_filterBuffer;
uint8_t m_filterPosition;
CFMKeyer m_callsign;
CFMKeyer m_rfAck;
CFMCTCSSRX m_ctcssRX;
@ -81,6 +81,8 @@ private:
void sendCallsign();
void beginRelaying();
q15_t filter(q15_t sample);
};
#endif