Kā noteikt maksimumu MATLAB

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');