Digital Signal Processing : Theory and Practice (2018)