Come rilevare i picchi in MATLAB

Le funzioni MATLAB possono trovare picchi, noti anche come massimi locali.

Passaggio 1

Definisce una fonte di informazioni importando i dati in MATLAB. Ad esempio, crea un'onda sinusoidale con rumore casuale:

my_signal = sin (0: 0.1: 10) + rand (1.101);

Passaggio 2

Trova i picchi nel tuo segnale usando il metodo di interpolazione quadratica di "findpeaks ():"

[peak_value, peak_location] = findpeaks (my_signal);

Passaggio 3

Cerca i picchi di altezza minima usando il parametro "minpeakheight". L'altezza è uno scalare di valore reale che si riferisce al valore minimo dei dati dei picchi consentiti:

[peak_value, peak_location] = findpeaks (my_signal, 'minpeakheight', 2.5);

Passaggio 4

Cerca i picchi separati da una distanza minima usando il parametro "minpeakdistance". Il valore è il numero minimo di indici tra i picchi nel vettore "my_signal" e deve essere un numero intero:

[peak_value, peak_location] = findpeaks (my_signal, 'minpeakdistance', 5);

Passaggio 5

Cerca solo i picchi oltre un certo limite usando il parametro "Soglia". Questa è una scala di valori effettivi che fa riferimento alla differenza minima consentita tra il picco e i punti di informazione adiacenti:

[peak_value, peak_location] = findpeaks (my_signal, 'threshold', 0.5);

Passaggio 6

Trova solo un numero di picchi usando il parametro "npeaks". Il valore deve essere un numero intero:

[peak_value, peak_location] = findpeaks (my_signal, 'npeaks', 5);

Passaggio 7

Correggere la lista restituita dai picchi usando il parametro "sortsr". I valori consentiti sono "ascendi" (ascendi), "discendi" (discendi) e "nessuno" (nessuno):

[peak_value, peak_location] = findpeaks (my_signal, 'sortstr', 'ascend');