获取和分析有噪声的时钟信号
这个例子展示了如何获取时钟信号和分析跃迁、脉冲,并计算包括上升时间、下降时间、转换速率、超调、欠调、脉冲宽度和占空比在内的指标。本例将数据采集工具箱与信号处理工具箱结合使用。
使用数据采集工具箱配置采集。使用“信号处理工具箱”中的统计和测量功能对数据信号进行分析。
创建一个数据采集和获取一个时钟信号
使用数据收集
创建一个数据采集和addinput
从National Instruments®NI-9205中添加ID为“cDAQ1Mod1”的通道。
Dq = daq(“倪”);addinput (dq,“cDAQ1Mod1”,“ai0”,“电压”);
默认情况下,DataAcquisition配置为每秒扫描1000次。
将扫描速率更改为250000次扫描/秒。
dq。费率= 250000;
使用读
获得2毫秒的多次扫描。
[data, time] = read(dq, milliseconds(2),“OutputFormat”,“矩阵”);
绘制获得的时钟信号(注意它是过阻尼的)。
图(时间,数据)“时间(s)”) ylabel (“电压(V)”)
估计状态级别
使用考虑
没有输出参数来在直方图中可视化状态级别。
考虑(数据)
Ans = 0.0138 5.1848
计算的直方图被分为第一个和最后一个容器之间的两个大小相等的区域。直方图中每个区域的模式在命令窗口中作为估计的状态级别值返回。
使用可选输入参数指定直方图容器、直方图边界和状态级估计方法的数量。
测量上升时间、下降时间和下降速率
使用上升时间
没有输出参数来可视化正边的上升时间。
上升时间(数据、时间)
Ans = 1.0e-04 * 0.5919 0.8344 0.7185 0.8970 0.6366
计算上升时间和下降时间的默认参考电平设置为波形振幅的10%和90%。
通过指定自定义参考和状态级别来测量下落时间。
falltime(数据、时间“PercentReferenceLevels”(80),“考虑”[0 5])
Ans = 1.0e-04 * 0.4294 0.5727 0.5032 0.4762
通过调用带有一个或多个输出参数的函数,以编程方式获得度量。对于统一采样的数据,可以提供一个采样率来代替时间向量。使用slewrate
测量每条正边或负边的斜率。
sr = slewrate(data(1:100), dq.Rate)
Sr = 7.0840e+04
分析超调和欠调
获取一个新的欠阻尼时钟信号。
[data, time] = read(dq, milliseconds(4),“OutputFormat”,“矩阵”);图(时间,数据)“时间(s)”) ylabel (“电压(V)”)
欠阻尼时钟信号显示超调。超调用状态级别之间的差的百分比表示。超调可以发生在边缘之后,在过渡后像差区域的开始处。这被称为“后期”超调。测量超调量过度
.
过度(数据(95:270),dq.Rate)传说(“位置”,“东北”)
Ans = 4.9451 2.5399
超调也可以发生在边缘之前,在预过渡像差区域的末端。这被称为“拍摄前”超调。
欠冲可以发生在像差前和像差后区域,并表示为状态水平之间的差的百分比。用指定测量像差区域的可选输入参数测量下冲程。
低于(数据(95:270),dq。率,“地区”,“Postshoot”)传说(“位置”,“东北”)
Ans = 3.8499 4.9451
测量脉冲宽度和占空比
使用脉冲宽度
没有输出参数来显示突出显示的脉冲宽度。
脉冲宽度(数据、时间“极性”,“积极”);
这显示了正极性的脉冲。选择负极性以查看负极性脉冲的宽度。
使用dutycycle
计算每个正极性或负极性脉冲的脉冲宽度与脉冲周期的比率。占空比表示为脉冲周期的百分比。
D =工作周期(数据,时间,“极性”,“负面”)
D = 0.4979 0.5000 0.5000
使用pulseperiod
得到波形每一个周期的周期。使用此信息来计算其他指标,如波形的平均频率或观察到的总抖动。
Pp =脉冲周期(数据,时间);avgFreq = 1./mean(pp) totalJitter = std(pp)
avgFreq = 1.2500e+03 totalJitter = 1.9866e-06