首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MATLAB中simulink串行采集模块中的一个错误

MATLAB中simulink串行采集模块中的一个错误
EN

Stack Overflow用户
提问于 2015-03-01 13:59:50
回答 1查看 241关注 0票数 1

我只想分享一下我在Simulink中解决问题的方法(在Matlab中,v2010a和相同的暂停指令,这也是MATLAB2014a中问题的原因)。

当我通过simulink串行采集块获得串行输入时,如果数据输入速度适中(比如超过100个样本/秒),我看到前3秒左右,数据输入就会很好,那么在这几秒钟之后,会出现一个非常奇怪的噪声。

通过深入挖掘这个串行采集块的源代码,我发现它使用的是延迟指令‘pause(0.001)’,并且在每次采集一个样本之后,显然被用来将代码延迟运行1 ms。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-12 10:16:58

回答我自己的问题:我在MSDN中找到了一篇题为“Windows”的文章:“GetTickCount和GetTickCount64仅限于系统定时器的分辨率,大约为10毫秒到16毫秒。”1.这意味着延迟将有效地限制每秒最大采样数。可以被这个块读取。

我在simulink串行采集块中删除了这条暂停线(在MATLAB R2010(A)中名为“serialrb.m”的“串行接收”块的脚本中,第331行)并且一切都运行良好。

希望这能帮上忙!

1 MSDN,"Windows“,http://msdn.microsoft.com/en-us/library/windows/desktop/ms725496%28v=vs.85%29.aspx,2012年。

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

https://stackoverflow.com/questions/28794360

复制
相关文章

相似问题

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