RTL-SDR and RTL-TCP drivers

Dimitri Stolnikov horiz0n at gmx.net
Sun Jun 11 22:20:05 UTC 2017


Hi Krzysztof,

thansk for your patches, they are both applied after a small fix (d_LUT  
was not deleted).

Best regards,
Dimitri

On Wed, 24 Aug 2016 23:43:03 +0200, Krzysztof Halasa <khc at pm.waw.pl> wrote:

> Hello,
>
> it's my first mail on this list, so please forgive me if I do something
> wrong.
>
> I'm about to post a couple of patches for RTL drivers:
>
> 1. RTL-SDR: convert _lut to float[] to reduce size by a factor of 256.
>
> The _lut is being indexed by I + Q (16 bits = 65536 entries), however
> both samples can be processed independently, resulting in 8-bit LUT.
> Saves a bit of RAM and CPU cache.
>
> lib/rtl/rtl_source_c.cc | 19 ++++++-------------
> lib/rtl/rtl_source_c.h  |  4 ++--
> 2 files changed, 8 insertions(+), 15 deletions(-)
>
>
> 2. RTL-TCP: Convert to single class model
>
> The existing RTL TCP driver is quite different from its brother RTL_SDR.
> It's much more complicated, uses gr::blocks::deinterleave and
> gr::blocks::float_to_complex, and generally doesn't work correctly
> (e.g. https://github.com/csete/gqrx/issues/99
>  Spectrum is mirrored when filter or demodulator changes (rtl_tcp) #99)
>
> I've converted the RTL TCP driver to the model used by RTL_SDR,
> simplifying it in the process, and fixing the GQRX issue.
>
> lib/rtl_tcp/CMakeLists.txt      |   1 -
> lib/rtl_tcp/rtl_tcp_source_c.cc | 352  
> ++++++++++++++++++++++++++++++++--------
> lib/rtl_tcp/rtl_tcp_source_c.h  |  32 +++-
> lib/rtl_tcp/rtl_tcp_source_f.cc | 327  
> -------------------------------------
> lib/rtl_tcp/rtl_tcp_source_f.h  | 125 --------------
> 5 files changed, 309 insertions(+), 528 deletions(-)
>
>
> I'm also thinking about merging the code common to RTL-SDR and RTL-TCP,
> but this it's done yet.
>
> Comments?


More information about the osmocom-sdr mailing list