MATLAB: Checking or unchecking the ‘Treat as gain when linearizing’ option in the saturation block results in the same frequency response when linearized. Why does this happen

analysisblockControl System Toolboxfrequencylinearresponsesaturation

I have a model that contains a saturation block. In the saturation block parameters, I check the 'Treat as gain when linearizing' option and then obtain the frequency response for the model by generating a Bode Plot on the Linear Analysis tool. When I go back and uncheck the 'Treat as gain when linearizing' option and repeat the same workflow, I obtain the same exact frequency response. How do I get the same frequency response for both cases?
The frequency response however differs when I place a loop break just before the saturation block. My question therefore is – if the 'Treat as gain when linearizing' option is unchecked, the documentation page says that the linearization treats the gain for this block as zero whereas when it is checked, the gain is treated as one. How then do I get the same frequency response for both cases? Shouldn't the frequency response of the unchecked version be similar to that of the model with the loop break in it?

Best Answer

The "Treat as gain when linearizing" option is for when the operating point of the model is outside the linear operating range of the saturation block. If the model is linearized with the operating point inside the linear operating rage , the result will be independent of that box being checked.
The model you provided is being linearized with the "Mtr Rate States" block having an initial condition of zero. Therefore, 0 times the gain block which is the input to the saturation block is zero, which is within the linear range of the saturation block. Therefore, the saturation block linearizes to 1.
If you set the initial condition of the "Mtr Rate States" block to be, say 0.1, then 0.1 times the gain (1000) will send an input of 100 to the saturation block. This is now outside the linear range of the saturation block. At this operating condition the "Treat as gain when linearizing" will affect the resulting linearization of this block and you will be able to observe the difference between the results with and without "Treat as gain when linearizing" checked.