Aufgrund einer Störung des s3 Storage, könnten in nächster Zeit folgende GitLab Funktionen nicht zur Verfügung stehen: LFS, Container Registry, Job Artifacs, Uploads (Wiki, Bilder, Projekt-Exporte). Wir bitten um Verständnis. Es wird mit Hochdruck an der Behebung des Problems gearbeitet. Weitere Informationen zur Störung des Object Storage finden Sie hier: https://maintenance.itc.rwth-aachen.de/ticket/status/messages/59-object-storage-pilot

Commit 6ac2284e authored by Dipl.-Ing. Jonas Stienen's avatar Dipl.-Ing. Jonas Stienen
Browse files

Progress on improving IIR filtering quality

parent 26f91431
/*
* ----------------------------------------------------------------
*
* ITA core libs
* (c) Copyright Institute of Technical Acoustics (ITA)
* RWTH Aachen University, Germany, 2015-2017
*
* ----------------------------------------------------------------
* ____ __________ _______
* // / //__ ___/ // _ |
* // / // / // /_| |
* // / // / // ___ |
* //__/ //__/ //__/ |__|
*
* ----------------------------------------------------------------
*
*/
/* This file has been generated by the ita_dsp_design_filsters.m Matlab script */
#ifndef IW_ITA_DSP_THIRD_OCTAVE_FILTERBANK_IIR_COEFFICIENTS
#define IW_ITA_DSP_THIRD_OCTAVE_FILTERBANK_IIR_COEFFICIENTS
#include <vector>
namespace ITADSPThirdOctaveFilterbankIIR
{
const double dSamplingFrequency = 44100.00; // Hz
const int iOrdner = 10;
const int iNumFrequencies = 31;
const std::vector< float > vfFrequencies =
{
20.0f, // Hz
25.0f, // Hz
31.5f, // Hz
40.0f, // Hz
50.0f, // Hz
62.5f, // Hz
80.0f, // Hz
100.0f, // Hz
125.0f, // Hz
155.0f, // Hz
200.0f, // Hz
250.0f, // Hz
315.0f, // Hz
400.0f, // Hz
500.0f, // Hz
630.0f, // Hz
800.0f, // Hz
1000.0f, // Hz
1250.0f, // Hz
1600.0f, // Hz
2000.0f, // Hz
2500.0f, // Hz
3150.0f, // Hz
4000.0f, // Hz
5000.0f, // Hz
6350.0f, // Hz
8000.0f, // Hz
10000.0f, // Hz
12500.0f, // Hz
16000.0f, // Hz
20000.0f, // Hz
};
// 3-dim vector access: FrequencyBand ; Biquad ; Param = { ScaleValue [1], sosMatrix [2-6] }
const std::vector< std::vector< std::vector< float > > > vvvfSOSMatrixCoefficients =
{
{
// Band 20.0 Hz sos matrix
{ 0.000002f, 1.000000f, 2.000000f, 1.000000f, 1.000000f, -1.999101f, 0.999109f, },
{ 0.000002f, 1.000000f, 2.000000f, 1.000000f, 1.000000f, -1.997408f, 0.997416f, },
{ 0.000002f, 1.000000f, 2.000000f, 1.000000f, 1.000000f, -1.995970f, 0.995978f, },
{ 0.000002f, 1.000000f, 2.000000f, 1.000000f, 1.000000f, -1.994927f, 0.994935f, },
{ 0.000002f, 1.000000f, 2.000000f, 1.000000f, 1.000000f, -1.994379f, 0.994387f, },
},
{
// Band 25.0 Hz sos matrix
{ 0.000819f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.999366f, 0.999386f, },
{ 0.000819f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.999594f, 0.999602f, },
{ 0.000819f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.998479f, 0.998496f, },
{ 0.000819f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.998845f, 0.998855f, },
{ 0.000819f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.998350f, 0.998363f, },
},
{
// Band 31.5 Hz sos matrix
{ 0.001068f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.999162f, 0.999194f, },
{ 0.001068f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.999472f, 0.999485f, },
{ 0.001068f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.998003f, 0.998030f, },
{ 0.001068f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.998500f, 0.998515f, },
{ 0.001067f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.997845f, 0.997865f, },
},
{
// Band 40.0 Hz sos matrix
{ 0.001317f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.998960f, 0.999009f, },
{ 0.001317f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.999342f, 0.999362f, },
{ 0.001316f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.997534f, 0.997576f, },
{ 0.001316f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.998140f, 0.998164f, },
{ 0.001316f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.997336f, 0.997368f, },
},
{
// Band 50.0 Hz sos matrix
{ 0.001602f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.998725f, 0.998802f, },
{ 0.001602f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.999184f, 0.999217f, },
{ 0.001601f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.996999f, 0.997065f, },
{ 0.001601f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.997716f, 0.997755f, },
{ 0.001600f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.996749f, 0.996799f, },
},
{
// Band 62.5 Hz sos matrix
{ 0.002136f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.998262f, 0.998389f, },
{ 0.002136f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.998919f, 0.998971f, },
{ 0.002133f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.995956f, 0.996064f, },
{ 0.002133f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.996971f, 0.997033f, },
{ 0.002133f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.995654f, 0.995735f, },
},
{
// Band 80.0 Hz sos matrix
{ 0.002669f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.997788f, 0.997987f, },
{ 0.002669f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.998633f, 0.998714f, },
{ 0.002666f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.994914f, 0.995082f, },
{ 0.002666f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.996197f, 0.996292f, },
{ 0.002664f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.994545f, 0.994671f, },
},
{
// Band 100.0 Hz sos matrix
{ 0.003203f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.997296f, 0.997606f, },
{ 0.003203f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.998303f, 0.998435f, },
{ 0.003197f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.993874f, 0.994139f, },
{ 0.003197f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.995359f, 0.995514f, },
{ 0.003195f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.993407f, 0.993609f, },
},
{
// Band 125.0 Hz sos matrix
{ 0.003913f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.996607f, 0.997084f, },
{ 0.003913f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.997872f, 0.998079f, },
{ 0.003906f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.992449f, 0.992857f, },
{ 0.003906f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.994263f, 0.994505f, },
{ 0.003903f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.991881f, 0.992194f, },
},
{
// Band 155.0 Hz sos matrix
{ 0.005334f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.995185f, 0.995978f, },
{ 0.005334f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.997106f, 0.997430f, },
{ 0.005320f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.989518f, 0.990188f, },
{ 0.005320f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.992217f, 0.992598f, },
{ 0.005315f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.988866f, 0.989371f, },
},
{
// Band 200.0 Hz sos matrix
{ 0.006753f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.993655f, 0.994893f, },
{ 0.006753f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.996263f, 0.996760f, },
{ 0.006731f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.986519f, 0.987561f, },
{ 0.006731f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.990073f, 0.990660f, },
{ 0.006722f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.985774f, 0.986556f, },
},
{
// Band 250.0 Hz sos matrix
{ 0.008172f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.991910f, 0.993876f, },
{ 0.008172f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.995197f, 0.996025f, },
{ 0.008139f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.983391f, 0.985059f, },
{ 0.008139f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.987640f, 0.988608f, },
{ 0.008126f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.982480f, 0.983748f, },
},
{
// Band 315.0 Hz sos matrix
{ 0.010650f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.988808f, 0.991973f, },
{ 0.010650f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.993572f, 0.994865f, },
{ 0.010594f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.977807f, 0.980474f, },
{ 0.010594f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.983731f, 0.985249f, },
{ 0.010573f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.976846f, 0.978854f, },
},
{
// Band 400.0 Hz sos matrix
{ 0.013125f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.985198f, 0.990140f, },
{ 0.013125f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.991590f, 0.993641f, },
{ 0.013040f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.971855f, 0.976025f, },
{ 0.013040f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.979387f, 0.981786f, },
{ 0.013008f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.970828f, 0.973983f, },
},
{
// Band 500.0 Hz sos matrix
{ 0.016302f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.979956f, 0.987794f, },
{ 0.016302f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.988761f, 0.992063f, },
{ 0.016171f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.963724f, 0.970344f, },
{ 0.016171f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.973493f, 0.977341f, },
{ 0.016122f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.962725f, 0.967756f, },
},
{
// Band 630.0 Hz sos matrix
{ 0.021230f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.971419f, 0.984019f, },
{ 0.021230f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.984596f, 0.989753f, },
{ 0.021010f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.950775f, 0.961335f, },
{ 0.021010f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.964679f, 0.970705f, },
{ 0.020927f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.950200f, 0.958145f, },
},
{
// Band 800.0 Hz sos matrix
{ 0.026143f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.960746f, 0.980393f, },
{ 0.026143f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.979143f, 0.987315f, },
{ 0.025811f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.936168f, 0.952635f, },
{ 0.025811f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.954380f, 0.963883f, },
{ 0.025687f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.936176f, 0.948626f, },
},
{
// Band 1000.0 Hz sos matrix
{ 0.031739f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.945730f, 0.976358f, },
{ 0.031739f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.971302f, 0.984446f, },
{ 0.031252f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.917207f, 0.942941f, },
{ 0.031252f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.940822f, 0.955989f, },
{ 0.031072f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.918215f, 0.937857f, },
},
{
// Band 1250.0 Hz sos matrix
{ 0.042177f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.918513f, 0.968362f, },
{ 0.042177f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.959086f, 0.979580f, },
{ 0.041326f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.882866f, 0.924209f, },
{ 0.041326f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.918462f, 0.942185f, },
{ 0.041015f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.886889f, 0.917971f, },
},
{
// Band 1600.0 Hz sos matrix
{ 0.052544f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.883270f, 0.960674f, },
{ 0.052544f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.942602f, 0.974511f, },
{ 0.051238f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.842334f, 0.906218f, },
{ 0.051238f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.891421f, 0.928185f, },
{ 0.050764f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.850457f, 0.898471f, },
},
{
// Band 2000.0 Hz sos matrix
{ 0.062841f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.833339f, 0.953510f, },
{ 0.062841f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.917025f, 0.969022f, },
{ 0.060993f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.789784f, 0.889300f, },
{ 0.060993f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.854477f, 0.913628f, },
{ 0.060329f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.803454f, 0.879342f, },
},
{
// Band 2500.0 Hz sos matrix
{ 0.079844f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.752679f, 0.941055f, },
{ 0.079844f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.879925f, 0.960653f, },
{ 0.076914f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.706218f, 0.860665f, },
{ 0.076914f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.799621f, 0.890988f, },
{ 0.075877f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.731055f, 0.848245f, },
},
{
// Band 3150.0 Hz sos matrix
{ 0.103322f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.626000f, 0.923923f, },
{ 0.103322f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.824196f, 0.949195f, },
{ 0.098535f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.581184f, 0.821887f, },
{ 0.098535f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.719613f, 0.860324f, },
{ 0.096874f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.625316f, 0.806252f, },
},
{
// Band 4000.0 Hz sos matrix
{ 0.126418f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.453124f, 0.908199f, },
{ 0.126418f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.741078f, 0.936993f, },
{ 0.119424f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.420470f, 0.786153f, },
{ 0.119424f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.611560f, 0.829135f, },
{ 0.117043f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.489466f, 0.765913f, },
},
{
// Band 5000.0 Hz sos matrix
{ 0.158763f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.179163f, 0.886868f, },
{ 0.158763f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.609822f, 0.919682f, },
{ 0.148101f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.447005f, 0.785879f, },
{ 0.148101f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.174879f, 0.737998f, },
{ 0.144561f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.284482f, 0.710877f, },
},
{
// Band 6350.0 Hz sos matrix
{ 0.199686f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -0.796288f, 0.861586f, },
{ 0.199686f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.425777f, 0.897063f, },
{ 0.183536f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.224617f, 0.731209f, },
{ 0.183536f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -0.843451f, 0.680681f, },
{ 0.178326f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.010579f, 0.643348f, },
},
{
// Band 8000.0 Hz sos matrix
{ 0.239376f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -0.290944f, 0.842143f, },
{ 0.239376f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -1.141474f, 0.871316f, },
{ 0.217132f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -0.909951f, 0.673736f, },
{ 0.217132f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -0.413487f, 0.633071f, },
{ 0.210136f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -0.645680f, 0.579727f, },
},
{
// Band 10000.0 Hz sos matrix
{ 0.289489f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, 0.355865f, 0.823971f, },
{ 0.289489f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -0.745157f, 0.834995f, },
{ 0.258678f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -0.492985f, 0.597368f, },
{ 0.258678f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, 0.135349f, 0.582248f, },
{ 0.249262f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -0.174336f, 0.501476f, },
},
{
// Band 12500.0 Hz sos matrix
{ 0.373293f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, 1.161744f, 0.813023f, },
{ 0.373293f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, -0.226640f, 0.764884f, },
{ 0.326657f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, 0.834287f, 0.526520f, },
{ 0.326657f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, 0.024728f, 0.459508f, },
{ 0.312956f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, 0.419294f, 0.374088f, },
},
{
// Band 16000.0 Hz sos matrix
{ 0.451712f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, 0.372812f, 0.651489f, },
{ 0.451712f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, 1.798158f, 0.880660f, },
{ 0.389515f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, 1.547760f, 0.646690f, },
{ 0.389515f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, 0.470276f, 0.263182f, },
{ 0.371736f, 1.000000f, 0.000000f, -1.000000f, 1.000000f, 0.989237f, 0.256529f, },
},
{
// Band 20000.0 Hz sos matrix
{ 0.020263f, 1.000000f, -2.000000f, 1.000000f, 1.000000f, 1.832743f, 0.913795f, },
{ 0.018728f, 1.000000f, -2.000000f, 1.000000f, 1.000000f, 1.693870f, 0.768781f, },
{ 0.017594f, 1.000000f, -2.000000f, 1.000000f, 1.000000f, 1.591300f, 0.661675f, },
{ 0.016852f, 1.000000f, -2.000000f, 1.000000f, 1.000000f, 1.524242f, 0.591651f, },
{ 0.016487f, 1.000000f, -2.000000f, 1.000000f, 1.000000f, 1.491205f, 0.557153f, },
},
};
} // namespace
#endif // IW_ITA_DSP_THIRD_OCTAVE_FILTERBANK_IIR_COEFFICIENTS
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment