Number of sinusoids Estimator

Estimate the number of sinusoid in a signal.

You are now following this Submission

Fast Algorithm estimating the number of sinusoids in a white Gaussian noise. This algorithm use a sub-space method based on chi-square statistics of eigen values of the Autocorrelation Matrix.

Example :

clear, close all hidden
N = 512;
L_vrai = 4;
fe = 2000;
F = (0:(fe/2)/(N/2-1):(fe/2));
snr = [-10 -10 -10 -10];
f = [25 230 500 780];
n = 32;
prob = 0.95;
y = zeros(1,N);
t = (0:(N-1))/fe;

for l = 1:L_vrai
y = y + sqrt(2)*10^(snr(l)/20)*sin(2.*pi.*f(l).*t + 2.*pi.*rand);
end

s = y + randn(1 , N);

[L , R] = nbsinu(s , n , prob);

Cite As

Sebastien PARIS (2026). Number of sinusoids Estimator (https://uk.mathworks.com/matlabcentral/fileexchange/4876-number-of-sinusoids-estimator), MATLAB Central File Exchange. Retrieved .

General Information

MATLAB Release Compatibility

  • Compatible with any release

Platform Compatibility

  • Windows
  • macOS
  • Linux
Version Published Release Notes Action
1.0.0.0

Version 1.1 : add some small speed improvements