Skip to main content
3 of 3
deleted 568 characters in body
Hilmar
  • 48.2k
  • 1
  • 32
  • 67

it is necessary to use window functions,

Nope. Not if your test signal generator uses the same clock that drives your A/D converter. You just have to make sure that your frequencies have an integer number of period inside the analysis window.

Let's say you acquire about 1s worth of data at 192kHz. If you use an analysis window of $2^{18}$ that gives about 1.4 s of data at a frequency resolution of about 0.73Hz. You won't be able to make EXACTLY 1000Hz but FFT bin 1365 is at 999.76Hz which is probably close enough.

By working in FFT bins instead of absolute frequencies you eliminate the need for the window and you turn this into nice and simple integer problem. 990 Hz becomes bin 1352 and 1010Hz becomes bin 1379 end so your first intermod products will show up at bin 2731 and 27. Provided the amount of non-linear distortion is reasonably small you can get magnitude and phase of the fundamental, the harmonics and the intermod products directly from the FFT coefficient at that bin.

Hilmar
  • 48.2k
  • 1
  • 32
  • 67