adi.ADRV9009.Tx

The adi.ADRV9009.Tx System object is a signal sink that can transmit
complex data from the ADRV9009.

tx = adi.ADRV9009.Tx;
tx = adi.ADRV9009.Tx('uri','ip:192.168.2.1');

ADRV9009 Datasheet
Creation

The class can be instantiated in the following way with and without property name value pairs.

dev = adi.ADRV9009.Tx
dev = adi.ADRV9009.Tx(Name, Value)
Properties
Unless otherwise indicated, properties are non-tunable, which means you cannot change their values after calling the object. Objects lock when you call them, and the release function unlocks them.

If a property is tunable, you can change its value at any time.

For more information on changing property values, see System Design in MATLAB Using System Objects.

Attenuation specified as a scalar from -41.95 to 0 dB with a resolution of 0.05 dB.

Attenuation specified as a scalar from -41.95 to 0 dB with a resolution of 0.05 dB.

Option to enable quadrature tracking, specified as true or false. When this property is true, IQ imbalance compensation is applied to the transmitted signal.

Option to enable quadrature tracking, specified as true or false. When this property is true, IQ imbalance compensation is applied to the transmitted signal.

Option to enable quadrature tracking, specified as true or false. When this property is true, LO leakage compensation is applied to the transmitted signal.

Option to enable quadrature tracking, specified as true or false. When this property is true, LO leakage compensation is applied to the transmitted signal.

Option to enable quadrature calibration on initialization, specified as true or false. When this property is true, IQ imbalance compensation is applied to the input signal.

Option to enable phase tracking, specified as true or false. When this property is true, at initialization LO leakage correction will be applied

Option to enable phase tracking, specified as true or false. When this property is true, at initialization LO leakage correction will be applied within an external loopback path. Note this requires external cabling.

Logical which will power down TX channel 0 when set

Logical which will power down TX channel 1 when set

Number of samples per frame, specified as an even positive integer from 2 to 16,777,216. Using values less than 3660 can yield poor performance.

Enable use of custom Profile file to set SamplingRate, RFBandwidth, and FIR in datapaths

Option to enable frequency hopping mode VCO calibration, specified as true or false. When this property is true, at initialization VCO calibration lookup table is populated

Path to custom Profile file created from profile wizard

RF center frequency, specified in Hz as a scalar. The default is 2.4e9. This property is tunable.

Indexs of channels to be enabled. Input should be a [1xN] vector with the indexes of channels to be enabled. Order is irrelevant

Hostname or IP address of remote libIIO device

If true, connects to libIIO device during simulation

Data source, specified as one of the following: ‘DMA’ — Specify the host as the source of the data. ‘DDS’ — Specify the DDS on the radio hardware as the source of the data. In this case, each channel has two additive tones.

Frequencies values in Hz of the DDS tone generators. For complex data devices the input is a [2xN] matrix where N is the available channels on the board. For complex data devices this is at most max(EnabledChannels)*2. For non-complex data devices this is at most max(EnabledChannels). If N < this upper limit, other DDSs are not set.

Scale of DDS tones in range [0,1]. For complex data devices the input is a [2xN] matrix where N is the available channels on the board. For complex data devices this is at most max(EnabledChannels)*2. For non-complex data devices this is at most max(EnabledChannels). If N < this upper limit, other DDSs are not set.

Phases of DDS tones in range [0,360000]. For complex data devices the input is a [2xN] matrix where N is the available channels on the board. For complex data devices this is at most max(EnabledChannels)*2. For non-complex data devices this is at most max(EnabledChannels). If N < this upper limit, other DDSs are not set.

Enable Cyclic Buffers, configures transmit buffers to be cyclic, which makes them continuously repeat


Example Usage
%% Configure device
tx = adi.ADRV9009.Tx;
tx.uri = 'ip:analog.local';

tx.CenterFrequency = 1e9;

tx.DataSource = 'DMA';
tx.EnableCyclicBuffers = true;
tx.EnabledChannels = 1;
%% Generate tone
amplitude = 2^15; frequency = 0.12e6;
swv1 = dsp.SineWave(amplitude, frequency);
swv1.ComplexOutput = true;
swv1.SamplesPerFrame = 2^14;
swv1.SampleRate = tx.SamplingRate;
y = swv1();
% Send
tx(y);