在 LTspice 仿真结束后,有时候需要测量波形的特定值,例如最大值、最小值、平均值等参数,最简单的方法就是通过游标的形式测量对应的值,如图 1 所示。
显然,上述测量的值并不精确,只是一个大概的值。如果要测量精确值,可以使用 LTspice 中的 .meas 命令。.meas 命令,无需使用游标即可自动获取精确值。
同样,以上述示例,在 SPICE directive 中输入 .meas 命令,运行仿真即可在 SPICE Error Log 中看到测量结果。如图 2 所示。
可以看到,.meas 命令测量的 VOUT 最大值为 12.8212V,这个值更为精确。
总的来说,.meas 命令主要有两种用法:
- 测量水平轴上特定点的值
- 测量水平轴上特定范围的值
接下来,进一步介绍 .meas 命令的语法和用法。
一、测量水平轴上特定点的仿真示例
1.1 使用 FIND 确定电流和电压的瞬时值
将 10Ω 电阻 ROUT 连接到频率为 1Hz 振幅 为 10V 的正弦波电压 V_1Hz 上,并将输出电压的节点设置为 OUT。此外,还有一个脉冲信号 PWL 输出为 OUT1。如图 3 所示。
可以发现,通过 .meas 命令分别测量了图中的几个点的值。
每个命令的含义如下:
- .meas TRAN A1 FIND V(OUT) AT 400m
t = 400ms 时的 V(OUT)值标记为”A1″并输出。
- .meas TRAN A2 FIND I(ROUT) AT 400m
t = 400ms 时的 I(OUT)值标记为”A2″并输出。
- .meas TRAN A3 FIND V(OUT)*I(ROUT) AT 400m
t = 400ms 时的 V(OUT)*I(ROUT)值标记为”A3″并输出。
- .meas TRAN A4 PARAM A1/A2
输出标签 A1/标签 A2 的计算结果。
下图显示了使用 When、TD、CROSS、RISE、PARAM 等时的仿真原理图和仿真结果。在该仿真中,用 .meas 命令查找并输出 OUT 端子电压 V(OUT)与 OUT1 端子的电压 V(OUT1)相等时的 V(OUT)的电压。如图 4 所示。
每个命令的含义如下:
- .meas TRAN B1 FIND V(OUT) WHEN V(OUT)=V(OUT1)
首次满足条件”V(OUT)=V(OUT1)”时,V(OUT)的值标记为”B1″并输出。
- .meas TRAN B2 FIND V(OUT) WHEN V(OUT)=V(OUT1) TD=0.1 CROSS=2
在 t = 0.1s 之后,两次满足条件”V(OUT)=V(OUT1)”时,V(OUT)的值标记为”B2″并输出。
- .meas TRAN B3 FIND V(OUT) WHEN V(OUT)=V(OUT1) RISE=LAST
V(OUT)上升沿时,满足条件”V(OUT)=V(OUT1)”时,V(OUT)的值标记为”B3″并输出。
- .meas TRAN B4 FIND V(OUT) WHEN V(OUT1)=V(OUT) RISE=LAST
V(OUT1)上升沿时,满足条件”V(OUT1)=V(OUT)”时,V(OUT1)的值标记为”B4″并输出。
- .meas TRAN B5 WHEN V(OUT1)=V(OUT) RISE=LAST
最后满足条件”V(OUT1)=V(OUT)”时的时间,标记为”B5″并输出。 不使用”FIND V(节点名称)”时,输出为时间。
1.2 使用 DERIV 检查电流和电压的差分值(摆率)
下图是脉冲电压 V1 的仿真结果。
此电压波形的上升摆率为 1[V/us]=1×10^6[V/s]。对应的 .meas 命令为:
- .meas TRAN SLEWRATE DERIV V(OUT) WHEN V(OUT)=0.5 TD=100u RISE=1
在 t = 100us 之后,V(OUT)处于第一次上升沿时,将条件”V(OUT) = 0.5″下的摆率标记为”SLEWRATE”并输出。
可以看到,.meas 命令的测量结果与游标的结果一致。
二、测量水平轴的区间的仿真示例
2.1 使用 INTEG 确定区间的积分值(面积)
脉冲电压 V1 输出三角波时的仿真结果如下图所示。
三角区域的面积可以简单计算为,底部时间为 2s,高度为 1V,面积为 1。
当然,也可以用 .meas 命令:
- .meas TRAN A INTEG V(OUT) FROM 2 TO 4
t = 2s 到 4s 中的 V(OUT)积分值(面积)标记为”A”并输出。
注意,如果没有 FROM 的情况下,.meas 命令将测量整个数据范围。
.meas 命令也可以测量特定条件下的区间面积,例如用上升沿语法 TRIG 和下降沿语法 TARG 的仿真结果如下图所示。
.meas 命令:
- .meas TRAN A INTEG V(OUT) TRIG V(OUT)=0.5 TD=1.5 RISE=1 TARG V(OUT)=0.5 TD=3 FALL=1
在 1.5s 之后,从 V(OUT)上升沿阶段首次达到 0.5V 开始,到 3s 之后 V(OUT)下降沿阶段首次降到 0.5V,将这期间的积分值(面积)标记为”A”并输出。
注意,在省略 TRIG 和 TARG 的情况下,.meas 命令将测量整个数据范围。
2.2 确定区间的最大值 (MAX)、最小值 (MIN)、平均值 (AVE)、有效值 (RMS) 和振幅 (PP)
“直流偏置 10V、振幅 2V 和周期 1s”的正弦波的仿真和测量结果如图所示。
图中分别测量了该电压波形的平均值(AVE)、最大值(MAX)、最小值(MIN)、有效值(RMS)、振幅(PP),其对应的 .meas 命令如下:
- .meas TRAN A MAX V(OUT) FROM 1 TO 5
t = 1s 到 5s 之间 V(OUT)的最大值标记为”A”并输出。
- .meas TRAN B MIN V(OUT) FROM 1 TO 5
t = 1s 到 5s 之间 V(OUT)的最小值标记为”B”并输出。
- .meas TRAN C AVG V(OUT) FROM 1 TO 5
t = 1s 到 5s 之间 V(OUT)的平均值标记为”C”并输出。
- .meas TRAN D RMS V(OUT) FROM 1 TO 5
t = 1s 到 5s 之间 V(OUT)的有效值标记为”D”并输出。
- .meas TRAN E1 PP V(OUT) FROM 1 TO 5
t = 1s 到 5s 之间 V(OUT)的峰峰值标记为”E1″并输出。
注意, “E”是 SPICE 的保留字,用”E1″代替。
三、.meas 命令的其他用途
3.1 结合 .param 计算参数
3.2 结合 .param 计算联立方程
将 PWL 电压 V3 的输出节点指定为”X1″,并使用此节点计算联立方程。
扫码关注尚为网微信公众号
原创文章,作者:sunev,如若转载,请注明出处:https://www.sunev.cn/hardware/1100.html