sdr.root_raised_cosine(alpha: float, span: int, sps: int) ndarray

Returns a square root raised cosine (SRRC) pulse shape.

Parameters:
alpha: float

The excess bandwidth \(0 \le \alpha \le 1\) of the filter.

span: int

The length of the filter in symbols. The length of the filter is span * sps + 1 samples. The filter order span * sps must be even.

sps: int

The number of samples per symbol.

Returns:

The square-root raised cosine pulse shape with unit energy.

References

  • Michael Rice, Digital Communications: A Discrete Time Approach, Appendix A.

Examples

In [1]: h_0p1 = sdr.root_raised_cosine(0.1, 8, 10); \
   ...: h_0p5 = sdr.root_raised_cosine(0.5, 8, 10); \
   ...: h_0p9 = sdr.root_raised_cosine(0.9, 8, 10);
   ...: 

In [2]: plt.figure(figsize=(8, 4)); \
   ...: sdr.plot.impulse_response(h_0p1, label=r"$\alpha = 0.1$"); \
   ...: sdr.plot.impulse_response(h_0p5, label=r"$\alpha = 0.5$"); \
   ...: sdr.plot.impulse_response(h_0p9, label=r"$\alpha = 0.9$"); \
   ...: plt.show()
   ...: 
../../_images/sdr_root_raised_cosine_1.png

See the Pulse shapes example.