MATLAB عبارة عن حزمة برامج تقنية يمكن استخدامها لمعالجة الإشارات وتحليلها. الإجراء الشائع في تحليل الإشارة هو اكتشاف الذروة ، أو إيجاد الحد الأقصى المحلي - قيم أكبر من نقاط البيانات المجاورة - داخل إشارة صاخبة. عادة ما يكون من الضروري قصر اكتشاف الذروة على الحد الأقصى المحلي لعرض معين - المدة عندما تكون الإشارة في المجال الزمني - بالإضافة إلى ارتفاع أو مقدار معين.
الخطوة 1
تحديد مصدر البيانات عن طريق استيراد البيانات إلى MATLAB. على سبيل المثال ، أنشئ موجة جيبية بضوضاء عشوائية:
my_signal = sin (0: 0.1: 10) + rand (1،101) ؛
الخطوة 2
ابحث عن قمم في الإشارة باستخدام طريقة الإقحام التربيعي لـ "findpeaks ()":
[الذروة_القيمة ، الذروة_الموقع] = findpeaks (my_signal) ؛
الخطوه 3
ابحث عن قمم ذات ارتفاع أدنى باستخدام معلمة "minpeakheight". الارتفاع هو مقياس حقيقي بالقيمة يشير إلى الحد الأدنى لقيمة البيانات للقمم المسموح بها:
[الذروة_القيمة ، الذروة_الموقع] = findpeaks (my_signal، 'minpeakheight'، 2.5)؛
الخطوة 4
ابحث عن قمم مفصولة بمسافة دنيا باستخدام معلمة "minpeakdistance". القيمة هي الحد الأدنى لعدد المؤشرات بين القمم في متجه "my_signal" ، ويجب أن تكون عددًا صحيحًا:
[الذروة_القيمة ، الذروة_الموقع] = findpeaks (my_signal، 'minpeakdistance'، 5)؛
الخطوة الخامسة
ابحث فقط عن القمم التي تتجاوز عتبة معينة باستخدام معلمة "العتبة". هذا مقياس حقيقي بالقيمة يشير إلى الحد الأدنى للفرق المسموح به بين نقاط البيانات الذروة والمجاورة:
[الذروة_القيمة ، الذروة_الموقع] = findpeaks (my_signal، 'threshold'، 0.5)؛
الخطوة 6
ابحث فقط عن عدد معين من القمم باستخدام معلمة "npeaks". يجب أن تكون القيمة عددًا صحيحًا:
[الذروة_القيمة ، الذروة_الموقع] = findpeaks (my_signal، 'npeaks'، 5)؛
فرز قائمة القمم التي تم إرجاعها باستخدام المعلمة "sortstr". القيم المسموح بها هي "تصاعدي" و "تنازلي" و "بلا":
[الذروة_القيمة ، الذروة_الموقع] = findpeaks (my_signal، 'sortstr'، 'ascend')؛