# serdes.ChannelLoss

Create simple lossy transmission line model

## Description

The `serdes.ChannelLoss` System object™ constructs a lossy transmission line model for use in the SerDes Designer app and other exported Simulink® models in the SerDes Toolbox™. For more information, see Analog Channel Loss in SerDes System.

To construct the loss model from channel loss metric:

1. Create the `serdes.ChannelLoss` object and set its properties.

2. Call the object with arguments, as if it were a function.

## Creation

### Syntax

``ChannelLoss = serdes.ChannelLoss``
``ChannelLoss = serdes.ChannelLoss(Name,Value)``

### Description

````ChannelLoss = serdes.ChannelLoss` returns a `ChannelLoss` object that modifies an input waveform with a lossy printed circuit board transmission line model according to the method outlined in [1].```
````ChannelLoss = serdes.ChannelLoss(Name,Value)` sets properties using one or more name-value pairs. Enclose each property name in quotes. Unspecified properties have default values.Example: ```ChannelLoss = serdes.ChannelLoss('Loss',5,'TargetFrequency',14e9)``` returns a `ChannelLoss` object that has a channel loss of 5 dB at 14 GHz.```

## Properties

expand all

Unless otherwise indicated, properties are nontunable, 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.

Channel loss at the target frequency, specified as a real scalar in dB.

Data Types: `double`

Frequency for the desired channel loss, specified as a positive real scalar in Hz.

Data Types: `double`

Sample interval in s, specified as a positive real scalar.

Data Types: `double`

Differential characteristic impedance of the channel, specified as a positive real scalar in ohms.

Data Types: `double`

Single-ended impedance of the transmitter analog model, specified as a nonnegative real scalar in ohms.

Data Types: `double`

Single-ended capacitance of the transmitter analog model, specified as a nonnegative real scalar in farads.

Data Types: `double`

Single-ended impedance of the receiver analog model, specified as a nonnegative real scalar in ohms.

Data Types: `double`

Capacitance of the receiver analog model, specified as a nonnegative real scalar in farads.

Data Types: `double`

20%−80% rise time of the stimulus input to transmitter analog model, specified as a positive real scalar in seconds.

Data Types: `double`

Peak-to-peak voltage at the input of transmitter analog model, specified as a positive real scalar in volts.

Data Types: `double`

Set `EnableCrosstalk` to `true` to include crosstalk in the simulation. By default, `EnableCrosstalk` is set to `false`.

Specify the magnitude of the near and far end aggressors. You can choose to include maximum allowed crosstalk for specifications such as `100GBASE-CR4`, `CEI-25G-LR`, `CEI-28G-SR`, `CEI-28G-VSR`, or you can specify your own custom crosstalk integrated crosstalk noise (ICN) level.

Baud rate used for integrated crosstalk noise (ICN) calculation, specified as a positive real scalar in hertz. `fb` is the inverse of the symbol time.

#### Dependencies

This property is only available when `EnableCrosstalk` is set to `true`.

Data Types: `double`

Desired integrated crosstalk noise (ICN) level of the far end aggressor, specified as a nonnegative real scalar in volts. ICN specifies the strength of the crosstalk.

#### Dependencies

This property is only available when `EnableCrosstalk` is set to `true` and `CrosstalkSpecification` is set to `Custom`.

Data Types: `double`

Amplitude factor of the far end crosstalk aggressor, specified as a positive real scalar in volts.

#### Dependencies

This property is only available when `EnableCrosstalk` is set to `true` and `CrosstalkSpecification` is set to `Custom`.

Data Types: `double`

Rise time of the far end crosstalk aggressor, specified as a positive real scalar in seconds.

#### Dependencies

This property is only available when `EnableCrosstalk` is set to `true` and `CrosstalkSpecification` is set to `Custom`.

Data Types: `double`

Desired integrated crosstalk noise (ICN) level of the near end aggressor, specified as a nonnegative real scalar in volts. ICN specifies the strength of the crosstalk.

#### Dependencies

This property is only available when `EnableCrosstalk` is set to `true` and `CrosstalkSpecification` is set to `Custom`.

Data Types: `double`

Rise time of the near end crosstalk aggressor, specified as a positive real scalar in seconds.

#### Dependencies

This property is only available when `EnableCrosstalk` is set to `true` and `CrosstalkSpecification` is set to `Custom`.

Data Types: `double`

Rise time of the near end crosstalk aggressor, specified as a positive real scalar in seconds.

#### Dependencies

This property is only available when `EnableCrosstalk` is set to `true` and `CrosstalkSpecification` is set to `Custom`.

Data Types: `double`

## Usage

### Syntax

``y = ChannelLoss(x)``

### Description

``y = ChannelLoss(x)``

### Input Arguments

expand all

Input baseband signal.

### Output Arguments

expand all

Estimated channel output that includes the effect of a lossy printed circuit board transmission line model according to the method outlined in Analog Channel Loss in SerDes System.

## Object Functions

To use an object function, specify the System object as the first input argument. For example, to release system resources of a System object named `obj`, use this syntax:

`release(obj)`

expand all

 `step` Run System object algorithm `release` Release resources and allow changes to System object property values and input characteristics `reset` Reset internal states of System object

## Examples

collapse all

This example shows how to process an ideal sinusoidal input waveform with the ChannelLoss model and check that it modifies the amplitude of the waveform in a reasonable way.

Define the system parameters. Use a symbol time of 100 ps with 8 samples per symbol. The amplitude of the input signal is 1 V. The channel loss is 3 dB.

```SymbolTime = 100e-12; SamplesPerSymbol = 8; a0 = 1; Loss = 3;```

Calculate the sample interval. Define a time vector that is 30 symbols long.

```dt = SymbolTime/SamplesPerSymbol; t = (0:SamplesPerSymbol*30)*dt;```

Create the sinusoidal input waveform.

```F = 1/SymbolTime/2; %Fundamental frequency inputWave = a0*sin(2*pi*F*t);```

Create the `channelModel` object at the specified loss for near ideal transmitter and receiver termination.

```channelModel = serdes.ChannelLoss('Loss',Loss,'dt',dt,... 'TargetFrequency',F,'TxR',50,'TxC',1e-14,... 'RxR',50,'RxC',1e-14);```

Process the input waveform using the `channelModel` object.

` outputWave = channelModel(inputWave);`

Calculate the output amplitudes.

```a1 = max(outputWave); %Output amplitude aideal = a0*10^(-abs(channelModel.Loss)/20); %Theoretical output amplitude```

Generate the frequency response.

```s21 = channelModel.s21; f = (0:length(s21)-1)*channelModel.dF;```

Determine the loss at the target frequency of the frequency response.

```f1 = find(f>channelModel.TargetFrequency,1,'first'); LossAtTarget = interp1(f(f1-1:f1),db(s21(f1-1:f1)),channelModel.TargetFrequency);```

Plot the time and frequency response of the channel model.

```tns = t*1e9; thline = [tns(1),tns(end)]; fghz = f*1e-9; figure subplot(211) plot(tns,outputWave,thline,aideal*[1 1],thline,a1*[1 1],'b--'), grid on xlabel('ns'),ylabel('Voltage') title('Time Response of Channel Model') legend('Output waveform',... sprintf('Ideal amplitude: %g mV',round(aideal*1e3)),... sprintf('Actual amplitude: %g mV',round(a1*1e3)),'Location','southwest') subplot(212) plot(fghz,db(s21),... channelModel.TargetFrequency*1e-9,LossAtTarget,'o') title('Frequency Response of Channel Model') legend('S_{21}(f)',sprintf('%g dB @ %g GHz',LossAtTarget,channelModel.TargetFrequency*1e-9)) grid on xlabel('GHz') ylabel('dB')```

expand all

expand all

## References

[1] IEEE 802.3bj-2014. "IEEE Standard for Ethernet Amendment 2: Physical Layer Specifications and Management Parameters for 100 Gb/s Operation Over Backplanes and Copper Cables." https://standards.ieee.org/standard/802_3bj-2014.html.

[2] Stephen Hall and Howard Heck. Advanced Signal Integrity for High-Speed Digital Designs. Hoboken, NJ: Wiley Press, 2009.