Fourier Transform for Solving Parameter Perturbation Problem

Click For Summary

Discussion Overview

The discussion revolves around using the Fourier transform to solve a parameter perturbation problem, specifically how to infer the components of a function y(t) from sampled data. Participants explore the application of Fourier analysis to identify significant terms in a perturbed signal, addressing both theoretical and practical aspects of the method.

Discussion Character

  • Exploratory
  • Technical explanation
  • Mathematical reasoning

Main Points Raised

  • One participant describes a specific perturbation model for y(t) and successfully computes its Fourier transform for a limited range of t (0 ≤ t ≤ 2π), yielding accurate coefficients.
  • Another participant questions the need for further clarification on the results, suggesting that the computed form of y(t) appears sufficient.
  • A participant emphasizes the need for a procedure to determine the coefficients of y(t) for any arbitrary t, not just within the initial range.
  • Suggestions are made to perform numerical integration to derive coefficients from the general Fourier transform definition.
  • Participants discuss the importance of windowing and autocorrelation when analyzing noisy signals to identify significant frequencies.
  • A participant outlines their current methodology for sampling y(t) and performing a Fast Fourier Transform (FFT), noting that their approach works well within a specific range of parameters but struggles with arbitrary t values.

Areas of Agreement / Disagreement

Participants express differing views on the sufficiency of the results obtained for y(t) and the methods required to extend the analysis beyond the initial range. There is no consensus on the best approach to handle arbitrary t values or the necessity of additional operations.

Contextual Notes

Participants mention limitations related to the range of the parameter mul and the challenges of applying the Fourier transform to arbitrary time values. The discussion reflects a variety of approaches and assumptions regarding the analysis of the signal.

Cristiano
Messages
33
Reaction score
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
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?
 
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.
 
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)]
 
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.
 
Notice the 'n' and 'm'. You'll have 4 cases to explore. N=0, m= 0, n=m and n!= m.
 
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)
 
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]).
 

Similar threads

  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 3 ·
Replies
3
Views
12K
  • · Replies 2 ·
Replies
2
Views
7K
  • · Replies 6 ·
Replies
6
Views
3K
  • · Replies 7 ·
Replies
7
Views
3K
  • · Replies 11 ·
Replies
11
Views
2K
  • · Replies 5 ·
Replies
5
Views
2K