On 11/15/2019 05:02 AM, Julian Ilinca via USRP-users wrote:
Hello all,
I have two questions concerning the RX channel configuration on an
TVRX2 daughter-board. I cannot seem to find any relevant information
in the example files or on the Internet. But first things first, the
TVRX2 is connected to a N210 motherboard and I am using the UHD C++
API for configuring the device. Furthermore, I am trying to measure
the real (I) component of a VHF signal on both of the channels (RX1
and RX2) simultaneously.
1. The first question is related to IQ sampling:
The daughter-board is set so that one channel retrieves the I
component and the other channel the Q. I retrieved this information
with the uhd_usrp_probe command. In the output under RX0 its says
connection type = Q and on RX1 connection type = I. What command do I
have to use to change connection type of RX0 from Q to I, so that I
could have two channels measuring the real component.
That isn't possible. Signals are presented to the host as complex
samples. The TVRX2 *analog hardware* uses a so-called "low-IF"
architecture,
and the N210 has a single 2-channel complex ADC. Each of those two
channels is *hard wired* to go to one of the ADC channels, and the
DDC algorithms in the FPGA convert that to a complex base-band signal
that is then filtered, downsampled, and sent to the host computer.
2. I'm a confused about the channel mapping convention used when using
the TVRX2. In order torecord from two channels I have set the
subdev_spec to "A:RX1 A:RX2", and it works fine. However, when I use
the "get_rx_num_channels()" function its return value is 1 instead of 2.
In the manual entry for the function it says:
"This is the number of USRPs times the number of RX channels per
board, where the number of RX channels per board is homogeneous among
all USRPs."
To get streaming arguments correctly I have to use a vector where I
map the channel number s1 and 2 manually:
>>std::vector<size_t> channel_nums;
>>...
>> channel_nums.push_back(0);
>> channel_nums.push_back(1);
>>...
>>stream_args.channels = channel_nums;
>>uhd::rx_streamer::sptr rx_stream = usrp->get_rx_stream(stream_args);
Now, how does the device recognize 2 channels after the
get_rx_stream() function has been called, as it earlier on told me
there is only one channel, and how can I specifically configure the
properties of channel 1?
Well, you just created two channels within the stream. So, I'm guess
that's where the number comes from, but I'll agree it's confusing if
you're expecting it to be the actual hardware channels.
Thanks already in advance for your support!
Br. Julian
_______________________________________________
USRP-users mailing list
[email protected]
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
_______________________________________________
USRP-users mailing list
[email protected]
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com