Week 9 & 10 - GSoC 2020

This blog post describes my progress in Weeks 9 and 10 of Google Summer of Code 2020.

I ended up week 8 by making changes in the Parallel class to make support for MIMO transfer function interconnection.

Week 9

I decided to do the similar thing for the Series class. So now, consider we have two transfer function matrices tf1 and tf2. Multiplication of those two TFMs will now return a Series object, i.e. tf1 * tf2 returns Series(tf1, tf2) if the users make sure that no. of inputs of the first transfer function matrix (TFM) is equal to the no. of the outputs of the second TFM.

Next step was to implement doit() method for Transfer function matrix class. Further modifications were also made in the Parallel class’ doit() method which earlier handled only the case for SISO transfer functions. Also, a set of unit tests were added this week.

Week 10

Along with the continuation of work in Transfer function matrix PR, I opened up PR-19896 which adds the following methods in the existing TransferFunction class:

  • dcgain: This method computes the low-frequency gain of the frequency response in the limit as frequency approaches to zero.

  • poles: Method for finding poles of the transfer functions, which are basically the roots of the denominator polynomial.

  • zeros: Method for finding zeros, which are the roots of the numerator polynomial of the transfer function.

  • is_stable: This was added as a property to find whether the transfer function is stable or not.

Along with the implementation and docs, I made sure a good set of tests were added.

:wq for now :)