I've searching the whole day to calculate the inverse function of sinc(x) between -pi and pi , but couldn't find anything:

Does anybody know a way to get the angle value from the a given sinc value ? If it make easier I'm only interested in the area between -pi and pi
Thanks in advance for any help.
The Fourier transform of the sinc function is a rectangle centered on ω = 0. This gives sinc(x) a special place in the realm of signal processing, because a rectangular shape in the frequency domain is the idealized “brick-wall” filter response.
The integral of a function is the value of its Fourier transform at zero, so sinc integrates to π. [ 1] By Plancherel's theorem, the integral of sinc2(x) is the integral of its Fourier transform squared, which equals π. [There are several conventions for defining the Fourier transform.
In general, even if restricted to small intervals where sinc is bijective (which I don't think is the case for your requirements), it has no simple inverse.
Perhaps you could do one of the following:
You could calculate the inverse "online" using the minimization of of abs(sinc(x) - y) (see, e.g., Numerical Recipes in C. Note that you're in luck as it's a smooth function, and so you can use the derivatives.
Create "offline" a lookup table for various values in the required range, and given an "online" query, interpolate between two pre-calculated results.
Newton's Method for finding zeros may be serve as a means to approximate inverses for the sinc function. If we let f(x) = sin(x)/x, then f'(x) = cos(x)/x-sin(x)/x^2 Using Newton's method, we can approximate a zero for f by
x(n+1) = x(n) - f(x(n)) / f'(x(n))
Depending where we start and as long as we don't come across values where f'(x(n)) = 0 we should find a solution.
If we restrict f to a single branch where x∈(0,π] then f(x)∈[0,1) is bijective and Newton's Method may be useful to finding x0∈(0,π] for a given y0∈[0,1) such that y0=f(x0). We can do this by finding where g(x0)=f(x0)-y0=0. In this case g'(x) = f'(x) since the derivative of y0 is 0. and so we're left with iterating:
x(n+1) = x(n) - [f(x(n)) - y0] / f'(x(n))
The trick then is to choose a suitable x(0) to start the process. There are likely a number of possible choices, but x(0)=π is probably adequate.
One caveat to this is you will need to guard against the possibility of f'(x(n))=0. This condition should be checked and if it is encountered, a different x(0) should be chosen and the process started again.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With