Estou estudando usando o STM32F103,que é o que tenho e mãos,e me deparei com um filtro que funciona muito bem,mas não sei o funcionamento pois estou usando exemplos que encontro.
A rotina é a seguinte;
- Código: Selecionar todos
#define FILTER_BUF 9
...
const float filter_coeff[FILTER_BUF] =
{
0.0200, 0.0647, 0.1664, 0.2489, 0.2489, 0.1664, 0.0647, 0.0200
};
...
u16 low_pass(u16 input)
{
int i;
static float buffer[FILTER_BUF];
u16 result;
for (i = (FILTER_BUF-1); i > 0; i--)
{
buffer[i] = buffer[i-1];
}
buffer[0] = input;
for (i = 0; i < FILTER_BUF; i++)
{
result += buffer[i] * filter_coeff[i];
}
return result;
}
Alguém pode me explicar qual o algoritmo,quero alterar para outras frequências.