Is it possible to decompose unknown function to simpler functions?

311 Views Asked by At

I have some data which is periodic. I created a chart for this data:

enter image description here

Now I want to get a value at any point without using a data itself. Is it possible to decompose this signal to some simpler functions so I can sample them at any point and get the original result back? I did a search and found that Fourier Transform can help me. Thought I have no idea yet what is it. Am I right? Should I continue my investigation with FT or I'm completely wrong?

3

There are 3 best solutions below

2
On BEST ANSWER

From the self-similarities your curve is clearly a fractal so let's forget Fourier series and look at the first terms : \begin{array} {c|c} x&y\\ \hline 1&1\\ 2&0\\ 3&1\\ 4&2\\ 5&3\\ 6&2\\ 7&3\\ 8&0\\ \end{array} This is repeated after that except for $16$ which becomes $4$ instead of $0$. Let's rewrite this in binary to catch a pattern : \begin{array} {r|r} x&y\\ \hline 1&1\\ 10&0\\ 11&1\\ 100&10\\ 101&11\\ 110&10\\ 111&11\\ 1000&0\\ \end{array}

If you remove the odd position binary digits of the source (the bits $1,3,5,\cdots$ in $x$) then you obtain the resulting destination and this holds for more values as illustrated here :

odd binary inversion

0
On

It will give you some insight into how to write certain functions as sum of basis functions.

A Fourier decomposition can express certain functions as infinite sum or integral of harmonic functions. $$ f(x) = \int\limits \left( a(f) \cos(2\pi f x) + i \, b(f) \sin(2\pi f x) \right) \, df $$ Even sawtooth functions can be expressed that way.

In case of your function you can try the analysis, but you probably still end up with infinite many basis functions.

For a finite sum I would research if there is a "zig zag" set of base functions.

(Examples of useful base functions: Walsh functions, Haar wavelets)

0
On

This function seems to be a sum of five sawtooth functions of different periods and amplitudes.

I would try to identify the period and amplitude of the high frequency wave, and subtract it from the signal. Then repeat with the next frequency a.s.o.

If that works, it will be much easier than with Fourier.