1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2024-11-22 16:08:39 -05:00

SSB demod: use log (dB) to set volume from the GUI

This commit is contained in:
f4exb 2021-02-06 05:09:47 +01:00
parent 3a43fd33fa
commit 7704dfb359
3 changed files with 15 additions and 11 deletions

View File

@ -106,7 +106,7 @@ Values are expressed in kHz and step is 100 Hz.
<h4>11.1: Volume</h4> <h4>11.1: Volume</h4>
This is the volume of the audio signal from 0.0 (mute) to 10.0 (maximum). It can be varied continuously in 0.1 steps using the dial button. This is the volume of the audio signal in dB from 0 (no gain) to 40 (10000). It can be varied continuously in 1 dB steps using the dial button. When AGC is engaged it is recommended to set a low value in dB not exceeding 3 db (gain 2). When AGC is not engaged the volume entirely depends on the RF power and can vary in large proportions. Hence setting the value in dB is more convenient to accomodate large differences.
<h4>11.2: AGC toggle</h4> <h4>11.2: AGC toggle</h4>

View File

@ -147,8 +147,8 @@ void SSBDemodGUI::on_lowCut_valueChanged(int value)
void SSBDemodGUI::on_volume_valueChanged(int value) void SSBDemodGUI::on_volume_valueChanged(int value)
{ {
ui->volumeText->setText(QString("%1").arg(value / 10.0, 0, 'f', 1)); ui->volumeText->setText(QString("%1").arg(value));
m_settings.m_volume = value / 10.0; m_settings.m_volume = CalcDb::powerFromdB(value);
applySettings(); applySettings();
} }
@ -545,8 +545,9 @@ void SSBDemodGUI::displaySettings()
ui->lowCut->setValue(m_settings.m_lowCutoff / 100.0); ui->lowCut->setValue(m_settings.m_lowCutoff / 100.0);
ui->lowCutText->setText(tr("%1k").arg(m_settings.m_lowCutoff / 1000.0)); ui->lowCutText->setText(tr("%1k").arg(m_settings.m_lowCutoff / 1000.0));
ui->volume->setValue(m_settings.m_volume * 10.0); int volume = CalcDb::dbPower(m_settings.m_volume);
ui->volumeText->setText(QString("%1").arg(m_settings.m_volume, 0, 'f', 1)); ui->volume->setValue(volume);
ui->volumeText->setText(QString("%1").arg(volume));
ui->agcTimeLog2->setValue(m_settings.m_agcTimeLog2); ui->agcTimeLog2->setValue(m_settings.m_agcTimeLog2);
s = QString::number((1<<ui->agcTimeLog2->value()), 'f', 0); s = QString::number((1<<ui->agcTimeLog2->value()), 'f', 0);

View File

@ -682,6 +682,12 @@
<height>24</height> <height>24</height>
</size> </size>
</property> </property>
<property name="toolTip">
<string>Audio volume in dB</string>
</property>
<property name="maximum">
<number>40</number>
</property>
<property name="pageStep"> <property name="pageStep">
<number>1</number> <number>1</number>
</property> </property>
@ -689,14 +695,11 @@
</item> </item>
<item> <item>
<widget class="QLabel" name="volumeText"> <widget class="QLabel" name="volumeText">
<property name="maximumSize"> <property name="toolTip">
<size> <string>Audio volume in dB</string>
<width>30</width>
<height>16777215</height>
</size>
</property> </property>
<property name="text"> <property name="text">
<string>2.0</string> <string>10</string>
</property> </property>
<property name="alignment"> <property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>