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

N310 issue with LO offset when configuring two channels on the same subdev #521

Closed
andrepuschmann opened this issue Nov 9, 2021 · 1 comment

Comments

@andrepuschmann
Copy link
Contributor

Issue Description

I am using a two-channel setup (2 LTE cells), both 10 MHz next to each other in the 800 MHz band. I am not specifiying a subdevice for the N310 and I would expect that both cells are transmitted as intendenden on the two specified DL frequencies (cell1: 806 MHz and cell2: 796 MHz) because they both fall without in analog bandwidth of the board. I would assume that UHD takes care of setting the tuneargs to put the LO in middle of both channels so they both appear on the antenna ports. But this doesn't seem to be the case. Also note that the first cell at 806 MHz isn't visible so it seems the default is that the 2nd cell overwrites the tune args.

N310
image

With the X310 or when manually specifying the LO frequency to be in between the two cells I get the expected results.

X310:
image

Setup Details

  • srsRAN 21.10 with 2 LTE cells next to each other
  • 2x RF channel but no extra device args
  • UHD_4.1.0.HEAD-0-g25d617ca

Expected Behavior

Two cells to be visible in the spectrum.

Actual Behaviour

2nd channel seems to overwrite LO config of first

@cfe-NI
Copy link
Contributor

cfe-NI commented Feb 28, 2025

@andrepuschmann, please note that N310 has 4 channels which are distributed over two daughter boards (DBs). Each daughter board shares one LO for two channels per TX/RX, respectively. This means that when changing the frequency on the first DB channel, the frequency on the second DB channel also gets changed. So to speak, it is not really a bug, but rather a limitation of the N310 hardware. This is basically what you observed in your experiment, where both cells are transmitting on 796 MHz. To achieve your use case, you have two options:

Solutions:
1. Use both daughter boards for your two cells. For example, cell1 runs on channel 0 or 1, while cell2 runs on channel 2 or 3
2. Use the LO offset as you already described above. I verified this also with the settings below:

// Channel 0 configuration
uhd::tune_request_t tune_request_ch0(806e6, -5e6);
usrp->set_tx_freq(tune_request_ch0, 0);
// Channel 1 configuration
uhd::tune_request_t tune_request_ch1(796e6, 5e6);
usrp->set_tx_freq(tune_request_ch1, 1);

Please note, that you can use the uhd::usrp::multi_usrp::get_tx_freq(size_t chan) Multi USRP API call to verify the Tx frequency after applying your tune requests. Unfortunately, at the moment this call does not give you the correctly updated frequency. I just made a fix for that which will go to uhd master soon.

Other than that I've extended our documentation with such a configuration example since this is common for wireless comms applications like srsRAN or OpenAirInterface. This will go online with the next release (>4.8.0.0) here: https://files.ettus.com/manual/page_general.html#general_tuning

@cfe-NI cfe-NI closed this as completed Feb 28, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants