Fourier Transform for Solving Parameter Perturbation Problem

In summary: I think that I need to do the following:define tau = 2 * pi * N/Mcalculate ttake the absolute value of tdefine tau2 = tau - abs(t)repeat from 0 until tau2 >= N/MThis should work, but I'm not sure. Please let me know if you think that this is sufficient.In summary, you can use a Fourier transform to calculate y values for arbitrary t if you have a sufficient number of samples. However, if you don't have a sufficient number of samples, you'll get a meaningless result.
  • #1
Cristiano
33
0
Suppose that a parameter y= 123.
That parameter is somehow "perturbed" and its instantaneous value is:
y(t)= 123 +
sin(t - 50°) * 9 +
sin(t * 3 + 10°) * 3 +
sin(t * 20 + 60°) * 4

Suppose that I don't know the above formula, but I can calculate y(t) for any t. Hence I decide to use the Fourier transform to infer all the y's components.

If I use a sufficient number of samples to calculate y(t) (I currently use 216 samples) for 0 ≤ t ≤ 2π, I obtain:
y(t)= 122.999955606783 +
sin(t - 49.9942506502916°) * 8.99994072213981 +
sin(t * 3 + 10.0193463603278°) * 2.9999458244411 +
sin(t * 20 + 60.11052441823°) * 4.00000160503959

which is a very good result, while if I try to calculate y(t) for arbitrary t, I obtain a totally meaningless result.
Please, could somebody help me?
Thank you
 
Physics news on Phys.org
  • #2
I'm not sure I know what you mean. You essentially have the result, no? Isn't y(t) = 122.999 + sin(t-49.99)... y(t) for arbitrary t?
Can you elaborate on what you mean a little more?
 
  • #3
That's only an example and I know how to find the parameters only when 0 ≤ t ≤ 2π.
I need a working procedure to find the parameters in the equation:
y(t)= k0 + k1 * sin(t * a1 + b1) + k2 * sin(t * a2 + b2) + ...
knowing only y(t) and for any t (t is a time), not just for 0 ≤ t ≤ 2π.
I guess that I need to carry out some additional operations to consider that t is not in the range [0, 2π], but I don't know how to do that.
 
  • #4
So you know y values, the general Fourier transform defines coefficients in terms of an integral, so do a numerical integral.
The general form is sum from 0 to inf of [a_n sin (2n pi t/tau) + b_n cos (2n pi t/tau)]
 
  • #5
You can either solve for the coefficients yourself (generally) or look up the general formula.

If you want to solve for them yoyrself (which is good to do at least once imo), try integrating cos (2n pi t/tau)sin(2m pi t/tau) from -tau/2 to tau/2.
 
  • #6
Notice the 'n' and 'm'. You'll have 4 cases to explore. N=0, m= 0, n=m and n!= m.
 
  • #7
Fourier transforms of general noisy signals require some form of windowing. Do an autocorrelation first to see what periodicity is present and what frequencies are of interest (if any: your example suggests averaging is as good as anything if all you want is the 123)
 
  • #8
I realize that my post is still unclear; here's what I'm currently doing.

I have a black box with the input t (time in seconds) and the output y(t) (a real number).
I only know that y(t) is very well fitted by an equation of the form:
y(t)= k0 + k1 * sin(t * a1 + b1) + k2 * sin(t * a2 + b2) + ...
and I'm only interested in knowing the most significant terms (k1, k2, ... must be "big"; I'll discard small k's).

In order to set up my procedure, I use a known "black box":
y(t)= 123 + sin(t - 50°) * 9 + sin(t * 3 + 10°) * 3 + sin(t * 20 + 60°) * 4
I decide to sample a reasonable number of points: N= 216
I define mul= 2 and step= mul * 2π / (N-1)
then I sample y(t):
for i= 0 to N-1
t = i * step
FFT_input_i = y(t)​
next i

now I calculate the FFT of FFT_input's and I obtain the wanted components:
for i= 0 to N/2
mag_i= magnitude(FFT_output_i)
arg_i= phase(FFT_output_i)​
next i

y(t)= k0 + k1 * sin(t * a1 + b1) + k2 * sin(t * a2 + b2) + ...
k_i= mag_i
a_i= i / mul
b_i= arg_i + 90°

That procedure perfectly works only when mul is within a small range (mul = 1 doesn't work, mul > 10 is not good).
I need to extend t to any arbitrary range (usually t is in the range [-106, 106]).
 

Related to Fourier Transform for Solving Parameter Perturbation Problem

1. What is Fourier Transform and how does it work?

The Fourier Transform is a mathematical tool used to analyze and manipulate signals or functions that are composed of different frequencies. It decomposes a signal into its constituent frequencies and shows how much of each frequency is present in the original signal. This transformation helps in solving parameter perturbation problems by converting a time or space-domain function into a frequency-domain function, making it easier to analyze and obtain solutions.

2. How is Fourier Transform used in solving parameter perturbation problems?

Fourier Transform is used in solving parameter perturbation problems by converting the differential equations describing the system into algebraic equations in the frequency-domain. This transformation simplifies the problem by eliminating the dependence on time or space, making it easier to find solutions. The transformed equations can then be solved using standard mathematical techniques.

3. Can Fourier Transform be used for any type of parameter perturbation problem?

Yes, Fourier Transform can be used for both linear and non-linear parameter perturbation problems. However, for non-linear problems, the transformed equations may not have closed-form solutions and may require numerical methods for solving.

4. What are the advantages of using Fourier Transform for solving parameter perturbation problems?

The use of Fourier Transform in solving parameter perturbation problems has several advantages. It simplifies the problem by converting it into the frequency-domain, making it easier to analyze and find solutions. It also helps in visualizing the frequency components of the system, which can provide insights into the behavior of the system. Additionally, it can handle both continuous and discrete signals, making it suitable for a wide range of applications.

5. Are there any limitations to using Fourier Transform for solving parameter perturbation problems?

While Fourier Transform is a powerful tool for solving parameter perturbation problems, it does have some limitations. It assumes that the system is stationary, which means that the parameters do not change over time. It also requires the system to be linear or have a linearized form, which may not be applicable in all cases. Furthermore, the transformed equations may not have closed-form solutions for non-linear problems, requiring the use of numerical methods.

Similar threads

Replies
3
Views
1K
Replies
4
Views
2K
Replies
2
Views
5K
Replies
7
Views
2K
Replies
5
Views
1K
Replies
11
Views
925
  • Calculus and Beyond Homework Help
Replies
5
Views
507
Replies
3
Views
2K
Replies
3
Views
2K
Back
Top