Fourier transform of derivative expression with respect to time

16 views (last 30 days)
Hi, everybody. The Fourier transform of the derivative expression of a function with respect to time, for example dx(t)/dt, is jwX(w). Here is how w in the expression jw should be calculated.
Erkan on 30 Jan 2024
In the articles, the jw expression is expressed as "complex time-harmonic angular frequency". How can I calculate the value of w at each time t within a for loop? Is it necessary to create a frequency domain (depending on the operating frequency)?
Paul on 30 Jan 2024
w is the independent variable of the Fourier transform. "Angular frequency" just means it has units of rad/sec (as opposed to Hz, which would be called "ordinary frequency"). With the default settings, Matlab's fourier and ifourier use w (rad/sec) as the independent variable in the frequency domain, see my example below.
w is not a quantity that's caculated as a function of time.
Perhaps if you explain a bit more about what you're trying to do, further clarification can be provided.

Sign in to comment.

Answers (1)

Paul on 30 Jan 2024
Hi Erikan,
I'm not clear what you're asking about how j*w should be calculated. It's just part of the expression.
If you're asking how to input the Matlab expression for jw, that's just 1j*w
syms t w real
f(t) = exp(-t)*heaviside(t);
F(w) = fourier(f(t),t,w);
ans = 
[num,den] = numden(fourier(diff(f(t),t),t,w));
ans = 
Paul on 26 Feb 2024
The jw term in equation (15) is needed to develop plots like Figures 2 and 4. It does not seem to be needed for RK integration of equations (1)-(5).
The matrix on the LHS of (15) can be expressed as:
jw*eye(5) - A, where A is formed from the gamma_ij
We can from the matrix on the left-hand side of equation (15) as a a function of w by using a 3-D array, with the third dimension corresponding to w.
f = logspace(-3,2,100)*1e9; % Hz
f = 1×100
1.0e+11 * 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0002 0.0002 0.0002 0.0002 0.0003 0.0003
w = 2*pi*f; % rad/sec, which I *think* is required for (15)
w = reshape(w,1,1,[]);
A = rand(5); % for example, I'm not going to type all the expressions for gamma_ij
M = 1j.*w.*eye(5) - A;
ans = 1×3
5 5 100
Now you can use M to proceed with whatever needs to be done with it. A function like pagemldivide would probably come in handy.
Erkan on 26 Feb 2024
Hi Paul, thanks for your answer but I think the steps you suggested cannot solve the problem. I'll need to do more research.

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!