2 votos

Filtro FIR en Cortex M0

¿Es posible implementar un DSP básico (como un filtro FIR) en un Cortex M0 o la arquitectura es demasiado limitada?

2voto

filo Puntos 1

Por supuesto que sí. Puedes implementar cualquier tipo de DSP en un Cortex M0. Prácticamente dependerá del tamaño de tu filtro (es decir, del uso de la RAM) y de la velocidad requerida (si es en tiempo real). Por supuesto, la implementación tendrá que ser de punto fijo, ya que el M0 no tiene una unidad de punto flotante (por lo que las operaciones de punto flotante son lentas).

Recomiendo utilizar CMSIS DSP que es una biblioteca DSP proporcionada por ARM y optimizada especialmente para sus núcleos.

1voto

JonRB Puntos 4599

Sí se puede. Un filtro FIR es esencialmente una cascada de multiplicaciones, sumas y registros

y[n] = b[0] * x[n] + b[1] * x[n-1] + b[2] * x[n-2] + ...+ b[numTaps-1] * x[n-numTaps+1]

Lo que hace que los procesadores digitales de señales (DPS) sean tan atractivos para este tipo de operaciones es que se ha realizado un gran esfuerzo de optimización para proporcionar una plataforma que se adapte mejor al procesamiento digital de señales.

Entonces, ¿se pueden implementar estos algoritmos en plataformas no DSP? por supuesto. Puede implementarlos en Excel si así lo desea y tiene la necesidad de posprocesar los datos. El tiempo de ejecución de estos algoritmos de filtrado puede suponer un cuello de botella en sus diseños de uP y es aquí donde hay que hacer concesiones en la implementación

https://www.keil.com/pack/doc/CMSIS/DSP/html/group__FIR.html

http://wseas.us/e-library/conferences/2012/Prague/ECC/ECC-73.pdf

0voto

dahulius Puntos 11

Una vez implementé un algoritmo de filtro adaptativo de media cuadrática mínima en un procesador de 16 bits que funcionaba a 3 MHz, así que sí, por supuesto que se puede.

Ahora bien, si nos hubieras dado información sobre el tamaño del filtro y la frecuencia de muestreo podríamos haber dado una respuesta mejor.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X