Waveform Decoder & Feature Extraction
Budget: $30 – $250 USD
I have a set of Acoustic Emission (AE) waveform recordings stored in a proprietary, ZIP-style container. Inside that archive sit multiple binary blocks plus a small group of equally proprietary metadata files that hold calibration coefficients and channel maps. The task is to turn that raw mix into something an engineer can open in Excel or MATLAB without reverse-engineering headaches.
What has to happen
• Read the container, locate every binary block, and pair it with its matching metadata entry.
• Decode the integer samples, apply the calibration factors from the metadata, and convert everything into true engineering units.
• Write one tidy CSV per channel with time stamps and calibrated amplitudes.
• Add a compact feature-extraction module that calculates RMS, peak values, and FFT-based spectral bins so I can validate data quality quickly.
• Deliver well-commented, Python-only source code that relies on NumPy, struct, and pandas (plus SciPy for the FFT if you prefer). The code should run end-to-end on the sample files I supply and leave room to plug in additional sensors later.
Acceptance check
A run of main.py against my sample archive should (1) generate correctly named CSVs, (2) produce a separate features.csv summarising RMS, peak, and chosen FFT bins, and (3) complete without manual tweaks on a vanilla Python 3.10 environment.
If you have examples of past binary-format decoding or DSP work—ideally where you moved from raw counts to calibrated units—send them along so I can see how you comment, structure, and test your code.
What has to happen
• Read the container, locate every binary block, and pair it with its matching metadata entry.
• Decode the integer samples, apply the calibration factors from the metadata, and convert everything into true engineering units.
• Write one tidy CSV per channel with time stamps and calibrated amplitudes.
• Add a compact feature-extraction module that calculates RMS, peak values, and FFT-based spectral bins so I can validate data quality quickly.
• Deliver well-commented, Python-only source code that relies on NumPy, struct, and pandas (plus SciPy for the FFT if you prefer). The code should run end-to-end on the sample files I supply and leave room to plug in additional sensors later.
Acceptance check
A run of main.py against my sample archive should (1) generate correctly named CSVs, (2) produce a separate features.csv summarising RMS, peak, and chosen FFT bins, and (3) complete without manual tweaks on a vanilla Python 3.10 environment.
If you have examples of past binary-format decoding or DSP work—ideally where you moved from raw counts to calibrated units—send them along so I can see how you comment, structure, and test your code.
Related categories:
Python
Data Processing
Matlab and Mathematica
C++ Programming
Arduino
NumPy
SciPy
Signal Processing