Is the Fourier series the best way to decompose a sinusoidal signal?

16 views (last 30 days)
Hello, I am looking for the best way to decompose a generic sinusoidal signal: in the picture below you can see my original signal (blue) and the one obtained with the Fourier series (red). As you can notice, there is (of course) an error in the amplitude and this is what I am looking for: is there an alternative (to the Fourier series) that allows a perfect reproduction of a sinusoidal signal?

Answers (1)

Bjorn Gustavsson
Bjorn Gustavsson on 12 Dec 2017
Have a look at your function - it is obviously not a sinusoidal function that's periodic over your interval. Further, obviously you can find a Fourier transform of any function over a finite interval. The trick for you to spot here is that you have a jump at the edge of your window. Most likely you can find a better low-order Fourier expansion of your curve if you start off with a slightly longer wavelength that your widow.
Is this an exercise for a course on Fourier methods?
  2 Comments
Alessandro Longo
Alessandro Longo on 12 Dec 2017
What do you mean about the function? Of course it is a sinusoidal signal, with custom phase, custom amplitude variation law and swept frequency. I only cut one period from it.
Anyway, yes it is an exercise. I should re-build the original signal in the best way possible (without passing in the frequency domain)
Bjorn Gustavsson
Bjorn Gustavsson on 13 Dec 2017
Edited: Bjorn Gustavsson on 13 Dec 2017
Obviously the blue curve is not from one period of a sinusoidal function - since the value at x=0 is approximately 5 and at x=0.5 the value is approximately 4.
If you have an amplitude modulated signal with a fixed "carrier-frequency", then go ahead an try to estimate the time-variation of the envelope of your signal and model it that way, if you have a signal with varying frequency try to estimate the variation of the frequencies (perhaps use times between the zero-crossings or peaks to get at a variable period-time) or combine both.
Good luck with your exercise.

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!