Microprocesador de detección de picos eficiente o arquitectura DSP

Estoy buscando un microcontrolador o DSP (o sus arquitecturas) que sean eficientes en términos de potencia y rendimiento en la detección de picos. Quiero ejecutar un algoritmo que detecte picos y los procese. Entonces, estoy buscando arquitecturas que sean eficientes en este tipo de rendimiento.

Cualquier consejo, sugerencia, etc. sería realmente útil. Gracias de antemano.

ACTUALIZACIÓN: Recibo las señales de entrada en formato digital. No estoy buscando un rendimiento extremadamente en tiempo real también. Incluso si tengo algo de retraso, está bien. Además, no solo me interesa la detección de picos, sino también una serie de características como su altura, etc. En resumen, el algoritmo es bastante complejo. Estoy tratando de hacer esto para las señales de ECG/EMG, etc. Los algoritmos no son tan sencillos y, por lo tanto, estoy buscando una arquitectura eficiente.

Argh, podrías haber mencionado en primer lugar que tu ancho de banda es realmente bajo.

Respuestas (2)

Si solo desea detectar picos, no necesita mucha potencia de procesamiento. Puede hacer fácilmente un circuito analógico que mantenga el pico alto durante un rato para darle al procesador la oportunidad de detectarlo en la siguiente lectura A/D periódica. O bien, el circuito podría detectar el pico y activar un pin de interrupción del procesador para que pueda hacer lo que usted quiera que haga de inmediato.

Un enfoque de fuerza bruta presentaría la señal con la amplitud e impedancia correctas en una entrada A/D del procesador, y luego haría todo en el firmware desde allí. Algunos de los dsPIC 33F pueden muestrear a 1 MHz o más, pero no proporcionó ningún detalle para saber si eso es lo suficientemente bueno o no. Tal procesador necesitaría unos 100 mW para funcionar a toda velocidad. Tenga en cuenta que solo obtiene 40 ciclos de instrucciones por lectura a una frecuencia de muestreo de 1 MHz. Eso es suficiente para detectar un pico. Si no se necesitan lecturas posteriores durante un tiempo mientras procesa el pico (lo que sea que eso signifique), entonces esto funcionaría.

Si los picos son realmente cortos, puede preceder al A/D con un estirador de picos analógico. Algo como esto:

Entra un pico positivo corto y hace que C1 se cargue. Incluso si el pico desaparece inmediatamente después, el voltaje en C1 permanecerá alto y decaerá con una constante de tiempo de 10 µs, que es una vida media de 7 µs. Si no necesita detectar otro pico durante unos pocos µs después de uno, este tipo de aumento de picos relaja los requisitos de muestra en el procesador.

Es probable que sea necesario ajustar el tiempo de caída real y las impedancias a sus particularidades.

Actualizar:

Ahora es evidente que está tratando de medir las características de las señales de bajo ancho de banda. "Bajo" es relativo a lo que los microcontroladores modernos pueden medir y digerir fácilmente. En este caso, no necesita ningún circuito analógico externo elegante que no sea presentar la amplitud e impedancia correctas a la entrada A/D del procesador. Puede muestrear la señal a una velocidad de, digamos, 2 kHz con filtros analógicos que comienzan a funcionar a unos 300 Hz. Con ese tipo de configuración, se garantiza que la secuencia de muestra no perderá ninguna característica. Y, a 500 µs/muestra, debería haber mucho tiempo para la detección de picos y otros procesos.

Esto realmente no es un problema tan difícil, a diferencia de lo que parecía que estabas preguntando originalmente.

Gracias por la respuesta. Estoy buscando arquitecturas que sean más eficientes para realizar no solo la detección máxima de una señal de ancho de banda bajo, sino que también puedan realizar el procesamiento rápidamente. Sé que la mayoría de los chips uC y DSP harían el trabajo, pero estoy tratando de encontrar los requisitos mínimos y la mejor arquitectura. Y tampoco estoy seguro de cuán complejos serían los algoritmos pero viendo el peor de los casos, creo que lo mejor sería hacer bien el análisis preliminar.
Si no está seguro de lo que necesita, comience con mucha potencia. Luego, puede reducir la escala más adelante si/cuando esto se produzca en volumen. Un dsPIC 33F puede realizar 20.000 instrucciones por muestra a una frecuencia de muestreo de 2 kHz. Son muchos ciclos.

Dependiendo de las características de los picos, pueden ser demasiado cortos para que el microcontrolador los detecte. Construiría un circuito analógico externo para detectar el pico y presentaría un pulso digital decente a la entrada de interrupción de un microcontrolador.
Un circuito de detección puede consistir en un detector de pico rápido que activa un flip-flop D, con el pulso de entrada sujeto a la entrada D. Si de hecho es un pico, el flip-flop enclavará un nivel bajo, una señal más larga se registrará como un 1 lógico. Dependiendo de la duración esperada del pico, puede retrasar la señal hasta la entrada del flip-flop.

editar
Su información es algo contradictoria. Dice que la señal de entrada es digital, pero desea medir la amplitud (¿y la forma de onda?). De todos modos, si se trata de datos de ECG/EMG, cualquier microcontrolador con convertidor A/D debería poder manejar eso.
Usted es muy misterioso acerca del procesamiento, pero para el análisis de forma de onda , un DSP le ofrecerá extras que un simple microcontrolador no tiene, como una instrucción MAC (Multiply-and-Accumulate) para construir filtros FIR e IIR eficientes .

Por favor, compruebe la actualización en la pregunta. No solo estoy buscando intervalos de picos. Perdona por no plantear la pregunta con claridad.
En realidad, el hecho es que la mayoría de las enfermedades cardíacas se calculan a partir del desorden en los picos de ECG. Todavía no he escrito el algoritmo o el código, pero estoy haciendo un análisis preliminar sobre esto. He revisado muchos trabajos de investigación, pero no veo ninguna razón por la cual se seleccionó un uC o un DSP en particular y, por lo tanto, me preguntaba si podría obtener una respuesta aquí.
@Neel: para el análisis de señales, DSP es el camino a seguir, incluso si aún no ha terminado los algoritmos. Para este tipo de señales, todas serán adecuadas, por lo que la que elija dependerá de otros factores, como el costo, el soporte del proveedor, las herramientas de desarrollo, etc.