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(___) без выходных аргументов строит импульсную характеристику фильтра.

Примеры

свернуть все

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

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

Figure contains an axes object. The axes object 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 object and other objects of type uitoolbar, uimenu. The axes object with title Impulse Response contains an object of type stem.

Спроектируйте КИХ highpass фильтр порядка 18 с помощью окна Кайзера с β=4. Задайте частоту дискретизации 100 Гц и частоту среза 30 Гц. Отобразите импульсную характеристику фильтра.

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

Figure contains an axes object. The axes object 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 object and other objects of type uitoolbar, uimenu. The axes object with title Impulse Response contains an object of type stem.

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

свернуть все

Коэффициенты передаточной функции в виде векторов. Опишите передаточную функцию в терминах b и a как

H(ejω)=B(ejω)A(ejω)=b (1)+b (2)ejω+b (3)ej2ω++b (M)ej(M1)ω(1)+(2)ejω+(3)ej2ω++(N)ej(N1)ω.

Пример: 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 соответствует коэффициентам второго порядка (biquad) фильтр. i th строка 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] задает третий порядок Фильтр Баттерворта с нормированной частотой на 3 дБ 0.5π рад/отсчет.

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

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

Пример: d = designfilt('lowpassiir','FilterOrder',3,'HalfPowerFrequency',0.5) задает третий порядок Фильтр Баттерворта с нормированной частотой на 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 также допускает задержки полинома числителя. Количество задержек включено в расчет количества отсчетов.

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

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

| | (Control System Toolbox) | |

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