Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

issue with setting the samplerate of both RX channels to 61.44M #912

Open
timelord109 opened this issue Mar 21, 2023 · 7 comments
Open

issue with setting the samplerate of both RX channels to 61.44M #912

timelord109 opened this issue Mar 21, 2023 · 7 comments
Labels
Issue: Support Build/usage support, likely not a general bug

Comments

@timelord109
Copy link

hello

I'm using bladeRF-cli and i'm trying to set the bladeRF sample rate to 61.44M in both RX channels.
I'm executing the following script

set frequency rx1 2.45G set frequency rx2 2.45G set samplerate rx1 61.44M set samplerate rx2 61.44M set bandwidth 56M set bitmode 16 rx config file=fifo.bin format=bin channel=1,2 n=0 timeout=10000 rx start rx wait

I get the following warning:

[WARNING @ host/libraries/libbladeRF/src/board/bladerf2/common.c:356] The total sample throughput for the 2 active channels, 122 Msps, is greater than the recommended maximum sample throughput, 80 Msps. You may experience dropped samples unless the sample rate is reduced, or some channels are deactivated.
i'm using a fifo to plot the samples in the Gnuradio GUI and i get the following results that shows that the signal is corrupted
Capture 16bits

does it mean that we cannot use both rx channel at the same time with a sample rate that is 61Msps each ?
if it is not the case. is-it possible to do it without changing the bitmode to 8 bits?
N.B: i'm trying not to use new feature where you set the bitmode to 8 bits because it can create issue in term of accuracy and precision

@timelord109
Copy link
Author

i forgot to mention that i'm using a synthétiser to générate a singe tone in both channels input. and that i get the correct result when i set bitmode to 8

@rghilduta
Copy link
Collaborator

2x receive should work without an issue. Can you please retry the bladeRF-cli commands without running "set bitmode". Also, please post the output of "info" in bladeRF-cli, is it reporting "Speed" as "Superspeed" ?

@maurokenny
Copy link

Hi @rghilduta, we haven't use set bitmode and we are in SuperSpeed

bladeRF> info

  Board:                    Nuand bladeRF 2.0 (bladerf2)
  Serial #:                 9f064e6dea2xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  VCTCXO DAC calibration:   0x205b
  FPGA size:                49 KLE
  FPGA loaded:              yes
  Flash size:               32 Mbit
  USB bus:                  2
  USB address:              33
  USB speed:                SuperSpeed
  Backend:                  libusb
  Instance:                 0

@timelord109
Copy link
Author

timelord109 commented Mar 31, 2023

  • here is the config file we are using
    script_16bits_channelx1.txt
  • we use it with bladerf-cli to configure the bladerf . the only thing we change is the RX channel:
    *for 1 RX channel we get the correct complexe single tone response :
    Capture_16bits_channelx1
    *for 2 RX channels we get this :
    capture_16bits_channelx2

as you can see we don't use bitmode, we also tried to use different versions of libbladeRF with always the same response

@rthomp10
Copy link
Collaborator

rthomp10 commented Apr 6, 2023

I'm having trouble reproducing the issue on my end, although there is a chance that the issue is sourced from dropped samples.

Below is a +15.36MHz CW into RX1 and RX2 with channel 1 and 2 enabled through the cli.

image

set frequency rx1 2.45G
set frequency rx2 2.45G
set samplerate rx1 61.44M
set samplerate rx2 61.44M
set bandwidth 56M

rx config file=result2.bin format=bin channel=1,2 n=10000
rx start
rx wait

In a circumstance where I'm looping back with 2xTX channels to 2xRX channels at 61.44MHz, we'll see the result of USB packet congestion. Dropped samples in this circumstance is expected but serves as a potential root cause indicator.

image

set loopback rfic_bist
set frequency tx1 2.45G
set frequency tx2 2.45G
set frequency rx1 2.45G
set frequency rx2 2.45G
set samplerate tx1 61.44M
set samplerate tx2 61.44M
set samplerate rx1 61.44M
set samplerate rx2 61.44M
set bandwidth 56M

rx config file=result2.bin format=bin channel=1,2 n=10000 timeout=10000
tx start
rx start
rx wait
tx stop

@rthomp10 rthomp10 added the Issue: Support Build/usage support, likely not a general bug label Apr 7, 2023
@MutluAYDIN23
Copy link

As far as I can see from comments the only the difference in the code is between "n=0 timeout=10000" and "n=10000 timeout=10000".

I think processing power is the cause of this. Maybe trying with a more powerful PC (maybe instead of a laptop) can be answer. Hope this can help.

@righthalfplane
Copy link

When I get signal corruption it is almost always caused by overloading the system - try cutting the gains to 1/4 of what you are using and see if that helps.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Issue: Support Build/usage support, likely not a general bug
Projects
None yet
Development

No branches or pull requests

6 participants