Проектирование цифрового БИХ-фильтра в Scilab

Нет ничего проще получения коэффициентов цифрового БИХ-фильтра в математической программе Scilab. Для этого существует функция iir().

Синтаксис функции:
[hz]=iir(n,ftype,fdesign,frq,delta)

Функция возвращает передаточную функцию фильтра.

Аргументы:

  • n — порядок фильтра, целое положительное число;
  • ftype — строка, задающая тип фильтра, возможные значения:
    • ‘lp’ — ФНЧ (фильтр нижних частота);
    • ‘hp’ — ФВЧ (фильтр верхних частот);
    • ‘bp’ — ПФ (полосовой фильтр);
    • ‘sb’ — ЗФ (заграждающий фильтр);
  • fdesign — строка, задающая вид фильтра, возможные значения:
    • ‘butt’ — фильтр Баттерворта;
    • ‘cheb1’ — фильтр Чебышева первого рода;
    • ‘cheb2’ — фильтр Чебышева второго рода;
    • ‘ellip’ — эллиптический фильтр;
  • frq — двойной вектор [frq1 frq2], задающий дискретные часто´ты среза. Значение частоты должно лежать в диапазоне (0; 0.5]. Дискретная частота среза равна отношению частоты среза к частоте дискретизации. Для расчета ФНЧ и ФВЧ используется только параметр frq1. При расчете ПФ и ЗФ, параметр frq1 задет нижнюю частоту среза, а frq2 — верхнюю.
  • delta — двойной вектор  [delta1 delta2], задающий значения ошибок для фильтра Чебышева и эллиптического фильтра. delta1 используется в случае фильтра Чебышева первого рода. delta2 — в случае фильтра Чебышева второго рода. Оба значения — в случае эллиптического фильтра. Значение ошибки должно лежать в диапазоне (0; 1). Пульсации:
    • Для фильтра Чебышева первого рода в полосе пропускания: (1 − delta1) < Пульсации < 1;
    • Для фильтра Чебышева второго рода в полосе подавления: 0 < Пульсации < delta2;
    • Для эллиптического фильтра в полосе пропускания:
      (1 − delta1) < Пульсации < 1;
      в полосе подавления:
      0 < Пульсации < delta2.

Пример проектирования ФНЧ Баттерворта:

Fd = 4000; // Частота дискретизации, Гц
Fc = 500;  // Частота среза, Гц
n = 1;     // Порядок фильтра

[hz] = iir(n,'lp','butt',[Fc/Fd],[])

В результате получаем передаточную функцию:

hz =

0.2928932 + 0.2928932z
----------------------
- 0.4142136 + z
Реклама