<< seqperiod FOSSEE Signal Processing Toolbox sgolay >>

FOSSEE Signal Processing Toolbox >> FOSSEE Signal Processing Toolbox > sftrans

sftrans

Transform band edges of a generic lowpass filter (cutoff at W=1) represented in splane zero-pole-gain form.

Calling Sequence

[Sz, Sp, Sg] = sftrans (Sz, Sp, Sg, W, stop)
[Sz, Sp] = sftrans (Sz, Sp, Sg, W, stop)
[Sz] = sftrans (Sz, Sp, Sg, W, stop)

Parameters

Sz:

Zeros.

Sp:

Poles.

Sg:

Gain.

W:

Edge of target filter.

stop:

True for high pass and band stop filters or false for low pass and band pass filters.

Description

This is an Octave function. Theory: Given a low pass filter represented by poles and zeros in the splane, you can convert it to a low pass, high pass, band pass or band stop by transforming each of the poles and zeros individually. The following table summarizes the transformation:

Transform Zero at x Pole at x ---------------- ------------------------- ------------------------ Low Pass zero: Fc x/C pole: Fc x/C S -> C S/Fc gain: C/Fc gain: Fc/C ---------------- ------------------------- ------------------------ High Pass zero: Fc C/x pole: Fc C/x S -> C Fc/S pole: 0 zero: 0 gain: -x gain: -1/x ---------------- ------------------------- ------------------------ Band Pass zero: b +- sqrt(b^2-FhFl) pole: b +- sqrt(b^2-FhFl) S^2+FhFl pole: 0 zero: 0 S -> C -------- gain: C/(Fh-Fl) gain: (Fh-Fl)/C S(Fh-Fl) b=x/C (Fh-Fl)/2 b=x/C (Fh-Fl)/2 ---------------- ------------------------- ------------------------ Band Stop zero: b +- sqrt(b^2-FhFl) pole: b +- sqrt(b^2-FhFl) S(Fh-Fl) pole: +-sqrt(-FhFl) zero: +-sqrt(-FhFl) S -> C -------- gain: -x gain: -1/x S^2+FhFl b=C/x (Fh-Fl)/2 b=C/x (Fh-Fl)/2 ---------------- ------------------------- ------------------------ Bilinear zero: (2+xT)/(2-xT) pole: (2+xT)/(2-xT) 2 z-1 pole: -1 zero: -1 S -> - --- gain: (2-xT)/T gain: (2-xT)/T T z+1 ---------------- ------------------------- ------------------------

where C is the cutoff frequency of the initial lowpass filter, Fc is the edge of the target low/high pass filter and [Fl,Fh] are the edges of the target band pass/stop filter. With abundant tedious algebra, you can derive the above formulae yourself by substituting the transform for S into H(S)=S-x for a zero at x or H(S)=1/(S-x) for a pole at x, and converting the result into the form:

H(S)=g prod(S-Xi)/prod(S-Xj)

Examples

[Sz, Sp, Sg] = sftrans (5, 10, 15, 20, 30)
Sz =  4
Sp =  2
Sg =  7.5000

Report an issue
<< seqperiod FOSSEE Signal Processing Toolbox sgolay >>