I want to design a digital filter with the following phase response in MATLAB. i.e. at 1kHz, the phase response should be 9 degrees, at 2khz phase response should be 18 degrees ,at 3kHz phase response should be 27 degrees, at 4kHz phase response should be 36 degrees and so on upto 8kHz.How to design such filters having desired phase response?

  • 2
    $\begingroup$ Do you care about the amplitude response ? Are you sure you want positive phases and not negative ones? $\endgroup$
    – Hilmar
    Aug 25 '21 at 12:10
  • $\begingroup$ If we have to design a filter for a desired magnitude and phase response, what are the constraints to be considered? $\endgroup$
    – Deepa
    Aug 26 '21 at 11:01

What you describe is a linear phase. Assuming that your sample rate is 48 kHz, you can implement this simply with a delay of -1.2 samples.

The tricky parts here are that the delay is negative, i.e. the filter is non causal and that the delay is fractional (and not an integer number of samples).

This can all be done, but needs to be carefully tailored to the specific requirements of your application.

Here is an excellent article on the topic: http://home.agh.edu.pl/~turcza/sr/Splitting%20the%20Unit%20Delay.pdf


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.