Cuando desarrollo productos, hago todo el diseño de mi algoritmo en Matlab. Por lo general, son bastante básicos, un filtro IIR o FIR o dos, un par de FFT, etc. Cuando llega el momento de moverlo a un entorno incrustado, siempre me cuesta decidir en qué plataforma ejecutarlo. Normalmente pienso en estas plataformas (amplias):
- Núcleo DSP
- FPGA
- Microcontrolador
- BRAZO
¿Qué factores debo tener en cuenta al intentar tomar esta decisión?
Respuestas:
Si mantiene "algoritmos estándar" como IIR, FIR, radix-2 o 4 FFT (es decir, cosas que se adaptan bien a las arquitecturas DSP sin mucho flujo de control), puede intentar esto:
Cuente cuántas "acumulaciones múltiples" necesita por segundo en todos sus algoritmos.
fuente
Hasta donde yo sé, ARM debería considerarse una arquitectura en lugar de una plataforma. Sin embargo, la pregunta es bastante relevante en cuanto a qué plataforma utilizar para el procesamiento de la señal RT (en este caso, audio).
Puede comenzar haciendo las siguientes preguntas, no en un orden estricto:
Comenzaría mirando el algoritmo en primer lugar. Si, por ejemplo, necesita muchas operaciones FFT y MAC, probablemente pueda descartar la mayoría de los microcontroladores y centrarse más en los núcleos DSP. Tenga en cuenta que también hay MCU con núcleos DSP integrados.
Otra consideración importante sería su capacidad y experiencia en el área de implementación. La mayoría de las personas evitan FPGA porque debe usar un HDL para la implementación. Otra razón para evitar los FPGA es el requisito de energía.
fuente
Con solo la información que proporciona, la opción es probablemente ARM (IIR y FIR simples), pero hay otros factores a tener en cuenta, como los requisitos de alimentación, los requisitos de E / S, las características adicionales que espera implementar: cuánto tiempo de desarrollo ahorraría si este dispositivo ¿Tenía una conexión de red y una API para modificar los parámetros DSP en el campo?
¿Ha considerado expandir su gama de opciones a teléfonos inteligentes o computadoras compactas como la Beagle Board? Puede darse cuenta de que el procesamiento de la señal es solo una pequeña parte del problema completo que está resolviendo.
fuente