Signal 元件-SIGTRGSIN0 -频率幅值可变的正弦函数
教程内容
本教程旨在从初学者角度对Amesim帮助文档进行精讲,梳理逻辑和疑难点,以帮助更好地理解和入门。
这个元件本身很简单,讲它的目的是因为除了频率和幅值可变,它还提供了一个Trigger输入选项,Trigger在Amesim里很多地方都有用到,所以通过这个元件理解并掌握Trigger的概念,有助于理解其它更复杂的元件或场景下Trigger的作用。
下面逐一介绍元件的各个功能
功能1:可变频率
搭建如下图所示的模型,频率和幅值分别通过分段函数控制,先看可变频率的功能。
下图蓝色线是频率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的波形。
功能2:可变幅值
在上一张图的基础上,将振幅改为如下图所示的分段函数
0 - 10s,amplitude=1,所以第1个正弦波形的振幅是1
10 - 15s,amplitude=0.5,所以第2个正弦波形的振幅是0.5
15 - 17.5s, amplitude=0.3,所以第3个正弦波形的振幅是0.3
功能3:Trigger
要理解Trigger,最好先不考虑频率和幅值可变,不然混在一起很难理解。
重新建立一个模型,把频率和幅值都设置为常数,专注研究Trigger的作用。
从图中可以看出,Trigger为1的时候,信号持续输出,Trigger为0的时候,信号输出为0
wait for end of cycle的参数
元件有一个参数,叫wait for end of cycle。
从下图可以看出wait for end of cycle设置为no和yes的区别
- 设置为no:不管周期是否结束,强行截断使输出设置为0
- 设置为yes:等上一个周期走完以后,再开始截断使输出置为0
end of cycle 就是下图我手动描绘的这一段。
Trigger信号的参数
Trigger信号只是起控制作用,而且帮助文档里没有写输入的Trigger必须是什么样的格式,也没有说明高电平和低电平对应的效果是什么。
所以高电平和低电平的值建议维持默认的1和0。
我试过如果调整高电平和低电平的值,输出的信号可能会发生变化。比如下图,低电平为0.4的时候输出正常,但是低电平设置0.6的时候,低电平就不起作用了。
以上。