MATLAB es un paquete de software técnico que se puede utilizar para el procesamiento y análisis de señales. Un procedimiento común en el análisis de señales es la detección de picos o encontrar máximos locales (valores mayores que los puntos de datos adyacentes) dentro de una señal ruidosa. Por lo general, es necesario limitar la detección de picos a los máximos locales de un cierto ancho (duración cuando la señal está en el dominio del tiempo), así como a una cierta altura o magnitud.
Paso 1
Defina una fuente de datos importando datos en MATLAB. Por ejemplo, cree una onda sinusoidal con ruido aleatorio:
mi_señal = sin (0: 0.1: 10) + rand (1,101);
Paso 2
Encuentre picos en su señal usando el método de interpolación cuadrática de "findpeaks ()":
[valor_pico, ubicación_picos] = findpeaks (my_signal);
Paso 3
Busque picos de una altura mínima utilizando el parámetro "minpeakheight". La altura es un escalar de valor real que se refiere al valor de datos mínimo de los picos permitidos:
[valor_pico, ubicación_picos] = findpeaks (my_signal, 'minpeakheight', 2.5);
Paso 4
Busque picos separados por una distancia mínima utilizando el parámetro "minpeakdistance". El valor es el número mínimo de índices entre picos en el vector "my_signal" y debe ser un número entero:
[valor_pico, ubicación_picos] = findpeaks (my_signal, 'minpeakdistance', 5);
Paso 5
Busque solo picos por encima de un cierto umbral utilizando el parámetro "umbral". Este es un escalar de valor real que se refiere a la diferencia mínima permitida entre los puntos de datos pico y adyacentes:
[valor_pico, ubicación_picos] = findpeaks (my_signal, 'umbral', 0.5);
Paso 6
Encuentre solo un cierto número de picos usando el parámetro "npeaks". El valor debe ser un número entero:
[valor_pico, ubicación_picos] = findpeaks (my_signal, 'npeaks', 5);
Ordene la lista de picos devuelta utilizando el parámetro "sortstr". Los valores permitidos son "ascender", "descender" y "ninguno":
[valor_pico, ubicación_picos] = findpeaks (my_signal, 'sortstr', 'ascend');