exponenta event banner

impzlength

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

Описание

пример

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

пример

len = impzlength(sos) возвращает эффективную длину импульсной характеристики для фильтра БИХ, заданного матрицей секций второго порядка, sos. sos является K-by-6 матрицей, где число сечений, K, должно быть больше или равно 2. Если количество сечений меньше 2, impzlength считает входной сигнал числительным вектором, b. Каждая строка sos соответствует коэффициентам фильтра второго порядка (биквад). I-й ряд 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 IIR с полюсом 0,9. Вычислите эффективную длину импульсной характеристики. Получение импульсной характеристики. Постройте график результата.

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

Figure contains an axes. The axes contains an object of type stem.

h(len)
ans = 6.1704e-05

Спроектируйте низкочастотный эллиптический фильтр 4-го порядка с частотой отсечения 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-го порядка с нормированной частотой полосы пропускания 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)

Figure Filter Visualization Tool - Impulse Response contains an axes and other objects of type uitoolbar, uimenu. The axes with title Impulse Response contains an object of type stem.

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

свернуть все

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

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

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

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

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

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

Hk (z) = Bk (1) + Bk (2) z 1 + Bk (3) z 2Ak (1) + Ak (2) z − 1 + Ak (3) z − 2.

Коэффициенты в K-ой строке матрицы, 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-dB 0.5δ рад/выборка.

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

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

свернуть все

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

Алгоритмы

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

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

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

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

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

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

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

Расширенные возможности

.

См. также

| | |

Представлен в R2013a