# Nyquist Frequency and Window Length

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.

• 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. Commented May 4, 2021 at 0:41
• 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). Commented May 4, 2021 at 2:36
• Your question abstract is: Is really I need one cycle of my signal to be captured in the window that I want to transform? The question is not clear to me. Commented Jun 28, 2022 at 14:29

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.