el 03-17-2014 09:23 PM
Hola, quería saber si me pueden ayudar con un pequeño VI que tengo, lo que necesito es detectar el valor pico de una señal analógica la cual es continua y la adquiero con un DAQ Assitant. Tengo una parte de mi VI que me detecta el máximo valor pico que se introduce pero lo que yo necesito es encontrar todos los picos fuera de un rango determinado, por ejemplo: tengo un rango entre 0 y 1 y necesito encontrar todos los picos los cuales sobrepasen ese valor como es 1.2, 1.3, 2.4,6, 10 etc etc y guardarlos en un array (Sólo me interesan los valores pico, no su posición o tiempo en que ocurrieron). Estuve leyendo sobre la herramienta de Peak Detector.vi pero no encuentro como poner los rangos, ni que me genere bien un array. Les adjunto mi VI y espero que me puedan ayudar.
¡Resuelto! Ir a solución.
el 03-17-2014 09:25 PM
Perdón les adjunto mi VI
el 03-18-2014 03:02 AM
Hola,
no pude abrir tu vi ya que tengo instalada solamente la versión 10 del LV. Sin embargo, te dejo una liga de un documento que explica el tema de la detección de picos:
Peak Detection Using LabVIEW and Measurement Studio
Igualmente he encontrado un pequeño ejemplo en el foro.
Espero que todo esto te sea de ayuda.
el 03-18-2014 05:44 AM
Hola.
Hay algunas incoherencias en tu vi.
Parece que el daq lee un punto de cada vez, por lo que el detector de picos no hara nada ya que requiere un arrray de puntos en el que haya picos que cumplan las condiciones.
Leer un punto cada 20 mS es propio de una continua por lo que no habra picos significativos.
Dinos que señal adquiers y sus frecuencias para poder deteminar un metodo adecuado.
Saludos.
Alipio.
el 03-18-2014 09:51 AM
Lo que adquiero es una señal biométrica, y en cada movimiento de los musculo se detectan los picos de voltaje que envía el sitema nervioso del cuerpo humano, es por eso que necesito registrar esos picos. Por lo que no habría una frecuencia en específico.
el 03-18-2014 09:55 AM
Igual pongo una versión mas antigua de Labview para los que no lo pueden abrir
el 03-18-2014 11:19 AM
Hola.
No se si Roberto conoce esas señales. Yo no tengo ninguna.
Segun la web, parece qu el espectro llega hasta los 500 Hz, por lo que tienes que muestrear a 1000 Hz y adquirir arrays de 1000 muestras para poder buscar picos.
Tambien parece que las señales son extremadamente ruidosas por lo que habra que filtrar para poder ver algo.
Mira a ver si puedes adquirir 2 o 3 segundos de señal y poner una captura de como se ve.
Saludso.
Alipio.
el 03-18-2014 12:11 PM
Mira te dejo una captura de imagen de la señal obtenida, si observas en esa gráfica hay unos 3 picos mayores a 1V que es lo que necesito medir de cuanto fueron esos tres picos.
el 03-18-2014 01:42 PM
Vale.
Son 5 s de señal y asumo que tomas una muestra cada 20 mS, por lo que la captura representa 250 puntos.
Para que funcione el detector de picos, esos puntos tienen que estar en un array.
Te adjunto tu vi modificado para que adquiera 500 puntos (10 s) y determine los picos por encima de 1 v.
Cambiale la extension a .vi ya que no me deja subirlo como tal.
Pruebalo a ver como va.
Si la velocidad de adquisicion es otra, dinoslo para tenerla en cuenta. Si es una muestra cada 20 mS, habria que pensar en otro algoritmo para determinar los picos ya que si el comienzo o final del array no completa un pico, habria una indeterminacion.
Saludos.
Alipio.
el 03-18-2014 07:15 PM
Muy bien amigo funcionó de maravilla el VI, muchas gracias, nadamas una última pregunta, si yo quisiera por ejemplo cambiar esa detección de picos por ejemplo que ahora me detectara los picos entre 2 y 3v y fuera de ese rango, qué tendría que modificar? el thershold, o el width o ambos?