ExtIO_RTLSDR_u8.dll with HDSDR 2.76 + dongle

Main forum to discuss RTL-SDR related topics.
richsch
Posts: 8
Joined: Thu Jun 20, 2019 4:20 am

ExtIO_RTLSDR_u8.dll with HDSDR 2.76 + dongle

Post by richsch » Thu Jun 20, 2019 4:31 am

Trying to get ExtIO_RTLSDR_u8.dll going with HDSDR 2.76 and an early SDR dongle. Copied it and rtlsdr.dll into the HDSDR dir. When start HDSDR and select the _u8 dll, I get this message

[TRACE] ExtIO_RTLSDR# - ExtIO plugin for RTLSDR (c)2019 alex_m
[TRACE]
[TRACE] InitHW
[ERROR] DllNotFoundException: Unable to load DLL 'rtlsdr': The specified module could not be found. (Exception from HRESULT: 0x8007007E)

However, rtlsdr.dll is right there in the HSDSR dir. rebooted, same
Did I miss a step somewhere?
Rich

richsch
Posts: 8
Joined: Thu Jun 20, 2019 4:20 am

Re: ExtIO_RTLSDR_u8.dll with HDSDR 2.76 + dongle

Post by richsch » Thu Jun 20, 2019 4:37 am

That was on a windows 10 machine
used the 1.1.1.5 zip

19ac728
Posts: 7
Joined: Thu Dec 31, 2015 8:55 am

Re: ExtIO_RTLSDR_u8.dll with HDSDR 2.76 + dongle

Post by 19ac728 » Thu Jun 20, 2019 8:13 pm

Do you run zadig for the rtl drivers?
First run zadig.

alanzfq
Posts: 58
Joined: Thu Oct 04, 2018 11:18 am

Re: ExtIO_RTLSDR_u8.dll with HDSDR 2.76 + dongle

Post by alanzfq » Thu Jun 20, 2019 8:39 pm

I had the same message with HDSDR v2.8

(If Zadig has not been used HDSDR just says no RTL found.)

Alan

richsch
Posts: 8
Joined: Thu Jun 20, 2019 4:20 am

Re: ExtIO_RTLSDR_u8.dll with HDSDR 2.76 + dongle

Post by richsch » Tue Jun 25, 2019 8:17 pm

Yes, zadig installed...tried both bulk if 0 and usb receiver if 0...both work fine with extio_rtl2832.dll

qrp
Posts: 24
Joined: Wed May 22, 2019 11:16 pm

Re: ExtIO_RTLSDR_u8.dll with HDSDR 2.76 + dongle

Post by qrp » Sun Jun 30, 2019 2:08 am

richsch wrote:
Thu Jun 20, 2019 4:31 am
[ERROR] DllNotFoundException: Unable to load DLL 'rtlsdr': The specified module could not be found. (Exception from HRESULT: 0x8007007E)

However, rtlsdr.dll is right there in the HSDSR dir. rebooted, same
Did I miss a step somewhere?
Rich
This is because I compiled rtlsdr.dll with dynamic runtime. It requires Visual C runtime libraries, so there is need to install vcredist package.

I recompiled rtlsdr.dll with static linking, so now it doesn't requires external libraries. Try this one.
This is the same ExtIO_RTLSDR# v1.1.1.5, but rtlsdr.dll is recompiled to work on machines, where Visual C runtime is not installed.
Attachments
ExtIO_RTLSDR_u8-1.1.1.5-static.zip
ExtIO_RTLSDR# v1.1.1.5 (+ rtlsdr.dll recompilled with static libraries - no needs to install vcredist package)
(130.93 KiB) Downloaded 82 times

richsch
Posts: 8
Joined: Thu Jun 20, 2019 4:20 am

Re: ExtIO_RTLSDR_u8.dll with HDSDR 2.76 + dongle

Post by richsch » Tue Jul 09, 2019 5:12 am

Yes, finds the file now. tnx
I am noticing that it looks like the noise floor has moved up almost 30db compared to normal levels using the RTL2832 extio. This for either HF direct sampling setting Q or I, and RTL AGC not selected and Tuner Gain at min when direct sampling is disabled. 2.4 G sample rate
rich

qrp
Posts: 24
Joined: Wed May 22, 2019 11:16 pm

Re: ExtIO_RTLSDR_u8.dll with HDSDR 2.76 + dongle

Post by qrp » Wed Jul 10, 2019 6:25 am

richsch wrote:
Tue Jul 09, 2019 5:12 am
I am noticing that it looks like the noise floor has moved up almost 30db compared to normal levels using the RTL2832 extio.
No, noise floor is exactly the same. The difference is that ExtIO_RTLSDR_u8 uses float 32-bit sample format, while classic RTL2832 uses byte 8-bit format. Software can show different absolute levels for different formats. But this is not noise floor shift, this is just a shift of displaying grid. The spectrum is remains the same.

For example RTL2832 may have -100 dB noise floor with -70 dB signal level.
With ExtIO_RTLSDR_u8 it will be -70 dB noise floor with -40 dB signal level.
SNR and spectrum shape is exactly the same for both cases.
The difference is that you're need to add some constant to all values on the grid labels.
But the spectrum remains the same, it just drawn with different labels and that's it.

This is calibration related issue.
Just calibrate level in your software for RTL2832 and for ExtIO_RTLSDR_u8 and then both will show exactly the same noise floor and signal levels.

I tried to add scale to get the same levels for different sample formats, but it turns that this is wrong way, because you will not be able to control when your ADC is near to max value. So, now it passing 32-bit float format with no scale. Such way allows to see when ADC is near overload level. In the current version (1.1.1.6) 0 dBFS means max allowed level of the signal on ADC input. If you exceed 0 dBFS level, ADC will be overloaded and you will get distortions.

ExtIO_RTLSDR_u8 uses 32-bit float sample format in order to support DC removal filter. Because, if you convert sample back to 8-bit format after DC-removal filter, you will lose precision. So, ExtIO_RTLSDR_u8 just passing data to software in 32-bit float format as is, with no converting it back to lossy 8-bit format.

When DC removal filter is disabled it is possible to use 8-bit sample format, but unfortunately ExtIO API doesn't support several formats simultaneously (the format should be selected just once at startup time). So I selected more precise 32-bit float format, it allows to enable DC-removal filter at ExtIO level, it helps when SDR software doesn't have such filter.

PS: actually u8 in the DLL name means "unsigned 8 bit" format :D This is because I have different ExtIO versions for different devices with different sample format and using such notation to differ each other. But later I decided to add DC-removal filter for RTLSDR version, because UNOsdr don't have such filter for ExtIO. And this is the reason, why I changed format to 32-bit float (8-bit format doesn't allows filtering with no precision loss). But the name remains the same u8 from old times. :)

richsch
Posts: 8
Joined: Thu Jun 20, 2019 4:20 am

Re: ExtIO_RTLSDR_u8.dll with HDSDR 2.76 + dongle

Post by richsch » Thu Aug 08, 2019 8:56 pm

Tnx much for the info and explanation, a few things make more sense now. Will check out HDSDR and see if can add aconstant. Either way, everything is relative regarding the sig levels with these apps anyway .
Am sure other readers will appreciate this info as well, tnx.
rich

richsch
Posts: 8
Joined: Thu Jun 20, 2019 4:20 am

Re: ExtIO_RTLSDR_u8.dll with HDSDR 2.76 + dongle

Post by richsch » Thu Aug 08, 2019 10:35 pm

using 1.1.1.7

I'm seeing the input signals ok in Auto (direct sampling disabled) but not when either Q or I is selected, only the noise floor. I'm using a local 6 meter beacon as my signal reference. 2.4 Mhz sample. Signals seen in Auto identical (except for level) as those seen with the RTL2832 extio dll. Not the same spectrum. No chance of a frequency shift I assume.

rich

Post Reply