Me gustaría ampliar ligeramente su pregunta:
DSP de gama baja frente a MCU de gama alta frente a analógico
y tratar de responder a ella.
MCU de gama alta
Las MCU modernas son muy potentes. La tabla que se presenta a continuación recoge los resultados obtenidos al realizar una prueba sintética consistente en dos secuencias de FFT y luego cuadrado por elementos y luego producto punto en una matriz distinta de 12800 puntos flotantes dentro de cada iteración, expresado en iteración por segundo realizada [it/s] y tiempo medio de iteración [us = microsegundos]:
Device-under-test it/s time/it, us Remark
TMS320C6422B 2.50 400 000
MityDSP-L138F 3.97 252 188 L3 cache off, about x7 with L3 cache on
InMys SOM-AM180X-L8 5.90 169 491 L3 cache off
VAR-SOM-OM3X 37.00 27 027
RaspberryPI 35.80 27 933
InMys SOM-AM180X-L8 52.20 19 157 L3 cache on
Renesas RZ/A1H 54.61 18 311 linux, data+code in internal sram
Colibri VF61 56.80 17 606
Intel Core i3 949.42 1 053
Intel Core i5 1 583.84 631
Como puedes ver, la moderna MCU de 500+ MHz basada en Cortex-A5 con FPU instalada en el Colibri VF61 supera a un DSP de punto flotante dedicado como el TMS320C de 250 MHz basado en C642x. Y lo hace significativamente. Pero, por supuesto, los Core i los superan a todos.
DSP de gama baja
Al verse superados por las MCU modernas en cuanto a rendimiento, los DSP modernos contraatacan superando a las MCU en... arquitectura . En términos generales, la arquitectura de un CI DSP está destinada al procesamiento de datos continuo + en línea + estrictamente cronometrado + isócrono, es decir, tiene por diseño unidades especiales para leer regularmente y luego procesar y luego escribir datos digitales en forma de muestras. Además, puede integrarse con ADCs como fuente de muestras originales y DACs como destino de muestras procesadas, de forma más sencilla y prácticamente sin cola, de nuevo gracias a las unidades arquitectónicas "en chip" dedicadas que proporcionan interfaces dedicadas. Los MCU, incluso los de gama alta, no pueden presumir de esto.
Filtro analógico
Tanto la MCU como el DSP son cosas digitales. Al trabajar con lo digital, hay que entender sus limitaciones: la cuantificación y las cuadrículas. El uso de números enteros en los filtros es sencillo pero da un ruido de cuantificación significativo; el uso de números flotantes en los filtros es flexible pero da excepciones implícitas como un sorprendente NaN en la acumulación continua que mata el filtro. El analógico es una alternativa para eso.
Puede que lo analógico parezca algo del pasado, pero nunca parece algo inútil, ni siquiera hoy. Los efectos naturales que tienen lugar en una lámpara o en un semiconductor no pueden ser modelados de forma ideal en una MCU/DSP, quizá sólo en un clúster de superordenadores, pero entonces no en tiempo real :-)
A la hora de elegir entre diseñar en digital o en analógico, pregúntate qué es lo que quieres real y exactamente: ¿para controlar o para disfrutar? Si es para controlar, toma lo digital, si es para disfrutar, sé más audaz con lo analógico.
1 votos
O dsPIC, piezas baratas, herramientas y funciones DSP.
0 votos
En cuanto al dsPIC no estoy muy seguro de que tenga suficiente potencia, es una unidad de 16 bits, y no tiene interfaz SDRAM (la necesito ya que necesito almacenar muestras de un largo periodo de tiempo [hasta 10s]).
0 votos
1. No hay nada malo en utilizar partes de 16 bits para el audio. 2. El almacenamiento de muestras durante 10 segundos y la frecuencia de muestreo son cosas que deben estar en su pregunta.
0 votos
En cuanto a la 1, pues sí, ya que hoy en día los ADC de 24 bits se están convirtiendo en un estándar. En cuanto a la segunda es correcta. Pero la pregunta es sobre mcu de alta gama vs dsp. Me gustaría saber si alguien ha probado la diferencia de rendimiento.
1 votos
Un núcleo DSP AD está diseñado para DSP. La serie SHARC está presente en muchos productos de audio de gama alta. El Cortex M4 es un microcontrolador de propósito general. Dudo mucho que alguien haya hecho esa comparación porque es una comparación de manzanas con plátanos.
0 votos
Hmmm, creo que estás en lo cierto, ahora se trata de la curiosidad de cuánto mejor es?
1 votos
La serie LPC4300 es Cortex M4F a 204 MHz más Cortex
M0
núcleo. Puede que merezca la pena echarle un vistazo.0 votos
Si no estás haciendo cosas de DSP, hay pocas razones para usar un DSP. ¿Estás usando multiplicar y acumular? ¿FFT? ¿Convolución? ¿Necesitas un procesador de coma flotante?
0 votos
Como la primera frase dice "Guitar DSP" así que SI necesito instrucciones FPU y dsp, ya que hay un montón de MACs y un montón de operaciones de punto flotante. También la pregunta general era que es mejor.