frequency function to FIR by frequency sampling method

1 vue (au cours des 30 derniers jours)
sangwoo ha
sangwoo ha le 1 Déc 2021
Réponse apportée : Samhitha le 18 Août 2025

i have function with respect to frequency. and i want to the function to FIR filter by using frequency sampling method
i make symetric value using that function.
the function is not linear phase. So when i do ifft, i coefficient is not real but complex coefficient
when i use coefficient = real(ifft(function)), the output is somewhat similar
is that right to use real value of complex coefficient???

Réponses (1)

Samhitha
Samhitha le 18 Août 2025
When designing an FIR filter by specifying its frequency response and then taking the IFFT, the nature of your frequency response determines whether your filter coefficients will be real or complex:
  • If your desired frequency response is symmetric (i.e., it has conjugate symmetry), the resulting filter coefficients will be real. This is typically the case for linear phase filters.
  • If your desired frequency response is not symmetric (i.e., not conjugate symmetric), the IFFT will generally produce complex coefficients. This means your filter will be complex valued.
Taking the real part of the complex coefficients (using real(ifft(...))) is not recommended. Doing so will change the filter’s characteristics and result in a frequency response that does not match your original specification. The imaginary part of the coefficients contains phase information, and discarding it alters the filter’s behavior.
If you need a real-valued FIR filter (for processing real signals), you should ensure that your desired frequency response is conjugated symmetric before applying the IFFT.
For more details look into following documentation:
Hope this helps!

Catégories

En savoir plus sur Digital and Analog Filters dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by