MATLAB: Is there a feedthrough term (b_1) in the output model when using the “oe” function in the SystemID Toolbox

MATLAB: Is there a feedthrough term (b_1) in the output model when using the “oe” function in the SystemID Toolbox

errorfeedthroughidentificationmethodsoepredictionsystemSystem Identification Toolboxtoolbox

I would like to use the “oe” function to obtain a general oe-model that has the structure: 
F(q)= 1+f_1q^−1+…+f_nfq^−nf 
B(q)= b_2q^−1+…+b_nbq^−nb 
where B(q) has no feedthrough coefficient ‘b_1’  as mentioned in the mathworks documentation for the “oe” function. 
I’m using the following code: 
M = oe(data,[1,2,0]) with nb = 1, nf = 2, nk = 0
And I get the following model: 
Discrete-time OE model: y(t) = [B(z)/F(z)]u(t) + e(t)
B(z) = 0.06472
F(z) = 1 - 1.477 z^-1 + 0.8301 z^-2
I’m looking to build a one-step ahead predictor and this is characterized by the absence of a feedthrough term ( i.e. b_1 = 0) as it depends only on previous time samples (up to t-1). 
With b_1 being non-zero, the model has feedthrough and can not be written as a one-step ahead predictor.
Why is there a feedthrough term (b_1) in the output model when using the “oe” function, and how can I obtain a model from the “oe” function without a feedthrough term? 

Best Answer

  • Setting the value of ‘nk’  (Input delay) to a non-zero value would result in a model with no feedthrough. When providing a value for ‘nk’, please keep the following in mind:
    nk = 0 : The model has a feedthrough term
    nk = 1 : The model has no feedthrough
    nk > 1 : The model has no feedthrough and has an additional delay of nk-1 samples
     
  • Add a Comment

    Your email address will not be published. Required fields are marked *