Оптимальная конечная импульсная характеристика фильтр наименьшей P-нормы
b = firlpnorm(n,f,edges,a)
b = firlpnorm(n,f,edges,a,w)
b = firlpnorm(n,f,edges,a,w,p)
b = firlpnorm(n,f,edges,a,w,p,dens)
b = firlpnorm(n,f,edges,a,w,p,dens,initnum)
b = firlpnorm(...,'minphase')
[b,err] = firlpnorm(...)
b = firlpnorm(n,f,edges,a) возвращает фильтр порядка числителя n который представляет лучшее приближение к частотной характеристике, описанной f и a в смысле наименьшей Pth нормы. По умолчанию P устанавливается на 128, что по существу эквивалентно норме по бесконечности. Векторные edges задает частоты края полосы для многодиапазонных проектов. firlpnorm использует алгоритм квази-Ньютона без ограничений, чтобы спроектировать указанный фильтр.
f и a должны иметь одинаковое количество элементов, что может превысить количество элементов в edges. Это позволяет вам задать фильтры с любым контуром усиления в каждой полосе. Однако частоты в edges должен быть также в векторе f. Всегда используйте freqz для проверки получившегося фильтра.
Примечание
firlpnorm использует нелинейную стандартную программу оптимизации, которая может не сходиться в некоторых случаях создания фильтра. Кроме того, алгоритм не хорошо подходит для некоторых созданий фильтра большого порядка (порядок > 100).
b = firlpnorm(n,f,edges,a,w) использует веса в w для взвешивания ошибки. w имеет один вход на частотную точку (ту же длину, что и f и a) что говорит firlpnorm сколько акцента делать на минимизации ошибки в окрестности каждой частотной точки относительно других точек. Для примера,
b = firlpnorm(20,[0 .15 .4 .5 1],[0 .4 .5 1],... [1 1.6 1 0 0],[1 1 1 10 10])
проектирует lowpass с пиком 1,6 внутри полосы пропускания и с акцентом на минимизацию ошибки в полосе остановки.
b = firlpnorm(n,f,edges,a,w,p) где p является двухэлементным вектором [pmin pmax] позволяет вам задать минимальное и максимальное значения p используется в алгоритме наименьших чисел. По умолчанию это [2 128] который по существу приводит к L-бесконечности, или чебышевской, норме. pmin и pmax должны быть четные числа. Алгоритм проекта начинает оптимизировать фильтр с pmin и движется к оптимальному фильтру в pmax смысл. Когда p установлено на 'inspect', firlpnorm не оптимизирует полученный фильтр. Можно использовать эту функцию для проверки начального нулевого размещения.
b = firlpnorm(n,f,edges,a,w,p,dens) задает плотность сетки dens используется в оптимизации. Количество точек сетки [dens*(n+1)]. Значение по умолчанию является 20. Можно задать dens как одноэлементный массив ячеек. Сетка разделена равными интервалами.
b = firlpnorm(n,f,edges,a,w,p,dens,initnum) позволяет вам определить начальную оценку коэффициентов числителя фильтра в векторе initnum. Это может оказаться полезным для сложных задач оптимизации. Редактор нули полюсов в Signal Processing Toolbox™ программном обеспечении может использоваться для генерации initnum.
b = firlpnorm(...,'minphase') где 'minphase'- последний аргумент в списке аргументов, генерирующий фильтр КИХ минимальной фазы. По умолчанию firlpnorm проект фильтров смешанной фазы. Задание опции входа 'minphase'причины firlpnorm использовать другой метод оптимизации для разработки минимально-фазового фильтра. В результате различной используемой оптимизации фильтр с минимальной фазой может дать несколько другие результаты.
[b,err] = firlpnorm(...) возвращает ошибку приближения методом наименьшего числа err.
Saramaki, T, Finite Impulse Response Filter Design, Handbook for Digital Signal ProcessingMitra, S.K. and J.F. Kaiser Eds. Wiley-Interscience, N.Y., 1993, глава 4.
filter | firgr | freqz | fvtool | iirgrpdelay | iirlpnorm | iirlpnormc | zplane