SIMetrix 8.30 电路仿真软件用表达式为元器件值赋值的方法

这篇具有很好参考价值的文章主要介绍了SIMetrix 8.30 电路仿真软件用表达式为元器件值赋值的方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

SIMetrix/SIMPLIS电路仿真软件

SIMetrix/SIMPLIS为一款结合速度与精度的模拟电路仿真软件,SIMetrix基于SPICE模型,可精确仿真瞬态;而SIMPLIS则是对器件进行分段线性建模,将一个完整的系统定义成完整的线性电路拓扑循环序列,因此可获得很高的速度。

用表达式为元器件值赋值的优点

用SIMetrix/SIMPLIS仿真软件进行电路仿真时经常需要多次修改元器件参数的值,而且很多元件的参数之间具有关联性,一些元件的参数值依赖于其他元件的参数值。这样每次修改都需要用计算器重新进行计算,十分麻烦。

其实可以将元件的值写成表达式,用这些表达式表示元件之间的关联性,并在仿真前将基本元件进行赋值,本文讲述了实现用表达式进行元件参数赋值的方法和步骤。

表达式赋值的方法和步骤

1. 设计原理图

设计要仿真的原理图,原理图中的元件值用大括号{ }中的符号表示,这些符号可以是字母、数字,也可以是数学表达式。如下图中的电容C2用{CT}表示。而对于电感L2, L3, L4, 他们的参数值依赖于参数LT、 LR、k,例如,电感 L2 用表达式 {LT-ksqrt(LTLR)} 表示其依赖关系。
simetrix,笔记,硬件工程,射频工程,基带工程,线性代数
由于这些符号、表达式并不是元器件真正的值,仿真时会出错:

*** ERROR *** Instance 'R4', parameter 'resistance': Cannot evaluate expression 'R_load'
Unknown parameter 'R_load'

*** ERROR *** Instance 'R3', parameter 'resistance': Cannot evaluate expression 'RR'
Unknown parameter 'RR'

*** ERROR *** Instance 'R2', parameter 'resistance': Cannot evaluate expression 'RT'
Unknown parameter 'RT'

因此仿真前需对这些符合和表达式进行赋值。我们采用命令 .PARAM在命令行中进行赋值。

2. 打开命令行窗口

Simulate->Open/Close Command(F11)Window F11打开命令行窗口
simetrix,笔记,硬件工程,射频工程,基带工程,线性代数

3. 在命令行窗口为元器件值赋值

.PARAM CT 	109p
.PARAM RT	1
.PARAM LT	4.9u
.PARAM LR	2.25u
.PARAM RR	2
.PARAM CR	220p
.PARAM R_load	25 
.PARAM k 0.1
.simulator DEFAULT

4. 仿真

Simulator – Choose Analysis – AC进入下图页面,设置扫描频率

simetrix,笔记,硬件工程,射频工程,基带工程,线性代数
选择Enable multi-step 点击Define… 进入下一页面

simetrix,笔记,硬件工程,射频工程,基带工程,线性代数
在Parameters name 中输入R_load,设置从5-25欧姆中的5个值,对应不同的曲线

点击Simulator–Run Schematic, 得到如下仿真结果的波形图
simetrix,笔记,硬件工程,射频工程,基带工程,线性代数

5. 观察自动生成的design.net文件

打开自动生成的design.net文件,发现通过命令设置的元件参数的语句被自动生成到该文件中。如下代码中的最后8行文章来源地址https://www.toymoban.com/news/detail-579869.html

*#SIMETRIX
V1 V1_P 0 AC 1 0
R2 R2_P C2_P {RT}
R3 R3_P L3_N {RR}
R4 C3_P 0 {R_load}
L2 R2_P L2_N {LT-k*sqrt(LT*LR)}   
L3 L2_N L3_N {LR-k*sqrt(LT*LR)}   
X$H2 H2_P 0 V1_P H2_CN H2$TP_CCVS params: gain=1 pinnames: P N CP CN
.subckt H2$TP_CCVS 1 2 3 4
H1 1 2 V1 {gain} 
V1 3 4
.ends
L4 L2_N 0 {k*sqrt(LT*LR)}   
C2 C2_P H2_CN {CT}   
C3 C3_P R3_P {CR}   
.KEEP V1_P H2_P
.GRAPH "mag(:V1_P/:H2_P)" Curvelabel="Gain" nowarn=true yunit="V/V" complete=True analysis="ac" ylog=lin xlog=auto  ydelta=20 persistence=-1 colourname=Probe2_bode_color     axisname=bodemag  order=1    userid=Probe2$GAIN. MeasureSpec="Gain\sCrossover\sFrequency\s(dB\sPlot)|0|0|0|0!Gain\sMargin\s(dB\sPlot)|0|0|0|0"
.post_process probe_measure Probe2$GAIN. Gain\sCrossover\sFrequency\s(dB\sPlot)|0|0|0|0!Gain\sMargin\s(dB\sPlot)|0|0|0|0
.GRAPH "ph(:V1_P/:H2_P)" Curvelabel="Phase" nowarn=true yunit="degrees" complete=True analysis="ac" ylog=lin xlog=auto  ydelta=45 persistence=-1 colourname=Probe2_bode_color   axistype=grid  axisname=bodephase  order=0    userid=Probe2$PHASE. MeasureSpec="Phase\sMargin\s(Phase\sPlot)|0|0|0|0"
.post_process probe_measure Probe2$PHASE. Phase\sMargin\s(Phase\sPlot)|0|0|0|0
.tran 1m
.ac lin 1k 5500000 8500000 Sweep single param=R_load lin 5 5 25
.PARAM CT 	109p
.PARAM RT	1
.PARAM LT	4.9u
.PARAM LR	2.25u
.PARAM RR	2
.PARAM CR	220p
.PARAM R_load	25 
.PARAM k 0.1

到了这里,关于SIMetrix 8.30 电路仿真软件用表达式为元器件值赋值的方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • LangChain 67 深入理解LangChain 表达式语言30 调用tools搜索引擎 LangChain Expression Language (LCEL)

    LangChain系列文章 LangChain 50 深入理解LangChain 表达式语言十三 自定义pipeline函数 LangChain Expression Language (LCEL) LangChain 51 深入理解LangChain 表达式语言十四 自动修复配置RunnableConfig LangChain Expression Language (LCEL) LangChain 52 深入理解LangChain 表达式语言十五 Bind runtime args绑定运行时参数

    2024年01月23日
    浏览(39)
  • 软件测试/测试开发丨Python 内置库 正则表达式

    本文为霍格沃兹测试开发学社学员学习笔记分享 原文链接:https://ceshiren.com/t/topic/27058 正则表达式 使用re模块实现正则表达式操作 正则表达式就是记录文本规则的代码 可以查找操作符合某些复杂规则的字符串 把正则表达式作为模式字符串 正则表达式可以使用原生字符串来表

    2024年02月10日
    浏览(44)
  • 软考:中级软件设计师:程序语言基础:表达式,标准分类,法律法规,程序语言特点,函数传值传址

    提示:系列被面试官问的问题,我自己当时不会,所以下来自己复盘一下,认真学习和总结,以应对未来更多的可能性 关于互联网大厂的笔试面试,都是需要细心准备的 (1)自己的科研经历, 科研内容 ,学习的相关领域知识,要熟悉熟透了 (2)自己的实习经历,做了 什

    2024年02月09日
    浏览(41)
  • 【数据结构】超详细讲解:算术表达式转化为后缀表达式、前缀表达式、表达式树的构建

    作者: 努力学习的大一在校计算机专业学生,热爱学习和创作。目前在学习和分享:算法、数据结构、Java等相关知识。 博主主页: @是瑶瑶子啦 所属专栏: 【数据结构】:该专栏专注于数据结构知识,持续更新,每一篇内容优质,浅显易懂,不失深度! 近期目标: 写好专栏

    2024年02月08日
    浏览(38)
  • 【数据结构与算法】【12】前缀表达式、中缀表达式、后缀表达式

    什么是前缀表达式、中缀表达式、后缀表达式 前缀表达式、中缀表达式、后缀表达式,是通过树来存储和计算表达式的三种不同方式 以如下公式为例 ( a + ( b − c ) ) ∗ d ( a+(b-c) )*d ( a + ( b − c ) ) ∗ d 通过树来存储该公式,可以表示为 那么问题就来了,树只是一种抽象的数据

    2024年02月08日
    浏览(35)
  • 《数据结构》:中缀表达式转后缀表达式 + 后缀表达式的计算

    补充了一个判断输入中缀表达式 合法性 的代码: 《数据结构》:中缀表达式合法性判断_Amentos的博客-CSDN博客   目录 一、基本概念 二、中缀表达式转后缀表达式    例       中缀表达式  2*(3+5)+7/1-4  转换为后缀表达式 三、后缀表达式的计算    例       后缀表达式

    2024年02月03日
    浏览(45)
  • 【数据结构】13:表达式转换(中缀表达式转成后缀表达式)

    从头到尾依次读取中缀表达式里的每个对象,对不同对象按照不同的情况处理。 如果遇到空格,跳过 如果遇到运算数字,直接输出 如果遇到左括号,压栈 如果遇到右括号,表示括号里的中缀表达式已经扫描完毕,将栈顶的运算符弹出并输出, 直至遇到左括号(左括号出栈

    2024年02月19日
    浏览(37)
  • 中缀表达式转后缀表达式

      一种不需要括号的后缀表达法,也把它称为 逆波兰 表示,是波兰逻辑学家卢卡西维奇(Lukasiewicz)发明的一种表示表达式的方法。   中缀表达式指的是“9+(3-1)×3+8÷2”,这种就是我们通常见到的书写算式顺序,要计算中缀表达式则首先要将字符串转换为后缀表达式,即

    2023年04月08日
    浏览(34)
  • Golang通过栈实现表达式运算(中缀表达式转后缀表达式解析语法)

    需求背景:将string表达式数组 [title == AUSU ( header == Wecome || brand != AC68U )] 解析并使用ES查询得到运算结果。 分析:带有括号的表达式,需要根据优先级解析,可将中缀表达式转换为后缀表达式,去除括号

    2024年02月14日
    浏览(35)
  • 【正则表达式】正则表达式常见匹配模式

    模式 描述 w 匹配字母数字及下划线 W 匹配非字母数字下划线 s 匹配任意空白字符,等价于 [tnrf]. S 匹配任意非空字符 d 匹配任意数字,等价于 [0-9] D 匹配任意非数字 A 匹配字符串开始 Z 匹配字符串结束,如果是存在换行,只匹配到换行前的结束字符串 z 匹配字符串结

    2024年02月09日
    浏览(61)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包