MATLAB Answers

Frequency estimation with small number of samples, Kalman Filter, periodogram

4 views (last 30 days)
HF on 3 Nov 2020
Hello everyone, I am trying to estimate the frequency of a set of data. Most methods require a long length of samples in order to compute accurate results. The length of my sample is only 1024. Does anyone know a good approach how to estimate the frequency accurate with only 1024 samples?
I already looked up for possible solutions. The matlab function periodogram seems to be a good approach. However, the results is not satisfying.
My code:
data; % set of data
t ; % time-vector
fs = 1000;
[pxx,f]= periodogram(data,hamming(length(data)),length(data),fs;
[Max_Values,frequency] = findpeaks(10*log10(pxx),f,'SortStr','descend');
real_frequency = frequency(1);
Does anyone know how to improve my code?
Does anyone has a code which I could use for implement the kalman filter?
Thank you in advance!


Sign in to comment.

Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by