Source: https://users.ece.utexas.edu/~bevans/courses/rtdsp/homework/solution2.pdf