我想测量一个信号的低脉冲长度,然后绘制它,看看pwm比率是否在该信号的运行时发生变化。
它自己采集的信号是用示波器采集的,并存储在cvs文件中,通道2是一个脉冲信号,我想在其中评估脉冲的边界是否稳定。
with d = dutycycle(CH2)
我可以从我的信号中得到任务周期
我如何将任务周期或低脉冲时间绘制成图形线或字段来查看其随时间的变化?
用于测试的两个文件都在这里:
发布于 2015-11-30 03:22:40
您的信号非常干净,所以您可以使用简单的阈值。如果你需要处理更多的噪音,这里有一个方法。
基本方法是将信号分段分解(分成一系列常数段)。变化点识别给你开始和结束的时间以及每个片段的大小。
然后,所有偶数次都是上升边,奇数次是下降边(反之亦然)。这两个矢量之间的差异给出了每个脉冲的高和低持续时间,而上升边之间的差异给出了每个脉冲持续时间。
rising = TIME(1+est.time(2:2:end));
falling = TIME(1+est.time(1:2:end));
hightime = falling(2:end) - rising(1:end-1);
lowtime = rising(2:end) - falling(2:end);
plot([lowtime hightime diff(rising)])
legend('Low Time', 'High Time', 'Pulse Duration')
占空比为hightime ./ diff(rising)
,您可以继续进行抖动计算。
为了执行分段,我使用了我的论文中的代码,但是这个简单的情况(分段常数)已经被Killick解决了。al (2012)
作者声明: R. Killick,P. Fearnhead和I.A. Eckley。具有线性计算代价的转换点的最优检测。“美国统计协会学报”,107(500):1590-1598,2012年12月。编号: 10.1080/01621459.2012.737745。
https://stackoverflow.com/questions/33942404
复制相似问题