#shr #file-header #signal #sweep #spike #sweeps #hound

shr_parser

解析 Signal Hound Spike 文件中的扫描

1 个稳定版本

1.0.6 2024年7月12日
1.0.2 2024年7月11日

#714解析器实现

Download history 318/week @ 2024-07-08 48/week @ 2024-07-15

每月 366 次下载
用于 shr_parser_py

GPL-3.0-only

35KB
672

Signal Hound Spike 频谱分析仪 SHR 解析器

此 Rust 库提供了强大的工具,用于解析和处理 Signal Hound Spike 软件生成的 SHR 文件。SHR 文件格式包括文件头和多个扫描,每个扫描都有自己的头和数据。此库利用内存映射进行高效的文件读取,并使用 Rayon 进行扫描的并行处理,确保高性能和可扩展性。

特性

  • 解析 SHR 文件:读取和解释 SHR 文件,包括头部和扫描。
  • 验证文件:通过验证签名和版本确保 SHR 文件的完整性。
  • 扫描指标计算:从扫描数据计算关键指标,如峰值、平均值和低值。
  • 序列化和反序列化:使用 Serde 进行 SHR 数据的无缝序列化和反序列化。
  • CSV 导出:将解析的 SHR 数据导出为 CSV 格式,以便于分析和报告。

安装

要将此库包含到您的项目中,请在您的 Cargo.toml 文件中添加以下依赖项

[dependencies]
shr_parser = "1.0.5"

用法

以下是一个使用 SHR 文件解析器的示例

use std::path::PathBuf;
use shr_parser::{SHRParser, SHRParsingType};

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let file_path = PathBuf::from("path/to/your/shrfile.shr");
    let parser = SHRParser::new(file_path, SHRParsingType::Peak)?;

    println!("{}", parser.to_str());

    parser.to_csv(PathBuf::from("output.csv"))?;

    Ok(())
}

文档

完整的文档可在 docs.rs 上找到。要本地生成文档,请运行

cargo doc --open

贡献

欢迎贡献!如果您遇到任何问题或对改进有建议,请打开一个问题或提交一个拉取请求。

许可

本项目采用 GPL-3 许可证。有关详细信息,请参阅 LICENSE 文件。

依赖关系

~3–4MB
~78K SLoC