Main Content

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.

To learn more about how System objects work, see What Are System Objects?

Creation

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.

For more information on changing property values, see System Design in MATLAB Using System Objects.

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

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

stepRun System object algorithm
releaseRelease resources and allow changes to System object property values and input characteristics
resetReset 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')

Figure contains 2 axes objects. Axes object 1 with title Time Response of Channel Model, xlabel ns, ylabel Voltage contains 3 objects of type line. These objects represent Output waveform, Ideal amplitude: 708 mV, Actual amplitude: 724 mV. Axes object 2 with title Frequency Response of Channel Model, xlabel GHz, ylabel dB contains 2 objects of type line. One or more of the lines displays its values using only markers These objects represent S_{21}(f), -3.00044 dB @ 5 GHz.

More About

expand all

Algorithms

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.

Extended Capabilities

Version History

Introduced in R2019a