impinvar

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

Описание

пример

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

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

Примеры

свернуть все

Преобразуйте аналог шестого порядка Баттерворт фильтр lowpass к цифровому фильтру с помощью импульсной инвариантности. Задайте частоту дискретизации 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-pkh(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') задает 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] Antoniou, Андреас. Цифровые фильтры. Нью-Йорк: McGraw-Hill, Inc., 1993.

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

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

| | | |

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