Paso 4: Detección de pico
Para detectar la localización del primer pico tras el máximo utilizamos un detector de pico simple cifrado como una máquina de estado como sigue:// Peak Detect State Machine if (pd_state == 2 && (sum-sum_old) <=0) { period = i; pd_state = 3; } if (pd_state == 1 && (sum > thresh) && (sum-sum_old) > 0) pd_state = 2; if (!i && pd_state == 0) { thresh = sum * 0.5; pd_state = 1; }
La máquina del estado se mueve de un estado a otro cuando se produce un evento como sigue:
STATE0: Ajuste trille el umbral bajo que valor a ignorar los datos: nuevo estado = 1
Estado1: buscar la señal está por encima del umbral y la pendiente de la señal es positiva: nuevo estado = 2
STATE2: buscar la pendiente de la señal es negativa o cero. Si es así hemos encontrado el pico! : ESTADO NUEVO = 3