The Nyquist theorem states that the sampling rate must be twice the highest frequency to be observed. How does the length of the interval play into this relationship?

The main resource that I found here states that

For a waveform to be fully characterized, it must complete at least one full cycle within the duration of the time record.

Is this the only restriction, assuming that my sampling rate exceeds the Nyquist rate? For example, assume that the frequency band I wish to measure is from 8Hz to 13Hz. I have a sampling rate of 2000 Hz, which is way beyond the Nyquist frequency. As long as my time window is at least 1000ms / 8 Hz = 125 ms, should I be able to reconstruct the signal? For context, I am planning on running an FIR filter followed by a Hilbert transform on these windows to extract phase information, so I want the analytic signal to be mathematically sound.

  • 2
    $\begingroup$ It's complicated. You should probably tell us what you're really doing. To see an 8Hz signal -- yes 125ms will do. But if you want to discriminate an 8Hz signal from an 8.1Hz signal, then by the usual methods you need at least 10 seconds. For 8.000Hz vs. 8.001, 1000 seconds. OTOH, if you absolutely positively know that there's only an 8.000Hz and an 8.001Hz signal in there, and you're measuring with absolutely positively zero noise, then in theory (some insanely impractical theory) you could get by with four or five samples at 2000Hz. $\endgroup$
    – TimWescott
    May 4 at 0:41
  • $\begingroup$ Thanks for the response. My goal is forward prediction, to be able to identify the location of a future peak in bandpassed filter from 8 to 13 Hz (alpha frequencies in the brain). So, extremely fine resolution in terms of adjacent frequencies is not necessary, just an ability to run an FIR filter without any significant artifacts, edge effects, while capturing the shape of the underlying signal (where a peak is). $\endgroup$
    – Abundance
    May 4 at 2:36

(this should possibly be a comment but I don't have the rep yet, so I'm submitting it as an answer) Restricting your view of the signal to a finite time window will always introduce artifacts, unless the signal itself is zero everywhere outside of that window. Using a "square" window (simple sampling the signal for a finite duration) will have the effect of convolving the signal's true spectrum with a Dirichlet Sinc function (Dirichlet Kernel). See https://en.wikipedia.org/wiki/Window_function#Spectral_analysis


Reconstruction is possible so long as NOLA is obeyed - which is an easier criterion (on synthesis information) to meet than what you seek (analysis information).

To discriminate temporal variations finer than $T$, the window's temporal width must be $\leq T$. You can use ssqueezepy's window_resolution with appropriate unit conversion (mult by $f_s$) to measure.

Further, there's a constraint on "hop length" or "stride". If you seek to capture e.g. A.M. of some frequency that itself has frequency $100\text{ Hz}$, then for $1\text{ sec}$ duration, we require $>200$ samples per row (where otherwise e.g. $50$ may have sufficed), else the A.M. will alias. Note this aliasing is of analysis information and doesn't affect reconstruction.

More importantly, for instantaneous frequency/amplitude/phase analysis, I recommend CWT and synchrosqueezing, often superior to STFT.


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.