|
TR123e - EMCT Computing Final Project Version 1.0
Research Project Translation from gen~ to embedded Moog synth
|
Implementation of hybrid scalar/SIMD Moog filter with NEON optimization. More...
#include "MoogFilter.h"Functions | |
| float32x4_t | neon_divide_f32 (float32x4_t num, float32x4_t den) |
| Efficient vector division using Newton-Raphson approximation. | |
Implementation of hybrid scalar/SIMD Moog filter with NEON optimization.
|
inline |
Efficient vector division using Newton-Raphson approximation.
Implements fast vector division essential for SIMD tanh approximation using ARM NEON reciprocal estimate with iterative refinement.
Initial reciprocal estimate using ARM NEON hardware instruction Provides approximately 8-bit accuracy as starting point
First Newton-Raphson refinement iteration Formula: x₁ = x₀ × (2 - d × x₀) Improves accuracy to approximately 16 bits
Optional second refinement for higher precision applications Achieves approximately 24-bit accuracy suitable for audio
Final multiplication to compute division result num / den = num × (1 / den)