Let's assume the transfer function of a continuous-domain filter consists of two poles and one zero: $H(s) = \frac{k_c (s-\omega_{z_1})}{(s-\omega_{p_1})(s-\omega_{p_2})}$. Let's consider we do the bi-linear transformation and we get the numerator and denominator coefficients in $z$-domain:
(Numerator coeffs): $\,\,\,\,$ $B = [b_0, b_1, b_2]$ and,
(Denominator coeffs): $A = [a_0, a_1, a_2]$.
Then we filter an input signal $v_{in}$ with this filter to get $v_{out}$:
$v_{out}$ = filter(B,A, $v_{in}$);
Now I want to try another way in which I break the second-order filter $H(s)$ into two first-order filters $H_1(s)$ and $H_2(s)$ where $H(s) = H_1(s) \times H_2(s)$ and
$H_1(s) = \frac{k_c (s-\omega_{z_1})}{(s-\omega_{p_1})}$. $H_2(s) = \frac{1}{(s-\omega_{p_2})}$.
Same as before we perform bi-linear transformation and we get the numerator and denominator coefficients of $H_1(z)$:
$B_1 = [b^1_0, b^1_1]$,
$A_1 = [a^1_0, a^1_1]$,
and $H_2(z)$:
$B_2 = [b^2_0, b^2_1]$,
$A_2 = [a^2_0, a^2_1]$,
Now I want to apply these two filters on the same input waveform $v_{in}$ and get the same output waveform $v_{out}$.
Obviously I tried something like below and it did not work:
$v_{mid}$ = filter($B_1$,$A_1$, $v_{in}$);
$v_{out}$ = filter($B_2$,$A_2$, $v_{mid}$);
Can anyone figure out how this can be done properly to applying two first-order filters in sequence instead of applying a second-order filter and get the same output?
P.S.: Here, the plan is NOT to reconstruct coefficients $A$ and $B$ from $(A_1, A_2)$ and $(B_1, B_2)$.
filter()
do (mathematically speaking)? Is it a simple convolution? $\endgroup$ – havakok Jan 26 at 6:45