raised cosine filter
Filter with impulse response defined by
\begin{equation}
H(f) = \begin{cases}
1 & |f| \le \frac{1 - \beta}{2T} \\
\frac{1}{2}\left[ 1 + \cos\left(\frac{2\pi T}{\beta}
\left(|f| - \frac{1-\beta}{2T}\right)\right) \right]
& \frac{1-\beta}{2T} < |f| \le \frac{1-\beta}{2T} \\
0 & else
\end{cases}
\end{equation}
The filter takes \(\beta\), the roll-off length which parametrizes the function. Higher \(\beta\) increases the curved "roll-off" outside the perfect box-car in the frequency domain.
\(T\) is the symbol-duration time (1/fs), in 1/baud (a baud is symbol/s).
From wikipedia,
In the frequency domain, the function has symmetry around the \(\frac{1}{2T}\), which is why the function can be implemented programmatically be multiplying a signal with a precomputed "up flank" and "down flank."
In the time domain, we can compute the RC's impulse response as (and then apply to the signal by convolution)
\begin{equation}
h(t) = \begin{cases}
\frac{\pi}{4T}\text{sinc}\left(\frac{1}{2\beta}\right) & t = \pm\frac{T}{2\beta} \\
\frac{1}{T}\text{sinc}\left(\frac{t}{T}\right)
\frac{\cos(\frac{2\beta}{T})}{\frac{1-2\beta t}{T}^2} & else
\end{cases}
\end{equation}
The square root of the frequency response of the RC filter is called the root-raised cosine filter.