如何在LTSpiceIV中使用具有两个以上参数的.step参数


13

我需要使用每个电阻的不同值(通常称为R1和R2)进行三个瞬态仿真。我的意思是完全这样:

  • 辛 1:R1 = 1个K ,R2 = 10千ΩΩΩ
  • 辛 2:R1 = 1 M ,R2 = -10 M ΩΩΩ
  • 辛 3:R1 = 1个K ,R2 = 1 M ΩΩΩ

如果只有一个电阻值会变化的电阻,则只需将其电阻值设置为“ {r1}”(我使用小写字母将其设置为与R1不同的变量/参数),并使用诸如以下命令:

.step param r1 list 1k 1meg 1k

但是,由于我必须两次(总共)两次更改两个参数,因此我在这里读到(至少在LTSpiceIV上)解决此问题的方法可以使用如下所示的方法:

.step param X list 1 2 3

.param r1 = table(X, 1k, 1meg, 1k)

.param r2 = table(X, 10k, 1meg, 10meg)

完成仿真后,我收到以下警告:

WARNING: Can´t resolve .param r2 = table(X, 10k, 1meg, 10meg)
Select OK to continue the simulation with the default model or Cancel to quit now.

r1同样适用。

由于某种原因,如果我在表中添加一个额外的元素,则模拟不会“中断”。在这种情况下,仿真将花费很长时间,每次前进都将更加缓慢,因为它永远不会结束。我试过将X设置为0 1 2而不是1 2 3,但是那也不起作用。

这是一些图片:

电路+命令

错误信息

您的帮助将不胜感激。


我很困惑,您要模拟3种或更多情况吗?如果您只想模拟这3种情况,那么我就不会用香料做这件事。
ACD

您希望X轴是什么?
ACD

我想模拟这三种情况并将它们绘制在一起。我知道我可以导出CSV文件并使用Octave或Excel对其进行打印,但是直接在LTSpice上进行操作将更加有用。在这篇文章(electronics.stackexchange.com/questions/20811/…)中,有人说过要怎么做,但对我不起作用。在此示例中,我提出了三种方案,但可能需要提出更多方案。
sebascarra 2014年

关于第二个问题,X是使我可以访问表值的不同索引。因为(显然)LT仅允许我一次扫过一个变量,所以我扫过X,然后尝试根据X在该步骤中取的值来访问表的值。我希望我很清楚。谢谢。
sebascarra 2014年

对于一个表命令来说,它需要一个索引,即X,然后是一组xy对。每个参数应包含3对,而不是3个值。
ACD

Answers:


17

在LTSpice中,table命令实际上创建了一种字典,您必须在其中指定键值对。适合您的情况的指令将是:

.step param Rx list 1 2 3
.param R1 table(Rx,1,1k,2,1Meg,3,1k)
.param R2 table(Rx,1,10k,2,1Meg,3,10Meg)

并将电阻值分别设置为{R1}{R2}

如果要使电阻的值靠近它,也可以输入(而不是在右键单击时的值)

R=table(Rx,1,10k,2,1Meg,3,10Meg)

进入电阻值字段。这对于所有类型的组件都以相同的方式工作,并且使用外部脚本来创建.asc文件,可以将其用作缺少蒙特卡洛功能的LTspices的拐杖。


4

一个参数扫描/步长可以通过表达式控制多个分量值。

您要步进的控制变量可能是相角或时间延迟,或者是您在一个或多个公式/表达式中输入的类似值,以获取要在设计中用作{parameter}的结果组件值或参数

如果要保持关系或控制设计的某些间接物理属性(例如当前属性或过滤器属性),这将很有用。

在“ op”命令编辑器中,您可以输入以下内容:

.STEP param Imax 0.1 0.3 0.1 
.PARAM Uin= 5
.PARAM R = (Uin-0.84954605)/Imax

它以0.1为步长将Imax从0.1逐步提高到0.3,并使用参数Imax Uin(二极管的某些假定压降0.85 ..)计算电阻值R。

可以使用{R}表示法在组件值中引用PARAMR。注意,Uin可以在电压源等中用作{Uin}。

对于“ op”编辑器窗口中的多行,请使用CTRL + M将所有参数保留在同一文本框中。


2

这适用于我的电路

.step参数n列表2 3 4

.param Rf = table(n,1,1.3k,2,1.1k,3,1.2k,4,1k)

.param Cf = table(n,1,54p,1,64p,2,64pF,4,64pF)

因此,Rf获取当前索引的值(在.step指令中定义)。因此,值列表以索引标识符(此处为n)开头,然后跟随索引对value。如果我不使用表中的索引,则会得到与第一篇文章中所示相同的错误

阅读LTspice表函数后找到了有效的解决方案

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.