impzlength

Длина импульсной характеристики

Описание

пример

len = impzlength(b,a) возвращает длину импульсной характеристики для причинного фильтра дискретного времени с рациональной системной функцией, заданной числителем, b, и знаменатель, a, полиномы в z –1. Для устойчивых БИХ-фильтров, len эффективная длина последовательности импульсной характеристики. Условия в БИХ-импульсной характеристике фильтра после len- термин th является по существу нулем.

пример

len = impzlength(sos) возвращает эффективную длину импульсной характеристики для БИХ-фильтра, заданного матрицей разделов второго порядка, sos. sos K-by-6 матрица, где количество разделов, K, должно быть больше или быть равно 2. Если количество разделов меньше 2, impzlength полагает, что вход вектор числителя, b. Каждая строка sos соответствует коэффициентам второго порядка (biquad) фильтр. i th строка sos матрица соответствует [bi(1) bi(2) bi(3) ai(1) ai(2) ai(3)].

пример

len = impzlength(d) возвращает длину импульсной характеристики для цифрового фильтра, dИспользование designfilt сгенерировать d на основе технических требований частотной характеристики.

len = impzlength(___,tol) задает допуск к оценке эффективной длины БИХ-импульсной характеристики фильтра. По умолчанию, tol 5e-5. Увеличение значения tol оценивает более короткую эффективную длину для БИХ-импульсной характеристики фильтра. Уменьшение значения tol производит более долгую эффективную длину для БИХ-импульсной характеристики фильтра.

Примеры

свернуть все

Создайте lowpass allpole БИХ-фильтр с полюсом в 0,9. Вычислите эффективную длину импульсной характеристики. Получите импульсную характеристику. Постройте результат.

b = 1;
a = [1 -0.9];
len = impzlength(b,a)
len = 93
[h,t] = impz(b,a);
stem(t,h)

h(len)
ans = 6.1704e-05

Спроектируйте 4-й порядок lowpass эллиптический фильтр с частотой среза 0.4π рад/выборка. Задайте 1 дБ неравномерности в полосе пропускания и 60 дБ затухания в полосе задерживания. Спроектируйте фильтр в нулевом усилении полюса, формируют и получают матрицу секции второго порядка использование zp2sos. Определите эффективную длину последовательности импульсной характеристики из матрицы секции второго порядка.

[z,p,k] = ellip(4,1,60,.4);
[sos,g] = zp2sos(z,p,k);
len = impzlength(sos)
len = 80

Используйте designfilt спроектировать 4-й порядок lowpass эллиптический фильтр с нормированной частотой полосы пропускания 0.4π рад/выборка. Задайте 1 дБ неравномерности в полосе пропускания и 60 дБ затухания в полосе задерживания. Определите эффективную длину последовательности импульсной характеристики и визуализируйте ее.

d = designfilt('lowpassiir','FilterOrder',4,'PassbandFrequency',0.4, ...
               'PassbandRipple',1,'StopbandAttenuation',60, ...
               'DesignMethod','ellip');
len = impzlength(d)
len = 80
impz(d)

Входные параметры

свернуть все

Коэффициенты числителя в виде скаляра (allpole фильтр) или вектор.

Пример: b = fir1(20,0.25)

Типы данных: single | double
Поддержка комплексного числа: Да

Коэффициенты знаменателя в виде скаляра (КИХ-фильтр) или вектор.

Типы данных: single | double
Поддержка комплексного числа: Да

Матрица второго порядка разделяет в виде K-by-6 матрицу. Системная функция K-th biquad фильтр имеет рациональное Z-преобразование

Hk(z)=Bk(1)+Bk(2)z1+Bk(3)z2Ak(1)+Ak(2)z1+Ak(3)z2.

Коэффициенты в K th строка матрицы, sos, упорядочены можно следующим образом.

[Bk(1)Bk(2)Bk(3)Ak(1)Ak(2)Ak(3)]

Частотная характеристика фильтра является системной функцией, оцененной на модульном круге с

z=ej2πf.

Цифровой фильтр в виде digitalFilter объект. Использование designfilt сгенерировать цифровой фильтр на основе технических требований частотной характеристики.

Пример: d = designfilt('lowpassiir','FilterOrder',3,'HalfPowerFrequency',0.5) задает третий порядок Фильтр Баттерворта с нормированной частотой на 3 дБ 0.5π рад/выборка.

Допуск к БИХ фильтрует эффективную длину импульсной характеристики в виде положительного числа. Допуск определяет термин в абсолютно суммируемой последовательности, после которой последующие условия считаются 0. Допуском по умолчанию является 5e-5. Увеличение допуска возвращает более короткую эффективную длину последовательности импульсной характеристики. Уменьшение допуска возвращает более долгую эффективную длину последовательности импульсной характеристики.

Выходные аргументы

свернуть все

Длина импульсной характеристики в виде положительного целого числа. Поскольку устойчивый БИХ фильтрует с абсолютно суммируемыми импульсными характеристиками, impzlength возвращает эффективную длину для импульсной характеристики, вне которой коэффициенты являются по существу нулем. Можно управлять этим пределом путем определения дополнительного tol входной параметр.

Алгоритмы

Вычислить импульсную характеристику для КИХ-фильтра, impzlength использует длину b. Для БИХ-фильтров функция сначала находит полюса использования передаточной функции roots.

Если фильтр нестабилен, длина расширяет к точке, в которой термин от самого большого полюса достигает 106 раз своего исходного значения.

Если фильтр устойчив, длина расширяет к точке, в которой термином от само-амплитудного полюса является tol времена его исходная амплитуда.

Если фильтр является колебательным, с полюсами на модульном круге только, то impzlength вычисляет пять периодов самого медленного колебания.

Если фильтр имеет и колебательные и ослабленные условия, длина расширяет к большим из этих значений:

  • Пять периодов самого медленного колебания.

  • Точка, в которой термином из-за самого большого полюса является tol времена его исходная амплитуда.

Смотрите также

| | |

Введенный в R2013a