5
$\begingroup$

Im trying to tackle the following problem while still not having a firm idea on what "frequency resolution" means :

Suppose we sample a continuous time signal with sampling period Ts = 1/2000, and then use a window of length 1000 on the resulting discrete time signal. If we transform it using a 2000 point DFT what would its frequency resolution be ?

Can anyone help me figure this out ?

$\endgroup$
2
  • $\begingroup$ Do you want potential plot resolution with interpolation, peak location estimation resolution given an S/N, result bin separation, or peak separation resolution with a separation criteria? All these produce different frequency resolutions for the same length DFT. $\endgroup$
    – hotpaw2
    Feb 1 '19 at 21:33
  • $\begingroup$ @hotpaw2 I would be interested if you can talk about these resolutions in this or a different informative question. $\endgroup$ Apr 16 '20 at 22:05
3
$\begingroup$

Edit:

I've come to realize that my definition below of "Frequency Resolution" is completely wrong (as well as OP's question). Frequency resolution is how similar the window function's magnitude in frequency space is to the Dirac delta function. This is because the product of the window and the signal in the time domain becomes convolution in the frequency domain (and a convolution with the Dirac delta function is a sampling which would give perfect frequency resolution) The fatter the mainlobe (quantified by it's variance), and the higher the sidelobes, the worse the frequency resolution. Additionally, Time resolution can be quantified a the variance of the window function in the time domain.


Frequency Resolution is not Bin Resolution/Width. In the graph below notice that the lobes dont get closer (frequency resolution) even though bin width is decreasing.

Credit: Dan Boschen

Frequency resolution is rather a property of the Fourier transform of the rectangular function (i.e. the sinc function).

We must window functions to work with Fourier transforms (even when working theoretically). As a consequence we are always working with $f(t)w(t)$ rather than the function $f(t)$ itself (here $w(t)$ is a rectangular function). By the Convolution theorem the Fourier transform of a windowed function is always a convolution of $\hat{f}$ with $\hat{w}=$ sinc. Notably when $f$ is sinusoidal, $\hat{f}$ will be a Dirac delta function and the convolution will just be a sampling of a sinc function. Thus we periodically lose frequencies completely when windowing, the periodicity of this loss is the frequency resolution.

Since, on windowed functions, the DTFT is a periodic approximation of the CTFT it also acquires these properties.

The confusion arises because when we dont pad zeros to the DFT (i.e. only sample $f(t)w(t)$ where $w(t)=1$), the bin width is equal to the Frequency resolution.

However, we may also pad zeros (i.e. also sample $f(t)w(t)$ where $w(t)=0$) and this results in the DTF better interpolating the DTFT of $f(t)w(t)$. Confer with the first graph.


To see why the Fourier transform of the rectangular function is the a sinc funcion watch this video and consider the winding of the sinusoidal functions (its quite involved though)


To answer OP's example the bin resolution is $$\frac{F_s}{N} = \frac{2000}{2000}=1$$ where $F_s=2000$Hz is the sampling rate, and $N$ the DFT size.

The frequency resolution is what the bin resolution would be if we just sampled in the window (no zero padding)

$$\frac{F_s}{M} = \frac{1}{T}=2$$ where $M$ is the number of samples in the window, $T$ is the duration of the sample, and $F_s=M / T$.

$\endgroup$
13
  • 1
    $\begingroup$ Nice answer Tom. Also to add if not clear we often don't actually use a rectangular window, but other windows that taper which serve to significantly decrease the sidelobes (improve dynamic range) at the expense of degrading frequency resolution further. One of my favorite classic papers on this and the applications of the DFT in general is by fred harris. I think you'll really enjoy it if you haven't already seen it: web.mit.edu/xiphmont/Public/windows.pdf $\endgroup$ Apr 16 '20 at 2:23
  • 1
    $\begingroup$ @TomHuntington Nice, too bad I can't upvote twice! $\endgroup$ Jun 27 '20 at 21:07
  • 1
    $\begingroup$ @TomHuntington Wikipedia apparently doesn't know about my formulas or techniques. I am still having difficulty with intrabin resolution (due to noise and the sensitivity of the equations), but nearby frequencies are resolvable by iterative estimation and removal. When you remove the large tone, the smaller one is estimable. When you remove the small tone, you get a better read on the large one. And so on, even with multiple tones. Any kind of window complicates the math. $\endgroup$ Jun 27 '20 at 23:06
  • 1
    $\begingroup$ If you have two sinusoids of near equal amplitude, but very close in frequency, you can use the beat phenomenon in the time domain. The apparent frequency of the signal (by zero crossings) is the average of the two frequencies and the frequency of the envelope (if you take a full cycle, e.g. two lobes) is half the difference of the frequencies. $\endgroup$ Jun 27 '20 at 23:12
  • 1
    $\begingroup$ Also, resolution defines your precision in whatever you are measuring. It says nothing about accuracy. $\endgroup$ Jun 27 '20 at 23:14
2
$\begingroup$

The Sampling is given by $ {T}_{s} = \frac{1}{2000} $ [Sec].
The Window length is 1000 Samples.
Since the Window length must be equal to the data length we infer the data length is 1000 samples which means the sampling time is $ 0.5 $ [Sec].

The Bin resolution in DFT is the ration between the sampling interval to the number of DFT Samples, which in this case is 2000. Hence the bin resolution is $ \frac{1}{4000} $ [Hz].

$\endgroup$
2
$\begingroup$

Depends a bit on what you are trying to achieve.

If you do an FFT of length $N$ of a signal sampled at sampled at a rate of $F_s$, then many people would say your frequency resolution is $\frac{F_s}{N}$. Whether that's correct or not, really depends on how exactly you define frequency resolution and what you are planning to do with it.

What's really happening is that you sample a frequency domain function with a sampling interval of $\frac{F_s}{N}$. As soon as you pick an FFT size, you are sampling in both domains with the sampling intervals being $\frac{1}{F_s}$ in time and $\frac{F_s}{N}$ in frequency.

Frequency domain sampling has all the same properties, requirements and problems as time domain sampling, you can get aliasing, you can interpolate, there is assumed periodicity in the other domain, etc.

By simply applying the sampling theorem we could argue that the frequency resolution required to fully characterize a signal is simply the inverse of the length in the time domain. This works well for signals that are inherently time bound, such as the impulse response of an LTI system.

However it's not practical for long continuous signals. In this case you need to pick a frequency resolution that's "good enough" for your application, and that really depends on the requirements and goal of your specific application.

$\endgroup$
1
$\begingroup$

The binwidth of the FFT or the resolution of repreantation as I like to call it is Fs/N, where N is size of FFT. The actual resolution will depend on the window you use and the length of the window.

For ex: a rectangular window will provide maximum resolution but less dynamic range. Other more smoother windows provide less resolution with more dynamic range or lower side lobes.

$\endgroup$

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.