كيفية اكتشاف الذروة في MATLAB

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')؛