Наименьшее количество 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
, используемого в наименьшем-количестве-pth алгоритма. Значением по умолчанию является [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(...)
возвращает наименьшее-количество-pth ошибки приближения err
.
Saramaki, T, конечный импульсный проект фильтра ответа, руководство для цифрового сигнала ProcessingMitra, S.K. и J.F. Wiley-межнаука редакторов кайзера, Нью-Йорк, 1993, глава 4.
filter
| firgr
| freqz
| fvtool
| iirgrpdelay
| iirlpnorm
| iirlpnormc
| zplane