diff --git a/plugins/channel/udpsrc/readme.md b/plugins/channel/udpsrc/readme.md index a8dc6ec27..ea6ec2d39 100644 --- a/plugins/channel/udpsrc/readme.md +++ b/plugins/channel/udpsrc/readme.md @@ -24,7 +24,7 @@ Combo box to specify the type of samples that are sent over UDP. - `S16LE I/Q`: Raw I/Q samples on signed 16 bits integers with Little Endian layout. Use it with software that accepts I/Q data as input like GNUradio with the `UDP source` block. The output is interleaved I and Q samples - `S16LE SSB`: AF of SSB demodulated signal as 16 bits signed integers with Little Endian layout. Use it with software that uses a SSB demodulated signal as input i.e. software that is based on the audio output of a SSB radio. The output is interleaved samples of the USB (on real part) and LSB signals (on imaginary part). - - `S16LE NFM`: AF of FM demodulated signal as 16 bits signed integers with Little Endian layout. Use it with software that takes the FM demodulated audio or the discriminator output of a radio as input. Make sure you specify the appropriate signal bandwidth (see 7) according to the AF bandwidth needs. The output is interleaved samples of NFM samples (on real part) and zeros (on imaginary part). + - `S16LE NFM`: AF of FM demodulated signal as 16 bits signed integers with Little Endian layout. Use it with software that takes the FM demodulated audio or the discriminator output of a radio as input. Make sure you specify the appropriate signal bandwidth (see 7) according to the AF bandwidth needs. The output is a repetition of NFM samples on real part and on imaginary part this facilitates integration wtih software expecting a mono from stereo like input. With GNURadio just use a complex to real block.

4: Signal sample rate

diff --git a/plugins/channel/udpsrc/udpsrc.cpp b/plugins/channel/udpsrc/udpsrc.cpp index 0e1d839d5..1a59a6209 100644 --- a/plugins/channel/udpsrc/udpsrc.cpp +++ b/plugins/channel/udpsrc/udpsrc.cpp @@ -168,7 +168,7 @@ void UDPSrc::feed(const SampleVector::const_iterator& begin, const SampleVector: else if (m_sampleFormat == FormatNFM) { Real demod = 32768.0f * m_phaseDiscri.phaseDiscriminator(ci); - m_udpBuffer->write(Sample(demod, 0.0)); + m_udpBuffer->write(Sample(demod, demod)); } else // Raw I/Q samples {