# Amplifier

(Removed) Complex baseband model of amplifier with noise and nonlinearities

*Since R2020a*

**Amplifier has been removed. Use Memoryless
Nonlinearity instead. (since R2023a) For information on updating your code, see Version History.**

**Libraries:**

Communications Toolbox /
RF Impairments and Components

## Description

The Amplifier block generates a complex baseband model of an amplifier with thermal noise. This block provides four nonlinearity models and three options to specify noise representation.

## Examples

## Ports

### Input

**Port_1** — Input baseband signal

real scalar | real column | complex scalar | complex column

Input baseband signal, specified as a real scalar, real column, complex scalar, or complex column.

**Data Types: **`double`

| `single`

### Output

**Port_1** — Output baseband signal

real scalar | real column | complex scalar | complex column

Output baseband signal, specified as a real scalar, real column, complex scalar, or complex column. The output port mimics the properties of the input port. For example, if the input baseband signal is specified as a real scalar with a data type double, then the output baseband signal is also specified as a real signal with the data type double.

**Data Types: **`double`

| `single`

## Parameters

### Main Tab

**Model** — Amplifier nonlinearity model

`Cubic polynomial`

(default) | `AM/AM - AM/PM`

| `Modified Rapp`

| `Saleh`

Specify the amplifier nonlinearity model as one of the following:

`Cubic polynomial`

`AM/AM - AM/PM`

`Modified Rapp`

`Saleh`

For more information, see Nonlinearity Models in Idealized Amplifier Block (RF Blockset).

**Linear power gain (dB)** — Linear gain of amplifier

`0`

(default) | real scalar

Linear gain, specified as a scalar in dB.

**Type of Non-Linearity** — Third - order nonlinearity type

`IIP3`

(default) | `OIP3`

| `IP1dB`

| `OP1dB`

| `IPsat`

| `OPsat`

Third order nonlinearity type, specified as `IIP3`

,
`OIP3`

, `IP1dB`

, `OP1dB`

,
`IPsat`

, or `OPsat`

.

**IIP3 (dBm)** — Input third-order intercept point

`Inf`

(default) | real positive number

Input third-order intercept point, specified as a real positive number in dBm.

#### Dependencies

To enable this parameter, set **Model** to
`Cubic polynomial`

and **Type of
Non-Linearity** to `IIP3`

.

**OIP3 (dBm)** — Output third-order intercept point

`Inf`

(default) | real positive number

Output third-order intercept point, specified as a real positive number in dBm.

#### Dependencies

To enable this parameter, set **Model** to
`Cubic polynomial`

and **Type of
Non-Linearity** to `OIP3`

.

**IP1dB (dBm)** — Input 1 dB compression point

`Inf`

(default) | real positive number

Input 1 dB compression point, specified as a real positive number in dBm.

#### Dependencies

To enable this parameter, set **Model** to
`Cubic polynomial`

and **Type of
Non-Linearity** to `IP1dB`

.

**OP1dB (dBm)** — Output 1 dB compression point

`Inf`

(default) | real positive number

Output 1 dB compression point, specified as a real positive number in dBm.

#### Dependencies

To enable this parameter, set **Model** to
`Cubic polynomial`

and **Type of
Non-Linearity** to `OP1dB`

.

**IPsat (dBm)** — Input saturation point

`Inf`

(default) | real positive number

Input saturation point, specified as a real positive number in dBm.

#### Dependencies

To enable this parameter, set **Model** to
`Cubic polynomial`

and **Type of
Non-Linearity** to `IPsat`

.

**OPsat (dBm)** — Output saturation point

`Inf`

(default) | real positive number

Output saturation point, specified as a positive real number in dBm.

#### Dependencies

To enable this parameter, set **Model** to
`Cubic polynomial`

and **Type of
Non-Linearity** to `OPsat`

.

**Reference load (ohm)** — Reference load

`1`

(default) | positive scalar

Reference load value in ohms, specified as a positive scalar. This value is used to convert between the voltage levels and the signal and noise power levels.

**Tunable: **Yes

**Simulate using** — Specify type of simulation to run

`Code generation`

(default) | `Interpreted execution`

`Code generation`

– Simulate model using generated C code. The first time you run a simulation, Simulink^{®}generates C code for the block. The C code is reused for subsequent simulations, as long as the model does not change. This option requires additional startup time, but the speed of the subsequent simulations is faster than`Interpreted execution`

.`Interpreted execution`

– Simulate model using the MATLAB^{®}interpreter. This option shortens startup time speed, but the speed of the subsequent simulations is slower than`Code generation`

. In this mode, you can debug the source code of the block.

**Plot power characteristics** — Plot power characteristics

button (default)

This button plots the power characteristics based on the parameters specified on the
**Main** tab.

For more information, see Plot Power Characteristics (RF Blockset).

**Lookup table (Pin(dBm), Pout(dBm), deg)** — Lookup table

```
[ -25, 5, -1; -10, 20, -2; 0, 27, 5; 5, 28, 12
]
```

(default) | *M*-by-3 real matrix

Table lookup entries specified as a real *M*-by-3 matrix. This table
expresses the model output power dBm level in matrix column 2 and the model phase change in
degrees in matrix column 3 as related to the absolute value of the input signal power of
matrix column 1 for the AM/AM - AM/PM model. The column 1 input power must increase
monotonically.

#### Dependencies

To enable this parameter, set **Model** to
`AM/AM - AM/PM`

.

**Output saturation level (V)** — Output saturation level

`1`

(default) | real positive number

Voltage output saturation level, specified as a real positive number in dBm.

#### Dependencies

To enable this parameter, set **Model** to
`Modified Rapp`

.

**Magnitude smoothness factor** — Magnitude smoothness factor

`2`

(default) | real positive number

Magnitude smoothness factor for the `Modified Rapp`

amplifier
model AM/AM calculations, specified as a positive real number.

#### Dependencies

To enable this parameter, set **Model** to
`Modified Rapp`

.

**Phase gain (rad)** — Phase gain

`-0.45`

(default) | real scalar

Phase gain for the `Modified Rapp`

amplifier model AM/PM
calculations, specified as a real scalar in radians.

#### Dependencies

To enable this parameter, set **Model** to
`Modified Rapp`

.

**Phase saturation** — Phase saturation

`0.88`

(default) | real positive number

Phase saturation for the `Modified Rapp`

amplifier model AM/PM
calculations, specified as a positive real number.

#### Dependencies

To enable this parameter, set **Model** to
`Modified Rapp`

.

**Phase smoothness factor ** — Phase smoothness factor

`3.43`

(default) | real positive number

Phase smoothness factor for the `Modified Rapp`

amplifier model
AM/PM calculations, specified as a positive real number.

#### Dependencies

To enable this parameter, set **Model** to
`Modified Rapp`

.

**Input scaling (dB)** — Scaling factor for input signal level

`0`

(default) | nonnegative real number

Scaling factor for input signal level for the `Saleh`

amplifier
model, specified as a nonnegative real number in dB.

#### Dependencies

To enable this parameter, set **Model** to
`Saleh`

.

**AM / AM parameters [alpha beta] ** — `AM/AM`

conversion parameters

`[ 2.1587, 1.1517 ]`

(default) | two-element vector

AM/AM two-tuple conversion parameters for `Saleh`

amplifier
model, specified as a two-element vector of nonnegative real numbers.

#### Dependencies

To enable this parameter, set **Model** to
`Saleh`

.

**AM / PM parameters [alpha beta]** — `AM/PM`

conversion parameters

`[ 4.0033, 9.1040 ]`

(default) | two-element vector

`AM/PM`

two-tuple conversion parameters for
`Saleh`

amplifier model, specified as a two-element vector of
nonnegative real numbers.

#### Dependencies

To enable this parameter, set **Model** to
`Saleh`

.

**Output scaling (dB)** — Scaling factor for output signal level

`0`

(default) | nonnegative real number

Scaling factor for output signal level for `Saleh`

amplifier
model, specified as nonnegative real number in dB.

#### Dependencies

To enable this parameter, set **Model** to
`Saleh`

.

### Noise Tab

**Include Noise** — Add noise to system

`off`

(default) | `on`

Select this parameter to add system noise to the input signal. Once you select this
parameter, the parameters associated with the **Noise** tab are
displayed.

**Specify noise type** — Noise representation

`Noise temperature`

(default) | `Noise figure`

| `Noise factor`

Noise descriptive type, specified as `Noise temperature`

,
`Noise figure`

, or `Noise factor`

.

For more information, see Thermal Noise Simulations in Idealized Amplifier Block (RF Blockset).

#### Dependencies

To enable this parameter, select **Include
Noise**.

**Noise temperature (K)** — Noise temperature to model noises in amplifier

`290`

(default) | nonnegative real number

Noise temperature to model noise in the amplifier, specified as a nonnegative real number in degrees (K).

#### Dependencies

To enable this parameter, select **Include Noise** and
set **Specify noise type**
to `Noise temperature`

.

**Noise figure (dB)** — Noise figure to model noise in amplifier

`10 * log10( 2 )`

(default) | nonnegative real number

Noise figure to model noise in the amplifier, specified as a nonnegative real number in dB.

#### Dependencies

To enable this parameter, select **Include Noise** and
set **Specify noise type**
to `Noise figure`

.

**Noise factor** — Noise factor to model noise in amplifier

`2`

(default) | positive integer scalar greater than or equal to 1

Noise factor to model noise in the amplifier, specified as a positive integer scalar greater than or equal to 1.

#### Dependencies

To enable this parameter, select **Include Noise** and
set **Specify noise type**
to `Noise factor`

.

**Seed source** — Source of initial seed

`Auto`

(default) | `User specified`

Source of initial seed used to prepare the Gaussian random number noise generator, specified as one of the following:

`Auto`

- When**Seed source**is set to`Auto`

, seeds for each amplifier instance are generated using a random number generator. The reset method of the instance has no effect.`User specified`

- When**Seed source**is set to`User specified`

, the value provided in the**Seed**is used to initialize the random number generator and the reset method resets the random number generator using the**Seed**property value.

**Seed** — Seed for random number generator

`67987`

(default) | nonnegative integer

Seed for the random number generator, specified as a nonnegative integer less than
2^{32}. Use this value to initialize the random number
generator.

#### Dependencies

To enable this parameter, click **Include Noise**
check box and choose `User specified`

in the **Seed source**
parameter.

## References

[1] Razavi, Behzad. “Basic
Concepts “ in *RF Microelectronics*, 2nd edition, Prentice Hall,
2012.

[2] Rapp, C., “Effects of
HPA-Nonlinearity on a 4-DPSK/OFDM-Signal for a Digital Sound Broadcasting System.”
*Proceedings of the Second European Conference on Satellite
Communications*, Liege, Belgium, Oct. 22-24, 1991, pp. 179-184.

[3] Saleh, A.A.M.,
“Frequency-independent and frequency-dependent nonlinear models of TWT amplifiers.”
*IEEE Trans. Communications*, vol. COM-29, pp.1715-1720, November 1981.

[4] IEEE 802.11-09/0296r16. “TGad Evaluation Methodology.“ Institute of Electrical and Electronics Engineers.https://www.ieee.org/

[5] Kundert, Ken.“ Accurate and
Rapid Measurement of IP_{2} and IP_{3},“
*The Designer Guide Community*, May 22, 2002.

## Extended Capabilities

### C/C++ Code Generation

Generate C and C++ code using Simulink® Coder™.

## Version History

**Introduced in R2020a**

### R2024a: Removed

The Amplifier block has been removed. To compute model amplifier characteristics, use the Memoryless Nonlinearity block instead. If you want to include noise in your amplifier model also use the Receiver Thermal Noise block.

### R2023a: To be removed

The Amplifier block will be removed in a future release. To compute model amplifier characteristics, use the Memoryless Nonlinearity block instead.

For models that use Amplifier with

**Include Noise**not selected, the block is automatically replaced with the Memoryless Nonlinearity block.For models that use Amplifier with

**Include Noise**selected, run Upgrade Advisor (Simulink) and the block will be replaced by a Receiver Thermal Noise block plus a Memoryless Nonlinearity block.

### R2022b: Reference load parameter added to the block

You can now specify load resistance in ohms using the `Reference load`

parameter.

## See Also

### Blocks

### Topics

## MATLAB Command

You clicked a link that corresponds to this MATLAB command:

Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.

Select a Web Site

Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .

You can also select a web site from the following list:

## How to Get Best Site Performance

Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.

### Americas

- América Latina (Español)
- Canada (English)
- United States (English)

### Europe

- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)

- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)