# adi.AD9371.Tx
The adi.AD9371.Tx System object is a signal sink that can tranmsit
complex data from the AD9371.
tx = adi.AD9371.Tx;
tx = adi.AD9371.Tx('uri','ip:192.168.2.1');
AD9371 Datasheet
Creation
The class can be instantiated in the following way with and without property name value pairs.
```matlab
dev = adi.AD9371.Tx
dev = adi.AD9371.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.
:::{dropdown} AttenuationChannel0
Attentuation specified as a scalar from -89.75 to 0 dB with a resolution of 0.25 dB.
:::
:::{dropdown} AttenuationChannel1
Attentuation specified as a scalar from -89.75 to 0 dB with a resolution of 0.25 dB.
:::
:::{dropdown} 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.
:::
:::{dropdown} EnableCustomProfile
Enable use of custom Profile file to set SamplingRate, RFBandwidth, and FIR in datapaths
:::
:::{dropdown} CustomProfileFileName
Path to custom Profile file created from profile wizard
:::
:::{dropdown} CenterFrequency
RF center frequency, specified in Hz as a scalar. The default is 2.4e9. This property is tunable.
:::
:::{dropdown} EnabledChannels
Indexs of channels to be enabled. Input should be a [1xN] vector with the indexes of channels to be enabled. Order is irrelevant
:::
:::{dropdown} uri
Hostname or IP address of remote libIIO device
:::
:::{dropdown} enIO
If true, connects to libIIO device during simulation
:::
:::{dropdown} 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.
:::
:::{dropdown} 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.
:::
:::{dropdown} 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.
:::
:::{dropdown} 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.
:::
:::{dropdown} EnableCyclicBuffers
Enable Cyclic Buffers, configures transmit buffers to be cyclic, which makes them continuously repeat
:::
Example Usage
```matlab
%% Configure device
tx = adi.AD9371.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);
```