From c21ae40ef73c0dde66215d1bcb37487eec45eba6 Mon Sep 17 00:00:00 2001 From: Anton Babushkin Date: Mon, 13 Jan 2020 23:28:29 +0100 Subject: [PATCH] Use filter from S-Audio Systems for 176.4kHz --- src/dsd_decimator.cpp | 2 +- src/filters.cpp | 737 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 738 insertions(+), 1 deletion(-) diff --git a/src/dsd_decimator.cpp b/src/dsd_decimator.cpp index ee2571c..f111f7e 100644 --- a/src/dsd_decimator.cpp +++ b/src/dsd_decimator.cpp @@ -57,7 +57,7 @@ DsdDecimator::DsdDecimator(DsdSampleReader *r, dsf2flac_uint32 rate) if (ratio == 8) initLookupTable(nCoefs_352,coefs_352,tzero_352); else if (ratio == 16) - initLookupTable(nCoefs_176,coefs_176,tzero_176); + initLookupTable(nCoefs_176_sa,coefs_176_sa,tzero_176_sa); else if (ratio == 32) initLookupTable(nCoefs_88,coefs_88,tzero_88); else diff --git a/src/filters.cpp b/src/filters.cpp index a091f39..d2d9090 100644 --- a/src/filters.cpp +++ b/src/filters.cpp @@ -113,3 +113,740 @@ const static dsf2flac_float64 coefs_352[96] = { +2.490921351762261093e-02,+3.794294849101870204e-02,+5.172629311427257015e-02,+6.534876523171298524e-02,+7.782552527068174741e-02,+8.819647126516944047e-02,+9.562845727714668065e-02,+9.950731974056657714e-02,+9.950731974056657714e-02,+9.562845727714668065e-02,+8.819647126516944047e-02,+7.782552527068174741e-02,+6.534876523171298524e-02,+5.172629311427257015e-02,+3.794294849101870204e-02,+2.490921351762261093e-02,+1.337747462658970057e-02,+3.883043418804416145e-03,-3.284703416210725969e-03,-8.080250212687496714e-03, -1.067241812471033009e-02,-1.139427235000863015e-02,-1.068138779745870029e-02,-9.007905078766049317e-03,-6.828859761015334574e-03,-4.535184322001496043e-03,-2.425035959059578146e-03,-6.922187080790708326e-04,+5.700762133516592374e-04,+1.353838005269448076e-03,+1.713709169690936975e-03,+1.742046839472948102e-03,+1.545601648013235048e-03,+1.226696225277854957e-03,+8.704322683580221955e-04,+5.381636200535649473e-04,+2.664463454252759917e-04,+7.002968738383527972e-05,-5.279407053811266003e-05,-1.140625650874684021e-04, -1.304796361231894922e-04,-1.189970287491284975e-04,-9.396247155265073355e-05,-6.577634378272832012e-05,-4.074928958725350180e-05,-2.174079575545870077e-05,-9.163058931391722015e-06,-2.017460145032201133e-06,+1.249721855219005082e-06,+2.166655190537391817e-06,+1.930520892991081870e-06,+1.319400334374194979e-06,+7.410039764949090706e-07,+3.423230509967408957e-07,+1.244182214744588123e-07,+3.130441005359395694e-08,}; + +// S-Audio Systems filter +// http://s-audio.systems/dsd-filter/ +// for DSD64 -> 176.4kHz +const static dsf2flac_int32 tzero_176_sa = 364; +const static dsf2flac_int32 nCoefs_176_sa = 729; +const static dsf2flac_float64 coefs_176_sa[729] = { + -7.89674237111626e-008, + -2.65544736310908e-007, + -5.39671082488979e-007, + -8.84192798977779e-007, + -1.28144952382669e-006, + -1.71645402602394e-006, + -2.17458045881358e-006, + -2.64309208830582e-006, + -3.10973871453513e-006, + -3.56365255882451e-006, + -3.99460086342174e-006, + -4.39353557801780e-006, + -4.75193503213234e-006, + -5.06230625596515e-006, + -5.31775086720643e-006, + -5.51218443334278e-006, + -5.64009266668108e-006, + -5.69677771800059e-006, + -5.67803495421515e-006, + -5.58043759113502e-006, + -5.40110393210114e-006, + -5.13787102107699e-006, + -4.78916557078435e-006, + -4.35411175558897e-006, + -3.83246177726448e-006, + -3.22467085300815e-006, + -2.53180553766441e-006, + -1.75568317439811e-006, + -8.98715023289753e-007, + 3.59466980209833e-008, + 1.04453192628640e-006, + 2.12255360132474e-006, + 3.26491056412692e-006, + 4.46580316904033e-006, + 5.71881908939531e-006, + 7.01689001658679e-006, + 8.35234692431186e-006, + 9.71690935358538e-006, + 1.11017289476933e-005, + 1.24974077273521e-005, + 1.38940382470309e-005, + 1.52812250675538e-005, + 1.66481622656534e-005, + 1.79836387488308e-005, + 1.92761334290026e-005, + 2.05138421378592e-005, + 2.16847670699849e-005, + 2.27767562890335e-005, + 2.37776054561323e-005, + 2.46750970305243e-005, + 2.54571148232685e-005, + 2.61116779043391e-005, + 2.66270729696316e-005, + 2.69918843613937e-005, + 2.71951274370963e-005, + 2.72262904985610e-005, + 2.70754657449857e-005, + 2.67333907615352e-005, + 2.61915824779635e-005, + 2.54423846115515e-005, + 2.44790862993227e-005, + 2.32959802346500e-005, + 2.18884704494826e-005, + 2.02531256547900e-005, + 1.83877817789835e-005, + 1.62915830657084e-005, + 1.39650824664272e-005, + 1.14102627897239e-005, + 8.63062927081160e-006, + 5.63122218366630e-006, + 2.41868520589605e-006, + -9.98729312584601e-007, + -4.61111019056659e-006, + -8.40689979142439e-006, + -1.23728637539955e-005, + -1.64941174816136e-005, + -2.07541204773065e-005, + -2.51347206230434e-005, + -2.96161721422550e-005, + -3.41771981169359e-005, + -3.87950342144450e-005, + -4.34455125315480e-005, + -4.81031269288223e-005, + -5.27411380630838e-005, + -5.73316662837442e-005, + -6.18458107624065e-005, + -6.62537674429586e-005, + -7.05249701979938e-005, + -7.46282229897588e-005, + -7.85318649434430e-005, + -8.22039161221255e-005, + -8.56122628363210e-005, + -8.87248162086962e-005, + -9.15097119786878e-005, + -9.39354847560026e-005, + -9.59712756412046e-005, + -9.75870175352611e-005, + -9.87536515992815e-005, + -9.94433180210308e-005, + -9.96295737252240e-005, + -9.92875887959599e-005, + -9.83943606627236e-005, + -9.69289071122148e-005, + -9.48724762395159e-005, + -9.22087302228647e-005, + -8.89239448724766e-005, + -8.50071797344754e-005, + -8.04504619793533e-005, + -7.52489398507805e-005, + -6.94010423671898e-005, + -6.29086129038114e-005, + -5.57770427462856e-005, + -4.80153744888412e-005, + -3.96364080188505e-005, + -3.06567707042404e-005, + -2.10969875595879e-005, + -1.09815163398252e-005, + -3.38778050390509e-007, + 1.07988467519249e-005, + 2.23950316140531e-005, + 3.44095483342244e-005, + 4.67983266361216e-005, + 5.95135422969406e-005, + 7.25037243682891e-005, + 8.57138867331741e-005, + 9.90856842122412e-005, + 1.12557590540519e-004, + 1.26065098243089e-004, + 1.39540945724548e-004, + 1.52915360047245e-004, + 1.66116329069155e-004, + 1.79069887053629e-004, + 1.91700428331387e-004, + 2.03931033581739e-004, + 2.15683819874357e-004, + 2.26880303273447e-004, + 2.37441783042414e-004, + 2.47289732442368e-004, + 2.56346210903757e-004, + 2.64534279381223e-004, + 2.71778431851999e-004, + 2.78005026643768e-004, + 2.83142731859698e-004, + 2.87122964550690e-004, + 2.89880338982584e-004, + 2.91353107627401e-004, + 2.91483603177767e-004, + 2.90218670897957e-004, + 2.87510095631660e-004, + 2.83315016076813e-004, + 2.77596328146501e-004, + 2.70323068775724e-004, + 2.61470788586848e-004, + 2.51021895451231e-004, + 2.38965983555772e-004, + 2.25300130352935e-004, + 2.10029172194481e-004, + 1.93165944324392e-004, + 1.74731494894331e-004, + 1.54755259984540e-004, + 1.33275206962935e-004, + 1.10337937343274e-004, + 8.59987530077433e-005, + 6.03216796548622e-005, + 3.33794497606732e-005, + 5.25344136903527e-006, + -2.39664258572247e-005, + -5.41818421595508e-005, + -8.52863014983996e-005, + -1.17165344306613e-004, + -1.49696844630398e-004, + -1.82751344709686e-004, + -2.16192434152163e-004, + -2.49877176543123e-004, + -2.83656578062619e-004, + -3.17376103680544e-004, + -3.50876230299946e-004, + -3.83993048444609e-004, + -4.16558895039998e-004, + -4.48403030986810e-004, + -4.79352348065731e-004, + -5.09232113927283e-004, + -5.37866741979087e-004, + -5.65080593787570e-004, + -5.90698801943290e-004, + -6.14548117255254e-004, + -6.36457770042398e-004, + -6.56260350524462e-004, + -6.73792694442454e-004, + -6.88896780275172e-004, + -7.01420623727245e-004, + -7.11219176764644e-004, + -7.18155213689897e-004, + -7.22100215170940e-004, + -7.22935229077848e-004, + -7.20551720178264e-004, + -7.14852389592124e-004, + -7.05751972873259e-004, + -6.93177998755345e-004, + -6.77071518111916e-004, + -6.57387784940511e-004, + -6.34096898920689e-004, + -6.07184390901239e-004, + -5.76651762685287e-004, + -5.42516962013906e-004, + -5.04814802297915e-004, + -4.63597313114406e-004, + -4.18934025447015e-004, + -3.70912183711880e-004, + -3.19636886047192e-004, + -2.65231144680911e-004, + -2.07835871606221e-004, + -1.47609777854996e-004, + -8.47291963452790e-005, + -1.93878144827409e-005, + 4.82036718381096e-005, + 1.17817996624581e-004, + 1.89211840620374e-004, + 2.62126441270993e-004, + 3.36288280777808e-004, + 4.11409865478163e-004, + 4.87190580770402e-004, + 5.63317635396743e-004, + 6.39467077462541e-004, + 7.15304892992208e-004, + 7.90488174061466e-004, + 8.64666362986100e-004, + 9.37482555400493e-004, + 1.00857487586836e-003, + 1.07757790419782e-003, + 1.14412416041887e-003, + 1.20784563478082e-003, + 1.26837536708990e-003, + 1.32534905424109e-003, + 1.37840670049627e-003, + 1.42719428231430e-003, + 1.47136544228488e-003, + 1.51058318488140e-003, + 1.54452158767526e-003, + 1.57286750163621e-003, + 1.59532224915893e-003, + 1.61160330071652e-003, + 1.62144593195990e-003, + 1.62460484534677e-003, + 1.62085575766469e-003, + 1.60999693616759e-003, + 1.59185068514489e-003, + 1.56626476928068e-003, + 1.53311377016507e-003, + 1.49230036595327e-003, + 1.44375653053430e-003, + 1.38744464129559e-003, + 1.32335849593801e-003, + 1.25152422197061e-003, + 1.17200108434190e-003, + 1.08488217529157e-003, + 9.90294991424889e-004, + 8.88401882775725e-004, + 7.79400379542494e-004, + 6.63523382627318e-004, + 5.41039225709028e-004, + 4.12251593843393e-004, + 2.77499307003382e-004, + 1.37155959464508e-004, + -8.37058323455153e-006, + -1.58638831806002e-004, + -3.13174462917232e-004, + -4.71471255764300e-004, + -6.32992167766133e-004, + -7.97170554733384e-004, + -9.63411526981872e-004, + -1.13109344465556e-003, + -1.29956954333466e-003, + -1.46816969117936e-003, + -1.63620226612693e-003, + -1.80295616019066e-003, + -1.96770288584958e-003, + -2.12969880521996e-003, + -2.28818744290038e-003, + -2.44240190568235e-003, + -2.59156738411548e-003, + -2.73490372819651e-003, + -2.87162809581787e-003, + -3.00095766033337e-003, + -3.12211237178417e-003, + -3.23431775268546e-003, + -3.33680772928346e-003, + -3.42882748736884e-003, + -3.50963632808998e-003, + -3.57851053468039e-003, + -3.63474622008653e-003, + -3.67766215549636e-003, + -3.70660256976407e-003, + -3.72093989699351e-003, + -3.72007747591852e-003, + -3.70345218379953e-003, + -3.67053698664677e-003, + -3.62084341122682e-003, + -3.55392391520581e-003, + -3.46937415179127e-003, + -3.36683511523006e-003, + -3.24599515897717e-003, + -3.10659188471618e-003, + -2.94841387676570e-003, + -2.77130229278555e-003, + -2.57515228713601e-003, + -2.35991427325644e-003, + -2.12559500596399e-003, + -1.87225848776507e-003, + -1.60002668508241e-003, + -1.30908005985475e-003, + -9.99657903776097e-004, + -6.72058473128345e-004, + -3.26638925457701e-004, + 3.61849462535702e-005, + 4.15939182630609e-004, + 8.12092332807879e-004, + 1.22405632919254e-003, + 1.65118757013261e-003, + 2.09278819420433e-003, + 2.54810756359802e-003, + 3.01634393144923e-003, + 3.49664630448387e-003, + 3.98811649029085e-003, + 4.48981132467452e-003, + 5.00074506453529e-003, + 5.51989195992064e-003, + 6.04618897341425e-003, + 6.57853865050129e-003, + 7.11581213363388e-003, + 7.65685230908275e-003, + 8.20047706292826e-003, + 8.74548266801867e-003, + 9.29064723823103e-003, + 9.83473430460435e-003, + 1.03764964442234e-002, + 1.09146789764054e-002, + 1.14480237170937e-002, + 1.19752727478044e-002, + 1.24951722464175e-002, + 1.30064762888651e-002, + 1.35079506726470e-002, + 1.39983767221565e-002, + 1.44765550503507e-002, + 1.49413092949544e-002, + 1.53914897819050e-002, + 1.58259771415032e-002, + 1.62436858154251e-002, + 1.66435674982495e-002, + 1.70246144334669e-002, + 1.73858626221772e-002, + 1.77263949226472e-002, + 1.80453439170378e-002, + 1.83418947344762e-002, + 1.86152876485721e-002, + 1.88648205075879e-002, + 1.90898510118132e-002, + 1.92897987508331e-002, + 1.94641471098294e-002, + 1.96124449357740e-002, + 1.97343079635175e-002, + 1.98294200890814e-002, + 1.98975343810162e-002, + 1.99384739025845e-002, + 1.99521322429064e-002, + 1.99384739025845e-002, + 1.98975343810162e-002, + 1.98294200890814e-002, + 1.97343079635175e-002, + 1.96124449357740e-002, + 1.94641471098294e-002, + 1.92897987508331e-002, + 1.90898510118132e-002, + 1.88648205075879e-002, + 1.86152876485721e-002, + 1.83418947344762e-002, + 1.80453439170378e-002, + 1.77263949226472e-002, + 1.73858626221772e-002, + 1.70246144334669e-002, + 1.66435674982495e-002, + 1.62436858154251e-002, + 1.58259771415032e-002, + 1.53914897819050e-002, + 1.49413092949544e-002, + 1.44765550503507e-002, + 1.39983767221565e-002, + 1.35079506726470e-002, + 1.30064762888651e-002, + 1.24951722464175e-002, + 1.19752727478044e-002, + 1.14480237170937e-002, + 1.09146789764054e-002, + 1.03764964442234e-002, + 9.83473430460435e-003, + 9.29064723823103e-003, + 8.74548266801867e-003, + 8.20047706292826e-003, + 7.65685230908275e-003, + 7.11581213363388e-003, + 6.57853865050129e-003, + 6.04618897341425e-003, + 5.51989195992064e-003, + 5.00074506453529e-003, + 4.48981132467452e-003, + 3.98811649029085e-003, + 3.49664630448387e-003, + 3.01634393144923e-003, + 2.54810756359802e-003, + 2.09278819420433e-003, + 1.65118757013261e-003, + 1.22405632919254e-003, + 8.12092332807879e-004, + 4.15939182630609e-004, + 3.61849462535702e-005, + -3.26638925457701e-004, + -6.72058473128345e-004, + -9.99657903776097e-004, + -1.30908005985475e-003, + -1.60002668508241e-003, + -1.87225848776507e-003, + -2.12559500596399e-003, + -2.35991427325644e-003, + -2.57515228713601e-003, + -2.77130229278555e-003, + -2.94841387676570e-003, + -3.10659188471618e-003, + -3.24599515897717e-003, + -3.36683511523006e-003, + -3.46937415179127e-003, + -3.55392391520581e-003, + -3.62084341122682e-003, + -3.67053698664677e-003, + -3.70345218379953e-003, + -3.72007747591852e-003, + -3.72093989699351e-003, + -3.70660256976407e-003, + -3.67766215549636e-003, + -3.63474622008653e-003, + -3.57851053468039e-003, + -3.50963632808998e-003, + -3.42882748736884e-003, + -3.33680772928346e-003, + -3.23431775268546e-003, + -3.12211237178417e-003, + -3.00095766033337e-003, + -2.87162809581787e-003, + -2.73490372819651e-003, + -2.59156738411548e-003, + -2.44240190568235e-003, + -2.28818744290038e-003, + -2.12969880521996e-003, + -1.96770288584958e-003, + -1.80295616019066e-003, + -1.63620226612693e-003, + -1.46816969117936e-003, + -1.29956954333466e-003, + -1.13109344465556e-003, + -9.63411526981872e-004, + -7.97170554733384e-004, + -6.32992167766133e-004, + -4.71471255764300e-004, + -3.13174462917232e-004, + -1.58638831806002e-004, + -8.37058323455153e-006, + 1.37155959464508e-004, + 2.77499307003382e-004, + 4.12251593843393e-004, + 5.41039225709028e-004, + 6.63523382627318e-004, + 7.79400379542494e-004, + 8.88401882775725e-004, + 9.90294991424889e-004, + 1.08488217529157e-003, + 1.17200108434190e-003, + 1.25152422197061e-003, + 1.32335849593801e-003, + 1.38744464129559e-003, + 1.44375653053430e-003, + 1.49230036595327e-003, + 1.53311377016507e-003, + 1.56626476928068e-003, + 1.59185068514489e-003, + 1.60999693616759e-003, + 1.62085575766469e-003, + 1.62460484534677e-003, + 1.62144593195990e-003, + 1.61160330071652e-003, + 1.59532224915893e-003, + 1.57286750163621e-003, + 1.54452158767526e-003, + 1.51058318488140e-003, + 1.47136544228488e-003, + 1.42719428231430e-003, + 1.37840670049627e-003, + 1.32534905424109e-003, + 1.26837536708990e-003, + 1.20784563478082e-003, + 1.14412416041887e-003, + 1.07757790419782e-003, + 1.00857487586836e-003, + 9.37482555400493e-004, + 8.64666362986100e-004, + 7.90488174061466e-004, + 7.15304892992208e-004, + 6.39467077462541e-004, + 5.63317635396743e-004, + 4.87190580770402e-004, + 4.11409865478163e-004, + 3.36288280777808e-004, + 2.62126441270993e-004, + 1.89211840620374e-004, + 1.17817996624581e-004, + 4.82036718381096e-005, + -1.93878144827409e-005, + -8.47291963452790e-005, + -1.47609777854996e-004, + -2.07835871606221e-004, + -2.65231144680911e-004, + -3.19636886047192e-004, + -3.70912183711880e-004, + -4.18934025447015e-004, + -4.63597313114406e-004, + -5.04814802297915e-004, + -5.42516962013906e-004, + -5.76651762685287e-004, + -6.07184390901239e-004, + -6.34096898920689e-004, + -6.57387784940511e-004, + -6.77071518111916e-004, + -6.93177998755345e-004, + -7.05751972873259e-004, + -7.14852389592124e-004, + -7.20551720178264e-004, + -7.22935229077848e-004, + -7.22100215170940e-004, + -7.18155213689897e-004, + -7.11219176764644e-004, + -7.01420623727245e-004, + -6.88896780275172e-004, + -6.73792694442454e-004, + -6.56260350524462e-004, + -6.36457770042398e-004, + -6.14548117255254e-004, + -5.90698801943290e-004, + -5.65080593787570e-004, + -5.37866741979087e-004, + -5.09232113927283e-004, + -4.79352348065731e-004, + -4.48403030986810e-004, + -4.16558895039998e-004, + -3.83993048444609e-004, + -3.50876230299946e-004, + -3.17376103680544e-004, + -2.83656578062619e-004, + -2.49877176543123e-004, + -2.16192434152163e-004, + -1.82751344709686e-004, + -1.49696844630398e-004, + -1.17165344306613e-004, + -8.52863014983996e-005, + -5.41818421595508e-005, + -2.39664258572247e-005, + 5.25344136903527e-006, + 3.33794497606732e-005, + 6.03216796548622e-005, + 8.59987530077433e-005, + 1.10337937343274e-004, + 1.33275206962935e-004, + 1.54755259984540e-004, + 1.74731494894331e-004, + 1.93165944324392e-004, + 2.10029172194481e-004, + 2.25300130352935e-004, + 2.38965983555772e-004, + 2.51021895451231e-004, + 2.61470788586848e-004, + 2.70323068775724e-004, + 2.77596328146501e-004, + 2.83315016076813e-004, + 2.87510095631660e-004, + 2.90218670897957e-004, + 2.91483603177767e-004, + 2.91353107627401e-004, + 2.89880338982584e-004, + 2.87122964550690e-004, + 2.83142731859698e-004, + 2.78005026643768e-004, + 2.71778431851999e-004, + 2.64534279381223e-004, + 2.56346210903757e-004, + 2.47289732442368e-004, + 2.37441783042414e-004, + 2.26880303273447e-004, + 2.15683819874357e-004, + 2.03931033581739e-004, + 1.91700428331387e-004, + 1.79069887053629e-004, + 1.66116329069155e-004, + 1.52915360047245e-004, + 1.39540945724548e-004, + 1.26065098243089e-004, + 1.12557590540519e-004, + 9.90856842122412e-005, + 8.57138867331741e-005, + 7.25037243682891e-005, + 5.95135422969406e-005, + 4.67983266361216e-005, + 3.44095483342244e-005, + 2.23950316140531e-005, + 1.07988467519249e-005, + -3.38778050390509e-007, + -1.09815163398252e-005, + -2.10969875595879e-005, + -3.06567707042404e-005, + -3.96364080188505e-005, + -4.80153744888412e-005, + -5.57770427462856e-005, + -6.29086129038114e-005, + -6.94010423671898e-005, + -7.52489398507805e-005, + -8.04504619793533e-005, + -8.50071797344754e-005, + -8.89239448724766e-005, + -9.22087302228647e-005, + -9.48724762395159e-005, + -9.69289071122148e-005, + -9.83943606627236e-005, + -9.92875887959599e-005, + -9.96295737252240e-005, + -9.94433180210308e-005, + -9.87536515992815e-005, + -9.75870175352611e-005, + -9.59712756412046e-005, + -9.39354847560026e-005, + -9.15097119786878e-005, + -8.87248162086962e-005, + -8.56122628363210e-005, + -8.22039161221255e-005, + -7.85318649434430e-005, + -7.46282229897588e-005, + -7.05249701979938e-005, + -6.62537674429586e-005, + -6.18458107624065e-005, + -5.73316662837442e-005, + -5.27411380630838e-005, + -4.81031269288223e-005, + -4.34455125315480e-005, + -3.87950342144450e-005, + -3.41771981169359e-005, + -2.96161721422550e-005, + -2.51347206230434e-005, + -2.07541204773065e-005, + -1.64941174816136e-005, + -1.23728637539955e-005, + -8.40689979142439e-006, + -4.61111019056659e-006, + -9.98729312584601e-007, + 2.41868520589605e-006, + 5.63122218366630e-006, + 8.63062927081160e-006, + 1.14102627897239e-005, + 1.39650824664272e-005, + 1.62915830657084e-005, + 1.83877817789835e-005, + 2.02531256547900e-005, + 2.18884704494826e-005, + 2.32959802346500e-005, + 2.44790862993227e-005, + 2.54423846115515e-005, + 2.61915824779635e-005, + 2.67333907615352e-005, + 2.70754657449857e-005, + 2.72262904985610e-005, + 2.71951274370963e-005, + 2.69918843613937e-005, + 2.66270729696316e-005, + 2.61116779043391e-005, + 2.54571148232685e-005, + 2.46750970305243e-005, + 2.37776054561323e-005, + 2.27767562890335e-005, + 2.16847670699849e-005, + 2.05138421378592e-005, + 1.92761334290026e-005, + 1.79836387488308e-005, + 1.66481622656534e-005, + 1.52812250675538e-005, + 1.38940382470309e-005, + 1.24974077273521e-005, + 1.11017289476933e-005, + 9.71690935358538e-006, + 8.35234692431186e-006, + 7.01689001658679e-006, + 5.71881908939531e-006, + 4.46580316904033e-006, + 3.26491056412692e-006, + 2.12255360132474e-006, + 1.04453192628640e-006, + 3.59466980209833e-008, + -8.98715023289753e-007, + -1.75568317439811e-006, + -2.53180553766441e-006, + -3.22467085300815e-006, + -3.83246177726448e-006, + -4.35411175558897e-006, + -4.78916557078435e-006, + -5.13787102107699e-006, + -5.40110393210114e-006, + -5.58043759113502e-006, + -5.67803495421515e-006, + -5.69677771800059e-006, + -5.64009266668108e-006, + -5.51218443334278e-006, + -5.31775086720643e-006, + -5.06230625596515e-006, + -4.75193503213234e-006, + -4.39353557801780e-006, + -3.99460086342174e-006, + -3.56365255882451e-006, + -3.10973871453513e-006, + -2.64309208830582e-006, + -2.17458045881358e-006, + -1.71645402602394e-006, + -1.28144952382669e-006, + -8.84192798977779e-007, + -5.39671082488979e-007, + -2.65544736310908e-007, + -7.89674237111626e-008 +};