MATLAB: Is the result zero when I compute the linearization with respect to a variable time delay

Control System Toolboxdelaylinearizationtimevariablezero

I would like to linearize a model that has variable time delay. To implement the delay I use the "Variable Time Delay" block. When I try to linearize my model with respect to the input of the "Variable Time Delay" block, I find that the linearized model is a single static gain with a value of zero. It is correct that this should be modeled with a single static gain, but I do not expect the value of the gain to be zero. 
 

Best Answer

The reason why the answer is zero is because of the specific way the "Variable Time Delay" block is treated during linearization. The input to this block is not meant to be used as "Input perturbation" and as a result the linearization is not accurate. For an alternative implementation, please look at the attached model. As opposed to using the "Variable Time Delay" block, one could use the "Clock" block and add or subtract the delay time as necessary. In this approach, when the variable time delay is set as "Input perturbation", the result is the expected one. The example models the linearization of "y = sin(t-t0)" where "t0" is the value of the variable time delay.