exponenta event banner

impz

Импульсная характеристика цифрового фильтра

Описание

пример

[h,t] = impz(b,a) возвращает импульсную характеристику цифрового фильтра с числительными коэффициентами b и коэффициенты знаменателя a. Функция выбирает количество выборок и возвращает коэффициенты отклика в h и время выборки в t.

[h,t] = impz(sos) возвращает импульсную характеристику фильтра, заданную матрицей сечений второго порядка sos.

пример

[h,t] = impz(d) возвращает импульсную характеристику цифрового фильтра d. Использовать designfilt произвести d на основе характеристик частотно-отклика.

пример

[h,t] = impz(___,n) указывает, какие выборки импульсной характеристики следует вычислить. Фильтр можно указать с помощью любого из предыдущих синтаксисов.

пример

[h,t] = impz(___,n,fs) возвращает вектор t с последовательными выборками, разнесенными 1/fs блоки на расстоянии друг от друга.

пример

impz(___) без выходных аргументов строит график импульсной характеристики фильтра.

Примеры

свернуть все

Сконструировать эллиптический фильтр нижних частот четвертого порядка с нормированной частотой полосы пропускания 0,4 рад/образец. Задайте пульсацию полосы пропускания 0,5 дБ и затухание полосы останова 20 дБ. Постройте график первых 50 выборок импульсной характеристики.

[b,a] = ellip(4,0.5,20,0.4);
impz(b,a,50)

Figure contains an axes. The axes with title Impulse Response contains an object of type stem.

Спроектируйте один и тот же фильтр с помощью designfilt. Постройте график первых 50 образцов его импульсной характеристики.

d = designfilt('lowpassiir','DesignMethod','ellip','FilterOrder',4, ...
               'PassbandFrequency',0.4, ...
               'PassbandRipple',0.5,'StopbandAttenuation',20);
impz(d,50)

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.

Сконструировать фильтр верхних частот FIR порядка 18 с использованием окна Кайзера с β = 4. Укажите частоту дискретизации 100 Гц и частоту отсечки 30 Гц. Отображение импульсной характеристики фильтра.

b = fir1(18,30/(100/2),'high',kaiser(19,4));
impz(b,1,[],100)

Figure contains an axes. The axes with title Impulse Response contains an object of type stem.

Спроектируйте один и тот же фильтр с помощью designfilt и постройте график его импульсной характеристики.

d = designfilt('highpassfir','FilterOrder',18,'SampleRate',100, ...
               'CutoffFrequency',30,'Window',{'kaiser',4});
impz(d,[],100)

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.

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

свернуть все

Коэффициенты передаточной функции, указанные как векторы. Выразить передаточную функцию с точки зрения b и a как

H (ejω) =B (ejω) (ejω) =b (1) +b (2) e−jω + b (3) e−j2ω + + b (M) e−j (M−1) ωa (1) +a (2) e−jω + (3) e−j2ω + ⋯ + (N) e−j (N−1) ω.

Пример: b = [1 3 3 1]/6 и a = [3 0 1 0]/3 укажите фильтр Баттерворта третьего порядка с нормированной частотой 3 дБ 0,5δ рад/выборка.

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

Коэффициенты сечения второго порядка, заданные как матрица. sos является K-by-6 матрицей, где число сечений, K, должно быть больше или равно 2. Если число сечений меньше 2, функция обрабатывает входные данные как числительный вектор. Каждая строка sos соответствует коэффициентам фильтра второго порядка (биквад). I-й ряд sos соответствует [bi(1) bi(2) bi(3) ai(1) ai(2) ai(3)].

Пример: s = [2 4 2 6 0 2;3 3 0 6 0 0] задает фильтр Butterworth третьего порядка с нормализованной частотой 3 дБ 0,5δ рад/выборка.

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

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

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

Число образцов, указанное как положительное целое число, вектор неотрицательных целых чисел или пустой вектор.

  • Если n - положительное целое число, impz вычисляет первый n выборки импульсной характеристики и возвращений t как (0:n-1)'.

  • Если n - вектор неотрицательных целых чисел, impz вычисляет импульсную характеристику в местоположениях, указанных в векторе.

  • Если n - пустой вектор, impz автоматически вычисляет количество выборок. Дополнительные сведения см. в разделе Алгоритмы.

Пример: impz([2 4 2 6 0 2;3 3 0 6 0 0],5) вычисляет первые пять выборок импульсной характеристики фильтра Баттерворта.

Пример: impz([2 4 2 6 0 2;3 3 0 6 0 0],[0 3 2 1 4 5]) вычисляет первые шесть выборок импульсной характеристики фильтра Баттерворта.

Пример: impz([2 4 2 6 0 2;3 3 0 6 0 0],[],5e3) вычисляет импульсную характеристику фильтра Баттерворта, предназначенного для фильтрации сигналов, дискретизированных на частоте 5 кГц.

Частота выборки, заданная как положительный скаляр. Если единица времени - секунды, fs выражается в герцах.

Типы данных: double

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

свернуть все

Коэффициенты импульсной характеристики, возвращаемые в виде вектора столбца.

Время выборки, возвращаемое в виде вектора столбца.

Алгоритмы

impz фильтрует длину -n импульсная последовательность с использованием

filter(b,a,[1 zeros(1,n-1)])

и строит график результата с помощью stem.

Примечание

Если вход в impz - единичная точность, функция вычисляет импульсную характеристику, используя арифметику с одной точностью, и возвращает выходной сигнал с одной точностью.

Когда impz вычисляет n автоматически алгоритм зависит от свойств фильтра:

  • Фильтры КИХ - n - длина b.

  • Фильтры БИХ - impz сначала находит полюса передаточной функции с помощью roots.

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

    • Если фильтр стабилен, n выбирается в качестве точки, в которой член от полюса наибольшей амплитуды в 5 × 10-5 раз превышает его исходную амплитуду.

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

    • Если фильтр имеет как колебательные, так и демпфированные условия, n - это больший из пяти периодов самого медленного колебания, или точка, в которой член, обусловленный наибольшим полюсом, в 5 × 10-5 раз превышает его исходную амплитуду.

impz также допускает задержки в многочлене числителя. Количество задержек включается в расчет количества выборок.

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

.

См. также

| | | | (Панель инструментов системы управления)

Представлен до R2006a