Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Approximation of cos(cos(x))

Status
Not open for further replies.

andreas_baldur

Newbie level 2
Newbie level 2
Joined
Jan 13, 2012
Messages
2
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,284
Hello out there.

I'm wondering, if it is possible to make some kind of approximation to the function: f(x)=Cos(Cos(x)).
If I graph it, it gives me a function that looks like one of the form g(x)=A\[\cdot\]Cos(ωt+θ)+φ.
How do I mathematically make the reduction from f(x) to g(x).

Best
Andreas
 

You can calculate the Fourier series of cos(cos(x))
But since the integrals must be evaluated by numerical methods, is better use some software like Mathematica or Derive6.

With Derive6:
cos(cos(x)) = 0.7651976865 - 0.2298069698·cos(2x) + 0.004953277926·cos(4x) - 4.187667404·10^(-5)·cos(6x) ....... .

With the first two terms 0.7651976865 - 0.2298069698·cos(2x) the error is less than .005
 

Okay, så what fourier does, is to split up a function to its essential parts?
Or how should I understand it?
 

cos(cos(x)) is a periodic function having 2*pi period.

periodic function can be expanded by Fourier Series.
Fourier series - Wikipedia, the free encyclopedia

In attached figure, "BesselJ[n, z]" gives the Bessel function of the first kind a Jn(z).
 

Attachments

  • FourierTrigSeries.png
    FourierTrigSeries.png
    25.8 KB · Views: 291
Last edited:

Have you tried with Wolfram Alpha.....

cos(cos(x))_WA.png
cos(cos(x))_WA2.png
 
Last edited:

Okay, så what fourier does, is to split up a function to its essential parts?
Or how should I understand it?
That function appears in the evaluation of the FM spectrum.

Perhaps you should read on Wikipedia about "Fourier Series" and "Bessel Generating function".
 

Hi Andreas,

you should specify the following points, that impact the type of approximation and the resulting complexity:
a) which is the range of x over which you want the approximation
b) what are the allowed errors and what type of specification do they have (i.e.: maximum absolute errors, maximum relative errors)
c) what resources are allowed (processor or FPGA, multiplier, huge memory, etc.)
d) other constraints?
Normally, a polynomial approximation is ok for this type of function. It requires only multiplications and sums.
Another possibility is using look up tables and interpolation between values of the table.
Cos and Sin are very time consuming and, by the way, they are frequently implemented using piecewise polynomial approximations.
Regards

Z
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top