iirgrpdelay

Оптимальные БИХ фильтруют с предписанной групповой задержкой

Синтаксис

[num,den] = iirgrpdelay(n,f,edges,a)
[num,den] = iirgrpdelay(n,f,edges,a,w)
[num,den] = iirgrpdelay(n,f,edges,a,w,radius)
[num,den] = iirgrpdelay(n,f,edges,a,w,radius,p)
[num,den] = iirgrpdelay(n,f,edges,a,w,radius,p,dens)
[num,den] = iirgrpdelay(n,f,edges,a,w,radius,p,dens,initden)
[num,den] = iirgrpdelay(n,f,edges,a,w,radius,p,dens,initden,tau)
[num,den,tau] = iirgrpdelay(n,f,edges,a,w)

Описание

[num,den] = iirgrpdelay(n,f,edges,a) возвращает allpass БИХ-фильтр порядка n N должен быть четным), который является наилучшим приближением к относительному ответу групповой задержки, описанному f и a в наименьшем-количестве-pth смысла. f вектор частот между 0 и 1 и a задан в выборках. Векторный edges задает частоты ребра полосы для многополосных проектов. iirgrpdelay использует ограниченный алгоритм типа Ньютона. Всегда проверяйте свой получившийся фильтр с помощью grpdelay или freqz.

[num,den] = iirgrpdelay(n,f,edges,a,w) использует веса в w взвешивать ошибку. w имеет одну запись на точку частоты и должна быть та же длина как f и a). Записи в w скажите iirgrpdelay сколько акцента, чтобы поставить минимизацию ошибки около каждой заданной частоты указывают относительно других точек.

f и a должен иметь то же число элементов. f и a может содержать больше элементов, чем векторный edges содержит. Это позволяет вам использовать f и a задавать фильтр, который имеет любой контур групповой задержки в каждой полосе.

[num,den] = iirgrpdelay(n,f,edges,a,w,radius) возвращает фильтр, имеющий максимальный радиус полюса, равный radius, где 0 <radius<1. radius значения по умолчанию к 0,999999. Фильтры, радиус полюса которых вы ограничиваете, чтобы быть меньше 1.0, могут лучше сохранить точность передаточной функции после квантования.

[num,den] = iirgrpdelay(n,f,edges,a,w,radius,p), где p двухэлементный вектор [pmin pmax], позволяет вам определить минимальные и максимальные значения p используемый в наименьшем-количестве-pth алгоритма. p значения по умолчанию к [2 128], который дает к фильтрам, очень похожим на L-бесконечность, или Чебышева, норму. pmin и pmax должен быть четным. Если p 'inspect', никакая оптимизация не происходит. Вы можете использовать эту функцию, чтобы смотреть начальное размещение полюса/нуля.

[num,den] = iirgrpdelay(n,f,edges,a,w,radius,p,dens) задает плотность сетки dens используемый в процессе оптимизации. Количеством узлов решетки является (dens*(n+1)). Значение по умолчанию равняется 20. dens может быть задан как одноэлементный массив ячеек. Сетка не равномерно распределена.

[num,den] = iirgrpdelay(n,f,edges,a,w,radius,p,dens,initden) позволяет вам задавать первоначальную оценку коэффициентов знаменателя в векторном initden. Это может быть полезно для трудных задач оптимизации. Нулевой полюсом редактор в программном обеспечении Signal Processing Toolbox™ может использоваться в генерации initden.

[num,den] = iirgrpdelay(n,f,edges,a,w,radius,p,dens,initden,tau) позволяет первоначальной оценке смещения групповой задержки быть заданной значением tau, в выборках.

[num,den,tau] = iirgrpdelay(n,f,edges,a,w) возвращает получившееся смещение групповой задержки. Во всех случаях получившийся фильтр имеет групповую задержку, которая аппроксимирует [a + tau]. Фильтры Allpass могут иметь только положительную групповую задержку и ненулевое значение счетов tau на любую дополнительную групповую задержку, которая необходима, чтобы соответствовать форме контура, заданного (f,a). Значение по умолчанию для tau maxA).

Подсказка: Если кластер нулей или полюсов вместе, ваш порядок фильтра может быть слишком низким, или радиус полюса может слишком быть малым (чрезмерно ограничен). Попытайтесь увеличить n или radius.

Для эквализации групповой задержки БИХ-фильтра вычислите a путем вычитания групповой задержки фильтра из ее максимальной групповой задержки. Например,

[be,ae] = ellip(4,1,40,0.2);
f = 0:0.001:0.2;
g = grpdelay(be,ae,f,2);   % Equalize only the passband.
a = max(g)-g;
[num,den]=iirgrpdelay(8, f, [0 0.2], a);

Ссылки

Antoniou, A., цифровые фильтры: анализ, проект, и приложения, второй выпуск, McGraw-Hill, Inc. 1993.

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

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

| | | | |

Введенный в R2011a