MATLAB'da pikler nasıl tespit edilir

MATLAB fonksiyonları yerel maxima olarak da bilinen zirveleri bulabilir.

1. Adım

MATLAB'a veri aktararak bilgi kaynağı tanımlar. Örneğin, rastgele gürültülü bir sinüs dalgası oluşturun:

my_signal = sin (0: 0.1: 10) + rand (1, 101);

2. Adım

"Findpeaks (): 'nin ikinci dereceden enterpolasyon yöntemini kullanarak sinyalinizde pikler bulun."

[peak_value, peak_location] = findpeaks (my_signal);

3. adım

"Minpeakheight" parametresini kullanarak minimum yükseklikteki zirveleri arayın. Yükseklik, izin verilen zirvelerin minimum veri değerine başvuran gerçek bir değer skaleridir:

[peak_value, peak_location] = findpeaks (my_signal, 'minpeakheight', 2.5);

4. Adım

"Minpeakdistance" parametresini kullanarak minimum mesafe ile ayrılmış pikleri arayın. Değer, "my_signal" vektöründeki pikler arasındaki minimum endeks sayısıdır ve bir tam sayı olmalıdır:

[peak_value, peak_location] = findpeaks (my_signal, 'minpeakdistance', 5);

Adım 5

"Eşik" parametresini kullanarak sadece belirli bir sınırın üzerinde pikler arayın. Bu, tepe ve bitişik bilgi noktaları arasında izin verilen minimum farkı ifade eden gerçek bir değer ölçeğidir:

[peak_value, peak_location] = findpeaks (my_signal, 'eşik', 0.5);

6. Adım

"Npeaks" parametresini kullanarak sadece bir sayı pik bulun. Değer bir tam sayı olmalıdır:

[peak_value, peak_location] = findpeaks (my_signal, 'npeaks', 5);

7. adım

"Sortsr" parametresini kullanarak piklerden döndürülen listeyi düzeltin. İzin verilen değerler "yükselme" (yükselme), "inme" (inme) ve "yok" (hiç):

[peak_value, peak_location] = findpeaks (my_signal, 'sortstr', 'ascend');