FIR Filter Library
mikroC PRO for PIC32 includes a library for finite impulse response (FIR) filter. All routines work with fractional Q15 format.
A finite impulse response (FIR) filter is a type of a digital filter, whose impulse response (the filter's response to a delta function) is finite because it settles to zero in a finite number of sample intervals.
Library Routines
FIR_Radix
| Prototype | 
 int FIR_Radix(const int *ptrCoeffs, unsigned FilterOrder, int *ptrInput, unsigned InputLength, unsigned Index);  | 
|---|---|
| Description | 
 This function applies FIR filter to   | 
| Parameters | 
  | 
| Returns | 
 Function returns value of the   
with : N - filter order
k - current index
 | 
| Requires | 
 Nothing.  | 
| Example | 
// Filter setup:
//     Filter kind: FIR
//     Filter type: Lowpass filter
//     Filter order: 3
//     Filter window: Blackman
//     Filter borders:
//       Wpass:4000 Hz
const unsigned FILTER_ORDER  = 3;
const int COEFF_B[FILTER_ORDER+1] = {
      0x0000, 0x1255, 0x1255, 0x0000};
int   inputSamples[3] = {0x4000, 0x2000, 0x1000};
int   outputSamples[6];
unsigned i;
      
void main() {
  for (i = 0; i < 6; i++)
    outputSamples[i] = FIR_Radix(COEFF_B, FILTER_ORDER+1, inputSamples, 3,  i);
  // outputSamples[0] = COEFF_B[0]*inputSamples[0];
  // outputSamples[1] = COEFF_B[0]*inputSamples[1] + COEFF_B[1]*inputSamples[0];
  // outputSamples[2] = COEFF_B[0]*inputSamples[2] + COEFF_B[1]*inputSamples[1] + COEFF_B[2]*inputSamples[0];
  // .
  // .
  // .
}
 | 
| Notes | 
 None.  | 
Copyright (c) 2002-2017 mikroElektronika. All rights reserved.
What do you think about this topic ? Send us feedback!
What do you think about this topic ? Send us feedback!



