跳到主要内容

Signal 元件-SIGTRGSIN0 -频率幅值可变的正弦函数

教程内容

本教程旨在从初学者角度对Amesim帮助文档进行精讲,梳理逻辑和疑难点,以帮助更好地理解和入门。

image-20250525075331393

这个元件本身很简单,讲它的目的是因为除了频率和幅值可变,它还提供了一个Trigger输入选项,Trigger在Amesim里很多地方都有用到,所以通过这个元件理解并掌握Trigger的概念,有助于理解其它更复杂的元件或场景下Trigger的作用。

下面逐一介绍元件的各个功能

功能1:可变频率

搭建如下图所示的模型,频率和幅值分别通过分段函数控制,先看可变频率的功能。

image-20250525082805055

下图蓝色线是频率f,红色线是输出的正弦信号,设置

0 - 10s,f=0.1HZ,所以第1个正弦波形的持续10s

10 - 15s, f=0.2HZ,所以第2个正弦波形的持续5s

15 - 17.5s, f=0.4HZ,所以第3个正弦波形的持续2.5s

17.5s之后没有设置f,那么后续的正弦信号就维持上一阶段的频率,也就是0.4HZ,所以17.5-20s又出现了一个持续时间2.5s的波形。

image-20250525082930429

功能2:可变幅值

在上一张图的基础上,将振幅改为如下图所示的分段函数

0 - 10s,amplitude=1,所以第1个正弦波形的振幅是1

10 - 15s,amplitude=0.5,所以第2个正弦波形的振幅是0.5

15 - 17.5s, amplitude=0.3,所以第3个正弦波形的振幅是0.3

image-20250525084003455

功能3:Trigger

要理解Trigger,最好先不考虑频率和幅值可变,不然混在一起很难理解。

重新建立一个模型,把频率和幅值都设置为常数,专注研究Trigger的作用。

image-20250525090003447

从图中可以看出,Trigger为1的时候,信号持续输出,Trigger为0的时候,信号输出为0

image-20250525090146847

wait for end of cycle的参数

元件有一个参数,叫wait for end of cycle。

image-20250525090334489

从下图可以看出wait for end of cycle设置为no和yes的区别

  • 设置为no:不管周期是否结束,强行截断使输出设置为0
  • 设置为yes:等上一个周期走完以后,再开始截断使输出置为0

image-20250525090955876

end of cycle 就是下图我手动描绘的这一段。

image-20250525091220366

Trigger信号的参数

Trigger信号只是起控制作用,而且帮助文档里没有写输入的Trigger必须是什么样的格式,也没有说明高电平和低电平对应的效果是什么。

所以高电平和低电平的值建议维持默认的1和0。

image-20250525091708007

我试过如果调整高电平和低电平的值,输出的信号可能会发生变化。比如下图,低电平为0.4的时候输出正常,但是低电平设置0.6的时候,低电平就不起作用了。

image-20250525092525392

以上。