Main Content


Amplify and transmit a signal


Transmitters and Receivers


  • Transmitter block


The Transmitter block amplifies and transmits waveform pulses. The transmitter can either maintain coherence between pulses or insert phase noise.


Peak power (W)

Specify the transmit peak power in watts as a positive scalar.

Gain (dB)

Specify the transmit gain in dB as a real scalar.

Loss factor (dB)

Specify the transmit loss factor in dB as a nonnegative scalar.

Enable transmitter status output

Select this check box to send the transmitter-in-use status for each output sample from the output port TR. From the output port, a 1 indicates that the transmitter is on, and a 0 indicates that the transmitter is off.

Preserve coherence among pulses

Select this check box to preserve coherence among transmitted pulses. When you select this box, the transmitter does not introduce any random phases to the output pulses. When you clear this box, the transmitter adds a random phase noise to each transmitted pulse. The random phase noise is introduced by multiplying the pulse value by e where ϕ is a uniform random variable on the interval [0,2π].

Enable pulse phase noise output

This check box appears only when Preserve coherence among pulses is cleared.

Select this check box to create an output port, Ph, with the output sample’s random phase noise introduced if Preserve coherence among pulses is cleared. The output port can be directed to a receiver to simulate coherent-on-receive systems.

Simulate using

Block simulation method, specified as Interpreted Execution or Code Generation. If you want your block to use the MATLAB® interpreter, choose Interpreted Execution. If you want your block to run as compiled code, choose Code Generation. Compiled code requires time to compile but usually runs faster.

Interpreted execution is useful when you are developing and tuning a model. The block runs the underlying System object™ in MATLAB. You can change and execute your model quickly. When you are satisfied with your results, you can then run the block using Code Generation. Long simulations run faster than they would in interpreted execution. You can run repeated executions without recompiling. However, if you change any block parameters, then the block automatically recompiles before execution.

When setting this parameter, you must take into account the overall model simulation mode. The table shows how the Simulate using parameter interacts with the overall simulation mode.

When the Simulink® model is in Accelerator mode, the block mode specified using Simulate using overrides the simulation mode.

Acceleration Modes

Block SimulationSimulation Behavior
NormalAcceleratorRapid Accelerator
Interpreted ExecutionThe block executes using the MATLAB interpreter.The block executes using the MATLAB interpreter.Creates a standalone executable from the model.
Code GenerationThe block is compiled.All blocks in the model are compiled.

For more information, see Choosing a Simulation Mode (Simulink).



The block input and output ports correspond to the input and output parameters described in the step method of the underlying System object. See link at the bottom of this page.

PortDescriptionSupported Data Types

Input signal.

The size of the first dimension of the input matrix can vary to simulate a changing signal length. A size change can occur, for example, in the case of a pulse waveform with variable pulse repetition frequency.

Double-precision floating point

Added phase noise.

Double-precision floating point
TRTransmitter status.Double-precision floating point
YTransmitted signal.Double-precision floating point

Version History

Introduced in R2014b