# Given a signal in the time domain, is there a way to determine a function that produces that signal?

Disclaimer: I'm by no means an expert in any of this, and I'm just wondering whether a solution to this problem already exists.

Using a raw audio waveform as an example, let's say you have a 1:00m long audio buffer, sampled at 44100 Hz, that is just a simple sine wave with a constant frequency of 500 Hz and a constant amplitude of 1. Just by looking at this data, you can assume that the value of any sample can be found using the equation $v(t) = sin(500 * t)$, where $v(t)$ is the value of the sample and $t$ is the time, in seconds, since the start of the waveform (determined using the ratio of the sample position to the sample rate). Lacking this assumption, however, you could in theory compute the spectrum via a Fourier Transform and find a point on that spectrum where the slope is 0 and the slope in either direction is positive and negative, respectively, in order to determine the frequency of the single partial (this is of course ignoring any partials generated by the existence of a noise floor). You could then use this data to determine the previously mentioned assumption is true, and model the signal using that function rather than keeping track of the signal using a data table. Not only that, you could continue this signal beyond the scope of the table indefinitely assuming that its nature is constant.

Can the same thing be done for more complex signals whose partials are much more numerous and change in amplitude and frequency over time? Based on what I know about Fourier, any function can be modeled using sine waves of various frequencies with constant amplitudes, so while the function generated from this analysis might not say anything useful about the nature of the signal, it can at least be generated at all, right?

• en.m.wikipedia.org/wiki/… is relevant
– Evan
Aug 31, 2013 at 21:48
• Can the same thing be done for more complex signals whose partials are much more numerous and change in amplitude and frequency over time? Sure, I used to own a Kawai K5000 synthesizer which worked based on this principle. It was a notoriously difficult to program! en.wikipedia.org/wiki/Additive_synthesis
– dls
Sep 12, 2013 at 5:27