siglent 1000/2000x二进制输出文件的分析器

siglent-parser的Python项目详细描述


siglent_解析器

Image showing plotted analog data

使用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
    • 更新TABLE2TABLE3
    • 包括一个供用户选择1000x或2000x型号的选项
    • 将“calc”方法中使用的常量值更新为 1000倍兼容
  • 实现数字解析:

    • 已从二进制文件中分析值
    • 数据是数字的还是模拟的似乎由 wave_length变量。
    • 了解二进制数据的wave_length段 模拟、数字和模拟数字数据之间的差异
    • 使用这种理解来更新get_data_type以识别 数字类型
    • 更新parse_file方法以处理数字数据
    • 数字数据位于tests/目录中
  • 创建“计算时间延迟”、“计算”的显式方法 “采样率”和“计算采样率”

    • 这些方法与 specification
    • calc_vertical_offsetcalc_data_to_volt方法具有 已经实施
    • 以其他计算为指南执行其余计算

二进制

似乎siglent 1000x/2000x模型不能流式处理二进制文件 数据。二进制数据必须保存到USB:

Image showing how to save binary data

许可证

版权所有2019 Matt Trzcinski

这个文件是siglent_解析器的一部分。

siglent_parser是免费软件:您可以重新分发它和/或 修改-根据GNU通用公共许可条款 由自由软件基金会出版,或者 许可证,或(由您选择)任何更高版本。

siglent_解析器的发布是希望它会有用,但是 没有任何保证;甚至没有 适销性或适合某一特定目的的适销性。看GNU 一般公共许可证了解更多详细信息。

你应该收到GNU通用公共许可证的副本 以及siglent_解析器。如果没有,请参阅 https://www.gnu.org/licenses/

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java JavaFX TableView更新单元格,不更新对象值   在扫描器中使用分隔符的java   java OkHttp 4.9.2,连接无法重用,导致端口耗尽   eclipse中的c JNI:运行Java代码   java是否在出厂的所有硬件设备中都有/mnt/sdcard/Android/data文件夹(或等效文件夹)?   Java,在eclipse中访问资源文件夹中的图像   java为什么Bluemix dashDB操作抛出SqlSyntaxErrorException,SQLCODE=1667?   JavaHtmlUnitWebClient。getPage不处理javascript   Google API认证的java问题   java如何将JSON数组反序列化为Apache beam PCollection<javaObject>   ServerSocket停止接收命令,java/安卓   来自Java类的安卓 Toast消息   java如何自动重新加载应用程序引擎开发服务器?   java是否可以尝试/捕获一些东西来检查是否抛出了异常?   java如何做到这一点当我按下load game时,它不仅会加载信息,还会将您带到游戏中?   Java选项Xmx代表什么?   Java映射,它在插入时打印值   设置“ulimit c unlimited”后,java无法生成系统核心转储