开源项目ltspice2matlab

在mathworks官网搜索ltspice,即可发现存在一个开源项目ltspice2matlab,而且代码放在github上: ltspice2matlab

下载ltspice2matlab代码文件

在github上下载ltspice2matlab.m文件之后,打开我们能够看到注释掉的说明信息,此外还有example部分详细说明了ltspice2matlab函数怎么使用

%    Calling Convention:
%        RAW_DATA = LTspice2Matlab( FILENAME );                  % Returns all variables found in FILENAME
%                             (or)
%        RAW_DATA = LTspice2Matlab( FILENAME, SELECTED_VARS );   % Returns only selected variables
%               Set SELECTED_VARS to [] to quickly determine the number and names of variables present in
%               FILENAME without actually loading the variables.
%                             (or)
%        RAW_DATA = LTspice2Matlab( FILENAME, SELECTED_VARS, N );
%               Returns variables listed in SELECTED_VARS, with all waveforms downsampled by N. Set N > 1 to
%               load very large data files using less memory, at the price of degraded waveform accuracy and
%               possible aliasing.

如果想要使用ltspice2matlab函数,需要将ltspice2matlab.m文件拷贝到MATLAB的当前工作文件夹下即可。

导入数据之前

由于需要的是幅频和相频特性曲线,故在LTspice中电压源需要右键设置小信号分析Small signal AC Analysis的幅值,然后设置simulate中的AC analysis,运行之后点击vout节点,能够看到RAW文件中显示出了对应的波形。具体的操作可以参考之前的一篇博客。LTspice入门使用教程

之后将LTspice的RAW文件保存到MATLAB的工作文件夹下即可

  • 为了方便查找输出电压节点,建议使用工具栏中的Label Net将输出电压节点标记为vout或其他便于查找的名称,因为LTspice默认的节点命名没有规律,在菜单栏中选择View,点击SPICE Netlist可以查看网表连接。此处的节点的名称在后面查找数据时会使用到。

MATLAB导入数据

在MATLAB命令行中输入如下命令,其中RAW文件需要放在MATLAB的工作文件夹下

  • 注意是.RAW文件,不是op.RAW文件
raw_data = LTspice2Matlab('HW3.RAW')

此时能够在右侧看到已经导入到MATLAB的raw_data,双击raw_data可以查看更多变量

其中的freq_vect是频率的数据点,可以看到一共有6001个,所以选取一维数组数据时最多可以选到6001,variable_mat是一个二维数组,每一行对应存储一个变量的值,其中行号和变量的对应关系需要在variable_name_list中查看

我们可以看到vout是第25个,vs是第22个

  • 不同的仿真文件对应的节点顺序不一样,不能简单套用这里的节点编号。
  • 不同的仿真文件的频率点的个数也不一样,不能直接使用这里的1:6000,可能会超出范围而报错。

双击variable_mat可以看到所有的数据,其中25行和22行是我们需要的数据

下面是完整的导入数据的例程:

raw_data = LTspice2Matlab('HW3.RAW');
variable_to_plot1 = 25;   %vout 在LTspice中对应的节点是n006,v(n006)在variable_name_list中是第25个,故此处值为25
variable_to_plot2 = 22;   %vs对应第22个变量
part = 1 : 6000;          %freq_vect变量中中总共有6000个数据f = raw_data.freq_vect(1,part);
Av_Sim = 20*log10(abs(raw_data.variable_mat(variable_to_plot1,part)./raw_data.variable_mat(variable_to_plot2,part))) ;
Ang_Sim = angle(raw_data.variable_mat(variable_to_plot1,part)./raw_data.variable_mat(variable_to_plot2,part))*180/pi;% f 即为RAW文件中的freq_vect数组存放的频率数据
% Av=20lg|vout/vs|, angle()函数取复数的幅角, 输出是弧度制, abs()是取复数的模

之后再使用半对数坐标就可以得到最终的波特图

  • LTspice交流分析下看到的幅频特性曲线是20lg(|vout|),所以在LTspice上看到的幅频特性曲线有-20lg(|vin|)的差别,例如Vin=1mVV_{in}=1mVVin​=1mV, 此时的LTspice的曲线会比Av(f)小60dB。

MATLAB导入LTspice RAW格式文件教程(绘制波特图)相关推荐

  1. 【Matlab】Matlab导入多个.mat文件并画图的过程详解

    Matlab导入多个.mat文件并画图的过程详解 0. 实验背景 1. 导入.mat文件存储 1.1 导入.mat文件及作图最简单的方式: 1.2 导入.mat文件及作图的脚本代码 2. plot画图 ...

  2. [VB]数据库导入到 CSV 格式文件

    ************************************** ' 过程名: dB_RsToCSVFile ' 功能:数据库导入到 CSV 格式文件 '***************** ...

  3. MATLAB导入Excel时间格式

    MATLAB导入Excel时间格式,并转换成一个秒数 读取Excel时间格式转换成秒数 直接在MATLAB中输入时间格式转换成秒 读取Excel时间格式转换成秒数 Excel中的数据为标准时间形式:1 ...

  4. AE不能导入mov等格式文件

    AE安装好后不能导入mov等格式文件,是由于没有安装quicktime导致. 从以下连接打开安装即可 https://support.apple.com/kb/DL837?locale=zh_CN 如 ...

  5. Python——读取raw格式文件

    Python--读取raw格式文件 文章目录 Python--读取raw格式文件 前言 一.直接上代码 前言 简单记录一下python读取raw格式图像,因为reshape来来回回还交换轴搞得人头大, ...

  6. U盘/硬盘/数码相机RAW格式文件丢失的原因|恢复方法

    在现代数字生活中,U盘.硬盘以及数码相机等设备已经成为我们储存和分享数据的主要工具.然而,当这些设备中的RAW格式文件出现丢失时,我们可能会陷入困境.面对这种情况,了解如何恢复这些RAW格式文件就变得 ...

  7. php 设置raw格式文件,u盘raw格式怎么改过来

    u盘raw格式怎么改过来?u盘被raw格式了怎么办? 打开我的电脑,选工具菜单,再选文件夹选项中,点击查看标签,去掉"使用简单文件共享(推荐)"前的勾,即可. 进"控制面 ...

  8. 在photoshop中编辑550D的raw格式文件

    Cannon 550D的raw格式后缀.rc2,在photoshop中无法编辑,上网搜了一下,要更新plug-ins\文件格式目录中的Camera Raw.8bi文件.这个涉及到ps的版本和Camer ...

  9. 怎么打开DWG格式文件?CAD看图软件哪个好?

    怎么打开DWG格式文件?DWG是一款比较常见的CAD图纸文件格式,如果我们想要打开DWG格式文件进行查看,那么我们应该使用什么软件打开?怎么打开DWG格式文件?CAD看图软件哪个好?通过这篇文章,我就 ...

  10. 教你批量将 JSON 格式文件转为思维导图

    概要:「我的ABC软件工具箱」提供了强大的格式转换的功能,其中就包括将了 JSON 格式的文件转为思维导图的功能,能够轻松实现将不易于读的 JSON 文件转为可读性非常高的思维导图.转换操作非常简单, ...

最新文章

  1. monkey自定义脚本实践
  2. docker学习笔记-为容器配置重启策略
  3. wxWidgets:wxIdleEvent类用法
  4. python教程很详细_Python编程入门教程:从入门到高级,非常详细
  5. gradle5.6.3软件安装
  6. 在线vim配色加term与gui统一颜色调整python脚本
  7. Latex插入超链接
  8. Flask+ZUI 开发小型工具网站 3.1 ——ZUI漂浮消息
  9. 使用EXCEL计算并绘制MACD指标
  10. javascript大全
  11. 自制新型文字密码,聊天记录的画风都不一样了,再也不怕被女朋友偷窥手机了!
  12. Kali Linux查看信息
  13. 【干货】好看小视频去水印软件使用介绍
  14. java 适配器_java里面的适配器是什么东西
  15. Sublime Text使用技巧
  16. 【东游记】美东大环线:华盛顿--费城--纽约--西点--耶鲁--波士顿--美加大瀑布
  17. (转载)Java反射机制
  18. 高德地图天气图标符号大全_时间就是金钱我的朋友!高德地图同步上线《魔兽世界》语音包...
  19. Android Studio 基础 之 简单获取手机端所有图片
  20. HTTPS加密过程和TLS证书验证

热门文章

  1. 服务器设置temp文件夹权限,服务器windows temp 权限设置
  2. 银行卡诈骗新花样升级来袭
  3. 一元三次方程求解c语言
  4. Xilinx FPGA全局时钟和局部时钟
  5. 【颗粒归仓】(一)jQuery easyui datagrid 的数据加载
  6. [PHP] 新浪企业邮箱登录功能难点梳理
  7. 远程移动测试平台对比分析
  8. WinRAR 4.01 key!注册文件 注册码
  9. 【Docker系列】 Docker secrets
  10. 半导体存储器件原理概述