【问题标题】:How to remove unwanted short time signal Simulink如何去除不需要的短时信号 Simulink
【发布时间】:2019-02-22 08:14:42
【问题描述】:

我想移除一个持续 0.02 秒的不需要的信号。例如...我有一个值为 1 的连续信号。出于某种原因,在某些情况下,我会成为一个最大 0.02 秒的任何值(+ 或 -)的信号。之后我再次变为值 1。是否可以删除这个不需要的信号?

我将非常感谢任何帮助!

致以最诚挚的问候

【问题讨论】:

  • 你的问题很不清楚。最简单的做法是使用值为 1 的常量块,但我怀疑这不符合您的(未指定)要求。或者您可以通过一个具有很长时间常数的滤波器将信号馈入,因此输出不会受到快速信号变化的影响。但同样,从您提供的信息中无法得知。
  • 你好菲尔,我试图过滤这个信号,但我没有变成我想要的。我想要做的是消除我的信号中发生的最多 2 秒的所有快速变化。如果发生的这种变化会在这个值上保持超过 2 秒,那么只有这样它才能传递给我的系统的其余部分。对不起我的英语不好......我希望这个解释能帮助你更好地理解我的问题

标签: matlab signals simulink modeling


【解决方案1】:

您可以使用采样和保持来对信号进行去抖动,如下所示:

每次在输入信号中检测到值更改时,启动一个计数器并将输出设置为原始(预先更改的)输入值并持续您指定的周期数。等待期结束后,将输出值设置回输入值。如果在等待期结束后输入保持新值,则输出将采用新值。否则它将在输入稳定到其原始值后保留原始值并在等待期间保持。

这可以在 Simulink 中使用“检测变化”和“切换”模块的组合进行建模。

【讨论】:

  • 您好汤姆,首先感谢您的回答!你能解释一下吗?你说,我必须使用一个计数器(这是为了保存以前的值)一个变化检测器,最后是一个开关块。但我不明白,我如何将这一切结合在一起......
  • 我添加了来自 SciLab 模型的屏幕截图。在 MatLab 中应该是类似的。
  • 非常感谢汤姆的帮助!我现在将在 matlab Simulink 中尝试一下!祝你有美好的一天!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-14
  • 1970-01-01
  • 2017-02-09
  • 1970-01-01
  • 2012-10-22
相关资源
最近更新 更多