It takes a significant amount of time and energy to create these free video tutorials. You can support my efforts in this way: - Buy me a Coffee: www.buymeacoffee.com/AleksandarHaber - PayPal: www.paypal.me/AleksandarHaber - Patreon: www.patreon.com/user?u=32080176&fan_landing=true - You Can also press the Thanks RUclips Dollar button
@@aleksandarhaber I have already done that ..but the problem is that the estimated step response is zero ( a line parallel to the x-axis ) and the fit to estimation data is 1%
@@seifhossam8222 You cannot estimate such a system then. There is something wrong with the postulation of your problem. Also, you might have an unstable system.
let's say there is a room/space that needs to be cooled down. The idea is to control a 8'C cold water flow using a valve that can be opened and closed from 0-100%. the desired temperature can be set in the microcontroller. If I were to design a controller to control the temperature then I must find the transfer function of the system (room). Can you list the steps in this case as to how to find the transfer function of the system. For e.g set the valve to 100%, take measurement at t = 0s, then set valve 35% and measure temperature at t = 120s. etc. and how many terms should be in the numerator and denominators ? Also, should I wait for the temperature to settle after selecting a valve position? let's say it takes 10 minutes to settle down to a temperature after changing the valve position so does it mean my time intervals for changing the valve and measuring the room temp every 10 minutes ?
All these things that you described are important questions. You have to figure out the answer independently because only in that way you can learn system identification. A great book is Prof. Ljung's book. Keep in mind that in order to control the system you actually do not need a transfer function. You can start with a simple PID controller and you can tune it experimentally.
I used to implement PID like the lazy engineers way, but I thought finding the transfer function of the system can make me model the system in matlab and simulate it with different kind of controllers to find the best solution. Nevertheless thanks for the suggestion of the book.@@aleksandarhaber
@@nafisahmed6247 Yes that is the path to go if you can get a model. You need to excite your system with random signals. and in the desired frequency range. Usually people apply a bias, and around that bias a random signal, such as something that looks like a white noise or a pseudorandom binary noise.
It takes a significant amount of time and energy to create these free video tutorials. You can support my efforts in this way:
- Buy me a Coffee: www.buymeacoffee.com/AleksandarHaber
- PayPal: www.paypal.me/AleksandarHaber
- Patreon: www.patreon.com/user?u=32080176&fan_landing=true
- You Can also press the Thanks RUclips Dollar button
Thanks a lot for your MATLAB tutorial.
Thank you!
hello ..what if I have an S or an S^2 in the numerator and want to implement it in your code ..how do it do it ?
You want to estimate a transfer function with a pole or two poles at zero?
@@aleksandarhaber 1 zero and 3 poles . The function contains an S in the numerator and s power 3 in the denominator
@@seifhossam8222 then, you need to specify how many poles and zeros you need want before calling the system identification function
@@aleksandarhaber I have already done that ..but the problem is that the estimated step response is zero ( a line parallel to the x-axis ) and the fit to estimation data is 1%
@@seifhossam8222 You cannot estimate such a system then. There is something wrong with the postulation of your problem. Also, you might have an unstable system.
let's say there is a room/space that needs to be cooled down. The idea is to control a 8'C cold water flow using a valve that can be opened and closed from 0-100%. the desired temperature can be set in the microcontroller. If I were to design a controller to control the temperature then I must find the transfer function of the system (room). Can you list the steps in this case as to how to find the transfer function of the system. For e.g set the valve to 100%, take measurement at t = 0s, then set valve 35% and measure temperature at t = 120s. etc. and how many terms should be in the numerator and denominators ? Also, should I wait for the temperature to settle after selecting a valve position? let's say it takes 10 minutes to settle down to a temperature after changing the valve position so does it mean my time intervals for changing the valve and measuring the room temp every 10 minutes ?
All these things that you described are important questions. You have to figure out the answer independently because only in that way you can learn system identification. A great book is Prof. Ljung's book. Keep in mind that in order to control the system you actually do not need a transfer function. You can start with a simple PID controller and you can tune it experimentally.
I used to implement PID like the lazy engineers way, but I thought finding the transfer function of the system can make me model the system in matlab and simulate it with different kind of controllers to find the best solution. Nevertheless thanks for the suggestion of the book.@@aleksandarhaber
@@nafisahmed6247 Yes that is the path to go if you can get a model. You need to excite your system with random signals. and in the desired frequency range. Usually people apply a bias, and around that bias a random signal, such as something that looks like a white noise or a pseudorandom binary noise.