1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2025-06-25 05:25:27 -04:00

Adjust spectrum auto range algorithm

This commit is contained in:
f4exb 2021-02-11 05:13:13 +01:00
parent 6641355fbd
commit cc8e4cec57

View File

@ -253,18 +253,16 @@ void GLSpectrumGUI::on_autoscale_clicked(bool checked)
} }
std::sort(psd.begin(), psd.end()); std::sort(psd.begin(), psd.end());
float maxSum = 0.0f, minSum = 0.0f; float max = psd[psd.size() - 1];
float minSum = 0.0f;
for (int i = 0; i < avgRange; i++) for (int i = 0; i < avgRange; i++) {
{
minSum += psd[i]; minSum += psd[i];
maxSum += psd[psd.size() - i-1];
} }
float minAvg = minSum / avgRange; float minAvg = minSum / avgRange;
float maxAvg = maxSum / avgRange;
int minLvl = CalcDb::dbPower(minAvg*2); int minLvl = CalcDb::dbPower(minAvg*2);
int maxLvl = CalcDb::dbPower(maxAvg*10); int maxLvl = CalcDb::dbPower(max*10);
m_settings.m_refLevel = maxLvl; m_settings.m_refLevel = maxLvl;
m_settings.m_powerRange = maxLvl - minLvl; m_settings.m_powerRange = maxLvl - minLvl;