MATLAB ir tehniska programmatūras pakete, kuru var izmantot signālu apstrādei un analīzei. Signālu analīzē izplatīta procedūra ir pīķa noteikšana vai lokālu maksimumu atrašana - lielākas par blakus esošajiem datu punktiem - trokšņainā signālā. Parasti ir nepieciešams ierobežot pīķa noteikšanu līdz noteikta platuma vietējiem maksimumiem - ilgumam, kad signāls atrodas laika apgabalā -, kā arī noteiktam augstumam vai lielumam.
1. solis
Definējiet datu avotu, importējot datus MATLAB. Piemēram, izveidojiet sinusa vilni ar nejaušu troksni:
my_signal = grēks (0: 0.1: 10) + rand (1.101);
2. solis
Atrodiet signāla virsotnes, izmantojot kvadrāta interpolācijas metodi "findpeaks ()":
[maksimālā vērtība, maksimālā atrašanās vieta] = findpeaks (mans_signāls);
3. solis
Meklējiet minimālā augstuma virsotnes, izmantojot parametru "minpeakheight". Augstums ir reāli novērtēts skalārs, kas attiecas uz pieļaujamo pīķu minimālo datu vērtību:
[peak_value, peak_location] = findpeaks (my_signal, 'minpeakheight', 2,5);
4. solis
Meklējiet maksimumus, kas atdalīti ar minimālo attālumu, izmantojot parametru "minpeakdistance". Vērtība ir minimālais indeksu skaits starp virsotnēm vektorā "my_signal", un tam jābūt veselam skaitlim:
[peak_value, peak_location] = findpeaks (my_signal, 'minpeakdistance', 5);
5. solis
Izmantojot parametru "slieksnis", meklējiet tikai virsotnes, kas pārsniedz noteiktu robežu. Šis ir reāli novērtēts skalārs, kas attiecas uz minimālo pieļaujamo starpību starp maksimuma un blakus esošajiem datu punktiem:
[peak_value, peak_location] = findpeaks (mans_signāls, 'slieksnis', 0,5);
6. solis
Izmantojot parametru "npeaks", atrodiet tikai noteiktu pīķu skaitu. Vērtībai jābūt veselam skaitlim:
[pīķa_vērtība, pīķa_vieta] = atrastpīķi (mans_signāls, 'npeaks', 5);
Kārtojiet atgriezto virsotņu sarakstu, izmantojot parametru "sortstr". Pieļaujamās vērtības ir "augšupcelšanās", "nolaišanās" un "neviens":
[peak_value, peak_location] = findpeaks (my_signal, 'sortstr', 'ascend');