Filtración de mediana de valores de nivel de combustible
La filtración permite suavizar los valores del sensor de nivel de combustible para eliminar los valores atípicos de datos (fluctuaciones del nivel de combustible) que pueden ocurrir debido a varios factores. Dichos factores incluyen vibraciones del motor, superficies irregulares de la carretera, aceleración y frenado, ascensos y descensos, precisión de calibración, forma y material del tanque, impurezas del combustible, bloqueos en el tanque y el sistema de combustible, cambios de temperatura y más.
Hay dos tipos de filtración disponibles en las propiedades del sensor de nivel de combustible: de mediana y de mediana adaptable. La diferencia es que para el primer tipo, necesita especificar el nivel de filtración apropiado manualmente. Para la filtración de mediana adaptable, no necesita hacer esto, ya que el nivel de filtración se selecciona automáticamente en función de los datos de la unidad.
Este artículo explica la filtración de mediana ordinaria (no adaptable).
Nivel de filtración
El nivel de filtración determina cuántos mensajes deben formar la ventana del filtro, es decir, utilizarse para calcular el valor suavizado del nivel de combustible.
Cuanto mayor sea el nivel de filtración, más se suavizan los datos.
Si el nivel de filtración es 0, se utilizan tres mensajes para el suavizado. En otros casos, el número de mensajes que forman la ventana del filtro se calcula de la siguiente manera:
- Si el valor del campo es un número impar del 1 al 255, se multiplica por 5.
- Si el valor es un número par del 2 al 254, se multiplica por 5 y se resta 1 al resultado.
Por lo tanto, cuanto mayor sea el nivel de filtración, más datos se utilizan para calcular el valor suavizado.
Selección de un nivel de filtración adecuado
Debe seleccionar el nivel de filtración en función de la frecuencia con la que el dispositivo genera mensajes y la precisión de los datos del sensor de nivel de combustible. Cuanto más precisos sean los datos, menor es el nivel de filtración necesario para suavizarlos. Para seleccionar un nivel de filtración adecuado, siga estos pasos:
-
Cree una plantilla de informe con una gráfica de nivel de combustible. Para ello, agregue un gráfico del tipo Regular a la plantilla del informe y seleccione los elementos Nivel de combustible y Nivel de combustible procesado para esta gráfica.
-
Ejecute este informe en la unidad requerida para ver su gráfica de nivel de combustible.
-
Aumente gradualmente el nivel de filtración a partir de 0, ejecutando el informe nuevamente cada vez. Para cambiar el nivel de filtración sin cambiar a otra pestaña, use el ícono
junto al nombre de la unidad para ir a sus propiedades.
Al verificar el resultado, analice intervalos de varios días con llenados y descargas de combustible.
Ejemplo de una gráfica cuando el nivel de filtración es 0:
Ejemplo de una gráfica cuando el nivel de filtración es 1:
-
Deje de ajustar el nivel de filtración cuando la línea Nivel de combustible procesado ya no muestre saltos bruscos, pero aún se alinee con los valores promedio de la línea Nivel de combustible.
Ejemplo de una gráfica cuando el nivel de filtración es 2:
Utilice el nivel de filtración más bajo con el que esté satisfecho. Un nivel de filtración demasiado alto puede distorsionar las lecturas del sensor de nivel de combustible.
Como regla general, si tiene que usar un nivel de filtración superior a 10 para lograr un resultado suavizado adecuado, significa que las lecturas del FLS entrantes no son lo suficientemente precisas. Por lo tanto, incluso después de aplicar la filtración, los resultados aún pueden carecer de precisión. En tales casos, considere abordar los factores enumerados al principio de este artículo (recalibrar el tanque, eliminar una obstrucción, instalar un segundo sensor de nivel de combustible, etc.).
Algoritmo de filtración de mediana
En la filtración de mediana, el suavizado de datos se aplica a cada mensaje utilizando el siguiente algoritmo:
-
El sistema determina la ventana del filtro, es decir, el número de mensajes que se utilizarán para obtener el valor suavizado. Este número depende del nivel de filtración. Por ejemplo, si el nivel de filtración es 2, el ancho de la ventana del filtro es de 9 mensajes.
-
El sistema coloca la ventana del filtro de modo que el mensaje para el que se calcula el valor suavizado esté en el centro de la ventana. Es decir, debe haber un número igual de mensajes antes y después de este mensaje. Solo se tienen en cuenta los mensajes con valores válidos de nivel de combustible.
Por ejemplo, en la imagen a continuación puede ver cómo se coloca la ventana del filtro con un ancho de 9 mensajes. El mensaje para el que se calcula el valor suavizado del nivel de combustible se resalta en azul. Es el centro de la ventana. Los mensajes en verde forman las partes izquierda y derecha de la ventana. El rojo indica un mensaje sin datos de nivel de combustible (no se tiene en cuenta), mientras que el negro representa
mensajes que no están incluidos en la ventana del filtro.
-
Los valores de todos los mensajes en la ventana del filtro, incluido el mensaje central, se ordenan en orden ascendente. Por ejemplo, si la ventana del filtro incluye los siguientes valores:
41, 52, 49, 46, 50, 42, 42, 39, 47
entonces en orden ascendente obtenemos:
39, 41, 42, 42, 46, 47, 49, 50, 52 -
El sistema determina el valor en el centro de la cadena resultante (en el ejemplo anterior, es 46). Este valor se considera el nivel de combustible suavizado para el mensaje en cuestión.
Suavizado en tiempo real
Al procesar datos en línea, el valor suavizado se calcula solo cuando el sistema recibe suficientes mensajes de la unidad para completar el lado derecho de la ventana del filtro. Cuanto mayor sea el nivel de filtración especificado en las propiedades del sensor de nivel de combustible y con menos frecuencia el dispositivo envíe datos, más tardará este proceso.
Ejemplo. Se especifica un nivel de filtrado de 2 en las propiedades del sensor de combustible y el dispositivo envía datos una vez por minuto. Dado que el ancho de la ventana del filtro es de 9 mensajes (calculado mediante la fórmula 2 × 5-1), debe haber 4 mensajes a la izquierda y 4 mensajes a la derecha del valor que se va a suavizar. Por lo tanto, se tardarán 4 minutos en llenar la parte derecha de la ventana del filtro y obtener el valor suavizado.
Suavizado en informes
Si el mensaje cuyo valor debe suavizarse está al principio del intervalo del informe y no hay suficientes mensajes antes para formar el lado izquierdo de la ventana del filtro, entonces el valor del primer mensaje en el intervalo se usa en lugar de los valores faltantes. Si el mensaje cuyo valor debe suavizarse está al final del intervalo y no hay suficientes mensajes después para formar la parte derecha de la ventana, entonces el valor del último mensaje se usa en lugar de los valores faltantes.
Ejemplo. En la imagen a continuación, se calcula el valor suavizado para el mensaje 7.
El intervalo del informe incluye los mensajes del 5 al 9, y a la ventana del filtro le faltan dos mensajes tanto en la parte izquierda como en la derecha. En este caso, la ventana del filtro se completa de la siguiente manera: el valor del mensaje 5 se usa en lugar de los mensajes 3 y 4, y el valor del mensaje 9 se usa en lugar de los mensajes 10 y 11.
Dado que los valores reales de los mensajes 3, 4, 10 y 11 son diferentes de los utilizados en la ventana del filtro (compare las líneas gris y negra), el valor suavizado final para el mensaje 7 será menos preciso.
Por lo tanto, el resultado suavizado será menos preciso al principio y al final del intervalo si los datos del sensor de nivel de combustible cambiaron inmediatamente antes y después del intervalo.
Si genera un informe para un intervalo de tiempo relativamente grande y luego divide este intervalo en partes y genera informes para ellos, el resultado suavizado al final y al principio de los intervalos pequeños puede no coincidir con los valores en el mismo momento en el informe para el intervalo grande.
Ejemplo. El usuario ejecuta un informe para la semana del 1 de enero al 7 de enero. En este informe, el valor suavizado del sensor de nivel de combustible es de 300 litros el 2 de enero a las 00:00:00. Luego, el usuario ejecuta un informe solo para el 2 de enero. En este informe, el valor suavizado a las 00:00:00 es igual a 299 litros.