From b57793607cd0f4b457aea3a2fefa13273d761216 Mon Sep 17 00:00:00 2001 From: f4exb Date: Sun, 28 Jan 2018 02:30:15 +0100 Subject: [PATCH] UDP source: adaptation to 24 bit DSP --- Readme.md | 17 ++++- doc/img/UDPsrc_plugin.png | Bin 68825 -> 69441 bytes doc/img/UDPsrc_plugin.xcf | Bin 199055 -> 204165 bytes plugins/channelrx/udpsrc/readme.md | 29 ++++--- plugins/channelrx/udpsrc/udpsrc.cpp | 80 +++++++++++--------- plugins/channelrx/udpsrc/udpsrc.h | 62 ++++++++++++++- plugins/channelrx/udpsrc/udpsrcgui.cpp | 18 ++++- plugins/channelrx/udpsrc/udpsrcgui.h | 1 + plugins/channelrx/udpsrc/udpsrcgui.ui | 39 +++++++--- plugins/channelrx/udpsrc/udpsrcplugin.cpp | 2 +- plugins/channelrx/udpsrc/udpsrcsettings.cpp | 16 +++- plugins/channelrx/udpsrc/udpsrcsettings.h | 9 ++- 12 files changed, 205 insertions(+), 68 deletions(-) diff --git a/Readme.md b/Readme.md index d24087302..9c0961140 100644 --- a/Readme.md +++ b/Readme.md @@ -81,6 +81,8 @@ If you use your own location for libairspyhf install directory you need to speci `-DLIBAIRSPYHF_LIBRARIES=/opt/install/libairspyhf/lib/libairspyhf.so -DLIBAIRSPYHF_INCLUDE_DIR=/opt/install/libairspyhf/include` +It is recommended to add `-DRX_SAMPLE_24BIT` on the cmake command line to activate the Rx 24 bit DSP build and take advantage of improved dynamic range when using decimation. +

BladeRF

[BladeRF](https://www.nuand.com/) is supported through the libbladerf library that should be installed in your system for proper build of the software and operation support. Add `libbladerf-dev` to the list of dependencies to install. @@ -160,7 +162,7 @@ If you use your own location for libmirisdr-4 install directory you need to spec

Plugins for special devices

-These plugins do not use any hardware device connected to your system. They support "virtual" devices related to the file system or the network. +These plugins do not use any hardware device connected to your system.

File input

@@ -176,6 +178,10 @@ The [File sink plugin](https://github.com/f4exb/sdrangel/tree/dev/plugins/sample Note that this plugin does not require any of the hardware support libraries nor the libusb library. It is always available in the list of devices as `FileSink[0]` even if no physical device is connected. +

Test source

+ +The [Test source plugin](https://github.com/f4exb/sdrangel/tree/master/plugins/samplesource/testsource) is an internal continuous wave generator that can be used to carry out test of software internals. +

SDRdaemon receiver input

Linux only. @@ -290,6 +296,15 @@ To be sure you will need at least Qt version 5.5. It definitely does not work wi - Windows 32 build is made with 5.9.1 and has Qt ANGLE support (OpenGL emulation with DirectX) - Windows 64 build is made with 5.9.1 and has no Qt ANGLE support (native OpenGL) +

24 bit DSP

+ +By default all Rx DSP processes use 16 bit samples coded on int16 fields. In order to use 24 bit samples coded on int32 fields you can specify `-DRX_SAMPLE_24BIT` on the cmake command line. This will give more dynamic range when the number of bits with decimation exceeds 16 bits: + + - RTL-SDR, HackRF: (8 bit native) no advantage + - Funcube Pro and Pro+: (16 bit native) no decimation hence no advantage + - Airspy, BladeRF, LimeSDR, PlutoSDR, SDRPlay: (12 bit native) advantage for decimation by 32 or 64 + - AirspyHF: (16 bit native) advantage for any decimation +

Ubuntu

Prerequisites for 14.04 LTS

diff --git a/doc/img/UDPsrc_plugin.png b/doc/img/UDPsrc_plugin.png index fbece5d37cf47426da3c433bddbefc00750583ad..cc4a913cf4333d6477afa96fa0be8c47a30a9ad9 100644 GIT binary patch literal 69441 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 literal 68825 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 C7j`iK diff --git a/doc/img/UDPsrc_plugin.xcf b/doc/img/UDPsrc_plugin.xcf index 8ac7a08900dc6eb20215abffe5e8f52ffa7c7106..5c6042f25d41e9dd7f887931a858d5c4453e3dd4 100644 GIT binary patch delta 11440 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 delta 6630 zcmZwL3w%s>-pBFpITMjYg^JL|x*O}Vf)X@J+%Hj)6+x3Wx+2=f65EJAqKt~5QKFqt zAN!>m03fiCthF~n-$A4iVR$vqMQuFS|=$yrMJd%2N z;1#q%4-COr>2+!!*h=b2K5uNsJ{$+r`;A+8BK4|;Mref&s!Z3az~2F*hnHeeU> zaT-@~UmEO&`e=o&7=TfjfN7YAGy)mCfzB@E<20_~zBI%Q^`)UJa7h|A0n;!KY1n{W z$j511#eL~bH`GTfbj1LS!URmiJfvX*b`i*%`E*X>D(*|e-B2H`&=mtP3KK95^N@xO z*oAzY##P*>T5hgDS~+}&l-IO6*CS`Ea)pGptsHWVg}(0S96HKkV-0jRSD~F@gzaQK zosASM$NK8qjJhC=V$B@&ObYi#6ZoSyLJ);1n2jY^gRMA#6S#mfJR^+J-qPqM@JDZi zAW9l@SsL3;dTT2V-~=w949}zpZ#02FdLsl;n1b0@f;HHR12};TD8n-;(i=?(BhsHv zZ-gKUQ!pD#um)Rk04Hz(Wq3waywL>y=#3CWVaoF`9Fe0Nd01_gm2(x{S=}gm^|7c7 zM|#v;HybxMXR8`SbTBtGR?^9D<9$r4zRiT`(uDaSqzN0b8%J>l*YHq^aYqBRMmG$? zXiUU(%*S$qh}lSIw=}U>de6W)>HV{~jz`i59(VS7tZUV` zN${2um%&nya@ge5o3#`XZ9LB$J8NW&&o2Z8tcn$q965|Qt z;}7Y~#TQtQoj8nt;WB=u0w(IA1ztlxjKp|+h`IOz>#>s{0t`pb>9ahohbk-QD!TKE zurcGFw--U!N*(8I1s2=(%F(JpB(dr(Zi@Ek4sPDg=GrEiell|)xfz%P$$b!tcQF-n zuoUaC9S3m=mvC3&V$l4$(t@pgtc7c(h1-yelemaGsE|G_lu`&GWgOyQLn_u{8**_H z7jXv_(xN(OijD}v2#iA4hKoD8&@gG5~ZzQc}e0@(0LnJ0)CKe$bo3RhaQG#1|B4yM^eszy~eS1^p3*Xv8B4c4WYTJQU#y?olmg5Wa?^O~z0EZxG-9 zM-bl<#J3fut=s<%Vp{~?DjT2$SjYDUR^MhjYs+?SwA(j=`|S3kID>0=DD7}Z1GGjr z48mwEMgh3*?6`@?1hLag+UbXOk|SNpX6I~n&SvLqcFtz!Y?VlaN9mlwH9VB|xT67DqZ@+B;7!aM&*bjM(f!F%`!3-Ber#vXhpUGk8wS`mPO2uBPOsQlGrI?IrWY#c!` zO7TD{tpQ(H5rBaRM+_2>jAh6~HjbberFbA+s{vnF5rBaRM+_3E{Iz5{%aDm|96>Qk z@qn|h0bf`VfPn}{3=)uxWynM}j!^l(JC2>Vy!88Td<`j}FDUMf>y^cH<#6MX zrj2J^XRDgSzgg$X6T#Y7&gBQajO%R2dsH%3eM za!`PCxQWNoeJ}Wt!~J%20uhV|#3B(XScNR)paAD^6OW|_UhqRZ1R@v_h(#h&unJko zK>^O;CLT)-qf};DUzxwWyjA9X2Fg#!e7sra z)9niqY8x>3B-FNCceg$N0_-eLdF7AE%vOs&=jZEQ7>aQG#aY1Lx3L)eWibkI9=GvS z7PB@QqXT+jINrfz%)(-<#un^HAlj(DvPBy8lwYxVL0BwWX!^1ti~4XMlyo1S@g~eEnE!dAj zoX2fErAoEY7#)~`K6?)PTAJ6ex$~g?dua_>YWm3HIS!NX5t6Ex)+0z3kNy~pVHklh zj6o#W*CQJ5f%ou;Lp*pdkD0I`2@9}@@_MAwvExgmV=Xf9H8x`#9N2?>$VDE$!*QHM z5&jz`xQHwG8Mkl;_fU=}sNke5sEJyk{8I-$XoyB=ikA2z+M^@7pgVdZ2>me_!!QD2 O7=y??o&R7NW&AHh(e%au diff --git a/plugins/channelrx/udpsrc/readme.md b/plugins/channelrx/udpsrc/readme.md index 3515b5352..f26dc0f63 100644 --- a/plugins/channelrx/udpsrc/readme.md +++ b/plugins/channelrx/udpsrc/readme.md @@ -36,20 +36,25 @@ The display is in the format `address:audio port/data port` Sample rate in samples per second of the signal that is sent over UDP. The actual byte rate depends on the type of sample which corresponds to a number of bytes per sample. -

6: Type of samples

+

6: Type and size of samples

-Combo box to specify the type of samples that are sent over UDP. +Left: 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 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 stereo type of input with the same samples on L and R channels. With GNURadio just use a complex to real block. - - `S16LE NFM Mono`: This is the same as above but only one sample is output for one NFM sample. This can be used with software that accept a mono type of input like `dsd` or `multimon`. - - `S16LE USB`: AF of USB 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 the I/Q binaural output of the demodulator. - - `S16LE LSB`: AF of LSB 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 the I/Q binaural output of the demodulator. - - `S16LE LSB Mono`: AF of the LSB part of a SSB demodulated signal as "mono" (I+Q)*0.7 samples that is one sample per demodulator output sample. This can be used with software that accepts mono type of input. - - `S16LE USB Mono`: AF of the USB part of a SSB demodulated signal as "mono" (I+Q)*0.7 samples that is one sample per demodulator output sample. This can be used with software that accepts mono type of input. - - `S16LE AM Mono`: AF of the enveloppe demodulated signal i.e. channel magnitude or sqrt(I² + Q²) as "mono" samples that is one sample per demodulator output sample. This can be used with software that accepts mono type of input. - - `S16LE AM !DC Mono`: Same as above but with a DC block based on magnitude average over a 5 ms period - - `S16LE AM BPF Mono`: Same as AM Mono but raw magnitude signal is passed through a bandpass filter with lower cutoff at 300 Hz and higher cutoff at RF bandwidth frequency + - `I/Q`: Raw I/Q samples. 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 + - `NFM`: AF of FM demodulated signal. 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 stereo type of input with the same samples on L and R channels. With GNURadio just use a complex to real block. + - `NFM Mono`: This is the same as above but only one sample is output for one NFM sample. This can be used with software that accept a mono type of input like `dsd` or `multimon`. + - `USB`: AF of USB demodulated signal. 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 the I/Q binaural output of the demodulator. + - `LSB`: AF of LSB demodulated signal. 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 the I/Q binaural output of the demodulator. + - `LSB Mono`: AF of the LSB part of a SSB demodulated signal as "mono" (I+Q)*0.7 samples that is one sample per demodulator output sample. This can be used with software that accepts mono type of input. + - `USB Mono`: AF of the USB part of a SSB demodulated signal as "mono" (I+Q)*0.7 samples that is one sample per demodulator output sample. This can be used with software that accepts mono type of input. + - `AM Mono`: AF of the enveloppe demodulated signal i.e. channel magnitude or sqrt(I² + Q²) as "mono" samples that is one sample per demodulator output sample. This can be used with software that accepts mono type of input. + - `AM !DC Mono`: Same as above but with a DC block based on magnitude average over a 5 ms period + - `AM BPF Mono`: Same as AM Mono but raw magnitude signal is passed through a bandpass filter with lower cutoff at 300 Hz and higher cutoff at RF bandwidth frequency + +Right: Sample size in bits: + + - `16 bits`: samples are 16 bit signed with little endian layout (S16LE) + - `24 bits`: samples are 32 bit signed with little endian layout (S32LE) using only the 3 less significant bytes. This means that the range is -2²³ to 2²³ - 1

7: Signal bandwidth

diff --git a/plugins/channelrx/udpsrc/udpsrc.cpp b/plugins/channelrx/udpsrc/udpsrc.cpp index 01b45a35a..b4b41473e 100644 --- a/plugins/channelrx/udpsrc/udpsrc.cpp +++ b/plugins/channelrx/udpsrc/udpsrc.cpp @@ -57,8 +57,10 @@ UDPSrc::UDPSrc(DeviceSourceAPI *deviceAPI) : { setObjectName(m_channelId); - m_udpBuffer = new UDPSink(this, udpBlockSize, m_settings.m_udpPort); - m_udpBufferMono = new UDPSink(this, udpBlockSize, m_settings.m_udpPort); + m_udpBuffer16 = new UDPSink(this, udpBlockSize, m_settings.m_udpPort); + m_udpBufferMono16 = new UDPSink(this, udpBlockSize, m_settings.m_udpPort); + m_udpBuffer24 = new UDPSink(this, udpBlockSize, m_settings.m_udpPort); + m_udpBufferMono24 = new UDPSink(this, udpBlockSize, m_settings.m_udpPort); m_audioSocket = new QUdpSocket(this); m_udpAudioBuf = new char[m_udpAudioPayloadSize]; @@ -109,8 +111,10 @@ UDPSrc::UDPSrc(DeviceSourceAPI *deviceAPI) : UDPSrc::~UDPSrc() { delete m_audioSocket; - delete m_udpBuffer; - delete m_udpBufferMono; + delete m_udpBuffer24; + delete m_udpBufferMono24; + delete m_udpBuffer16; + delete m_udpBufferMono16; delete[] m_udpAudioBuf; if (UDPFilter) delete UDPFilter; if (m_settings.m_audioActive) DSPEngine::instance()->removeAudioSink(&m_audioFifo); @@ -148,7 +152,7 @@ void UDPSrc::feed(const SampleVector::const_iterator& begin, const SampleVector: if ((m_settings.m_agc) && (m_settings.m_sampleFormat != UDPSrcSettings::FormatNFM) && (m_settings.m_sampleFormat != UDPSrcSettings::FormatNFMMono) && - (m_settings.m_sampleFormat != UDPSrcSettings::FormatS16LE)) + (m_settings.m_sampleFormat != UDPSrcSettings::FormatIQ)) { agcFactor = m_agc.feedAndGetValue(ci); inMagSq = m_agc.getMagSq(); @@ -179,7 +183,7 @@ void UDPSrc::feed(const SampleVector::const_iterator& begin, const SampleVector: { l = m_squelchOpen ? sideband[i].real() * m_settings.m_gain : 0; r = m_squelchOpen ? sideband[i].imag() * m_settings.m_gain : 0; - m_udpBuffer->write(Sample(l, r)); + udpWrite(l, r); m_outMovingAverage.feed((l*l + r*r) / (SDR_RX_SCALED*SDR_RX_SCALED)); } } @@ -195,22 +199,24 @@ void UDPSrc::feed(const SampleVector::const_iterator& begin, const SampleVector: { l = m_squelchOpen ? sideband[i].real() * m_settings.m_gain : 0; r = m_squelchOpen ? sideband[i].imag() * m_settings.m_gain : 0; - m_udpBuffer->write(Sample(l, r)); + udpWrite(l, r); m_outMovingAverage.feed((l*l + r*r) / (SDR_RX_SCALED*SDR_RX_SCALED)); } } } else if (m_settings.m_sampleFormat == UDPSrcSettings::FormatNFM) { - double demod = m_squelchOpen ? SDR_RX_SCALED * m_phaseDiscri.phaseDiscriminator(ci) * m_settings.m_gain : 0; - m_udpBuffer->write(Sample(demod, demod)); - m_outMovingAverage.feed((demod * demod) / (SDR_RX_SCALED*SDR_RX_SCALED)); + Real discri = m_squelchOpen ? m_phaseDiscri.phaseDiscriminator(ci) * m_settings.m_gain : 0; + FixReal demod = (FixReal) (SDR_RX_SCALEF * discri); + udpWrite(demod, demod); + m_outMovingAverage.feed(discri*discri); } else if (m_settings.m_sampleFormat == UDPSrcSettings::FormatNFMMono) { - FixReal demod = m_squelchOpen ? (FixReal) (SDR_RX_SCALEF * m_phaseDiscri.phaseDiscriminator(ci) * m_settings.m_gain) : 0; - m_udpBufferMono->write(demod); - m_outMovingAverage.feed((demod * demod) / SDR_RX_SCALED*SDR_RX_SCALED); + Real discri = m_squelchOpen ? m_phaseDiscri.phaseDiscriminator(ci) * m_settings.m_gain : 0; + FixReal demod = (FixReal) (SDR_RX_SCALEF * discri); + udpWriteMono(demod); + m_outMovingAverage.feed(discri*discri); } else if (m_settings.m_sampleFormat == UDPSrcSettings::FormatLSBMono) // Monaural LSB { @@ -222,7 +228,7 @@ void UDPSrc::feed(const SampleVector::const_iterator& begin, const SampleVector: for (int i = 0; i < n_out; i++) { l = m_squelchOpen ? (sideband[i].real() + sideband[i].imag()) * 0.7 * m_settings.m_gain : 0; - m_udpBufferMono->write(l); + udpWriteMono(l); m_outMovingAverage.feed((l * l) / (SDR_RX_SCALED*SDR_RX_SCALED)); } } @@ -237,16 +243,17 @@ void UDPSrc::feed(const SampleVector::const_iterator& begin, const SampleVector: for (int i = 0; i < n_out; i++) { l = m_squelchOpen ? (sideband[i].real() + sideband[i].imag()) * 0.7 * m_settings.m_gain : 0; - m_udpBufferMono->write(l); + udpWriteMono(l); m_outMovingAverage.feed((l * l) / (SDR_RX_SCALED*SDR_RX_SCALED)); } } } else if (m_settings.m_sampleFormat == UDPSrcSettings::FormatAMMono) { - FixReal demod = m_squelchOpen ? (FixReal) (sqrt(inMagSq) * agcFactor * m_settings.m_gain) : 0; - m_udpBufferMono->write(demod); - m_outMovingAverage.feed((demod * demod) / SDR_RX_SCALED*SDR_RX_SCALED); + Real amplitude = m_squelchOpen ? sqrt(inMagSq) * agcFactor * m_settings.m_gain : 0; + FixReal demod = (FixReal) amplitude; + udpWriteMono(demod); + m_outMovingAverage.feed((amplitude/SDR_RX_SCALEF)*(amplitude/SDR_RX_SCALEF)); } else if (m_settings.m_sampleFormat == UDPSrcSettings::FormatAMNoDCMono) { @@ -254,13 +261,14 @@ void UDPSrc::feed(const SampleVector::const_iterator& begin, const SampleVector: { double demodf = sqrt(inMagSq); m_amMovingAverage.feed(demodf); - FixReal demod = (FixReal) ((demodf - m_amMovingAverage.average()) * agcFactor * m_settings.m_gain); - m_udpBufferMono->write(demod); - m_outMovingAverage.feed((demod * demod) / SDR_RX_SCALED*SDR_RX_SCALED); + Real amplitude = (demodf - m_amMovingAverage.average()) * agcFactor * m_settings.m_gain; + FixReal demod = (FixReal) amplitude; + udpWriteMono(demod); + m_outMovingAverage.feed((amplitude/SDR_RX_SCALEF)*(amplitude/SDR_RX_SCALEF)); } else { - m_udpBufferMono->write(0); + udpWriteMono(0); m_outMovingAverage.feed(0); } } @@ -271,13 +279,14 @@ void UDPSrc::feed(const SampleVector::const_iterator& begin, const SampleVector: double demodf = sqrt(inMagSq); demodf = m_bandpass.filter(demodf); demodf /= 301.0; - FixReal demod = (FixReal) (demodf * agcFactor * m_settings.m_gain); - m_udpBufferMono->write(demod); - m_outMovingAverage.feed((demod * demod) / SDR_RX_SCALED*SDR_RX_SCALED); + Real amplitude = demodf * agcFactor * m_settings.m_gain; + FixReal demod = (FixReal) amplitude; + udpWriteMono(demod); + m_outMovingAverage.feed((amplitude/SDR_RX_SCALEF)*(amplitude/SDR_RX_SCALEF)); } else { - m_udpBufferMono->write(0); + udpWriteMono(0); m_outMovingAverage.feed(0); } } @@ -285,14 +294,12 @@ void UDPSrc::feed(const SampleVector::const_iterator& begin, const SampleVector: { if (m_squelchOpen) { - Sample s(ci.real() * m_settings.m_gain, ci.imag() * m_settings.m_gain); - m_udpBuffer->write(s); + udpWrite(ci.real() * m_settings.m_gain, ci.imag() * m_settings.m_gain); m_outMovingAverage.feed((inMagSq*m_settings.m_gain*m_settings.m_gain) / (SDR_RX_SCALED*SDR_RX_SCALED)); } else { - Sample s(0, 0); - m_udpBuffer->write(s); + udpWrite(0, 0); m_outMovingAverage.feed(0); } } @@ -484,6 +491,7 @@ void UDPSrc::applySettings(const UDPSrcSettings& settings, bool force) << " m_squelchGate" << settings.m_squelchGate << " m_agc" << settings.m_agc << " m_sampleFormat: " << settings.m_sampleFormat + << " m_sampleSize: " << 16 + settings.m_sampleSize*8 << " m_outputSampleRate: " << settings.m_outputSampleRate << " m_rfBandwidth: " << settings.m_rfBandwidth << " m_fmDeviation: " << settings.m_fmDeviation @@ -568,14 +576,18 @@ void UDPSrc::applySettings(const UDPSrcSettings& settings, bool force) if ((settings.m_udpAddress != m_settings.m_udpAddress) || force) { - m_udpBuffer->setAddress(const_cast(settings.m_udpAddress)); - m_udpBufferMono->setAddress(const_cast(settings.m_udpAddress)); + m_udpBuffer16->setAddress(const_cast(settings.m_udpAddress)); + m_udpBufferMono16->setAddress(const_cast(settings.m_udpAddress)); + m_udpBuffer24->setAddress(const_cast(settings.m_udpAddress)); + m_udpBufferMono24->setAddress(const_cast(settings.m_udpAddress)); } if ((settings.m_udpPort != m_settings.m_udpPort) || force) { - m_udpBuffer->setPort(settings.m_udpPort); - m_udpBufferMono->setPort(settings.m_udpPort); + m_udpBuffer16->setPort(settings.m_udpPort); + m_udpBufferMono16->setPort(settings.m_udpPort); + m_udpBuffer24->setPort(settings.m_udpPort); + m_udpBufferMono24->setPort(settings.m_udpPort); } if ((settings.m_audioPort != m_settings.m_audioPort) || force) diff --git a/plugins/channelrx/udpsrc/udpsrc.h b/plugins/channelrx/udpsrc/udpsrc.h index f575443e3..3dcc65b70 100644 --- a/plugins/channelrx/udpsrc/udpsrc.h +++ b/plugins/channelrx/udpsrc/udpsrc.h @@ -142,6 +142,22 @@ protected: { } }; + struct Sample16 + { + Sample16() : m_r(0), m_i(0) {} + Sample16(int16_t r, int16_t i) : m_r(r), m_i(i) {} + int16_t m_r; + int16_t m_i; + }; + + struct Sample24 + { + Sample24() : m_r(0), m_i(0) {} + Sample24(int32_t r, int32_t i) : m_r(r), m_i(i) {} + int32_t m_r; + int32_t m_i; + }; + DeviceSourceAPI *m_deviceAPI; ThreadedBasebandSampleSink* m_threadedChannelizer; DownChannelizer* m_channelizer; @@ -167,8 +183,10 @@ protected: fftfilt* UDPFilter; SampleVector m_sampleBuffer; - UDPSink *m_udpBuffer; - UDPSink *m_udpBufferMono; + UDPSink *m_udpBuffer16; + UDPSink *m_udpBufferMono16; + UDPSink *m_udpBuffer24; + UDPSink *m_udpBufferMono24; AudioVector m_audioBuffer; uint m_audioBufferFill; @@ -259,6 +277,46 @@ protected: } } + void udpWrite(FixReal real, FixReal imag) + { + if (SDR_RX_SAMP_SZ == 16) + { + if (m_settings.m_sampleSize == UDPSrcSettings::Size16bits) { + m_udpBuffer16->write(Sample16(real, imag)); + } else if (m_settings.m_sampleSize == UDPSrcSettings::Size24bits) { + m_udpBuffer24->write(Sample24(real<<8, imag<<8)); + } + } + else if (SDR_RX_SAMP_SZ == 24) + { + if (m_settings.m_sampleSize == UDPSrcSettings::Size16bits) { + m_udpBuffer16->write(Sample16(real>>8, imag>>8)); + } else if (m_settings.m_sampleSize == UDPSrcSettings::Size24bits) { + m_udpBuffer24->write(Sample24(real, imag)); + } + } + } + + void udpWriteMono(FixReal sample) + { + if (SDR_RX_SAMP_SZ == 16) + { + if (m_settings.m_sampleSize == UDPSrcSettings::Size16bits) { + m_udpBufferMono16->write(sample); + } else if (m_settings.m_sampleSize == UDPSrcSettings::Size24bits) { + m_udpBufferMono24->write(sample<<8); + } + } + else if (SDR_RX_SAMP_SZ == 24) + { + if (m_settings.m_sampleSize == UDPSrcSettings::Size16bits) { + m_udpBufferMono16->write(sample>>8); + } else if (m_settings.m_sampleSize == UDPSrcSettings::Size24bits) { + m_udpBufferMono24->write(sample); + } + } + } + }; #endif // INCLUDE_UDPSRC_H diff --git a/plugins/channelrx/udpsrc/udpsrcgui.cpp b/plugins/channelrx/udpsrc/udpsrcgui.cpp index 2ec35bc8d..d2f40764a 100644 --- a/plugins/channelrx/udpsrc/udpsrcgui.cpp +++ b/plugins/channelrx/udpsrc/udpsrcgui.cpp @@ -262,7 +262,7 @@ void UDPSrcGUI::setSampleFormatIndex(const UDPSrcSettings::SampleFormat& sampleF { switch(sampleFormat) { - case UDPSrcSettings::FormatS16LE: + case UDPSrcSettings::FormatIQ: ui->sampleFormat->setCurrentIndex(0); break; case UDPSrcSettings::FormatNFM: @@ -303,7 +303,7 @@ void UDPSrcGUI::setSampleFormat(int index) switch(index) { case 0: - m_settings.m_sampleFormat = UDPSrcSettings::FormatS16LE; + m_settings.m_sampleFormat = UDPSrcSettings::FormatIQ; ui->fmDeviation->setEnabled(false); break; case 1: @@ -343,7 +343,7 @@ void UDPSrcGUI::setSampleFormat(int index) ui->fmDeviation->setEnabled(false); break; default: - m_settings.m_sampleFormat = UDPSrcSettings::FormatS16LE; + m_settings.m_sampleFormat = UDPSrcSettings::FormatIQ; ui->fmDeviation->setEnabled(false); break; } @@ -395,6 +395,18 @@ void UDPSrcGUI::on_sampleFormat_currentIndexChanged(int index) ui->applyBtn->setStyleSheet("QPushButton { background-color : green; }"); } +void UDPSrcGUI::on_sampleSize_currentIndexChanged(int index) +{ + if ((index < 0) || (index >= UDPSrcSettings::SizeNone)) { + return; + } + + m_settings.m_sampleSize = (UDPSrcSettings::SampleSize) index; + + ui->applyBtn->setEnabled(true); + ui->applyBtn->setStyleSheet("QPushButton { background-color : green; }"); +} + void UDPSrcGUI::on_sampleRate_textEdited(const QString& arg1 __attribute__((unused))) { bool ok; diff --git a/plugins/channelrx/udpsrc/udpsrcgui.h b/plugins/channelrx/udpsrc/udpsrcgui.h index 3827c676d..abeac01d6 100644 --- a/plugins/channelrx/udpsrc/udpsrcgui.h +++ b/plugins/channelrx/udpsrc/udpsrcgui.h @@ -95,6 +95,7 @@ private: private slots: void on_deltaFrequency_changed(qint64 value); void on_sampleFormat_currentIndexChanged(int index); + void on_sampleSize_currentIndexChanged(int index); void on_sampleRate_textEdited(const QString& arg1); void on_rfBandwidth_textEdited(const QString& arg1); void on_fmDeviation_textEdited(const QString& arg1); diff --git a/plugins/channelrx/udpsrc/udpsrcgui.ui b/plugins/channelrx/udpsrc/udpsrcgui.ui index 9ab8bc856..8b50c2c30 100644 --- a/plugins/channelrx/udpsrc/udpsrcgui.ui +++ b/plugins/channelrx/udpsrc/udpsrcgui.ui @@ -364,7 +364,7 @@ - + 30 @@ -386,52 +386,69 @@ - S16LE I/Q + I/Q - S16LE NFM + NFM - S16LE NFM Mono + NFM Mono - S16LE LSB + LSB - S16LE USB + USB - S16LE LSB Mono + LSB Mono - S16LE USB Mono + USB Mono - S16LE AM Mono + AM Mono - S16LE AM !DC Mono + AM !DC Mono - S16LE AM BPF Mono + AM BPF Mono + + + + + + + + Samples size + + + + 16 bits + + + + + 24 bits diff --git a/plugins/channelrx/udpsrc/udpsrcplugin.cpp b/plugins/channelrx/udpsrc/udpsrcplugin.cpp index b226c4bb1..b6d65e2fc 100644 --- a/plugins/channelrx/udpsrc/udpsrcplugin.cpp +++ b/plugins/channelrx/udpsrc/udpsrcplugin.cpp @@ -25,7 +25,7 @@ const PluginDescriptor UDPSrcPlugin::m_pluginDescriptor = { QString("UDP Channel Source"), - QString("3.10.1"), + QString("3.11.1"), QString("(c) Edouard Griffiths, F4EXB"), QString("https://github.com/f4exb/sdrangel"), true, diff --git a/plugins/channelrx/udpsrc/udpsrcsettings.cpp b/plugins/channelrx/udpsrc/udpsrcsettings.cpp index 371c9e935..eb28df536 100644 --- a/plugins/channelrx/udpsrc/udpsrcsettings.cpp +++ b/plugins/channelrx/udpsrc/udpsrcsettings.cpp @@ -31,7 +31,8 @@ UDPSrcSettings::UDPSrcSettings() : void UDPSrcSettings::resetToDefaults() { m_outputSampleRate = 48000; - m_sampleFormat = FormatS16LE; + m_sampleFormat = FormatIQ; + m_sampleSize = Size16bits; m_inputFrequencyOffset = 0; m_rfBandwidth = 12500; m_fmDeviation = 2500; @@ -77,6 +78,7 @@ QByteArray UDPSrcSettings::serialize() const s.writeS32(17, m_squelchGate); s.writeBool(18, m_agc); s.writeString(19, m_title); + s.writeS32(20, (int) m_sampleFormat); return s.final(); @@ -106,12 +108,12 @@ bool UDPSrcSettings::deserialize(const QByteArray& data) d.readS32(2, &s32tmp, 0); m_inputFrequencyOffset = s32tmp; - d.readS32(3, &s32tmp, FormatS16LE); + d.readS32(3, &s32tmp, FormatIQ); if ((s32tmp >= 0) && (s32tmp < (int) FormatNone)) { m_sampleFormat = (SampleFormat) s32tmp; } else { - m_sampleFormat = FormatS16LE; + m_sampleFormat = FormatIQ; } d.readReal(4, &m_outputSampleRate, 48000.0); @@ -134,6 +136,14 @@ bool UDPSrcSettings::deserialize(const QByteArray& data) d.readBool(18, &m_agc, false); d.readString(19, &m_title, "UDP Sample Source"); + d.readS32(20, &s32tmp, Size16bits); + + if ((s32tmp >= 0) && (s32tmp < (int) SizeNone)) { + m_sampleSize = (SampleSize) s32tmp; + } else { + m_sampleSize = Size16bits; + } + return true; } else diff --git a/plugins/channelrx/udpsrc/udpsrcsettings.h b/plugins/channelrx/udpsrc/udpsrcsettings.h index 2bd3aa2af..45ee20a14 100644 --- a/plugins/channelrx/udpsrc/udpsrcsettings.h +++ b/plugins/channelrx/udpsrc/udpsrcsettings.h @@ -26,7 +26,7 @@ struct Serializable; struct UDPSrcSettings { enum SampleFormat { - FormatS16LE, + FormatIQ, FormatNFM, FormatNFMMono, FormatLSB, @@ -39,8 +39,15 @@ struct UDPSrcSettings FormatNone }; + enum SampleSize { + Size16bits, + Size24bits, + SizeNone + }; + float m_outputSampleRate; SampleFormat m_sampleFormat; + SampleSize m_sampleSize; int64_t m_inputFrequencyOffset; float m_rfBandwidth; int m_fmDeviation;