Bagaimana mendeteksi puncak di MATLAB
Langkah 1
Menentukan sumber informasi dengan mengimpor data ke MATLAB. Misalnya, buat gelombang sinus dengan gangguan acak:
my_signal = sin (0: 0.1: 10) + rand (1, 101);
Langkah 2
Temukan puncak sinyal Anda menggunakan metode interpolasi kuadrat dari "findpeaks ():"
[peak_value, peak_location] = findpeaks (my_signal);
Langkah 3
Carilah puncak ketinggian minimum menggunakan parameter "minpeakheight". Ketinggian adalah skalar nilai nyata yang mengacu pada nilai data minimum dari puncak yang diizinkan:
[peak_value, peak_location] = findpeaks (my_signal, 'minpeakheight', 2.5);
Langkah 4
Carilah puncak yang dipisahkan oleh jarak minimum menggunakan parameter "minpeakdistance". Nilai adalah jumlah minimum indeks antara puncak dalam vektor "my_signal" dan harus berupa bilangan bulat:
[peak_value, peak_location] = findpeaks (my_signal, 'minpeakdistance', 5);
Langkah 5
Pencarian hanya memuncak pada batas tertentu menggunakan parameter "Ambang". Ini adalah skala nilai aktual yang mengacu pada perbedaan minimum yang diizinkan antara titik puncak dan titik informasi yang berdekatan:
[peak_value, peak_location] = findpeaks (my_signal, 'threshold', 0, 5);
Langkah 6
Temukan hanya sejumlah puncak menggunakan parameter "neak". Nilai harus berupa bilangan bulat:
[peak_value, peak_location] = findpeaks (my_signal, 'npeaks', 5);
Langkah 7
Perbaiki daftar yang dikembalikan dari puncak menggunakan parameter "sortr". Nilai yang diizinkan adalah "naik" (naik), "turun" (turun) dan "tidak ada" (tidak ada):
[peak_value, peak_location] = findpeaks (my_signal, 'sortstr', 'ascend');