I'm a beginner in DSP and I'm going through the textbook of Oppenheim's Discrete Time Signal Processing. There are two figures in the text, one which I can visualize, and the other I can't. The first figure shows the polyphase decomposition of an impulse response function: enter image description here

I get why the $z^{-n}$ is placed after the upsampling operation. After the zeros are added during the upsampling operation, appropriate delays need to be added so that the sum gives the original impulse response. The next step taken in the textbook isn't clear to me. I do not get why the $z$ delays are added before the polyphase components in the second figure, as shown below: enter image description here

Doing so suggests the delay operation is commutative with the expansion, but I cannot convince myself that it is right. I tried doing that for the first figure and I do not get the same results. Is there something I'm misunderstanding here?



Note that the delay in the figure $4.37$ does not represent a commutation of delay $z^{-k}$ and an expander, but a commutation of delay $z^{-k}$ and polyhase branch filter $E_k(z^M)$ which is an LTI system; hence the commutation poses no problem.

In other words, the following branches

$$ x_k[n] \longrightarrow \boxed{ E_k(z^M) } \longrightarrow \boxed{z^{-k}} \longrightarrow y_k[n] $$


$$ x_k[n] \longrightarrow \boxed{ z^{-k} } \longrightarrow \boxed{E_k(z^M)} \longrightarrow y_k[n] $$

are identical since $E_k(z^M)$ is an LTI filter.

  • 1
    $\begingroup$ Thanks, your distinction between which commutation the operation represents helped clear my source of confusion. $\endgroup$ – Lim LS Nov 11 at 19:17
  • $\begingroup$ You're welcome ! Note that as you know it right, the expander is not an LTI system and would not commute with a delay system. $\endgroup$ – Fat32 Nov 11 at 20:22

The polyphase components of $h[n]$ are


Note that if $h[n]$ starts at $n=0$, then so do all polyphase components $e_k[n]$. In order to get back the original sequence $h[n]$ from the polyphase components $e_k[n]$, we need to insert $M-1$ zeros between the samples of $e_k[n]$, and shift each component back to its original position, i.e. shift $e_k[n]$ by $k$ samples. In the frequency domain this corresponds to


Filtering an input signal with $\mathcal{Z}$-transform $X(z)$ results in


which corresponds to the structure in figure $4.37$ in Oppenheim and Schafer. The terms $E_k(z^M)z^{-k}$ can clearly be implemented either by delaying the input or the output of the polyphase components:



These relationships are known as the multirate Noble Identities where in general you can change the order of an upsampling and delays if you change the exponent of the delay elements appropriately.

Multirate Noble Identities

  • 1
    $\begingroup$ well, if no one else does, you get a ^ arrow from me. $\endgroup$ – robert bristow-johnson Nov 11 at 17:54
  • $\begingroup$ @robertbristow-johnson well... why not also me.. :-) $\endgroup$ – Fat32 Nov 11 at 20:25
  • $\begingroup$ i didn't see your answer at first. $\endgroup$ – robert bristow-johnson Nov 11 at 23:25

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.