exponenta event banner

fircls1

Конструкция фильтра нижних и верхних частот КИХ линейной фазы с ограничением по наименьшим квадратам

Синтаксис

b = fircls1(n,wo,dp,ds)
b = fircls1(n,wo,dp,ds,'high')
b = fircls1(n,wo,dp,ds,wt)
b = fircls1(n,wo,dp,ds,wt,'high')
b = fircls1(n,wo,dp,ds,wp,ws,k)
b = fircls1(n,wo,dp,ds,wp,ws,k,'high')
b = fircls1(n,wo,dp,ds,...,'design_flag')

Описание

b = fircls1(n,wo,dp,ds) генерирует фильтр FIR нижних частот b, где n+1 - длина фильтра, wo - нормированная частота отсечки в диапазоне от 0 до 1 (где 1 соответствует частоте Найквиста), dp - максимальное отклонение полосы пропускания от 1 (пульсация полосы пропускания), и ds - максимальное отклонение полосы останова от 0 (пульсация полосы останова).

b = fircls1(n,wo,dp,ds,'high') генерирует фильтр FIR верхних частот b. fircls1 всегда использует четный порядок фильтрации для конфигурации верхних частот. Это потому, что для нечетных порядков частотная характеристика на частоте Найквиста обязательно равна 0. При указании нечетного значения n, fircls1 увеличивает его на 1.

b = fircls1(n,wo,dp,ds,wt) и

b = fircls1(n,wo,dp,ds,wt,'high') задает частоту wt выше которого (для wt > wo) или ниже которого (для wt < wo) фильтр гарантированно удовлетворяет заданному критерию полосы. Это поможет разработать фильтр, удовлетворяющий требованиям полосы пропускания или границы полосы останова. Существует четыре случая:

  • Lowpass:

    • 0 < wt < wo < 1: амплитуда фильтра находится в пределах dp 1 в диапазоне частот 0   < ω < wt.

    • 0 < wo < wt < 1: амплитуда фильтра находится в пределах ds 0 в диапазоне частот wt   < ω < 1.

  • Хайпасс:

    • 0 < wt < wo < 1: амплитуда фильтра находится в пределах ds 0 в диапазоне частот 0   < ω < wt.

    • 0 < wo < wt < 1: амплитуда фильтра находится в пределах dp 1 в диапазоне частот wt   < ω < 1.

b = fircls1(n,wo,dp,ds,wp,ws,k) генерирует фильтр FIR нижних частот b с взвешенной функцией, где n+1 - длина фильтра, wo - нормированная частота отсечки, dp - максимальное отклонение полосы пропускания от 1 (пульсация полосы пропускания), и ds - максимальное отклонение полосы останова от 0 (пульсация полосы останова). wp - край полосы пропускания функции L2 веса и ws - край полосы останова функции L2 веса, где wp < wo < ws. k отношение (полоса пропускания ошибка L2) / (полоса задерживания ошибка L2)

k = 0wp'A (ω) −D (ω) |2dω wzπ'A (ω) −D (ω) |2dω

b = fircls1(n,wo,dp,ds,wp,ws,k,'high') генерирует фильтр FIR верхних частот b с взвешенной функцией, где ws < wo < wp.

b = fircls1(n,wo,dp,ds,...,'design_flag') позволяет контролировать конструкцию фильтра, где 'design_flag' может быть

  • 'trace', для текстового отображения таблицы конструкции, используемой в конструкции

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

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

Примечание

В конструкции очень узкополосных фильтров с малым dp и ds, возможно, отсутствует фильтр заданной длины, который соответствует спецификациям.

Примеры

свернуть все

Спроектировать фильтр нижних частот порядка 55 с нормированной частотой отсечки 0,3. Задайте пульсацию полосы пропускания 0,02 и пульсацию полосы останова 0,008. Отображение графиков областей данных.

n = 55;
wo = 0.3;
dp = 0.02;
ds = 0.008;
b = fircls1(n,wo,dp,ds,'both');
    Bound Violation = 0.0870385343920  
    Bound Violation = 0.0149343456540  
    Bound Violation = 0.0056513587932  
    Bound Violation = 0.0001056264205  
    Bound Violation = 0.0000967624352  
    Bound Violation = 0.0000000226538  

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

    Bound Violation = 0.0000000000038  

В поле Связанные нарушения (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.

Алгоритмы

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

Ссылки

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

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

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

.

См. также

| |

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