Page actions
instrument / verified-clean
FFT Bin Width / Frequency Resolution Calculator
The current ledger marks this instrument verified clean within the source-bound verification corpus.
Inspectable records
Ledger state
The current ledger marks this instrument verified clean within the source-bound verification corpus.
- Area
- Computing & Information
- Tranche
- tranche-4
- Evidence ID
- t4-220
- Ledger rows
- 1
No ledger note is attached.
Review findings
Core arithmetic formulas are correct under the stated unit and FFT-length assumptions. Verdict is NEEDS_REVIEW because the exact frequency-bin convention and the meaning of 'frequency resolution' are unspecified, and the blank honest_label leaves an important limitation undisclosed. Recommended honest label: 'Bin spacing is f_s/N. Actual ability to distinguish nearby frequencies depends on the selected window, signal duration, leakage, and spectrum convention; bins above Nyquist represent negative frequencies for a standard FFT.'
Formula and scope findings
- Δf=f_s/N is the standard FFT bin spacing when f_s is the sampling rate in Hz and N is the FFT length.
- bin_k_freq=k·Δf is correct for FFT-bin indexing k=0 through N−1 under the unwrapped nonnegative-frequency convention, but bins above Nyquist are normally interpreted as negative frequencies: f_k=(k−N)·Δf for k>N/2.
- time_resolution=N/f_s is the input record duration, not universally the practical frequency resolution. Window-dependent main-lobe width and equivalent noise bandwidth are omitted.
- The optional window function is not used by any formula, so the instrument cannot claim window-dependent frequency-resolution results.
- The output requirement of the first N bin frequencies is ambiguous about whether it means raw FFT-bin frequencies from 0 through just below f_s, a one-sided spectrum through Nyquist, or signed frequencies above Nyquist.
Unit assumptions
- sample rate f_s is a positive value expressed in Hz, not kHz; convert 48 kHz to 48000 Hz before calculation.
- FFT size N is a positive integer equal to the FFT length and the number of time-domain samples represented by the transform.
- Δf and bin frequencies are in Hz; time_resolution is in seconds, with milliseconds obtained by multiplying seconds by 1000.
- The stated formulas assume uniformly sampled data and a conventional N-point FFT.
- The window function does not change the bin spacing or record duration, but it does affect practical spectral resolution and leakage.
Boundary hardening
BREAK_CLAIMED · SELF_FLAGGED
A zero sample rate creates an undefined time resolution and must be rejected. The calculator is also vulnerable to a 1000-fold frequency and time error when a value such as 44.1 lacks an explicit Hz/kHz convention.
Errata and corrections
No applied erratum is attached to this unique-name record.
Inspectable example
4 review vectors are recorded. One source-bound sample is shown below.
{
"inputs": {
"sample_rate_hz": 48000,
"fft_size": 1024,
"window": "rectangular"
},
"expected_outputs": {
"bin_width_hz": 46.875,
"time_resolution_s": 0.0213333333333333,
"bin_center_frequency_checks_hz": {
"k=0": 0,
"k=1": 46.875,
"k=512": 24000,
"k=1023": 47953.125
}
},
"working": "Δf = f_s/N = 48000/1024 = 46.875 Hz. time_resolution = N/f_s = 1024/48000 = 0.0213333333333333 s = 21.3333333333333 ms. bin_0 = 0×46.875 = 0 Hz. bin_1 = 1×46.875 = 46.875 Hz. bin_512 = 512×46.875 = 24000 Hz. bin_1023 = 1023×46.875 = (1024−1)×46.875 = 48000−46.875 = 47953.125 Hz. The raw first-N sequence is k×46.875 for k=0..1023."
}Related workflows
No source-defined multi-instrument workflow membership is recorded.
Sources and evidence
These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.
VERIFIED_LEDGER.json · VERIFIED_CLEANevidence-tranche4/tranche4-results.jsonBOUNDARY_HAZARD_CATALOG.json