MicroPhase / antsdr-fw

ANTSDR Firmware
Other
122 stars 46 forks source link

limited sample rate when using gnuradio with Pluto and Fmcomss firmwares. #9

Open zhouzhiwen2000 opened 2 years ago

zhouzhiwen2000 commented 2 years ago

When using gnuradio, the sample rate cannot be set above 5MSPS, otherwise the waveform is not right.

Screenshot from 2021-11-21 10-22-32

corresponding diagram:

Screenshot from 2021-11-21 10-24-00

When the sample rate is lowered to 5M, no problem.

I've narrowed it down to a potential problem with the iiod.

When using sample rate greater than 5M, the cpu usage of iiod is over 100%, that might be causing the problem.

Screenshot from 2021-11-21 10-26-58

Is there a solution to that?

zhouzhiwen2000 commented 2 years ago

With the pluto SDR, the CPU usage tops at about 60%, with rates around 5MSPS too.

zhouzhiwen2000 commented 2 years ago

I've checked, the Gigabit Ethernet is not 100% occupied.

black-pigeon commented 2 years ago

Hello, While using the plutosdr firmware, the enternet is acting more like a usb ethernet.

zhouzhiwen2000 commented 2 years ago

Hello, While using the plutosdr firmware, the enternet is acting more like a usb ethernet.

Well, not only the plutosdr firmware, but also the FMCOMSS firmware. They are all limited to a rather low sample rate.

MicroPhase commented 2 years ago

we will try to use fmcomms-x image for a test, for the plutosdr firmware maybe you can try to set the maximum cpu core number.

zhouzhiwen2000 commented 2 years ago

we will try to use fmcomms-x image for a test, for the plutosdr firmware maybe you can try to set the maximum cpu core number.

How to set maximum cpu core number? In /etc/security/limits.conf ?

MicroPhase commented 2 years ago

I found that if you just using rx module in the gnuradio with fmcomms-x firmware, the sample rate could go up to 10MHz, while using both rx and tx module, the problem you mentioned above will occur.

However, there is a options for tx module could set to solve this issue, you can enable the "Cyclic" option for better performance.

图片

zhouzhiwen2000 commented 2 years ago

I found that if you just using rx module in the gnuradio with fmcomms-x firmware, the sample rate could go up to 10MHz, while using both rx and tx module, the problem you mentioned above will occur.

However, there is a options for tx module could set to solve this issue, you can enable the "Cyclic" option for better performance.

图片

That's hardly a solution. The option Cyclic means that the transmitter will repeat the first frame over and over again. No subsequent data will be sent.

zhouzhiwen2000 commented 2 years ago

There is a bottleneck, but the bottleneck seems to be on the software side. The iiod can be optimized to reduce CPU usage.