till.com Articles

Root Locus Demo of Real Poles with Feedback

Donald Tillman, Sept 18, 2018


A passive filter built with resistors and capacitors will have its poles positioned along the negative real axis. Adding feedback will move the pole positions, first along the axis, and then off, onto the complex plane. This is an interactive simulation of the root locus movement as feedback is applied. I call it pole dancing.

A Super Concise Introduction

The transfer function of a filter is described in the form of a fraction with polynomials on both the numerator and denominator.

H(s) = z n s n + ... + z 2 s 2 + z 1 s + z 0 p n s n + ... + p 2 s 2 + p 1 s + p 0

Where:

H(s) is the filter transfer function
s=α+jω , complex frequency
z is a set of numerator (zero) coefficients
p is a set of denomenator (pole) coefficients

The numerator determines the overall type of the filter (low-pass, high-pass, etc.) and the roots of the numerator polynomial are called the zeros. The denominator determines the characteristic shape of the curve (resonances, sharpness, etc.) and the roots of the denominator polynomial are called the poles.

The poles and zeros can be real or complex, and their arrangement on the complex plane is of great interest. The poles have to be on the left half of the plane for stability (for it to be a filter and not an oscillator). Poles on the real axis are smooth, gradual filter responses. Complex poles off the real axis are resonant with sharper curves.

A passive filter has poles positioned on the negative real axis. So there is a class of active filters where a gain stage is added to provide feedback around a passive filter, altering the pole positions, and liberating them from the real axis. This is called a root locus in system theory.

Here is a demonstration of that effect. Click to place poles on the negative real axis of the complex plane. Then add feedback to see how the real poles move around.

Primary Feedback:
0
Secondary (s) Feedback:
0

What's happening? Placing the poles along the real axis creates a polynomial. Applying feedback changes the value of the 0th coefficent of that polynomial. The altered polynomial has different roots, and those are displayed here.

The Primary Feedback slider controls the amount and polarity of feedback. The Secondary Feedback slider applies feedback as a derivative and affects the 1st coefficient of the root polynomial.

Complex poles can only exist in conjugate pairs; mirror images on either side of the real axis. So before any complex poles can be created, the real poles have to move around and pair up as double real poles. Only then can they split and leave the real axis. ('Weirdly like sex or cell division in biology.)

Some interesting things to note:

How it works: Each mouse click adds to a list of real roots. Create a polynomial from those roots. The polynomial gets tweaked with the feedback factors. Then find the roots of the tweaked polynomial and present them on the plane. Plot a frequency response curve if the roots are all on the left hand plane.

The polynomial roots are found with this Javascript implementation of the Durand–Kerner method.

Have fun! Tell me what you find.

Copyright 2018, J. Donald Tillman
Email: don -at- till.com
Web page: http://www.till.com