Conversion between DCT to DFT frequency domains It is well known that the DFT can be interpreted as a filter bank. The same can be done for the DCT, for instance Fig. 3.29, pag. 129 in [1] shows a plot of the frequency response of a DCT filter bank. I am wondering how this plot (and similar plots for other transforms like DST, etc.) was obtained. For the DFT, we have the prototype filter $H_0(z)=\sum_{n=0}^{N-1}z^{-n}$. The frequency response of the $k$-th DFT bin is $H_k(z)=H_0(z\, e^{-j\frac{2\pi}{N}k})$. Using the transformation $z=e^{j\omega}$ we can readily find the frequency response for all bins (see the plot below).


As far as I know there is no z-transform equivalent for the DCT, so it's not clear to me how that plot was obtained. Any ideas?

[1] Malvar, H.S., Signal processing with lapped transforms, 1992, Artech House
Both are linear transforms. Both can be expressed as a matrix. These matrices  are invertible. So you can have the product of one matrix with the inverse of the other. In practice, you could not actually calculate inverse matrices, so you'd have to stick with solvers. However, such products are a little op-art. Coursey GNU octave.