В этом примере показано, как минимизировать числовые коэффициенты путем создания фильтров минимального или минимального порядка.
Для запуска настройте параметры фильтра и используйте fdesign для создания конструктора для проектирования фильтра.
N = 100;
Fp = 0.38;
Fst = 0.42;
Ap = 0.06;
Ast = 60;
Hf = fdesign.lowpass('Fp,Fst,Ap,Ast',Fp,Fst,Ap,Ast);До сих пор мы рассматривали только линейно-фазовые конструкции. Линейная фаза желательна во многих применениях. Тем не менее, если линейная фаза не является обязательным требованием, конструкции с минимальной фазой могут обеспечить значительные улучшения по сравнению с аналогами линейной фазы. Например, возвращаясь к случаю минимального заказа, можно вычислить конструкцию минимальной фазы/минимального заказа для тех же спецификаций с помощью:
Hd1 = design(Hf,'equiripple','systemobject',true); Hd2 = design(Hf,'equiripple','minphase',true,... 'systemobject',true); hfvt = fvtool(Hd1,Hd2,'Color','White'); legend(hfvt,'Linear-phase equiripple design',... 'Minimum-phase equiripple design')

Обратите внимание, что количество коэффициентов уменьшено со 146 до 117. Во втором примере рассмотрим конструкцию с замедляющей полосой, распадающейся линейно. Обратите внимание на увеличение затухания полосы останова. Пульсация полосы пропускания также значительно меньше.
setspecs(Hf,'N,Fp,Fst',N,Fp,Fst); Hd3 = design(Hf,'equiripple','StopbandShape','linear',... 'StopbandDecay',53.333,'systemobject',true); setspecs(Hf,'Fp,Fst,Ap,Ast',Fp,Fst,Ap,Ast); Hd4 = design(Hf,'equiripple','StopbandShape','linear',... 'StopbandDecay',53.333,'minphase',true,'systemobject',true); hfvt2 = fvtool(Hd3,Hd4,'Color','White'); legend(hfvt2,'Linear-phase equiripple design with linearly decaying stopband',... 'Minimum-phase equiripple design with linearly decaying stopband')

Другой подход к минимизации числа коэффициентов, который не включает в себя минимально фазовые конструкции, заключается в использовании многоступенчатых методов. Здесь мы показываем интерполированный подход FIR (IFIR).
Hd5 = ifir(Hf); hfvt3 = fvtool(Hd1,Hd5,'Color','White'); legend(hfvt3,'Linear-phase equirriple design',... 'Linear-phase IFIR design')

Число ненулевых коэффициентов, требуемых в случае IFIR, равно 111. Меньше, чем как равнодействующие линейно-фазовые, так и минимально-фазовые конструкции.