Borrar filtros
Borrar filtros

How to remove (or isolate) side peaks except main peak after FFT

48 visualizaciones (últimos 30 días)
Hyeon-Taek
Hyeon-Taek el 17 de Abr. de 2024 a las 6:37
Respondida: Star Strider el 17 de Abr. de 2024 a las 11:01
Hi All,
I have a data as above. This is some data from optical interferometry. After cropping the noise level (for getting dominant oscillation as best as I can), I can get the frequency data like below after FFT.
Like the fft data, there is a side peak. Sometimes more than one side peak. Also, not good the noise level as you can see. (Of course I have to get better raw data.)
Here is my questions.
Q1. How can the side peak be removed or isolated? I want to get the main peak only.
Q2. Is it available SVD function for the data?
Please let me know if whoever can let me recommend any examples for the questions. BR, Taek

Respuestas (2)

Chunru
Chunru el 17 de Abr. de 2024 a las 7:36
You can try "findpeaks" and using "MinPeakDistance" option.
doc findpeaks

Star Strider
Star Strider el 17 de Abr. de 2024 a las 11:01
Using:
NFFT = 2^nextpow2(numel(signal))
and a window function (for example hann) in the fft call could improve the fft result:
FTsignal = fft((signal(:)-mean(signal(:)) .* hann(numel(signal)), NFFT)/sum(hann(numel(signal)));
Then, plot the absolute value of that result, and also use it for the argument to findpeaks. (All of this assumes that ‘signal’ is a vector.)

Etiquetas

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by