Namespace for modalGainOpt unit tests.
More...
Classes | |
| class | processPsdProcessorHarness |
Functions | |
| TEST_CASE ("modalGainOpt placeholder harness instantiates the app", "[modalGainOpt]") | |
| TEST_CASE ("modalGainOpt configuration loads PSD-processing settings without " "toggling autoUpdate", "[modalGainOpt]") | |
| TEST_CASE ("modalGainOpt restores current selection when extrapolation switches " "receive all-off updates", "[modalGainOpt]") | |
| TEST_CASE ("modalPsdProcessor falls back when the requested power-law fit has " "too little frequency span", "[modalGainOpt]") | |
| TEST_CASE ("modalPsdProcessor can estimate noise in closed-loop space before OL " "correction", "[modalGainOpt]") | |
| TEST_CASE ("modalPsdProcessor can estimate noise from the low-frequency end", "[modalGainOpt]") | |
| TEST_CASE ("modalPsdProcessor can estimate noise using the minimum PSD in range", "[modalGainOpt]") | |
| TEST_CASE ("modalPsdProcessor can limit low-frequency noise estimation to a max " "frequency", "[modalGainOpt]") | |
| TEST_CASE ("modalPsdProcessor can reconstruct OL PSD with NTF-aware closed-loop " "noise subtraction", "[modalGainOpt]") | |
| TEST_CASE ("modalPsdProcessor fits closed-loop noise on raw CL PSD even when OL " "reconstruction is NTF-aware", "[modalGainOpt]") | |
| TEST_CASE ("modalPsdProcessor power-law-only matches moffat handoff when forced " "to pure power law above a cutoff", "[modalGainOpt]") | |
| TEST_CASE ("modalPsdProcessor power-law-only repairs deep dropouts below the " "pure-power-law cutoff", "[modalGainOpt]") | |
| TEST_CASE ("modalPsdProcessor can auto-select the power-law crossover from a " "smoothed noise crossing", "[modalGainOpt]") | |
| TEST_CASE ("modalPsdProcessor falls back to the highest-frequency smoothed " "minimum when no noise crossing exists", "[modalGainOpt]") | |
| TEST_CASE ("modalPsdProcessor treats a below-to-above sign change as a valid " "smoothed noise crossing", "[modalGainOpt]") | |
| TEST_CASE ("modalPsdProcessor auto crossover can cap the search to a fraction " "of the sampled maximum frequency", "[modalGainOpt]") | |
| TEST_CASE ("modalPsdProcessor snaps the effective auto crossover to the next " "sampled frequency bin", "[modalGainOpt]") | |
| TEST_CASE ("modalPsdProcessor anchors the power-law match to the smoothed " "disturbance PSD", "[modalGainOpt]") | |
| TEST_CASE ("modalPsdProcessor power-law-only auto handoff matches the " "smoothed crossover exactly without a blend ramp", "[modalGainOpt]") | |
| TEST_CASE ("modalPsdProcessor repairs raw disturbance dropouts before " "extrapolation", "[modalGainOpt]") | |
| TEST_CASE ("modalPsdProcessor repairs trailing high-frequency dropout runs", "[modalGainOpt]") | |
| TEST_CASE ("modalPsdProcessor keeps trailing dropout repair bounded when the " "last good bins rise", "[modalGainOpt]") | |
| TEST_CASE ("modalPsdProcessor does not treat a sharp post-peak decline as a " "dropout unless it is truly tiny", "[modalGainOpt]") | |
| TEST_CASE ("modalGainOpt published gain arrays keep LP and max LP outputs distinct", "[modalGainOpt]") | |
| TEST_CASE ("modalGainOpt published gain arrays apply calibration scaling", "[modalGainOpt]") | |
| TEST_CASE ("modalGainOpt zero_gains request resets the integrated SI gains", "[modalGainOpt]") | |
| TEST_CASE ("modalGainOpt SI gain integrator updates toward the raw optimum by delta", "[modalGainOpt]") | |
| TEST_CASE ("modalGainOpt counts enabled gain-factor modes using positive entries", "[modalGainOpt]") | |
Verify modalGainOpt counts enabled modes from positive gain factors. | |
| TEST_CASE ("modalGainOpt gain-factor updates leave state unchanged when the " "frame is identical", "[modalGainOpt]") | |
Verify modalGainOpt ignores unchanged gain-factor frames. | |
| TEST_CASE ("modalGainOpt gain-factor updates resize SI state and reset " "sinceChange on change", "[modalGainOpt]") | |
| TEST_CASE ("modalGainOpt multiplier updates leave state unchanged when the " "frame is identical", "[modalGainOpt]") | |
Verify modalGainOpt ignores unchanged multiplier frames. | |
| TEST_CASE ("modalGainOpt SI multiplier updates set goptUpdated and reset sinceChange", "[modalGainOpt]") | |
| TEST_CASE ("modalGainOpt frequency updates leave state unchanged when the frame " "is identical", "[modalGainOpt]") | |
Verify modalGainOpt ignores unchanged frequency frames. | |
| TEST_CASE ("modalGainOpt frequency updates resize state and refresh derived timing", "[modalGainOpt]") | |
| TEST_CASE ("modalGainOpt refreshes pending gopt structures without a PSD wakeup", "[modalGainOpt]") | |
| TEST_CASE ("modalGainOpt predictor publication preserves per-mode coefficient layout", "[modalGainOpt]") | |
| TEST_CASE ("modalGainOpt predictor publication blends existing values and " "clears stale coefficients", "[modalGainOpt]") | |
| TEST_CASE ("modalGainOpt SI mode counts update only while predictor control is off", "[modalGainOpt]") | |
| TEST_CASE ("modalGainOpt predictor publication clears stale coefficient blocks " "for zero-order modes", "[modalGainOpt]") | |
| TEST_CASE ("modalGainOpt PC mode counts update only while predictor control is on", "[modalGainOpt]") | |
| TEST_CASE ("modalGainOpt PC gain-factor updates preserve applied mode counts " "while predictor control is off", "[modalGainOpt]") | |
| TEST_CASE ("modalGainOpt PC multiplier updates set pcgoptUpdated without " "touching SI optimizer flags", "[modalGainOpt]") | |
Namespace for modalGainOpt unit tests.
| libXWCTest::modalGainOptTest::TEST_CASE | ( | "modalGainOpt restores current selection when extrapolation switches " "receive all-off updates" | , |
| "" | [modalGainOpt] | ||
| ) |
Definition at line 737 of file modalGainOpt_test.cpp.
References MagAOX::app::c_extrapClosedLoopOlEstimateEtfOnly, MagAOX::app::c_extrapClosedLoopOlEstimateNtfAware, MagAOX::app::c_extrapNoiseEstimateClosedLoopPreXfer, MagAOX::app::c_extrapNoiseEstimateHighFreq, MagAOX::app::c_extrapNoiseEstimateLowFreq, MagAOX::app::c_extrapNoiseEstimateMinimum, MagAOX::app::c_extrapNoiseEstimateOpenLoop, MagAOX::app::c_extrapNoiseEstimatePercentile, MagAOX::app::c_extrapPowerLawCrossoverAutoSmoothedCrossing, MagAOX::app::c_extrapPowerLawCrossoverManual, MagAOX::app::c_olProcessLegacy, MagAOX::app::c_olProcessMoffatPeaks, MagAOX::app::c_olProcessNone, MagAOX::app::c_olProcessPowerLawOnly, MagAOX::app::extrapClosedLoopOlEstimateMethodElement(), MagAOX::app::extrapNoiseEstimateDomainElement(), MagAOX::app::extrapNoiseEstimateRangeElement(), MagAOX::app::extrapNoiseEstimateStatisticElement(), MagAOX::app::extrapPowerLawCrossoverModeElement(), and MagAOX::app::olProcessMethodElement().
| libXWCTest::modalGainOptTest::TEST_CASE | ( | "modalGainOpt SI gain integrator updates toward the raw optimum by delta" | , |
| "" | [modalGainOpt] | ||
| ) |
Definition at line 1472 of file modalGainOpt_test.cpp.
| libXWCTest::modalGainOptTest::TEST_CASE | ( | "modalGainOpt zero_gains request resets the integrated SI gains" | , |
| "" | [modalGainOpt] | ||
| ) |
Definition at line 1447 of file modalGainOpt_test.cpp.
| libXWCTest::modalGainOptTest::TEST_CASE | ( | "modalPsdProcessor anchors the power-law match to the smoothed " "disturbance PSD" | , |
| "" | [modalGainOpt] | ||
| ) |
Definition at line 1190 of file modalGainOpt_test.cpp.
References MagAOX::app::modalPsdProcessor< realT >::estimatePowerLawContinuum().
| libXWCTest::modalGainOptTest::TEST_CASE | ( | "modalPsdProcessor auto crossover can cap the search to a fraction " "of the sampled maximum frequency" | , |
| "" | [modalGainOpt] | ||
| ) |
Definition at line 1146 of file modalGainOpt_test.cpp.
References MagAOX::app::modalPsdProcessor< realT >::findAutoPowerLawCrossoverFreq().
| libXWCTest::modalGainOptTest::TEST_CASE | ( | "modalPsdProcessor can auto-select the power-law crossover from a " "smoothed noise crossing" | , |
| "" | [modalGainOpt] | ||
| ) |
Definition at line 1079 of file modalGainOpt_test.cpp.
References MagAOX::app::modalPsdProcessor< realT >::analyzePsd(), MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_method, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_noiseEstimateStatistic, MagAOX::app::modalPsdProcessor< realT >::processResults::m_noiseFloor, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_powerLawAutoMaxFreqFraction, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_powerLawAutoSmoothWidthHz, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_powerLawCrossoverMode, MagAOX::app::modalPsdProcessor< realT >::processResults::m_powerLawCrossoverMode, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_powerLawIndex, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_powerLawMatchFreq, MagAOX::app::modalPsdProcessor< realT >::processResults::m_powerLawMatchFreq, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_powerLawNormFreq, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_powerLawOnlyAboveFreq, MagAOX::app::modalPsdProcessor< realT >::processResults::m_powerLawOnlyAboveFreq, and MagAOX::app::modalPsdProcessor< realT >::processResults::m_processPsd.
| libXWCTest::modalGainOptTest::TEST_CASE | ( | "modalPsdProcessor can estimate noise from the low-frequency end" | , |
| "" | [modalGainOpt] | ||
| ) |
Definition at line 908 of file modalGainOpt_test.cpp.
References MagAOX::app::modalPsdProcessor< realT >::estimateNoisePsd().
| libXWCTest::modalGainOptTest::TEST_CASE | ( | "modalPsdProcessor can estimate noise in closed-loop space before OL " "correction" | , |
| "" | [modalGainOpt] | ||
| ) |
Definition at line 884 of file modalGainOpt_test.cpp.
References MagAOX::app::modalPsdProcessor< realT >::analyzePsd(), MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_method, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_noiseEstimateDomain, MagAOX::app::modalPsdProcessor< realT >::processResults::m_noiseEstimateDomain, MagAOX::app::modalPsdProcessor< realT >::processResults::m_noiseFloor, MagAOX::app::modalPsdProcessor< realT >::processResults::m_noisePsd, and MagAOX::app::modalPsdProcessor< realT >::processResults::m_processPsd.
| libXWCTest::modalGainOptTest::TEST_CASE | ( | "modalPsdProcessor can estimate noise using the minimum PSD in range" | , |
| "" | [modalGainOpt] | ||
| ) |
Definition at line 923 of file modalGainOpt_test.cpp.
References MagAOX::app::modalPsdProcessor< realT >::estimateNoisePsd().
| libXWCTest::modalGainOptTest::TEST_CASE | ( | "modalPsdProcessor can limit low-frequency noise estimation to a max " "frequency" | , |
| "" | [modalGainOpt] | ||
| ) |
Definition at line 938 of file modalGainOpt_test.cpp.
References MagAOX::app::modalPsdProcessor< realT >::estimateNoisePsd().
| libXWCTest::modalGainOptTest::TEST_CASE | ( | "modalPsdProcessor can reconstruct OL PSD with NTF-aware closed-loop " "noise subtraction" | , |
| "" | [modalGainOpt] | ||
| ) |
Definition at line 961 of file modalGainOpt_test.cpp.
References MagAOX::app::modalPsdProcessor< realT >::analyzePsd(), MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_closedLoopOlEstimateMethod, MagAOX::app::modalPsdProcessor< realT >::processResults::m_closedLoopOlEstimateMethod, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_method, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_noiseEstimateDomain, MagAOX::app::modalPsdProcessor< realT >::processResults::m_noiseEstimateDomain, MagAOX::app::modalPsdProcessor< realT >::processResults::m_noiseFloor, MagAOX::app::modalPsdProcessor< realT >::processResults::m_noisePsd, and MagAOX::app::modalPsdProcessor< realT >::processResults::m_processPsd.
| libXWCTest::modalGainOptTest::TEST_CASE | ( | "modalPsdProcessor does not treat a sharp post-peak decline as a " "dropout unless it is truly tiny" | , |
| "" | [modalGainOpt] | ||
| ) |
Definition at line 1321 of file modalGainOpt_test.cpp.
References MagAOX::app::modalPsdProcessor< realT >::fillProcessPsdDropouts().
| libXWCTest::modalGainOptTest::TEST_CASE | ( | "modalPsdProcessor falls back to the highest-frequency smoothed " "minimum when no noise crossing exists" | , |
| "" | [modalGainOpt] | ||
| ) |
Definition at line 1108 of file modalGainOpt_test.cpp.
References MagAOX::app::modalPsdProcessor< realT >::findAutoPowerLawCrossoverFreq().
| libXWCTest::modalGainOptTest::TEST_CASE | ( | "modalPsdProcessor falls back when the requested power-law fit has " "too little frequency span" | , |
| "" | [modalGainOpt] | ||
| ) |
Definition at line 858 of file modalGainOpt_test.cpp.
References MagAOX::app::modalPsdProcessor< realT >::analyzePsd(), MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_fitPowerLawIndex, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_method, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_powerLawBlendBins, MagAOX::app::modalPsdProcessor< realT >::processResults::m_powerLawFitBinsUsed, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_powerLawFitBinWidthHz, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_powerLawFitMaxFreqHz, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_powerLawFitMinFreqHz, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_powerLawIndex, MagAOX::app::modalPsdProcessor< realT >::processResults::m_powerLawIndex, MagAOX::app::modalPsdProcessor< realT >::processResults::m_powerLawIndexFitSucceeded, and MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_powerLawMatchFreq.
| libXWCTest::modalGainOptTest::TEST_CASE | ( | "modalPsdProcessor fits closed-loop noise on raw CL PSD even when OL " "reconstruction is NTF-aware" | , |
| "" | [modalGainOpt] | ||
| ) |
Definition at line 989 of file modalGainOpt_test.cpp.
References MagAOX::app::modalPsdProcessor< realT >::analyzePsd(), MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_closedLoopOlEstimateMethod, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_method, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_noiseEstimateDomain, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_noiseEstimateLowFreqMaxHz, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_noiseEstimateRange, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_noiseEstimateStatistic, MagAOX::app::modalPsdProcessor< realT >::processResults::m_noiseFloor, MagAOX::app::modalPsdProcessor< realT >::processResults::m_noisePsd, and MagAOX::app::modalPsdProcessor< realT >::processResults::m_processPsd.
| libXWCTest::modalGainOptTest::TEST_CASE | ( | "modalPsdProcessor keeps trailing dropout repair bounded when the " "last good bins rise" | , |
| "" | [modalGainOpt] | ||
| ) |
Definition at line 1305 of file modalGainOpt_test.cpp.
References MagAOX::app::modalPsdProcessor< realT >::fillProcessPsdDropouts().
| libXWCTest::modalGainOptTest::TEST_CASE | ( | "modalPsdProcessor power-law-only auto handoff matches the " "smoothed crossover exactly without a blend ramp" | , |
| "" | [modalGainOpt] | ||
| ) |
Definition at line 1219 of file modalGainOpt_test.cpp.
References MagAOX::app::modalPsdProcessor< realT >::estimateProcessPsdPowerLawOnly(), MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_method, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_powerLawBlendBins, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_powerLawCrossoverMode, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_powerLawIndex, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_powerLawMatchFallbackWindowHz, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_powerLawMatchFreq, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_powerLawNormFreq, and MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_powerLawOnlyAboveFreq.
| libXWCTest::modalGainOptTest::TEST_CASE | ( | "modalPsdProcessor power-law-only matches moffat handoff when forced " "to pure power law above a cutoff" | , |
| "" | [modalGainOpt] | ||
| ) |
Definition at line 1018 of file modalGainOpt_test.cpp.
References MagAOX::app::modalPsdProcessor< realT >::analyzePsd(), MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_method, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_noiseEstimateStatistic, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_peakDetectBroadFactor, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_peakDetectFactor, MagAOX::app::modalPsdProcessor< realT >::processResults::m_peaks, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_powerLawIndex, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_powerLawMatchFreq, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_powerLawOnlyAboveFreq, and MagAOX::app::modalPsdProcessor< realT >::processResults::m_processPsd.
| libXWCTest::modalGainOptTest::TEST_CASE | ( | "modalPsdProcessor power-law-only repairs deep dropouts below the " "pure-power-law cutoff" | , |
| "" | [modalGainOpt] | ||
| ) |
Definition at line 1053 of file modalGainOpt_test.cpp.
References MagAOX::app::modalPsdProcessor< realT >::analyzePsd(), MagAOX::app::modalPsdProcessor< realT >::processResults::m_extrapolation, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_method, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_noiseEstimateRange, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_noiseEstimateStatistic, MagAOX::app::modalPsdProcessor< realT >::processResults::m_noiseFloor, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_powerLawIndex, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_powerLawMatchFreq, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_powerLawOnlyAboveFreq, and MagAOX::app::modalPsdProcessor< realT >::processResults::m_processPsd.
| libXWCTest::modalGainOptTest::TEST_CASE | ( | "modalPsdProcessor repairs raw disturbance dropouts before " "extrapolation" | , |
| "" | [modalGainOpt] | ||
| ) |
Definition at line 1265 of file modalGainOpt_test.cpp.
References MagAOX::app::modalPsdProcessor< realT >::analyzePsd(), MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_method, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_noiseEstimateStatistic, MagAOX::app::modalPsdProcessor< realT >::processResults::m_noiseFloor, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_powerLawIndex, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_powerLawMatchFreq, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_powerLawNormFreq, MagAOX::app::modalPsdProcessor< realT >::processModelConfig::m_powerLawOnlyAboveFreq, and MagAOX::app::modalPsdProcessor< realT >::processResults::m_rawProcessPsd.
| libXWCTest::modalGainOptTest::TEST_CASE | ( | "modalPsdProcessor repairs trailing high-frequency dropout runs" | , |
| "" | [modalGainOpt] | ||
| ) |
Definition at line 1288 of file modalGainOpt_test.cpp.
References MagAOX::app::modalPsdProcessor< realT >::fillProcessPsdDropouts().
| libXWCTest::modalGainOptTest::TEST_CASE | ( | "modalPsdProcessor snaps the effective auto crossover to the next " "sampled frequency bin" | , |
| "" | [modalGainOpt] | ||
| ) |
Definition at line 1165 of file modalGainOpt_test.cpp.
References MagAOX::app::modalPsdProcessor< realT >::resolvePowerLawCrossoverFrequencies().
| libXWCTest::modalGainOptTest::TEST_CASE | ( | "modalPsdProcessor treats a below-to-above sign change as a valid " "smoothed noise crossing" | , |
| "" | [modalGainOpt] | ||
| ) |
Definition at line 1127 of file modalGainOpt_test.cpp.
References MagAOX::app::modalPsdProcessor< realT >::findAutoPowerLawCrossoverFreq().