We have a sensor that reports a new value asynchronously only when the value changes. Therefore, we receive samples at arbitrary time stamps. We basically receive value + timestamp of the measurement at irregular times.

Currently, we re-sample this signal to get equidistant sampling and use the goertzel algorithm to extract a single frequency bin. However, we were wondering if the the Goertzel filter could be extended to work directly on this kind of data. Does anyone have any experience with this?

  • $\begingroup$ hey! what does "re-sample the signal" entail, specifically? I think you might already be doing what you need, with but minor modification. $\endgroup$ – Marcus Müller Oct 2 '20 at 9:35
  • $\begingroup$ We just keep-and-hold the last received value, disregarding the incoming timestamps. However, using this technique, we have to re-evaluate the filter at every "sampling step", even if no new data was arrived in the mean time. So we'd like to evaluate the filter only at the times we get a new sample using the new sample timestamp. $\endgroup$ – user3207838 Oct 5 '20 at 8:08
  • $\begingroup$ OK, I should have asked this earlier, but: how many samples is the "full-rate" signal, how many the incoming data (orders of magnitude totally suffice), and why (in what hope of improvement) are you trying to optimize this? $\endgroup$ – Marcus Müller Oct 5 '20 at 8:14
  • $\begingroup$ We are trying to detect a 1 kHz signal. The typical incoming data rate is much slower most of the time, but highly erratic with bursts. We analyze many of these signals at the same time and want to reduce power consumption. $\endgroup$ – user3207838 Oct 5 '20 at 11:54
  • $\begingroup$ hm, at 1 kHz I can't really imagine the power usage being very high, and the sample-and-hold + Goertzel approach seems pretty sensible. I can see how one might optimize this if one is designing digital logic, though. May I ask what the scope of your development is, software or hardware, and what "many of these signals" actually means, in numbers. Again, orders of magnitudes insteafd of "much slower most of the time" would actually help a lot, thanks! $\endgroup$ – Marcus Müller Oct 5 '20 at 12:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.