MATLAB היא חבילת תוכנה טכנית שיכולה לשמש לעיבוד וניתוח אותות. הליך נפוץ בניתוח אותות הוא איתור שיא, או מציאת מקסימום מקומי - ערכים גדולים מנקודות נתונים סמוכות - בתוך אות רועש. בדרך כלל יש צורך להגביל את זיהוי השיא למקסימום מקומי ברוחב מסוים - משך זמן האות בתחום הזמן - כמו גם גובה או גודל מסוים.
שלב 1
הגדר מקור נתונים על ידי ייבוא נתונים ל- MATLAB. לדוגמה, צור גל סינוס עם רעש אקראי:
my_signal = sin (0: 0.1: 10) + rand (1,101);
שלב 2
מצא פסגות באות שלך באמצעות שיטת האינטרפולציה הריבועית של "findpeaks ()":
[peak_value, peak_location] = findpeaks (my_signal);
שלב 3
חפש פסגות בגובה מינימלי באמצעות הפרמטר "minpeakheight". הגובה הוא סקלר בעל ערך אמיתי שמתייחס לערך הנתונים המינימלי של פסגות מותרות:
[peak_value, peak_location] = findpeaks (my_signal, 'minpeakheight', 2.5);
שלב 4
חפש פסגות המופרדות על ידי מרחק מינימלי באמצעות הפרמטר "minpeakdistance". הערך הוא המספר המינימלי של מדדים בין פסגות בווקטור "my_signal", והוא חייב להיות מספר שלם:
[peak_value, peak_location] = findpeaks (my_signal, 'minpeakdistance', 5);
שלב 5
חפש רק פסגות מעל סף מסוים באמצעות הפרמטר "סף". זהו סקלר בעל ערך אמיתי המתייחס להפרש המינימלי המותר בין נקודות שיא ונקודות נתונים סמוכות:
[peak_value, peak_location] = findpeaks (האות שלי, 'סף', 0.5);
שלב 6
מצא רק מספר מסוים של פסגות באמצעות הפרמטר "npeaks". הערך חייב להיות מספר שלם:
[peak_value, peak_location] = findpeaks (my_signal, 'npeaks', 5);
ממיין את רשימת הפסגות שהוחזרה באמצעות הפרמטר "sortstr". הערכים המותרים הם "עלייה", "ירידה" ו"אין ":
[peak_value, peak_location] = findpeaks (my_signal, 'sortstr', 'ascend');