RFNoC RX Radio: Difference between revisions

From GNU Radio
Jump to navigation Jump to search
(Updated/Completed description for the RX Radio block)
 
Line 166: Line 166:
== Example Flowgraph ==
== Example Flowgraph ==
You can find this example at [https://github.com/gnuradio/gnuradio/blob/main/gr-uhd/examples/grc/rfnoc_radio_loopback.grc rfnoc_radio_loopback.grc] <br>
You can find this example at [https://github.com/gnuradio/gnuradio/blob/main/gr-uhd/examples/grc/rfnoc_radio_loopback.grc rfnoc_radio_loopback.grc] <br>
[[File:Rfnoc radio loopback.png]]
[[File:Rfnoc radio loopback.png|800px]]
 
== Example Output ==


== Source Files ==
== Source Files ==
Line 184: Line 182:
: [https://github.com/gnuradio/gnuradio/blob/main/gr-uhd/grc/gen_rfnoc_rx_radio_block_yml.py uhd_rfnoc_rx_radio.block.yml]
: [https://github.com/gnuradio/gnuradio/blob/main/gr-uhd/grc/gen_rfnoc_rx_radio_block_yml.py uhd_rfnoc_rx_radio.block.yml]


[[Category:Stub Docs]]
[[Category:Block Docs]]
[[Category:Block Docs]]

Latest revision as of 14:27, 25 May 2025

The RFNoC RX Radio block is used to stream samples from the USRP receiver into the RFNoC module. Its functionality is very similar to the USRP Source Block, with the distinction that the output can be instantly processed in the FPGA part of the USRP. Therefore, this block allows for lower latency and real-time processing, which is beneficial in applications requiring tight integration between the RF front-end and the digital signal processing chain. This enables more efficient handling of high data rates and computationally intensive tasks directly within the FPGA.

Parameters

(R): Run-time adjustable

Channel count
default: 1
This specifies the number of channels / streams to be used with the block.
Block Args
default: ""
Viable properties can be found at RFNoC Radio control.
Device Select / Instance Select
Default: -1 / Default: -1
These properties specify the device and instance to be used. It is best practice to always explicitly specify both. This is crucial because many USRP setups involve multiple instances of different blocks, and GNU Radio tends to select the first device or instance it finds, which may not be the most suitable choice. Explicit specification helps to prevent errors and ensures the correct setup is used.
- Use uhd_usrp_probe to determine the correct device and instance numbers.
- Always specify the device and instance explicitly to avoid automatic mismatches by GNU Radio.
Even with a single device with multiple instances:
- 0/Radio#0 → Device 0, Instance 0
- 0/Radio#1 → Device 0, Instance 1
Specification with multiple devices:
- 0/Radio#1 → Device 0, Instance 1
- 1/Radio#1 → Device 1, Instance 1
By consistently specifying the device and instance, you ensure that the most appropriate settings are applied and avoid potential issues caused by automatic selection.
Sample Rate (Hz)
dtype: real
The number of samples per second, which is equal to the bandwidth in Hz we wish to observe. The UHD device driver will try its best to match the requested sample rate. If the requested rate is not possible, the UHD block will print an error at runtime.
Ch0 Antenna Select
options: [TX/RX, RX2, RX1]
default: RX2
For subdevices with only one antenna, this may be left on default. Otherwise, the user should specify one of the possible antenna choices. See the daughter-board application notes for the possible antenna choices.
Ch0 Center Frequency (Hz)
default: 1e9
Specifies the center frequency used for downconversion. This frequency is the focal point around which the incoming signal is shifted to a lower frequency for further processing, ensuring accurate capture of the target frequency band.
Ch0 Gain
default: 0
Value used for gain, which is either between 0 and the max gain for the USRP (usually around 70 to 90), when using the default "Absolute" Gain Type.
Ch0 Bandwidth (Hz)
default: 0
The bandwidth used by the USRP's anti-aliasing filter. To use the default bandwidth filter setting, this should be zero. Only certain subdevices have configurable bandwidth filters. See the daughterboard application notes for possible configurations.
Ch0 DC Offset Correction
options: ['True', 'False']
default: 'False'
Attempts to remove the DC offset, i.e. the average value of a signal, which is something that will be very visible in the Frequency domain.
Ch0 IQ Balance
options: ['True', 'False']
default: 'False'
Attempts to correct any IQ imbalance, which is when there is a mismatch between the I and Q signal paths, typically causing a stretching effect to a constellation.
Ch0 Enable Timestamps
options: ['True', 'False']
default: 'True'
Controls whether or not a channel has timestamps
Ch1 Antenna Select
options: [TX/RX, RX2, RX1]
default: RX2
For subdevices with only one antenna, this may be left on default. Otherwise, the user should specify one of the possible antenna choices. See the daughter-board application notes for the possible antenna choices.
Ch1 Center Frequency (Hz)
default: 1e9
Specifies the center frequency used for downconversion. This frequency is the focal point around which the incoming signal is shifted to a lower frequency for further processing, ensuring accurate capture of the target frequency band.
Ch1 Gain
default: 0
Value used for gain, which is either between 0 and the max gain for the USRP (usually around 70 to 90), when using the default "Absolute" Gain Type.
Ch1 Bandwidth (Hz)
default: 0
The bandwidth used by the USRP's anti-aliasing filter. To use the default bandwidth filter setting, this should be zero. Only certain subdevices have configurable bandwidth filters. See the daughterboard application notes for possible configurations.
Ch1 DC Offset Correction
options: ['True', 'False']
default: 'False'
Attempts to remove the DC offset, i.e. the average value of a signal, which is something that will be very visible in the Frequency domain.
Ch1 IQ Balance
options: ['True', 'False']
default: 'False'
Attempts to correct any IQ imbalance, which is when there is a mismatch between the I and Q signal paths, typically causing a stretching effect to a constellation.
Ch1 Enable Timestamps
options: ['True', 'False']
default: 'True'
Controls whether or not a channel has timestamps
Ch2 ;Ch0 Antenna Select
options: [TX/RX, RX2, RX1]
default: RX2
For subdevices with only one antenna, this may be left on default. Otherwise, the user should specify one of the possible antenna choices. See the daughter-board application notes for the possible antenna choices.
Ch2 Center Frequency (Hz)
default: 1e9
Specifies the center frequency used for downconversion. This frequency is the focal point around which the incoming signal is shifted to a lower frequency for further processing, ensuring accurate capture of the target frequency band.
Ch2 Gain
default: 0
Value used for gain, which is either between 0 and the max gain for the USRP (usually around 70 to 90), when using the default "Absolute" Gain Type.
Ch2 Bandwidth (Hz)
default: 0
The bandwidth used by the USRP's anti-aliasing filter. To use the default bandwidth filter setting, this should be zero. Only certain subdevices have configurable bandwidth filters. See the daughterboard application notes for possible configurations.
Ch2 DC Offset Correction
options: ['True', 'False']
default: 'False'
Attempts to remove the DC offset, i.e. the average value of a signal, which is something that will be very visible in the Frequency domain.
Ch2 IQ Balance
options: ['True', 'False']
default: 'False'
Attempts to correct any IQ imbalance, which is when there is a mismatch between the I and Q signal paths, typically causing a stretching effect to a constellation.
Ch2 Enable Timestamps
options: ['True', 'False']
default: 'True'
Controls whether or not a channel has timestamps
Ch3 ;Ch0 Antenna Select
options: [TX/RX, RX2, RX1]
default: RX2
For subdevices with only one antenna, this may be left on default. Otherwise, the user should specify one of the possible antenna choices. See the daughter-board application notes for the possible antenna choices.
Ch3 Center Frequency (Hz)
default: 1e9
Specifies the center frequency used for downconversion. This frequency is the focal point around which the incoming signal is shifted to a lower frequency for further processing, ensuring accurate capture of the target frequency band.
Ch3 Gain
default: 0
Value used for gain, which is either between 0 and the max gain for the USRP (usually around 70 to 90), when using the default "Absolute" Gain Type.
Ch3 Bandwidth (Hz)
default: 0
The bandwidth used by the USRP's anti-aliasing filter. To use the default bandwidth filter setting, this should be zero. Only certain subdevices have configurable bandwidth filters. See the daughterboard application notes for possible configurations.
Ch3 DC Offset Correction
options: ['True', 'False']
default: 'False'
Attempts to remove the DC offset, i.e. the average value of a signal, which is something that will be very visible in the Frequency domain.
Ch3 IQ Balance
options: ['True', 'False']
default: 'False'
Attempts to correct any IQ imbalance, which is when there is a mismatch between the I and Q signal paths, typically causing a stretching effect to a constellation.
Ch3 Enable Timestamps
options: ['True', 'False']
default: 'True'
Controls whether or not a channel has timestamps

Example Flowgraph

You can find this example at rfnoc_radio_loopback.grc
Rfnoc radio loopback.png

Source Files

C++ files
rfnoc_rx_radio_impl.cc
Header files
rfnoc_rx_radio_impl.h
Public header files
rfnoc_rx_radio.h
Block definition
uhd_rfnoc_rx_radio.block.yml