Python绘制LTspice仿真趋势图

2023-11-08

LTspice集成Python处理信号

首先,使用Python创建一个信号,然后,通过一个 LTspice 滤波器电路运行它,同时我们在 python 中控制一些滤波器的可调参数,最后,使用Python绘制结果。

我们打开 LTspice 并创建一个如下所示的电路,并将其保存为“ficircuit.asc”。

重点是:

  • 电压源被配置为“回放”在尚不存在的、即将自动生成的输入文件 (“sig_in.csv”) 中定义的信号
  • 电路的电压输出必须标记为“vout”
  • 框中的命令,告诉 LTspice 包含来自external .txt 文件的参数以及定义瞬态仿真的停止时间和时间步长的 .tran 命令

电路的其余部分稍后可以根据您自己的需要进行更改。 请注意,我们示例电路中的电容器和电感器尚未定义值,但它们的值设置为变量“C”和“L”(我们将在 python 代码中设置)。

我们设计了过滤器。 现在我们关闭 LTspice 并在 python 中完成剩下的工作。 让我们创建一个python脚本:

结果绘图如下:

快速卷积滤波器

针对上述信号处理速度太慢,在此设计以恶快速卷积滤波器。假设您在 LTSpice 中为您的高保真系统设计了一个均衡器,如下,就是通过电路播放 wav 文件时的声音。

工作原理

但是,如果我们的滤波器/电路是线性时不变系统系统(LTI),我们可以使用一个技巧,简而言之,LTI 系统是由无源元件和理想(非饱和)运算放大器构成的一切。 那么我们的滤波器可以完全由它的脉冲响应函数 h(t) 来表征。

示例1:快速卷积滤波器

# our samples shall be 100 ms wide
sample_width=100e-3
# time step between samples: 0.1 ms
delta_t=0.1e-3
samples = int(sample_width/delta_t)
 
time = np.linspace(0,sample_width,samples)
 
# we want 1 V between 10 ms and 30 ms, and 2.5 V between 40 and 70 ms
signal_a = 0 + 1*((time > 10e-3) * (time < 30e-3)) + 2.5*((time > 40e-3) * (time < 70e-3))
 
##################################################
##             apply filter direct              ##
##################################################
 
# all values in SI units
filter_configuration = {
  "C":100e-6, # 100 uF
  "L":200e-3  # 200 mH
}
 
dummy, signal_b = apply_ltspice_filter(
      "ficircuit.asc",
      time, signal_a,
      params = filter_configuration
      )
 
##################################################
##                     plot                     ##
##################################################

结果绘图:

十个不同的输入脉冲,眨眼间全部由卷积滤波器处理。 根本没有调用 LTspice。

示例2:快速卷积滤波器应用于音频

我们看到卷积滤波器方法对于处理大量短输入信号很有用。 但是一个很长的输入信号呢,例如,音频文件? 我下载了一个很好的示例 .wav 文件来测试我们的过滤器。 音频处理电路图如下:

源代码

详情参阅 - 亚图跨际

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python绘制LTspice仿真趋势图 的相关文章

随机推荐

  • Mybatis执行流程剖析

    这里写自定义目录标题 一 流程 从项目中看流程 一 流程 Resource获取加载全局配置文件 如图 引入properties文件和连接数据库等配置都在xml中 实例化SqlSessionFactoryBuider构造器 SqlSessio
  • 解决Oracle数据库ORA-01157: cannot identify/lock data file 10 - see DBWR trace file ORA-01110: data file 1

    解决Oracle数据库启动报错ORA 01157 cannot identify lock data file 10 see DBWR trace file ORA 01110 data file 10 u01 app oracle ora
  • 蓝桥杯-时间显示(java)

    问题描述 小蓝要和朋友合作开发一个时间显示的网站 在服务器上 朋友已经获取了当前的时间 用一个整数表示 值为从1970年1月1日O0 00 00到当前时刻经过的毫秒数 现在 小蓝要在客户端显示出这个时间 小蓝不用显示出年月日 只需要显示出时
  • es ik 词库添加词语_五、IK自定义词库及远程热更新

    IKAnalyzer cfg xml为IK分词器的配置文件 一 IKAnalyzer cfg xml文件分析properties SYSTEM http java sun com dtd properties dtd gt IK Analy
  • 本周参加两个SAP项目面试后的感想

    本周参加两个SAP项目面试后的感想 本周二和周四 应约参加了2个不同项目的电话面试 感触挺多的 1 行业经验在很多项目选人的时候具有关键性的决定作用 A项目 是一个快消品行业的大项目 客户是世界跨国巨头 听对方介绍起来该项目规模庞大 极其复
  • JS多个对象添加到一个对象中

    var obj1 qq 10 var obj2 mm 2 nn 3 var obj3 xx 1 yy 5 obj1 field1 obj2 obj1 field2 obj3 console log obj1 转载于 https www cn
  • linux系统查看文件大小及使用空间大小

    1 查看 data test文件夹下所有文件大小之和命令 du h max depth 1 data test 2 查看 data test文件夹下所有文件大小明细 每个文件大小 命令 du h max depth 1 data test
  • 四路服务器选型项目,四路服务器详细

    四路服务器详细 内容精选 换一换 在待分析的服务器上安装节点 Web服务器 即安装鲲鹏性能分析工具的服务器 默认安装了节点 如果待分析的服务器与安装工具的服务器是同一个 请跳过该章节 已成功登录系统性能分析 待添加节点的服务器已配置操作系统
  • 17款最佳的代码审查工具

    好的代码审查器可以大大地帮助程序员提高代码质量 减少错误几率 虽然现在市场上有许多可用的代码审查工具 但如何挑选也是一个艰巨的任务 在咨询过有关专家的建议和意见之后 我们罗列出了以下17款最佳的代码审查工具 1 CodeStriker Co
  • Vue.js 条件渲染全解析

    注意标题是条件渲染而不是条件判断 Vue给v if这类条件判断属性取名叫条件渲染 这些属性的目的是判断要不要渲染这些元素 而不仅仅是所谓的判断 是否渲染才是最主要的功能 v if的使用 例如下面的代码 span里面可以显示message的信
  • 关于 Diffie-Hellman 组

    Diffie Hellman DH 组确定了在密钥交换进程中使用的密钥的强度 组的编号越大安全性就越高 但是也就需要更多的时间来计算密钥 WatchGuard 设备支持 Diffie Hellman 组 1 2 和 5 DH 组 1 768
  • PAT C 语言入门题目-7-60 删除重复字符 (20 分)

    7 60 删除重复字符 20 分 本题要求编写程序 将给定字符串去掉重复的字符后 按照字符ASCII码顺序从小到大排序后输出 输入格式 输入是一个以回车结束的非空字符串 少于80个字符 输出格式 输出去重排序后的结果字符串 输入样例 ad2
  • 06_列表渲染_1

    div h2 测试 v for 遍历数组 h2 ul li index p name li ul div
  • Linux多进程:zombie process——僵尸进程

    僵尸进程zombie process 子进程终止时 父进程尚未回收子进程残留的内核区资源 从而变成僵尸进程 僵尸进程不能被 kill 9 杀死 如果父进程不调用wait 或waitpid 的话 僵尸进程不会被处理 其pcb pid等资源一直
  • 英语二作文模板及范文

    文章目录 四大写作模板 辩证分析类 短文题目 二选一 模板 A OR B 范文 解决问题类 短文题目 提纲思路 写作模板 题目 范文 Fight against Haze 个人介绍类 短文题目 提纲思路 写作模板 范文 My Hobby 电
  • 在微信公众号里使用LaTeX数学公式

    quicklatex这个神器和它的wordpress插件QuickLaTeX 几乎完美支持和兼容Mathjax所支持的LaTeX数学公式 方法很简单 只要在wordpress中安装quicklatex 然后在文章的开头添加一个 latexp
  • b树和b+树的数据结构

    在B树中 你可以将键和值存放在内部节点和叶子节点 但在B 树中 内部节点都是键 没有值 叶子节点同时存放键和值 B 树的叶子节点有一条链相连 而B树的叶子节点各自独立 B树 普通的二叉树一个节点有一个元素 B树一个节点可以有多个元素 节点里
  • 进程调度:时间片轮转调度算法

    一 实验目的 1 加深对进程的理解 2 理解进程控制块的结构 3 理解进程运行的并发性 4 掌握时间片轮转法进程调度算法 二 实验原理 1 建立进程控制块 2 设计两个链队列 分别表示就绪队列和完成队列 3 用户输入进程标识符 进程到达时间
  • 以太坊系列 - 以太坊的测试网

    测试网简介 目前Ethereum存在三个测试网 分别是Ropsten PoW算法 支持Parity和Geth Kovan PoA算法 Parity专用 和Rinkeby Clique PoA共识算法 Geth专用 Ropsten PoW S
  • Python绘制LTspice仿真趋势图

    LTspice集成Python处理信号 首先 使用Python创建一个信号 然后 通过一个 LTspice 滤波器电路运行它 同时我们在 python 中控制一些滤波器的可调参数 最后 使用Python绘制结果 我们打开 LTspice 并