Se puede obtener información sobre el estado del entorno o, por ejemplo, un determinado objeto de control midiendo los valores actuales de los parámetros que caracterizan ciertas propiedades del entorno u objeto. Para recibir, procesar y transmitir dicha información por medios técnicos, los dispositivos de medición automática deben convertir el valor del parámetro medido en una señal de información de medición. Para hacer esto, implemente el canal de medición de información (
IIC ), como una combinación de medios técnicos, cada uno de los cuales cumplirá su función específica, comenzando por la percepción del valor medido y terminando con la recepción de la información de medición en una forma conveniente para la percepción humana o para su posterior procesamiento. Y todo estaría bien, pero a lo largo del camino de la información, la interferencia
e (t) se superpone a la señal útil
y (t) de la información de medición, una función aleatoria de tiempo que puede simular el error aleatorio del transductor de medición, las tomas eléctricas en los cables de conexión y las ondas aleatorias. parámetro medido y otros factores.
En base a esto, surge el problema del procesamiento primario de la información en el IIC: el filtrado de la señal y (t) de la información de medición de la interferencia aleatoria e (t). Básicamente, los métodos de filtrado se basan en la diferencia en los espectros de frecuencia de las funciones y (t) y e (t), y la interferencia se considera más de alta frecuencia.
La síntesis del filtro óptimo implementado es una tarea compleja, cuya solución requiere la especificación exacta de las características de la señal útil y la interferencia. Por lo tanto, en la práctica, la función de transferencia del filtro generalmente se especifica y se limita a la síntesis paramétrica utilizando algoritmos de filtrado simples.
Los métodos de filtración se llevan a cabo tanto a nivel de software como a nivel de hardware. Por ejemplo, en el sensor BMP280 (BOSCH), es posible conectar un filtro IIR a nivel de hardware, cambiando el coeficiente de filtro k, si es necesario, [1].
Filtro IIR
Los filtros con respuesta de impulso infinita son filtros recursivos y calculan la señal de salida en función de los valores de las muestras de entrada y salida anteriores. Teóricamente, la respuesta al impulso de un filtro IIR nunca llega a cero, por lo que la salida es de duración infinita.
En general, escribimos el algoritmo para filtrar un filtro digital escalar unidimensional como [2]:
, (1)
donde
T es una función escalar de una variable.
La función
T depende de la señal de entrada actual x [n], y anterior: M muestras de la señal de entrada

y N muestras de la señal de salida

La salida del filtro IIR se describe mediante una ecuación de diferencia de la forma:

(2)
donde x [n], y [n] es la entrada y la salida del filtro, respectivamente, {
} Es el conjunto de coeficientes directos, M es el número de coeficientes directos, {
} Es un conjunto de coeficientes inversos, N es el número de coeficientes inversos.
Aplicando la transformación z a ambos lados de la ecuación (2), obtenemos:

(3)
Entonces la función de transferencia del filtro se verá así:

(4)
Algoritmo para filtrar un filtro IIR unidimensional
En términos generales, el algoritmo de filtrado para un filtro recursivo estacionario escalar unidimensional se ve así:
. (5)
Ahora escribimos la ecuación de diferencia para el filtro IIR en la forma [1]:

(6)
donde k es el coeficiente del filtro;
o
(7)
donde

Son los coeficientes de filtro inverso y directo, respectivamente.
A partir de (7) es obvio que en k = 1 la señal de salida del filtro repetirá la entrada, y a medida que aumenta el coeficiente de filtro k, el peso de la señal filtrada anterior tiende a 1, y el peso del valor medido tiende a 0.
El algoritmo (6) se implementa como un ejemplo del canal de medición de información de presión atmosférica absoluta para el sensor BMP280, a nivel de software en el entorno de desarrollo del Software Arduino (IDE), listado 1. El diagrama de conexión eléctrica de los componentes IIC se muestra en la Fig. 1. La vista general del prototipo IIC de presión atmosférica absoluta se presenta en la Fig. 2. El prototipo proporciona la capacidad de cambiar el coeficiente del filtro en el rango de 1 ... 50 en incrementos de 1, girando la perilla del potenciómetro. El signo de la pantalla de cristal líquido muestra el valor de presión medido (para k = 1) o el valor filtrado (para k = 2 ... 50), y el coeficiente de filtro k.
Fig. 1 - Diagrama de cableado de los componentes del prototipo IIC
Fig. 2 - Vista general del prototipo IICScript de Python para investigar filtros IIR
El Listado 2 muestra un script de Python para examinar los filtros IIR. El coeficiente de filtro k está escrito en el script. Los valores de presión medidos se leen secuencialmente desde el puerto COM virtual y se filtran. Los valores medidos y filtrados del parámetro medido en tiempo real se muestran en la ventana gráfica y en la consola. La tabla registra los resultados del experimento en un archivo, y las líneas de tiempo de los valores medidos y filtrados se muestran en la ventana de gráficos.
Listado 2 import numpy as np import matplotlib.pyplot as plt import serial from drawnow import drawnow import datetime, time k = 6.0
Resultados del experimento
: 33 : 6 : COM6 : n - ; P - , ; n P 0 100490.00 100490.00 1 100488.00 100489.71 2 100487.00 100489.33 3 100488.00 100489.14 4 100488.00 100488.97 … 30 100486.00 100488.14 31 100492.00 100488.70 32 100489.00 100488.74 : 16.028, c : 0.500875, c 275_count.txt Ctrl-C,


Conclusiones
El algoritmo de filtrado anterior es muy simple en la implementación de software y, en la práctica, se puede usar en IIC similares a las discutidas en este artículo.
Losikhin D.A., s.v. cafe CITYM .
Fuentes de informacion
- Sensor de presión digital BMP280
- Filtro de respuesta de impulso infinito.