I am given $$H(z) = 1 + \frac{\alpha}{1-\alpha z^{-1}}$$ where alpha is between $0$ and $1$. This is apparently is a low-pass filter with cutoff frequency $f_c$.

How can I see that? And how can I compute/plot the frequency response in Matlab? Neither freqz(1+alfa,[1 -alfa]) nor abs(H(z)) seems to yield a low-pass filter on the above transfer function in Matlab.

Furthermore, $1-H(z)$ should be a high-pass filter. But again, using freqz(-alfa,[1 -alfa]) in matlab it is clearly not a high-pass filter.

  • 1
    $\begingroup$ Should the numerator be $1+\alpha$ (as in the argument of freqz()), or is $H(z)$ correct as it stands? $\endgroup$
    – Matt L.
    Dec 14, 2017 at 10:57
  • $\begingroup$ Mattl L: it is the same.. $\endgroup$ Dec 14, 2017 at 11:00
  • $\begingroup$ Either $H(z)$ is wrong, or your call to freqz is wrong. $\endgroup$
    – Matt L.
    Dec 14, 2017 at 11:11

1 Answer 1


No $$H(z) = 1 + \frac{\alpha}{1-\alpha z^{-1}}$$ is not a lowpass filter. It's a lowpass filter in parallel with an all pass filter (kind of low-boost shelving filter). If you want a lowpass filter which rejects the high frequencies then you may take the following:

$$H_{lp}(z) = \frac{\alpha}{1-\alpha z^{-1}}$$ which is a lowpass filter for the range of parameter $\alpha$. And therefore $1 - H_{lp}(z)$ will be the complementary highpass filter in simplest terms.

So you can see it by the following code:

freqz(alfa, [1 -alfa])

Note that the gain of the filter will be dependent on $\alpha$! Note also that as Matt.L commented you might have $1 + \alpha$ in the numerator instead...


Not the answer you're looking for? Browse other questions tagged or ask your own question.