参考手册:ngspice26-manual(官网下载)
关于ngspice的介绍上一篇博文
SPICE电路仿真(1)
已经简单介绍了,并且给出了3个例子,这篇博文主要介绍电源部分,因为是每隔一段时间学一下,看英文帮助文档学的,为了不忘记所学就记录在博客上,顺道和大家一起分享,有错误之处也请指正。
主要介绍4种电源,直接给出代码了,代码有详细注释
(1)Pulse
PULSE SOURCE ;脉冲电压测试例程
* 格式:PULSE(V1 V2 TD TR TF PW PER)
* 参数介绍:
* V1 Initial value
* V2 Pulsed value
* TD Delay time,延时时间
* TR Rise time,上升时间
* TF Fall time,下降时间
* PW Pulse width,脉宽
* PER Period,周期
VIN 1 0 PULSE(0 5 2NS 3NS 2NS 10MS 40MS)
R1 1 2 20 ;电阻R1,20欧姆,连接在节点1和节点2
R2 2 0 20 ;电阻R2,20欧姆,连接在节点2和节点0
.TRAN 0.1M 80M ;瞬态分析,打印时间间隔0.1ms,终止时间80ms,使用初始化条件
.END
* 输入下面的命令,获取R1两端的电压,注意 '->' 后面的才是命令
* -> source pulse_source.cir; run ;plot v(1,2)
(2)Sinusoidal
Sinusoidal ;正弦电源
* SIN(VO VA FREQ TD THETA)
* 参数介绍:
* VO 偏置
* VA 幅值
* FREQ 频率
* TD 延时时间
* THETA 阻尼系数
VIN 1 0 SIN(0 1 100MEG 1NS 100k) ;频率100MHz,周期0.01us=10ns
R1 1 2 20 ;电阻R1,20欧姆,连接在节点1和节点2
R2 2 0 20 ;电阻R2,20欧姆,连接在节点2和节点0
.TRAN 0.01NS 80NS ;瞬态分析,打印时间间隔0.01ns,终止时间80ms,不使用初始化条件
.END
* 输入下面的命令,获取R1两端的电压,注意 '->' 后面的才是命令
* -> source Sinusoidal_source.cir; run ;plot v(1,2)
(3)Single-Frequency FM
Single-Frequency FM ;Single-Frequency FM测试例程
* SFFM(VO VA FC MDI FS)
* Name |Parameter | Default value | Units
* VO |Offset | - | V, A
* VA |Amplitude | - | V, A
* FC |Carrier frequency | 1 / TSTOP | Hz
* MDI |Modulation index | - |
* FS |Signal frequency | 1 / TSTOP | Hz
* 输出波形由下面方程决定:
* V(t) =VO +V A sin(2πFCt +MDIsin(2πFSt))
VIN 1 0 SFFM(0 1 20K 5 1K)
R1 1 2 20 ;电阻R1,20欧姆,连接在节点1和节点2
R2 2 0 20 ;电阻R2,20欧姆,连接在节点2和节点0
.TRAN 10NS 1.4M ;瞬态分析,打印时间间隔0.1ns,终止时间1.4ms,不使用初始化条件
.END
* 输入下面的命令,获取R1两端的电压,注意 '->' 后面的才是命令
* -> source Single-Frequency_FM.cir; run ;plot v(1,2)
(4)Random voltage source
Random voltage source ;Random voltage source
* TRRANDOM(TYPE TS >>),<>表示参数可选
* TYPE description PARAM1 default PARAM2 default
* 1 Uniformly distributed Range 1 Offset 0
* 2 Gaussian Standard Dev 1 Mean 0
* 3 exponential Mean 1 Offset 0
* 4 Poisson Lambda 1 Offset 0
* TS duration of an individual voltage value
* TD Time delay
*
* VIN 1 0 dc 0 trrandom (1 10ms 0s 5 0) ;类型1均匀分布,持续10ms,延时0s,范围0-5,偏置0
* VIN 1 0 dc 0 trrandom (2 10m 0 1) ;类型2高斯分布,标准差0,均值1,持续10ms
* VIN 1 0 dc 0 trrandom (3 10m 0s 3 1) ;类型3指数分布,均值3,偏置1
VIN 1 0 TRRANDOM (4 10MS 0S 7 0) ;类型4泊松分布,参数lambda为7,偏置0,注意大小TRRANDOM写都可以
R1 1 2 20
R2 2 0 20
.TRAN 0.1MS 100MS ; 暂态分析,间隔0.1ms,终止时间100ms
.END
* ngspice输入以下命令,注意'->'后面的才是命令语句
* -> source Random_voltage_source.cir; run ;plot v(1,2)
输出结果就不上图了,可以自己修改参数试试
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
|