Hi Mike,
The use of the FIR LPF is optional and allows to fine tune the overall frequency characteristics of the acquisition. In most cases this FIR filter is not used/bypassed.
One big tradeoff of the FIR low pass filter is that it will significantly increases the latency of the acquisition. This is relevant if different VSENSE channels are used/switched.
See attached PDF for:
- Digital signal processing/filtering p. 107
- Latency p. 115
The FIR LPF can be enabled/disabled (bypassed).
#define ACQLPFEnable() (B_ACQ_ACC1 = B_ACQ_ACC1_LPFENM_MASK| B_ACQ_ACC1_LPFEN_MASK) //!< enable low pass filter for CSENSE & VSENSE channel
#define ACQLPFDisable() (B_ACQ_ACC1 = B_ACQ_ACC1_LPFENM_MASK| 0) //!< disable low pass filter for CSENSE & VSENSE channel
If enabled the FIR coefficients and number of used coefficients can be programmed. The device already has a default set of coefficients programmed.
The code below is representing the default values (code is actually not required, as reset values of the respective registers).
B_ACQ_LPFC = 15;
B_LPF_A0 = 0x03DB;
B_LPF_A1 = 0x87B4;
B_LPF_A2 = 0x86B1;
B_LPF_A3 = 0x1580;
B_LPF_A4 = 0x04DF;
B_LPF_A5 = 0x9F70;
B_LPF_A6 = 0x81F5;
B_LPF_A7 = 0x5195;
B_LPF_A8 = 0x5195;
B_LPF_A9 = 0x81F5;
B_LPF_A10= 0x9F70;
B_LPF_A11= 0x04DF;
B_LPF_A12= 0x1580;
B_LPF_A13= 0x86B1;
B_LPF_A14= 0x87B4;
B_LPF_A15= 0x03DB;
I attached an Excel calculator which shows the impact of the individual filter stages and allows to evaluate own values. I guess it is what you are looking for.
BRs, Tomas