并行转换器。刺激
在SerDes模型中设置伪随机二进制序列(PRBS)模式和要模拟的符号数量
描述
的并行转换器。刺激
系统对象™设置在SerDes Toolbox™模型中要模拟的PRBS模式和符号数量。
设置PRBS模式和符号数量。
创建
并行转换器。刺激
对象并设置其属性。调用带有参数的对象,就像调用函数一样。
要了解更多关于System对象如何工作的信息,请参见什么是系统对象?
创建
描述
返回一个刺激
=并行转换器。刺激刺激
对象,输出PRBS或自定义数据模式波形。
使用一个或多个名称-值参数设置属性。将每个属性名用引号括起来。未指定的属性有默认值。刺激
=并行转换器。刺激(名称,值
)
例子:刺激= serdes.Stimulus('调制',4,'延迟',10e-12)
返回一个刺激
对象,该对象使用四级脉冲幅度调制(PAM4)调制方案,并且延迟为10 e-12
秒。
属性
除非另有说明,属性为nontunable,这意味着在调用对象后不能更改它们的值。对象在调用时锁定,而释放
函数解锁它们。
如果属性是可调,您可以随时更改其值。
有关更改属性值的更多信息,请参见在MATLAB中使用系统对象设计系统.
SymbolTime
- - - - - -单符号持续时间
1平台以及
(默认)|正实标量
单个符号持续时间的时间,指定为实正标量。
可调:没有
数据类型:双
SampleInterval
- - - - - -波形的均匀时间步长
6.25 e-12
(默认)|正实标量
波形的均匀时间步长,指定为正实标量。
可调:没有
数据类型:双
规范
- - - - - -波形创建方法
“伪随机位序列”
(默认)|“数据模式”
|“采样电压”
|“PAMn”
波形创建方法,指定为以下值之一。
“伪随机位序列”
生成一个伪随机二进制序列(PRBS)种子
“数据模式”
-指定要调制的数据模式“采样电压”
-指定要调制的采样电压序列“PAMn”
生成一个脉冲幅度调制(PAM)信号的基础上PAMn种子
可调:没有
数据类型:字符
调制
- - - - - -调制方案
2
(默认)|3.
|4
|8
|16
调制值,指定调制方案,编码信号中的逻辑电平数,指定为2
,3.
,4
,8
,或16
.
调制的价值 | 调制方案 |
---|---|
2 |
不归零(NRZ) |
3. |
三电平脉冲幅度调制(PAM3) |
4 |
四电平脉冲幅度调制(PAM4) |
8 |
八级脉冲幅度调制(PAM8) |
16 |
16级脉冲幅度调制(PAM16) |
请注意
根据IBIS BIRD(缓冲区问题解决文件)213,IBIS- ami模型支持从PAM2 (NRZ)到以上的任何级别的信号,统称为PAMn。如果您的EDA工具支持它,您可以导出支持调制方案NRZ、PAM3、PAM4、PAM8或PAM16的IBIS-AMI模型。
可调:没有
数据类型:双
延迟
- - - - - -延迟补偿
0
(默认)|非负实标量
数据模式的延迟偏移量,指定为实非负标量。施加的偏移量是SymbolTime
.
可调:没有
数据类型:双
订单
- - - - - -伪随机位序列顺序
7
(默认)|数字标量|数值向量
PRBS顺序,指定为数值标量或小于100的正整数的数值向量。指定订单
的值时作为数值向量调制
大于2
.对于高阶调制,第一个订单
条目为最低有效位(LSB)和最后一个定义了一个PRBS流订单
条目为最高有效位(MSB)定义一个PRBS流。
可调:没有
数据类型:双
种子
- - - - - -伪随机位序列种子
{[0 1 0 1 0 0]}
(默认)|单元阵列
PRBS种子,指定为不全为零的数值二进制向量的单元格数组。每个二进制向量的长度都与对应向量的长度相同订单
.
可调:没有
数据类型:细胞
MapToVoltage
- - - - - -从二进制流到电压的PRBS映射
(-0.5 - 0.5)
(默认)|数值实向量
从二进制流到电压的PRBS映射,指定为矢量。的长度MapToVoltage
类定义的逻辑级别的数量需要相同调制
财产。LSB PRBS流,p1
,和MSB PRBS流,pn
、索引MapToVoltage
如下:索引= p1 + 2^1*p2 + 2^2*p3 +…+ 2 ^ (n - 1) * pn
.
可调:没有
数据类型:双
DataPattern
- - - - - -符号时间间隔电压的自定义数据模式
[-1 1 -1 1 1 1 -1]/2
(默认)|数值向量
符号时间间隔电压的自定义数据模式,指定为一个真实的有限数值向量。的DataPattern
会不断循环。
可调:没有
数据类型:双
SampledVoltage
- - - - - -自定义电压模式的样本间隔间隔电压
[1 1 1 1 -1 -1 -1]/2
(默认)|数值向量|逻辑向量
样本间隔电压的自定义电压模式,指定为数值或逻辑向量。
可调:没有
数据类型:双
PAMnSeed
- - - - - -PAMn模式生成器的种子
1431655765
(默认)|非负数值标量
PAMn模式生成器的种子,指定为介于之间的非负数2
而且2^31 - 1
.
可调:没有
数据类型:双
Dj
- - - - - -确定性抖动
0
(默认)|非负数值标量
确定性抖动,或不相关的有界均匀抖动,指定为非负数。的价值Dj
表示确定性抖动的峰峰间变化的一半。
可调:没有
数据类型:双
DjUnit
- - - - - -确定性抖动单元
“用户界面”
(默认)|“秒”
确定的抖动单位,指定为“秒”
几秒钟或者“用户界面”
对于单位间隔。
可调:没有
数据类型:字符
Rj
- - - - - -随机抖动
0
(默认)|非负数值标量
随机抖动,指定为非负数。随机抖动被定义为高斯白相位噪声过程的标准差。
可调:没有
数据类型:双
RjUnit
- - - - - -随机抖动装置
“用户界面”
(默认)|“秒”
随机抖动单元,指定为“秒”
几秒钟或者“用户界面”
对于单位间隔。
可调:没有
数据类型:字符
以便决定
- - - - - -占空比失真
0
(默认)|非负数值标量
占空比失真,指定为非负数。的价值以便决定
表示峰到峰的一半以便决定
,在那里以便决定
定义为一个符号与下一个符号之间的符号持续时间之差的一半。
可调:没有
数据类型:双
DCDUnit
- - - - - -DCD计划的单位
“用户界面”
(默认)|“秒”
DCD单位,指定为“秒”
几秒钟或者“用户界面”
对于单位间隔。
可调:没有
数据类型:字符
Sj
- - - - - -正弦或周期性抖动
0
(默认)|非负数值标量
正弦抖动或周期性抖动,用数字表示。的价值Sj
表示正弦抖动或周期抖动的峰峰振幅的一半。
可调:没有
数据类型:双
SjUnit
- - - - - -正弦或周期抖动单位
“用户界面”
(默认)|“秒”
正弦或周期抖动单位,指定为“秒”
几秒钟或者“用户界面”
对于单位间隔。
数据类型:字符
SjFrequency
- - - - - -正弦或周期抖动频率
0
(默认)|非负数值标量
正弦或周期抖动频率,指定为以Hz为单位的非负数值标量。
可调:没有
数据类型:双
JitterSeed
- - - - - -随机种子抖动
0
(默认)|非负数值标量
的随机种子Dj
而且Rj
抖动蒸汽,指定为非负数。
可调:没有
数据类型:双
对象的功能
要使用对象函数,请将System对象指定为第一个输入参数。例如,释放名为obj
,使用以下语法:
发行版(obj)
例子
刺激模式生成器示例
这个例子展示了如何使用serdes。刺激object to generate a pseudorandom binary sequence (PRBS) and also modulate custom samples.
首先,定义序列的参数。使用80ps的符号时间,每个符号8个样本。发送15个符号,并使用0.1作为确定抖动。
SymbolTime = 80e-12;SamplesPerSymbol = 8;NumberOfSymbols = 15;Dj = 0.1;
计算样本区间。
dt = SymbolTime/SamplesPerSymbol;
创建一个默认的刺激对象,生成一个PRBS并使用NRZ调制方案。
刺激1 = serdes。刺激(...“SampleInterval”, dt,...“SymbolTime”SymbolTime,...' Dj ', Dj);
创建一个生成顺序为8的PRBS的刺激对象。
刺激2 = serdes。刺激(...“SampleInterval”, dt,...“SymbolTime”SymbolTime,...“延迟”dt * 4,...“规范”,“伪随机位序列”,...“秩序”8...“种子”,{[0 1 0 0 0 0 0 0 0 0]},...' Dj ', Dj);
创建一个生成PRBS并使用PAM4调制方案的Stimulus对象。
刺激3 = serdes。刺激(...“SampleInterval”, dt,...“SymbolTime”SymbolTime,...“调制”4...“延迟”dt * 4,...“秩序”, 8 [6],...“MapToVoltage”2*[-1/2, 1/6, -1/6, 1/2],...' Dj ', Dj);
创建一个调制自定义数据模式的刺激对象。
刺激4 = serdes。刺激(...“SampleInterval”, dt,...“SymbolTime”SymbolTime,...“规范”,“数据模式”,...“DataPattern”(2:2) / 2,...' Dj ', Dj);
创建一个对采样电压进行调制的刺激对象。
刺激= serdes。刺激(...“SampleInterval”, dt,...“SymbolTime”SymbolTime,...“规范”,“采样电压”,...“SampledVoltage”, (-1.5:0.25:1.5, 1.25: -0.25: -1.25));
初始化绘图变量,其中N是样本数量,waveOut包含所有样本,t是与每个样本相关的时间的向量。
N = SamplesPerSymbol*NumberOfSymbols;waveOut = 0 (N,5);t = (0:N-1)*dt;
然后,使用每个Stimulus对象的步骤对生成的信号进行采样。
为2 = 1:N waveOut(2,1) = step(刺激性1);waveOut(ii,2) = step(stimulus);waveOut(ii,3) = step(motivus3);waveOut(ii,4) = step(motivus4);waveOut(ii,5) = step(motivus5);结束
最后,在坐标轴上用图例和标签绘制波输出图。
图(t,waveOut) xlabel(“时间[s]”) ylabel (“V”网格)在传奇(默认的刺激的,“PRBS 8刺激”,“PAM4刺激”,...“自定义刺激”,“采样电压”)
提示
如果PRBS波形规格定义不完整,则将应用扩展默认值。例如,如果调制为4,但Seed不完整或不正确,则会找到并使用有效的Seed值。
PAMn波形规范创建2到16级的脉冲幅度调制(PAM)信号。这个随机整数生成器从PRBS31数据流中选择16位,形成0到2^16-1之间的整数。然后将这个整数线性映射到[0.501,N + 0.499]的范围,然后舍入到1到N的范围内的整数,其中N是所需的PAM级别数。然后,此统一整数从
MapToVoltage
财产。注入抖动累积如下:
DJ:抖动
= 2 *Dj
兰德(1)* (-0.5);Rj:抖动
=Rj
* randn (1);DCD: jitter = DCD/2*(-1.0)^N,其中N为符号索引
Sj
: jitter =pSj
* sin (N * T * 2 *π*SjFrequency
),其中N为符号索引,T为符号时间。抖动被注入到波形转换的符号中,因此,当规格为“采样电压”时,抖动不能被注入。
版本历史
在R2021b中引入
另请参阅
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。
您也可以从以下列表中选择网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。