What is implementation_version in MFE

Context/Use case:
We are working on the time-series sensor data project using MFE as processing block.

Question/Issue:
We wanted to know more about the implementation_version used in the MFE code to get more clarity as we din find any doc related to implementation_version

Project ID:

Hello @ajithkjajith,

I am not exactly sure what do you mean by implementation_version.

  • For the Python implementation (that we use in the studio), all our DSP source code can be found here: GitHub - edgeimpulse/processing-blocks: Signal processing blocks
  • For the cpp implementation, when you download the cpp library, when you extract the archive, look after this file edge-impulse-sdkclassifier->ei_run_dsp.h.
    For example, if you used the mfe dsp block in the studio, you will find the cpp implementation in the function:
int extract_mfe_features(signal_t *signal, matrix_t *output_matrix, void *config_ptr, const float sampling_frequency) {
...
}

Best,

Louis

Hi @ajithkjajith we use the implementation_version property to introduce breaking changes in the algorithm (e.g. if we change the way we create the spectrogram) w/o changing behavior for older projects. You just need to make sure it’s in sync between Studio and SDK (which happens automatically in the export of the project).