To Solve FFT Issue

1 view (last 30 days)
Amrit Zoad
Amrit Zoad on 29 Jun 2020
Commented: dpb on 15 Jul 2020
Due to the change in amplitude of the received signal, I am getting 2 different frequency results by FFT.
Black = 60Hz.
Red = 30Hz.
The received signal (Purple) can easily be seen to be nearly of 60Hz. (Black)
How can I solve this issue in Matlab?
  2 Comments
dpb
dpb on 29 Jun 2020
The received signal isn't fixed frequency at all...plus it's truncated which if include it in FFT will introduce all kinds of harmonics.
So, what's the perceived "issue" and what have you done, specifically (show code/results/expected result).
The signal content is what it is -- best you can do will be to not include the disruption at the end and then window...you don't have long enough time history to do very good job of estimating; then again, FFT isn't all that great a tool fro transients...it presumes stationarity.
dpb
dpb on 15 Jul 2020
Attach a .mat file with the data set if want somebody to try to play with it...
The FFT will give a composite of the frequency content of the signal over the time -- what you have is not a pure tone; even by just casual inspection the time between beginning and first valley is ~3X as long as from the valley to the peak -- those are quite different in frequency content. Similarly, that peak to big valley is more like a 2X difference it appears.
You also have only a limited number of "cycles" of a transient so you can't use averaging to eliminate noise because
  1. simply not enough data to do so, and
  2. it wouldn't make sense anyways because it's the specific times that matter, anyways.
I think from your description that it isn't frequency you're interested in at all but transit times and that you'll probably be better off to try to find consistent form of smoothing/filtering of the waveform and use that to locate the peaks/valleys from which to estimate the transit times.
I don't think it's nearly as much the variation in magnitude of the signal that's causing issues re: FFT as it is that the signal simply isn't stationary and actually contains the frequencies you find.

Sign in to comment.

Answers (0)

Categories

Find more on Fourier Analysis and Filtering in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!