Documentation sections
Nyquist Sampling Theorem Calculator
POSThttps://rftools.io/ api/ py/ v1/ calculate
Slug sampling-nyquist. Calculate Nyquist sampling rate, oversampling ratio, and aliasing frequency. Verify your ADC sampling meets the Nyquist criterion and determine data rate. Free, instant results.
Inputs
Send every one of these in inputs, in the units shown. Most are required: a call without one is refused (400) and costs nothing; one the calculator can do without takes the default shown. An input outside its range is still computed and flagged in the provenance.
| Name | Unit | Range | Default | Description |
|---|---|---|---|---|
| signalFreqnumber | Hz | 1 … 1000000000 | 10000 | Maximum frequency component in the signal (or signal bandwidth for baseband signals) |
| samplingRatenumber | Sa/s | 1 … 1000000000000 | 44100 | Number of samples taken per second |
| adcBitsnumber | bits | 4 … 24 | 16 | Number of bits in the ADC. Each additional bit adds ~6 dB of dynamic range. |
| channelsnumber | none | 1 … 32 | 1 | Number of parallel ADC channels (e.g., 2 for stereo, 1 for mono) |
| harmonicOrdernumber | none | 1 … 50 | 5 | The highest harmonic of a tone at the top of the band, as the converter's distortion makes it, that the frequency plan follows; 1 follows the tone alone |
Outputs
Returned in values, by key. A value that is unbounded or undefined is null.
| Field | Unit | Description |
|---|---|---|
| nyquistRate_Hzheadline | Hz | Minimum sampling rate required to avoid aliasing (= 2 × signal bandwidth) |
| oversamplingRatio | none | Ratio of actual sampling rate to Nyquist rate. Values < 1 indicate aliasing. |
| aliasFreq_Hz | Hz | Where the signal appears once sampled below the Nyquist rate: |f − k·f_s| for the integer k nearest f/f_s. Zero if no aliasing. |
| dynamicRangeDB | dB | Theoretical dynamic range of the ADC: DR = 20·log₁₀(2)·N + 10·log₁₀(1.5) dB |
| snr_dB | dB | Signal-to-quantization-noise ratio for an ideal ADC at full scale |
| dataRateMbps | Mbps | Uncompressed raw data rate = sampling rate × ADC bits × channels |
| antiAliasingFC_Hz | Hz | Maximum anti-aliasing filter cutoff frequency (= fs / 2, the Nyquist frequency) |
| aliasesInBand | none | A tone at the top of the band that the sampling rate aliases back into the signal band: no filter after the converter can remove it |
| harmonicAliasesInBand | none | The harmonics of a tone at the top of the band, up to the highest harmonic, that fold back into the signal band after sampling: they matter as far as the converter's SFDR, which this page does not know |
| lowestAliasingInput | Hz | The lowest input frequency that folds into the signal band, f_s − f_sig (f_s/2 once the band reaches past it): the anti-alias filter must reject from here |
Calling it
- Calculate: one call, the request and response in full, and its errors.
- Batch: this calculator with others, or a sweep, in one request.
- Solve for a target: the value of one input that brings an output to a target.