Фильтр с ограниченной полосой конечной импульсной характеристики equiripple
b = fircband(n,f,a,w,c)
b = fircband(n,f,a,s)
b = fircband(...,'1')
b = fircband(...,'minphase')
b = fircband(..., 'check')
b = fircband(...,{lgrid})
[b,err] = fircband(...)
[b,err,res] = fircband(...)
fircband
является алгоритмом минимаксного создания фильтра, который вы используете для разработки следующих типов фильтров real конечной импульсной характеристики:
Типы 1-4 линейной фазы
Тип 1 четный порядок, симметричный
Тип 2 нечетный порядок, симметричный
Тип 3 ровный порядок, антисимметричный
Тип 4 нечетный порядок, антисимметричный
Минимальная фаза
Максимальная фаза
Минимальный порядок (четный или нечетный), дополнительная рябь
Максимальная пульсация
Ограниченная рябь
Одноточечная полоса (надрез и пик)
Принудительный коэффициент усиления
Произвольные фильтры кривой частотной характеристики формы
b = fircband(n,f,a,w,c)
проектирует фильтры, имеющие ограниченные величины ошибок (рябь). c
- массив ячеек из векторов символов той же длины, что и w
. Записи c
должно быть либо 'c'
чтобы указать, что соответствующий элемент в w
является ограничением (пульсация для этой полосы не может превысить это значение) или 'w'
указывает, что соответствующая запись в w
является весом. Должна быть хотя бы одна без ограничений полоса - c
должен содержать по крайней мере один w
запись. Например, в примере 'Design a Constrained Lowpass Filter' используется вес, равный единице в полосе пропускания, и ограничивает пульсацию запрещающей полосы не более 0,2 (приблизительно 14 дБ).
Подсказка об использовании ограниченных значений: если ваш фильтр с ограничениями не касается ограничений, увеличьте взвешивание ошибок, которое вы применяете к неограниченным полосам.
Заметьте, что, когда вы работаете с ограниченными полосами упора, вы вводите ограничение области упора в соответствии со стандартной формулой преобразования для степени - полученное ослабление или ограничение фильтра равняется 20 * логарифмическому ограничению (ограничению), где ограничение является значением, которое вы вводите в функцию. Для примера, чтобы задать 20 дБ ослабления, используйте значение для ограничения, равное 0,1. Это относится только к ограниченным полосам остановки.
b = fircband(n,f,a,s)
используется для разработки фильтров со специальными свойствами в определенных частотных точках. s
является массивом ячеек из векторов символов и должна быть такой же длины, как и f
и a
. Записи s
должен быть одним из:
'
n
'
- нормальная частотная точка.
'
s
'
- одноточечная полоса. Частотная полоса задается одной точкой. Необходимо задать соответствующий коэффициент усиления в этой частотной точке в a
.
'
f
'
- принудительная частотная точка. Заставляет коэффициент усиления в заданной полосе частот быть заданным значением.
'
i
'
- неопределенная частотная точка. Используйте этот аргумент, когда полосы данных упираются друг в друга (без переходной области).
b = fircband(...,'1')
проектирует фильтр типа 1 (симметричный четного порядка). Можно также задать тип 2 (симметричный нечетный порядок), тип 3 (антисимметричный четный порядок) или тип 4 (антисимметричный нечетный порядок) фильтры. Обратите внимание, что существуют ограничения на a
при f
= 0 или f
= 1 для типов 2, 3 и 4.
b = fircband(...,'minphase')
проектирует фильтр с минимальной конечной импульсной характеристики фазой. Существует также 'maxphase
'.
b = fircband(..., 'check')
выдает предупреждение, когда в отклике фильтра имеются потенциальные аномалии переходной области.
b = fircband(...,{lgrid})
, где {lgrid
} является скалярным массивом ячеек, содержащим целое число, управляет плотностью частотной сетки.
[b,err] = fircband(...)
возвращает невзвешенные величины ошибки приближения. err
имеет один элемент для каждой независимой ошибки приближения.
[b,err,res] = fircband(...)
возвращает структуру res
необязательных результатов, вычисленных fircband
, и содержит следующие поля:
Структурное поле | Содержание |
---|---|
res.fgrid | Вектор, содержащий частотную сетку, используемую в создании фильтра |
res.des | Желаемый ответ на |
res.wt | Веса на |
res.h | Фактическая частотная характеристика на частотной сетке |
res.error | Ошибка в каждой точке (желаемая характеристика - фактическая характеристика) на частотной сетке |
res.iextr | Вектор индексов в |
res.fextr | Вектор экстремальных частот |
res.order | Порядок фильтрации |
res.edgecheck | Проверка аномалии переходной области. Один элемент на ребро полосы. Значения элемента имеют следующие значения: 1 = OK, 0 = вероятная аномалия переходной области, -1 = ребро не проверен. Вычисляется, когда вы задаете |
res.iterations | Количество итераций Ремеза для оптимизации |
res.evals | Количество вычислений функции для оптимизации |