fircls1

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

Синтаксис

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) генерирует lowpass КИХ-фильтр b, где n+1 является длиной фильтра, wo является нормированной частотой среза в области значений между 0 и 1 (где 1 соответствует частоте Найквиста), dp является максимальным отклонением полосы пропускания от 1 (пульсация полосы пропускания), и ds является максимальным отклонением полосы задерживания от 0 (пульсация полосы задерживания).

b = fircls1(n,wo,dp,ds,'high') генерирует highpass КИХ-фильтр b. fircls1 всегда использует даже порядок фильтра для highpass настройки. Это вызвано тем, что для нечетных порядков, частотная характеристика на частоте Найквиста обязательно 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.

  • Highpass:

    • 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) генерирует lowpass КИХ-фильтр 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') генерирует highpass КИХ-фильтр b со взвешенной функцией, где ws < wo < wp.

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

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

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

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

Примечание

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

Примеры

свернуть все

Разработайте порядок 55 lowpass фильтр с нормированной частотой среза 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  

    Bound Violation = 0.0000000000038  

Связанные Нарушения обозначают итерации процедуры, когда проект сходится. Отобразите ответ значения фильтра.

fvtool(b)

Алгоритмы

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

Ссылки

[1] Selesnick, я. W. М. Ленг и К. С. Беррус. “Ограниченный Проект Наименьшего квадрата КИХ-Фильтров без Заданных Полос Перехода”. Продолжения 1 995 Международных конференций по вопросам Акустики, Речи и Обработки сигналов. Издание 2, 1995, стр 1260–1263.

[2] Selesnick, я. W. М. Ленг и К. С. Беррус. “Ограниченный Проект Наименьшего квадрата КИХ-Фильтров без Заданных Полос Перехода”. IEEE® Transactions на Обработке сигналов. Издание 44, Номер 8, 1996, стр 1879–1892.

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

Смотрите также

| |

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