Kako otkriti vrh u MATLAB-u

MATLAB je tehnički softverski paket koji se može koristiti za obradu i analizu signala. Uobičajeni postupak u analizi signala je detekcija vrha ili pronalaženje lokalnih maksimuma - vrijednosti većih od susjednih točaka podataka - unutar bučnog signala. Obično je potrebno ograničiti vršnu detekciju na lokalne maksimume određene širine - trajanja kada je signal u vremenskoj domeni - kao i određene visine ili veličine.

Korak 1

Definirajte izvor podataka uvozom podataka u MATLAB. Na primjer, stvorite sinusni val s slučajnim šumom:

moj_signal = sin (0: 0,1: 10) + rand (1,101);

Korak 2

Pronađite vrhove u svom signalu pomoću metode kvadratne interpolacije "findpeaks ()":

[vršna_vrijednost, vršna_lokacija] = pronađi vrhove (moj_signal);

3. korak

Potražite vrhove minimalne visine pomoću parametra "minpeakheight". Visina je skalar stvarne vrijednosti koji se odnosi na minimalnu vrijednost podataka dopuštenih vrhova:

[vršna_vrijednost, vršna_lokacija] = findpeaks (moj_signal, 'minpeakheight', 2.5);

4. korak

Potražite vrhove odvojene minimalnom udaljenostom pomoću parametra "minpeakdistance". Vrijednost je minimalni broj indeksa između vrhova u vektoru "moj_signal" i mora biti cijeli broj:

[peak_value, peak_location] = findpeaks (moj_signal, 'minpeakdistance', 5);

Korak 5

Pretražite samo vrhove iznad određenog praga pomoću parametra "prag". Ovo je skalar stvarne vrijednosti koji se odnosi na najmanju dopuštenu razliku između vršnih i susjednih točaka podataka:

[vršna_vrijednost, vršna_lokacija] = findpeaks (moj_signal, 'prag', 0,5);

Korak 6

Pomoću parametra "npeaks" pronađite samo određeni broj vrhova. Vrijednost mora biti cijeli broj:

[vršna_vrijednost, vršna_lokacija] = findpeaks (moj_signal, 'npeaks', 5);

Sortirajte vraćeni popis vrhova pomoću parametra "sortstr". Dopuštene vrijednosti su "rastuće", "silazno" i "ništa":

[peak_value, peak_location] = findpeaks (moj_signal, 'sortstr', 'ascend');