Take the 2-minute tour ×
Signal Processing Stack Exchange is a question and answer site for practitioners of the art and science of signal, image and video processing. It's 100% free, no registration required.

I have a set of samples from a signal. The signal is erratic in behaviour at the beginning but then it settles down and oscillates around the value of 100 (the frequency of oscillation is not necessarily a constant). Having settled down, the signal also begins to decay ever so slightly. Given that I only have samples for the beginning of the signal, how might I estimate the remaining samples in the signal until the point at which it flat-lines. That is, the point at which all consecutive samples will have a value of 100.

Here are my samples:

3
84
200
130
106
80
70
65
66
73
78
92
105
120
120
103
94
79
72
73
78
93
101
109
108
104
90
81
78
79
80
97
101
104
100
92
87
82
87
99

enter image description here

share|improve this question
add comment

1 Answer

up vote 2 down vote accepted

There is Eureqa : Eureqa (pronounced "eureka") is a software tool for detecting equations and hidden mathematical relationships in your data


EDIT : Now below is what I wrote in first place but reading myself again, I haven't really answered the exact question you've asked ... now that I (think) have (above), I just left it because in my case Eureqa yielded no good results. (pretty much the same issue as you, I was trying to estimate when a turntable would really stop for my DJ-ing software)

So here it is :

  • What about a http://en.wikipedia.org/wiki/Linear_regression ? You might be interested in the Estimation category, on the right of the page.

  • There's the http://en.wikipedia.org/wiki/Zero-crossing_rate, it is quite primitive but yielded some nice results for me, you can find out how many times and how far occurences do occur for your value of 100. (You might need a lot more data than a few samples, though ... but you can oversample your signal)

  • Last thing, you can (and probably should) apply some filtering to the incoming signal, I did use the Moving Average Filter http://www.dspguide.com/ch15/5.htm. Dependings your needs, you can get rid off some of the noise present to even enhance your estimation.

From this great book : The Scientist and Engineer's Guide to Digital Signal Processing By Steven W. Smith, Ph.D. It is free ! Chapters of interest for you : 14, 15, 16, 19, 20, 21

Using Wikipedia and this book, I've been able to track a time-code signal for my DJ-ing software.

(if you don't know what a time-code is : http://en.wikipedia.org/wiki/Vinyl_emulation_software)

Also it's a lot of trial and error, magic numbers sometimes, in my case it was 21 samples (for the MA filter) at 44.1Khz, with this I've been able to track changes in the frequency of about 0.25Hz which was way better than when not using the MA filter before the ZCR.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.