Parámetros de filtro de paso bajo en cascada

0

Estoy tratando de implementar dos filtros de paso bajo en cascada en una aplicación de software para poder suavizar un conjunto de datos potencialmente volátiles. Sobre la base de los datos entrantes, quiero que una señal se active / desactive en un determinado umbral (es decir, los datos filtrados caen por debajo de x). Pero quiero que esta señal se encienda y apague suavemente, de modo que no se vea afectada por grandes picos, sino que se vea afectada por muestras consistentes debajo de x (o arriba en el caso opuesto). De lo que recuerdo de mi clase DSP, lo que quiero son los filtros de paso bajo. La ecuación exacta que estoy usando, con dos en cascada, es:

Señal en el tiempo T = (muestra en el tiempo T) * gamma + (señal en el tiempo T-1) * (1-gamma)

Mi pregunta es, ¿podría alguien demostrar el cálculo matemático exacto para determinar la sensibilidad de mi filtro, basado en mis valores para gamma? Es decir. un valor gamma de x asegurará que una sola muestra no mueva la señal general más de y%, o un cálculo similar para que pueda tener un valor numérico en esto.

    
pregunta BrandonM

2 respuestas

1

Esto es lo que uso cuando quiero implementar un filtro de paso bajo de software. La imagen muestra cómo derivarlo. Todo lo que tiene que hacer es insertar los números representativos de los valores C y R y el período de tiempo de la muestra: -

Elfiltrodigitalquehemostradoesdelaforma:-

OUT(n)=OUT(n-1)*(1-T/CR)+IN(n-1)*(-T/CR)

Sideseaunapruebamásrigurosa,lea esto . Se llama diseño de filtro digital para ingenieros analógicos.

    
respondido por el Andy aka
0

La ecuación que muestra es correcta para un filtro de paso bajo de un solo polo, pero generalmente lo implemento de esta manera en el cálculo real:

FILT < - FILT + FF (NUEVO - FILT)

Donde FF es la "fracción de filtro", que es similar a su gamma. En un sistema pequeño, intenta organizar FF para que sea 1/2 N , de modo que la multiplicación por FF se pueda realizar como un desplazamiento hacia la derecha por N bits.

Lo que esto significa en el espacio de frecuencia tiene que ver con la rapidez con la que muestrea. He descubierto las ecuaciones en el pasado, pero no recuerdo exactamente cuáles son sin buscar en el código fuente. El preprocesador de mi ensamblador PIC tiene una función incorporada para calcular FF a partir de una frecuencia de muestreo y la frecuencia de eliminación deseada.

Sin embargo, la mayoría de las veces, en un sistema pequeño, el dominio de tiempo es más relevante. Generalmente quieres saber cuánto demorará el filtro las cosas. Para eso tengo mi programa FILTBITS, que normalmente ejecuto desde el contenedor PLOTFILT. Esto te muestra el paso y las respuestas en pulso. Entro en más detalles sobre el filtro anterior, PLOTFILT y muestro un gráfico de ejemplo, en mi respuesta aquí .

    
respondido por el Olin Lathrop

Lea otras preguntas en las etiquetas