MATLAB Answers

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

4 views (last 30 days)
HF
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!

  0 Comments

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