Parallel form filter design

5 views (last 30 days)
YAGIZ AKALIN
YAGIZ AKALIN on 3 Dec 2019
Edited: YAGIZ AKALIN on 16 Dec 2019
Hi!
I have a transfer function coefficients as following:
[b,a] = ellip(4,.2,40,[.41 .47]);
I'd like to factor this system into its PFE using
[r,p,k] = residue(b,a)
Then, I'd like to implement a filter which uses a parallel combination of second-order subsections. To do this, I need to combine each complex pole with its complex conjugate so that the overall second order subsections will have real valued coefficients. Hence; I selected four pairs of first order terms and recombined them into second order subsections using "residue" function. How can I store the coefficients of the resulting second-order subsections in the matrices c and d so that each row corresponds to one second order system?
I tried to do this but I don't know whether it's correct or not?
Can anybody please give me an idea? Any help would be appreciated.

Answers (1)

Star Strider
Star Strider on 3 Dec 2019
I am not quite certain what you want to do.
To express your elliptic filter as second-order-sections, the Signal Processing Toolbox has a built-in function to do just that.
I would just do:
[z,p,k] = ellip(4,0.2,40,[.41 .47]);
[sos,g] = zp2sos(z,p,k);
figure
freqz(sos, 2^14)
The freqz plot is the Bode plot of the filter.
Note that th filtfilt function can use the ‘sos’ and ‘g’ outputs to define your filter to filter your signal.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!