10.5. Exercises#

Exercise 10.1

If you have a signal \(x\) of length \(N\), and a filter \(h\) of length \(K < N\), the standard full-mode convolution \(h*x\) can be implemented by using circular convolution on zero-padded versions of \(x\) and \(h\), and trimming the results.

What is the minimal amount of padding (in terms of \(N\) and \(K\)) that must be applied to \(x\) and \(h\) for this to work?

Exercise 10.2

Starting from the example code in Filter Design and Analysis, experiment with different filter designs to improve the quality of low-pass filters with a cutoff of \(f_c=500\) Hz. In particular:

  • For window design filters, what combination of length (order) and window works best? (Try the following windows: hann, hamming, rect, blackmanharris)

  • For Parks-McClellan (Remez) filters, what combination of length and transition region width works best?

  • Base your comparisons on both plots of the frequency response curves, as well as listening to the results on a signal of your choice.

Exercise 10.3

For each of the filters you tested in the previous question, compute the group delay \(G[m]\). Each filter will have linear phase in the pass band, but some may continue to have linear phase through the transition band, and possibly into the stop band! For each filter, determine the frequency at which the phase response becomes non-linear, and the corresponding frequency response (in dB) of the filter at that frequency, and collect your results in a table.

  • Which filter(s) retain linear phase at the highest frequency?

  • What about at the lowest response (in dB)?

  • What can this tell you about each filter’s perceptual quality?

Exercise 10.4

Prove the dual convolution theorem Corollary 10.1. Can you explain where the extra factor of \(1/N\) comes from?