I've just started self-studying Oppenheim and Schafer's book, Digital Signal Processing and I'm having trouble solving problem 20 from Chapter 1. The problem is stated as follows:
A causal linear shift-invariant system is described by the difference equation $$ y(n) - ay(n-1) = x(n) - bx(n-1) $$ Determine the value of $b$ ($b \neq a$) such that this system is an allpass system; i.e., the magnitude of its frequency response is constant, independent of frequency.

I started trying to solve the problem by substituting the Dirac-delta function $\delta(x)$ for $x(n)$ in order to find the unit-sample response $h(n)$ of the system. I found $$ h(n) = (a-b)a^{n-1} u(n), $$ where $u(n)$ is the unit-step function. Plugging in the unit-sample response I found the frequency response to be $$ H(e^{j\omega}) = (a-b) \sum_{n=0}^{\infty} a^{n-1} e^{-j \omega n} $$ I cannot figure out where to go from here or where I made a mistake earlier. Any help would be greatly appreciated. Thanks and have a great day.


From the discrete-time Fourier transform (DTFT) relationship

$$x[n-k]\Longleftrightarrow X(e^{j\omega})e^{-jk\omega}\tag{1}$$

the DTFT of the given difference equation is


from which the frequency response is obtained as


Its squared magnitude is given by


where $c$ is some constant. From $(4)$ we get


Excluding the trivial solution $a=b$, equating both sides of $(5)$ gives


from which



Note that the impulse response and frequency response that you found is not entirely correct. However, it is of course possible to obtain them the way you tried, i.e. by setting $x[n]=\delta[n]$:


So we obtain $$h[n]=a^{n-1}(a-b),\qquad n\ge 1$$

This is basically what you got, but your solution does not include the value for $n=0$. The correct expression taking the value at $n=0$ into account is


which corresponds to the frequency response


It can be easily shown that this expression equals the one given in Eq. ($3$) above.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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