# Raised-Cosine Filter - calculating phase response

I want to compute phase response of an raised-cosine FIR filter. I have trouble finding the complex transfer function of the filter in literature (there is a real valued transfer function of frequency).

I have found formula for magnitude for raised-cosine filter (paper “Raised Cosine Equalization Utilizing Log Scale Filter Synthesis”, D. McGrath, J. Baird, B. Jackson) but there is no mention of phase response. I have read the IEEE paper “Generalized Raised-Cosine Filters” by N. S. Alagha, P. Kabal, but did not find the clear way how to calculate the phase response. In the first mentioned paper the phase is not linear and it's said that it is minimum phase filter. Here is the plot from McGrath at al. paper, page 8:

What is the way to calculate phase response for an raised-cosine FIR filter? I don't want to use MATLAB, I need to implement the solution in C++.

• At the risk of stating the obvious, whether you are working with an IIR or FIR filter, you can compute the filter's phase reponse by simply running an impulse through the filter and doing an FFT of the output. Of course, with an FIR filter, the output will simply be the FIR coefficients. Jun 21, 2015 at 11:16
– Peter K.
Oct 21, 2015 at 15:25
• @PeterK.I answered the question. The phase is calculated via Hilbert transform of magnitude. Oct 22, 2015 at 11:55

Just like the sinc pulse, a raised cosine pulse with zero delay (centered around $t=0$) has a real Fourier transform. You can find its expression in section 11.4 of "Telecommunications Breakdown" by Johnson and Sethares (a free draft version is available here).
• @Nebojsa: The phase is zero in that case. If you shift the pulse to make it causal, you effectively add a linear phase $\phi(\omega)=-\omega T$, where $T$ is the delay. Jun 19, 2015 at 15:51
• @Nebojsa: For a linear phase filter with filter order $N$, the delay equals $N/2$. Note that the filter length (number of coefficients) is $N+1$. Jun 22, 2015 at 18:48