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-2012 mikroElektronika. All rights reserved.
What do you think about this topic ? Send us feedback!
What do you think about this topic ? Send us feedback!



