iirlpnorm

БИХ наименьшей P-нормы

Синтаксис

[num,den] = iirlpnorm(n,d,f,edges,a)
[num,den] = iirlpnorm(n,d,f,edges,a,w)
[num,den] = iirlpnorm(n,d,f,edges,a,w,p)
[num,den] = iirlpnorm(n,d,f,edges,a,w,p,dens)
[num,den] = iirlpnorm(n,d,f,edges,a,w,p,dens,initnum,initden)
[num,den,err] = iirlpnorm(...)
[num,den,err,sos,g] = iirlpnorm(...)

Описание

[num,den] = iirlpnorm(n,d,f,edges,a) возвращает фильтр, имеющий порядок числителя n и порядок знаменателя d который является наилучшим приближением к желаемой частотной характеристике, описанной f и a в наименьшем смысле. Векторная edges задает диапазонные частоты для многодиапазонных проектов. Используется алгоритм квази-Ньютона без ограничений, и все полюсы или нули, которые находятся вне модуля круга, отражаются назад внутри. n и d следует выбирать так, чтобы нули и полюса использовались эффективно. См. раздел «Подсказки». Всегда используйте freqz для проверки получившегося фильтра.

[num,den] = iirlpnorm(n,d,f,edges,a,w) использует веса в w для взвешивания ошибки. w имеет один вход на частотную точку (ту же длину, что и f и a) что говорит iirlpnorm сколько акцента делать на минимизации ошибки в окрестности каждой частотной точки относительно других точек. f и a должны иметь одинаковое количество элементов, которые могут превышать количество элементов в edges. Это позволяет задавать фильтры, имеющие любой контур усиления в каждой полосе. Частоты, указанные в edges должно также находиться в векторе f. Для примера,

[num,den] = iirlpnorm(5,12,[0 .15 .4 .5 1],[0 .4 .5 1],... 
[1 1.6 1 0 0],[1 1 1 10 10])

- lowpass с пиком 1,6 внутри полосы пропускания.

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

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

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

[num,den,err] = iirlpnorm(...) возвращает методом наименьших значений - pth ошибка приближения, err.

[num,den,err,sos,g] = iirlpnorm(...) возвращает представление секции второго порядка в матрице sos и коэффициент усиления g. По численным причинам может быть выгодно использовать sos и g в некоторых случаях.

Примеры

Оптимальный метод наименьшего БИХ Создания фильтра

Проектирование Lowpass фильтра с пиком 4,015 дБ в Passband

[num,den] = iirlpnorm(5,12,[0 .15 .4 .5 1],[0 .4 .5 1],... 
[1 1.6 1 0 0],[1 1 1 10 10])
num = 1×6

    0.0028    0.0036    0.0018    0.0005    0.0001    0.0000

den = 1×13

    1.0000   -6.6498   22.6915  -51.5423   85.9098 -109.9888  110.4802  -87.5412   54.2750  -25.7000    8.8451   -1.9963    0.2255

Отобразите величину ответ в fvtool

fvtool(num,den)

Figure Filter Visualization Tool - Magnitude Response (dB) contains an axes and other objects of type uitoolbar, uimenu. The axes with title Magnitude Response (dB) contains an object of type line.

Намеки

  • Это взвешенный наименьший - pth оптимизация.

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

  • Точно так же, если несколько полюсов имеют большие радиусы, и нули находятся хорошо внутри единичного круга, попробуйте увеличить порядок знаменателя или уменьшить взвешивание ошибки в полосе пропускания.

Ссылки

Antoniou, A., Цифровые Фильтры: Analysis, Design, and Applications, Second Edition, McGraw-Hill, Inc. 1993.

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

.

См. также

| | | |

Введенный в R2011a
Для просмотра документации необходимо авторизоваться на сайте