HFU HF Underground

Technical Topics => SDR - Software Defined Radio => Topic started by: Ray Lalleu on September 09, 2021, 1336 UTC

Title: RX-888 and graphic board
Post by: Ray Lalleu on September 09, 2021, 1336 UTC
Users of the RX-888, what is your graphic board/circuit ?

It's very important, as the RX-888 has no FPGA included, and is leaving all the decimation work to the PC. And the special dll in the Windows-PC has to do all that work before sending the decimated data to the standard SDR software.

And that work is not what a standard Intel or AMD processor can do, not not any machine using the standard way of computing. That work has to be done by special units on the graphic board. But as you know, all graphic boards are not equal... and also maybe the dll cannot use all the families of graphic units from different founders.

At first, please reply about the graphic circuit of your PC, with what results, so we get a basis for further investigations.
Title: Re: RX-888 and graphic board
Post by: Josh on September 09, 2021, 2302 UTC
I don't have a 888 but the sdr control apps that push some of the processing off to a gpu will be best with regard to cpu time. On that note, SDR Console can offload processing to a gpu but only certain gpus and apis will do, older cuda or opencl versions might not help a given sdr app - check with the app author if your card will work. In a similar light I was thinking about a 888 ran by a pi, or other small form factor pc might be able to do the grunt work and feed the product to the main pc, dunno.

On a like note, I used the nvidia control panel, specifically the profile menus, offloading to cuda cores on the gpu the opengl api used by a digital mode decoder display. Not only did it offload the visuals, it made them look lovely with antialiasing and anistropic filtering enabled, compared to the same display without aa and aniso.
Title: Re: RX-888 and graphic board
Post by: kris on February 01, 2022, 2339 UTC
   Hi Ray and Josh -  I can't believe no one said anything!
Ray only asked for the technical data of your computers, no need to hide!
  I do not understand much of what you write about, but from this link I got what "technically" it is about.
https://www.sdr-radio.com/computer#1417996905 (https://www.sdr-radio.com/computer#1417996905)

With the help of Intel Driver & Support Assistent I have read information about my laptop, and updated drivers
https://www.intel.com/content/www/us/en/support/intel-driver-support-assistant.html

    I will try to install OpenCL support tomorrow.
https://www.intel.com/content/www/us/en/developer/articles/tool/opencl-drivers.html (https://www.intel.com/content/www/us/en/developer/articles/tool/opencl-drivers.html)
https://www.sasview.org/docs/old_docs/4.1.2/user/opencl_installation.html (https://www.sasview.org/docs/old_docs/4.1.2/user/opencl_installation.html)

    My laptop is a Dell Inc. Latitude E5470
BIOS Versio  Date: 08/04/20 05:33:56 Ver: 1.23.3.00

MOTHERBOARD   Manufacturer Dell Inc.
Model 0VHKV0 Version A00

OPERATING SYSTEM
Edition Microsoft Windows 10 Pro (64-bitowy)
Version (Build) 21H2 (10.0.19044)

Devices and Drivers
PROCESSOR  2 core Intel® Core™ i5-6300U CPU @ 2.40GHz
GRAPHICS   Intel® HD Graphics 520
AUDIO - Realtek Audio
VB-Audio Virtual Cable
MEMORY  8 GB 1 slot

    My RX-888 under SDR Console v.3.0.25 works flawlessly with the 1MHz processing bandwidth and that is fully sufficient for me. CPU load 32-45%.
With a wider processing bandwidth, it freezes fairly quickly. The same happens when receiving the VHF / UHF band. As I have read, it is due to memory overflow.
 When I start OpenCL, I will write if the RX's work will improve.
  I have one free slot for RAM memory, so I can increase it.
Title: Re: RX-888 and graphic board
Post by: Ray Lalleu on February 02, 2022, 1825 UTC
Hello Kris,

I need to look again at the RX-888 about how low it can go down by itself.

The decimation is a numerical process equivalent to an analog frequency change and passband filtering. Without the decimation, the output of a ADC (Analog to Digital Converter) at 65 millions of samples per second, each sample using 2 bytes (up to 16 bits for each sample) is 130 millions of bytes per second. That was far above the possible output of the older line cables, but is now well within reach for the true USB-3 cables.
But being able to send that amount of data each second does NOT mean that the CPU can process that amount of data with all the FFT work needed by the SDR software. The work to reduce the passband to something more manageable is still to be done. Normally, that work is made on the SDR hardware by a special component called FPGA (Field Programmable Gate Array). The computing on an FPGA is completely different from that on a CPU. It's a programmable array of gates, with each gate sending it's output to other gates, at high speed, without instructions to decode and execute.
On graphic boards, there are some units organized that way, although less powerful than in full FPGAs, at least rather useful for synthesis of images, and those units can help for some other intensitive computing.
From your reply, Kris, I understand that you have no graphic card except the incorporated one in your Intel CPU, the Intel HD graphics, known to be useful, but far below the graphic cards by Nvidia and Radeon. I understand also that you have set your RX-888 to the lowest output, but I don't understand how that is really possible down to a low output.

That's all for tonight, good listening!

Title: Re: RX-888 and graphic board
Post by: kris on February 03, 2022, 0116 UTC
    Hello Ray - The Intel HD Graphics 520  is an integrated graphics unit
       My setup is this:
Provider            Intel Corporation
Version             27.20.100.7990
Date                 5/6/2020
       Device Details
Adapter Compatibility   Intel Corporation
Video Processor           Intel® HD Graphics Family  of the Skylake generation
Resolution                  1366 x 768
Bits Per Pixel               32
Number of Colors        4294967296
Refresh Rate - Current     60 Hz
Refresh Rate - Maximum  60 Hz
Refresh Rate - Minimum  48 Hz
Adapter DAC Type           Internal
Adapter RAM                  1.00 GB
Availability    Running at full power
Status          This device is working properly.
Location       PCI bus 0, device 2, function 0
Device Id     PCI\VEN_8086&DEV_1916&SUBSYS_06DE1028&REV_07\3&11583659&0&10

- more specification is here
https://www.notebookcheck.net/Intel-HD-Graphics-520.149940.0.html (https://www.notebookcheck.net/Intel-HD-Graphics-520.149940.0.html)

   Today I checked the graphics card driver directory again and it turned out that the OpenCL.dll library is there. I didn't have to install anything.
It was enough to set: Program Option (up / right corner) or View> Display> OpenCL> check Enable OpenCL (visible my Intel Graphics HD 520)> OK
  And the program ran without any problems - it does not stutter when opening other applications,
the CPU load has dropped by about 10% and is from 15 to 32%, the waterfall resolution improved.
My RAM is about 47% occupied with Bandwight 1MHz, but increasing the bandwidth to 2MHz exhausts it completely and the receiver stutters. It will be necessary to increase the RAM to 16 GB which (supposedly) ensures smooth operation up to 10MB of processed bandwidth.
I think that the transmission speed via the USB3 cable is not a problem here, but the RAM size, which I can see on the indicator in the lower right corner of the program window.
      In a word, I was able to run OpenCL/FFT  without problems!
Title: Re: RX-888 and graphic board
Post by: Ray Lalleu on February 03, 2022, 1340 UTC
Kris,
About your RX-888 set to 1 MHz bnadwidth,
I understand that you can display and receive only 1 MHz of HF spectrum at any time.

As the RX-888 has no FPGA, as your PC has no very powerful graphics unit,
I see only one way to get there :
use the analog converter incorporated in the RX-888 (for VHF) also for HF,
so the 1MHz band you choose (for example 6 to 7 MHz) is converted to 0 to 1 MHz, or maybe 1 o 2 MHz,
then the analog data is converted to digital at a low rate (only 2 or 4 megasamples per second),
and that way the work left to be done by the computer is much easier.
Most of the SDR with direct conversion up to 30MHz use that trick for VHF and UHF bands.

Another way is undersampling, with much less samples rates than theoretically needed, but that  leads to many aliased (image) frequencies unless there is a very efficient passband filter before the ADC, and that way converting only a 1 MHz passband can be done at a minimum rate of 2 megasamples per second, or somewhat more than that.

So, where is the trick in the RX-888 ?
Title: Re: RX-888 and graphic board
Post by: kris on February 07, 2022, 0008 UTC
    Hi Ray - as I mentioned I have updated the drivers for the Graphics 520 card and started OpenCL support. The program works stably even with three RX's (I can't follow any more).
I am watching its behavior now - CPU ~~ 30%, RAM 1.7GB. Adding 8GB RAM will satisfy my needs.
   Thanks for the technical advice, but the converter would be a last resort if I couldn't use the RX-888 under SDRConsole control. This program suits me very well.
  I previously praised the functions of SDRuno on SDR-FE-PLAY (DSP filters and decimation).
Unfortunately, it has lower sensitivity (I have not refined the use of LNA yet) and a little worse ADC,
but decimation corrects it.   With a good antenna it is not much worse than the RX-888. ;D
   Good listening and be well!
Title: Re: RX-888 and graphic board
Post by: Josh on March 02, 2023, 1749 UTC
Some considerations on the RX888 and cuda/open cl offloading/cpu time;
One is only certain video card make and model/driver/os can take advantage of gpu offloading in sdrc.
Another is I am pleasantly surprised at Kris' laptop getting as good results as it does with open cl enabled.
Yet another is last I heard the maker of the RX888 is working on a RX999, mebbe that one has a fpga?

I tried some while back with windows 7 on a 4 core cpu and a Nvidia Quadro 2000 gpu and no go on cuda doing the work as the cuda version in the driver, the latest driver made to support the Quadro 2000 in that system, was too old for sdrc so no gpu offload for me.
Title: Re: RX-888 and graphic board
Post by: kris on March 07, 2023, 1121 UTC
      When I bought the RX888, I didn't realize how complicated its cooperation with the computer was.
I'm surprised now that I managed to install it. I will add some more information that may be relevant to you. Well, after the first installation, the program did not start, communicating that it needs Qt support software.    I'm not familiar enough to install the missing components and I downloaded the whole thing, which took me as much as 45GB - horror. Certainly all this is not needed to support the RX888, and it is the reason for the irritatingly long start-up time of the receiver, because this huge amount of data loads when you start the Console program. I promise myself that I will delete unnecessary files/directories, observing whether it will block RX's work.
 Ray and others RX888 owners - do you have any Qt components in your configuration/installation?
Can you tell me what is necessary and what is unnecessary for this receiver to work?
    Thanks for the help in advance!!