Hvordan oppdage Peak i MATLAB
MATLAB er et teknisk programvarepakke som kan brukes for signalbehandling og analyse. En vanlig prosedyre i signalanalyse er toppdeteksjon, eller finne lokale maksima - verdier større enn tilstøtende datapunkter - innen en støyende signal. Det er vanligvis nødvendig å begrense toppdeteksjons til lokale maksima av en viss bredde - varighet når signalet er i tidsdomenet - så vel som en viss høyde eller størrelse.
Bruksanvisning
1 Definer en datakilde ved å importere data inn i MATLAB. For eksempel opprette en sinuskurve med tilfeldig støy:
my_signal = sin (0: 0,1: 10) + rand (1101);
2 Finn topper i signalet ved hjelp av kvadratisk interpolasjon metoden for "findpeaks ()":
[Peak_value, peak_location] = findpeaks (my_signal);
3 Søk etter toppene i en minimumshøyde ved hjelp av "minpeakheight" parameter. Høyden er en reell verdi skalar som refererer til den minste dataverdien av tillatte topper:
[Peak_value, peak_location] = findpeaks (my_signal, 'minpeakheight', 2,5);
4 Søk etter topper atskilt med en minimumsavstand ved hjelp av "minpeakdistance" parameter. Verdien er minimum antall indekser mellom toppene i "my_signal" vektor, og må være et heltall:
[Peak_value, peak_location] = findpeaks (my_signal, 'minpeakdistance', 5);
5 Søk bare etter topper over en viss terskel ved bruk av "terskel" parameter. Dette er en reell verdi skalar som refererer til minstekravet til forskjellen mellom topp og tilstøtende datapunkter:
[Peak_value, peak_location] = findpeaks (my_signal, 'terskel', 0,5);
6 Finn bare et visst antall topper med "npeaks" parameter. Verdien må være et heltall:
[Peak_value, peak_location] = findpeaks (my_signal, 'npeaks', 5);
7 Sorter returnert liste over topper med "sortstr" parameter. Tillatte verdier er "stige", "ned" og "ingen":
[Peak_value, peak_location] = findpeaks (my_signal, 'sortstr', 'stige');