Cum se detectează vârfurile în MATLAB

Funcțiile MATLAB pot găsi vârfuri, de asemenea cunoscute ca maxime locale.

Pasul 1

Definește o sursă de informații importând date în MATLAB. De exemplu, creați un val sinusoidal cu zgomot aleator:

my_signal = păcat (0: 0, 1: 10) + rand (1, 101);

Pasul 2

Căutați vârfuri în semnalul dvs. utilizând metoda interpolare patratică a "findpeaks ():"

[vârful_value, peak_location] = findpeaks (my_signal);

Pasul 3

Căutați vârfuri la o înălțime minimă utilizând parametrul "minpeakheight". Înălțimea este un scalar al valorii reale care se referă la valoarea minimă de date a vârfurilor permise:

[peak_value, peak_location] = căutări (my_signal, 'minpeakheight', 2.5);

Pasul 4

Căutați vârfuri separate printr-o distanță minimă folosind parametrul "minpeakdistance". Valoarea este numărul minim de indici între vârfuri din vectorul "my_signal" și trebuie să fie un număr întreg:

[peak_value, peak_location] = căutări (my_signal, 'minpeakdistance', 5);

Pasul 5

Căutați numai vârfuri peste o anumită limită utilizând parametrul "Threshold". Aceasta este o scală de valoare reală care se referă la diferența minimă permisă între punctul de vârf și punctele de informare adiacente:

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

Pasul 6

Găsiți numai un număr de vârfuri utilizând parametrul "npeaks". Valoarea trebuie să fie un număr întreg:

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

Pasul 7

Fixați lista returnată din vârfuri folosind parametrul "sortare". Valorile permise sunt "ascend" (ascend), "descend" (descend) și "none" (none):

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