Recomendación de DSP para principiantes [cerrado]

Estoy considerando un proyecto que involucra una parte justa del procesamiento de señales digitales. Hasta donde yo sé, el mejor tipo de IC adecuado para esto son los procesadores de señales digitales. Nunca he trabajado con ellos antes. ¿Me puede recomendar algún modelo que sea lo suficientemente simple para principiantes? El proyecto consiste en filtrar audio digital de alta fidelidad (44100 Hz, estéreo de 16 bits) de varias maneras.

Además, ¿necesito un uC adicional para, por ejemplo, controlar una interfaz de usuario con un panel LCD y algunos botones, o el DSP puede manejar esto junto con su tarea de procesamiento de señales?

Respuestas (9)

Un par de buenos DSP para principiantes son el C5505 DSP de TI y el C6713 también de TI. Me gusta el primero porque cuesta solo $55.00 y me gusta el segundo porque hay libros completos escritos sobre el chip (Procesamiento de señales digitales y aplicaciones con C6713 y C6416 DSK) La mayoría de las placas de evaluación Dsp tienen soporte integrado para LCD.

Ti también ha vuelto a crear algunos kits de desarrollo geniales processors.wiki.ti.com/index.php?title=Ezdsp

La línea de microcontroladores dsPIC30F de Microchip son excelentes DSP introductorios. Están programados en C o ensamblados de la misma manera que otros PIC, pero incluyen bibliotecas DSP que ayudan con el filtrado, etc. Tienen todos los periféricos necesarios para la mayoría de los proyectos (ADC, DAC, comunicaciones en serie, temporizadores, la lista continúa y en). Son bastante baratos (no más de $10), se pueden muestrear en empaques con agujeros pasantes y se pueden programar con programadores y depuradores PIC estándar.

Echa un vistazo a la página DSP de Analog Devices .

Y las herramientas de desarrollo gratuitas .

No requiere programación, simplemente arrastre y suelte objetos GUI.

Las herramientas de desarrollo son gratuitas como en cerveza, no como en libertad. Además, la programación de arrastrar y soltar no es automáticamente algo bueno: ¡algunos de nosotros preferimos el método antiguo, y tenemos buenas razones para ello! Dicho esto, AD tiene buenos DSP. He visto que sus SigmaDSP se utilizan para la eliminación y digitalización de ruido en micrófonos de automóviles con buen éxito, pero tienen varias líneas para diferentes mercados.
Tenga en cuenta que estos son procesadores basados ​​en muestras que no pueden realizar operaciones basadas en bloques como FFT. dsprelated.com/showmessage/131569/1.php

Si elige una de las partes de dsPIC, puede tener tanto la interfaz como el procesamiento en uno (también son excelentes MCU de propósito general). Vienen en paquetes SOIC y DIP, lo que facilita la creación de prototipos, y algunos de la gama dsPIC 33 tienen casi todos sus pines reasignables, lo que facilita el enrutamiento de una placa.

El hardware es excelente, pero las herramientas de desarrollo de Microchip son HORRIBLES.
Nos dimos cuenta de esto por el último comentario que dejaste. :)

realmente, realmente, no necesita un DSP para hacer incluso un filtrado de audio avanzado en una señal estéreo de 44,1 kHz y 16 bits.

Un núcleo ARM estará bien para filtrar y ejecutar los botones/LCD.

Simplemente agarraría un beagleboard , le lanzaría RT Linux y lo haría. Si está realmente desesperado por el rendimiento, también hay un TI 64x+ DSP a bordo del SoC.

Hay muy pocas aplicaciones para las que se necesita un DSP hoy en día, especialmente en el mundo del audio. Si estaba tratando con 32 canales de audio de 192 khz y 24 bits, la latencia es crítica, sí, opte por el DSP. Pero con lo que está trabajando está dentro de las capacidades de los microcontroladores modernos.

Estoy buscando lo mismo. Este hilo tiene algunas sugerencias.

También está el System-on-a-Chip TAS3202 de TI, que parece tener todo lo que necesita para filtrar audio estéreo. Los convertidores y todo están integrados. El chip en sí cuesta alrededor de $ 5, pero la placa de evaluación cuesta alrededor de $ 500 . Sheesh.

(Puede obtener un solo TAS3204 por alrededor de $ 10. TAS3202 ni siquiera puedo encontrarlo en pequeñas cantidades).

También está el AK7742 , que tiene una GUI muy conveniente , pero necesitarías comprar el tablero de evaluación.

Me encantaría encontrar una placa DSP de código abierto dedicada a aficionados como BASIC Stamp, Arduino, Chameleon, etc.

Sin embargo, para aprender los fundamentos de alto nivel de DSP, querrá comenzar con su computadora, usando herramientas como MATLAB o sus clones gratuitos Scilab , Octave , Freemat , etc. para hacer simulaciones. He estado jugando mucho con SciPy últimamente. De esa manera, puede aprender las cosas teóricas sin empantanarse con los detalles de implementación.

+1 sugerencia de MATLAB. Es mucho mejor hacerlo funcionar en MATLAB antes de trasladarlo a un DSP real.

Para responder a la segunda parte de su pregunta, sí, probablemente necesitará un microcontrolador de propósito general para manejar su interfaz de usuario. Los DSP son procesadores dedicados: hacen una cosa muy bien (procesamiento de señales) pero no hacen nada más.

??? en estos días, los DSP y los microcontroladores no tienen mucha diferencia entre ellos. están optimizados para el procesamiento DSP de alto rendimiento, sí, pero no hay razón para que no puedas hacer cosas de propósito general, a menos que necesites manejar MUCHA memoria, e incluso entonces solo tienes que encontrar un DSP con un bus de datos/direcciones.
Lo único que tiene un DSP que un uC no tiene en estos días son los modos de direccionamiento circular. Aparte de eso, son básicamente lo mismo. Tal vez un uC típico tenga más canales de E/S y DMA, pero la familia Blackfin de Analog Devices también hace que esa suposición sea bastante obsoleta.
Puede haber algunos riesgos involucrados en agregar funciones aleatorias a la carga en el dsp, pero deberían ser bastante capaces de interconexión de propósito general, como pantallas/botones/líneas de comunicación.

También puede usar un BeagleBoard disponible por solo $ 150 de sparkfun

El problema con Beagleboard es que no tienes acceso a E/S de audio digital. Los convertidores D/A están conectados. Russ White de Twisted Pear Audio lo ha pirateado para que funcione con los D/A de Buffalo, pero me han dicho que no es tan fácil.

También vale la pena considerar dos opciones alternativas:

Microcontroladores con capacidades de señal mixta como MSP430. 44k * 2 * 2 son muchas muestras, por lo que es posible que no tenga mucho tiempo para procesarlas a las velocidades a las que se ejecutan.

PC independiente, PDA o similar. Probablemente obtenga más o menos HI-FI (y actualizable) AD / DA y material de audio incorporado y tendrá una potencia de CPU masiva más capacidad de visualización. Un buen software de desarrollo suele ser gratuito y el hardware puede ser barato o incluso gratuito. Sin embargo, las latencias pueden ser altas y tendrías que trabajar con una gran máquina ineficaz que consume mucha energía.

El problema con esto es que la sobrecarga del sistema operativo en ejecución eliminará casi cualquier tipo de aplicación. El consumo de energía no tiene relación con lo que encontraría usando alguna forma de DSP. En resumen, funcionará, pero la opción de PC independiente es muy ineficiente.