LTspice基础教程:.meas命令测量波形的最大值、平均值等参数

在 LTspice 仿真结束后,有时候需要测量波形的特定值,例如最大值、最小值、平均值等参数,最简单的方法就是通过游标的形式测量对应的值,如图 1 所示。

LTspice基础教程:.meas命令测量波形的最大值、平均值等参数
图 1 游标测量结果

显然,上述测量的值并不精确,只是一个大概的值。如果要测量精确值,可以使用 LTspice 中的 .meas 命令。.meas 命令,无需使用游标即可自动获取精确值。

同样,以上述示例,在 SPICE directive 中输入 .meas 命令,运行仿真即可在 SPICE Error Log 中看到测量结果。如图 2 所示。

LTspice基础教程:.meas命令测量波形的最大值、平均值等参数
图 2 .meas 测量结果

可以看到,.meas 命令测量的 VOUT 最大值为 12.8212V,这个值更为精确。

总的来说,.meas 命令主要有两种用法:

  • 测量水平轴上特定点的值
  • 测量水平轴上特定范围的值

接下来,进一步介绍 .meas 命令的语法和用法。

一、测量水平轴上特定点的仿真示例

1.1 使用 FIND 确定电流和电压的瞬时值

将 10Ω 电阻 ROUT 连接到频率为 1Hz 振幅 为 10V 的正弦波电压 V_1Hz 上,并将输出电压的节点设置为 OUT。此外,还有一个脉冲信号 PWL 输出为 OUT1。如图 3 所示。

LTspice基础教程:.meas命令测量波形的最大值、平均值等参数
图 3 .meas 测量瞬时值

可以发现,通过 .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 所示。

LTspice基础教程:.meas命令测量波形的最大值、平均值等参数
图 4 .meas 测量瞬时值(When、TD、CROSS、RISE、PARAM 等 用法)

每个命令的含义如下:

  • .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 的仿真结果。

LTspice基础教程:.meas命令测量波形的最大值、平均值等参数
图 5 使用 DERIV 检查电流和电压的差分值(摆率)

此电压波形的上升摆率为 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 输出三角波时的仿真结果如下图所示。

LTspice基础教程:.meas命令测量波形的最大值、平均值等参数
图 6 使用 INTEG 确定区间的积分值(面积)

三角区域的面积可以简单计算为,底部时间为 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 的仿真结果如下图所示。

LTspice基础教程:.meas命令测量波形的最大值、平均值等参数
图 7 上升沿语法 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”的正弦波的仿真和测量结果如图所示。

LTspice基础教程:.meas命令测量波形的最大值、平均值等参数
图 8 确定区间的最大值、最小值、平均值等

图中分别测量了该电压波形的平均值(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 计算参数

LTspice基础教程:.meas命令测量波形的最大值、平均值等参数
图 9 结合 .param 计算参数

3.2 结合 .param 计算联立方程

将 PWL 电压 V3 的输出节点指定为”X1″,并使用此节点计算联立方程。

LTspice基础教程:.meas命令测量波形的最大值、平均值等参数
图 10 结合 .param 计算联立方程

扫码关注尚为网微信公众号

尚为网微信公众号
每天学习电路设计嵌入式系统的专业知识,关注一波,没准就用上了。

原创文章,作者:sunev,如若转载,请注明出处:https://www.sunev.cn/hardware/1100.html

(10)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年12月5日 20:30
下一篇 2021年12月6日 14:28

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注