4 Ways to Implement a Transfer Function in Code | Control Systems in Practice

preview_player
Показать описание
Check out the other videos in the series:

In some situations, it is easier to design a controller or a filter using continuous, s-domain transfer functions. We have a lot of mathematical tools that make analyzing and manipulating them easier than, say, their equivalent time-domain differential equations. However, while we like to work with transfer functions for design and analysis, it’s often the case that we need to implement them in software that runs on some processor or microcontroller, and it might not be obvious how to go about doing this. So, in this video we’ll cover four simple ways to implement a transfer function in code.

Check out these other links:

--------------------------------------------------------------------------------------------------------

© 2019 The MathWorks, Inc. MATLAB and Simulink are registered
trademarks of The MathWorks, Inc.
Рекомендации по теме
Комментарии
Автор

Easily the best tutorials I have found on the internet of anything really. Great work!

varunmamtani
Автор

Hello Brian, I just wanted to say that your videos have helped me so much in my control systems classes. I started watching your videos in my Linear Controls Systems I class at USC with Dr. Henryk Flashner; I just recently discovered that you attended this university as well. Watching your videos has given me a different perspective on control theory that has helped me comprehend it very well. You are truly and inspiration to me and to many of my classmates in the control systems field. Thank you so much for sharing your knowledge 🙏

entropyz
Автор

Though state space implementation may seem better, since it uses just one integration per iteration, but while implementing the code on embedded controller "C" code, you will have to do matrix multiplication, which will take many cycles. In my opinion, converting to "z" transform is the best and most popular method.

Debraj
Автор

Very clear presentation. Thanks. IMHO this are 3 metods and 1 trick.

StefanBrock_PL
Автор

I am a big fan of you Brian I come here after watching all the videos on your channel . I think your channel and followed by your videos here are a great reference for studying control
What text book you recommend for studying control and a road map for how to be confident of control like you.
My respect for your contribution to control engineering community.

mnada
Автор

I'd suggest as a default initializing previous-step signals to their current measured values. If someone is implementing a compensator or a filter, this would give the expected behavior, vs. initializing to zero which may give "spikes" or "jumps" upon startup.

peter_jpw
Автор

Thank you for putting out nicely structured knowledge for everyone to grab and understand. Helped me with work-related thing.

WolfixDwell
Автор

A wonderful explanation! Thank you very much!

qpgskyh
Автор

No one teaches control theory better than Brian Douglas

Amine-gzgq
Автор

All of these methods essentially numerically solve the resulting ODE from the transfer function, what is the feasibility or other practical considerations for using a running convolution with a stored step response?

Of course since a stored step response is necessarily finite in length it would only actually perform FIR filtering, but they can be made arbitrarily close to IIR filters.

keithfife
Автор

thank you so much for these videos showing the matlab code. super helpful

xursssulaxx
Автор

Amazing as always! One question: what tools do you use to make your videos?

Jair_inacio_Neto_Teixeira
Автор

You are brilliant, thanks a lot 🙏 🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏

babakkhaleghiborna
Автор

Another episode! Writing the code is one thing that confused me the most.

JKTCGMV
Автор

Could you please make a video about the Nichols Chart and how to use it in designing phase lead/lag controllers.

Supreme
Автор

what if we have a higher than 2nd order transfer function? Also, how we can use the code that matlab generate, i couldn't find any input and output setion, its so complicated code, can you provide information or a link about this, thank you for your great video!!

saidburakguzel
Автор

Will you add also State-space discretization as an extra method?

mehmetkilic
Автор

Hi Brian, quick question. How did coefficient in denominator of discretized function with z^-1 member switched from 1.99 to 1.9899 when code was written

PredragMilicevic-jk
Автор

What would be the changes to this process if the system was MISO?

blazepascal
Автор

Hi, thanks!, ydd=ud+2u-yd-(2)y. Is it possible that you forgot 2 in 5:39? Regards.

fernando.liozzi.