|
|
|
Algorithms come in many forms, and for many purposes; from digital signal processing
of data from some form of sensor, highly mathematic computations for calculation, to
cryptography including encryption, authentication and data integrity checking.
For digital signal processing applications a typical algorithm development path would be:
|
- Definition of the use cases for the system/function under consideration.
- Modelling of system inputs (typically in Matlab) and/or initial collection of sample input data.
- Creation of initial algorithmic models (typically in Matlab).
- Initial algorithm implementation on prototype, commonly as floating point, sometimes used for demo.
- Further data collection and algorithm improvement.
- Target implementation of algorithm; typically initially in floating point, often with MEX wrapper
to enable direct comparison/validation against original Matlab model.
- Algorithm optimisation, if required (dependent on application and target); this may include
- Reducing computation complexity (typically including fixed-point implementation including
performance versus complexity trade-offs; often required for low-power operation
- optmisation for processing speed (for time-critical operation)
- optimisation to minimise ROM/RAM use (typically for implementation on a low-resource target)
|
|
|
Edenprime has broad experience of such algorithm development and implementation; Examples of work include:
|
Analysis of seismic signals for detection of nearby activity with source-type discrimination (algorithm development and fixed point implementation)
|
|
Implementation of optimised cryptographic authentication functions on ultra-low resource target to meet time and resource constraints
|
|
Analysis of motion and position sensor data for detection of significant fault events in critical infrastructure (algorithm development and fixed point implementation)
|
|
Implementation of Digital Pre-Distortion for high-speed antenna waveforms.
|
|
Implementation of optimised logarithm, exponential and geometric function libraries for particular low resource targets
|
|
|