RFNoC Keep One in N Block

From GNU Radio
Revision as of 17:54, 24 May 2025 by Duggabe (talk | contribs) (remove Stub Docs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search


The Keep one in N block Decimates a stream, keeping the first item out of every N items.

Parameters

(R): Run-time adjustable

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.
N
default: 1
Block size, in items/samples. Acts as decimation rate.
Mode
default: 'SAMPLE'
options: ['Drop Samples', 'Drop Packets']
In sample mode, the first sample is kept and then N-1 samples are dropped.
Packet mode is similar to sample mode, except the first packet of samples is kept and then N-1 packets are dropped.


Example Flowgraph

You can find this example at rfnoc_keep1.grc A simple flowgraph showing Keep 1 in N using a Saw Tooth Signal. Rfnoc keep1.png


Example Output

Source Files

C++ files
NA
Header files
NA
Public header files
NA
Block definition
uhd_rfnoc_keep_one_in_n.block.yml