syntfil[MakeH] - compute the transfer function of the LC ladders and the active RC (ARC) filter structures
Calling sequence:
MakeH(blocks, var);
Parameters:
blocks - structure of the LC ladders, cascade parameters of the filter or cascade ARC filter structure
(output of DroppNLP , ElemsXX , MakeRealL , NLP2XX functions and ARCSynt , ARCSyntXX , ARCRoundR functions,
where XX specify type of filter, i.e. LP , HP , BP ( BP2 , eventually BPm a BPm2 for LC ladders) and BS ( BSm )
var - (optional) symbol of voltage ( V ) transfer function or power ( P ) transfer ratio for LC ladders
- symbol of transfer function variable for others filter structures
Description:
Info level:
Setting of variable infolevel[syntfil] can be used to get more detailed results.
infolevel[syntfil] =
3 - print of transfer function type (voltage or power) for LC ladders
Example:
> | with(syntfil): |
Cauer approximation
> | G,Phi,zeros:=Cauer(3,1.2,3,p): |
Implement an LC ladder structure
> | elems_NLP:=DroppNLP('common',1,front,T,G,Phi,zeros); |
> | infolevel[syntfil]:=3: |
Power transfer function of the LC structure
> | MakeH(elems_NLP); |
syntfil/MakeH_LC:
Voltage transfer:false
Voltage transfer function of the LC structure
> | MakeH(elems_NLP,V); |
syntfil/MakeH_LC:
Voltage transfer:true
> | infolevel[syntfil]:=1: |
> | elems_NLP:=DroppNLP('short',1,rear,T,G,Phi,zeros): |
> | MakeH(elems_NLP,P); |
Warning, Type of transfer function was changed from Power to Voltage
> | elems_LP:=MakeRealL(ElemsLP(elems_NLP,100,1000),50,1000); |
> | MakeH(elems_LP); |
Butterworth low pass filter
> | Gc,poles:=ButterworthPoles(3,1.2,3): |
> | lp:=NLP2LP(1000,Gc,poles); |
Transfer function of the filter
> | MakeH(lp,p); |
Synthesis of the low pass filter with an ARC circuit
> | ARC_lp:=ARCSynt(lp,table(['C1'=33e-9, 'h0'=1])); |
ARC circuit transfer function
> | MakeH(ARC_lp,p); |
Synthesis of the low pass filter with an ARC circuit and the resistors rouned off
> | ARC_lp_real:=ARCRoundR(ARCSynt(lp,table(['C1'=33e-9, 'h0'=1, 'A0'=1e5, 'ft'=1e6])),48); |
ARC circuit transfer function
> | MakeH(ARC_lp_real,p); |
It is possible to compute transfer functions of a particular biquad.
> | MakeH(ARC_lp_real[1],p); |
> | MakeH(ARC_lp_real[2],p); |
Synthesis of a one biquad.
> | ARC_lp_g:=ARCBlock(lp,1): |
> | ARC_lp_1:=ARCSyntLP(ARC_lp_g[1],table(['C1'=33e-9, 'h0'=1])); |
Analysis of the biguad.
> | MakeH(ARC_lp_1,p); |
> | MakeH(ARC_lp[1],p); |
See also:
DroppNLP, ElemsLP, ElemsHP, ElemsBP, ElemsBP2, ElemsBPm, ElemsBP2m, ElemsBS, ElemsBSm, MakeRealL, NLP2LP, NLP2HP, NLP2BP, NLP2BP2, NLP2BS, ARCSynt, ARCSyntLP, ARCSyntHP, ARCSyntBP, ARCSyntBS, ARCRoundR