Returns the poles of a transfer function. :return: SLiCAP results object of which the following attributes with be set as a result of this instruction: :rtype: SLiCAP.SLiCAPinstruction.instruction object **Return value attributes** - doPoles(<cir
(cir, source='circuit', detector='circuit', lgref='circuit',
transfer='gain', convtype=None, pardefs=None, numeric=False,
stepdict=None)
| 783 | return result |
| 784 | |
| 785 | def doPoles(cir, source='circuit', detector='circuit', lgref='circuit', |
| 786 | transfer='gain', convtype=None, pardefs=None, numeric=False, |
| 787 | stepdict=None): |
| 788 | """ |
| 789 | Returns the poles of a transfer function. |
| 790 | |
| 791 | :return: SLiCAP results object of which the following attributes with be |
| 792 | set as a result of this instruction: |
| 793 | |
| 794 | :rtype: SLiCAP.SLiCAPinstruction.instruction object |
| 795 | |
| 796 | **Return value attributes** |
| 797 | |
| 798 | - doPoles(<circuit>).M: MNA matrix (sympy.Matrix) |
| 799 | - doPoles(<circuit>).Dv: Vector with dependent variables (sympy.Matrix) |
| 800 | - doPoles(<circuit>).denom: Denominator of the voltage transfer from V1 |
| 801 | to V_out (sympy.Expr) |
| 802 | - doPoles(<circuit>).poles: List with solutions of denom=0 for the Laplace |
| 803 | variable (ini.laplace) (list with sympy.Expr or floats) |
| 804 | |
| 805 | If parameter stepping is applied, all above attributes are lists of values |
| 806 | or expressions for each step. |
| 807 | |
| 808 | Frequencies of poles are always in radians per seconds. The setting of |
| 809 | ini.hz only affects the diplay of tables in the console (listPZ()), on HTML |
| 810 | pages (pz2httml()), or in LaTeX and RST reports. |
| 811 | |
| 812 | **Parameters** |
| 813 | |
| 814 | See section `General instruction format`_. |
| 815 | |
| 816 | **Example** |
| 817 | |
| 818 | .. code-block:: python |
| 819 | |
| 820 | import SLiCAP as sl |
| 821 | sl.initProject("My First RC Network") |
| 822 | # Generate the circuit object from the netlist |
| 823 | cir = sl.makeCircuit("myFirstRCnetwork.cir") |
| 824 | # Obtain the poles of the transfer from V1 to V_out: |
| 825 | Poles = sl.doPoles(cir).poles |
| 826 | |
| 827 | """ |
| 828 | if transfer == None: |
| 829 | print("Warning: Invalid transfer=None has been changed to 'gain'") |
| 830 | transfer = 'gain' |
| 831 | |
| 832 | result = _executeInstruction(cir, transfer=transfer, lgref=lgref, |
| 833 | convtype=convtype, datatype='poles', |
| 834 | pardefs=pardefs, numeric=numeric, |
| 835 | stepdict=stepdict) |
| 836 | return result |
| 837 | |
| 838 | def doZeros(cir, source='circuit', detector='circuit', lgref='circuit', |
| 839 | transfer='gain', convtype=None, pardefs=None, numeric=False, |
nothing calls this directly
no test coverage detected