RFNoC DUC

From GNU Radio
Revision as of 11:38, 22 May 2025 by Johannes (talk | contribs) (Updated/Completed description for the duc block)
Jump to navigation Jump to search

The RFNoC Digital Upconverter (DUC) block is utilized to transform a signal from a lower sample rate to a higher one, while also providing the functionality to shift the signal's frequency. The DUC block supports integer sample rate conversion factors, offering versatility in signal processing. For achieving the best performance, particularly with minimal filter roll-off and maximum aliasing suppression, it is advisable to use conversion factors of {2, 4, 8}.

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 duc 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.
Ch0
Frequency Shift (Hz)
default: 0
Positive or negative Frequency offset relative to the original frequency
Ch0
Input Rate (Hz)
default: 0
Output sample rate in Hz
Ch1
Frequency Shift (Hz)
default: 0
Positive or negative Frequency offset relative to the original frequency
Ch1
Input Rate (Hz)
default: 0
Output sample rate in Hz
Ch2
Frequency Shift (Hz)
default: 0
Positive or negative Frequency offset relative to the original frequency
Ch2
Input Rate (Hz)
default: 0
Output sample rate in Hz
Ch3
Frequency Shift (Hz)
default: 0
Positive or negative Frequency offset relative to the original frequency
Ch3
Input Rate (Hz)
default: 0
Output sample rate in Hz

Example Flowgraph

You can find this example at rfnoc_duc_radio.grc.
Rfnoc radio ddc.png

Example Output

Source Files

C++ files
rfnoc_duc_impl.cc
Header files
rfnoc_duc_impl.h
Public header files
rfnoc_duc.h
Block definition
uhd_rfnoc_duc.block.yml