Magnitude/frequency-response curve.
More...
#include <audio_spectrum.hpp>
|
| double | magnitude_db_at (double hz) const |
| | Magnitude (dB) at the bin nearest hz on the full curve.
|
| double | attenuation_db_at (double hz) const |
| | Positive attenuation in dB at hz (0 dB = unity, larger = more cut).
|
Magnitude/frequency-response curve.
Determinism contract (echoed into the artifact):
- stimulus: a unit impulse (or caller-supplied stimulus) driven through the processor;
- window/length: stated window over an fft_length-sample segment beginning at analysis_offset (skip plugin latency / warm-up here);
- reference: each point is output-magnitude over input-magnitude in dB (a true transfer response), so absolute FFT scale cancels;
- resolution: one full-resolution bin every sample_rate / fft_length Hz; checkpoint values are read from the nearest bin (no interpolation), and bin_hz records that resolution for the tolerance to budget.
◆ attenuation_db_at()
| double pulp::test::audio::ResponseCurve::attenuation_db_at |
( |
double | hz | ) |
const |
|
inline |
Positive attenuation in dB at hz (0 dB = unity, larger = more cut).
Convenience over magnitude_db_at for the "drops N dB" claim.
◆ magnitude_db_at()
| double pulp::test::audio::ResponseCurve::magnitude_db_at |
( |
double | hz | ) |
const |
Magnitude (dB) at the bin nearest hz on the full curve.
Returns kSilenceFloorDb if the curve is empty.
◆ analysis_offset
| int pulp::test::audio::ResponseCurve::analysis_offset = 0 |
◆ analyzer
| std::string pulp::test::audio::ResponseCurve::analyzer = "magnitude_response" |
◆ bin_hz
| double pulp::test::audio::ResponseCurve::bin_hz = 0.0 |
Frequency resolution (sample_rate / fft_length).
◆ checkpoints
| std::vector<ResponsePoint> pulp::test::audio::ResponseCurve::checkpoints |
Requested frequencies only.
◆ fft_length
| int pulp::test::audio::ResponseCurve::fft_length = 0 |
◆ full
| std::vector<ResponsePoint> pulp::test::audio::ResponseCurve::full |
Bin 0..N/2, monotonic in hz.
◆ sample_rate
| double pulp::test::audio::ResponseCurve::sample_rate = 0.0 |
◆ stimulus
| std::string pulp::test::audio::ResponseCurve::stimulus |
e.g. "impulse" / "log_sweep 20..20000".
◆ window
The documentation for this struct was generated from the following file:
- /home/runner/work/pulp/pulp/tools/audio/analysis/include/pulp/audio/analysis/audio_spectrum.hpp