Фильтр с ограниченной полосой конечной импульсной характеристики 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 | Количество вычислений функции для оптимизации |