MATLAB je tehnični programski paket, ki se lahko uporablja za obdelavo in analizo signalov. Pogost postopek pri analizi signala je zaznavanje vrhov ali iskanje lokalnih maksimuma - vrednosti, večjih od sosednjih podatkovnih točk - znotraj hrupnega signala. Običajno je treba zaznavanje vrhov omejiti na lokalne maksimume določene širine - trajanje, ko je signal v časovni domeni - pa tudi določeno višino ali velikost.
Korak 1
Določite vir podatkov z uvozom podatkov v MATLAB. Na primer, ustvarite sinusni val z naključnim šumom:
moj_signal = sin (0: 0,1: 10) + rand (1,101);
2. korak
Poiščite vrhove v svojem signalu s pomočjo metode kvadratne interpolacije "findpeaks ()":
[peak_value, peak_location] = findpeaks (moj_signal);
3. korak
Poiščite vrhove najmanjše višine s parametrom "minpeakheight". Višina je skalar realne vrednosti, ki se nanaša na najmanjšo vrednost podatkov dovoljenih vrhov:
[peak_value, peak_location] = findpeaks (moj_signal, 'minpeakheight', 2.5);
4. korak
Poiščite vrhove, ločene z najmanjšo razdaljo, s parametrom "minpeakdistance". Vrednost je najmanjše število indeksov med vrhovi v vektorju "my_signal" in mora biti celo število:
[peak_value, peak_location] = findpeaks (moj_signal, 'minpeakdistance', 5);
5. korak
Poiščite samo vrhove nad določenim pragom s parametrom "prag". To je skalar realne vrednosti, ki se nanaša na najmanjšo dovoljeno razliko med najvišjimi in sosednjimi podatkovnimi točkami:
[peak_value, peak_location] = findpeaks (moj_signal, 'prag', 0,5);
6. korak
Poiščite le določeno število vrhov s pomočjo parametra "npeaks". Vrednost mora biti celo število:
[peak_value, peak_location] = findpeaks (moj_signal, 'npeaks', 5);
Vrnjeni seznam vrhov razvrstite s parametrom "sortstr". Dovoljene vrednosti so "naraščajoče", "padajoče" in "nič":
[peak_value, peak_location] = findpeaks (my_signal, 'sortstr', 'ascend');