多次运行模拟并更改多个组件值比仅更改一个更复杂(这还不错)
这是更改一个值的概念:
- 使用最右侧的 SPICE 指令图标添加 .param 语句,例如电阻值
.param X=R
- 要使用它,您可以在电阻值中输入 {x},然后包括例如
.step param X 100 500 50
以 50 为增量在 100 和 500 之间步进值。
例子:
结果:
对于多个值,我发现唯一可行的方法是使用 X 的值列表,并使用 table 语句。这可能最好用一个例子来解释(阅读所用命令的帮助可能会有所帮助)。但请注意,table 命令语法的格式为 table(index, x1, y1, x2, y2, .... xn, yn),将 index 作为输入并根据提供的 x 返回 x=index 的插值,y 对。
在我的一个模拟中,我需要执行 12 次模拟,同时更改 3 个不同的组件值,以下是命令:
.step param X list 1 2 3 4 5 6 7 8 9 10 11 12
.param Rin1 = table(X, 1, 1,1p, 2, 1p, 3, 1p, 4, 4478, 5, 4080, 6, 3400, 7, 2200, 8, 1p, 9, 1p, 10, 1p, 11, 1p, 12, 1p)
.param Rin2 = table(X, 1, 4997, 2, 4997, 3, 4997, 4, 499, 5, 897, 6, 1577, 7, 2777, 8, 4997, 9, 4997, 10, 4997, 11, 4997, 12, 4997)
.param Tval = table(X, 1, 56, 2, 56, 3, 27, 4, 1G, 5, 1G, 6, 1G, 7, 1G, 8, 1G, 9, 330, 10, 330, 11, 120, 12, 120)
.param Kval = table(X, 1, 316, 2, 147, 3, 147, 4, 6340, 5, 6340, 6, 6340, 7, 6340, 8, 6340, 9, 6340, 10, 825, 11, 825, 12, 316)
结果:
希望您明白这一点,您可能会生成一个脚本,当您填写所需的值时会生成必要的 SPICE 命令。或者只是创建一个模板(例如,我只是将上面的内容复制并粘贴到几个不同的模拟中并更改了值)
如果上面没有做你想要的,那么也许看看像 NI's multisim 之类的东西(我认为它有一些批量模拟选项,虽然我不确定它们有多大用处)在LTSPice上询问也可能会有所帮助论坛,看看是否有人知道更好的做事方式。