Thursday, 19 May 2016

frequency - Determine fundamental period from zero crossing signal


I have got a signal which consists of zero crossings over discrete time and I would like to estimate the fundamental frequency (period) from this signal in order to remove noisy samples.


The signal is about 500 to 1500 samples long and has about 10-50 zero crossings, e.g. x[93] = 0; x[183] = 0; x[244]; x[282]; x[310]; x[439]; x[502]; x[515]; x[570]; x[590]; x[640]; x[635]; x[650]; x[710]; x[740]; x[835]; x[850]; x[905]; x[915]; x[980]; x[1050]; x[1110];



The output should be zero crossings again or their fundamental period, but without the "noise". I'm only interested in the position of the "new" zero crossings.


I'm also not quite sure, how to model a zero-crossing signal for further processing.


Thanks for any ideas.



Answer



In general, you can not determine period of a signal from just the zero crossings. If the signal has harmonic content, then a pitch detection/estimation algorithm, such as autocorrelation, might be one solution. If the signal is more spectrally pure (e.g. close to sinusoidal fundamental, little overtone or harmonic energy), then a suitable DSP band-pass filter applied before locating the zero-crossings may help get rid of "noisy" samples.


No comments:

Post a Comment

readings - Appending 内 to a company name is read ない or うち?

For example, if I say マイクロソフト内のパートナーシップは強いです, is the 内 here read as うち or ない? Answer 「内」 in the form: 「Proper Noun + 内」 is always read 「ない...