exponenta event banner

impinvar

Метод импульсной инвариантности для аналого-цифрового преобразования фильтров

Описание

пример

[bz,az] = impinvar(b,a,fs) создает цифровой фильтр с числителем и коэффициентами знаменателя bz и az, соответственно, чья импульсная характеристика равна импульсной характеристике аналогового фильтра с коэффициентами b и a, масштабировано на 1/fs, где fs - частота выборки.

[bz,az] = impinvar(b,a,fs,tol) использует допуск, указанный tol чтобы определить, повторяются ли полюса.

Примеры

свернуть все

Преобразование аналогового фильтра нижних частот Баттерворта шестого порядка в цифровой фильтр с использованием импульсной инвариантности. Укажите частоту дискретизации 10 Гц и частоту отсечки 2 Гц. Отображение частотной характеристики фильтра.

f = 2;
fs = 10;

[b,a] = butter(6,2*pi*f,'s');
[bz,az] = impinvar(b,a,fs);

freqz(bz,az,1024,fs)

Figure contains 2 axes. Axes 1 contains an object of type line. Axes 2 contains an object of type line.

Преобразование аналогового эллиптического фильтра третьего порядка в цифровой фильтр с использованием импульсной инвариантности. Укажите частоту дискретизации fs = 10 Гц, граничную частоту полосы пропускания 2,5 Гц, пульсацию полосы пропускания 1 дБ и затухание полосы останова 60 дБ. Отображение импульсной характеристики цифрового фильтра.

fs = 10;

[b,a] = ellip(3,1,60,2*pi*2.5,'s');
[bz,az] = impinvar(b,a,fs);

impz(bz,az,[],fs)

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

Выведите импульсную характеристику аналогового фильтра, обнаружив остатки, rk и полюса, pk, передаточной функции и инвертировав преобразование Лапласа явным образом с помощью

H (s) =∑krks-pk⟺h (t) =∑krkepkt.

Наложение импульсной характеристики аналогового фильтра. Импульсная инвариантность вносит коэффициент усиления 1/fs в цифровой фильтр. Умножьте аналоговую импульсную характеристику на этот коэффициент усиления для обеспечения возможности значимого сравнения.

[r,p] = residue(b,a);
t = linspace(0,4,1000);
h = real(r.'*exp(p.*t)/fs);

hold on
plot(t,h)
hold off

Figure contains an axes. The axes with title Impulse Response contains 2 objects of type stem, line.

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

свернуть все

Коэффициенты передаточной функции аналогового фильтра, указанные как векторы.

Пример: [b,a] = butter(6,2*pi*10,'s') задает фильтр Butterworth 6-го порядка с частотой отсечки 10 Гц.

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

Частота выборки, заданная как положительный скаляр.

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

Допуск, заданный как положительный скаляр. Допуск определяет, повторяются ли полюса. Больший допуск увеличивает вероятность того, что impinvar интерпретирует близко расположенные полюса как множители (повторяющиеся). Допуск по умолчанию соответствует 0,1% величины полюса. Точность значений полюсов все еще ограничена точностью, получаемой посредством roots функция.

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

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

свернуть все

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

Алгоритмы

impinvar выполняет импульсно-инвариантный способ преобразования аналого-цифровой передаточной функции, рассмотренный в [2]:

  1. Он находит частичное дробное расширение системы, представленной b и a.

  2. Он заменяет полюса p полюсами exp(p/fs).

  3. Он находит коэффициенты передаточной функции системы из остатков от шага 1 и полюсов от шага 2.

Ссылки

[1] Антониу, Андреас. Цифровые фильтры. Нью-Йорк: McGraw-Hill, Inc., 1993.

[2] Парки, Томас В. и К. Сидни Беррус. Проектирование цифрового фильтра. Нью-Йорк: John Wiley & Sons, 1987.

См. также

| | | |

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