({{, (RefLink[TransferFunctionTransform, paclet:ref/TransferFunctionTransform])[f,tf] 
transforms the (RefLink[TransferFunctionModel, paclet:ref/TransferFunctionModel]) object tf using the transformation function f.}})

OpenersNotesSection(Spacer1)Details

(RefLink[TransferFunctionTransform, paclet:ref/TransferFunctionTransform]) returns a (RefLink[TransferFunctionModel, paclet:ref/TransferFunctionModel]).

In (RefLink[TransferFunctionTransform, paclet:ref/TransferFunctionTransform])[f,tf], tf can be either a continuous or a discrete transfer function model.

(RefLink[TransferFunctionTransform, paclet:ref/TransferFunctionTransform]) effectively replaces the transfer function model variable \[FormalS] with f[\[FormalS]].

OpenersPrimaryExamplesSection(Spacer1)Examples  (4)

OpenersExampleSection0(Spacer1)Basic Examples  (1)

Transform a model of a lowpass filter to high pass:

TransferFunctionTransform[1/#&,(TransferFunctionModelFull[(1/(1+s)), , , ])]

OpenersExampleSection2(Spacer1)Applications  (2)

OpenersExampleSubsection0(Spacer1)Analog Filter Transformations  (1)

An analog lowpass Butterworth filter:

tf=ButterworthFilterModel[3,s]

Lowpass to lowpass transformation of an analog filter:

TransferFunctionTransform[(#/a)&,tf]//Simplify

lowpass=TransferFunctionTransform[#/2&,tf]

Plot[{Abs[tf[I x]],Abs[lowpass[I x]]},{x,0,5},PlotRange->All]

Lowpass to highpass transformation of an analog filter:

TransferFunctionTransform[a/#&,tf]//Simplify

highpass=TransferFunctionTransform[1/#&,tf]//Simplify//Chop

Plot[{Abs[tf[I x]],Abs[highpass[I x]]},{x,0,5},PlotRange->All]

Lowpass to band-stop transformation of an analog filter:

TransferFunctionTransform[((B #)/(((#)^2)+(a^2)))&,tf]//Simplify

bandstop=TransferFunctionTransform[((B #)/(((#)^2)+(a^2)))&,tf]/.{a->1,B->2}//Simplify

Plot[{Abs[tf[I x]],Abs[bandstop[I x]]},{x,0,5},PlotRange->All]

Lowpass to bandpass transformation of an analog filter:

TransferFunctionTransform[(1/B)((((#)^2)+(a^2))/(#))&,tf]//Simplify

bandpass=TransferFunctionTransform[(1/B)((((#)^2)+(a^2))/(#))&,tf]/.{a->1,B->2}//Simplify

Plot[{Abs[tf[I x]],Abs[bandpass[I x]]},{x,0,5},PlotRange->All]

OpenersExampleSubsection1(Spacer1)Digital Filter Transformations  (1)

Lowpass to lowpass transformation of a digital filter:

dtf=(TransferFunctionModelFull[((((1+z))^2)/(2.17` -6 z+7.83` (z^2))), 1, , ]);

res=TransferFunctionTransform[(1+.5#)/(.5+#)&,dtf]

Plot[{Abs[dtf[E^(I x)]],Abs[res[E^(I x)]]},{x,0,Pi},PlotRange->All]

OpenersExampleSection3(Spacer1)Possible Issues  (1)

Specified transformation might return an invalid transfer function model:

TransferFunctionTransform[f,(TransferFunctionModelFull[(1/s), , , ])]

({{DocumentationFooterIconsRelatedFunction.png, ({{See Also}, {(RefLink[TransferFunctionModel, paclet:ref/TransferFunctionModel])  ▪  (RefLink[ButterworthFilterModel, paclet:ref/ButterworthFilterModel])  ▪  (RefLink[Chebyshev1FilterModel, paclet:ref/Chebyshev1FilterModel])  ▪  (RefLink[Chebyshev2FilterModel, paclet:ref/Chebyshev2FilterModel])  ▪  (RefLink[EllipticFilterModel, paclet:ref/EllipticFilterModel])  ▪  (RefLink[BesselFilterModel, paclet:ref/BesselFilterModel])}})}})

({{DocumentationFooterIconsRelatedGuide.png, ({{Related Guides}, {▪(RefLinkPlain[Signal Processing, paclet:guide/SignalProcessing])}})}})