I am adding sine signals with different frequencies but same amplitude=100. Sampling frequency is 50MHz.

I am not getting 100 in frequency domain for frequency 787KHz.

At 1K, 3K I am getting 100 amplitude, but at 787KHz I am getting 75.9 . All the signals have 100 V amplitude.

Any reason for this?

  • $\begingroup$ Can you plot this result and provide more specifics on what you are doing for the FFT: Total number of samples? Are you zero-padding or windowing? Were any other signals added as well? $\endgroup$ – Dan Boschen May 6 at 1:51

What you see is a result of spectral leakage, it can be mitigated by using multitone frequencies that are coherent with the sampling frequency.
There is a nice tutorial about coherent sampling from Renesas.

  • $\begingroup$ If I compute FFT of the same sample of data in "C language environment IDE(like eclipse)" I am getting amplitude of 100 for every frequencies in frequency domain. Why do I get this difference ? $\endgroup$ – K A May 5 at 8:27
  • $\begingroup$ OK, do you use exactly the same number of data and sample rate as you have in Matlab? $\endgroup$ – Claes Rolen May 5 at 8:31
  • $\begingroup$ Yes . Exactly the same data. $\endgroup$ – K A May 5 at 8:35
  • $\begingroup$ Strange, then it probably differs in the implementation or windowing functions. Hard to tell without seeing the code ... $\endgroup$ – Claes Rolen May 5 at 8:47
  • $\begingroup$ There was a mistake in C code itself $\endgroup$ – K A May 5 at 11:41

Your Answer

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

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