Jak wykryć piki w MATLAB
Krok 1
Definiuje źródło informacji poprzez import danych do MATLAB. Na przykład utwórz falę sinusoidalną z przypadkowym szumem:
my_signal = sin (0: 0.1: 10) + rand (1101);
Krok 2
Znajdź szczyty sygnału za pomocą metody interpolacji kwadratowej "findpeaks ():"
[peak_value, peak_location] = findpeaks (my_signal);
Krok 3
Poszukaj pików minimalnej wysokości za pomocą parametru "minpeakheight". Wysokość jest skalarem rzeczywistej wartości, która odnosi się do minimalnej wartości danych dozwolonych szczytów:
[wartość_pikr., lokalizacja_zamknięcia] = findpeaks (my_signal, 'minpeakheight', 2.5);
Krok 4
Poszukaj pików oddzielonych minimalną odległością za pomocą parametru "minpeakdistance". Wartość to minimalna liczba indeksów między pikami w wektorze "my_signal" i musi być liczbą całkowitą:
[wartość_pikr, lokalizacja_piksu] = findpeaks (my_signal, 'minpeakdistance', 5);
Krok 5
Wyszukuj tylko piki powyżej określonego limitu, używając parametru "Próg". Jest to rzeczywista skala wartości, która odnosi się do minimalnej różnicy dozwolonej między szczytem a sąsiednimi punktami informacyjnymi:
[wartość_procesu, lokalizacja_piksu] = findpeaks (my_signal, 'threshold', 0.5);
Krok 6
Znajdź tylko kilka pików za pomocą parametru "npeaks". Wartość musi być liczbą całkowitą:
[wartość_pikr., lokalizacja_pionu] = findpeaks (my_signal, 'npeaks', 5);
Krok 7
Napraw listę zwróconą ze szczytów, używając parametru "sortsr". Dopuszczalne wartości to "wznoszenie się" (wznoszenie), "schodzenie" (schodzenie) i "brak" (brak):
[wartość_pikra, lokalizacja_piksu] = findpeaks (my_signal, 'sortstr', 'ascend');