TR123e - EMCT Computing Final Project Version 1.0
Research Project Translation from gen~ to embedded Moog synth
Loading...
Searching...
No Matches
NeonMoogFilter.cpp File Reference

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.

Detailed Description

Implementation of hybrid scalar/SIMD Moog filter with NEON optimization.

Function Documentation

◆ neon_divide_f32()

float32x4_t neon_divide_f32 ( float32x4_t num,
float32x4_t den )
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)