adi.AD9364.Tx#

The adi.AD9361.Rx System object is a signal sink that can
transmit complex data from the AD9364.

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

AD9364 Datasheet

Creation

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

dev = adi.AD9364.Tx
dev = adi.AD9364.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.

CenterFrequency

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

SamplingRate

Baseband sampling rate in Hz, specified as a scalar from 65105 to 61.44e6 samples per second.

RFBandwidth

RF Bandwidth of front-end analog filter in Hz, specified as a scalar from 200 kHz to 56 MHz.

AttenuationChannel0

Attentuation specified as a scalar from -89.75 to 0 dB with a resolution of 0.25 dB.

AttenuationChannel1

Attentuation specified as a scalar from -89.75 to 0 dB with a resolution of 0.25 dB.

RFPortSelect

‘A’ ‘B’

SamplesPerFrame

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.

EnableCustomFilter

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

CustomFilterFileName

Path to custom filter file created from filter wizard

EnabledChannels

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

uri

Hostname or IP address of remote libIIO device

enIO

If true, connects to libIIO device during simulation

DataSource

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.

DDSFrequencies

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.

DDSScales

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.

DDSPhases

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.

EnableCyclicBuffers

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


Example Usage
%% Configure device
tx = adi.AD9364.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);