Skip to main content
deleted 6 characters in body
Source Link
Dan Boschen
  • 58.2k
  • 3
  • 63
  • 155

Creating filters using the "frequency sampling" approach, meaning deriving the impulse response from the inverse FFT of a desired frequency response as suggested by the OP is not recommended over alternate approaches such as least squares outlined above, and firls in MATLAB, Octave and Python, and windowing approaches to filter design. This is because the inverse FFT suffers from time domain aliasing, requiring additional zero-padding which results is a much longer filter to achieve the same performance that the other approaches listed would provide. This is demonstrated in this linkdsp.SE #31905. The frequency sampling approach to filter design results in frequency response that has an exact match at the frequency samples chosen, but greater error everywhere else compared to the other approaches given the same complexity (number of coefficients). To mention however, the case where "frequency sampling" design excels is OFDM (orthogonal frequency division multiplexing) since in that case we are only interested in discrete frequencies.

Creating filters using the "frequency sampling" approach, meaning deriving the impulse response from the inverse FFT of a desired frequency response as suggested by the OP is not recommended over alternate approaches such as least squares outlined above, and firls in MATLAB, Octave and Python, and windowing approaches to filter design. This is because the inverse FFT suffers from time domain aliasing, requiring additional zero-padding which results is a much longer filter to achieve the same performance that the other approaches listed would provide. This is demonstrated in this link. The frequency sampling approach to filter design results in frequency response that has an exact match at the frequency samples chosen, but greater error everywhere else compared to the other approaches given the same complexity (number of coefficients). To mention however, the case where "frequency sampling" design excels is OFDM (orthogonal frequency division multiplexing) since in that case we are only interested in discrete frequencies.

Creating filters using the "frequency sampling" approach, meaning deriving the impulse response from the inverse FFT of a desired frequency response as suggested by the OP is not recommended over alternate approaches such as least squares outlined above, and firls in MATLAB, Octave and Python, and windowing approaches to filter design. This is because the inverse FFT suffers from time domain aliasing, requiring additional zero-padding which results is a much longer filter to achieve the same performance that the other approaches listed would provide. This is demonstrated in dsp.SE #31905. The frequency sampling approach to filter design results in frequency response that has an exact match at the frequency samples chosen, but greater error everywhere else compared to the other approaches given the same complexity (number of coefficients). To mention however, the case where "frequency sampling" design excels is OFDM (orthogonal frequency division multiplexing) since in that case we are only interested in discrete frequencies.

Added details on using Hilbert Transform to extract the min phase system
Source Link
Dan Boschen
  • 58.2k
  • 3
  • 63
  • 155

The minimum phase system will have the exact same magnitude response as the maximum phase system, but unlike the maximum phase system it has the desirable property of being invertible (has a stable causal inverse). The above demonstration was done with a maximum phase system, but also works with a mixed phase system. A mixed phase system has some zeros inside and some zeros outside the unit circle, so in this case the minimum phase system extracted is created by reflecting just the zeros that are outside the unit circle to be inside the unit circle at their conjugate reciprocal locations (which means same angle and $1/r$ where $r$ is the radius). Alternatively the Hilbert Transform can be used to determine the minimum phase system from the magnitude response alone, since for a minimum phase system, the phase is the Hilbert transform of the natural log of the magnitude response.

This isBoth of these approaches are detailed further in these links:

The minimum phase system will have the exact same magnitude response as the maximum phase system, but unlike the maximum phase system it has the desirable property of being invertible (has a stable causal inverse). The above demonstration was done with a maximum phase system, but also works with a mixed phase system. A mixed phase system has some zeros inside and some zeros outside the unit circle, so in this case the minimum phase system extracted is created by reflecting just the zeros that are outside the unit circle to be inside the unit circle at their conjugate reciprocal locations (which means same angle and $1/r$ where $r$ is the radius).

This is detailed further in these links:

The minimum phase system will have the exact same magnitude response as the maximum phase system, but unlike the maximum phase system it has the desirable property of being invertible (has a stable causal inverse). The above demonstration was done with a maximum phase system, but also works with a mixed phase system. A mixed phase system has some zeros inside and some zeros outside the unit circle, so in this case the minimum phase system extracted is created by reflecting just the zeros that are outside the unit circle to be inside the unit circle at their conjugate reciprocal locations (which means same angle and $1/r$ where $r$ is the radius). Alternatively the Hilbert Transform can be used to determine the minimum phase system from the magnitude response alone, since for a minimum phase system, the phase is the Hilbert transform of the natural log of the magnitude response.

Both of these approaches are detailed further in these links:

added 51 characters in body
Source Link
Dan Boschen
  • 58.2k
  • 3
  • 63
  • 155

Creating filters using the "frequency sampling" approach, meaning deriving the impulse response from the inverse FFT of a desired frequency response as suggested by the OP is not recommended over alternate approaches such as least squares outlined above, and firls in MATLAB, Octave and Python, and windowing approaches to filter design. This is because the inverse FFT suffers from time domain aliasing, requiring additional zero-padding which results is a much longer filter to achieve the same performance that the other approaches listed would provide. This is demonstrated in this link. The frequency sampling approach to filter design results in frequency response that has an exact match at the frequency samples chosen, but greater error everywhere else compared to the other approaches given the same complexity (number of coefficients). To mention however, the case where "frequency sampling" design excels is OFDM (orthogonal frequency division multiplexing) since in that case we are only interested in discrete frequencies.

Creating filters using the "frequency sampling" approach, meaning deriving the impulse response from the inverse FFT of a desired frequency response as suggested by the OP is not recommended over alternate approaches such as least squares outlined above, and firls in MATLAB, Octave and Python, and windowing approaches to filter design. This is because the inverse FFT suffers from time domain aliasing, requiring additional zero-padding which results is a much longer filter to achieve the same performance that the other approaches listed would provide. This is demonstrated in this link. The frequency sampling approach to filter design results in frequency response that has an exact match at the frequency samples chosen, but greater error everywhere else compared to the other approaches. To mention however, the case where "frequency sampling" design excels is OFDM (orthogonal frequency division multiplexing) since in that case we are only interested in discrete frequencies.

Creating filters using the "frequency sampling" approach, meaning deriving the impulse response from the inverse FFT of a desired frequency response as suggested by the OP is not recommended over alternate approaches such as least squares outlined above, and firls in MATLAB, Octave and Python, and windowing approaches to filter design. This is because the inverse FFT suffers from time domain aliasing, requiring additional zero-padding which results is a much longer filter to achieve the same performance that the other approaches listed would provide. This is demonstrated in this link. The frequency sampling approach to filter design results in frequency response that has an exact match at the frequency samples chosen, but greater error everywhere else compared to the other approaches given the same complexity (number of coefficients). To mention however, the case where "frequency sampling" design excels is OFDM (orthogonal frequency division multiplexing) since in that case we are only interested in discrete frequencies.

added 11 characters in body
Source Link
Dan Boschen
  • 58.2k
  • 3
  • 63
  • 155
Loading
added 3133 characters in body
Source Link
Dan Boschen
  • 58.2k
  • 3
  • 63
  • 155
Loading
added 3133 characters in body
Source Link
Dan Boschen
  • 58.2k
  • 3
  • 63
  • 155
Loading
added 3133 characters in body
Source Link
Dan Boschen
  • 58.2k
  • 3
  • 63
  • 155
Loading
added 3133 characters in body
Source Link
Dan Boschen
  • 58.2k
  • 3
  • 63
  • 155
Loading
added 3133 characters in body
Source Link
Dan Boschen
  • 58.2k
  • 3
  • 63
  • 155
Loading
added 296 characters in body
Source Link
Dan Boschen
  • 58.2k
  • 3
  • 63
  • 155
Loading
added 259 characters in body
Source Link
Dan Boschen
  • 58.2k
  • 3
  • 63
  • 155
Loading
added 306 characters in body
Source Link
Dan Boschen
  • 58.2k
  • 3
  • 63
  • 155
Loading
Source Link
Dan Boschen
  • 58.2k
  • 3
  • 63
  • 155
Loading