Formato de Publicación de la Escuela Técnica Superior de...

92
Trabajo de Fin de Máster Máster Universitario en Ingeniería Industrial Auscultación geométrica de carriles mediante sensores inerciales y filtros complementarios Autor: Jesús Ortega Almirón Tutor: Dr. José Luis Escalona Franco Dep. Ingeniería Mecánica y Fabricación Escuela Técnica Superior de Ingeniería Universidad de Sevilla

Transcript of Formato de Publicación de la Escuela Técnica Superior de...

Page 1: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

Trabajo de Fin de Máster

Máster Universitario en Ingeniería Industrial

Auscultación geométrica de carriles mediante

sensores inerciales y filtros complementarios

Autor: Jesús Ortega Almirón

Tutor: Dr. José Luis Escalona Franco

Dep. Ingeniería Mecánica y Fabricación

Escuela Técnica Superior de Ingeniería

Universidad de Sevilla

Page 2: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación
Page 3: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

Trabajo de Fin de Máster

Máster Universitario en Ingeniería Industrial

Auscultación geométrica de carriles mediante

sensores inerciales y filtros complementarios

Autor:

Jesús Ortega Almirón

Tutor:

José Luis Escalona Franco

Profesor titular

Dep. de Ingeniería Mecánica y Fabricación

Escuela Técnica Superior de Ingeniería

Universidad de Sevilla

Sevilla, 2016

Page 4: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación
Page 5: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

Trabajo de Fin de Máster: Auscultación geométrica de carriles mediante sensores inerciales y filtros

complementarios

Autor: Jesús Ortega Almirón

Tutor: José Luis Escalona Franco

El tribunal nombrado para juzgar el Proyecto arriba indicado, compuesto por los siguientes miembros:

Presidente:

Vocales:

Secretario:

Acuerdan otorgarle la calificación de:

Sevilla, 2016

El Secretario del Tribunal

Page 6: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación
Page 7: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

1

Resumen

El proceso de auscultación de vías es fundamental para garantizar la seguridad y el confort en

el transporte ferroviario, ya que permite a las administraciones de infraestructuras ferroviarias

determinar las irregularidades geométricas en los carriles y la respuesta dinámica de los vehículos.

En este trabajo se pretende desarrollar un algoritmo eficaz para la auscultación de vías en

tiempo real. Para ello se van recorriendo diversas posibilidades que pasan por sistemas meramente

frecuenciales, para pasar al uso de la transformada Z en el empleo de filtros IIR. Por último se realiza

un desarrollo inicial con el uso del filtro de Kalman.

El objetivo es poder analizar los resultados de diversos métodos para determinar la adecuación

de cada uno según las condiciones de auscultación como velocidad de avance o tipo y magnitud del

ruido de los sensores.

El trabajo se realiza con miras a seguir profundizando en el futuro, por ejemplo considerando

un modelado más preciso de la geometría del vehículo en un contacto tridimensional. Es por ello que

la función de este trabajo es también servir como guía futura de partida para posteriores evoluciones

del modelo.

Page 8: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

Índice de Figuras

2

Page 9: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

3

Índice

Resumen 1

Índice 3

Índice de Figuras 4

1. Introducción 7 1.1. Defectos de la geometría de las vías, la seguridad de la marcha y el confort 8

2. Fusión de sensores. Aproximación frecuencial 12 2.1. Determinación del perfil a partir de datos existentes 14 2.2. Determinación del perfil mediante la transformada de Fourier 19 2.2.1. Truncamiento de funciones de transferencia 20 2.2.2. Fusión de sensores 21 2.3. Determinación del perfil mediante la transformada Z 24 2.4. Corrupción de medidas y análisis en frecuencia 32 2.4.1. Análisis en frecuencia 32 2.4.2. Corrupción de medidas 34

3. Velocidad variable 37 3.1. Filtro adaptativo 38 3.2. Derivadas numéricas 44 3.3. Extrapolación polinómica 49

4. Auscultación con filtro de Kalman 56 4.1. Introducción al filtro de Kalman 57 4.2. Algoritmo e implementación 58 4.3. Resultados 63

5. Comparación y conclusiones 66

Referencias 71

Anexos 73 Anexo A Filtros FIR y IIR 73 Anexo B Transformada Z 74 Anexo C Transformación bilineal 76 Anexo D Cálculo numérico de medidas IMU simuladas 77 Anexo E Auscultación mediante Fourier con truncamiento inferior independiente 78 Anexo F Auscultación mediante Fourier con fusión de sensores 79 Anexo G Auscultación con filtro mediante transformada Z con fusión de sensores 80 Anexo H Corrupción de medidas y análisis en frecuencia 81 Anexo I Auscultación para velocidad variable con filtro adaptativo 82 Anexo J Auscultación para velocidad variable con extrapolación lineal 83 Anexo K Cálculo simbólico de la extrapolación cuadrática 84 Anexo L Auscultación para velocidad variable con extrapolación cuadrática 85 Anexo M Auscultación mediante filtro de Kalman 86

Page 10: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

Índice de Figuras

4

ÍNDICE DE FIGURAS

Fig 1-1. Medida de defectos de los carriles en función de la distancia 8

Fig 1-2. Representación del espectro de potencia de defectos de los carriles 9

Fig 1-3. Tiempo de cansancio para aceleraciones verticales 11

Fig 1-4. Tiempo de cansancio para aceleraciones horizontales 11

Fig 2-1. Modelo 2D 12

Fig 2-2. Función de transferencia entre aceleración e irregularidad 15

Fig 2-3. Ejemplo de frecuencia ciega para el acelerómetro 16

Fig 2-4. Función de transferencia entre giróscopo e irregularidad 17

Fig 2-5. Ejemplo de frecuencia ciega para el giróscopo 18

Fig 2-6. Perfiles calculados por truncamiento de cada función de transferencia 20

Fig 2-7. Error del perfil obtenido desde el acelerómetro 21

Fig 2-8. Error del perfil obtenido desde el giróscopo 21

Fig 2-9. Perfil calculado por fusión de sensores 22

Fig 2-10. Error del perfil obtenido mediante fusión de sensores 22

Fig 2-11. Perfil calculado por fusión de sensores para 100 m 23

Fig 2-12. Perfil calculado por fusión de sensores con transformada Z 26

Fig 2-13. Perfil con inicio horizontal calculado por fusión de sensores con transformada Z 26

Fig 2-14. Perfil con inicio horizontal calculado con transformada Z con giro corregido 27

Fig 2-15. Perfil calculado con transformada Z con ambas correcciones 28

Fig 2-16. Perfil global calculado con transformada Z con ambas correcciones 29

Fig 2-17. Perfil global calculado con filtro de orden 3 29

Fig 2-18. Perfil global calculado con filtro de orden 1 30

Fig 2-19. PSDs de los perfiles real y calculado. Ampliación para frecuencia 0,1. 33

Fig 2-20. Funciones de coherencia de los perfiles real y calculado. 34

Fig 2-21. Precisón y exactitud. 34

Fig 2-22. Perfil calculado con transformada Z incluyendo corrupción de medidas 35

Fig 2-23. PSDs de ambos perfiles 35

Fig 2-24. Funciones de coherencia 36

Fig 3-1. Velocidad de avance de la odometría 40

Fig 3-2. Perfil calculado con transformada Z para velocidad variable 40

Fig 3-3. PSDs de ambos perfiles 41

Fig 3-4. Funciones de coherencia 41

Fig 3-5. Perfil calculado con transformada Z para velocidad variable y errores de medición 42

Fig 3-6. PSDs de ambos perfiles 42

Fig 3-7. Funciones de coherencia 43

Fig 3-8. Perfil calculado numéricamente para velocidad variable 46

Page 11: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

5

Fig 3-9. PSDs de ambos perfiles 46

Fig 3-10. Funciones de coherencia 46

Fig 3-11. Perfil calculado numéricamente con velocidad variable y errores de medición 47

Fig 3-12. PSDs de ambos perfiles 47

Fig 3-13. Funciones de coherencia 48

Fig 3-14. Perfil calculado con interpolación para velocidad variable 52

Fig 3-15. PSDs de ambos perfiles 52

Fig 3-16. Funciones de coherencia 53

Fig 3-17. Perfil calculado con interpolación para velocidad variable y errores de medición 53

Fig 3-18. PSDs de ambos perfiles 54

Fig 3-19. Funciones de coherencia 54

Fig 3-20. Ángulo real y calculado 55

Fig 4-1. Perfil calculado con interpolación para velocidad variable y errores de medición 63

Fig 4-2. PSDs de ambos perfiles 63

Fig 4-3. Funciones de coherencia 64

Fig 4-4. Perfil calculado con Kalman para velocidad variable y errores de medición 64

Fig 4-5. PSDs de ambos perfiles 65

Fig 4-6. Funciones de coherencia 65

Fig 5-1. Perfil calculado con filtro complementario y corrupción de medidas 66

Fig 5-2. Perfil calculado con algoritmo actual incluyendo corrupción de medidas 67

Fig 5-3. PSDs con filtro complementario (izda) y actual (dcha) incluyendo corrupción de medidas 67

Fig 5-4. Funciones de coherencia del filtro complementario 67

Fig 5-5. Funciones de coherencia con el algoritmo actual 68

Fig 5-6. Comparación de perfiles con filtro complementario (izda) y adaptativo (dcha) 68

Fig 5-7. PSDs con filtro complementario (izda) y adaptativo (dcha) 68

Fig 5-8. Funciones de coherencia con filtro complementario 69

Fig 5-9. Funciones de coherencia con filtro adaptativo 69

Fig 5-10. Perfil calculado con Kalman del artículo (izda) y el actual (dcha) 69

Fig 5-11. PSDs del artículo (izda) y el actual (dcha) 70

Page 12: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

Índice de Figuras

6

Page 13: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

7

1. INTRODUCCIÓN

a auscultación de vías es un área importante para el mantenimiento de la infraestructura

ferroviaria, y combinada con la simulación computacional permite el desarrollo y validación

de nuevos diseños de vehículos ferroviarios. El perfil de la vía obtenido puede utilizarse en

una simulación dinámica del vehículo para estudiar su comportamiento a lo largo del recorrido e

identificar zonas en las que pueda existir riesgo o pérdida de confort, como se muestra en el trabajo

de Bonaventura et al [1].

Sin embargo, para permitir una comunicación con el vehículo en funcionamiento y la

interacción con el material rodante, es necesario un procesamiento en tiempo real de la geometría de

la vía. Otra de las ventajas de esto sería la posibilidad de que los operarios de la auscultación

realizaran observaciones oculares a partir de la información en tiempo real. Aparte de la geometría

de la vía, mediante un modelo dinámico podrían detectarse zonas de baja adhesión, como trata [2].

El campo de la instrumentación en ingeniería mecánica ha experimentado un gran avance gracias

al descenso del precio de los sensores y su popularización. Esto, junto con una instrumentación basada en

el modelo del sistema objeto de estudio, permite una adquisición de datos precisa y eficaz a traves de la

auscultación dinámica. Para ello es necesario desarrollar los modelos adecuados de modo que sea posible

aprovechar la información procedente de los sensores de un modo eficaz, fusionándolos de una manera

que lo permita. A lo largo del trabajo se desarrollarán distintos algoritmos para conseguirlo. La

auscultación del perfil vertical puede conseguirse con distintos métodos, L. Grassie planteó una

comparación de distintas técnicas para ello [3].

El uso del filtro de Kalman es de aplicación en este sentido, ya que permite obtener el estado de

un sistema a partir de un conjunto incompleto de medidas experimentales y permite ajustar modelos

teóricos, como ya ha sido empleado en diversos campos relacionados con tracking.

En el campo de la auscultación ferroviaria varios trabajos se basan en el filtro de Kalman, como

Ward et al. [4], que estiman las fuerzas tangenciales de contacto basándose en el filtrado de Kalman y en

un modelo computacional de la dinámica del vehículo.

L

Page 14: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

Introducción

8

1.1. Defectos de la geometría de las vías, la seguridad de la marcha y el confort

Los defectos se toman respecto a la posición de la cabeza de los carriles. Dicha posición viene

dada por un vector respecto al sistema de referencia, de eje X en la dirección del sentido de la marcha,

eje Y en la dirección horizontal transversal y eje Z en la dirección vertical. Los defectos de los carriles

se pueden dar en los siguientes parámetros principalmente [5]:

- Perfil vertical: media aritmética de la altura de cada carril 2/)( deriz zz .

- Alineación: media aritmética de la posición horizontal de cada carril 2/)( deriz yy .

- Nivelación: 2/)( deriz zz .

- Ancho de vía: 2/)( deriz yy .

Los defectos suelen tener asociada una longitud de onda característica. Los carriles corrugados

tienen defectos de alineamiento o nivelación con una longitud de onda bien determinada, y suelen

aparecer en tramos curvos.

La evolución de los defectos a lo largo de la vía puede presentarse de distintas formas con el

objetivo de presentar información relevante. La más directa consiste en presentar el defecto en

función de la coordenada de avance a lo largo de la vía [6], como se muestra en la Fig 1-1:

Fig 1-1. Medida de defectos de los carriles en función de la distancia

Page 15: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

9

Otra forma de presentarlos consiste en representar el espectro de potencia (Power Spectral

Density, PSD) obtenido mediante FFT (Fast Fourier Transform). Esto permite obtener información

relevante ya que muestra de forma clara las frecuencias asociadas a cada valor del defecto. El

resultado se muestra en la Fig 1-2:

Fig 1-2. Representación del espectro de potencia de defectos de los carriles

Esta forma de representación permite detectar qué frecuencias se registran mejor por cada tipo

de sensor, así como tener en cuenta la respuesta oscilatoria del vehículo en análisis dinámicos.

Además, es relevante para el cumplimiento de la normativa, ya que esta establece los límites de

defectos referidos en función de la longitud de onda.

Los defectos comentados deben permanecer por debajo de cierto límite, tal y como establece la

norma europea prEN 13848-5 [7]. Los niveles considerados, en función de su severidad, son:

- AL: límite de alerta. Supone una consecuencia en la política de mantenimiento de la vía, de

repercusión baja.

- IL: límite de intervención. Supone una consecuencia en la política de mantenimiento de la vía,

pero de mayor repercusión que la anterior.

- IAL: límite de acción inmediata. Supone la existencia de riesgo de descarrilamiento de los

trenes y requiere tomar medidas de mayor importancia, como reducir la velocidad, corregir la

geometría o cerrar la vía.

Los límites se establecen para distintas longitudes de onda de los defectos y distintas velocidades

de avance de los vehículos. Las bandas de longitud de onda para los casos de defectos de nivelación y

alineamiento son:

- D1: 3 m < < 25 m.

- D2: 25 m < < 70 m.

Page 16: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

Introducción

10

- D3 (nivelación): 70 m < < 150 m.

- D3 (alineación): 70 m < < 200 m.

A partir de dichas bandas se establecen los límites para los distintos niveles. Para vehículos con

velocidad entre 160 y 230 km/h los límites IAL son:

- D1 (nivelación): 20 mm.

- D1 (alineación): 12 mm.

- D2 (nivelación): 33 mm.

- D2 (alineación): 24 mm.

Aparte de dichas limitaciones anteriores, aplicadas directamente al defecto geométrico de la vía,

las normativas establecen límites para otros parámetros que también dependen de dichos defectos y están

relacionados con el comportamiento dinámico del vehículo.

Por ejemplo, según [8] durante la marcha, debido al riesgo de descarrilamiento o falta de confort,

los vehículos ferroviarios no deben superar los siguientes valores para los siguientes parámetros:

- Carga vertical de cada rueda: Nunca inferior al 10% de la carga estática.

- Ángulo de vuelco del coche: Menor de 6º de pico a pico.

- Aceleración vertical del coche: Inferior a 0,6 g.

Además de las consideraciones para la seguridad de la marcha, existen índices para determinar la

suavidad y confort de la misma, muy relacionados con las irregularidades de la vía, que se basan en el

espectro de potencia de las aceleraciones de los coches, como el índice de marcha de Sperling y el índice

de marcha de British Railways.

El malestar es una medida subjetiva. Existen varios métodos para medirla pero no pueden ser

comparados directamente porque siguen diferentes pautas. Sin embargo coinciden en que el rango de la

aceleración vertical más sensible para el cuerpo humano es entre 4 y 8 Hz y menor de 2 Hz para

aceleración horizontal. En las Fig 1-3 y Fig 1-4 se muestran tiempos de cansancio:

Page 17: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

11

Fig 1-3. Tiempo de cansancio para aceleraciones verticales

Fig 1-4. Tiempo de cansancio para aceleraciones horizontales

Donde se observa que, por lo general, la tolerancia es mayor para las aceleraciones verticales que

para las horizontales.

Page 18: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

Fusión de sensores. Aproximación frecuencial

12

2. FUSIÓN DE SENSORES. APROXIMACIÓN

FRECUENCIAL

ntes de emplear algoritmos basados en optimización aplicados a la señal de los sensores,

merece la pena abordar el problema de auscultación y fusión de sensores desde el

dominio de la frecuencia. Esto permite también observar la influencia de la frecuencia de

las irregularidades en la lectura de los sensores.

Fig 2-1. Modelo 2D

Para llevar a cabo la auscultación se empleará el vehículo simplificado de dos ruedas

bidimensional del a Fig 2-1. La auscultación se realizará teniendo en cuenta las relaciones geométricas,

es decir, sólo la cinemática del vehículo. Aunque se considerará una simplificación 2D, sería interesante

para un trabajo futuro incorporar las ecuaciones genéricas dadas en [9]. Se situarán dos sensores en el

centro del vehículo, un acelerómetro y un giróscopo, tal y como se muestra en la figura superior, donde:

- L es la longitud del vehículo y distancia de separación entre ambos puntos de contacto.

- v es la velocidad de avance.

- s es la coordenada espacial en dirección del avance de la rueda delantera.

- y es la altura del perfil.

- x es la altura del centro del vehículo (IMU).

A

Page 19: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

13

- es el ángulo de inclinación del vehículo.

Para ello se considerarán las siguientes hipótesis:

- El vehículo es un sólido rígido sin suspensión.

- La velocidad de avance del vehículo es constante.

- Las ruedas tienen diámetro despreciable, por lo que a efectos de cálculo el contacto es puntual

en los extremos del vehículo.

- Las ruedas mantienen el contacto con el suelo en todo momento sin separarse.

- La amplitud de las irregularidades es despreciable con respecto a la longitud del vehículo.

- Las medidas de los sensores son exactas.

En primer lugar se llevará a cabo la auscultación suponiendo datos ya recogidos por los sensores,

para posteriormente proceder a realizarla en tiempo real.

Page 20: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

Fusión de sensores. Aproximación frecuencial

14

2.1. Determinación del perfil a partir de datos existentes

A continuación se presenta el desarrollo matemático del proceso a seguir. Las ecuaciones que

relacionan el perfil con las variables del sistema son:

2

)()( Lsysyx

(1)

L

Lsysy )()( (2)

Y sus derivadas respecto la variable espacial:

2

)()( Lsysyx

(3)

L

Lsysy )()( (4)

La aceleración del punto medio se relaciona con su posición según:

xvdt

ds

ds

dxx (5)

xdt

dv

dt

ds

ds

xdvx

dt

dv

dt

xdv

dt

xdx

, y como 0

dt

dv:

xvx 2 (6)

Y la velocidad angular:

vdt

ds

ds

d (7)

Que relacionan directamente las derivadas espaciales y temporales y, por tanto, la geometría con

las medidas de los sensores.

A continuación, para determinar la geometría a partir de los datos de la IMU, se procede a su

estudio en frecuencia. Para ello se supone que la altura del perfil puede descomponerse en funciones

armónicas de distintas amplitudes para cada frecuencia, del modo:

sisi

YeYesy

2

)( (8)

Donde es la longitud de onda espacial y la frecuencia espacial.

Page 21: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

15

Su segunda derivada será:

siYesy 2)( (9)

De manera análoga, la segunda derivada espacial de x:

siAesx )( (10)

Y utilizando la ecuación (1) en la (10):

YTeYA

eYeYeYeAe

Li

LisiLsisisi

1

2

222

12

1

12

1

2

1

(11)

Donde 1T es la función de transferencia entre aceleración e irregularidad.

...5,3,,012,01)cos(,00

)cos(12

1)sin()cos(2)cos(1

2

1

)sin()cos(12

11

2

1

1

2222

1

22

1

jLLT

LLLLT

LiLeT Li

(12)

Lo que indica que dicha función será nula para longitudes de onda del terreno = , 2L,

2L/3, 2L/5, etc. La forma de dicha función se observa en la Fig 2-2:

Fig 2-2. Función de transferencia entre aceleración e irregularidad

Page 22: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

Fusión de sensores. Aproximación frecuencial

16

La interpretación física corresponde a valores nulos del acelerómetro para dichas longitudes

de onda, ya que el vehículo gira pero mantiene su punto medio a la misma altura, por lo que para

dichas frecuencias el acelerómetro no ofrece ninguna información sobre el terreno. Se muestra un

ejemplo para la frecuencia 3 L/ en la Fig 2-3, donde se observa que el centro del vehículo permanece

sin variar su cota.

Fig 2-3. Ejemplo de frecuencia ciega para el acelerómetro

Hasta aquí la aportación del acelerómetro. Para el giróscopo se sigue un desarrollo análogo al

anterior. La primera derivada espacial de será:

sies )( (13)

Y la primera derivada espacial de y:

siYeisy )( (14)

Con la ecuación (2):

YTeYiL

eYeiL

YeiYeiL

e

Li

LisiLsisisi

211

111

(15)

Donde 2T es la función de transferencia entre giróscopo e irregularidad.

Page 23: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

17

...6,4,2,01)cos(0

)cos(12

)sin()cos(2)cos(11

)sin()cos(1

)sin()cos(11

11

2

22

2

2

LLT

LL

LLLL

T

LLiiL

LiLiL

eiL

T Li

(16)

Lo que indica que dicha función será nula para longitudes de onda del terreno = , L,

L/2, L/3, etc. La forma de dicha función se observa en la Fig 2-4:

Fig 2-4. Función de transferencia entre giróscopo e irregularidad

La interpretación física corresponde a valores nulos del giróscopo para dichas longitudes de

onda, ya que el movimiento del vehículo se corresponde con una traslación pura, por lo que para

dichas frecuencias no cambia su orientación y el giróscopo no ofrece ninguna información sobre el

terreno. Se muestra un ejemplo para la frecuencia 2 L/ en la Fig 2-5, donde se observa que el centro

del vehículo permanece sin variar su cota.

Page 24: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

Fusión de sensores. Aproximación frecuencial

18

Fig 2-5. Ejemplo de frecuencia ciega para el giróscopo

A continuación es necesario combinar la información obtenida de ambos sensores para determinar

el perfil inicial del terreno, es decir, la fusión de sensores. Para ello, en esta aproximación frecuencial

habrá que tener en cuenta los valores de frecuencias en que cada sensor ofrece información.

Page 25: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

19

2.2. Determinación del perfil mediante la transformada de Fourier

El proceso se llevará a cabo mediante la transformada de Fourier. Las transformadas de las

variables empleadas son las siguientes:

)]([)(

)]([)(

)]([)(

sF

sxFA

syFY

(17)

Y empleando la funciones de transferencia vistas antes:

)()()(

)()()(

2

1

YT

YTA

(18)

A partir de los datos del acelerómetro:

)()()()()(1

12 )(// syYAsxtx FTFv

A partir de los datos del giróscopo:

)()()()()(1

2 )(// syYst FTFv

Nótese que, aunque en teoría ambos sensores pueden proporcionar la función de irregularidad del

terreno, el hecho de que haya zonas de frecuencias ciegas para cada uno hace que sea necesaria la fusión

de ambos.

El problema surge en las cercanías de dichas frecuencias, donde las funciones de transferencia

toman valores cercanos a cero. Esto genera problemas numéricos e indeterminaciones en los puntos

mencionados. Para solucionar esto, la fusión a emplear consiste en escoger cada función de transferencia

en función de cuál de las dos es mayor.

De esta manera cuando una de las funciones de transferencia se aproxima a una frecuencia que la

anula, al disminuir por debajo del valor de la otra función de transferencia, se calcula la )(Y por medio

de ella. Esto es posible ya que los valores de frecuencias en los que dichas funciones de trasferencia se

anulan son diferentes, lo que permite su complementación de esta manera, a excepción de frecuencia cero.

Debido a que a frecuencia nula ambas funciones valen cero es necesario truncar ambas.

A continuación se aplicará dicho método para el caso ejemplificado. Se utilizará como entrada un

perfil de vía generado aleatoriamente, en el archivo IrrVia.txt. A partir de estos datos de irregularidad se

calcularán las medidas teóricas proporcionadas por los sensores para posteriormente aplicar la fusión de

sensores a la auscultación.

Page 26: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

Fusión de sensores. Aproximación frecuencial

20

El cálculo de medidas de los sensores se lleva a cabo en el siguiente código. Se ha supuesto una

longitud del vehículo de 5 m y una velocidad inicial de 20 m/s. La longitud de la vía es de 10 km. Los

códigos en MatLab de esto se adjuntan en el Anexo D.

Ahora se parte de las medidas proporcionadas por los sensores para aplicar las relaciones

cinemáticas expuestas anteriormente y Fourier, como se observa en el Anexo E.

2.2.1. Truncamiento de funciones de transferencia

Antes de proceder a la fusión de sensores se observarán los resultados al truncar simplemente cada

una de las funciones de transferencia para evitar las cercanías de los valores nulos, introduciendo de esta

forma un error.

Para este ejemplo, el truncamiento se llevará a cabo cuando el valor absoluto de la función de que

se trate disminuya por debajo de 0,001. Los códigos se observan en el Anexo E.

La siguiente figura, Fig 2-6, muestra los perfiles calculados junto con el real:

Fig 2-6. Perfiles calculados por truncamiento de cada función de transferencia

El error medio, en valor absoluto y relativo respecto a la RMS del perfil, entre el 10% y el 90%

del recorrido es:

- Perfil desde el acelerómetro: 61016,3 m y 6,06%. Fig 2-7.

Page 27: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

21

Fig 2-7. Error del perfil obtenido desde el acelerómetro

- Perfil desde el giróscopo: 61088,1 m y 3,61%. Fig 2-8.

Fig 2-8. Error del perfil obtenido desde el giróscopo

2.2.2. Fusión de sensores

Aunque los resultados a partir de cada sensor puedan ser aceptables, cada uno de ellos proporciona

valores más precisos para diferentes frecuencias. Por ello se propone combinar las lecturas de ambos y

fusionarlas dando prioridad al rango de mayor precisión en cada caso. Esto es análogo a lo que emplearon

Smith y Wu [18], combinando medidas de desplazamiento, precisas para baja frecuencia, y aceleración,

precisas para alta frecuencia, para obtener datos de desplazamiento de alta precisión.

A continuación se lleva a cabo la fusión de sensores para este caso. Es necesario realizar

truncamiento en la cercanía de cero ya que ambas se anulan. Para la selección de la función se da

preponderancia a la del giróscopo multiplicándola por un factor de 100, ya que crece más lentamente y

ha mostrado menor error medio. Los códigos se muestran en el Anexo F.

Page 28: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

Fusión de sensores. Aproximación frecuencial

22

La Fig 2-9 muestra el perfil calculado con la fusión de sensores junto con el real:

Fig 2-9. Perfil calculado por fusión de sensores

Puede observarse claramente una mejor aproximación del perfil real que sin el uso de la fusión.

El error medio entre el 10% y el 90% del recorrido calculado con la fusión es de 61021,1 m y 2,32%

relativo a la RMS, como muestra la Fig 2-10.

Fig 2-10. Error del perfil obtenido mediante fusión de sensores

Sin embargo, aunque los resultados obtenidos son aceptables, este método no es apto para ser

utilizado en auscultación de vías debido a la imposibilidad de implantación en tiempo real y sus

consiguientes usos potenciales en ferrocarriles.

Page 29: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

23

Además, cuando la longitud del recorrido no tiene suficientes puntos aparecen errores

importantes, esto se observa cuando se aplica la fusión a un tramo de sólo 100 m, en la Fig 2-11.

Fig 2-11. Perfil calculado por fusión de sensores para 100 m

Para la consecución de dicho objetivo será necesario utilizar otro método, aplicando la

transformada Z a través de filtros causales, como se verá a continuación. Esto permitirá que el cálculo

pueda ser realizado en tiempo real.

Page 30: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

Fusión de sensores. Aproximación frecuencial

24

2.3. Determinación del perfil mediante la transformada Z

El objetivo es conseguir los coeficientes de dos filtros que, al ser aplicados sobre las medidas del

acelerómetro y del giróscopo, permitan obtener el desplazamiento y el álgulo del punto central del

vehículo en cada punto del terreno.

De cada filtro puede obtenerse su función de transferencia en el dominio de z con la transformada

Z, quedando una expresión de la siguiente forma:

)()()(

11

1

0 zXzHzX

za

zb

zYM

m

m

m

L

l

l

l

(19)

Esta función de transferencia en el dominio de z, )(zH , tiene su función de transferencia

equivalente en el dominio de s, )(sH , de modo que )()( sXsHsY . Por tanto, hallando la función de

transferencia en el dominio de s puede obtenerse fácilmente el filtro necesario.

A continuación se obtienen las funciones de transferencia de ambos sensores. Para el caso del

acelerómetro, dicha función relaciona la lectura del sensor con la posición vertical del mismo. De la

ecuación (6) y aplicando la transformada de Laplace:

221

222 1

vssX

sXsHsXvssXxvx

(20)

Para el caso del giróscopo, dicha función relaciona la lectura del sensor con el giro del vehículo.

De la ecuación (7) y aplicando la transformada de Laplace:

svs

ssHssvsv

12

(21)

A partir de dichas funciones de transferencia en el dominio de s se pueden calcular las funciones

de transferencia en el dominio de z por medio de la transformación bilineal. Teniendo en cuenta que:

1

12

z

z

Ts (22)

Lo que permitirá obtener los coeficientes de los filtros buscados. Aplicando la relación anterior a

la función de transferencia de la posición vertical:

Page 31: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

25

21

2

2

21

2

2

2

2

2

2

2

2

121

424

12

12

4

zz

zv

Tz

v

T

v

T

zz

zz

v

TzH (23)

De ahí pueden obtenerse los coeficientes siguientes:

1;2;4

;2

;4

212

2

22

2

12

2

0 aav

Tb

v

Tb

v

Tb

Siguiendo el mismo desarrollo para el ángulo de giro, la función de transferencia queda:

1

1

21

22

1

1

2

z

zv

T

v

T

z

z

v

TzH (24)

Y los coeficientes para dicho filtro:

1;22

110 av

Tb

v

Tb

Al aplicar dichos filtros se obtiene la posición del punto central del vehículo y el ángulo de giro

en cada punto. Con dicha información es posible determinar la geometría del terreno fusionando la

información de ambos sensores. En este caso la fusión puede conseguirse de manera eficaz aplicando la

relación existente entre ambos parámetros:

)(2

)( sL

sxsy (25)

Pero con esto se obtiene sólo el perfil recorrido por la rueda izquierda, por lo que faltaría un tramo

final sin determinar, igual a la longitud del vehículo. Para dicho tramo se puede emplear el perfil recorrido

por la otra rueda, para obtener el perfil completo:

)(2

)( sL

sxsy (26)

También podría haberse calculado el tramo inicial y posteriormente el resto del recorrido, con

mismo resultado.

A continuación se observa en la Fig 2-12 el resultado obtenido por este método.

Page 32: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

Fusión de sensores. Aproximación frecuencial

26

Fig 2-12. Perfil calculado por fusión de sensores con transformada Z

Aquí puede observarse que el perfil calculado de este modo acumula un error creciente. Esto es

debido a que el perfil predicho es resultado de una integración, lo que supondrá un error de traslación que

al integrarse dos veces toma forma creciente, generando dicha diferencia. Este error surge al no comenzar

la posición del acelerómetro en tangente horizontal, es decir, con comenzar con velocidad vertical nula.

Este error será resuelto posteriormente.

A continuación, para poder realizar una comparación útil se toma un perfil que comience con

pendiente nula. En dicho caso se observa en la Fig 2-13.

Fig 2-13. Perfil con inicio horizontal calculado por fusión de sensores con transformada Z

Se observa como el error acumulativo de integración en este caso no aparece, permitiendo un error

medio de 61025,5 m y 10% relativo a la RMS. Sin embargo, sigue habiendo un error, originado en parte

por la integración de la velocidad del sensor, y por otra parte por la integración de la velocidad angular.

El error ahora no es acumulativo, ya que se produce al integrar una vez. El error debido a la integración

de la velocidad del sensor no es relevante, ya que sólo produce una traslación del perfil.

Page 33: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

27

Para solucionar el error de integración de la velocidad angular se impone la condición de que el

perfil bajo la rueda izquierda tenga la misma elevación que el perfil de la rueda derecha en un punto

desfasado la longitud del vehículo:

)(2

)()()(2

)()( LsL

LsxLsysL

sxsy izquierdaderecha

)()(2

)()( sLsL

sxLsx (27)

Sin embargo, esto no se cumplirá debido al error de integración de la velocidad angular, que

genera un desplazamiento constante en el ángulo de giro. Teniendo en cuenta dicho error e imponiendo

la condición anterior, es posible hallarlo:

L

sxLsxsLssLsL

sxLsx errerrerr

2)()()()(2)()(

2)()(

2

2)()()()(

LLsxsxsLs

err

(28)

Este error se puede calcular con un solo punto, por ejemplo el inicial, y restando dicho error de la

función del ángulo calculada por integración se obtiene la función sin el error de traslación.

Obteniendo el nuevo perfil con el ángulo corregido y trasladando la geometría del perfil para no

introducir error debido a la media, se muestra en la Fig 2-14.

Fig 2-14. Perfil con inicio horizontal calculado con transformada Z con giro corregido

Page 34: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

Fusión de sensores. Aproximación frecuencial

28

La corrección de dicho error del ángulo (suponiendo que no existe error de media, ya que es

irrelevante) supone el paso de un error medio de 610215,1 m a 610204,1 m (2,33% a 2,31% relativos)

sobre el perfil con la corrección introducida. En este caso la disminución del error es muy pequeña, debido

a que el error en el ángulo era de sólo 61043,4 radianes, pero en caso de ser mayor el error sobre el

perfil se apreciaría mucho más.

Sin embargo este resultado se obtiene para el caso de perfil con la posición del acelerómetro en

tangente horizontal. Para el caso general en que esto no ocurra es necesario solucionar el problema de la

doble integración, que genera un error acumulativo.

Una posible solución del problema consiste en pasar la medida del acelerómetro a través de un

filtro paso alto, como un filtro Butterworth. Este filtro permite eliminar las bajas frecuencias, de modo

que desaparezca el error por traslación o valor medio no nulo de la velocidad obtenida por integración del

acelerómetro. Al desaparecer dicha traslación la segunda integración no producirá el defecto acumulativo

visto anteriormente.

Para eliminar sólo la frecuencia respondable del valor medio, es decir, la frecuencia cero, es

necesario situar la frecuencia de corte lo más próxima posible a cero. Sin embargo, como no es posible

obtener el caso ideal, es necesario variar la frecuencia de corte y el orden hasta conseguir resultados

aceptables. Se empieza comprobando un filtro Butterworth paso alto de orden 2 y con una frecuencia de

corte de 0,001 rad. Los resultados se observan en la Fig 2-15.

Fig 2-15. Perfil calculado con transformada Z con ambas correcciones

Y en la Fig 2-16 se observa el recorrido global:

Page 35: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

29

Fig 2-16. Perfil global calculado con transformada Z con ambas correcciones

El error medio, en valor absoluto, entre el 10% y el 90% del recorrido es de 510491,1 m y 28,5%

de la RMS. Como se observa, debido a la magnitud del error y la imposibilidad de una corrección exacta,

el efecto sigue teniendo una importancia relevante, sobre todo en la primera parte del recorrido.

Si se emplean valores distintos se llegan a soluciones más o menos aptas en función de lo que se

busque. Por ejemplo, para una frecuencia de corte de 0,0001 rad y orden 3 se obtendría, como se muestra

en la Fig 2-17.

Fig 2-17. Perfil global calculado con filtro de orden 3

Page 36: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

Fusión de sensores. Aproximación frecuencial

30

Donde el perfil calculado tarda mucho más en conseguir valores aproximados al real, teniendo un

error medio de 410637,2 m y 505% relativo, pero a partir de la mitad el perfil calculado se ajusta mejor

que en los casos anteriores, consiguiendo un error medio de sólo 610671,2 m y 5,12%.

Como último ejemplo, se observa en la Fig 2-18 el resultado empleando un filtro de primer orden

con una frecuencia de corte de 0,001 rad, igual al primer caso:

Fig 2-18. Perfil global calculado con filtro de orden 1

Este parece aproximar mejor el perfil que el de segundo orden, en efecto, el error entre el 10% y

el 90% del recorrido es de 51001,1 m y 19,3% relativo frente al 510491,1 m y 28,59% relativo del de

segundo orden.

La implementación en código quedaría tal como aparece en el anexo G.

No obstante, las comparativas realizadas sólo permiten visualizar la aproximación geométrica a

simple vista, por lo que sería interesante realizar un análisis frecuencial para comprobar la adecuación del

Page 37: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

31

algoritmo en la detección de distintas frecuencias de la vía, a lo que además se encuentran referidos los

límites de defectos establecidos en la normativa.

Otro efecto que no se ha contemplado se refiere a la precisión de los sensores y el ruido de la

medición, por lo que en el siguiente apartado se considerarán los efectos de errores de calibración y errores

aleatorios de los sensores.

Page 38: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

Fusión de sensores. Aproximación frecuencial

32

2.4. Corrupción de medidas y análisis en frecuencia

2.4.1. Análisis en frecuencia

Para comprobar la adecuación del perfil calculado al real para las distintas frecuencias se empleará

el análisis de la densidad espectral. Esta función muestra cómo está distribuída la potencia o energía de la

señal para las distintas frecuencias [10]. La energía de una señal es:

dttxE2

(29)

La Relación de Parseval o Teorema de Parseval demuestra que la integral del cuadrado de una

función es igual a la integral del cuadrado de su transformada de Fourier:

dffXdftxFdttx222

(30)

Siendo fXtxF la transformada de Fourier de la señal anterior. De este modo, puede

expresarse la energía para cada frecuencia, conformando así la ESD (Energy Spectral Density):

2fXfEfSxx (31)

Sin embargo, para señales continuas en el tiempo, como procesos estacionarios, es más apropiado

utilizar la PSD (Power Spectral Density), que será empleado en este caso ya que el perfil se puede

considerar como una señal definida en potencia (energía infinita). Esta función describe cómo se

distribuye la potencia sobre la frecuencia. Al ser la potencia energía por unidad de tiempo, la aplicación

a señales se define como:

𝑃 = lim𝑇→∞

1

2T

T

T

dttx2

(32)

Y la PSD se define como:

xxxx RFfPfS (33)

Donde xxR es la función de autocorrelación:

dttxtxRxx (34)

Page 39: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

33

Dicha función se implementa en MatLab con el método de estimación de Welch, en el que se

representa la PSD escalada por la frecuencia de muestreo, lo que permite su integración para obtener la

potencia media. La función utilizada es:

% Power Spectral Density [Pxx F] = pwelch(yl);

Para la fusión de sensores vista en el apartado anterior, las gráficas de la Power Spectral Density

para los perfiles real y calculado se muestran en la Fig 2-19.

Fig 2-19. PSDs de los perfiles real y calculado. Ampliación para frecuencia 0,1.

Donde se observa un buen ajuste para gran parte del rango de frecuencias.

Aparte de la PSD para comprobar la precisión de la auscultación en el dominio de la frecuencia

se utilizarán otras funciones adicionales, las funciones de coherencia. La función de coherencia en

magnitud de dos señales se define como:

fSfS

fSfC

yyxx

xy

xy

2

(35)

Donde fSxy es la densidad espectral cruzada de ambas señales. Análogamente a la PSD de una

señal, la densidad espectral cruzada se define como la transformada de Fourier de la función de correlación

cruzada de ambas señales:

dttytxFRFfS xyxy (36)

Los valores de la función de coherencia estarán siempre entre 0 y 1. Para un ajuste ideal dicho

valor sería de 1. Además de esta función se puede evaluar la coherencia de fase de ambas señales,

definiéndola como el arcotangente de las partes real e imaginaria de la función de correlación cruzada de

las señales. La implementación en MatLab quedaría:

Page 40: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

Fusión de sensores. Aproximación frecuencial

34

% Coherencia csd_f = cpsd(yl,y); coh_f = abs(csd_f).^2./(Pxx.*Pxx_f); phase_f = atan2(-imag(csd_f),real(csd_f))*180/pi;

Aplicando dichas funciones de coherencia al caso anterior:

Fig 2-20. Funciones de coherencia de los perfiles real y calculado.

La Fig 2-20 pone de manifiesto el nivel de ajuste conseguido por el algoritmo de auscultación

implementado. Sin embargo, este nivel no es realista aún, ya que obvia los efectos de ruido y errores de

los sensores. Este hecho puede provocar que ambas difieran considerablemente, así que a continuación se

procederá a comprobar el efecto de la corrupción de sensores.

2.4.2. Corrupción de medidas

El objetivo es comprobar la idoneidad del algoritmo en condiciones más próximas a las reales.

Para ello se afectarán a los sensores por dos errores, que tendrán repercusión en su precisión y exactitud.

Fig 2-21. Precisón y exactitud.

El error de exactitud se modelará como un desplazamiento de todas las medidas, bias o

descentramiento, que afectará a la media. La precisión afectará a la varianza, generando el error de forma

aleatoria. La implementación en MatLab sería:

Page 41: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

35

A continuación se mostrarán los resultados del algoritmo de auscultación cuando se tienen en

cuenta estos efectos en los sensores. El perfil calculado se muestra en la Fig 2-22.

Fig 2-22. Perfil calculado con transformada Z incluyendo corrupción de medidas

El error medio respecto al perfil real resulta de 51027,2 m o 43,5% respecto a la RMS. La

comparación de las PSDs de ambos perfiles se muestra en la Fig 2-23.

Fig 2-23. PSDs de ambos perfiles

Y las funciones de coherencia y coherencia de fase en la Fig 2-24.

Page 42: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

Fusión de sensores. Aproximación frecuencial

36

Fig 2-24. Funciones de coherencia

Se comprueba que, a pesar de arrojar resultados muy similares al caso de sensores ideales cuando

se compara sólo el perfil geométrico, sin embargo las funciones de comparación en frecuencia muestran

el efecto de dichos errores de medición. Es por tanto una herramienta imprescindible para poder tener una

clara visualización de la eficacia del algoritmo de auscultación.

Sin embargo, para comprobar la validez del algoritmo es conveniente tener en cuenta también los

resultados previos a la corrupción de medidas, ya que de ese modo puede asegurarse que la causa de las

posibles discrepancias observadas no se encuentra en el error de medición.

Los códigos para la corrupción de medidas y el análisis en frecuencia se adjuntan en el Anexo H.

Page 43: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

37

3. VELOCIDAD VARIABLE

l caso considerado hasta ahora partía de la hipótesis de una velocidad constante, para mayor

sencillez del modelo. Sin embargo, aunque la velocidad en régimen permanente variará

lentamente, sería útil comprobar la importancia de este efecto así como cuando las

aceleraciones son mayores.

Si la velocidad de avance cambia con el tiempo, como suele ser el caso de los vehículos de

laboratorio, deben implementarse algoritmos diferentes. Para ello se supondrá que, además de los datos

proporcionados por el acelerómetro y el giróscopo, se dispone de la medida de la posición, velocidad y

aceleración en cada paso de tiempo. Estas señales pueden obtenerse de un tacómetro o un encoder.

Para el caso de velocidad de avance variable, el proceso de medida usará un período de muestreo

constante y, por tanto, una distancia de muestreo variable. Eso será tenido en cuenta en los algoritmos de

auscultación.

Se implementará de dos formas, en una primera aproximación se considerará una simplificación

en la transformada de Laplace y en la segunda se empleará interpolación matemática.

E

Page 44: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

Velocidad variable

38

3.1. Filtro adaptativo

En una primera aproximación se intentará considerar la velocidad variable sin dejar de hacer uso

de filtros en el algoritmo de auscultación. Para ello se parte de las ecuaciones anteriores (6) y (7) que

relacionaban las medidas de los sensores. Para el acelerómetro:

xdt

dv

dt

ds

ds

xdvx

dt

dv

dt

xdv

dt

xdx

, y como 0

dt

dv:

xvxvx 2 (37)

Que en este caso, al no ser la velocidad constante, incluye el término de aceleración. Para el

giróscopo:

vdt

ds

ds

d (7)

Que es igual a la original, ya que sólo llega a la primera derivada.

Sin embargo, no es posible aplicar Laplace del mismo modo que se hizo anteriormente, ya que en

este caso la velocidad no es independiente y no puede extraerse de la transformada. La aproximación

consiste en suponer que la variación de la velocidad de avance es lo suficientemente lenta como para

poder considerar la velocidad constante en cada paso. Con esto se incurrirá en cierto error, que

posteriormente se comprobará si es suficientemente relevante como para invalidar el método o pueden

obtenerse resultados satisfactorios.

La función de transferencia correspondiente al acelerómetro sería:

vsvssX

sXsHsXvssXvssXxvxvx

221

222 1 (38)

Y la del giróscopo:

svs

ssHssvsv

12

(39)

Aplicando la transformación bilineal a la función de transferencia de la posición vertical:

T

vz

T

vz

T

v

T

vz

T

v

zz

z

z

T

v

zz

zz

T

vzH

2242

44

12

1

12

21

214

1

2

2

2

2

22

2

2

2

2

2

2

21

Page 45: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

39

2

2

21

2

2

2

2

21

2

2

2

2

2

2

2

22

2

2

2

1

2

2

2

41

24224

2442

24

12

zvTv

vTvz

vTv

v

zvTv

Tz

vTv

T

vTv

T

T

v

T

vz

T

vz

T

v

T

v

zzzH

(40)

De ahí pueden obtenerse los coeficientes siguientes:

vTv

vTva

vTv

va

vTv

Tb

vTv

Tb

vTv

Tb

2

2

22

2

12

2

22

2

12

2

02

2;

2

4;

24;

2;

24

Siguiendo el mismo desarrollo para el ángulo de giro, la función de transferencia queda:

1

1

21

22

1

1

2

z

zv

T

v

T

z

z

v

TzH (41)

Y los coeficientes para dicho filtro:

1;22

110 av

Tb

v

Tb

Al ser filtros que dependen de la velocidad y la aceleración en cada paso, deben ser recalculados

y aplicados a cada nuevo punto del recorrido, lo que incrementa el coste computacional y reduce su

aplicabilidad al tiempo real.

También en este caso se emplea un tercer filtro paso alto para eliminar posibles errores de bias y

de integración de la señal del acelerómetro, que en este caso será de orden 3.

Para implementar lo anterior se cargan datos del odómetro, que incluye la posición y velocidad

de avance en cada instante, y para poder aplicar los filtros se remuestrean interpolando en los puntos del

recorrido. La implementación del algoritmo se muestra en el Anexo I.

A continuación se comprueban los resultados de la aplicación. Para este caso se emplea la

velocidad registrada en la Fig 3-1.

Page 46: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

Velocidad variable

40

Fig 3-1. Velocidad de avance de la odometría

En primer lugar se procede sin incluir los errores de medición de los sensores. El perfil calculado

de este modo se muestra en la Fig 3-2.

Fig 3-2. Perfil calculado con transformada Z para velocidad variable

El error medio respecto al perfil real resulta de 51028,2 m y 43,7%. La comparación de las PSDs

de ambos perfiles se observa en la Fig 3-3.

Page 47: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

41

Fig 3-3. PSDs de ambos perfiles

Y las funciones de coherencia y coherencia de fase en la Fig 3-4.

Fig 3-4. Funciones de coherencia

Para que la auscultación se afecte por los errores de medición propios de los sensores se

considerarán errores medios y errores variables aleatorios tanto para el giróscopo como para el

acelerómetro, de entre el 1% y el 5% de los valores medios. El perfil calculado se representa en la Fig 3-

5.

Page 48: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

Velocidad variable

42

Fig 3-5. Perfil calculado con transformada Z para velocidad variable y errores de medición

El error medio respecto al perfil real resulta de 5104,2 m o 46%. En la gráfica superior apenas

se aprecia diferencia con la anterior debido a los errores de los sensores, esto es porque el efecto más

importante viene causado por la velocidad variable y los errores de integración, así como las discrepancias

introducidas por el filtro. Para tener mejor perspectiva de la comparación es interesante observar las

funciones en el dominio de la frecuencia, donde el efecto se observa más claramente, en especial en la

función de coherencia.

La comparación de las PSDs de ambos perfiles se representa en la Fig 3-6.

Fig 3-6. PSDs de ambos perfiles

Y las funciones de coherencia en la Fig 3-7.

Page 49: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

43

Fig 3-7. Funciones de coherencia

Teniendo en cuenta la imprecisión del método y considerando la función de coherencia los

resultados son bastante satisfactorios para gran parte del rango de frecuencia, como se observa en las

gráficas superiores.

Sin embargo, el coste computacional de este método es ciertamente elevado, dado que tiene que

recalcular los filtros y aplicarlos en cada paso, a parte de ser necesario remuestrear la señal de la velocidad

de avance para que los pasos de la coordenada espacial sean constantes y puedan aplicarse los filtros.

Se plantea entones una nueva aproximación que considera interpolación matemática en lugar de

la transformada z para calcular los puntos del perfil.

Page 50: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

Velocidad variable

44

3.2. Derivadas numéricas

En esta aproximación se aproximarán las derivadas espaciales de las funciones de posición y

ángulo del sensor. Se supondrá que el paso temporal y espacial es lo suficientemente pequeño como para

permitir aproximar las derivadas espaciales por su cálculo numérico a partir de los valores en pasos

anteriores.

Se aplica dicho procedimiento tanto a las lecturas del acelerómetro como del giróscopo utilizando

sus ecuaciones de relación. Para el caso del acelerómetro, las derivadas numéricas son:

1

1

ii

iii

ss

xxx ,

21

211

ii

iii

ss

xxx

121

21

2

1

1

1

21

21

1

1

1

1

iiii

ii

ii

ii

ii

ii

ii

ii

ii

ii

iii

ssss

xx

ss

xx

ss

ss

xx

ss

xx

ss

xxx (42)

Y se sustituyen estas expresiones en la ecuación (37) del acelerómetro:

1

1

121

21

2

1

122

ii

ii

iiii

ii

ii

ii

ss

xxv

ssss

xx

ss

xxvxvxvx (43)

De la expresión (43) se despeja el valor de la función ix , como se desarrolla a continuación:

1

1

1121

21

2

1

12

2

1

2

ii

ii

ii

ii

iiii

ii

ii

ii

ii

iii

ss

xv

ss

xv

ssss

xx

ss

xv

ss

xvx

1

2

1

2

1

1

121

21

2

1

12

ii

i

ii

i

ii

ii

iiii

ii

ii

iii

i

ss

v

ss

v

ss

xv

ssss

xx

ss

xvx

x

(44)

Que es una expresión del tipo:

iiiiiiiiii vvsssxxxxx ,,,,,,, 2121

Que sólo depende de valores en pasos anteriores, por lo que es una función causal que puede ser

evaluada en tiempo real a partir de los valores previos de x, y los valores anteriores y actual de la posición,

velocidad y aceleración longitudinal del vehículo.

Page 51: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

45

Para la aplicación práctica de dicha expresión hay que tener en cuenta que la velocidad de avance

no debe ser próxima a cero, ya que en tal caso el denominador tiende a cero y la expresión no puede ser

evaluada. Esto es consecuencia de que cuando la velocidad de avance es nula, la irregularidad no genera

ninguna lectura en el sensor. Por tanto, cuando la velocidad es demasiado baja los valores calculados

pueden tener formas extrañas, a parte de la mayor influencia en caso de ruído e imprecisión en la lectura.

Por ello se establece una velocidad de corte mínima que, para este caso, se toma de 0,5 m/s.

A continuación se aplica el mismo procedimiento a la lectura del giróscopo. En este caso la

derivada numérica es:

1

1

ii

iii

ss

(45)

Y se sustituye la expresión en la del giróscopo:

1

1

ii

ii

ssvv

(46)

De esta expresión se despeja el valor de i , como se muestra a continuación:

1

1

1 ii

ii

ii

iii

ssv

ssv

1

1

1

ii

i

ii

iii

i

ss

v

ssv

(47)

Que es una expresión de tipo:

iiiiiii vss ,,,, 11

A continuación se implementan estas expresiones calculadas en el algoritmo de auscultación.

Antes de implementar el algoritmo es necesario remuestrear antes a intervalos de tiempo constante para

calcular las lecturas de los sensores. La implantación del algoritmo se observa en el anexo J.

Tras obtener las curvas se filtra la lectura del acelerómetro al igual que en el caso anterior y se

fusionan los sensores para calcular el perfil. Los resultados se muestran a continuación, en primer lugar

para resultados sin corrupción de lectura, en la Fig 3-8.

Page 52: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

Velocidad variable

46

Fig 3-8. Perfil calculado numéricamente para velocidad variable

El error medio respecto al perfil real resulta de 51011,3 m o 59,6%. La comparación de las PSDs

de ambos perfiles se muestra en la Fig 3-9.

Fig 3-9. PSDs de ambos perfiles

Y las funciones de coherencia y coherencia de fase en la Fig 3-10.

Fig 3-10. Funciones de coherencia

Page 53: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

47

A pesar de los resultados que se observan en las gráficas de PSD y comparación de los perfiles,

las funciones de coherencia muestran clara discrepancia. A continuación se considerarán errores medios

y errores variables aleatorios tanto para el giróscopo como para el acelerómetro, de entre el 1% y el 5%

de los valores medios. El perfil calculado se observa en la Fig 3-11.

Fig 3-11. Perfil calculado numéricamente con velocidad variable y errores de medición

El error medio respecto al perfil real resulta de 51024,5 m o 100,49%. En la gráfica superior se

observa clara diferencia respecto al caso sin corrupción de sensores, se comprueba que estos efectos son

más notables en este algoritmo de velocidad variable que en el anterior. Para tener una visión más

completa se observan las funciones en el dominio de la frecuencia y de coherencia.

La comparación de las PSDs de ambos se muestra en la Fig 3-12.

Fig 3-12. PSDs de ambos perfiles

Page 54: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

Velocidad variable

48

Donde se observa peor aproximación que en el caso anterior. Y las funciones de coherencia se

muestran en la Fig 3-13.

Fig 3-13. Funciones de coherencia

Se observan también aquí discrepancias claras, sobre todo manifestadas en las funciones de

coherencia. Lo que se ha intentado en este caso, realmente es aproximar la función por dos rectas que

pasan por los puntos anteriores al que se pretende calcular. Sin embargo, esto partía de la suposición de

unos pasos de muestreo lo suficientemente pequeños, por lo que los resultados pueden reflejar que dicha

hipótesis no se adecúa a la realidad.

Para intentar aproximar mejor la forma de la función, en lugar de dos rectas se planterará una

forma cuadrática. Para intentar solucionar las discrepancias se intentará imponiendo una forma

polinómica de segundo grado a las funciones, y comprobar si el error disminuye o, por el contrario, no

influye la forma empleada.

Page 55: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

49

3.3. Extrapolación polinómica

En esta aproximación se considerará una cierta evolución matemática de las curvas a calcular, a

partir de la que se implementará el algoritmo de auscultación.

Los sensores obtienen las lecturas a partir de la posición y ángulo del centro del vehículo. Lo que

se pretende en esta aproximación es asumir una evolución cuadrática de ambas curvas en cada paso a

partir de los valores obtenidos en los pasos anteriores, y con dicha imposición extrapolar el valor actual

de ambas funciones, posición y ángulo del centro.

Cada función se aproximará en cada paso por un polinomio de la forma:

CssBssAs ii 2

2

2 (48)

Cuyas derivadas espaciales primera y segunda serían:

BssAs i 22 (49)

As 2 (50)

Que para poder definir por completo necesita los 3 coeficientes A, B y C. Se impone que la función

pase por el punto actual que se pretende calcular y por los 2 correspondientes a los pasos anteriores ya

calculados:

Cs

CssBssAs

CssBssAs

ii

iiiiii

iiiiii

22

21

2

2111

2

2

2

(51)

Lo que suponen 3 ecuaciones para resolver 4 incógnitas, los 3 coeficientes y el valor de la función

en el paso actual i . La última ecuación necesaria es la relación de derivadas espaciales y temporales de

cada sensor. Para el acelerómetro y giróscopo:

xvxvx 2 (37)

v (7)

Por lo que se disponen de 4 ecuaciones y 4 incógnitas. Para implementarlo en MatLab se obtiene

la expresión de i en forma simbólica. Despejando los coeficientes en forma matricial:

Page 56: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

Velocidad variable

50

2

1

21

21

21

21

2

21

2

2

2

2

1

100

1

1

i

i

i

iii

iii

iii

iiii

iiii

i

i

i

CCC

BBB

AAA

C

B

A

C

B

A

ssss

ssss

(52)

Los coeficientes del polinomio A, B y C son lineales respecto a los valores de la función i , 1i

y 2i respectivamente, por lo que los coeficientes de la matriz inversa pueden calcularse sin necesidad

de invertirla, calculando las derivadas parciales de A, B y C:

2212121121 ,,,,,, iiiiiiiiiiiiiii sssAsssAsssAA

i

i

AA

,

1

1

i

i

AA

,

2

2

i

i

AA

(53.a)

Y análogamente para B y C:

i

i

BB

,

1

1

i

i

BB

,

2

2

i

i

BB

(53.b)

i

i

CC

,

1

1

i

i

CC

,

2

2

i

i

CC

(53.c)

La implementación numérica en MatLab con variables simbólicas se muestra en el anexo K.

Se aplica dicho procedimiento tanto a las lecturas del acelerómetro como del giróscopo utilizando

sus ecuaciones de relación. Para el caso del acelerómetro:

BssAvAvsvsvxvxvx i 2

222 22 (54)

Y se sustituyen en esta ecuación las expresiones generales de los coeficientes del polinomio,

quedando:

2211

221122211

222

iiiiiii

iiiiiiiiiiiiiiiii

BBBv

AAAssvAAAvx

(55)

De la expresión (55) se despeja el valor de la función i , como se desarrolla a continuación:

221122112

2211

2

2

2

2

222

iiiiiiiiiiii

iiiiiiiiiiiiii

BBvAAssv

AAvxBvAssvAv

Page 57: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

51

iiiiiiii

iiiiiiiiiiiiiiiiiiii

BvAssvAv

BBvAAssvAAvxx

2

2

2211221122211

2

22

22 (56)

Que sustituyendo con las expresiones de los coeficientes de la matriz quedará en una expresión

simbólica del siguiente tipo:

iiiiiiiiii vvsssxxxx ,,,,,,, 2121

Que sólo depende de valores en pasos anteriores, por lo que es una función causal que puede ser

evaluada en tiempo real a partir de los valores previos de x, y los valores anteriores y actual de la posición,

velocidad y aceleración longitudinal del vehículo.

Para la aplicación práctica de dicha expresión, al igual que en caso anterior, hay que tener en

cuenta que la velocidad de avance no debe ser próxima a cero, ya que en tal caso el denominador tiende

a cero y la expresión no puede ser evaluada. Por ello se establece una velocidad de corte mínima que, para

este caso, se toma de 0,5 m/s.

La expresión simbólica para el acelerómetro se implementa en el anexo K.

A continuación se aplica el mismo procedimiento a la lectura del giróscopo:

BssAvsvv i 22 (57)

Y se sustituyen en esta ecuación las expresiones generales de los coeficientes del polinomio,

quedando:

2211221122 iiiiiiiiiiiiiiiii BBBvAAAssv (58)

De esta expresión se despeja el valor de la función i , como se desarrolla a continuación:

2211

221122 22

iiiii

iiiiiiiiiiiiiii

BBv

AAssvBvAssv

iiiiii

iiiiiiiiiiiiiii

BvAssv

BBvAAssv

2

221122112

2

2

(59)

Que sustituyendo con las expresiones de los coeficientes de la matriz quedará en una expresión

simbólica del siguiente tipo:

iiiiiiiii vsss ,,,,,, 2121

Page 58: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

Velocidad variable

52

Y por tanto una función causal. La expresión simbólica para el giróscopo se implementa también

en el anexo K. Este desarrollo se contempla también en el algoritmo seguido por [11].

A continuación se implementan estas expresiones calculadas en el algoritmo de auscultación.

Antes de implementar el algoritmo es necesario remuestrear antes a intervalos de tiempo constante para

calcular las lecturas de los sensores, del mismo modo que se hizo para el caso anterior. Y la

implementación numérica para ambos sensores se muestra en el anexo L.

Tras obtener las curvas se filtra la lectura del acelerómetro al igual que en el caso anterior y se

fusionan los sensores para calcular el perfil. Los resultados se muestran a continuación, en primer lugar

para resultados sin corrupción de lectura, en la Fig 3-14.

Fig 3-14. Perfil calculado con interpolación para velocidad variable

El error medio respecto al perfil real resulta de 51012,3 m o 59,84%. La comparación de las

PSDs de ambos perfiles se observa en la Fig 3-15.

Fig 3-15. PSDs de ambos perfiles

Y las funciones de coherencia y coherencia de fase en la Fig 3-16.

Page 59: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

53

Fig 3-16. Funciones de coherencia

Al igual que en el caso anterior son las funciones de coherencia las que muestran mayor

discrepancia. A continuación se considerarán para los sensores errores de entre el 1% y el 5% de los

valores medios. El perfil calculado se observa en la Fig 3-17.

Fig 3-17. Perfil calculado con interpolación para velocidad variable y errores de medición

El error medio respecto al perfil real resulta de 51072,6 m o 128,8%. En la gráfica superior se

observa clara diferencia respecto al caso sin corrupción de sensores, se comprueba que estos efectos son

más notables en este algoritmo de velocidad variable que en el anterior. Para tener una visión más

completa se observan las funciones en el dominio de la frecuencia y de coherencia.

La comparación de las PSDs de ambos perfiles se observa en la Fig 3-18.

Page 60: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

Velocidad variable

54

Fig 3-18. PSDs de ambos perfiles

Donde también se observa peor aproximación que en el caso anterior. Y las funciones de

coherencia se representan en la Fig 3-19.

Fig 3-19. Funciones de coherencia

Los resultados se muestran bastante similares a lo que se obtenía en el caso anterior, por lo que se

plantea la posibilidad de que las discrepancias respecto al método anterior de aproximación de las

transformadas de Laplace, más que a causa de la complejidad de la interpolación, sean debidas a no

considerar el paso variable en espacio. Esto provocaría que la corrección del ángulo vista anteriormente

no pueda ser planteada en términos de paso constante, por lo que tendría que implementarse en el

algoritmo un cálculo de los pasos que completan la longitud del vehículo.

Sin embargo esto supondría añadir un nuevo bucle al algoritmo, incrementando el coste

computacional. Además, como se observa en la Fig 3-20, el error en el que incurre el ángulo es lo

suficientemente pequeño como para que su influencia no sea relevante en las discrepancias observadas,

por lo que esta causa puede descartarse:

Page 61: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

55

Fig 3-20. Ángulo real y calculado

Las discrepancias deben ser por tanto debido a los errores causados por velocidades bajas y la

aproximación polinómica que se ha supuesto. Estas velocidades generan zonas en las que la auscultación

no puede aportar información relevante, corrompiendo por tanto los resultados y causando las diferencias

observadas.

En cualquier caso la mejora respecto al caso anterior no es significativa por lo que no compensa

la complejidad añadida, e incluso parecen reducirse ciertos errores. Esto puede ser debido a los problemas

numéricos y de convergencia que conlleva la complejidad de la interpolación polinómica. Si el error

hubiese disminuido podría haberse pensado en seguir aumentando el grado del polinomio de ajuste de las

funciones, pero eso no será necesario ya que el hecho de incrementar el grado del polinomio para el ajuste

de las funciones no ha servido respecto a las dos rectas anteriores.

Page 62: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

Auscultación con filtro de Kalman

56

4. AUSCULTACIÓN CON FILTRO DE KALMAN

l último algoritmo que se empleará en el siguiente trabajo es la auscultación utilizando el

filtro de Kalman. Se propone el empleo de este algoritmo matemático en el campo de la

auscultación ferroviaria como alternativa a los algoritmos anteriores. A partir de los datos

obtenidos es posible llevar a cabo simulaciones dinámicas de los vehículos. Algo análogo fue

realizado por Charles para monitorización continua de vehículos ferroviarios basado en la simulación

dinámica [12].

El filtro de Kalman, conocido en teoría de control como estimador lineal cuadrático (LQE), fue

desarrollado por Rudolf E. Kalman en 1960 [13], para estimar el estado de un sistema dinámico lineal a

partir de mediciones de la entrada y la salida que pueden contener ruido blanco. Una de sus principales

ventajas es la posibilidad de su aplicación en tiempo real, ya que necesita únicamente las mediciones de

entrada actuales, el estado calculado previamente y una matriz de incertidumbre. Además, su estimación

basada en el uso de distintas medidas lo ha convertido en un algoritmo común en la fusión de sensores.

Se ha utilizado extensamente para la medida de trayectorias en sectores como el aeronáutico,

donde se emplean comúnmente técnicas que combinan la señal de sensores inerciales con señales GPS, y

mediante Kalman se obtienen las trayectorias por integración de la señal de los sensores y se corrigen con

la señal del GPS.

Posteriormente han surgido variaciones del filtro para la aplicación a problemas no lineales, como

el filtro de Kalman Extendido, que permite su aplicación a sistemas no lineales. También aparecen otras

como el filtro Kalman-Schmidt, para tener en cuenta sesgos de la señal no observables sin perder la

posibilidad de implantación en tiempo real. Por último, el filtro de Kalman Unscented, que se utiliza

cuando los modelos de transición de estado y observación son altamente no lineales, caso en el que el

modelo extendido no da buenos resultados.

E

Page 63: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

57

4.1. Introducción al filtro de Kalman

Ante la necesidad de la estimación del estado de un sistema a partir de una serie de medidas

que pueden contener ruido e imprecisiones, el filtro de Kalman obtiene estimaciones de sus variables

de estado más precisas que las basadas en una sola medida. Esto se consigue mediante el uso de la

inferencia bayesiana, un tipo de inferencia estadística en la que las observaciones previas se emplean

para actualizar la probabilidad de ocurrencia, a partir de la que el algoritmo estima una distribución

de probabilidad conjunta de las variables.

El algoritmo funciona en un proceso de dos pasos, predicción y corrección. En el paso de

predicción, el filtro de Kalman genera estimaciones sobre el estado actual de las variables junto con

sus incertidumbres. Una vez que las medidas siguientes, con su correspondiente error y ruido, son

observadas, las estimaciones son actualizadas utilizando una media ponderada, con mayor

ponderación para aquellas estimaciones de menor incertidumbre. Es un algoritmo recursivo.

El filtro de Kalman utiliza un modelo dinámico del sistema, como el obtenido mediante la

física del modelo, y múltiples medidas secuenciales, por ejemplo de varios sensores, para estimar el

estado del sistema. Todas las medidas y cálculos basados en modelos son estimados en algún grado.

El algoritmo utiliza una media ponderada para estimar la predicción. Las ponderaciones son

calculadas de la covarianza, una medida de la incertidumbre estimada de la predicción del estado del

sistema. El resultado es un nuevo estado que se encuentra entre el estado predicho y el medido, y que

tiene menor incertidumbre que cada uno por separado. El proceso se repite en cada paso, con la nueva

estimación y su covarianza para la predicción utilizada en la siguiente iteración.

Debido a que la precisión de ciertas medidas es normalmente difícil de medir, es común que

el comportamiento del filtro se discuta en términos de ganancia. La ganancia de Kalman es una

función de las certidumbres relativas de las medidas y la estimación del estado actual [14]. Con una

ganancia alta, el filtro pondera más las medidas, mientras que con una ganancia baja se ponderan más

las predicciones del modelo. En el extremo, cuando la ganancia vale uno el filtro ignora el estado

estimado por completo mientras que una ganancia de cero ignora por completo las medidas.

Page 64: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

Auscultación con filtro de Kalman

58

4.2. Algoritmo e implementación

La implementación del algoritmo del filtro de Kalman toma de partida los modelos dinámico

y de observación del sistema [15]. Para ello se determinan las que serán variables de estado, aquellas

que permiten definir el estado del sistema considerado, y se agrupan en el vector de estado. El modelo

dinámico viene representado por un sistema de ecuaciones diferenciales y define el comportamiento

físico del sistema, toma la forma siguiente:

tttt wuxfx ,, (60)

Donde x es el vector de estado, u es el vector de entradas del sistema y w corresponde al ruido

que afecta al modelo dinámico. El ruido se representa por una variable independiente que sigue una

distribución probabilística normal:

QNp ,0~w

En el caso de la auscultación se tomarán como variables de estado la posición del punto medio

y el ángulo de inclinación. El modelo dinámico que se empleará es de 0tx , es decir, considerar

que el perfil vertical no varía con el tiempo. La congruencia con la auscultación se consigue al

considerar la función de ruido del sistema dinámico de varianza equivalente a la del perfil real, lo que

permitirá ponderar el modelo dinámico en su justa medida.

Por otra parte se establece el modelo de observación, que representa la relación entre el estado

real del sistema y las medidas que se obtienen. Se describe por la siguiente ecuación:

ttt vxhz , (61)

Donde z es el vector de observación y v corresponde al ruido de la medida, que sigue también

una distribución probabilística normal independiente del otro ruido:

RNp ,0~v

Para el sistema concreto se emplean las medidas de los sensores, es decir, aceleración y

velocidad angular, x y respectivamente. Esto conlleva el uso de 3 puntos para el perfil vertical y

2 para el ángulo, para el cómputo de las correspondientes derivadas numéricas asociadas a las

medidas en cada caso. El ruido asociado a las medidas se caracteriza con una varianza igual a la de

los correspondientes sensores.

Los modelos descritos anteriormente se representan en un sistema lineal del tipo:

Page 65: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

59

tttttt

tttttt

vuDxHy

wuBxAx

(62)

Donde y es el vector de salida, A es la matriz de estados, B es la matriz de entrada, H es la

matriz de salida de mediciones y D es la matriz de transmisión directa, que se toma como nula.

Para ser aplicable a pasos de tiempo finitos se discretizan las ecuaciones. Si los pasos de

tiempo son más pequeños la solución se aproximará mejor. Las ecuaciones discretizadas quedan en

forma general:

kkk

kkkk

vHxz

wBuAxx

111 (63)

El sistema de auscultación se define entonces como sigue. El vector de estados será:

1

2

1

i

i

i

i

i

x

x

x

x

Y el vector de observación:

xz

Las ecuaciones del modelo dinámico, aparte de considerar el perfil constante, actualizan los

puntos en valores anteriores como el estado calculado en el paso anterior, quedando discretizadas de

la siguiente forma:

0

0

0

01000

01000

00010

00001

00001

1

1

1

k

x

k

kk

w

w

xx (64)

Donde las ecuaciones de actualización de los puntos son exactas por lo que no incorporan

ruido. Las ecuaciones del modelo de observación consistirían en las derivadas:

g

k

a

k

kki

k

i

k

i

k

i

k

i

k

kv

v

tt

ttt

t

t

xxx

xvz11

000

001212

222

1

2

21

(65)

Page 66: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

Auscultación con filtro de Kalman

60

Las matrices a emplear en el algoritmo serán por tanto las siguientes:

01000

01000

00010

00001

00001

A ,

tt

ttt11

000

00121

222

H ,

00000

0000

00000

00000

0000

V

xV

Q ,

gV

aV

0

0R

Con el filtro modelado el primer paso del algoritmo es la predicción. El estado predicho, o a

priori, se calcula desde el estado anterior utilizando la ecuación del modelo discretizada, omitiendo

el término del ruido:

11ˆˆ

kkk BuxAx (66)

También es necesario estimar la matriz de covarianza, tal que:

QAAPP

T

kk 1 (67)

Con la predicción hecha se pasa a la corrección, donde se obtiene la estimación del vector de

estado a posteriori. Primero se calcula la mencionada ganancia de Kalman:

1 RHHPHPKT

k

T

kk (68)

A continuación se estima el vector de estados mediante una corrección de la predicción, para

lo que se usa la ganancia de Kalman, la medida realizada y la predicción realizada:

kkkkk xHzKxx ˆˆˆ (69)

Por último se calcula la covarianza a posteriori, que se utilizará en la siguiente iteración:

kkk PHKIP (70)

El primer paso en el algoritmo es establecer los valores iniciales para el vector de estados y la

matriz de covarianzas. Es conveniente que el valor inicial establecido para la covarianza no sea cero,

ya que esto supondría asumir que el vector de estados supuesto es correcto y acarrearía una

Page 67: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

61

convergencia más lenta [16]. Sin embargo, en este caso se hará cero para ponderar más la medida de

los sensores, ya que el modelo se ha definido con una varianza muy alta:

0

0

0

0

0

0x ,

00000

00000

00000

00000

00000

0P

Una condición necesaria pero no suficiente para que el filtro de Kalman funcione

correctamente es que el sistema cuyos estados quieren ser estimados sea observable. La

observabilidad se cumple si existe un número finito de pasos de integración tal que conociendo la

secuencia de entradas y salidas es suficiente para determinar el estado inicial del sistema. Para

comprobarlo se toma el modelo del sistema con entradas nulas por simplicidad, y se desarrollan n

pasos de integración:

0

1

1

011

00

xHAz

HAxHxz

Hxz

n

n

(71)

Que puede expresarse como:

1

1

0

00

1

n

n z

z

z

Oxx

HA

HA

H

(72)

Donde O es la denominada matriz de observación:

1nHA

HA

H

O

Para que el sistema sea observable la matriz de observación debe tener rango igual al número

de estados del sistema.

En este caso el rango de dicha matriz, es decir el índice de observabilidad, es de 3, lo cual es

menor de 5, por lo que en teoría no sería observable. Sin embargo, dicho índice indica el máximo de

variables observables y controlables a partir de las mediciones, y en este caso no es necesario

Page 68: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

Auscultación con filtro de Kalman

62

conocerlas todas, ya que algunas son simplemente otras en pasos anteriores. Para comprobar si es

suficiente se implementa el filtro de Kalman y se comprueba que arroja resultados congruentes, por

lo que no parece ser determinante. Con el filtro modelado se implementa en Matlab según el código

adjunto en el anexo M.

A continuación se exponen los resultados obtenidos por esta vía.

Page 69: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

63

4.3. Resultados

A continuación se muestran los resultados de la auscultación con filtro de Kalman. Se

empleará en el recorrido con velocidad variable. Primero se muestran los resultados sin tener en

cuenta los errores de los sensores, por lo que la ponderación de las medidas será mayor. Los perfiles

real y auscultado de esta forma se observan superpuestos en las gráficas de la Fig 4-1.

Fig 4-1. Perfil calculado con interpolación para velocidad variable y errores de medición

El error medio respecto al perfil real resulta de 51011,3 m o 59,64%. Para tener una visión más

completa se observan las funciones en el dominio de la frecuencia y de coherencia. La comparación de

las PSDs de ambos perfiles se observa en la Fig 4-2.

Fig 4-2. PSDs de ambos perfiles

Y las funciones de coherencia en la Fig 4-3.

Page 70: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

Auscultación con filtro de Kalman

64

Fig 4-3. Funciones de coherencia

Donde se observa una clara discrepancia a pesar del aparente ajuste de los perfiles. A continuación

se considerarán para los sensores errores de entre el 1% y el 5% de los valores medios y se actualizarán

las matrices de covarianzas del algoritmo para tenerlo en cuenta. Estos resultados se muestran en la Fig

4-4.

Fig 4-4. Perfil calculado con Kalman para velocidad variable y errores de medición

El error medio respecto al perfil real resulta de 51092,4 m o 94,36%. Para tener una visión más

completa se observan las funciones en el dominio de la frecuencia y de coherencia. La comparación de

las PSDs de ambos perfiles se muestra en la Fig 4-5.

Page 71: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

65

Fig 4-5. PSDs de ambos perfiles

Y las funciones de coherencia en la Fig 4-6.

Fig 4-6. Funciones de coherencia

Se puede ver que al aplicar el filtro considerando errores en las medidas la auscultación no es

capaz de ajustar con el mismo detalle las frecuencias altas. Las funciones de coherencia muestran patrones

similares al caso anterior, a pesar del ajuste que se observa en la comparativa geométrica.

Page 72: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

Comparación y conclusiones

66

5. COMPARACIÓN Y CONCLUSIONES

n este caso la validación real resulta complicada por no disponer de un vehículo ferroviario

con los instrumentos y sensores necesarios. Sin embargo, los resultados obtenidos con la vía

virtual permiten extrapolar muchas de las conclusiones obtenidas, teniendo en cuenta que las

diferencias son principalmente referentes a la naturaleza de los sensores empleados y la frecuencia

real de muestreo.

A continuación se muestran comparativas del algoritmo del trabajo actual con resultados

publicados en documentos y artículos con algoritmos de auscultación para sistemas similares.

El primero establece un algoritmo de auscultación también para dos sensores, acelerómetro y

giróscopo, también con señales corrompidas con error, pero situados directamente sobre un eje en lugar

del centro del vehículo. El algoritmo de fusión que emplea consiste en un filtro complementario que

combina las medidas del acelerómetro para frecuencias altas con las del giróscopo para frecuencias bajas.

Los perfiles para velocidad constante se muestran en las Fig 5-1 y Fig 5-2.

Fig 5-1. Perfil calculado con filtro complementario y corrupción de medidas

E

Page 73: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

67

Fig 5-2. Perfil calculado con algoritmo actual incluyendo corrupción de medidas

Donde el perfil calculado mediante la fusión tratada en este trabajo parece adecuarse mejor al real,

al menos geométricamente. Para analizarlo en frecuencia se muestran las PSDs y coherencia en la Fig 5-

3.

Fig 5-3. PSDs con filtro complementario (izda) y actual (dcha) incluyendo corrupción de medidas

Las funciones de coherencia de la fusión con filtro complementario se muestran en la Fig 5-4.

Fig 5-4. Funciones de coherencia del filtro complementario

Y las del algoritmo del presente trabajo en la Fig 5-5.

Page 74: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

Comparación y conclusiones

68

Fig 5-5. Funciones de coherencia con el algoritmo actual

Se observan similitudes en las PSDs, ya que ambas tienen un rango similar de mejor ajuste de la

auscultación. Las funciones de coherencia parecen indicar un mejor ajuste para el algoritmo actual, sobre

todo a bajas frecuencias. Sin embargo, para frecuencias más altas aparecen una serie de picos en ambos,

aunque menos pronunciados para el filtro complementario. A continuación, en las Fig 5-6, Fig 5-7, Fig

5-8 y Fig 5-9 se comparan los resultados para velocidad variable de la publicación con los obtenidos en

este trabajo utilizando el filtro adaptativo.

Fig 5-6. Comparación de perfiles con filtro complementario (izda) y adaptativo (dcha)

Fig 5-7. PSDs con filtro complementario (izda) y adaptativo (dcha)

Page 75: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

69

Fig 5-8. Funciones de coherencia con filtro complementario

Fig 5-9. Funciones de coherencia con filtro adaptativo

Donde se observa una mejor aproximación de nuevo para el algoritmo utilizado en este trabajo

con el filtro adaptativo. Las funciones de coherencia muestran claramente la diferencia.

Sin embargo, hay que tener en cuenta que es posible que en dichas diferencias influyan otros

factores aparte de los mencionados y que los resultados obtenidos por los distintos algoritmos aplicados

al mismo muestreo no mostraran diferencias tan acusadas.

Para tener una referencia de comparación del filtro de Kalman, a continuación se muestra otra

comparativa en las Fig 5-10 y Fig 5-11 con un artículo [17] en el que también se ha empleado el filtro de

Kalman para la auscultación, considerando velocidad variable.

Fig 5-10. Perfil calculado con Kalman del artículo (izda) y el actual (dcha)

Page 76: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

Comparación y conclusiones

70

Fig 5-11. PSDs del artículo (izda) y el actual (dcha)

Donde se observa un aparente mejor ajuste de la geometría a simple vista, mientras que el análisis

de las PSDs revela que para las altas frecuencias la discrepancia del Kalman implementado aquí es mayor.

Por último se enumeran una serie de aspectos y trabajo futuro que quedan fuera del alcance de

este trabajo pero cuyo desarrollo sería interesante contemplar:

- Mejoras en los distintos algoritmos que contemplen la velocidad variable para extender la

eficiencia a mayor rango de velocidades.

- Tener en cuenta la ausencia de contacto directo con el perfil en algunos tramos de modo que

puedan ser identificados, presumiblemente mediante simulación dinámica en tiempo real,

especialmente cuando se ausculta la alineación.

- Contemplar la geometría real de la rueda modificando las ecuaciones para comprobar el efecto

que puede tener en la auscultación.

- Determinar un algoritmo genérico de auscultación en función de la posición de los sensores,

acelerómetro y giróscopo, en el vehículo o bogie.

- Considerar el uso de varios sensores en distintos puntos, especialmente empleando Kalman,

de modo que permitan mayor eficiencia en la auscultación, y diseñar un sistema para optimizar

el número y distribución de los mismos.

- Ampliar el algoritmo de Kalman para el uso de sensores adicionales que permitan

complementar mejor las medidas, como GPS y sensores láser, de forma similar a [18].

- Establecer a partir de un modelo dinámico un sistema de decisión en tiempo real que permita

comunicarse con el vehículo para indicar posibles zonas de riesgo para el material rodante e

incluso disminuir la marcha o parar.

Page 77: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

71

REFERENCIAS

[1] Bonaventura C.S, Zarembski, A.M y Palese, J.W, “Tracksafe: a track geometry car based realtime

dynamics simulator”, Proceedings of JRC2005, Pueblo, Colorado, 2005.

[2] Charles, G, Goodall, R, Dixon, R, “Model-based condition monitoring at the wheel-rail interface”,

Vehicle System Dynamics, 46, Supplement, 415-430, 2008.

[3] Stuart L. Grassie, “Measurement of railhead longitudinal profiles: a comparison of different

techniques”, Wear, 191, 245-251, 1996.

[4] Ward, C.P., Goodall, R.M., Dixon, R., “Contact force estimation in the railway vehicle wheel-rail

interface”, 18 IFAC Word Congress, Milano, Italy, 2011.

[5] Garg, V.K. y Dukkipati, R.V., Dynamics of railway vehicle systems, Academic Press Canada,

1984.

[6] Li, M.X.D, Berggren, E.G, Berg, M. y Persson, I., “Assessing track geometry quality based on

wavelength spectra and track-vehicle dynamic interaction”, Vehicle System Dynamics, 46, Suppl.,

261-276, 2008.

[7] Norma Española UNE-EN 13848, “Aplicaciones Ferroviarias. Vía. Calidad de la Geometría de la

Vía”, Aenor, 2009.

[8] Department of Transportation – Federal Railroad Administration – Office of Safety, “Track safety

standards, Part 213, Subpart G, Class of Track 6 and Higuer”, Simmons-Boardman Books, Inc.,1998.

[9] Kane, T. R. “Fundamental kinematical relationships for the single-track vehicles”, International

Journal of Mechanical Sciences, 17, pp. 499-504, 1975.

[10] Sen M. Kuo, Bob H. Lee, Wenshun Tian, Real-Time Digital Signal Processing: Implementations

and Applications, John Wiley & Sons, 2006.

[11] Escalona, J.L., “Vertical track geometry monitoring using inertial sensors and complementary

filters”, Proceedings of the IDETC/CIE 2016, August 21-24, 2016, Charlotte, NC, paper DETC2016-

59477, 2016.

[12] Charles, G, Goodall, R, Dixon, R, “Wheel-Rail Profile Estimation”, International Conference

on Railway Condition Monitoring, November, Birmingham, UK 32-37, 2006.

Page 78: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

Referencias

72

[13] Kalman, R. E. 1960. “A New Approach to Linear Filtering and Prediction Problems”,

Transaction of the ASME, Journal of Basic Engineering, pp. 35-45 (March 1960).

[14] Greg Welch, Gary Bishop, “An Introduction to the Kalman Filter”, Course 8, SIGGRAPH 2001.

[15] Grewal, M.S, Andrews, A.P, Kalman filtering: theory and practice, Prentice Hall, 1993.

[16] Brookner, E, Tracking and Kalman filtering made easy, John Wiley & Sons, 1998.

[17] Andrés F. Hidalgo, Javier Ros, José Luís Escalona, “A Kalman filter-based algorithm for IMU

signals fusion applied to track geometry estimation”, ECCOMAS Thematic Conference on Multibody

Dynamics, June 29 – July 2, 2015.

[18] Smith, A, Wu, M, “Multi-rate Kalman filtering for the data diffusion of displacement and

acceleration response measurements in dynamic system monitoring”, Mechanical System and Signal

Processing, 21, 706-723, 2007.

Page 79: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

73

Anexos

Anexo A Filtros FIR y IIR

Un filtro digital discreto puede clasificarse como FIR o filtro de respuesta finita a impulso y

filtro IIR o filtro de respuesta infinita a impulso. Un filtro FIR causal tiene la forma:

1

0

L

l

l lnxbny

La longitud de la respuesta a impulso es un número finito de términos, L, y sus coeficientes

son idénticos a los coeficientes de la respuesta al impulso. Para obtener la salida sólo se basan en

entradas actuales y anteriores. Un ejemplo de este tipo de filtros sería una media móvil.

En un filtro IIR la salida depende no sólo de las entradas sino también de las respuestas en

instantes anteriores, por lo que tendría una respuesta infinita para la entrada de impulso. Un filtro

IIR causal tiene la forma siguiente:

M

m

m

L

l

l mnyalnxbny1

1

0

Como las salidas son realimentadas y combinadas con las entradas estos sistemas son

sistemas de realimentación. Los filtros FIR son un caso particular de filtros IIR en los que no hay

realimentación.

Page 80: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

74

Anexo B Transformada Z

Para el análisis de señales de sistemas continuos se emplea comúnmente la transformada de

Laplace. Para sistemas discretos, la transformada correspondiente a la transformada de Laplace es la

transformada Z.

La transformada Z convierte una señal definida en el dominio del tiempo discreto nx en

una función en el dominio de la frecuencia compleja zX . La transformada Z de una señal digital

se define como la siguiente serie:

n

nznxnxZzX }{

Esta definición se denomina como transformada Z bilateral. Para señales causales, la

definición empleada es la de transformada Z unilateral, que se define como:

0

}{n

nznxnxZzX

Sólo existe transformada Z en la región donde esta serie converge. Dicha región es la región

de convergencia, ROC, una región del plano complejo donde la transformada Z tiene una suma

finita.

La transformada Z tiene inversa, conocida como la transformada Z inversa, y se define

como:

C

n dzzzXj

zXZnx 11

2

1}{

Donde C denota un círculo cerrado que envuelve el origen y la región de convergencia en

sentido contrario a las agujas del reloj. Hay varios métodos para calcular la transformada Z inversa.

La transformada Z tiene tres propiedades que serán útiles para el tratamiento de señales

discretas:

- Linealidad (superposición): la transformada Z de la suma de dos señales es la suma de

las transformadas Z de las dos señales, como se observa a continuación:

zXazXaznxaznxaznxanxazXn

n

n

n

n

n

221122112211

Page 81: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

75

- Desplazamiento en el tiempo: debido a que la señal de entrada es nula para instantes

negativos, la transformada Z de una señal desplazada en el tiempo un periodo k será:

)(0

)(

0

zXzzjxzzjxzzjxzknxzX k

j

jk

kj

jk

kj

kj

n

n

k

- Convolución: la transformada Z de la convolución de dos señales es el producto de las

transformadas Z de las dos señales, como se observa a continuación:

zXzXznxzlx

zlnxlxzlnxlxznxnxzX

n

n

l

l

l

n

nn

n

ln

n

2121

212121

Para aplicar la transformada Z a un filtro genérico IIR es necesario tener en cuenta las

propiedades de linealidad y desplazamiento en el tiempo. Esto conduce a la siguiente expresión:

M

m

m

m

L

l

l

l

M

m n

n

m

L

l n

n

l

n

n

M

m

m

L

l

l

zYzazXzb

zmnyazlnxbzmnyalnxbzY

1

1

0

1 0

1

0 00 1

1

0

Reordenando los términos, la función de transferencia del filtro IIR sería:

)()()(

11

1

0 zXzHzX

za

zb

zYM

m

m

m

L

l

l

l

Page 82: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

76

Anexo C Transformación bilineal

El filtro se aplica mediante la siguiente ecuación de entrada/salida:

M

m

m

L

l

l mnyalnxbny1

1

0

El problema de diseñar filtros IIR es determinar la función en el dominio de z a partir de la función de

transferencia del filtro en el dominio de s. Hay dos métodos para obtenerlo, el método del impulso invariante y la

transformación bilineal. Esta última es la que se va a emplear.

Para transformar la representación en tiempo continuo de las señales en tiempo discreto y

viceversa, se utiliza la transformada bilineal. Permite convertir una función de transferencia de un

filtro lineal e invariante en el tiempo, definido en el dominio continuo del tiempo, en una función de

transferencia perteneciente a un filtro definido en el dominio discreto del tiempo. Para pasar de

Laplace a Z, se define la transformación bilineal como:

1

1

1

12

1

12

z

z

Tz

z

Ts

Donde T es el periodo de muestreo. Hay una relación directa entre la frecuencia del plano s ( js ) y

la frecuencia del plano z ( jez ). Sustituyendo en la ecuación anterior:

)2/tan(2

)2/cos(

)2/sin(22

1

122/2/

2/2/

Tj

Tj

ee

ee

Te

e

Tj

jj

jj

j

j

2tan2)2/tan(

2 1 T

T

Esto muestra que cada punto del plano s es mapeado de forma única en el plano z, por lo que las

frecuencias transformadas de tiempo discreto a tiempo continuo son íntegramente mapeadas por la transformación

bilineal.

Page 83: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

77

Anexo D Cálculo numérico de medidas IMU simuladas

%%%%%%%%%%%%%%%%%%%%%%%% % AUSCULTACIÓN FOURIER % %%%%%%%%%%%%%%%%%%%%%%%%

load IrrVia.txt

dist=IrrVia(:,1); yl=IrrVia(:,2);

%% Medidas IMU %%

v=20; %velocidad (m/s) L=5; %longitud vehículo (m) h=dist(2)-dist(1); Lp=L/h; distt=dist(Lp/2+1:length(dist)-Lp/2); %longitud recorrida por el centro

del vehículo disty=dist(Lp+1:length(dist)); %lonitud recorrida por la rueda delantera

del vehículo

x=(yl(Lp+1:length(yl))+yl(1:length(yl)-Lp))/2; %desplazamiento vertical

real del acelerómetro % x(1)=x(2); %Error theta=(yl(Lp+1:length(yl))-yl(1:length(yl)-Lp))/L; %giro real del

acelerómetro

xd=diff(x)/h; xd=[xd;xd(length(xd))]; % derivada espacial numérica de x thetad=[diff(theta);0]/h; % derivada espacial numérica de theta

xdd=[diff(xd);0]/h; % segunda derivada espacial numérica de x

acel=xdd*v^2; % aceleración vertical real medida por el acelerómetro vela=thetad*v; % velocidad angular real medida por el giróscopo

Page 84: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

78

Anexo E Auscultación mediante Fourier con truncamiento inferior independiente

%%%%%%%%%%%%%%%%%%%%%%%% % AUSCULTACIÓN FOURIER % %%%%%%%%%%%%%%%%%%%%%%%%

%% Cálculo mediante Fourier %%

xddf=acel/v^2; % segunda derivada espacial de x thetadf=vela/v; % derivada espacial de theta

A=fft(xddf); % Transformada de Fourier de x'' Om=fft(thetadf); % Transformada de Fourier de theta'

w=(-(length(distt)-1)/2:(length(distt)-1)/2)*2*pi/length(distt)/h; %

Vector de frecuencias

% Reordenación de los vectores A=[A((length(A)-1)/2+2:length(A));A(1:(length(A)-1)/2+1)]; Om=[Om((length(Om)-1)/2+2:length(Om));Om(1:(length(Om)-1)/2+1)];

%% Truncamiento inferior %%

for k=1:length(w) T1(k)=-1/2*(1+exp(-1i*w(k)*L))*w(k)^2; T2(k)=1i/L*(1-exp(-1i*w(k)*L))*w(k); if abs(T1(k))<0.001 % Truncamiento en 0,001 T1(k)=0.001*(cos(angle(T1(k)))+1i*sin(angle(T1(k)))); end if abs(T2(k))<0.001 T2(k)=0.001*(cos(angle(T2(k)))+1i*sin(angle(T2(k)))); end end

Y1=A./T1.'; Y2=Om./T2.';

% Ordenación de los vectores para aplicar la antitransformada Y1=[Y1(length(Y1)-((length(Y1)-1)/2):length(Y1));Y1(1:length(Y1)-

((length(Y1)-1)/2+1))]; Y2=[Y2(length(Y2)-((length(Y2)-1)/2):length(Y2));Y2(1:length(Y2)-

((length(Y2)-1)/2+1))];

y1=ifft(Y1); % Perfil generado a partir del acelerómetro y2=ifft(Y2); % Perfil generado a partir del giróscopo

plot(dist,yl,disty,y1,'r',disty,y2,'g') title('Perfil real y calculado') xlabel('s') ylabel('y') legend('Perfil real','Acelerómetro','Giróscopo')

%%%%

Page 85: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

79

Anexo F Auscultación mediante Fourier con fusión de sensores

%%%%%%%%%%%%%%%%%%%%%%%% % AUSCULTACIÓN FOURIER % %%%%%%%%%%%%%%%%%%%%%%%%

%% Cálculo mediante Fourier %%

xddf=acel/v^2; % segunda derivada espacial de x thetadf=vela/v; % derivada espacial de theta

A=fft(xddf); % Transformada de Fourier de x'' Om=fft(thetadf); % Transformada de Fourier de theta'

w=(-(length(distt)-1)/2:(length(distt)-1)/2)*2*pi/length(distt)/h; %

Vector de frecuencias

% Reordenación de los vectores A=[A((length(A)-1)/2+2:length(A));A(1:(length(A)-1)/2+1)]; Om=[Om((length(Om)-1)/2+2:length(Om));Om(1:(length(Om)-1)/2+1)];

%% Fusión de sensores %%

for k=1:length(w) T1(k)=-1/2*(1+exp(-1i*w(k)*L))*w(k)^2; T2(k)=1i/L*(1-exp(-1i*w(k)*L))*w(k); if abs(T1(k))<0.001 && abs(T2(k))<0.001 % Truncamiento de ambas Y(k)=A(k)/(0.001*(cos(angle(T1(k)))+1i*sin(angle(T1(k))))); else if abs(T1(k))>abs(100*T2(k)) % Selección de función de

transferencia Y(k)=A(k)/T1(k); else Y(k)=Om(k)/T2(k); end end end

% Ordenación para aplicar la antitransformada Y=[Y(length(Y)-((length(Y)-1)/2):length(Y)),Y(1:length(Y)-((length(Y)-

1)/2+1))];

y=ifft(Y);

figure plot(dist,yl,disty,y,'r') title('Perfil real y calculado') xlabel('s') ylabel('y') legend('Perfil real','Perfil calculado')

dif=yl(Lp+1:length(dist))-y.'; difme=mean(abs(dif(10000:90000))); figure plot(disty,dif) title('Error del perfil') xlabel('s') ylabel('error')

%%%%

Page 86: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

80

Anexo G Auscultación con filtro mediante transformada Z con fusión de sensores

%%%%%%%%%%%%%%%%%%%%%%% % AUSCULTACIÓN FILTRO % %%%%%%%%%%%%%%%%%%%%%%%

%% Transformada Z %%

[num1,den1]=bilinear(1,[v^2 0 0],1/h); % Transformación bilineal para

obtener el filtro para la función de transferencia de la posición [num2,den2]=bilinear(1,[v 0],1/h); % Transformación bilineal para obtener

el filtro para la función de transferencia del giro [num3,den3]=butter(1,0.001,'high'); % Filtro paso alto para disminuir el

error de integración

xm=filter(num1,den1,acel); % Aplicación del filtro para cálculo de

posición xm=filter(num3,den3,xm); % Aplicación del filtro paso alto para la

posición thetam=filter(num2,den2,vela); % Aplicación del filtro para cálculo de

giro

corran=mean((thetam(1:length(xm)-Lp)+thetam(Lp:length(xm)-

1)+(xm(1:length(xm)-Lp)-xm(Lp:length(xm)-1))*2/L)/2); % Cálculo del error

del ángulo thetam=thetam-corran;

y=xm-thetam*L/2; % Determinación del perfil a partir de los datos del

centro y(length(y):length(y)+Lp)=xm(length(xm)-

Lp:length(xm))+thetam(length(thetam)-Lp:length(thetam))*L/2; %

Determinación del perfil en la longitud L final del recorrido y=y+mean(yl-y); % Traslación de la función para obviar el error de media

Page 87: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

81

Anexo H Corrupción de medidas y análisis en frecuencia

%% Corrupción de medidas %%

bias_acel = 0.04*mean(acel); var_acel = 0.01*mean(acel);

bias_vela = -0.05*mean(vela); var_vela = 0.03*mean(vela);

acel_clean = acel; vela_clean = vela;

acel = acel+bias_acel+sqrt(abs(var_acel))*randn(length(acel),1); vela = vela+bias_vela+sqrt(abs(var_vela))*randn(length(vela),1);

%% Análisis en frecuencia %%

% Power Spectral Density [Pxx F] = pwelch(yl); [Pxx_f F_f] = pwelch(y); figure(4) loglog((1/(2*h*pi))*F,Pxx,'b',(1/(2*h*pi))*F_f,Pxx_f,'k') title('PSDs del perfil real y calculado'); xlabel('Frecuencia espacial (1/m)'); ylabel('Cuadrado de la amplitud (m^2/(1/m))') legend('Perfil real','Perfil calculado')

% Coherencia csd_f = cpsd(yl,y); coh_f = abs(csd_f).^2./(Pxx.*Pxx_f); phase_f = atan2(-imag(csd_f),real(csd_f))*180/pi;

figure(5) plot(F,coh_f) title('Función de coherencia'); xlabel('Frecuencia'); ylabel('Coherencia') axis([0 0.5 0 1.3]);

figure(6) plot(F,phase_f) title('Coherencia de fase'); xlabel('Frecuencia'); ylabel('Coherencia de fase (º)') axis([0 0.5 -200 280]);

Page 88: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

82

Anexo I Auscultación para velocidad variable con filtro adaptativo

load odom.txt; tod = odom(1:8901,1); % Tiempo sod = odom(1:8901,2); % Posición vod = odom(1:8901,3); % Velocidad de avance aod = [0; diff(vod)/(tod(2)-tod(1))]; % Aceleración de avance

% Remuestreo en s i=2; while i<length(sod) if abs(sod(i)-sod(i-1))<0.01 sod(i)=[]; tod(i)=[]; vod(i)=[]; aod(i)=[]; i=i-1; end i=i+1; end

vis = interp1(sod,vod,distt,'linear','extrap'); ais = interp1(sod,aod,distt,'linear','extrap');

% Mediciones de los sensores acel=xdd.*vis.^2+xd.*ais; vela=thetad.*vis;

for i=1:length(vis) [num1,den1]=bilinear(1,[vis(i)^2 ais(i) 0],1/h); [num2,den2]=bilinear(1,[vis(i) 0],1/h);

if i==1 xm(i)=num1(1)*acel(i); thetam(i)=num2(1)*vela(i); end

if i==2 xm(i)=num1(1)*acel(i)+num1(2)*acel(i-1)-den1(2)*xm(i-1); thetam(i)=num2(1)*vela(i)+num2(2)*vela(i-1)-den2(2)*thetam(i-1); end

if i>2 xm(i)=num1(1)*acel(i)+num1(2)*acel(i-1)+num1(3)*acel(i-2)-

den1(2)*xm(i-1)-den1(3)*xm(i-2); thetam(i)=num2(1)*vela(i)+num2(2)*vela(i-1)-den2(2)*thetam(i-1); end end

Page 89: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

83

Anexo J Auscultación para velocidad variable con extrapolación lineal

% Remuestreo en t

sodt=sod(Lp/2+1:length(sod)-Lp/2); vodt=vod(Lp/2+1:length(vod)-Lp/2); aodt=aod(Lp/2+1:length(aod)-Lp/2); ylod = interp1(dist,yl,sod,'linear','extrap'); xdod = interp1(distt,xd,sodt,'linear','extrap'); xddod = interp1(distt,xdd,sodt,'linear','extrap'); thetaod = interp1(distt,theta,sodt,'linear','extrap'); thetadod = interp1(distt,thetad,sodt,'linear','extrap');

% Mediciones de los sensores

acel=xddod.*vodt.^2+xdod.*aodt; vela=thetadod.*vodt;

% Cálculo acelerómetro

xm(1:2)=[0 0]; for i=3:length(sodt) if vod(i)<0.5 vi=0.5; else vi=vod(i); end x_2=xm(i-2); x_1=xm(i-1); s_2=sod(i-2); s_1=sod(i-1); si=sod(i); ai=aod(i); aceli=acel(i); xmnum=aceli+(vi^2)*(x_1/(si-s_1)^2+(x_1-x_2)/((s_1-s_2)*(si-

s_1)))+ai*(x_1/(si-s_1)); xmden=(vi^2)/(si-s_1)^2+ai/(si-s_1); xm(i)=xmnum/xmden; if 0*xm(i)~=0 xm(i)=0; % Hace cero los valores NaN end end [num3,den3]=butter(3,0.001,'high'); xm=filter(num3,den3,xm); % Aplicación del filtro paso alto para la

posición

% Cálculo giróscopo

thetam(1)=0; for i=2:length(sodt) if vod(i)<0.5 vi=0.5; else vi=vod(i); end th_1=thetam(i-1); s_1=sod(i-1); si=sod(i); ai=aod(i); velai=vela(i); thetam(i)=(velai+vi*th_1/(si-s_1))/(vi/(si-s_1)); if 0*thetam(i)~=0 thetam(i)=0; % Hace cero los valores NaN end end

Page 90: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

84

Anexo K Cálculo simbólico de la extrapolación cuadrática

% Cálculo simbólico

syms fi f_1 f_2 si s_1 s_2 real

% Matriz del sistema original M(1,1:3) = [(si-s_2)^2 si-s_2 1]; M(2,1:3) = [(s_1-s_2)^2 s_1-s_2 1]; M(3,1:3) = [0 0 1];

% Valores de la función en los 3 puntos ff = [fi f_1 f_2]';

% Resolución y cálculo de coeficientes del polinomio xx = M\ff; A = xx(1); B = xx(2); C = xx(3);

% Cálculo de coeficientes de la matriz Ai = diff(A,fi); A_1 = diff(A,f_1); A_2 = diff(A,f_2); Bi = diff(B,fi); B_1 = diff(B,f_1); B_2 = diff(B,f_2);

% Derivadas del polinomio df = 2*A*(si-s_2)+B; ddf = 2*A;

%%%%%%%%%%%%%%%%%%%%% % Para acelerómetro % %%%%%%%%%%%%%%%%%%%%%

C1 = (2*(si-s_2)*(A_1*f_1+A_2*f_2)+(B_1*f_1+B_2*f_2))*ai; C2 = 2*(A_1*f_1+A_2*f_2)*vi^2;

xm = simplify((aceli-C1-C2)/((2*(si-s_2)*Ai+Bi)*ai+2*Ai*vi^2));

%%%%%%%%%%%%%%%%%% % Para giróscopo % %%%%%%%%%%%%%%%%%%

thetam = simplify((velai-(2*(si-

s_2)*(A_1*f_1+A_2*f_2)+(B_1*f_1+B_2*f_2))*vi)/((2*(si-s_2)*Ai+Bi)*vi));

%%%%%%%%%%%%%%%%%%%%%

Page 91: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

85

Anexo L Auscultación para velocidad variable con extrapolación cuadrática

% Remuestreo en t

sodt=sod(Lp/2+1:length(sod)-Lp/2); vodt=vod(Lp/2+1:length(vod)-Lp/2); aodt=aod(Lp/2+1:length(aod)-Lp/2); ylod = interp1(dist,yl,sod,'linear','extrap'); xdod = interp1(distt,xd,sodt,'linear','extrap'); xddod = interp1(distt,xdd,sodt,'linear','extrap'); thetaod = interp1(distt,theta,sodt,'linear','extrap'); thetadod = interp1(distt,thetad,sodt,'linear','extrap');

% Mediciones de los sensores

acel=xddod.*vodt.^2+xdod.*aodt; vela=thetadod.*vodt;

% Cálculo por interpolación acelerómetro

xm(1:2)=[0 0]; for i=3:length(sodt) if vod(i)<0.5 vi=0.5; else vi=vod(i); end f_2=xm(i-2); f_1=xm(i-1); s_2=sod(i-2); s_1=sod(i-1); si=sod(i); ai=aod(i); aceli=acel(i); % Expresión calculada simbólicamente para el acelerómetro xm(i)=(aceli*s_1*s_2^2 - aceli*s_1^2*s_2 - aceli*s_1*si^2 +

aceli*s_1^2*si + aceli*s_2*si^2 - aceli*s_2^2*si + 2*f_1*s_2*vi^2 -

2*f_2*s_1*vi^2 - 2*f_1*si*vi^2 + 2*f_2*si*vi^2 - ai*f_1*s_2^2 +

ai*f_2*s_1^2 - ai*f_1*si^2 + ai*f_2*si^2 + 2*ai*f_1*s_2*si -

2*ai*f_2*s_1*si)/((s_1 - s_2)*(- 2*vi^2 + ai*s_1 + ai*s_2 - 2*ai*si)); if 0*xm(i)~=0 xm(i)=0; % Hace cero los valores NaN end end

% Cálculo por interpolación giróscopo

thetam(1:2)=[0 0]; for i=3:length(sodt) if vod(i)<0.5 vi=0.5; else vi=vod(i); end f_2=thetam(i-2); f_1=thetam(i-1); s_2=sod(i-2); s_1=sod(i-1); si=sod(i); ai=aod(i); velai=vela(i); % Expresión calculada simbólicamente para el giróscopo thetam(i)=(- velai*s_1^2*s_2 + velai*s_1^2*si + velai*s_1*s_2^2 -

velai*s_1*si^2 - velai*s_2^2*si + velai*s_2*si^2)/(vi*(s_1 - s_2)*(s_1 +

s_2 - 2*si)) - (f_1*s_2^2 - f_2*s_1^2 + f_1*si^2 - f_2*si^2 - 2*f_1*s_2*si

+ 2*f_2*s_1*si)/((s_1 - s_2)*(s_1 + s_2 - 2*si)); if 0*thetam(i)~=0 thetam(i)=0; % Hace cero los valores NaN end end

Page 92: Formato de Publicación de la Escuela Técnica Superior de ...bibing.us.es/proyectos/abreproy/70721/fichero/Trabajo_de_Fin_de_Master.pdf · El uso del filtro de Kalman es de aplicación

86

Anexo M Auscultación mediante filtro de Kalman

%% Filtro de Kalman %%

% Matriz de estados A=zeros(5); A([1,2,8,19,20])=ones(5,1);

% Matriz de mediciones dt=tod(2)-tod(1); H=[1/dt^2 -2/dt^2 1/dt^2 0 0; 0 0 0 1/dt -1/dt];

% Matriz de covarianzas modelo dinámico var_perfil=1e-5; var_pend=1e-10; Q=zeros(5); Q(1,1)=var_perfil; Q(4,4)=var_pend;

% Matriz de covarianzas modelo observación R=[var_acel, 0; 0 var_vela];

% Inicialización Pk=zeros(5); xk=zeros(5,1);

% Aplicación del algoritmo

for i=1:length(sodt)

% Predicción estado xk_=A*xk;

% Predicción covarianza Pk_=A*Pk*A.'+Q;

% Ganancia de Kalman S=H*Pk_*H.'+R; K=Pk_*H.'*inv(S);

% Corrección estado z(1)=acel(i); z(2)=vela(i); xk=xk_+K*(z.'-H*xk_);

% Corrección covarianza Pk=Pk_-K*H*Pk_;

% Almacena xm(i)=xk(1); thetam(i)=xk(4);

end