Inverse Sinc Approximation

2k Views Asked by At

I am looking for a closed-form formula for the approximation of an inverse Sinc as $$y=\frac{\pi x}{sin(\pi x)}$$ for x between -0.85 and 0.85, with 1% accuracy.

My first inclination is to do a polynomial curve-fit but wanted to check if anyone already had the solution or a better approach?

I am ultimately using this to approximate X as a function of Y for: $$K Sinc(X)=Sinc(Y)$$

3

There are 3 best solutions below

2
On BEST ANSWER

As JeanMarie suggested in his answer, Pade approximants are probably the most interesting approach.

A simple and rather accurate one would be $$\dfrac{\pi x}{\sin(\pi x)}=\frac{1+\frac{13 \pi ^2 }{396}x^2+\frac{5 \pi ^4 }{11088}x^4} { 1-\frac{53 \pi ^2 }{396}x^2+\frac{551 \pi ^4}{166320} x^4}$$ which shows a maximum error at the upper bound $0.85$ (the approximated value being $\approx 5.87170$ for an exact value $\approx 5.88196$.

Using it, if you need sot solve for $x$ equation $$K \text{sinc}(x)=\text{sinc}(y)$$ you will need to solve $$K \frac{ 1-\frac{53 }{396}x^2+\frac{551 }{166320} x^4}{1+\frac{13 }{396}x^2+\frac{5 }{11088}x^4} =\text{sinc}(y)$$ which is just a quadratic equation in $x^2$.

Defining $a=\frac{\text{sinc}(y)} K$, the solutions will then be $$x^2=\frac{6 \left(\pm\sqrt{35} \sqrt{-3985 a^2+130862 a+25583}-455 a-1855\right)}{75 a-551}$$

For illustration purposes, let us use $y=\frac 12$ and $K=3$. This will give as possible positive solutions $x=2.31087$ and $x=6.34097$ while the exact solution would be $x=2.31069$.

Edit

You may be intested by comparing Taylor expansions $$\text{sinc}(x)=1-\frac{x^2}{6}+\frac{x^4}{120}-\frac{x^6}{5040}+\frac{x^8}{362880}-\frac{x^{10}}{3 9916800}+O\left(x^{12}\right)$$ $$\frac{ 1-\frac{53 }{396}x^2+\frac{551 }{166320} x^4}{1+\frac{13 }{396}x^2+\frac{5 }{11088}x^4}=1-\frac{x^2}{6}+\frac{x^4}{120}-\frac{x^6}{5040}+\frac{x^8}{362880}-\frac{x^{10}}{1 005903360}+O\left(x^{12}\right)$$

If you are concerned by the range $0 \leq x \leq 0.85 \pi$, a curve fit would give $$\text{sinc}(x)=\frac{ 1-0.132083 x^2+0.00311873 x^4}{1+0.0345805 x^2+0.000554186 x^4}$$ for a maximum error lower than $10^{-5}$ everywhere.

1
On

From $\sin(z) =z-z^3/6+O(z^5)$, $sinc(x) =\sin(\pi x)/(\pi x) = 1-\pi^2x^2/6+O(x^4) $.

Therefore, for small $x$, $sinc^{-1}(y) \approx\frac1{\pi}\sqrt{6(1-y)} \approx\frac1{\pi}\sqrt{6}(1-y/2) $.

If you just want a polynomial approximation, use a fitting routine.


Also, doing a Google search for "inverse sinc function" turned up this:

https://www.dsprelated.com/showthread/comp.dsp/13099-1.php

An extract:

"The sine cardinal function,

       (  1          if x = 0

sinc(x) = ( ( sin(x)/x otherwise,


With $$f(x) =2 x+\frac{3 x^3}{10}+\frac{321 x^5}{2800}+\frac{3197 x^7}{56000}+\frac{445617 x^9}{13798400}+\frac{1766784699 x^{11}}{89689600000}+\frac{317184685563 x^{13}}{25113088000000}+\frac{14328608561991 x^{15}}{1707689984000000}+\frac{6670995251837391 x^{17}}{1165411287040000000}+\frac{910588298588385889 x^{19}}{228420612259840000000}+O\left(x^{21}\right) $$

it can be shown that the desired inverse, abbreviated as $\text{Asinc}$ here, is given by

$$\text{Asinc}(x) = \sqrt{ \frac 32} \, f(\sqrt{1 - x})$$

0
On

IMHO, you should not use $f(x):=\dfrac{\pi x}{\sin(\pi x)}$, especially when you are close to the first pole $x=1$ (for example when $x=0.85$, $f(x)=5.88$ : it is deemed to failure: you will not be able to manage a small error in the vicinity of $0$ and in the vicinity of $0.85$.

You should try to work with the much "nicer" function $sinc(x):=\dfrac{\sin(\pi x)}{\pi x}$.

You could use for example the following approximation of cardinal sine under the form:

$$h(x):=\dfrac{\sin(x)}{x}\approx\dfrac{1-0.035 x^2}{1+0.15x^2-0.018x^4}$$

(I obtained it by adapting a so-called "continuous fraction". See also "Padé approximants".)

with an error less than $2.5 \times 10^{-3}$ on the interval $[-0.8,0.8]$ which becomes the narrower interval $[0.8/\pi,0.8/\pi]$ for $sinc(x)=f(x/\pi).$