I am working on a python based LTSPICE project.
I would like to get poles and zeros of AC simulation data. Is there a way to get them under use of the magnitude and phase out of the frequency response of my system?
Signal Processing Stack Exchange is a question and answer site for practitioners of the art and science of signal, image and video processing. It only takes a minute to sign up.
Sign up to join this communityI am working on a python based LTSPICE project.
I would like to get poles and zeros of AC simulation data. Is there a way to get them under use of the magnitude and phase out of the frequency response of my system?
This is a very complicated problems and I don't think there exists a one-size-fits-all solution. You can try Matlab's $invfreqz()$ and see if it works for your purposes https://www.mathworks.com/help/signal/ref/invfreqz.html
In general this is a error minimization problem but the actual data and the way you set the your error function and the search strategy makes a huge difference in the outcome. Things to watch out for
I developed one of these that is optimized around the specific constraints and requirements of my application and found invfreqz() to be totally useless. Your mileage may vary.