mirror of
https://github.com/f4exb/sdrangel.git
synced 2025-12-04 18:13:48 -05:00
ChirpChat: doc updates. TTY: display null as underscore
This commit is contained in:
parent
e2116a9d70
commit
d9905dee4e
Binary file not shown.
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 22 KiB |
Binary file not shown.
Binary file not shown.
|
Before Width: | Height: | Size: 45 KiB After Width: | Height: | Size: 45 KiB |
Binary file not shown.
@ -18,14 +18,14 @@
|
||||
#include "chirpchatdemoddecodertty.h"
|
||||
|
||||
const char ChirpChatDemodDecoderTTY::ttyLetters[32] = {
|
||||
'\0', 'E', '\n', 'A', ' ', 'S', 'I', 'U',
|
||||
'_', 'E', '\n', 'A', ' ', 'S', 'I', 'U',
|
||||
'\r', 'D', 'R', 'J', 'N', 'F', 'C', 'K',
|
||||
'T', 'Z', 'L', 'W', 'H', 'Y', 'P', 'Q',
|
||||
'O', 'B', 'G', ' ', 'M', 'X', 'V', ' '
|
||||
};
|
||||
|
||||
const char ChirpChatDemodDecoderTTY::ttyFigures[32] = { // U.S. standard
|
||||
'\0', '3', '\n', '-', ' ', '\a', '8', '7',
|
||||
'_', '3', '\n', '-', ' ', '\a', '8', '7',
|
||||
'\r', '$', '4', '\'', ',', '!', ':', '(',
|
||||
'5', '"', ')', '2', '#', '6', '0', '1',
|
||||
'9', '?', '&', ' ', '.', '/', ';', ' '
|
||||
|
||||
@ -247,7 +247,7 @@ void ChirpChatDemodSink::processSample(const Complex& ci)
|
||||
m_fftSFD->transform();
|
||||
|
||||
m_fftCounter = 0;
|
||||
double magsq, magsqSFD;
|
||||
double magsqPre, magsqSFD;
|
||||
double magsqTotal, magsqSFDTotal;
|
||||
|
||||
unsigned int imaxSFD = argmax(
|
||||
@ -264,7 +264,7 @@ void ChirpChatDemodSink::processSample(const Complex& ci)
|
||||
m_fft->out(),
|
||||
m_fftInterpolation,
|
||||
m_fftLength,
|
||||
magsq,
|
||||
magsqPre,
|
||||
magsqSFDTotal,
|
||||
m_spectrumBuffer,
|
||||
m_fftInterpolation
|
||||
@ -273,7 +273,7 @@ void ChirpChatDemodSink::processSample(const Complex& ci)
|
||||
m_preambleHistory[m_chirpCount] = imax;
|
||||
m_chirpCount++;
|
||||
|
||||
if (magsq < magsqSFD) // preamble drop
|
||||
if (magsqPre < magsqSFD) // preamble drop
|
||||
{
|
||||
m_magsqTotalAvg(magsqSFDTotal);
|
||||
|
||||
@ -288,11 +288,11 @@ void ChirpChatDemodSink::processSample(const Complex& ci)
|
||||
{
|
||||
m_syncWord = round(m_preambleHistory[m_chirpCount-2] / 8.0);
|
||||
m_syncWord += 16 * round(m_preambleHistory[m_chirpCount-3] / 8.0);
|
||||
qDebug("ChirpChatDemodSink::processSample: SFD found: up: %4u|%11.6f - down: %4u|%11.6f sync: %x", imax, magsq, imaxSFD, magsqSFD, m_syncWord);
|
||||
qDebug("ChirpChatDemodSink::processSample: SFD found: pre: %4u|%11.6f - sfd: %4u|%11.6f sync: %x", imax, magsqPre, imaxSFD, magsqSFD, m_syncWord);
|
||||
}
|
||||
else
|
||||
{
|
||||
qDebug("ChirpChatDemodSink::processSample: SFD found: up: %4u|%11.6f - down: %4u|%11.6f", imax, magsq, imaxSFD, magsqSFD);
|
||||
qDebug("ChirpChatDemodSink::processSample: SFD found: pre: %4u|%11.6f - sfd: %4u|%11.6f", imax, magsqPre, imaxSFD, magsqSFD);
|
||||
}
|
||||
|
||||
int sadj = 0;
|
||||
@ -328,9 +328,9 @@ void ChirpChatDemodSink::processSample(const Complex& ci)
|
||||
m_spectrumSink->feed(m_spectrumBuffer, m_nbSymbols);
|
||||
}
|
||||
|
||||
qDebug("ChirpChatDemodSink::processSample: SFD search: up: %4u|%11.6f - down: %4u|%11.6f", imax, magsq, imaxSFD, magsqSFD);
|
||||
qDebug("ChirpChatDemodSink::processSample: SFD search: pre: %4u|%11.6f - sfd: %4u|%11.6f", imax, magsqPre, imaxSFD, magsqSFD);
|
||||
m_magsqTotalAvg(magsqTotal);
|
||||
m_magsqOnAvg(magsq);
|
||||
m_magsqOnAvg(magsqPre);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -33,7 +33,7 @@ This is the total power in the FFT of the de-chirped signal in dB. When no Chirp
|
||||
|
||||
This is the bandwidth of the ChirpChat signal. Similarly to LoRa the signal sweeps between the lower and the upper frequency of this bandwidth. The sample rate of the ChirpChat signal in seconds is exactly one over this bandwidth in Hertz.
|
||||
|
||||
In the LoRa standard there are 2 base bandwidths: 500 and 333.333 kHz. A 400 kHz base has been added. Possible bandwidths are obtained by a division of these base bandwidths by a power of two from 1 to 64. Extra divisor of 128 is provided to achieve smaller bandwidths that can fit in a SSB channel. Finally special divisors from a 384 kHz base are provided to allow even more narrow bandwidths
|
||||
In the LoRa standard there are 2 base bandwidths: 500 and 333.333 kHz. A 400 kHz base has been added. Possible bandwidths are obtained by a division of these base bandwidths by a power of two from 1 to 64. Extra divisor of 128 is provided to achieve smaller bandwidths that can fit in a SSB channel. Finally special divisors from a 384 kHz base are provided to allow even more narrow bandwidths.
|
||||
|
||||
Thus available bandwidths are:
|
||||
|
||||
|
||||
@ -83,10 +83,6 @@ This is the log2 of the number of frequency shifts separating two consecutive sh
|
||||
|
||||
In practice it is difficult on the Rx side to make correct decodes if only one FFT bin is used to code one symbol (DE=0). It is therefore recommended to use a factor of 1 or more.
|
||||
|
||||
<h3>7: Sync word</h3>
|
||||
|
||||
This is a LoRa specific feature and is the sync word (byte) to transmit entered as a 2 nibble hexadecimal number.
|
||||
|
||||
<h3>8: Number of preamble chirps</h3>
|
||||
|
||||
This is the number of preamble chirps to transmit that are used for the Rx to synchronize. The LoRa standard specifies it can be between 2 and 65535. Here it is limited to the 4 to 20 range that corresponds to realistic values. The RN2483 uses 6 preamble chirps. You may use 12 preamble chirps or more to facilitate signal acquisition with poor SNR on the Rx side.
|
||||
@ -193,6 +189,10 @@ This applies the QSO elements (10.5 to 10.8) to the placeholders in messages to
|
||||
- **73**: `%1 %2 73`: `%1` is your call (10.6) and `%2` is my call (10.5)
|
||||
- **QSO text**: `%1 %2 %3`: `%1` is your call (10.6), `%2` is my call (10.5) and `%3` is the text specified as the free form text message
|
||||
|
||||
<h4>10.14: Sync word</h4>
|
||||
|
||||
This is a LoRa specific feature and is the sync word (byte) to transmit entered as a 2 nibble hexadecimal number.
|
||||
|
||||
<h3>11: Message text</h3>
|
||||
|
||||
This window lets you edit the message selected in (10.9). You can use `%n` placeholders that depend on the type of message selected.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user