siglent 1000/2000x二进制输出文件的分析器
siglent-parser的Python项目详细描述
siglent_解析器
使用python工具分析从siglent范围获得的数据 你知道,爱!
siglent_parser是用于转换siglent的python库 1000/2000xbinary data到numpy数组。
库当前配置为模拟数据和2000x型号。 但是,参数和逻辑是用来扩展库的 处理数字数据和1000倍型号的功能。关于如何 为此,请参见Todo。相关方是 鼓励提交拉取请求!
使用siglent sds2304x和 是在Windows10上使用Python3.6编写的。已经做了尝试 使图书馆平台独立,尽管是YMMV。图书馆 是使用Siglent Technologies提供的规范创建的 在文档How to Extract Data from the Binary File of SDS2000X, SDS1000X, and SDS1000X-E中。
如何获得它
去图书馆有三种方法。
克隆
请考虑为这个项目做贡献!你的帮助很有价值!
要克隆,siglent_解析器库,请执行
hg clone https://excalamus@bitbucket.org/excalamus/siglent_parser
下载
从主downloads page下载库的zip。
PYPI
siglent_解析器libary在 PyPi。
要在python环境中安装它,请执行
pip install siglent-parser
设置
如果库是克隆或下载的,则需要安装 库及其依赖项:
# Make sure you're in the directory above siglent_parser# This will install the library as an editable package pip install -e siglent_parser # Make sure you're in the same directory as requirements.txt pip install -r requirements.txt
在撰写本文时,唯一的依赖项是numpy。
使用siglent_解析器库
此时,siglent_解析器库只严格解析 模拟文件(See Todo)。输出是一个numpy数组 然后可以绘制等。
frompathlibimportPathfromsiglent_paserimportSiglentParsermy_analog=Path(r"tests\resources\analog_sample2\SDS00001.BIN")my_digital=Path(r"tests\resources\digital_sample1\SDS00002.BIN")my_digtal_analog=Path(r"tests\resources\digital_analog_sample1\SDS00003.BIN")my_data=my_analogparsy=SiglentParser()my_df=parsy.parse_binary(my_data)# Plot the dataimportmatplotlib.pyplotaspltplt.plot(my_df['time'],my_df['volts'])plt.grid(True)plt.title(str(my_data)+'\n')plt.xlabel('time')plt.ylabel('volts')plt.show()
待办事项
你是个有抱负的程序员吗?也许你是个工程师 学习python却不知道where to start?你是不是渴望一个能让你咬牙的计划,一个真正的 有机会提高你的技能和装饰你的简历吗? 是否有一个Siglent示波器放置在灰尘周围?看不到 更进一步!
以下项目将有助于充实这个库。 其他贡献也欢迎!
扩展此功能以适用于1000x型号:
- 根据specification 更新
- 包括一个供用户选择1000x或2000x型号的选项
- 将“calc”方法中使用的常量值更新为 1000倍兼容
TABLE2
和TABLE3
实现数字解析:
- 已从二进制文件中分析值
- 数据是数字的还是模拟的似乎由
wave_length
变量。 - 了解二进制数据的
wave_length
段 模拟、数字和模拟数字数据之间的差异 - 使用这种理解来更新
get_data_type
以识别 数字类型 - 更新
parse_file
方法以处理数字数据 - 数字数据位于
tests/
目录中
创建“计算时间延迟”、“计算”的显式方法 “采样率”和“计算采样率”
- 这些方法与 specification
calc_vertical_offset
和calc_data_to_volt
方法具有 已经实施- 以其他计算为指南执行其余计算
二进制
似乎siglent 1000x/2000x模型不能流式处理二进制文件 数据。二进制数据必须保存到USB:
许可证
版权所有2019 Matt Trzcinski
这个文件是siglent_解析器的一部分。
siglent_parser是免费软件:您可以重新分发它和/或 修改-根据GNU通用公共许可条款 由自由软件基金会出版,或者 许可证,或(由您选择)任何更高版本。
siglent_解析器的发布是希望它会有用,但是 没有任何保证;甚至没有 适销性或适合某一特定目的的适销性。看GNU 一般公共许可证了解更多详细信息。
你应该收到GNU通用公共许可证的副本 以及siglent_解析器。如果没有,请参阅 https://www.gnu.org/licenses/。