流程:(后面加*的表示是可执行程序)

想法 --> gschem(*) --> basic_LC.sch --> gnetlist(*) --> spice.net

--> ngspice(*) --> 结果

步骤:

1. 这里我们想做一个基本的LC谐振回路的仿真,先用gschem画电路图。

最基本的选元件,指定名称,赋值以及连线,这里不再赘述。

如图为这里的示例电路图:

basic_LC.png

注意信号源选的是SPICE simulation elements库中的vac-1.sym,

它的值(value)是spice中定义电源的语句。另外还使用了spice-inclde-1.sym,

它的file属性设成了./Simulation.cmd,我们将把spice的仿真操作语句填到

这个文件里。另外还设置了Vin和Vout两个赋名网线,使结点号更有意义。

(方法是双击连线,设置netname属性的值)

2. 接下来使用gnetlist给节点编号。使用命令gnetlist -g spice-sdb -o spice.net basic_LC.sch

生成spice.net网表文件。

3. 使用ngspice仿真。

一种方式是批处理形式。首先填写spice仿真操作语句到文件Simulation.cmd里。

这里是一个示例,注意*开头的行是被注释了的。

$cat Simulation.cmd

*.OP

.AC DEC 20 1kHz 10GHZ

* .DC VINPUT 0 5 .01

* .DC VINPUT 1 2 .01

*.plot ac v(Vout) v(Vin)

*.plot ac v(Vout) I(VINPUT)

.plot ac mag(I(VINPUT))

.print ac V(Vout) I(VINPUT)

*.print ac v(Vout) v(Vin)

可以看到这里只是进行了AC扫描,画出了(ascii画)流过电源

的电流的幅度,并打印出了Vout处的电压值和电源的电流值(复数形式)。

使用命令

ngspice -b spice.net > result.txt

以批处理方式仿真spice.net,并将结果保存在result.txt中。

另一种是交互方式。这种方式支持运算符和一些函数,支持作图。

个人以为更强大。

而且交互的命令可以写到文件里的.control和.endc之间的部分,

作为脚本,当以交互式方式运行ngspice时,自动执行其中的命令。

如Simulation.cmd里有如下部分:

.control

echo Hello world!

AC DEC 20 1000kHz 10GHZ

plot mag(V(Vout)/I(VINPUT))

plot ph(V(Vout)/I(VINPUT))

.endc

以交互方式运行ngspice,命令

ngspice spice.net

就会回显hello world!,进行AC扫描,并绘制电路阻抗的频率特性。

参见:

geda wiki里的geda-ngspice_and_gschem.html(安装geda时应该已经被安装)

NGSPICE user manual(可在网上下载)

linux仿真电路指令,使用geda进行电路仿真举例相关推荐

  1. 鸟哥的Linux私房菜(服务器)- 第五章、 Linux 常用网络指令

    第五章. Linux 常用网络指令 最近更新日期:2011/07/18 Linux 的网络功能相当的强悍,一时之间我们也无法完全的介绍所有的网络指令,这个章节主要的目的在介绍一些常见的网络指令而已. ...

  2. 【Multisim仿真】有源低通滤波电路仿真

    [Multisim仿真]有源低通滤波电路仿真 Multisim仿真演示 有源低通滤波器 低通滤波(Low-pass filter)是一种过滤方式,规则为低频信号能正常通过,而超过设定临界值的高频信号则 ...

  3. Simulink Simscape基础仿真电路

    在网上找了挺多关于MATLAB Simulink simscape仿真电路的资料都没有自己想要的,大都是Sympowersystem的教程,最后还是上了YouTube观看了一些教程,现在做下学习记录. ...

  4. Linux - 网络相关指令

    系统时间与开关机 查看系统时间 date 查看硬件日期 hwclock 学习Linux不必全部指令都会,只要记住主要常用的几个就可以了.--MK 关机命令 shutdown init reboot p ...

  5. linux显示界面指令规范,linux的常规操作命令

    linux的高版本推出了用户界面,但今天我们还是来学习一下命令. 一. linux的基本命令 1. whoami //查询当前操作用户 who am I //查询当前的登录用户 我是谁 2. pwd ...

  6. Linux中基础指令

    Linux中基础指令

  7. linux查看进程运行日志文件,【Linux】常用指令、ps查看进程、kill杀进程、启动停止tomcat命令、查看日志、查看端口、find查找文件...

    1.说出 10 个 linux 常用的指令 1) ls 查看目录中的文件 2)cd /home 进入 '/ home' 目录:cd .. 返回上一级目录:cd ../.. 返回上两级目录 3)mkdi ...

  8. 查看linux硬核上的线程,给大家分享一点基础硬核知识哦 Linux的基础指令操作Lin...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 给大家分享一点基础硬核知识哦 Linux的基础指令操作L inux的基础指令操作 Linux的指令下达方式很简单,只需要记得几个重要的概念就可以 l: c ...

  9. linux 树状结构图,linux下tree指令的用法, 树状图列出目录, 树状图逐级列出目录...

    tree命令,主要功能是创建文件列表,将所有文件以树的形式列出来 linux下的tree就比较强大了,但一般系统并不自带这个命令,需要手动下载安装, 安装 sudo apt install tree ...

最新文章

  1. Linux下redis安装与使用
  2. SPOJ- QTREE+HDU 3966(树链剖分裸题
  3. 怎么画正五边形步骤_悄悄告诉你们:一种没有美术基础,也能画好画的方法
  4. [转]浅谈MS-SQL锁机制
  5. 360 c语言 笔试,奇虎360校招的笔试真题
  6. 自己动手写Docker系列 -- 3.1构造实现run命令版本的容器
  7. Github的README中插入图片,Github仓库项目主页显示图片
  8. centos6.5 redis3 开机自动启动命令设置
  9. php导入csv 进度条,php 导入导出怎么做成有进度条??
  10. 打开Access时电脑出现蓝屏,错误编号0x00000116的问题解决
  11. Python 把蓝底照片转化为白底照片
  12. 拼多多新店扶持期是多久?
  13. 完整的高性能PHP应用服务器appserver
  14. 进程与程序的区别和联系
  15. 局域网里如何访问wifi路由器下的设备?
  16. 沃云的rds数据库修改sql_mode
  17. vim 显示和隐藏行号
  18. 对不起,云计算技术又走错路了
  19. 网狐棋牌客户端连接服务器修改方法
  20. linux命令dstat,dstat命令

热门文章

  1. Speedoffice(word)文档如何修图
  2. android 按钮手势,【一加 3T 安卓手机使用总结】系统|开关|按键|手势|模式_摘要频道_什么值得买...
  3. Idea中Spring5源码编译Spring-oxm报错: 缺少castor和jax
  4. 一文看懂汽车电子ECU bootloader工作原理及开发要点
  5. PTGUI全景合成软件使用教程之镜头参数设置
  6. WINE 安装使用钉钉 Dingtalk
  7. 超市库存管理java sql_基于JAVA的超市管理(商店库存)系统的设计与实现(Eclipse,SQLServer)...
  8. 激光雷达物体检测(二):点视图检测算法
  9. 陈南峰质量讲堂3 | 质量工具方法之间的关系
  10. python返回上级_python 获取当前,上级,上上级路径(任何上级路径)