exponenta event banner

fircls

Конструкция многополосного фильтра FIR с наименьшими квадратами с ограничениями

Синтаксис

b = fircls(n,f,amp,up,lo)
fircls(n,f,amp,up,lo,'design_flag')

Описание

b = fircls(n,f,amp,up,lo) генерирует длину n+1 линейный фазовый КИХ-фильтр b. Частотно-амплитудные характеристики этого фильтра соответствуют характеристикам векторов f и amp:

  • f - вектор частот перехода в диапазоне от 0 до 1, где 1 соответствует частоте Найквиста. Первая точка f должно быть 0 и последняя точка 1. Частотные точки должны быть в возрастающем порядке.

  • amp - вектор, описывающий кусочно-постоянную требуемую амплитуду частотной характеристики. Длина amp равно числу полос в ответе и должно быть равно length(f)-1.

  • up и lo являются векторами с той же длиной, что и amp. Они определяют верхнюю и нижнюю границы частотной характеристики в каждой полосе.

fircls всегда использует четный порядок фильтров для конфигураций с полосой пропускания на частоте Найквиста (то есть фильтры верхних частот и полосы пропускания). Это потому, что для нечетных порядков частотная характеристика на частоте Найквиста обязательно равна 0. При указании нечетного значения n, fircls увеличивает его на 1.

fircls(n,f,amp,up,lo,'design_flag') позволяет контролировать конструкцию фильтра, где 'design_flag' может быть

  • 'trace', для текстового отображения ошибки конструкции на каждом шаге итерации.

  • 'plots'для набора графиков, показывающих отклик на величину полного диапазона фильтра и увеличенный вид отклика на величину в каждом поддиапазоне. Все графики обновляются на каждом шаге итерации. О 'ы на графике являются оценочными экстремалами новой итерации, а Х' - оценочными экстремалами предыдущей итерации, где экстремалами являются пики (максимум и минимум) пульсаций фильтра. Только пульсации, имеющие соответствующие O и X, делаются равными.

  • 'both', как для текстового отображения, так и для графиков.

Примечание

Как правило, меньшее значение в полосе останова указывается как отрицательное. По настройке lo равно 0 в пробках может быть получена неотрицательная амплитуда частотной характеристики. Такие фильтры могут быть спектрально факторизованы для получения минимальных фазовых фильтров.

Примеры

свернуть все

Спроектируйте фильтр нижних частот 150-го порядка с нормированной частотой отсечения 0,4δ рад/образец. Укажите максимальную абсолютную ошибку 0,02 в полосе пропускания и 0,01 в полосе останова. Отображение графиков областей данных.

n = 150;
f = [0 0.4 1];
a = [1 0];
up = [1.02 0.01];
lo = [0.98 -0.01];
b = fircls(n,f,a,up,lo,'both');
  Bound Violation = 0.0788344298966  
  Bound Violation = 0.0096137744998  
  Bound Violation = 0.0005681345753  
  Bound Violation = 0.0000051519942  
  Bound Violation = 0.0000000348656  

Figure contains 3 axes. Axes 1 contains 3 objects of type line. Axes 2 contains 3 objects of type line. Axes 3 contains 3 objects of type line.

  Bound Violation = 0.0000000006231  

В поле Связанные нарушения (Bound Violations) обозначаются итерации процедуры, когда конструкция сходится. Отображение амплитудной характеристики фильтра.

fvtool(b)

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.

Алгоритмы

fircls использует итеративный алгоритм наименьших квадратов для получения равномерного отклика. Алгоритм представляет собой алгоритм множественного обмена, который использует множители Лагранжа и условия Куна-Такера для каждой итерации.

Ссылки

[1] Селесник, И. В., М. Ланг и К. С. Буррус. «Ограниченная конструкция фильтров FIR с наименьшим квадратом без заданных переходных полос». Материалы Международной конференции по акустике, речи и обработке сигналов 1995 года. Т. 2, 1995, с. 1260-1263.

[2] Селесник, И. В., М. Ланг и К. С. Буррус. «Ограниченная конструкция фильтров FIR с наименьшим квадратом без заданных переходных полос». Транзакции IEEE ® при обработке сигналов. т. 44, № 8, 1996, с. 1879-1892.

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

.

См. также

| |

Представлен до R2006a