Функция расчета фазо-частотной характеристики (ФЧХ) цифрового фильтра.
phasez(num, respsize, resparr). phasez(num, den, respsize, resparr).
Имя | Тип данных | Описание |
---|---|---|
num | array | Массив коэффициентов числителя фильтра |
den | array | Массив коэффициентов знаменателя фильтра |
respsize | integer | Размер массива значений ФЧХ, задается в промежутке от 1 до 16384 |
resparr | array | Выходной массив значений ФЧХ фильтра |
phasez(num, respsize, resparr) – функция расcчитывает значения фазо-частотной характеристики для фильтра в классе КИХ цепей на основе коэффициентов числителя;
phasez(num, den, respsize, resparr) – функция раcсчитывает значения фазо-частотной характеристики для фильтра в классе БИХ цепей на основе коэффициентов числителя и знаменателя;
Алгоритм расчета состоит из следующих ключевых операций:
Подробное описание ФЧХ представлено в [1].
Имя | Тип данных | Описание |
---|---|---|
resparr | array | Массив значений ФЧХ фильтра |
var Order: integer, // Порядок фильтра Type: string, // Тип фильтра Cutoff: double, // Частота среза фильтра RespSize: double, // Размер массива значений ФЧХ Num: Array = 10#0, // Числитель Den: Array = 10#0; // Знаменатель output RespArr: Array = 10#0;// Результирующий массив значений ФЧХ Order = 9; Cutoff = 0.3; Type = "low"; RespSize = 10; butter(Num, Den, Order, Cutoff, Type); phasez(Num, Den, RespSize, RespArr);
В результате в массивах Num и Den будут записаны коэффициенты числителя и знаменателя цифрового НЧ-фильтра Баттерворта 9-го порядка с нормированной частотой среза 0.3, которые будут использованы для расчёта ФЧХ, значения которой в свою очередь будут записаны в массив RespArr
Результат выполнения функции:
RespArr = [0 -1.81046364837093 -3.88125523114993 -7.06556034839894 -9.80142690239574 -11.1028297274799 -11.9684331221512 -12.6290941263031 -13.1797114612474 -13.6710371156278];