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] = findpeaks (my_signal, 'minpeakheight', 2.5);
Стъпка 4
Търсете върхове, разделени от минимално разстояние, като използвате параметъра "minpeakdistance". Стойността е минималният брой индекси между пиковете във вектора "my_signal" и трябва да бъде цяло число:
[peak_value, peak_location] = findpeaks (my_signal, 'minpeakdistance', 5);
Стъпка 5
Търсете само пикове над определен праг, като използвате параметъра "праг". Това е реално оценен скалар, който се отнася до минимално допустимата разлика между пикови и съседни точки от данни:
[peak_value, peak_location] = findpeaks (my_signal, 'праг', 0,5);
Стъпка 6
Намерете само определен брой пикове, като използвате параметъра "npeaks". Стойността трябва да е цяло число:
[peak_value, peak_location] = findpeaks (my_signal, 'npeaks', 5);
Сортирайте върнатия списък с пикове, като използвате параметъра "sortstr". Допустимите стойности са "възходящ", "низходящ" и "няма":
[peak_value, peak_location] = findpeaks (my_signal, 'sortstr', 'ascend');