# Does TransferFunctionModel have to be finite dimensional?

Does TransferFunctionModel have to be finite dimensional? Or can we for example use Mathematica to make a BodePlot of a transfer function that is not in rational pole-zero form?

I understand that Mathematica can deal with delays, but I'm thinking of more general infinite-dimensional transfer functions, for example the Laplace transform of a $\operatorname{sinc}$.

 pars=Rationalize[{L-> 6.9,A->0.0133,a0->410,
c1a->0.003,c2a->0.002,c1p->-2.5 10^-6,c2p->4.3 10^-6}];


With the transfer function

G[s_]=(a0 c1a (A Cosh[(L s)/a0]+a0 c2p Sinh[(L s)/a0]))/
(A a0 (-c1p+c2p) Cosh[(L s)/a0]+(A^2-a0^2 c1p c2p) Sinh[(L s)/a0]);


Bodeplot:

Grid[{{LogLogPlot[Evaluate[20Log10[Abs[#]]&/@{G[I 2 Pi f]}/.pars],
{f,1,200},
ImageSize->Large,GridLines->Automatic,AspectRatio->1/3,
PlotRange->Full,Frame->True,PlotLegends->{"|G(s)|"}]},
{LogLinearPlot[Evaluate[Arg[#]180/Pi&/@{G[I 2 Pi f]}/.pars],
{f,1,200},ImageSize->Large,ExclusionsStyle->Gray,
GridLines->Automatic,AspectRatio->1/3,PlotRange->Full,
Frame->True,PlotLegends->{"arg{G(s)}",""}]}}]


• Thanks! Unfortunately the "code" mode hides the lines, is there a way of fixing?
– Pait
Nov 14, 2017 at 15:07
• What lines do you mean? Nov 14, 2017 at 20:59
• pars=Rationalize[{...; G[s_]=(a0 c1a (A...; and Grid[{{LogLogPlot[E; they get cut when the page wraps.
– Pait
Nov 14, 2017 at 23:07
• You can scroll right. At least I can (in Chrome) Nov 15, 2017 at 15:33
• I opened in a different computer and it reads beautifully! (Curious bug in one of my systems, probably I'll never find out what's wrong.) Thanks!
– Pait
Nov 19, 2017 at 14:02