const double fircoef_8000[] = { 1.2233929634094238281, 0.94301891326904296875, 0.71428465843200683594, 0.62968915700912475586, 0.54071009159088134766, 0.4802875518798828125, 0.40276980400085449219, 0.36984100937843322754, 0.3183402717113494873, 0.30307909846305847168, 0.25106120109558105469, 0.21148361265659332275, 0.16673390567302703857, 0.13893695175647735596, 0.1177835315465927124, 0.088303022086620330811, 0.073686085641384124756, 0.047518420964479446411, 0.035569194704294204712, 0.010007090866565704346, }; // fs=8000, bestmax=5.57467 const double fircoef_11025[] = { 0.93067336082458496094, 0.99018818140029907227, 0.65393543243408203125, 0.54114347696304321289, 0.43635803461074829102, 0.38145565986633300781, 0.3246008753776550293, 0.26390117406845092773, 0.22110550105571746826, 0.17598126828670501709, 0.14663022756576538086, 0.11636660993099212646, 0.096148416399955749512, 0.083895497024059295654, 0.066368564963340759277, 0.059276469051837921143, 0.042223896831274032593, 0.029620202258229255676, 0.012476922012865543365, 0.0027224447112530469894, }; // fs=11025, bestmax=5.95486 const double fircoef_12000[] = { 0.80542588233947753906, 0.98111796379089355469, 0.63522070646286010742, 0.52369016408920288086, 0.41133710741996765137, 0.34957677125930786133, 0.29222136735916137695, 0.2572230994701385498, 0.20340973138809204102, 0.18151344358921051025, 0.155648842453956604, 0.12764279544353485107, 0.1012779921293258667, 0.077138714492321014404, 0.056715767830610275269, 0.041248604655265808105, 0.031053608283400535583, 0.021058727055788040161, 0.013195153325796127319, 0.0095842834562063217163, }; // fs=12000, bestmax=5.98766 const double fircoef_16000[] = { 0.37985199689865112305, 0.81858348846435546875, 0.56960844993591308594, 0.48416891694068908691, 0.33797922730445861816, 0.30998212099075317383, 0.23459914326667785645, 0.21936072409152984619, 0.18193380534648895264, 0.16260617971420288086, 0.13859049975872039795, 0.1150159686803817749, 0.10473086684942245483, 0.080730624496936798096, 0.066521711647510528564, 0.046636037528514862061, 0.037618171423673629761, 0.026680435985326766968, 0.018329339101910591125, 0.014532475732266902924, }; // fs=16000, bestmax=5.97697 const double fircoef_22050[] = { -0.042808715254068374634, 0.56729966402053833008, 0.43193259835243225098, 0.34443208575248718262, 0.32804277539253234863, 0.20407480001449584961, 0.19052438437938690186, 0.14892280101776123047, 0.12565948069095611572, 0.090718239545822143555, 0.084184184670448303223, 0.061545524746179580688, 0.066170200705528259277, 0.04636303335428237915, 0.041218139231204986572, 0.030719701200723648071, 0.025885008275508880615, 0.017588134855031967163, 0.010460175573825836182, 0.005499516613781452179, }; // fs=22050, bestmax=5.79383 const double fircoef_24000[] = { -0.13146923482418060303, 0.49316546320915222168, 0.38843107223510742188, 0.31582465767860412598, 0.2690760195255279541, 0.2304331362247467041, 0.13121344149112701416, 0.16655829548835754395, 0.10223234444856643677, 0.11145316064357757568, 0.07650505751371383667, 0.076892524957656860352, 0.060258869081735610962, 0.059971347451210021973, 0.039427090436220169067, 0.035131458193063735962, 0.021904878318309783936, 0.020639732480049133301, 0.0090031679719686508179, 0.0073475353419780731201, }; // fs=24000, bestmax=5.72799 const double fircoef_32000[] = { -0.82592594623565673828, 1.0172160863876342773, -0.63584315776824951172, 1.0305714607238769531, -0.61913293600082397461, 0.81761181354522705078, -0.45467042922973632812, 0.57189422845840454102, -0.33776617050170898438, 0.3880291283130645752, -0.21694085001945495605, 0.25744366645812988281, -0.13483357429504394531, 0.14278614521026611328, -0.069683946669101715088, 0.084435261785984039307, -0.035530865192413330078, 0.039001896977424621582, -0.0088517153635621070862, 0.011619733646512031555, }; // fs=32000, bestmax=4.99562 const double fircoef_44100[] = { -3.4563367366790771484, 7.9134731292724609375, -14.170421600341796875, 21.82244873046875, -29.521104812622070312, 36.19084930419921875, -40.477386474609375, 41.81410980224609375, -39.98309326171875, 35.698795318603515625, -29.8022918701171875, 23.352451324462890625, -17.146259307861328125, 11.785668373107910156, -7.4921154975891113281, 4.3678722381591796875, -2.2586426734924316406, 1.0134594440460205078, -0.37705031037330627441, 0.097996324300765991211, }; // fs=44100, bestmax=2.09128 const double fircoef_48000[] = { -3.498699188232421875, 7.3555493354797363281, -11.192601203918457031, 13.273595809936523438, -11.686517715454101562, 6.13730621337890625, 2.4705116748809814453, -11.781824111938476562, 19.386625289916992188, -23.266277313232421875, 23.060297012329101562, -19.43520355224609375, 14.216532707214355469, -8.9719982147216796875, 4.9292469024658203125, -2.3177170753479003906, 0.95025885105133056641, -0.31063592433929443359, 0.083106607198715209961, 0.0098874587565660476685, }; // fs=48000, bestmax=1.80139 const double fircoef_96000[] = { -0.55427106482014321, -13.992577225878941, 51.052503332953229, -89.533296265227065, 93.643338955007309, -59.186469207560513, 19.692283315950625, -7.171726560090435, 29.230877211304932, -69.522178387976894, 89.5668010700374, -57.450163093743093, -4.3809163331244649, 32.955510645907076, -3.1824987500471167, -42.57790340816792, 55.715985840371559, -36.065243581026984, 12.817075170956548, -2.0213740851082118, }; // fs=96000, bestmax=-1.00543