delayest

Estimate time delay (dead time) from data

Syntax

nk = delayest(Data)
nk = delayest(Data,na,nb,nkmin,nkmax,maxtest)

Description

nk = delayest(Data) estimates time delay from data. Data is an iddata object containing the input-output data. It can also be an idfrd object defining frequency-response data. Only single-output data can be handled. nk is returned as an integer or a row vector of integers, containing the estimated time delay in samples from the input(s) to the output in Data.

The estimate is based on a comparison of ARX models with different delays:

y(t)+a1y(t1)+...+anay(tna)=b1u(tnk)+...+bnbu(tnbnk+1)+e(t)

nk = delayest(Data,na,nb,nkmin,nkmax,maxtest) specifies additional options. The integer na is the order of the A polynomial (default 2). nb is a row vector of length equal to the number of inputs, containing the order(s) of the B polynomial(s) (default all 2). nkmin and nkmax are row vectors of the same length as the number of inputs, containing the smallest and largest delays to be tested. Defaults are nkmin = 0 and nkmax = nkmin+20. If nb, nkmax, and/or nkmin are entered as scalars in the multiple-input case, all inputs will be assigned the same values. maxtest is the largest number of tests allowed (default 10,000).

Was this topic helpful?