Discusiones sobre Productos NI

cancelar
Mostrando los resultados de 
Buscar en lugar de 
Quiere decir: 

Detector de picos

¡Resuelto!
Ir a solución

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.

0 kudos
Mensaje 1 de 14
8.231 Vistas

Perdón les adjunto mi VI

0 kudos
Mensaje 2 de 14
8.229 Vistas

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.



Proud to use LW/CVI from 3.1 on.

My contributions to the Developer Community
________________________________________
If I have helped you, why not giving me a kudos?
0 kudos
Mensaje 3 de 14
8.209 Vistas

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.

---------------------------------------------------------
"Qod natura non dat, Salmantica non praestat"
---------------------------------------------------------
0 kudos
Mensaje 4 de 14
8.205 Vistas

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.

0 kudos
Mensaje 5 de 14
8.200 Vistas

Igual pongo una versión mas antigua de Labview para los que no lo pueden abrir

0 kudos
Mensaje 6 de 14
8.199 Vistas

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.

---------------------------------------------------------
"Qod natura non dat, Salmantica non praestat"
---------------------------------------------------------
0 kudos
Mensaje 7 de 14
8.193 Vistas

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.

0 kudos
Mensaje 8 de 14
8.190 Vistas

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.

 

---------------------------------------------------------
"Qod natura non dat, Salmantica non praestat"
---------------------------------------------------------
0 kudos
Mensaje 9 de 14
8.181 Vistas

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?

0 kudos
Mensaje 10 de 14
8.174 Vistas