|
1 | 1 | # bodeplot package |
2 | | -# Matthew Bertucci 2025/09/30 for v2.1 |
| 2 | +# Matthew Bertucci 2025/10/24 for v3.0 |
3 | 3 |
|
4 | 4 | #include:tikz |
5 | 5 | #include:pdftexcmds |
|
14 | 14 | Hz |
15 | 15 | #endkeyvals |
16 | 16 |
|
17 | | -\BodeZPK{%<z/{zeros},p/{poles},k/{gain},d/{delay}%>}{%<min-freq%>}{%<max-freq%>} |
18 | | -\BodeZPK[%<obj1/typ1/{opt1},...%>]{%<z/{zeros},p/{poles},k/{gain},d/{delay}%>}{%<min-freq%>}{%<max-freq%>} |
19 | | -\BodeTF{%<num/{coeffs},den/{coeffs},d/{delay}%>}{%<min-freq%>}{%<max-freq%>} |
20 | | -\BodeTF[%<obj1/typ1/{opt1},...%>]{%<num/{coeffs},den/{coeffs},d/{delay}%>}{%<min-freq%>}{%<max-freq%>} |
21 | | -\begin{BodePlot}{%<min-freq%>}{%<max-freq%>} |
22 | | -\begin{BodePlot}[%<obj1/{opt1},...%>]{%<min-freq%>}{%<max-freq%>} |
23 | | -\end{BodePlot} |
24 | | -\addBodeZPKPlots{%<plot-type%>}{%<z/{zeros},p/{poles},k/{gain},d/{delay}%>} |
25 | | -\addBodeZPKPlots[%<approx1/{opt1}%>]{%<plot-type%>}{%<z/{zeros},p/{poles},k/{gain},d/{delay}%>} |
26 | | -\addBodeTFPlot{%<plot-type%>}{%<num/{coeffs},den/{coeffs},d/{delay}%>} |
27 | | -\addBodeTFPlot[%<plot-options%>]{%<plot-type%>}{%<num/{coeffs},den/{coeffs},d/{delay}%>} |
| 17 | +\BodeZPK{zpk-spec} |
| 18 | +\BodeZPK[options%keyvals]{zpk-spec} |
| 19 | +\BodeTF{tf-spec} |
| 20 | +\BodeTF[options%keyvals]{tf-spec} |
| 21 | +\begin{BodeMagPlot} |
| 22 | +\begin{BodeMagPlot}[options%keyvals] |
| 23 | +\end{BodeMagPlot} |
| 24 | +\begin{BodePhPlot} |
| 25 | +\begin{BodePhPlot}[options%keyvals] |
| 26 | +\end{BodePhPlot} |
| 27 | +\addBodeZPKPlots{plot-type}{zpk-spec} |
| 28 | +\addBodeZPKPlots[options%keyvals]{plot-type}{zpk-spec} |
| 29 | +\addBodeTFPlot{plot-type}{tf-spec} |
| 30 | +\addBodeTFPlot[options%keyvals]{plot-type}{tf-spec} |
28 | 31 | \addBodeComponentPlot{plot-command} |
29 | | -\addBodeComponentPlot[plot-options]{plot-command} |
30 | | -\addBodePlot{system-type}{system-data} |
31 | | -\addBodePlot[plot-options]{system-type}{system-data} |
| 32 | +\addBodeComponentPlot[options%keyvals]{plot-command} |
| 33 | +\addBodePlot{system-data} |
| 34 | +\addBodePlot[options%keyvals]{system-data} |
| 35 | +\begin{BodePlot} |
| 36 | +\begin{BodePlot}[options%keyvals] |
| 37 | +\end{BodePlot} |
32 | 38 | \MagK{real-part}{imaginary-part} |
33 | 39 | \MagKAsymp{real-part}{imaginary-part} |
34 | 40 | \MagKLin{real-part}{imaginary-part} |
|
49 | 55 | \PhZero{real-part}{imaginary-part} |
50 | 56 | \PhZeroLin{real-part}{imaginary-part} |
51 | 57 | \PhZeroAsymp{real-part}{imaginary-part} |
52 | | -\MagCSPoles{zeta}{omega-n} |
53 | | -\MagCSPolesLin{zeta}{omega-n} |
54 | | -\MagCSPolesAsymp{zeta}{omega-n} |
55 | | -\PhCSPoles{zeta}{omega-n} |
56 | | -\PhCSPolesLin{zeta}{omega-n} |
57 | | -\PhCSPolesAsymp{zeta}{omega-n} |
58 | | -\MagCSZeros{zeta}{omega-n} |
59 | | -\MagCSZerosLin{zeta}{omega-n} |
60 | | -\MagCSZerosAsymp{zeta}{omega-n} |
61 | | -\PhCSZeros{zeta}{omega-n} |
62 | | -\PhCSZerosLin{zeta}{omega-n} |
63 | | -\PhCSZerosAsymp{zeta}{omega-n} |
64 | | -\MagCSPolesPeak{zeta}{omega-n} |
65 | | -\MagCSPolesPeak[draw-options]{zeta}{omega-n} |
66 | | -\MagCSZerosPeak{zeta}{omega-n} |
67 | | -\MagCSZerosPeak[draw-options]{zeta}{omega-n} |
68 | 58 | \MagSOPoles{a1}{a0} |
69 | 59 | \MagSOPolesLin{a1}{a0} |
70 | 60 | \MagSOPolesAsymp{a1}{a0} |
|
78 | 68 | \PhSOZerosLin{a1}{a0} |
79 | 69 | \PhSOZerosAsymp{a1}{a0} |
80 | 70 | \MagSOPolesPeak{a1}{a0} |
81 | | -\MagSOPolesPeak[draw-options]{a1}{a0} |
| 71 | +\MagSOPolesPeak[options%keyvals]{a1}{a0} |
82 | 72 | \MagSOZerosPeak{a1}{a0} |
83 | | -\MagSOZerosPeak[draw-options]{a1}{a0} |
84 | | -\NyquistZPK{%<z/{zeros},p/{poles},k/{gain},d/{delay}%>}{%<min-freq%>}{%<max-freq%>} |
85 | | -\NyquistZPK[%<plot/{opt},axes/{opt}%>]{%<z/{zeros},p/{poles},k/{gain},d/{delay}%>}{%<min-freq%>}{%<max-freq%>} |
86 | | -\NyquistTF{%<num/{coeffs},den/{coeffs},d/{delay}%>}{%<min-freq%>}{%<max-freq%>} |
87 | | -\NyquistTF[%<plot/{opt},axes/{opt}%>]{%<num/{coeffs},den/{coeffs},d/{delay}%>}{%<min-freq%>}{%<max-freq%>} |
88 | | -\begin{NyquistPlot}{%<min-freq%>}{%<max-freq%>} |
89 | | -\begin{NyquistPlot}[%<obj1/{opt1},...%>]{%<min-freq%>}{%<max-freq%>} |
| 73 | +\MagSOZerosPeak[options%keyvals]{a1}{a0} |
| 74 | +\MagCSPoles{zeta}{omega-n} |
| 75 | +\MagCSPolesLin{zeta}{omega-n} |
| 76 | +\MagCSPolesAsymp{zeta}{omega-n} |
| 77 | +\PhCSPoles{zeta}{omega-n} |
| 78 | +\PhCSPolesLin{zeta}{omega-n} |
| 79 | +\PhCSPolesAsymp{zeta}{omega-n} |
| 80 | +\MagCSZeros{zeta}{omega-n} |
| 81 | +\MagCSZerosLin{zeta}{omega-n} |
| 82 | +\MagCSZerosAsymp{zeta}{omega-n} |
| 83 | +\PhCSZeros{zeta}{omega-n} |
| 84 | +\PhCSZerosLin{zeta}{omega-n} |
| 85 | +\PhCSZerosAsymp{zeta}{omega-n} |
| 86 | +\MagCSPolesPeak{zeta}{omega-n} |
| 87 | +\MagCSPolesPeak[options%keyvals]{zeta}{omega-n} |
| 88 | +\MagCSZerosPeak{zeta}{omega-n} |
| 89 | +\MagCSZerosPeak[options%keyvals]{zeta}{omega-n} |
| 90 | +\NyquistZPK{zpk-spec} |
| 91 | +\NyquistZPK[options%keyvals]{zpk-spec} |
| 92 | +\NyquistTF{tf-spec} |
| 93 | +\NyquistTF[options%keyvals]{tf-spec} |
| 94 | +\begin{NyquistPlot} |
| 95 | +\begin{NyquistPlot}[options%keyvals] |
90 | 96 | \end{NyquistPlot} |
91 | | -\addNyquistZPKPlot{%<z/{zeros},p/{poles},k/{gain},d/{delay}%>} |
92 | | -\addNyquistZPKPlot[%<plot-options%>]{%<z/{zeros},p/{poles},k/{gain},d/{delay}%>} |
93 | | -\addNyquistTFPlot{%<num/{coeffs},den/{coeffs},d/{delay}%>} |
94 | | -\addNyquistTFPlot[%<plot-options%>]{%<num/{coeffs},den/{coeffs},d/{delay}%>} |
95 | | -\NicholsZPK{%<z/{zeros},p/{poles},k/{gain},d/{delay}%>}{%<min-freq%>}{%<max-freq%>} |
96 | | -\NicholsZPK[%<plot/{opt},axes/{opt}%>]{%<z/{zeros},p/{poles},k/{gain},d/{delay}%>}{%<min-freq%>}{%<max-freq%>} |
97 | | -\NicholsTF{%<num/{coeffs},den/{coeffs},d/{delay}%>}{%<min-freq%>}{%<max-freq%>} |
98 | | -\NicholsTF[%<plot/{opt},axes/{opt}%>]{%<num/{coeffs},den/{coeffs},d/{delay}%>}{%<min-freq%>}{%<max-freq%>} |
99 | | -\begin{NicholsChart}{%<min-freq%>}{%<max-freq%>} |
100 | | -\begin{NicholsChart}[%<obj1/{opt1},...%>]{%<min-freq%>}{%<max-freq%>} |
| 97 | +\addNyquistZPKPlot{zpk-spec} |
| 98 | +\addNyquistZPKPlot[options%keyvals]{zpk-spec} |
| 99 | +\addNyquistTFPlot{tf-spec} |
| 100 | +\addNyquistTFPlot[options%keyvals]{tf-spec} |
| 101 | +\NicholsZPK{zpk-spec} |
| 102 | +\NicholsZPK[options%keyvals]{zpk-spec} |
| 103 | +\NicholsTF{tf-spec} |
| 104 | +\NicholsTF[options%keyvals]{tf-spec} |
| 105 | +\begin{NicholsChart} |
| 106 | +\begin{NicholsChart}[options%keyvals] |
101 | 107 | \end{NicholsChart} |
102 | | -\addNicholsZPKChart{%<z/{zeros},p/{poles},k/{gain},d/{delay}%>} |
103 | | -\addNicholsZPKChart[%<plot-options%>]{%<z/{zeros},p/{poles},k/{gain},d/{delay}%>} |
104 | | -\addNicholsTFChart{%<num/{coeffs},den/{coeffs},d/{delay}%>} |
105 | | -\addNicholsTFChart[%<plot-options%>]{%<num/{coeffs},den/{coeffs},d/{delay}%>} |
106 | | -\PoleZeroMapZPK{%<z/{zeros},p/{poles},k/{gain}%>} |
107 | | -\PoleZeroMapZPK[%<plot/{opt},axes/{opt},scale/{log}%>]{%<z/{zeros},p/{poles},k/{gain}%>} |
| 108 | +\addNicholsZPKChart{zpk-spec} |
| 109 | +\addNicholsZPKChart[options%keyvals]{zpk-spec} |
| 110 | +\addNicholsTFChart{tf-spec} |
| 111 | +\addNicholsTFChart[options%keyvals]{tf-spec} |
| 112 | +\PoleZeroMapZPK{zpk-spec} |
| 113 | +\PoleZeroMapZPK[options%keyvals]{zpk-spec} |
0 commit comments