读取和解析Rigol示波器WFM文件
RigolWFM的Python项目详细描述
本项目旨在成为解释Rigol示波器创建的波形.wmf文件的综合资源。解析/转换Rigol二进制.wfm文件的开源(以及Rigol自己的应用程序)被不幸地分割成了两半:每个程序倾向于支持一个单一的示波器组,可用的工作分布在一系列语言中。在
此项目利用一种特定于域的语言(kaitai struct)来表示二进制文件。一旦二进制文件已经以这种文本格式描述,可以为各种语言生成解析器(C++/STL,C++,GO,java,JavaScript,Lua,Perl,PHP,Python和露比)。在
Kaitai Struct<;https://kaitai.io>;还有一个光滑的web IDE<;https://ide.kaitai.io>;它允许用户直接在浏览器中交互式地反向工程二进制文件格式。这对那些没有文档记录的Rigol.wfm格式非常有用。在
安装
RigolWFM软件包可以通过pip安装:
pip install RigolWFM
使用
完成此操作后,可以通过以下方法绘制二进制Rigol.wfm文件中的信号:
^{pr2}$或者,可以从命令行使用wfmconvert。{1000e当前目录中的所有文件都应该转换成以下格式:
prompt> wfmconvert E csv *.wfm
如果要创建与LTSpice一起使用的.wav文件,则可以创建这些文件:
prompt> wfmconvert E wav *.wfm
更多详细的文档可以在<;https://RigolWFM.readthedocs.io>
状态
还有一些工作要做(测试、验证、重新打包),但是对于由以下作用域创建的.wfm文件,还有一些二进制文件说明:
- DS1000C未测试
- DS1000E测试
- DS1000Z测试过,但电压偏移不稳定
- DS2000测试
- DS4000测试
- DS6000未测试
资源
这有点冒险。在确定基本格式的过程中,我从其他人开始的大量项目中收集了信息。在
- Shein的Pascal程序<;https://sourceforge.net/projects/wfmreader
- Wagenaars的Matlab脚本<;https://www.mathworks.com/matlabcentral/fileexchange/18999-read-binary-rigol-waveforms
- Steele的C程序<;http://nsweb.tn.tudelft.nl/~gsteele/rigol2dat
- Blaicher的python代码<;https://github.com/mabl/pyRigolWFM
- Szkutnik的python代码<;https://github.com/michal-szkutnik/pyRigolWfm1000Z
- Cat-Ion的python代码<;https://github.com/Cat-Ion/rigol-ds4000-wfm
- holc的python代码<;https://www.tablix.org/~avian/blog/archives/2019/08/quick_and_ugly_wfm_data_export_for_rigol_ds2072a/
- <;http://www.hakasoft.com.au/wfm_viewer的贡献
- 我从Rigol支持中心得到的一个LabView程序
- Rigol的1000E、1000Z、2000和6000文件格式的文档。在
许可证
BSD 3-clause – see the file ^{tt8}$ for details.
- 项目
标签: