Descomposición de valores singulares en sistemas integrados basados en la arquitectura ARM Cortex-M
Autores: Alessandrini, Michele; Biagetti, Giorgio; Crippa, Paolo; Falaschetti, Laura; Manoni, Lorenzo; Turchetti, Claudio
Idioma: Inglés
Editor: MDPI
Año: 2020
Acceso abierto
Artículo científico
2020
Descomposición de valores singulares en sistemas integrados basados en la arquitectura ARM Cortex-M
Categoría
Ingeniería y Tecnología
Subcategoría
Ingeniería Eléctrica y Electrónica
Palabras clave
Descomposición de valores singulares
Sistemas integrados
Algoritmo svd
Brazo cortex-m
Representación dispersa
Sistema de recursos limitados
Licencia
CC BY-SA – Atribución – Compartir Igual
Consultas: 42
Citaciones: Sin citaciones
La descomposición en valores singulares (SVD) es una herramienta matemática central para varias aplicaciones emergentes en sistemas integrados, como sistemas de entrada múltiple y salida múltiple (MIMO), análisis de datos, representación dispersa de señales. Dado que los algoritmos de SVD se reducen a resolver un problema de autovalores, que es computacionalmente costoso, se han propuesto soluciones de hardware específicas e implementaciones en paralelo para superar este cuello de botella. Sin embargo, dado que esas soluciones requieren recursos de hardware adicionales que generalmente no están disponibles en sistemas integrados, se demandan algoritmos optimizados en este contexto. El objetivo de este documento es presentar una implementación eficiente del algoritmo SVD en ARM Cortex-M. Para ello, procedemos a (i) presentar un tratamiento exhaustivo de los algoritmos más comunes para SVD, brindando una visión bastante completa y profunda de estos algoritmos, con una notación común, (ii) implementarlos en un microcontrolador ARM Cortex-M4F, con el fin de desarrollar una biblioteca adecuada para sistemas integrados sin sistema operativo, (iii) encontrar, a través de un estudio comparativo de los algoritmos SVD propuestos, la mejor implementación adecuada para un sistema integrado de bajo recurso sin sistema operativo, (iv) mostrar una aplicación práctica al filtrado de Kalman de una unidad de medición inercial (IMU), como ejemplo de cómo el SVD puede mejorar la precisión de los algoritmos existentes y de su utilidad en un sistema de tan bajos recursos. Todas estas contribuciones pueden servir como guía para los diseñadores de sistemas integrados. En cuanto al segundo punto, los algoritmos elegidos se han implementado en microcontroladores ARM Cortex-M4F con recursos de hardware muy limitados en comparación con CPUs más avanzadas. Se han realizado varios experimentos para seleccionar qué algoritmos garantizan el mejor rendimiento en términos de velocidad, precisión y consumo de energía.
Descripción
La descomposición en valores singulares (SVD) es una herramienta matemática central para varias aplicaciones emergentes en sistemas integrados, como sistemas de entrada múltiple y salida múltiple (MIMO), análisis de datos, representación dispersa de señales. Dado que los algoritmos de SVD se reducen a resolver un problema de autovalores, que es computacionalmente costoso, se han propuesto soluciones de hardware específicas e implementaciones en paralelo para superar este cuello de botella. Sin embargo, dado que esas soluciones requieren recursos de hardware adicionales que generalmente no están disponibles en sistemas integrados, se demandan algoritmos optimizados en este contexto. El objetivo de este documento es presentar una implementación eficiente del algoritmo SVD en ARM Cortex-M. Para ello, procedemos a (i) presentar un tratamiento exhaustivo de los algoritmos más comunes para SVD, brindando una visión bastante completa y profunda de estos algoritmos, con una notación común, (ii) implementarlos en un microcontrolador ARM Cortex-M4F, con el fin de desarrollar una biblioteca adecuada para sistemas integrados sin sistema operativo, (iii) encontrar, a través de un estudio comparativo de los algoritmos SVD propuestos, la mejor implementación adecuada para un sistema integrado de bajo recurso sin sistema operativo, (iv) mostrar una aplicación práctica al filtrado de Kalman de una unidad de medición inercial (IMU), como ejemplo de cómo el SVD puede mejorar la precisión de los algoritmos existentes y de su utilidad en un sistema de tan bajos recursos. Todas estas contribuciones pueden servir como guía para los diseñadores de sistemas integrados. En cuanto al segundo punto, los algoritmos elegidos se han implementado en microcontroladores ARM Cortex-M4F con recursos de hardware muy limitados en comparación con CPUs más avanzadas. Se han realizado varios experimentos para seleccionar qué algoritmos garantizan el mejor rendimiento en términos de velocidad, precisión y consumo de energía.