Design of High Pass filter to eliminate an instability in my control system

Tags:
1. Jul 26, 2017

Abdul Wali

HI,
i have a first order controller (ts/ks+k) which contain some oscillations and its settling time is very huge, i wanted the controller to have settling time of 10seconds and remove the oscillations. in order to remove the noise and get the expected settling time i added a filter ( s/cs+1) where c=1/fc where fc=cutoff frequency to the transfer function. during troubleshooting after choosing different values for fc finally i chose fc=100 and it gave me settling time of 10seconds. Now i am not sure and i want to know that how to prove this mathematically ?? or how it happened??Or is it possible to prove it from bodeplot as attached to the link below?

Last edited: Jul 26, 2017
2. Jul 26, 2017

jim hardy

3. Jul 26, 2017

Abdul Wali

4. Jul 27, 2017

donpacino

is your system the value you gave, or is that just the transfer function for the controller.
sys = [ t s / (ks + k) ] . if this is true, then your system can be simplified to [ (t/k) s/(s+1)]

If the tf you gave is just the controller and not the entire system (which i think is the case), then you need to tell us the tf for the system you are controlling. We need the entire picture to help you.

As for why you adding that filter changed the settling time and ringing, the answer lies in the video linked by Jim. by adding a high pass filter you simply made a "crappy" version of a lead filter (essentially a lead filter that introduces more changes than desired).

5. Jul 27, 2017

donpacino

I also want to say that video is amazing. It does a great job at explaining how and why those filters work.

6. Jul 27, 2017

Abdul Wali

hi, below is the information of the system.
controller transfer function= ts/ks+k
motor transfer function (that is being controlled) = k/ts^2+s
where k= 0.4 and t= 2.7763
filter equation: s/(1/fc)s+1
when i first tried to control the motor by controller without using the filter i found that there are some oscillation and the settling time of the system increased. now lets say that i want my system to be free of the oscillations and improve the settling time so i think of adding a high pass filter but when i want to add a high pass filter then what should be the cutoff frequency of the filter that i must choose or how should i choose? @donpacino

7. Jul 27, 2017

donpacino

normally you can change the poles, zeros, and gain of a controller. why are your controller values static? is this just a problem you were given?

Also did you read my above post? adding a high pass filter is just a very bad version of a lead filter. watch the video jim posted and it will help you achieve the results you want

8. Jul 27, 2017

donpacino

note: normally the controller consists of a gain followed by some combination of lead and lag filters (or other things)

9. Jul 27, 2017

Abdul Wali

yes, its just a problem and values can vary too. yes, i read your post and i didn't understand much from the video too. attached is the bode plot and the signal characteristics of the system, after adding the filter at the fc=100hz. because i thought may be there is some way to prove that why fc is chosen as 100hz in reverse after having the system outputs and characteristics. but i m not able to prove this mathematically. so is there any way to get a relationship of fc with this available data?

Attached Files:

File size:
14.8 KB
Views:
53
• Screen Shot 2017-07-26 at 11.05.57 PM.png
File size:
26.4 KB
Views:
64
10. Jul 27, 2017

donpacino

ok im going to reword a few of the things i've said....

I asked you to specify parenthesis. since you didnt make any changes, I can only assume your controller can be simplified to
[(t+k)/k^2] or [ (t/k) s/(s+1)]
either way these systems don't allow you to change the poles or zeros of your function. You shouldn't be adding a controller then a subsequent filter when the controller really doesn't do much. unless the controller is specified as part of the problem statement, which you didn't even tell me yes or no.

2. the hgih pass filter: like i said before the reason your high pass filter works is for reasons specified in the video. another way to put it is the phase and gain margins change, which change the poles and zeros of the overall closed loop system. but like ive said before adding a high pass filter is a bad way to do it. If you olny want to know mathematically why your trial and error method worked and don't care about the actual way to do it, then just know its because of the phase and gain margin changing and the poles changing.

3. If you dont understand that video, you should probably go backwards and take a look at the basics. lead and lag filters are an integral part of class control systems. If you can't understand them, you need to go back and take another look.

11. Jul 27, 2017

Abdul Wali

let me put it this way to u:

i am given a controller T*s/(k*s+k) and a motor k/(T*s^2+s). the controller controls the ac motor. i am required to modify the Simulink block diagram by breaking the controller transfer function into its components and then sending the output to the motor in order to control the motor. i am also given the expected output, bode diagram and signal characteristics of the system. now when i start modifying the controller transfer function, during the process I come to a stage that I need to use the derivative block as shown in the following link (https://www.mathworks.com/help/simulink/slref/derivative.html#br3m9zv-1 ). when i add the derivative block to the system now i am sure that my broken transfer function is equal to the given controller transfer function. but there is one problem as i am given the expected output of the system so finally my modified design should also have the same output because i didn't bring anything new i just broke the transfer function into its components and then connected all the blocks together so at the end i get the same transfer function BUT my modified version output has a litlle bit noise and the settling time increase. according the MATLAB website i found that the noise is because of the derivative block and they have a given a solution (that the derivative block should be replaced by a filter [s/cs + 1] where c=1/fc as shown in the following link https://www.mathworks.com/help/simulink/slref/derivative.html#br3m9zv-1 Now since i am given all of the expected signal characteristics, bode diagram and output signal as shown in the following link ( https://drive.google.com/open?id=0B9NQhKDld_D4T0xwZTdZY1V6NHM ) so can you help me that how should i choose the value of fc for the filter so that i can get the expected output? @donpacino

12. Jul 28, 2017

jim hardy

It sounds to me like homework.

Is this the Bode plot you want to achieve ?

13. Jul 28, 2017

donpacino

If you want to live in the world of control systems you should learn the lingo! Those spikes (overshoots) you showed earlier are not noise, its called ringing. It occurs when a system is underdamped. This might sound harsh, but if you get confused by the term under-damped you might want to backpeddle and go learn some more basics about control systems. One needs to walk before he can run, we all went through it!

This might be where some of the confusion is coming from. That line is talking about linearizing the derivative function. You do not need to worry about it, as you are working with the 'classic' linear model for a dc motor.

I think the biggest issue here is communication. We are not fully aware of the problem you are actually trying to solve, instead you are asking us very specific questions about a solution you tried that will not solve the problem. Is this a homework or lab problem, or did you create it yourself?

Can you do us a favor and give us the actual problem statement, not your interpretation of it? that might allow us to better help you. It that you are having trouble setting up the model correctly, in which case you should not be considering filters to improve performance yet. Another thing to consider, you might want to show multiple lines on your bode plots, one with the controller and one without for comparison sake.

14. Jul 29, 2017

Abdul Wali

@jim hardy Yes, this is the Bode plot that i want to achieve.

15. Jul 29, 2017

jim hardy

Hmmm.

This seems pretty close to what you asked. I sure wish i'd had such clear explanations when i took controls in 1966.