mirror of
https://github.com/f4exb/sdrangel.git
synced 2024-12-22 17:45:48 -05:00
DSD demod: make FM deviation independent of RF bandwidth. Bumped version to 3.14.1
This commit is contained in:
parent
4c31b2c59d
commit
a447193bd7
@ -35,7 +35,7 @@ static int runQtApplication(int argc, char* argv[], qtwebapp::LoggerWithFile *lo
|
||||
*/
|
||||
QCoreApplication::setOrganizationName("f4exb");
|
||||
QCoreApplication::setApplicationName("SDRangel");
|
||||
QCoreApplication::setApplicationVersion("3.14.0");
|
||||
QCoreApplication::setApplicationVersion("3.14.1");
|
||||
|
||||
#if 1
|
||||
qApp->setStyle(QStyleFactory::create("fusion"));
|
||||
|
@ -56,7 +56,7 @@ static int runQtApplication(int argc, char* argv[], qtwebapp::LoggerWithFile *lo
|
||||
|
||||
QCoreApplication::setOrganizationName("f4exb");
|
||||
QCoreApplication::setApplicationName("SDRangelSrv");
|
||||
QCoreApplication::setApplicationVersion("3.14.0");
|
||||
QCoreApplication::setApplicationVersion("3.14.1");
|
||||
|
||||
int catchSignals[] = {SIGQUIT, SIGINT, SIGTERM, SIGHUP};
|
||||
std::vector<int> vsig(catchSignals, catchSignals + sizeof(catchSignals) / sizeof(int));
|
||||
|
8
debian/changelog
vendored
8
debian/changelog
vendored
@ -1,3 +1,11 @@
|
||||
sdrangel (3.14.1-1) unstable; urgency=medium
|
||||
|
||||
* NFM: fixed lowpass filter initialization (CTCSS)
|
||||
* DSD demod: set FM deviation independent from RF bandwidth
|
||||
* DSD demod: implemented DMR negative with DSDcc v1.7.5
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Sun, 01 Apr 2018 12:14:18 +0200
|
||||
|
||||
sdrangel (3.14.0-1) unstable; urgency=medium
|
||||
|
||||
* New audio devices management
|
||||
|
@ -456,13 +456,13 @@ void DSDDemod::applySettings(const DSDDemodSettings& settings, bool force)
|
||||
m_interpolator.create(16, m_inputSampleRate, (settings.m_rfBandwidth) / 2.2);
|
||||
m_interpolatorDistanceRemain = 0;
|
||||
m_interpolatorDistance = (Real) m_inputSampleRate / (Real) 48000;
|
||||
m_phaseDiscri.setFMScaling((float) settings.m_rfBandwidth / (float) settings.m_fmDeviation);
|
||||
//m_phaseDiscri.setFMScaling((float) settings.m_rfBandwidth / (float) settings.m_fmDeviation);
|
||||
m_settingsMutex.unlock();
|
||||
}
|
||||
|
||||
if ((settings.m_fmDeviation != m_settings.m_fmDeviation) || force)
|
||||
{
|
||||
m_phaseDiscri.setFMScaling((float) settings.m_rfBandwidth / (float) settings.m_fmDeviation);
|
||||
m_phaseDiscri.setFMScaling(48000.0f / (2.0f*settings.m_fmDeviation));
|
||||
}
|
||||
|
||||
if ((settings.m_squelchGate != m_settings.m_squelchGate) || force)
|
||||
|
@ -135,7 +135,7 @@ void DSDDemodGUI::on_demodGain_valueChanged(int value)
|
||||
void DSDDemodGUI::on_fmDeviation_valueChanged(int value)
|
||||
{
|
||||
m_settings.m_fmDeviation = value * 100.0;
|
||||
ui->fmDeviationText->setText(QString("%1k").arg(value / 10.0, 0, 'f', 1));
|
||||
ui->fmDeviationText->setText(QString("%1%2k").arg(QChar(0xB1, 0x00)).arg(value / 10.0, 0, 'f', 1));
|
||||
applySettings();
|
||||
}
|
||||
|
||||
@ -384,7 +384,7 @@ void DSDDemodGUI::displaySettings()
|
||||
ui->rfBWText->setText(QString("%1k").arg(ui->rfBW->value() / 10.0, 0, 'f', 1));
|
||||
|
||||
ui->fmDeviation->setValue(m_settings.m_fmDeviation / 100.0);
|
||||
ui->fmDeviationText->setText(QString("%1k").arg(ui->fmDeviation->value() / 10.0, 0, 'f', 1));
|
||||
ui->fmDeviationText->setText(QString("%1%2k").arg(QChar(0xB1, 0x00)).arg(ui->fmDeviation->value() / 10.0, 0, 'f', 1));
|
||||
|
||||
ui->squelch->setValue(m_settings.m_squelch * 10.0);
|
||||
ui->squelchText->setText(QString("%1").arg(ui->squelch->value() / 10.0, 0, 'f', 1));
|
||||
|
@ -827,7 +827,7 @@
|
||||
<rect>
|
||||
<x>50</x>
|
||||
<y>107</y>
|
||||
<width>151</width>
|
||||
<width>141</width>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
</property>
|
||||
@ -835,13 +835,16 @@
|
||||
<string>Maximum frequency deviation (kHz)</string>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>500</number>
|
||||
<number>100</number>
|
||||
</property>
|
||||
<property name="pageStep">
|
||||
<number>1</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>35</number>
|
||||
</property>
|
||||
<property name="sliderPosition">
|
||||
<number>50</number>
|
||||
<number>35</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
@ -863,20 +866,20 @@
|
||||
<widget class="QLabel" name="fmDeviationText">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>210</x>
|
||||
<x>200</x>
|
||||
<y>100</y>
|
||||
<width>40</width>
|
||||
<width>50</width>
|
||||
<height>29</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<width>50</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>00.0k</string>
|
||||
<string>+00.0k</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
@ -900,7 +903,7 @@
|
||||
<rect>
|
||||
<x>50</x>
|
||||
<y>137</y>
|
||||
<width>151</width>
|
||||
<width>141</width>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
</property>
|
||||
@ -917,7 +920,7 @@
|
||||
<number>50</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>400</number>
|
||||
<number>200</number>
|
||||
</property>
|
||||
<property name="pageStep">
|
||||
<number>1</number>
|
||||
@ -1054,15 +1057,15 @@
|
||||
<widget class="QLabel" name="demodGainText">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>210</x>
|
||||
<x>200</x>
|
||||
<y>130</y>
|
||||
<width>40</width>
|
||||
<width>50</width>
|
||||
<height>29</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>35</width>
|
||||
<width>50</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
|
@ -25,7 +25,7 @@
|
||||
|
||||
const PluginDescriptor DSDDemodPlugin::m_pluginDescriptor = {
|
||||
QString("DSD Demodulator"),
|
||||
QString("3.14.0"),
|
||||
QString("3.14.1"),
|
||||
QString("(c) Edouard Griffiths, F4EXB"),
|
||||
QString("https://github.com/f4exb/sdrangel"),
|
||||
true,
|
||||
|
@ -32,8 +32,8 @@ void DSDDemodSettings::resetToDefaults()
|
||||
{
|
||||
m_inputFrequencyOffset = 0;
|
||||
m_rfBandwidth = 12500.0;
|
||||
m_fmDeviation = 5000.0;
|
||||
m_demodGain = 1.25;
|
||||
m_fmDeviation = 3500.0;
|
||||
m_demodGain = 1.0;
|
||||
m_volume = 2.0;
|
||||
m_baudRate = 4800;
|
||||
m_squelchGate = 5; // 10s of ms at 48000 Hz sample rate. Corresponds to 2400 for AGC attack
|
||||
|
@ -273,7 +273,7 @@ This display shows the sampled points of the demodulated FM signal in a XY plane
|
||||
- X as the signal at time t and Y the signal at time t minus symbol time if "transitions constellation" is selected by button (B.13)
|
||||
- X as the signal and Y as the synchronization signal if "symbol synchronization" is selected by button (B.13)
|
||||
|
||||
The display shows 16 points as yellow crosses that can be used to tune the center frequency and FM deviation and gain so that symbol recovery can be done with the best conditions. In the rest of the documentation they will be referenced with numbers fron 0 to 15 starting at the top left corner and going from left to right and top to bottom.
|
||||
The display shows 16 points as yellow crosses that can be used to tune the center frequency (A.1) and FM deviation (B.17) so that symbol recovery can be done with the best conditions. In the rest of the documentation they will be referenced with numbers fron 0 to 15 starting at the top left corner and going from left to right and top to bottom.
|
||||
|
||||
<h5>Transition constellation display</h5>
|
||||
|
||||
@ -351,6 +351,8 @@ This can be one of the following:
|
||||
|
||||
- `+DMRd`: non-inverted DMR data frame
|
||||
- `+DMRv`: non-inverted DMR voice frame
|
||||
- `-DMRd`: inverted DMR data frame
|
||||
- `-DMRv`: inverted DMR voice frame
|
||||
- `+D-STAR`: non-inverted D-Star frame
|
||||
- `-D-STAR`: inverted D-Star frame
|
||||
- `+D-STAR_HD`: non-inverted D-Star header frame encountered
|
||||
@ -445,8 +447,13 @@ This button tunes the persistence decay of the points displayer on B.1. The trac
|
||||
|
||||
<h4>B.17: Maximum expected FM deviation</h4>
|
||||
|
||||
This is the deviation in kHz leading to maximum (100%) deviation. You should aim for 30 to 50% (+/-300 to +/-500m) deviation on the scope display.
|
||||
This is the one side deviation in kHz (±) leading to maximum (100%) deviation. You should adjust this value to make the figure on the signal scope fill the entire screen as shown in the screenshots above. The typical deviations by mode for a unit gain (1.0 at B.18) are:
|
||||
|
||||
- DMR: ±5.4k
|
||||
- dPMR: ±2.7k
|
||||
- D-Star: ±3.5k
|
||||
- YSF: ±7.0k
|
||||
|
||||
<h4>B.18: Gain after discriminator</h4>
|
||||
|
||||
This is the gain applied to the output of the discriminator before the decoder
|
||||
This is the gain applied to the output of the discriminator before the decoder. Normally this would be set at unit gain 1.0 while the FM deviation is adjusted. However this can be used to extend the range of FM adjustment.
|
||||
|
@ -7,7 +7,7 @@
|
||||
|
||||
const PluginDescriptor NFMPlugin::m_pluginDescriptor = {
|
||||
QString("NFM Demodulator"),
|
||||
QString("3.14.0"),
|
||||
QString("3.14.1"),
|
||||
QString("(c) Edouard Griffiths, F4EXB"),
|
||||
QString("https://github.com/f4exb/sdrangel"),
|
||||
true,
|
||||
|
@ -23,7 +23,7 @@
|
||||
|
||||
const PluginDescriptor NFMModPlugin::m_pluginDescriptor = {
|
||||
QString("NFM Modulator"),
|
||||
QString("3.12.0"),
|
||||
QString("3.14.1"),
|
||||
QString("(c) Edouard Griffiths, F4EXB"),
|
||||
QString("https://github.com/f4exb/sdrangel"),
|
||||
true,
|
||||
|
Loading…
Reference in New Issue
Block a user