Giter VIP home page Giter VIP logo

flightdatadecode2's Introduction

Flight Data Decode 2

FOQA (Flight Operations Quality Asurance)

Flight Data Decode 2, 解析,解码,译码 原始QAR数据 raw.dat 文件。ARINC 429 573 717. FOQA, arinc429, arinc717. Airfase.

这个项目,只是些测试程序,基于airfase 导出的 PRM 配置文件。
尝试解码 原始文件过程中,编写的测试程序。
目前可以对 ARINC 717 Aligned 格式的文件,解码出部分的记录参数。

当前目录是 rust workspace 的根目录。包含几个子项:

  • qar_raw_dump
    • dump_raw_aligned 扫描raw文件,通过 sync 同步字出现的顺序和间隔,确定是否 aligned格式。
    • dump_raw_bitstream 扫描raw文件,通过 sync 同步字出现的顺序和间隔,确定是否 bitstream格式。
  • qar_decode. 解码个别参数。
    • qar_decode5 解1024.PRM. (源码保留,不编译)
    • qar_decode7 解320.PRM. (源码保留,不编译)
    • qar_decode8 解320.PRM, 配置来自json文件。解码所有参数.(2024-05)
      • prm_conf320.json文件中读取解码配置。
        • 对于PRM配置,可以用read_prm717.py生成json配置文件。
        • 对于VEC配置,可以用另一个项目中FlightDataDecode/ARINC717/VEC717_to_json.py生成json配置文件。
      • 解码参数后, 写入自定义格式文件.dat。可以用 ALL_read_datafile.py 来读取,导入pandas.DataFrame中。
      • 解码程序没写完。处理了 BNR,ISO,BCD,DIS 格式的数据。其他类型还没有处理 (默认按BNR处理)。
      • 这个程序的解码逻辑,写的不好。应该要重写。(2024-06)
  • qar_decode_lua. 支持嵌入lua脚本.
    • qar_decode6 嵌入lua脚本测试, 解码个别参数. (源码保留,不编译)
    • qar_datafile2 读取自定义格式文件,通过嵌入lua脚本,修改自定义格式文件.
      • 执行lua脚本, 可 调取,修改,删除 参数的值.
      • lua中支持的内嵌函数, 请看qar_datafile2 --luahelp
        或者看qar_datafile2源码, 在qar_decode_lua/src/bin/qar_datafile2.rs

data/ 目录,有示例数据。
python3/ 目录,有几个 py3 程序。其中:

  • ALL_read_datafile.py 用于读取, 存放于自定义格式文件中的,解码后的参数, 并导入pandas.DataFrame中。(2024-05)

更新

  • 2024-06 最后更新
    • rust 程序
    • python3/read_prm717.py 注释中有 PRM 配置文件 字段的含义 (大部分)。
    • python3/decode8_arinc717_aligned.py 解所有参数, 用命令行参数指定 "解码配置" 和 "原始数据文件"
      这个py程序旧了。对qar_decode8的后续修改, 没有同步修改这个py程序。
    • qar_decode8 解所有参数, 用命令行参数指定 "解码配置" 和 "原始数据文件".
    • qar_datafile2 读取自定义格式文件,通过嵌入lua脚本,修改自定义格式文件.
    • ALL_read_datafile.py 读取解码后的自定义格式文件中的参数, 并导入pandas.DataFrame中

数据处理的流程

本项目, 没打算做成一个产品, 只是一个指引。
当然, 本项目也是可以用的。大部分的参数,解码都是正确的。
希望, 让有兴趣的公司或个人, 有信心自己做解码。因为解码并不是那么的难。

ARINC717

  1. 获取未解码的原始数据。
  2. 判断格式,Bitstream OR Aligned.
    dump_raw_bitstream,dump_raw_aligned分别扫描原始数据。
    dump_rawdat_bitstream.py,dump_rawdat_aligned.py功能一样。
    如果是bitstream则下一步,如果是aligned则跳过下一步。
  3. 用程序(没写), 把bitstream格式转换为aligned格式, 并把数据帧对齐。
    如果发现有帧损坏, 则用空白数据补齐这个损坏的帧。如果有缺帧, 则补空白帧。
  4. read_prm717.py把PRM配置,改写为json配置文件。
    或用VEC717_to_json.py(没写完)把VEC配置, 改写为json配置文件。
    为下一步做准备。
  5. qar_decode8依据上一步的json配置, 解码所有参数, 写入全参文件.
    或用decode8_arinc717_aligned.py, 功能一样,也是解码所有参数, 写入全参文件.
  6. qar_datafile2 读取全参文件,通过嵌入lua脚本的执行,修改全参文件.
    比如: 修改Meta信息; 做飞行阶段的划分; 增加简单的计算参数; 判断简单的超限,生成超限事件; ...
    以新增参数的方式, 加入到全参文件中。
    这一步, 还需要对部分跳变的,异常的参数值做修正处理。
  7. ALL_read_datafile.py读取全参文件, 做复杂的分析处理.
    这一步, 用python3, 是因为这个语言比较有优势。

其他

  • 认为此项目对您有帮助,请点个星星,或留个言,或发封邮件给我,让我高兴一下.
    If you think this project is helpful to you, click a Star, or leave a message, or send me an Email to make me happy.

flightdatadecode2's People

Contributors

osnosn avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

flightdatadecode2's Issues

有问题,请提交 issues

有问题,请提交 issues,谢谢。


问题反馈请注意,

注意不要写任何敏感信息,不要引用实际的QAR数据。仅反馈程序本身的问题。

比如,解码哪个参数出错,编码类型是什么。

如果要引用实际的数据,请私下询问。比如,用邮件。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.