Ortalamalamanın Etkileri
Hareketli bir ortalama filtre kullanmak, sinyaldeki düzensizlikleri düzeltir. Gürültü E / N olur, burada N hareketli ortalama filtrenin uzunluğudur. Bir MA kullanmanın yan etkisi, sinyal piklerinin daha geniş ve sığ hale gelmesidir.
Ek olarak, sinyalin frekans içeriği değişecektir. Zaman alanındaki hareketli bir ortalama filtre, frekans etki alanı sinyalini samimi bir işlevle her şeyin dağıldığı gibi döndürmekle aynı şeydir.
Tepe Algılama Algoritması
Tepe algılama 9/10 mühendislik problemlerinde yaygın bir sorundur. (gerçekte değil, ama bir TON onlara bağlı)
Tipik olarak bu yapılır:
Ortalama Eşik
1) Look for all peaks in your signal. (i.e., a point that is larger than the two
adjacent points
2) take this list of points and for each one of them compute:
med_threshold = median(Peak,Width) + constantThresholmedian where median is the
median value of the data centered at "Peak" with Width being the number of
points to look at.
a) The Width(usually written as Lambda in literature) and constantThreshold
(usually written as C) are determined by trial and error and using the ROC
curve (Acronym below)
3) if the peak's magnitude is above this threshold accept it as a true peak.
Else: Discard it, its a false peak
4) Generate a Receiver Operating Characteristic Curve(ROC) to how well the algorithm
is performing.
İşte bir örnek:
suppose we have the signal X = [ 0 0 0 0 1 3 **9** 2 1 1 **2** 1 1 ]
1) 9 and 2 are both potential peaks
2) Lets use a window of 5 and a threshold =2
so at 9 we have [1 3 9 1 2] -> [1 1 2 3 9] so Median(9,5) = 2
9 > 2 +2, therefor its a peak
Lets take a look at 2: [ 1 1 2 1 1] -> [1 1 1 1 2 ] Median(2,5) = 1
2 < 1+2, therefor it is NOT a peak.
Frekansın Belirlenmesi
Artık zirvenin zaman lokalizasyonunu etkili bir şekilde bulduğunuza göre frekanslarını bulmaya çalışın:
1) Use the locations of the peaks to generate a pulse train
a) this means create sum(Dirac_delta[t-L(n)]) where L(n) is the nth time that
you've localized through median thresholding
2) Apply FFT Algorithm
3) Look for largest peak.
Alternatif Frekans Tahmini
1) Think of this like a beat in a piece of music (I learned about thresholding by
researching Onset Detection.
2) Compute the average time distance between detected peaks.
3) now call your results BPM or PPM (pulses per minute)
Ek Araştırma Alanları
En yüksek sinyalden memnun olsanız da, Başlangıç Algılama adı verilen farklı bir sorun canavara uygulanan algoritmalar vardır.
Başlangıç Algılama, Müzik Bilgi Erişim Araştırmalarında büyük bir alandır. Bir notanın ne zaman çalınacağını belirlemek için kullanılır.
Teyp kafası sinyalinizi yüksek oranda örneklenmiş bir sinyal olarak düşünüyorsanız, bu makalede bulacağınız algoritmaların çoğunu uygulayabilirsiniz:
http://www.elec.qmul.ac.uk/people/juan/Documents/Bello-TSAP-2005.pdf