MATLAB är ett tekniskt program som kan användas för signalbehandling och analys . Ett vanligt förfarande i signalanalys är toppdetektering , eller hitta lokala maxima - värden större än intilliggande datapunkter - inom en brusig signal . Det är vanligtvis nödvändigt att begränsa toppdetektering till lokala maxima av en viss bredd - varaktighet när signalen är i tidsdomänen - såväl som en viss höjd eller omfattning. Instruktioner
1
Definiera en datakälla genom att importera data i MATLAB . Till exempel skapa en sinusvåg med slumpmässigt brus :
my_signal = sin ( 0:0.1:10 ) + rand ( 1,101 ) , köpa 2
Hitta toppar i din signal med kvadratisk interpolation metod " findpeaks ( ) " :
[ peak_value , peak_location ] = findpeaks ( my_signal ) ,
3
Sök efter toppar med en minsta höjd med den " minpeakheight " parametern . Höjden är en reell skalär som hänvisar till de uppgifter som minst värdet av tillåtna toppar :
[ peak_value , peak_location ] = findpeaks ( my_signal , ' minpeakheight ' , 2,5 ) ;
4
Sök efter toppar separerade med ett minsta avstånd med hjälp av " minpeakdistance " parametern . Värdet är det minsta antalet index mellan topparna i " my_signal " vector , och måste vara ett heltal :
[ peak_value , peak_location ] = findpeaks ( my_signal , ' minpeakdistance " , 5 ) ;
5
Sök endast efter toppar över en viss tröskel med " tröskel " parametern . Detta är en reell skalär som refererar till den minsta tillåtna skillnaden mellan topp och intilliggande datapunkter :
[ peak_value , peak_location ] = findpeaks ( my_signal , " tröskel " , 0,5 ) ;
6
Hitta bara ett visst antal toppar som använder " npeaks " parametern . Värdet måste vara ett heltal :
[ peak_value , peak_location ] = findpeaks ( my_signal , ' npeaks " , 5 ) ;
7
Sort den returnerade listan över toppar med " sortstr " parametern . Tillåtna värden är " gå upp ", " ner " och " inget " :
[ peak_value , peak_location ] = findpeaks ( my_signal , ' sortstr ' , ' stig ' ) ;
Addera