Why filter orders are always Even numbers?

14 views (last 30 days)
Krishna Ganesan
Krishna Ganesan on 24 Mar 2020
Answered: Sindhu Karri on 1 Apr 2020
I designed a digital filter and while experimenting with the filter order, I came across the following warning when I use an odd filter order,
I read about the filter documentation that says,
b = firls(n,f,a) % Returns row vector b containing the n+1 coefficients of an order-n FIR filter.
% The frequency and amplitude characteristics of the resulting filter match those given by vectors f and a.
but nowhere it is mentioned that I should use an even number for a filter order.
I can ofcourse design my filter with an even order. But I wish to understand the warning.
I'm new to signal processing and any insights to help me understand the warning would be really helpful.

Answers (1)

Sindhu Karri
Sindhu Karri on 1 Apr 2020
According to my understanding when firls function is trying to calculate frequency response H(k) components depending on the given f,b values it is getting H(1) as non zero value but which should be zero value for the fir to be type 2 filter(odd order symmetric filter).So it is incrementing the order by 1 so that it becomes type 1 filter(even order symmetric filter) for which H(1) need not be zero.
For better understanding please refer to the table given at the end of the documentation

Community Treasure Hunt

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

Start Hunting!