How to get the frequency of a time-domain signal with limited sample length?

234 Views Asked by At

Let's say there is a signal who only has one peak in its power spectrum. I would like to know the frequency at which the peak is (the magnitude of power is not important to me). But I only have very limited sampling length, which leads to a poor resolution in the frequency domain. Can I pad the time-domain signal with zeros before taking the FFT, to get an approximation?

For example, a time-domain signal $x(t)=sin(\omega t)$, where $\omega$ is around 5.5 $rad/s$. The total sample time T is 6.28s, (there is no way to increase T) which means the resolution in the frequency domain is $\frac{2\pi}{T}$ $rad/s$ $\approx$ 1 $rad/s$. If I only want to know the frequency of this time-domain signal (the magnitude is not important to me), can I pad it with zeros to get the approximate value?

Then what is the side-effect of doing so?

1

There are 1 best solutions below

6
On BEST ANSWER

The processing you are considering consists of three steps:

  1. truncate the infinite signal $x(t)=\sin(\omega t),t\in \mathbb{R}$, to its part corresponding to the finite obsrcation interval $[0,T]$.
  2. sample the truncated signal with a sampling period $T_s$, resulting in a finite length discrete-time sequence of $N=\lfloor T/T_s \rfloor$ samples.
  3. extend the discrete time sequence to $M\geq N$ samples by zero padding and perform an $M$-point FFT to investigate its frequencies.

The limitations of this approach are mainly introduced at step $1$. When you truncate the infinite signal, you are essentially considering a "windowed" version of the original signal, of the form $x(t) w(t)$ where $w(t)=1,t\in [0,T],$ and $w(t)=0, t\notin [0,T]$. The Fourier transform of the windowed signal is the convolution $X(\omega)*W(\omega)$, with $W(\omega)$ a sinc-like function with a main lobe length that is inversely proportional to $T$. You need to have $T$ sufficiently large so that $W(\omega)\approx \delta(\omega)$, otherwise you will experience poor frequency resolution, which cannot be resolved, no matter what (discrete-time) signal processing you perform next on the windowed signal.

Actually, the discrete-time processing can only result in additional distortion. This will be the case when the sampling period $T_s$ is so large that aliasing occurs. However, even when the sampling period is sufficiently small so that the aliasing effect is negligible, using a large size FFT (i.e., $M\gg N$) will only increase the resolution of the sampled windowed signal and not the original signal.