Effetti della media
L'uso di un filtro a media mobile appianerà le irregolarità del segnale. Il rumore diventa E / N dove N è la lunghezza del filtro della media mobile. L'effetto collaterale dell'utilizzo di un MA è che i picchi di segnale diventano più ampi e meno profondi.
Inoltre, il contenuto in frequenza del segnale cambierà. Un filtro a media mobile nel dominio del tempo è la stessa cosa che avvolge il segnale del dominio della frequenza con una funzione sinc che tutto viene macchiato.
Algoritmo di
rilevamento di picco Il rilevamento di picco è un problema comune in problemi di ingegneria 9/10. (non proprio, ma un TON dipende da loro)
In genere questo è ciò che viene fatto:
Soglia mediana
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.
Ecco un esempio:
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.
Determinazione della frequenza
Ora che hai effettivamente trovato la localizzazione temporale del picco, prova a trovare la loro frequenza:
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.
Stima della frequenza alternativa
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)
Ulteriori percorsi di ricerca
Mentre potresti essere soddisfatto dal segnale di picco così com'è, ci sono algoritmi che vengono applicati a una serie di problemi completamente diversa chiamata Rilevazione dell'insorgenza.
Onset Detection è una grande area nella ricerca sul recupero di informazioni musicali. Viene utilizzato per determinare quando viene suonata una nota.
Se pensi al segnale della testina come un segnale altamente campionato, puoi applicare molti degli algoritmi che troverai in questo documento:
http://www.elec.qmul.ac.uk/people/juan/Documents/Bello-TSAP-2005.pdf