MATLAB je technický softwarový balíček, který lze použít pro zpracování a analýzu signálu. Běžným postupem v analýze signálu je detekce špiček nebo hledání místních maxim - hodnot větších než sousední datové body - v hlučném signálu. Obvykle je nutné omezit detekci špiček na lokální maxima určité šířky - trvání, když je signál v časové doméně - a také na určitou výšku nebo velikost.
Krok 1
Definujte zdroj dat importem dat do MATLABu. Například vytvořte sinusovou vlnu s náhodným šumem:
my_signal = sin (0: 0,1: 10) + rand (1101);
Krok 2
Najděte vrcholy signálu pomocí metody kvadratické interpolace metody "findpeaks ()":
[peak_value, peak_location] = findpeaks (my_signal);
Krok 3
Hledejte špičky minimální výšky pomocí parametru „minpeakheight“. Výška je skalár se skutečnou hodnotou, který odkazuje na minimální datovou hodnotu povolených špiček:
[peak_value, peak_location] = findpeaks (my_signal, 'minpeakheight', 2.5);
Krok 4
Vyhledejte vrcholy oddělené minimální vzdáleností pomocí parametru „minpeakdistance“. Hodnota je minimální počet indexů mezi vrcholy ve vektoru „my_signal“ a musí být celé číslo:
[peak_value, peak_location] = findpeaks (my_signal, 'minpeakdistance', 5);
Krok 5
Vyhledávejte pouze vrcholy nad určitou prahovou hodnotou pomocí parametru „prahová hodnota“. Jedná se o skalár se skutečnou hodnotou, který odkazuje na minimální přípustný rozdíl mezi špičkovými a sousedními datovými body:
[peak_value, peak_location] = findpeaks (my_signal, 'threshold', 0.5);
Krok 6
Pomocí parametru „npeaks“ najděte pouze určitý počet vrcholů. Hodnota musí být celé číslo:
[peak_value, peak_location] = findpeaks (my_signal, 'npeaks', 5);
Seřadit vrácený seznam vrcholů pomocí parametru "sortstr". Povolené hodnoty jsou „ascend“, „descend“ a „none“:
[peak_value, peak_location] = findpeaks (my_signal, 'sortstr', 'ascend');