ik1xpv / ExtIO_sddc

ExtIO_sddc.dll - BreadBoard RF103 / HDSDR
Other
69 stars 26 forks source link

How to reduce the sampling rate to be able to use it with qt-dab ? #212

Open jjcarron opened 2 years ago

jjcarron commented 2 years ago

I try to use my RX-888 with qt-dab. The driver ExtIO_sddc doesn't allow to reduce the sampling frequency below 50MHz and the qt-dab expect something much lower.

Any solutions or indications what should be modified in the code?

ik1xpv commented 2 years ago

ExtIO_sdd.dll uses two sampling rate. The ADC clock rate can be programmed from 50 to 140 MHz. The FX3/ADC high limit is typically 128 MHz. The default value is 64MHz. It controls the real samples stream from the ADC. The IF sampling rate is a decimation of ADC clock by a power of two and it controls the rate of the complex I&Q samples stream from the ExtIO_sddc.dll to the application ( HDSDR ). The rate at 64 MHz ADC clock are 32, 16, 8, 4, 2 MHz If the issue refers to the ADC clock The low limit is forced to 50 MHz by some timing in the USB streaming and it is defined in config.cpp file: _uint32_t MIN_ADCFREQ = 50000000; // ADC sampling frequency minimum Note that today code does not operates at lower ADC rate also changing this definition.

In case the issue refers to IF rate the EstIO_sdd.dll dialog box for non HDSDR apps has a combo box to decrease the IF stream to lower rates.