Как да се открият върховете в MATLAB
Стъпка 1
Определя източник на информация чрез импортиране на данни в MATLAB. Например, създайте синусова вълна с произволен шум:
my_signal = sin (0: 0, 1: 10) + rand (1, 101);
Стъпка 2
Намерете върхове във вашия сигнал, използвайки квадратичния интерполационен метод на "findpeaks ():"
[peak_value, peak_location] = findpeaks (my_signal);
Стъпка 3
Потърсете върхове с минимална височина, като използвате параметъра "minpeakheight". Височината е скаларна реална стойност, която се отнася до минималната стойност на данните на разрешените пикове:
[peak_value, peak_location] = Намерител (my_signal, "minpeakheight", 2.5);
Стъпка 4
Потърсете върхове, разделени с минимално разстояние, като използвате параметъра "minpeakdistance". Стойността е минималният брой индекси между пиковете във вектора "my_signal" и трябва да е цяло число:
[peak_value, peak_location] = findpeaks (my_signal, "minpeakdistance", 5);
Стъпка 5
Търсете само върхове над определена граница, като използвате параметъра "Threshold". Това е скала на действителната стойност, която се отнася до разрешената минимална разлика между пика и съседните информационни точки:
[peak_value, peak_location] = findpeaks (my_signal, "праг", 0.5);
Стъпка 6
Намерете само няколко върхове, като използвате параметъра "npeaks". Стойността трябва да е цяло число:
[peak_value, peak_location] = findpeaks (my_signal, "npeaks", 5);
Стъпка 7
Фиксирайте списъка, върнат от пиковете, като използвате параметъра "sortsr". Допустимите стойности са "ascend" (ascend), "descend" (descend) и "none" (none):
[peak_value, peak_location] = findpeaks (my_signal, 'sortstr', 'ascend');