From frequency to time domain

1 view (last 30 days)
Nicolò Monaco
Nicolò Monaco on 17 Feb 2022
Commented: Jon on 18 Feb 2022
I have the function S, representing the sea elevation spectrum in frequency domain.
S= 300x365 , being the spectra for 365 days in 300 frequency timestep.
I want to translate the function to time domain, simulating S for every second in a day (86400s).
How can I implement this?
thank you in advance.

Accepted Answer

Jon
Jon on 17 Feb 2022
If I understand what you are asking for correctly I am assuming that your matrix S has the fft of the original time domain data.
I think you could then recover it and interpolate to get data for every second in the day using:
% make time vector for original spacing (300 samples per day)
t = linspace(0,86400-1,300);
% recover time domain signal
X = ifft(S);
% interpolate intermediate values
tq = 0:86400-1;
Xq = interp1(t,X,tq)
  3 Comments
Nicolò Monaco
Nicolò Monaco on 18 Feb 2022
Thank you for your answer. My problem was that the spectrum is not directly derived by an fft but you provide me a feasible solution.
Jon
Jon on 18 Feb 2022
Glad that you were able to make progress

Sign in to comment.

More Answers (0)

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!