Estoy tratando de diseñar un filtro de paso bajo IIR. El propósito de este filtro es obtener DC puro de los ruidos.
- La frecuencia de muestreo es: 125Hz.
- El ancho de banda del filtro: 0.2Hz.
Diseñé el filtro con Matlab:
[b,a] = ellip(3,0.001,60,0.001);
freqz(b,a);
figure(2)
out = filter(b,a,ones(1,2000));
plot(out)
La respuesta de frecuencia : a 0.3Hz es -20dB, lo que es bueno para mí.
Larespuestadelpaso:
Los coeficientes:
a = [1.000000000000000 -2.984668175804313 2.969460975930567 -0.984792292477895];
b = 1.0e-04 * [0.750233362790290 -0.747695120994728 -0.747695120994729 0.750233362790290];
Mis preguntas
-
A partir de la respuesta del paso, parece que los datos 452 están cerca de 1. ¿Puedo decir que tengo que esperar a que los datos 451 obtengan el valor de DC deseado? De acuerdo con lo deseado, no me importa mucho la fluctuación de la ganancia en DC, lo que significa que está bien para mí si DC tiene una pequeña ganancia (0.9-1.1).
-
Los coeficientes del filtro parecen ser bastante pequeños, especialmente la parte b. ¿Puedo implementar el filtro correctamente en un Cortex-M4, que es una MCU de 32 bits con FPU?