MATLAB ist eine technische Software -Paket, das für die Signalverarbeitung und Analyse verwendet werden können. Ein gemeinsames Verfahren bei der Signalanalyse ist Peak -Erkennung oder die Suche nach lokalen Maxima - Werte größer als benachbarte Datenpunkte - in einem verrauschten Signal . Es ist in der Regel notwendig, Peak-Detektion , um lokale Maxima mit einer bestimmten Breite zu begrenzen - Dauer , wenn das Signal in der Zeitdomäne ist - ebenso wie eine bestimmte Höhe oder Größe . Anleitung
1
Definieren einer Datenquelle durch Importieren von Daten in MATLAB . Erstellen Sie zum Beispiel eine Sinuskurve mit Rauschen :
my_signal = sin ( 0:0.1:10 ) + rand ( 1,101 );
2
finden Gipfel in Ihr Signal mit dem quadratische Interpolation Methode der " findpeaks () ":
[ peak_value , peak_location ] = findpeaks ( my_signal );
3
Suche nach Spitzen einer minimalen Höhe mit die " minpeakheight "-Parameter . Die Höhe ist eine reellwertige skalare , der dem minimalen Wert der zulässigen Daten Peaks bezieht :
[ peak_value , peak_location ] = findpeaks ( my_signal , ' minpeakheight ' , 2,5 );
4 < p> Suche nach Spitzen, die durch einen minimalen Abstand mit dem " minpeakdistance " Parameter getrennt. Der Wert ist die minimale Anzahl von Indizes zwischen den Spitzen in der " my_signal " vector , und muss eine ganze Zahl sein :
[ peak_value , peak_location ] = findpeaks ( my_signal , ' minpeakdistance ', 5 );
5
Suche nur für Spitzen über einem bestimmten Schwellenwert über die "Schwelle" Parameter . Dies ist eine reelle skalare , die der minimal zulässige Differenz zwischen Peak und benachbarten Datenpunkten bezieht :
[ peak_value , peak_location ] = findpeaks ( my_signal , "Schwellenwert" , 0,5) ;
6
finden nur eine bestimmte Anzahl von Gipfeln mit dem " npeaks "-Parameter . Der Wert muss eine ganze Zahl :
[ peak_value , peak_location ] = findpeaks ( my_signal , ' npeaks ', 5 );
7
Sortieren der zurückgegebenen Liste der Spitzen mit dem " sortstr "-Parameter . Zulässige Werte sind " aufsteigen ", " steigen " und " none" :
[ peak_value , peak_location ] = findpeaks ( my_signal , ' sortstr ', ' Aufstieg ');