how to distinguish fft frequency is real existence or noise
Show older comments
i useing fft analyze tide water level
i want find exist tide component
but fft present a lot of noise
i want distinguish frequency which is real existence (very likely to exist) or not exist(noise)
how should i distinguish fft produce real frequency and noise
attached file is my plot fft amplitude and frequency
Answers (1)
Bruno Luong
on 16 Apr 2022
1 vote
You need to have a priori knowledge of the spectrum of the signal and the noise, and design an appropriate noise filter
- if the noise stectrums are well separated, you are OK
- if they are partially overlap, you have to make a compromise
- if they are totally overlapped you are screwed
14 Comments
peter huang
on 16 Apr 2022
Star Strider
on 16 Apr 2022
You are not actually screwed if the signal has broadband noise, you simply cannot use a frequency-selective filter to elimiinate it. Instead, use either wavelet denoising (requires the Wavelet Toolbox) or the Savitzky-Golay filter (sgolayfilt) to eliminate as much of it as posible from the time-domain signal.
peter huang
on 16 Apr 2022
Star Strider
on 16 Apr 2022
I would use sgolayfilt on the interpolated data. It may eliminiate the noise, however it will be necessary for you to experiment with it. I usually use a 3-degre polynomial, and vary the window length until I get the best possible result, that being minimal noise without eliminating the details from the signal features.
Image Analyst
on 16 Apr 2022
What do you really want to know? Maybe we can find that out despite the noise. Like if you just wanted to find the location of those really tall peaks. I think they're obviously not due to noise so we can find them even if there is a low level of noise everywhere else that we didn't do anything about.
peter huang
on 16 Apr 2022
Edited: peter huang
on 16 Apr 2022
peter huang
on 16 Apr 2022
Star Strider
on 16 Apr 2022
peter huang
on 17 Apr 2022
peter huang
on 17 Apr 2022
Edited: peter huang
on 17 Apr 2022
Star Strider
on 17 Apr 2022
Increase the ‘framelen’ value until you get the result you want.
peter huang
on 17 Apr 2022
Image Analyst
on 17 Apr 2022
@peter huang I don't know what M2 and O2 are. Can you point them out on this diagram?

and, like I asked before, if you're just trying to find really tall peaks less than 0.1, then what does it matter if there is noise? Those peaks could still be found without any denoising.
Even if you did want to do denoising, wouldn't it make sense to do it on the original data instead of the Fourier Transform of the data?
peter huang
on 18 Apr 2022
Categories
Find more on Smoothing and Denoising in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!