GeezerVison is showing github.com — Bode, Nyquist, and root locus plots are crude · Issue #49 · python-control/python-control
Bode, Nyquist, and root locus plots are crude #49DescriptionBode, Nyquist, and root locus plots are all much nicer in Matlab, both because they make smarter choices for things like frequencies to plot, and because their plots are interactive, so you can click on points to get additional information, etc.
I have some ideas for how to improve this (e.g., more sophisticated ways of generating frequencies for Bode/Nyquist plots, with finer resolution near lightly damped poles or zeros; better gains for root locus plots, with finer resolution near break-out and break-in points, etc), and I'm planning to try implementing those. Reacted by endolith and mbrijbhushan Activityslivingston commented on Mar 20, 2015 roryyorke commented on Jun 16, 2015 My 2c: don't forget about Nichols. It might be worth separating the frequency response and root-locus into separate issues.
For the frequency plots, one could also consider showing low and high frequency asymptotes.
One idea I had for this to have the number of sample points be a multiple of the number of poles and zeros, though that is a bit simplistic. Another idea is to relate the density of the sample points to the curvature of the graph (though I don't know how to turn that into an algorithm...) repagh commented on Jul 18, 2015 one thing we also need are damping-omega grids for root-locus.
for root-locus, having the break-in and break-out points in the gain vector already helps, Sup3rGeo commented on Oct 25, 2017 Concerning the damping-omega grids as @repagh said, I have written a simple function that draws the grid for Z-domain (zgrid):
https://gist.github.com/Sup3rGeo/17d0eb2b0f4d60c1ebd24695ac692b5d
Is there any possibility for this to be added to the python-control functions? I have never contributed to open source projects before, but if you tell me if what to do I can perhaps create a pull request for this. Sup3rGeo commented on Feb 19, 2018 Created a PR for this (#193) don4get commented on Jan 5, 2019 Can we have more of what might be improved from what is already present in the library?
Thanks to all the improvements you done since the creation of this issue, I can't say if it's closed or not. rxa254 commented on Jun 25, 2020 For the Nyquist plot, I would like to see:
- Smoother lines. This can be done by sampling the system better in regions where |d(Mag)/df| is large.
- Better scaling (not sure how to do this). With systems that have a lot of DC gain or if there is a deep bandstop filter, its difficult to see the detail just due to the dynamic range.
- It would be good to have arrows denoting the direction of increasing frequency, as matlab has.
- This is an example where the frequency is encoded as color changes in the curve (https://lpsa.swarthmore.edu/Nyquist/NyquistExamples.html).
This paper (https://doi.org/10.1109/ECC.2014.6862243) shows a way to plot the Nyquist logarithmically. murrayrm commented on Jun 25, 2020 Great set of suggestions @rxa254. If anyone wants to sign up for these changes, that would be great. Maybe some summer coding practice for @cwrowley? murrayrm commented on Feb 11, 2021 PRs #522 and #534 address some (but not all) of the suggestions here. In particular, #522 adds more points for frequency response plots and #534 has directional arrows and other features. murrayrm commented on Jun 6, 2021 There is some nice looking code for JuliaControl that we might take a look at for improving frequency response plots.
MetadataMetadataDevelopmentNo branches or pull requestsIssue actions
|