pztf

This STx-related article may be outdated.

Compute minimum phase envelope (for test purposes only)

Usage
`Amip := eval pztf(Ac, nn, nd, 0)`
`Amip := eval pztf(Ae, nn, nd, 0)`
Result
log. minimum phase amplitude response in dB (Amip[*,0])

Compute polyinomial coefficients of numerator and denominator of the p/z transfer function H(z)=N(z)/D(z)

Usage
`ND := eval pztf(Ac, nn, nd, 1 | 2) 1=wlls, 2=nd`
`ND := eval pztf(Ae, nn, nd, 1 | 2) 1=wlls, 2=nd`
Result
numerator and denominator coefficients:
ND[0,0]=nn, ND[1..nn,0]=an[0..nn-1],

Compute amplitude response |H(z)| in dB

Usage
`H := eval pztf(ND, nh)`
Result
amplitude response in dB (H[*,0])

Compute poles and zeros

Usage
ZP := eval pztf(ND)
Result
zeros and poles
ZP[0,0]=nz, ZP[0,1..nz]=rz[0..nz-1], ZP[0,nz+1..nz+np]=rp[0..np-1]
ZP[1,0]=np, ZP[1,1..nz]=fz[0..nz-1], ZP[1,nz+1..nz+np]=fp[0..np-1]
Notes
1) relative frequencies fz/fp are computed as: fx[i] = (arg(x[i]) / pi
1) zeros and poles are sorted by increasing rel. frequency fz/fp
2) if fz/fp[i]=0 -> real pole/zero on the right side
3) if fz/fp[i]=1 -> real pole/zero on the left side
4) if 0<fz/fp[i]<1 conjugate complex pole/zero
Ac
complex minimum phase envelope (Ac[*,0] = re, Ac[*,1] = im)
Ae
log. envelope in dB (Ae[*,0])
nn
order of numerator
nd
order of denominator
nh
number of H frequency bins