Ettus X410¶
Note
These presets are currently under active development and may still contain inaccuracies.

Implementation of a block-based radio-frequency front-end model following the datasheet of Ettus’ USRP X410 software-defined radio. It can be used within a simulation-context by assigning it as a simulated device’s rf chain model:
1scenario = SimulationScenario(seed=42)
2for _ in range(2):
3
4 # Add a new device
5 device = scenario.new_device(
6 carrier_frequency=cf,
7 bandwidth=nr_bandwidth(numerology=0),
8 oversampling_factor=3,
9 rf=X410(
10 carrier_frequency=cf,
11 tx_gain=dB(35),
12 rx_gain=dB(10),
13 ),
14 antennas=SimulatedUniformArray(
15 SimulatedIdealAntenna(AntennaMode.DUPLEX),
16 .1,
17 [1, 1, 1],
18 ),
19 )
20
21# 3GPP Urban Macrocell channel model
22channel = UrbanMacrocells(expected_state=O2IState.LOS)
23scenario.set_channel(scenario.devices[0], scenario.devices[1], channel)
24scenario.devices[0].trajectory = StaticTrajectory(Transformation.From_Translation([0, 0, 6]))
25scenario.devices[1].trajectory = StaticTrajectory(Transformation.From_Translation([50, 50, 1.5]))
26
27# Downlink with a single NR slot
28slot = NRSlot()
29slot.channel_estimation = OrthogonalLeastSquaresChannelEstimation()
30slot.channel_equalization = OrthogonalZeroForcingChannelEqualization()
31
32link = SimplexLink(
33 selected_transmit_ports=[0],
34 selected_receive_ports=[0],
35 waveform=slot,
36)
37link.connect(scenario.devices[0], scenario.devices[1])
- class X410(carrier_frequency, num_tx_channels=1, num_rx_channels=1, tx_gain=1000.0, rx_gain=1000.0, phase_noise=True, seed=None)[source]¶
Bases:
RFChainModel of an Ettus X410 USRP Software Defined Radio.
- Parameters:
carrier_frequency (
float) – Center frequency of the generated signal in Hz.sampling_rate – Sampling rate of the generated signal in Hz.
num_tx_channels (
int) – Number of transmit channels to be created. The actual hardware has four by default.num_rx_channels (
int) – Number of receive channels to be created. The actual hardware has four by default.phase_noise (
bool) – Whether to model the phase noise of the oscillators. Enabled by default.seed (
int|None) – Seed with which to initialize the block’s random state.
- classmethod Deserialize(process)[source]¶
Deserialize an object’s state.
Objects cannot be deserialized directly, instead a
Factorymust be instructed to carry out the deserialization process.- Parameters:
process (
DeserializationProcess) – The current stage of the deserialization process. This object is generated by theFactoryand provides an interface to deserialization methods supporting multiple backends.- Return type:
- Returns:
The deserialized object.
- serialize(process)[source]¶
Serialize this object’s state.
Objects cannot be serialized directly, instead a
Factorymust be instructed to carry out the serialization process.- Parameters:
process (
SerializationProcess) – The current stage of the serialization process. This object is generated by theFactoryand provides an interface to serialization methods supporting multiple backends.- Return type: