This patch adds export function for the m4 syntax bytes data and adds
the export of such blob to example designs. The example EQ designs are
edited to make this format export too.
In addition the example FIR length is adjusted to be near current IPC
length maximum (384) and improve the effect quality.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch changes code to allocate filter poles and zeros to biquads
to allow seeing poor SNR due to strong scaling vs. available fixed point
filter word length. The issue was severe especially with Matlab version
of tf2sos() function. The replacement is straighforward z, p frequency
sort. The scaling of biquads was changed to max -6 dB instead of previous
-3 dB to be more safe against internal signal clipping.
The IIR design was changed entirely to be based on zeros and poles
(z, p, k) in intermediate storate instead of polynomial coefficients.
This improves the accuracy especially of low frequencies high-pass
designs.
The default max. IIR order is increased from 12 to 16.
Finally since the grpdelay() function in octave-signal package calculates
incorrect result the group delay computation and plotting is disabled
for now in Octave. It works in Matlab.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch cleans up the scripts and improves the accuracy of speaker
case with more carefully set manual equalizer design parameters.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch adds support to SOFT to setup FIR and IIR equalizer types.
The examples scripts for simple FIR loudness effect, IIR loudness effect
and speaker equalization case demonstrate the usage of the tool. The
output ".txt" files will be possible to apply with alsactl to setup
the equalizers in SOF.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>