1

Hi guys I was looking for a way in order to double or quadruplicate my frequency resolution, I found out THIS QUESTION and asked something like this:

"I asumme zero pad an array (one value between two zeros) would double my frequency resolution (and my output bins will be halfway from they are with my actual code), so, doubling my quantity of zeros, would quadruplicate my frequency resolution?"

The other way that I think I could increase my frequency resolution is modifing the Aforge code, thing that I didn't know until yesterday when I found this region:

    private const int       minLength   = 2;
    private const int       maxLength   = 16384;
    private const int       minBits     = 1;
    private const int       maxBits     = 14;
    private static int[][]  reversedBits = new int[maxBits][];
    private static Complex[,][] complexRotation = new Complex[maxBits, 2][];

If I double or quadruplicate the maxLength and maxBits values, won't it gives me an strange result or an error because of the bits operations or whatever it does?

I didn't copy the whole code, because y thought it would be inappropriate, but if you need it, just let me know, though here is the website where you can download it.

So, what is the most reliable and/or most efficient way?

Thanks in advance.

Community
  • 1
  • 1
lemg93
  • 11
  • 2

1 Answers1

0

Zero-padding data to use a longer FFT doesn't really increase the frequency resolution (as in ability to separate closely spaced frequency peaks). It just interpolates additional points from the same resolution spectrum to allow a frequency plot that looks smoother, and perhaps privides some interpolated plot points closer to frequencies of interest.

But zero-padding is no different from high quality interpolation.

hotpaw2
  • 70,107
  • 14
  • 90
  • 153