SPICE电路仿真(2)--电源

参考手册: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 <TD <PARAM1 <PARAM2>>>),<>表示参数可选

* 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)

输出结果就不上图了,可以自己修改参数试试

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值