首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用于抖动评估的Matlab测量脉冲宽度和随时间变化曲线

用于抖动评估的Matlab测量脉冲宽度和随时间变化曲线
EN

Stack Overflow用户
提问于 2015-11-26 15:41:18
回答 1查看 1.2K关注 0票数 0

我想测量一个信号的低脉冲长度,然后绘制它,看看pwm比率是否在该信号的运行时发生变化。

它自己采集的信号是用示波器采集的,并存储在cvs文件中,通道2是一个脉冲信号,我想在其中评估脉冲的边界是否稳定。

with d = dutycycle(CH2)

我可以从我的信号中得到任务周期

我如何将任务周期或低脉冲时间绘制成图形线或字段来查看其随时间的变化?

用于测试的两个文件都在这里:

  • 第一
  • 第二
EN

回答 1

Stack Overflow用户

发布于 2015-11-30 03:22:40

您的信号非常干净,所以您可以使用简单的阈值。如果你需要处理更多的噪音,这里有一个方法。

基本方法是将信号分段分解(分成一系列常数段)。变化点识别给你开始和结束的时间以及每个片段的大小。

然后,所有偶数次都是上升边,奇数次是下降边(反之亦然)。这两个矢量之间的差异给出了每个脉冲的高和低持续时间,而上升边之间的差异给出了每个脉冲持续时间。

代码语言:javascript
运行
复制
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。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33942404

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档