表达方式
运算符优先级
表达式可用于定义组件值并帮助配置电压和电流源。
在表达式中,括号的优先级是最高的,下表根据优先级对运算符进行说明,对于同等级的运算符,计算方式从左到右,函数仅对实数值起作用。
|运算符|优先级|描述||运算符|优先级|描述| |:---😐:---😐:--:||:---😐:---😐:--😐 |-|1|求反||<=|5|小于等于| |!|1|非 ||>=|5|大于等于| |*|2|功率||<|5|小于| ||3|乘 ||>|5|大于| |/|3|划分||&|6|与| |+|4|加||≥1|7|或| |-|4|减||^|7|异或| |==|5|等于||If(x,y,z)|8|三元运算符|
数字零用于表示布尔False。其他任何数字均表示布尔值True。
逻辑运算符的结果为1或0。0为False,1位True。
以下为用于定义电压源值的逻辑运算符的一些示例:
V1或1 0 {1 | 0}; V2和2 0 {1&0}; V3not 3 0 {!1}; V4not 6 0 {!0}。
注意,当直接在原理图中的组件和描述字段中使用表达式时,表达式必须位于同一行上。
使用表达式定义组件值
一阶RC高通滤波器的-3dB频率fc由下式给出:
fc = 1 /(2 pi R *C)
如果fc为10kHz,R为1k时:
C = 1 /(2 pi 1k * 10k)
假设需要将高通滤波器的输出衰减A倍,高通滤波器的R的值仍为1k,但必须将其分成两个电阻,其值由下式给出:
R1=(R1+R2)* 1 / A
R2 =(R1 + R2)*(1-1 / A)
2
3
如果我们选择A = 3,则对于R = 1k的选定值
R1= 1k * 1/3、R2= 1k * 2/3
只需将这些表达式的右侧输入组件值字段,并用大括号括起来,如下所示:
{expression}
这些组件的值将直接由这些表达式定义,如本示例中的Rupper和Rlower所示。
使用表达式配置电压和电流源
在此示例中,PULSE源V1配置为生成具有20us上升和下降时间,5kHz频率以及完全相等的高低时间的信号:换句话说,是200us周期的慢边沿方波和50%的占空比。
由于PULSE信号源是按照Trise(上升时间)和Ton(下降时间)定义的,因此将从上升(前沿)开始到下降(后沿)开始的时间间隔视为“脉冲宽度”会有所帮助,宽度:
Twidth = Trise + Ton
因此,根据Trise和Twidth定义PULSE源是一件简单的事情,而不必手动计算Ton(下降时间)的值,因为:
Ton=Twidth-Trise
由此我们还可以看到,如果将“占空比”定义为:
D =Twidt/Tperiod
然后对于给定的D(占空比):
Ton=D*Tperiod-Trise
最后,有时可以根据频率来定义PULSE源的周期:
Frequency = 1/Tperiod
要在源中使用表达式,只需将其替换为您要计算的值,然后将其括在大括号中,如下所示:
以下示例说明了表达式的使用: