MATLAB Answers

Transformation of time domain to frequency domain

4 views (last 30 days)
i am new in matlab,i need help with data that is in time domain,particularly displacement(elevation) against time,obtained from GPS, i need help to firstly filter the data to remove noise then transform using FFT to obtain frequency domain.the idea is to have a graph of power against frequency. The data was taken at 10Hz sampling frequency for 10minutes.
  1 Comment
Alaster Meehan
Alaster Meehan on 26 Jul 2021
Do you have the Signal Processing Toolbox? The Signal Processing Toolbox has a nice app for designing filters. Do you know what frequencies you need to filter out the noise? You may find that prefiltering the data won't help the power spectrum much, or that it is easer/better to post process the power spectrum.
To get a power spectrun you just need to take the absolute value of the fourier transform. Its good to normalise by dividing by the number of samples. Also you will only need the first half of the first half of the fft data.
PowerSpectrum = abs(fft(Data))/numSamples;
PowerSpectrum = PowerSpectrum(1:(floor(NumSamples/2) + 1);
The highest frequency in the power spectrum will be half the sample rate, in this case 5Hz.
The first frequency component may dominate your power spectrum, this value is the offset or mean of the data, you may not want to plot this value.

Sign in to comment.

Accepted Answer

Swetha Polemoni
Swetha Polemoni on 28 Jul 2021
Hi
You may find the following documention Digital and Analog Filters useful to understand more about filters. This documentation
"Filtering Data With Signal Processing Toolbox Software" is helpful to understand how the filtering can be done on signals using Signal Processing Toolbox.
Here is an example that you might help you to calculate power spectrum using fft.

More Answers (0)

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!