Arquitectura eficiente de microprocesador o DSP

3

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

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

ACTUALIZACIÓN: estoy recibiendo las señales de entrada en formato digital. No estoy buscando un rendimiento extremadamente en tiempo real también. Incluso si consigo algún retraso, eso 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 señales de ECG / EMG, etc. Los algoritmos no son tan sencillos, y por lo tanto estoy buscando una arquitectura eficiente.

    
pregunta Neel Mehta

2 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 nivel por un tiempo para darle al procesador la oportunidad de detectarlo en la siguiente lectura periódica A / D. O bien, los circuitos podrían detectar el pico y conducir un pin de interrupción del procesador para que pueda hacer lo que quieras que haga de inmediato.

Un enfoque de fuerza bruta estaría presente en la señal con la amplitud y la impedancia correctas para una entrada A / D del procesador, luego hacer todo lo que esté en el firmware desde allí. Algunos de los dsPIC 33F pueden muestrear a 1 MHz o más, pero no proporcionó ninguna información específica para saber si eso es lo suficientemente bueno o no. Tal procesador tardaría unos 100 mW en funcionar a toda velocidad. Tenga en cuenta que solo obtiene 40 ciclos de instrucción por lectura a una frecuencia de muestreo de 1 MHz. Eso es suficiente para simplemente detectar un pico. Si las lecturas subsiguientes no son necesarias por un tiempo mientras procesa el pico (lo que sea que eso signifique), entonces esto funcionará.

Si las puntas son realmente cortas, puede preceder a la A / D con una pica-estiradora analógica. Algo como esto:

UnpicopositivocortoentrayhacequeelC1secargue.Inclusosielpicodesapareceinmediatamentedespués,elvoltajeenC1semantendráaltoydisminuiráconunaconstantedetiempode10µs,queesunavidamediade7µs.Sinonecesitadetectarotraespigaduranteunospocosµsdespuésdeuna,entoncesestetipodeespiga-estiradorarelajalosrequisitosdelamuestraenelprocesador.

Eltiempodecaídarealylasimpedanciasprobablementedeberánajustarseasusdetalles.

Actualización:

Ahoraesevidentequeestátratandodemedirlascaracterísticasdelasseñalesdebajoanchodebanda."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 sofisticado que no sea el de presentar la amplitud y la impedancia adecuadas a la entrada A / D del procesador. Puede muestrear la señal a una velocidad de 2 kHz con filtros analógicos que comienzan a rodar a unos 300 Hz. Con ese tipo de configuración, se garantiza que el flujo de muestra no se pierda ninguna característica. Y, a 500 µs / muestra, debería haber suficiente tiempo para realizar la detección de picos y otro procesamiento.

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

    
respondido por el Olin Lathrop
1

Dependiendo de las características del pico, pueden ser demasiado cortos para que el microcontrolador las 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 rápido de picos que dispara un flip-flop D, con el pulso de entrada bloqueado en la entrada D. Si de hecho es un pico, el flip-flop retendrá un nivel bajo, una señal más larga se registrará como lógica 1. Dependiendo de la duración del pico que se espera, puede retrasar la señal a la entrada del flip-flop.

editar
Su información es algo contradictoria. Usted 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 sobre cualquier microcontrolador con convertidor A / D, debería poder manejarlo.
Eres muy misterioso sobre el procesamiento, pero para análisis de forma de onda un DSP te ofrecerá extras que no tiene un microcontrolador simple, como un MAC (Multiplicar y acumular) instrucciones para crear filtros FIR e IIR eficientes .

    
respondido por el stevenvh

Lea otras preguntas en las etiquetas