Главная страница
Навигация по странице:

  • 5.4. Проектирование фильтров

  • cheb1ord

  • lp2hp

  • butter, cheby1, cheby2

  • Учебное пособие для студентов высших учебных заведений


    Скачать 5.41 Mb.
    НазваниеУчебное пособие для студентов высших учебных заведений
    Дата10.03.2022
    Размер5.41 Mb.
    Формат файлаpdf
    Имя файлаmatlab.pdf
    ТипУчебное пособие
    #390741
    страница26 из 44
    1   ...   22   23   24   25   26   27   28   29   ...   44
    sos2zp (SOS).
    Обратный переход осуществляется при помощи функции zp2sos
    SOS = zp2sos(z,p,k).
    4. Нахождение нулей z, полюсов p и коэффициента усиления k звена по его
    описанию в пространстве состояний можно произвести путем обращения к про- цедуре ss2zp по форме
    [z,p,k] = ss2zp (A,B,C,D, iu), где iu - номер входа, по которому ищется передаточная функция.
    Обратное преобразование осуществляется процедурой zp2ss:
    [A,B,C,D] = zp2ss (z,p,k).
    5.4.2. Разработка аналоговых фильтров
    Цель разработки фильтров заключается в обеспечении частотно-зависи- мого изменения заданной последовательности данных (сигнала). В простейшем случае разработки фильтра низких частот целью является построение такого зве- на, которое обеспечило бы отсутствие амплитудных искажений входного сигнала в области частот от 0 до некоторой заданной и эффективное подавление гармони- ческих компонент с более высокими частотами.
    Аналоговый фильтр может быть представлен непрерывной передаточной функцией:
    )
    (
    )
    (
    )
    (
    )
    (
    )
    (
    s
    N
    s
    M
    s
    X
    s
    Y
    s
    W
    =
    =
    , (5.41) где
    )
    (s
    Y
    и
    )
    (s
    X
    - изображения по Лапласу соответственно выходного и входного сигналов фильтра, а
    )
    (s
    M
    и
    )
    (s
    N
    - полиномы от 's' соответственно в числителе и знаменателе передаточной функции.

    5.4. Проектирование фильтров
    228
    В качестве основных характеристик фильтра обычно принимают так назы- ваемую "характеристику затухания" )
    (
    ω
    A
    , которая является величиной обрат- ной модулю частотной передаточной функции
    )
    (s
    W
    и измеряется в децибелах:
    {
    }
    )
    (
    lg
    10
    )
    (
    lg
    20
    )
    (
    2 1
    ω
    ω
    ω
    L
    j
    W
    A

    =

    =

    , (5.42)
    "фазовую характеристику"
    )
    (
    ω
    ϑ
    :
    ))
    (
    arg(
    )
    (
    ω
    ω
    ϑ
    j
    H
    =
    (5.43) и "характеристику групповой задержки"
    τ
    ω
    ω
    ϑ
    τ
    d
    d
    )
    (

    =
    . (5.44)
    Функцию
    [
    ]
    1 2
    )
    (
    )
    (
    )
    (



    =
    s
    H
    s
    H
    s
    L
    (5.45) называют функцией затухания.
    Нетрудно понять, что если являются нулями передаточной функции
    i
    z
    )
    (s
    W
    , а
    - ее полюсами, то нулями функции затухания будут
    , а полюсами
    i
    p
    i
    p
    ±
    i
    z
    ±
    Рис. 5.44
    Идеальный фильтр низких частот (ФНЧ) пропускает только низкочастотные составляющие. Его характеристика затухания имеет вид, показанный на рис.
    5.44а. Диапазон частот от 0 до

    ω
    называется полосой пропускания, остальной частотный диапазон - полосой задерживания. Граница между этими полосами

    5.4. Проектирование фильтров
    229
    (

    ω
    ) называется частотой среза. Аналогично, идеальные фильтры высоких час- тот (ФВЧ), полосовой и режекторный можно определить как фильтры, имеющие характеристики затухания, показанные на рис. 5.44б, в и г.
    Рис. 5.45
    Реальный ФНЧ отличается от идеального тем, что:
    „ затухание в полосе пропускания не равно нулю (децибел);
    „ затухание в полосе задерживания не равно бесконечности;
    „ переход от полосы пропускания к полосе задерживания происходит по- степенно (не скачкообразно).
    Возможный вид характеристики затухания реального фильтра приведен на рис. 5.45а. На нем обозначено:
    „
    P
    ω
    - граничная частота полосы пропускания;
    „
    S
    ω
    - граничная частота полосы задерживания;
    „
    - максимальное подавление в полосе пропускания;
    P
    R
    „
    - минимальное подавление в полосе задерживания.
    S
    R
    Частота среза

    ω
    в этом случае является условной границей между полоса- ми пропускания и задерживания, которая определяется либо по уровню подавле- ния в 3 дБ, либо как
    S
    P
    ω
    ω
    в эллиптических фильтрах.

    5.4. Проектирование фильтров
    230
    Типичные характеристики затухания реальных фильтров высоких частот, полосовых и режекторных представлены на рис. 5.45 б, в и г соответственно.
    Аппроксимацией фильтра называют реализуемую передаточную функцию, у которой график характеристики затухания
    )
    (
    ω
    A
    как функция от частоты при- ближается к одной из идеальных характеристик рис. 5.44. Такая передаточная функция характеризует устойчивое физически реализуемое звено и должна удов- летворять следующим условиям:
    „ она должна быть рациональной функцией от s c вещественными коэффи- циентами;
    „ ее полюсы должны лежать в левой полуплоскости s- плоскости;
    „ степень полинома числителя должна быть меньшей или равной степени полинома знаменателя.
    В пакете SIGNAL предусмотрен ряд процедур, осуществляющих расчет аналоговых аппроксимаций фильтров низких частот.
    Группа процедур buttord, cheb1ord, cheb2ord, ellipord используется для оп- ределения минимального порядка и частоты среза аналогового или цифрового фильтра по заданным требуемым характеристикам фильтра:
    W
    P
    - граничной частоте пропускания;
    W
    S
    - граничной частоте задерживания;
    R
    P
    - максимально допустимому подавлению в полосе пропускания, дБ;
    R
    S
    - минимально допустимому подавлению в полосе задерживания, дБ.
    Все эти процедуры предназначены для вычисления соответствующей ап- проксимации ФНЧ, ФВЧ, полосовых и режекторных фильтров минимального по- рядка.
    Функция buttord определяет порядок n и частоту среза W
    n
    для аппроксима- ции в виде аналогового фильтра Баттерворта при обращении вида:
    [n, Wn] = buttord(Wp,Ws,Rp,Rs,'s'), при этом значения частот Wp,Ws должны быть заданы в радианах в секунду, а значение частоты среза Wn также получается в радианах в секунду. Для ФВЧ ве- личина Wp должна превышать Ws. Для полосовых и режекторных фильтров Wp и
    Ws должны быть двухэлементными векторами, определяющими граничные час- тоты полос, причем первой должна стоять меньшая частота. В этом случае пара- метр Wn, вычисляемый процедурой, представляет собой двухэлементный вектор- строку.
    Аналогично используются процедуры cheb1ord, cheb2ord, ellipord, кото- рые определяют порядок аналоговых фильтров Чебышева 1-го и 2-го типов и эл- липтического фильтра соответственно.
    Вторая группа процедур позволяет определить векторы z нулей, p -полюсов и коэффициент усиления k основных аппроксимаций линейных фильтров задан- ного порядка n. К таким процедурам относятся besselap, buttap, cheb1ap, cheb2ap
    и ellipap. Все они создают фильтр низких частот (ФНЧ) с частотой среза, рав-
    ной 1 радиан в секунду.
    Процедура besselap путем обращения к ней

    5.4. Проектирование фильтров
    231
    [ z, p, k] = besselap(n) вычисляет нули и полюсы аналогового фильтра Бесселя, процедура buttap при помощи аналогичного обращения "создает" аналоговый фильтр Баттерворта.
    Аналоговый прототип фильтра Чебышева нижних частот 1-го типа, имею- щий пульсации в полосе пропускания не более Rp дБ, "создается" процедурой
    cheb1ap
    таким образом:
    [ z, p, k] = cheb1ap(n, Rp).
    ФНЧ Чебышева 2-го типа, имеющий величину подавления в полосе задер- живания не менее Rs дБ, "создается" использованием процедуры cheb2ap так:
    [ z, p, k] = cheb2ap(n, Rs).
    Процедура ellipap путем обращения к ней
    [ z, p, k] = ellipap(n,Rp,Rs) дает возможность найти нули и полюсы эллиптического ФНЧ, обеспечивающего пульсации в полосе пропускания не более Rp дБ и подавление в полосе задержи- вания не менее Rs дБ.
    Третью группу образуют процедуры, позволяющие пересчитать параметры рассчитанного ФНЧ известной аппроксимации с частотой среза, равной 1, в ФНЧ,
    ФВЧ, полосовой или режекторный фильтр с заданной частотой среза. Эта группа состоит из процедур lp2lp, lp2hp, lp2bp и lp2bs. Первая образует фильтр нижних частот, вторая - ФВЧ, третья - полосовой фильтр и четвертая - режекторный фильтр. Обращение к процедуре lp2lp может иметь две формы:
    [bt, at] = lp2lp(b, a, Wo)
    [At, Bt, Ct, Dt] = lp2lp(A, B, C, D, Wo)
    Первая форма применяется при задании исходного ФНЧ (с частотой среза 1 рад/с) в виде коэффициентов числителя а и знаменателя b. Wo в этом случае озна- чает желаемую частоту среза получаемого ФНЧ. Результатом являются вычис- ленные значения векторов коэффициентов числителя - at и знаменателя -bt полу- ченного ФНЧ.
    Вторая форма применяется при задании исходного ФНЧ в пространстве со- стояний. Результат получается также в форме матриц пространства состояний.
    Применение процедуры lp2hp формирования ФВЧ полностью аналогично.
    Процедура lp2bp формирования полосового фильтра тоже имеет два вида вызова:
    [bt, at] = lp2bp(b, a, Wo, Bw)
    [At, Bt, Ct, Dt] = lp2bp(A, B, C, D, Wo, Bw), где смысл параметра Wo несколько иной - это центральная частота полосы про- пускания, а Bw означает ширину полосы пропускания. В остальном особенности использования и смысл обозначений сохраняется прежним.
    Использование функции lp2bs проектирования режекторного типа полно- стью аналогично, за исключением того, что параметры Wo и Bw в этом случае имеют смысл центра полосы задерживания и ее ширины.
    Следующую четвертую группу образуют процедуры полной разработки фильтров указанных аппроксимаций по заданным порядку и значению частоты

    5.4. Проектирование фильтров
    232
    среза Wc. В нее входят процедуры besself, butter, cheby1, cheby2 и ellip. Общим для всех их является следующее:
    „ с их помощью можно проектировать ФНЧ, ФВЧ, полосовые и режектор- ный фильтры соответствующей аппроксимации; если параметр Wc явля- ется скаляром и не указан после него флажок 'high', то проектируется
    ФНЧ с частотой среза Wc; если же указанный флажок в обращении есть, то в результате проектируется ФВЧ; если параметр Wc задан как вектор из двух величин, то результатом вычислений являются параметры поло- сового фильтра с полосой пропускания
    2 1
    W
    W


    ω
    , где W1 - первый элемент этого вектора, а W2 -второй элемент; наконец, если дополни- тельно к этому в конце списка входных параметров указан "флажок"
    'stop', то рассчитываются параметры режекторного фильтра с полосой за- держивания, указанной элементами вектора Wc:
    „ результаты расчета фильтра могут иметь три формы в зависимости от то- го, какое количество параметров указано при обращении к процедуре в качестве выходных, например:
    [b, a] = besself(n, Wc, 'ftype')
    [z, p, k] = besself(n, Wc, 'ftype')
    [A, B, C, D] = besself(n, Wc, 'ftype'); если указано два выходных параметра, то им будут присвоены значения коэффициентов числителя и знаменателя передаточной функции фильт- ра; при указании трех параметров на выходе, они примут значения векто- ров нулей, полюсов и коэффициента усиления фильтра; если же выходов указано четыре, то ими становятся значения матриц пространства состоя- ний проектируемого фильтра;
    „ почти все они могут применяться для проектирования как аналоговых, так и цифровых фильтров; чтобы с их помощью "создать" аналоговый фильтр необходимо в число входных параметров процедуры последним включить специальный "флажок" ('s'); исключение составляет фильтр
    Бесселя, аналога которому в цифровой форме не существует.
    5.4.3. Проектирование БИХ-фильтров
    Конечной задачей проектирования линейного цифрового фильтра будем считать расчет значений элементов векторов b числителя и a знаменателя его дис- кретной передаточной функции G(z), записанной в виде (5.7)
    n
    n
    o
    m
    m
    o
    z
    a
    z
    a
    a
    z
    b
    z
    b
    b
    z
    x
    z
    y
    z
    G





    +
    +

    +

    +
    +

    +
    =
    =
    )
    (
    )
    (
    )
    (
    1 1
    1 1

    5.4. Проектирование фильтров
    233
    Если эти два вектора известны, осуществление самой фильтрации, как было сказано ранее, происходит применением процедуры filter, в которой аргументами выступают эти векторы.
    Напомним, что представленная дискретная передаточная функция описыва- ет в сжатой форме такое конечно-разностное уравнение фильтра
    )
    (
    )
    1
    (
    )
    (
    )
    (
    )
    2
    (
    )
    1
    (
    )
    (
    1 2
    1
    m
    k
    x
    b
    k
    x
    b
    k
    x
    b
    n
    k
    y
    a
    k
    y
    a
    k
    y
    a
    k
    y
    a
    m
    o
    n
    o


    +
    +


    +

    =
    =


    +
    +


    +


    +

    (5.46 )
    Если n=0, фильтр называют нерекурсивным, а число m - порядком фильтра.
    Такой фильтр имеет конечную импульсную характеристику, поэтому его также называют КИХ-фильтром.
    В случае фильтр называется
    0
    >
    n
    рекурсивным. Порядком фильтра при этом называют наибольшее из чисел m и n. В этом случае импульсная характери- стика фильтра является бесконечной, и последний называют также БИХ- фильтров. БИХ-фильтры представляют собой некоторые аналоги динамических звеньев.
    Одним из средств проектирования БИХ-фильтров, предусмотренных в па- кете SIGNAL, является разработка соответствующего аналогового прототипа, т. е. нахождение передаточной функции по Лапласу непрерывного фильтра, и после- дующий переход к цифровому фильтру путем нахождения цифрового аналога не- прерывного звена. Последнее можно осуществить с помощью билинейного пре- образования s-плоскости в z-плоскость. Билинейное преобразование выполняется в соответствии с выражением
    1 1
    2
    )
    (
    )
    (
    +

    =
    =
    z
    z
    f
    s
    s
    s
    H
    z
    H
    , (5.47) где f
    s
    - частота дискретизации сигнала. При этом ось
    ω
    j преобразуется в единич- ную окружность на z-плоскости.
    В пакете SIGNAL билинейное преобразование осуществляется с помощью процедуры bilinear, которая имеет три формы обращения к ней:
    [bd, ad] = bilinear(b, a, Fs, Fp)
    [zd, pd, kd] = bilinear(z, p, k, Fs, Fp)
    [Ad, Bd, Cd, Dd] = bilinear(A, B, C, D, Fs, Fp).
    Все они преобразуют параметры, характеризующие аналоговый прототип фильтра, в аналогичные параметры, описывающие дискретный БИХ-фильтр. Вид и количество входных параметров определяют вид и число выходных. Параметр
    Fs задает частоту дискретизации в герцах. Последний параметр Fp не обязателен.
    Он определяет частоту в герцах, для которой значения АЧХ до и после выполне- ния преобразования должны совпадать, т. е. задает так называемые предыскаже- ния.
    Обращение в первой форме позволяет определить коэффициенты полино- мов числителя и знаменателя дискретной передаточной функции фильтра вида
    (5.35) по заданным коэффициентам полиномов числителя и знаменателя непре- рывной передаточной функции вида (5.34). Обращение во второй форме дает воз- можность вычислить нули, полюсы и коэффициент усиления дискретного фильт-

    5.4. Проектирование фильтров
    234
    ра по заданным аналогичным параметрам аналогового прототипа. И, наконец, третья форма определяет матрицы дискретного пространства состояний фильтра по известным матрицам непрерывного пространства состояний.
    Второй способ построения цифрового фильтра по его аналоговому прото- типу заключается в таком преобразовании параметров аналогового фильтра в па- раметры дискретного фильтра, при котором импульсная характеристика послед- него совпадала бы с импульсной характеристикой аналогового фильтра в точках через дискрет по времени. Это в MatLAB осуществляется применением процеду- ры impinvar:
    [bz, az] = impinvar(b, a, Fs).
    Здесь b и a - заданные векторы коэффициентов числителя и знаменателя передаточной функции аналогового прототипа фильтра, bz и az - вычисляемые ко- эффициенты числителя и знаменателя дискретной передаточной функции дис- кретного фильтра, Fs - заданная частота дискретизации сигнала в герцах. Если па- раметр Fs при обращении не указан, то по умолчанию он принимается равным 1
    Гц.
    Третий способ формирования дискретных фильтров - использование ранее рассмотренных процедур формирования фильтров butter, cheby1, cheby2 и ellip.
    Если при обращении к этим процедурам не указывать в конце списка входных па- раметров "флажка" 's', то результатом работы этих процедур будут параметры именно цифровых фильтров.
    Основное отличие применения этих функций для разработки цифровых фильтров заключается в другом представлении задаваемых частот в векторе Wc.
    Все частоты должны задаваться по отношению к так называемой "частоте
    Найквиста". Частотой Найквиста называют половину частоты дискретизации
    сигнала.
    Так как диапазон частот изменения дискретного сигнала всегда меньше час- тоты дискретизации, то все частотные характеристики дискретных фильтров оп- ределяются только внутри диапазона от 0 до частоты Найквиста. Поэтому все за- даваемые в векторе Wc граничные частоты должны быть меньше единицы.
    Существуют еще две процедуры расчета БИХ-фильтров.
    Процедура
    1   ...   22   23   24   25   26   27   28   29   ...   44


    написать администратору сайта