【问题标题】:Need to generate pulse when a signal crosses zero point in simulink?当信号在 simulink 中越过零点时需要生成脉冲吗?
【发布时间】:2015-12-17 06:15:52
【问题描述】:

我有一个输入信号 I=sin(omega*t)。每次信号越过零点时,我应该使用哪种 simulink 模型来获取脉冲?

【问题讨论】:

  • This block 的输出触发了一个脉冲发生器。
  • 您的帖子非常有帮助,谢谢。
  • @mikkola 我们如何触发脉冲发生器?名为“Pulse Generator”的 Simulink 模块没有任何输入端子。

标签: matlab simulink


【解决方案1】:

这是我的建议:

传输延迟块生成输入信号的延迟版本。您需要降低此块的采样率。然后,减去原始信号和延迟信号的符号。如果符号相等,则得到 0,如果符号不同(交叉零),则得到 +-2。您取绝对值并将信号除以 2 得到:

【讨论】:

  • 您能否指定用于生成正弦波和传输延迟函数的参数,以便我更好地理解所提出的模型。谢谢。
  • 延迟设置为 0.01,正弦函数未更改。整个模型的时间步长为 0.001,停止时间设置为 50
  • 感谢您的帮助。
【解决方案2】:

我找到了另一种方法来做到这一点:

图像的上半部分 - 都是 simulink 模型,下半部分 - 是一个可重置的子系统。

结果:

Constant 1 是脉冲的幅度,比较常量块中的3 - 是脉冲的长度。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-11
    • 1970-01-01
    • 2020-02-23
    • 1970-01-01
    • 2019-02-22
    • 1970-01-01
    相关资源
    最近更新 更多