# adi.FMComms8.Tx <!-- <div class="sysobj_h1">adi.FMComms8.Tx</div> --> <!-- <div class="sysobj_top_desc"> Receive data from Analog Devices AD9361 transceiver </div> --> <!-- <div class="sysobj_desc_title">Description</div> --> <div class="sysobj_desc_txt"> <span> The adi.FMComms8.Tx System object is a signal sink that can<br> transmit complex data from the FMComms8.<br> <br> tx = adi.FMComms8.Tx;<br> tx = adi.FMComms8.Tx('uri','ip:192.168.2.1');<br> <br> <a href="https://www.analog.com/en/design-center/evaluation-hardware-and-software/evaluation-boards-kits/EVAL-AD-FMCOMMS8.html">Product Page</a><br> <br> </span> </div> <div class="sysobj_desc_title">Creation</div> The class can be instantiated in the following way with and without property name value pairs. ```matlab dev = adi.FMComms8.Tx dev = adi.FMComms8.Tx(Name, Value) ``` <div class="sysobj_desc_title">Properties</div> <div class="sysobj_desc_txt"> <span> 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. <br><br> If a property is tunable, you can change its value at any time. <br><br> For more information on changing property values, see <a href="https://www.mathworks.com/help/matlab/matlab_prog/system-design-in-matlab-using-system-objects.html">System Design in MATLAB Using System Objects.</a> </span> </div> <br> :::{dropdown} AttenuationChannel0ChipB Attentuation specified as a scalar from -41.95 to 0 dB with a resolution of 0.05 dB. ::: :::{dropdown} AttenuationChannel1ChipB Attentuation specified as a scalar from -41.95 to 0 dB with a resolution of 0.05 dB. ::: :::{dropdown} EnableQuadratureTrackingChannel0ChipB Option to enable quadrature tracking, specified as true or false. When this property is true, IQ imbalance compensation is applied to the transmitted signal. ::: :::{dropdown} EnableQuadratureTrackingChannel1ChipB Option to enable quadrature tracking, specified as true or false. When this property is true, IQ imbalance compensation is applied to the transmitted signal. ::: :::{dropdown} EnableLOLeakageTrackingChannel0ChipB Option to enable quadrature tracking, specified as true or false. When this property is true, LO leakage compensation is applied to the transmitted signal. ::: :::{dropdown} EnableLOLeakageTrackingChannel1ChipB Option to enable quadrature tracking, specified as true or false. When this property is true, LO leakage compensation is applied to the transmitted signal. ::: :::{dropdown} EnableQuadratureCalibrationChipB 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. ::: :::{dropdown} EnableLOLeakageCorrectionChipB Option to enable phase tracking, specified as true or false. When this property is true, at initialization LO leakage correction will be applied ::: :::{dropdown} EnableLOLeakageCorrectionExternalChipB 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. ::: :::{dropdown} PowerdownChannel0ChipB Logical which will power down TX channel 0 when set ::: :::{dropdown} PowerdownChannel1ChipB Logical which will power down TX channel 1 when set ::: :::{dropdown} CenterFrequencyChipB RF center frequency, specified in Hz as a scalar. The default is 2.4e9. This property is tunable. ::: :::{dropdown} EnableFrequencyHoppingModeCalibrationChipB 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 ::: :::{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} EnableFrequencyHoppingModeCalibration 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 ::: :::{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} devName Name of the libIIO device ::: :::{dropdown} AttenuationChannel0 Attentuation specified as a scalar from -41.95 to 0 dB with a resolution of 0.05 dB. ::: :::{dropdown} AttenuationChannel1 Attentuation specified as a scalar from -41.95 to 0 dB with a resolution of 0.05 dB. ::: :::{dropdown} EnableQuadratureTrackingChannel0 Option to enable quadrature tracking, specified as true or false. When this property is true, IQ imbalance compensation is applied to the transmitted signal. ::: :::{dropdown} EnableQuadratureTrackingChannel1 Option to enable quadrature tracking, specified as true or false. When this property is true, IQ imbalance compensation is applied to the transmitted signal. ::: :::{dropdown} EnableLOLeakageTrackingChannel0 Option to enable quadrature tracking, specified as true or false. When this property is true, LO leakage compensation is applied to the transmitted signal. ::: :::{dropdown} EnableLOLeakageTrackingChannel1 Option to enable quadrature tracking, specified as true or false. When this property is true, LO leakage compensation is applied to the transmitted signal. ::: :::{dropdown} EnableQuadratureCalibration 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. ::: :::{dropdown} EnableLOLeakageCorrection Option to enable phase tracking, specified as true or false. When this property is true, at initialization LO leakage correction will be applied ::: :::{dropdown} EnableLOLeakageCorrectionExternal 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. ::: :::{dropdown} PowerdownChannel0 Logical which will power down TX channel 0 when set ::: :::{dropdown} PowerdownChannel1 Logical which will power down TX channel 1 when set ::: :::{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 ::: <br> <div class="sysobj_desc_title">Example Usage</div> ```matlab %% Configure device tx = adi.FMComms8.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); ```