enter image description hereSuppose I have following signal:

fs = 20;     % Sampling rate [Hz]
Ts = 1/fs;     % Sampling period [s]
duration = 25; % Duration [sec]
t = 0: Ts : duration-Ts; % Time vector
ss1 = (160.74*exp(-0.15*t)).*cos((2*pi*0.5*t));  %signal 1%
ss4 = zeros(1,length(t));  %signal 2%
tz = 0: Ts : 12-Ts;
for i = 1:length(tz)
ss4(i) = 30.54*exp(-0.25*tz(i)).*cos((2*pi*4*tz(i)));

xp = ss1+ss4;

My window length is of 10 second. In first 10 second, it has 200 samples and it calculates two frequency i.e. 4 Hz and 2 Hz. In recursive estimation this continues till 240 samples and from 241st sample onward frequency calculation deviates due to mixed samples. For example if one will choose his current window as 41:241 (200 samples or 10 sec) data point then frequency estimation comes out to be .5001 and 4.001 Hz and second value keep on increasing while it should decrease actually. All is happening because of mixed sampling points. Some of them are double frequency components while some are single one as one proceeds. I want to know what was the real motive behind recursive Prony? If someone needs Prony code please mention. I hope u are aware of this.

  • \$\begingroup\$ Wikipedia - Prony's method Prony analysis (Prony's method) was developed by Gaspard Riche de Prony in 1795. However, practical use of the method awaited the digital computer.[1] Similar to the Fourier transform, Prony's method extracts valuable information from a uniformly sampled signal and builds a series of damped complex exponentials or sinusoids. This allows for the estimation of frequency, amplitude, phase and damping components of a signal. \$\endgroup\$
    – Russell McMahon
    Commented Feb 17, 2014 at 14:23

1 Answer 1


The advantages are that using a recursive Prony, which is a combination of Prony and recursive least squares, you do not need to invert any matrices and you only need part of the data available at any given time.


  • \$\begingroup\$ I have already studied this paper. Suppose i am interested in frequency of (0.1-2 Hz) and the window to be chosen is minimum of 1/0.1 = 10sec. using first 10 second data i formulated data matrix and find my frequencies as say 0.2, 0.8, 1.1, 1.3 Hz. As the new data sample comes, again you formulate the matrix and find the inverse using the previous matrix as mentioned in above paper. If the new sample belongs to either of the four frequencies then why are u doing this calculation again when u already know the answer that this particular frequency is present. \$\endgroup\$
    – user37317
    Commented Feb 17, 2014 at 17:25
  • \$\begingroup\$ if the new sample doesn't belongs the above four then you will find mixed data points. All samples except last one (i.e the one which you added now) is having four frequency component while last one is of different frequency. In that case for that window what will be your frequency? \$\endgroup\$
    – user37317
    Commented Feb 17, 2014 at 17:27
  • \$\begingroup\$ Presumably, you don't know that the frequencies will always stay the same. That's the reason why you use recursive methods in the first place. It's an adaptive control technique that's used for nonlinear or time varying systems. You use a simple model, and just allow the parameters of the model to change \$\endgroup\$ Commented Feb 17, 2014 at 17:27
  • \$\begingroup\$ i was checking with above signal given in question. Is there any restriction using the above one? Please tell me. \$\endgroup\$
    – user37317
    Commented Feb 17, 2014 at 17:30
  • \$\begingroup\$ I thought first i will start with my own signal whose frequency and other thing i know and see how the result comes. \$\endgroup\$
    – user37317
    Commented Feb 17, 2014 at 17:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.