Постановка задачи и способы аппроксимации квадрата АЧХ

Содержание

DSPL-2.0 is free digital signal processing algorithms library

Distributed under v3 LGPL v3 license

GitHub project page.

Found a mistake? Select it with the mouse and press ctrl+enter

Типы фильтров. Параметры аппроксимации квадрата АЧХ нормированного ФНЧ

По форме амплитудно-частотной характеристики (АЧХ) различают следующие типы фильтров:

Примеры квадрата АЧХ для приведенных типов фильтров показаны на рисунке 1.

Figure 1
Figure 1. Примеры квадрта АЧХ различных типов фильтров

Рассмотрим постановку задачи расчета фильтра на примере ФНЧ. Мы бы хотели получить фильтр, который пропускает без искажений все частоты ниже и полностью подавляет все частоты выше . Такой ФНЧ называют идеальным, и он не реализуем на практике. Реализуемые ФНЧ всегда вносят искажения в полосе пропускания и не до конца подавляет в полосе заграждения. На рисунке 2 показан квадрат АЧХ идеального (толстая пунктирная линия) и реального (сплошная линия) ФНЧ.

Figure 2
Figure 2. Квадрт АЧХ идеального и реального фильтра нижних частот

Полоса частот от 0 до называется полосой пропускания ФНЧ, полоса частот выше называется полосой подавления или полосой заграждения. Полоса частот между и называется переходной полосой фильтра. Мы должны научится регулировать искажения сигнала и подавление при использовании ФНЧ.

Параметры

(1)
определяют максимальное искажение квадрата АЧХ в полосе пропускания и задают требуемое подавление в полосе заграждения соответсвенно.

Таким образом, получили такой «изогнутый коридор» в который должна поместиться АЧХ нашего фильтра. При этом, чем «коридор уже», тем параметр меньше, а параметр больше.

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

(2)
где – десятичный логарифм.

Из (2) можно выразить:

(3)

Для расчета фильтра нижних частот достаточно задать параметры квадрата АЧХ , , и . Остальные параметры являются вспомогательными. Так нам потребуется еще два параметра и , которые мы будем использовать в дальнейшем:

(4)

Параметр определяет переходную полосу фильтра. Если сужать переходную полосу, то будет стремиться к единице. С другой стороны параметр определяет степень подавления фильтра с учетом вносимых искажений в полосе пропускания. Так, если коэффициент подавления в полосе заграждения растет, то стремиться к нулю. Аналогично стремиться к нулю если коэффициент неравномерности в полосе пропускания стремится к нулю дБ.

Уравнение порядка фильтра нижних частот

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

Мы неслучайно уделяем особое внимание параметрам фильтров нижних частот. Дело в том, что ФНЧ служат прототипом для фильтров других типов (ФВЧ, ПФ и РФ), передаточные характеристики которых можно получить из передаточной характеристики ФНЧ путем алгебраических частотных преобразований. При этом ФНЧ с различными значениями частоты среза также могут быть получены из других ФНЧ путем преобразования частоты.

Поэтому фильтры нижних частот подходят на роль прототипов из которых можно получить все типы фильтров с любыми параметрами квадрата АЧХ. При этом особую роль играют нормированные ФНЧ, у которых частота среза  рад/с.

Аппроксимация квадрата АЧХ нормированного фильтра нижних частот представляется в виде:

(5)
где – аппроксимирующая функция порядка .

Для того чтобы квадрат АЧХ фильтра разместился в заданном коридоре необходимо, чтобы выполнялись следующие условия:

(6)

Первое условие (6) будет выполнено, если

(7)

Чтобы выполнилось второе условие, необходимо обеспечить переходную полосу заданной ширины и с заданным подавлением, т.е.

(8)

откуда можно выразить:

(9)

Таким образом, мы получили уравнение (9), решая которое относительно можно рассчитать требуемый порядок фильтра, при котором квадрат АЧХ фильтра удовлетворит заданным параметрам. При этом рассчитанное значение порядка округляется в бо́льшую сторону до ближайшего целого.

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

Аппроксимация по Баттерворту

Аппроксимирующая функция нормированного ФНЧ Баттерворта порядка равна . Квадрат АЧХ фильтра задается выражением:

(10)

На рисунке 3 показаны квадрат аппроксимирующей функции и квадрат АЧХ нормированного ФНЧ Баттерворта порядка при  дБ.

Figure 3
Figure 3. Аппроксимирующая функция и квадрат АЧХ нормированного ФНЧ Баттерворта 4-го порядка

Ось абсцисс на рисунке 3 показана в логарифмическом масштабе.

Фильтры Баттерворта являются фильтрами с максимально-гладкой АЧХ. Скорость спада квадрата АЧХ составляет дБ/декада. При аппроксимации по Баттервотру, очень часто задают параметр , и на частоте , квадрат АЧХ (–3 дБ). Тогда для расчета ФНЧ Баттерворта при задается только порядок фильтра. Остальные параметры, такие как неравномерность в полосе пропускания и уровень подавлениия в полосе заграждения не задаются.

Аппроксимация полиномами Чебышева первого рода

Аппроксимирующая функция нормированного ФНЧ Чебышева первого рода, , где – многочлен Чебышева первого рода порядка . Тогда квадрат АЧХ нормированного ФНЧ Чебышева первого рода можно записать:

(11)

Параметр задает уровень пульсаций в полосе пропускания фильтра и рассчитывается исходя из заданной неравномерности АЧХ в полосе пропускания согласно выражению (3).

На рисунке 4 показаны аппроксимирующая функция и квадрат АЧХ нормированного ФНЧ Чебышева первого рода порядка при (неравномерность АЧХ фильтра в полосе пропускания дБ).

Figure 4
Figure 4. Аппроксимирующая функция и квадрат АЧХ фильтра Чебышева первого рода 4-го порядка

Хорошо видно, что в полосе пропускания квадрат АЧХ фильтра Чебышева первого рода совершает равноволновые колебания, в отличии от фильтра Баттерворта. При этом скорость спада АЧХ фильтра Чебышева первого рода за пределами полосы пропускания, выше чем у фильтра Баттерворта.

Инверсный фильтр Чебышева

Ранее при аппроксимации АЧХ многочленами Чебышева задавалась допустимая неравномерность АЧХ фильтров в полосе пропускания при помощи параметра . Однако можно также задать требуемый уровень подавления в полосе заграждения при помощи параметра . Тогда получим фильтры Чебышева второго рода или как их еще называют инверсные фильтры Чебышева. Аппроксимирующая функция в этом случае задается выражением , а квадрат АЧХ нормированного ФНЧ Чебышева второго рода представляется в виде:

(12)

Как уже было сказано, задает уровень подавления в полосе заграждения фильтра согласно (3). На рисунке 5 показаны аппроксимирующая функция и квадрат АЧХ нормированного ФНЧ Чебышева второго рода порядка при уровне подавления в полосе заграждения  дБ.

Figure 5
Figure 5. Аппроксимирующая функция и квадрат АЧХ фильтра Чебышева второго рода 4-го порядка

Нормированный ФНЧ Чебышева первого рода на частоте рад/c «пропускает» сигнал, т.к. близко к единице (0 дБ). Однако, нормированный ФНЧ Чебышева второго рода на частоте рад/c «подавляет» сигнал, т.к. . Фильтры Чебышева второго рода целесообразно использовать для расчета режекторных (полосозаграждающих) фильтров с заданным коэффициентом подавления.

Аппроксимация по Кауэру. Эллиптический фильтр

Можно заметить, что АЧХ фильтра Чебышева первого рода носит колебательный характер в полосе пропускания и максимально-гладкая в полосе заграждения, в то время как АЧХ фильтра Чебышева второго рода наоборот колеблется в полосе заграждения и максимально-гладкая в полосе пропускания. Однако есть еще один класс фильтров АЧХ которых носит колебательный характер как в полосе пропускания, так и в полосе подавления. Это эллиптические фильтры Кауэра.

Аппроксимирующая функция нормированного эллиптического ФНЧ представляет собой эллиптическую дробно-рациональную функцию , зависящую от параметра , рассмотренного выше. Квадрат модуля АЧХ фильтра Кауэра представляет собой:

(13)

Квадрат аппроксимирующей функции эллиптического фильтра 4-го порядка и квадрат АЧХ показаны на рисунке 6.

Figure 6
Figure 6. Аппроксимирующая функция и квадрат АЧХ эллиптического фильтра 4-го порядка

Параметр (неравномерность АЧХ фильтра в полосе пропускания дБ), а параметр задает уровень подавления в полосе заграждения равный дБ. Обратите внимание, что квадрат аппроксимирующей функция эллиптического фильтра показан показан на двух графиках. На верхнем графике показан в масштабе от 0 до 400. Из верхнего графика видно, что имеет полюсы при рад/c, что приводит к пульсация квадрата АЧХ фильтра в полосе заграждения. На нижнем графике показаны колебания аппроксимирующей функции в полосе пропускания.

Решение уравнения порядка фильтра

Фильтр Баттерворта обладает самой широкой переходной полосой среди всех фильтров, но у него максимально-гладкая АЧХ. Внесение в АЧХ фильтра Баттерворта колебаний приводит к фильтрам Чебышева, переходная полоса которых у́же чем у фильтра Баттерворта. Равноволновые колебания в полосе пропускания приводят к фильтрам Чебышева первого рода, а равноволновые колебания в полосе заграждения к фильтрам Чебышева второго рода. Внесение равноволновых колебаний как в полосу пропускания, так и в полосу заграждения АЧХ приводит к эллиптическому фильтру с минимальной переходной полосой.

Полученное ранее выражение (9) связывает параметры квадрата АЧХ с порядком фильтра . В данном параграфе мы решим уравнение (9) относительно для рассмотренных выше аппроксимаций квадрата АЧХ нормированных ФНЧ.

Порядок нормированного ФНЧ Баттерворта рассчитывается из уравнения:

(14)

Прологарифмируем правую и левую части уравнения и получим:

(15)

Порядок нормированного ФНЧ Чебышева первого и второго рода рассчитывается из уравнения:

(16)

Откуда можно выразить:

(17)

Обратите внимание, что аргументы арккосинуса больше единицы, тогда арккосинус аргумента больше единицы возвращает комплексное значение. Известно, что арккосинус любого комплексного аргумента равен:

(18)
тогда (17) с учетом (18) можно представить как:

(19)
где – арккосинус гиперболический.

Порядок эллиптического фильтра можно рассчитать из уравнения:

(20)
где и – полный и комплиментарный эллиптические интегралы, а и рассчитываются согласно (4).

В таблице 1 приведены порядки нормированных ФНЧ Баттерворта, Чебышева и эллиптического для некоторых значения параметров квадрата АЧХ.

Таблица 1
Table 1. Порядки фильтров Баттерворта, Чебышева и Кауэра для некоторых параметров коридора АЧХ

Из таблицы 1 видно, что сужение переходной полосы, когда приближается к и уменьшение неравномерности в полосе пропускания с одновременным ростом подавления в полосе заграждения, приводит к очень резкому росту требуемого порядка фильтра Баттерворта. При этом порядок фильтра Чебышева растет медленнее, однако и ему далеко до эллиптического фильтра, который обеспечивает минимальный порядок при заданном коридоре АЧХ.

Переход от фильтра Баттерворта к фильтру Чебышева позволяет сократить порядок фильтра более чем в 5 раз, а использование эллиптического фильтра более чем в 10 раз. В результате, вместо фильтра Баттерворта 118 порядка можно поставить эллиптический фильтр всего 8-го порядка без ухудшения характеристик фильтра. Но это потребует более точной настройки параметров емкостей и индуктивностей при реализации фильтра.

Выводы

В данном разделе мы рассмотрели постановку задачи расчета аналогового нормированного ФНЧ и произвели анализ различных способов аппроксимации АЧХ фильтра: аппроксимация по Баттерворту, по Чебышеву и по Кауэру. Получили решения уравнения порядка фильтра при заданном коридоре АЧХ для всех перечисленных способов аппроксимации фильтра. Произведен сравнительный анализ порядоков фильтров Баттерворта, по Чебышева и по Кауэра (эллиптического) для некоторых коридоров АЧХ.

Показано, что при сужении коридора АЧХ (сужение переходной полосы, уменьшении неравномерностей в полосе пропускания и увеличении подавления в полосе заграждения) использование эллиптического фильтра приводит к наименьшему требуемому порядку фильтра.

Программная реализация в библиотеке DSPL

Данные для построения рисунков данного раздела были просчитаны при использовании библиотеки DSPL-2.0

Ниже приведён исходный код программы расчета данных для построения рисунков данного раздела:


#include <stdio.h>
#include <string.h>
#include <math.h>
#include "dspl.h"

#define N  8000



void r2hdb(double* r, double* h, double* hdb, double ep2, int n)
{
  int k;
  for(k = 0; k < n; k++)
  {
    r[k] *= r[k];
    h[k] = 1.0/(1.0 + ep2 * r[k]);
    hdb[k] = 10.0*log10(h[k]);
  }  
}




int main(int argc, char* argv[]) 
{
  double w[N];     
  double r[N];    
  double h[N], hdb[N];
  double ep2, Rp, Rs, es2, m;
  int ord, k;
  
  void* handle;           /* DSPL handle        */
  handle = dspl_load();   /* Load DSPL function */
  
  /* заполняю массив частот в логарифмическом формате от 0.01 до 100 */
  logspace(-2, 2,  N, DSPL_PERIODIC, w); 
  
  
  ord = 4;    /* порядок фильтра                              */
  Rp = 0.3;   /* Неравномерность в полосе пропускания (дБ)    */
  Rs = 10.0;  /* Уровень подавления в полосе заграждения (дБ) */
  
  /* Параметры ep^2 и es^2 */
  ep2 = pow(10.0, Rp*0.1) - 1.0;
  es2 = pow(10.0, Rs*0.1) - 1.0;
  
  /* вывод на печать параметров ep^2 и es^2 */
  printf("ep^2 = %.4f\n", ep2);
  printf("es^2 = %.4f\n", es2);
  
  
  
  
  /**********************************************************************
   Расчет F_N^2(w) и |H(jw)|^2 фильтра Баттерворта
  **********************************************************************/
  for(k = 0; k < N; k++)
  {
    r[k] = pow(w[k], (double)(ord));
  }
  r2hdb(r, h, hdb, ep2, N);
  
  /* сохранение в файлы результатов расчета фильтра Баттерворта        */
  writetxt(w, r,   N, "dat/butter_r.txt");
  writetxt(w, h,   N, "dat/butter_h.txt");
  writetxt(w, hdb, N, "dat/butter_hdb.txt");
  


  
  
  /**********************************************************************
   Расчет F_N^2(w) и |H(jw)|^2 фильтра Чебышева 1-го рода
  **********************************************************************/
  cheby_poly1(w, N, ord, r);
  r2hdb(r, h, hdb, ep2, N);
  
  /* сохранение в файлы результатов расчета фильтра Чебышева 1-го рода */    
  writetxt(w, r,   N, "dat/cheby1_r.txt");
  writetxt(w, h,   N, "dat/cheby1_h.txt");
  writetxt(w, hdb, N, "dat/cheby1_hdb.txt");
  
  
  
  
  
  /***********************************************************************
    Расчет F_N^2(w) и |H(jw)|^2 фильтра Чебышева 2-го рода
   **********************************************************************/
  for(k = 0; k < N; k++)
  {
    w[k] = 1.0 / w[k];
  }
  cheby_poly1(w, N, ord, r);
  for(k = 0; k < N; k++)
  {
    r[k]    =1.0 / (r[k] *r[k]);
    h[k]   = 1.0/(1.0 + es2*r[k]);
    hdb[k] = 10.0*log10(h[k]);
  }
  
  logspace(-2, 2,  N, DSPL_PERIODIC, w);
  
  /* сохранение в файлы результатов расчета фильтра Чебышева 1-го рода  */
  writetxt(w, r,   N, "dat/cheby2_r.txt");
  writetxt(w, h,   N, "dat/cheby2_h.txt");
  writetxt(w, hdb, N, "dat/cheby2_hdb.txt");
  
  
  
  
  
  /**********************************************************************
   Расчет F_N^2(w) и |H(jw)|^2 эллиптического фильтра
   *********************************************************************/
  ellip_modulareq(Rp, Rs, ord, &m);  /* пересчет эллиптического модуля*/
  printf("modular m = %.3f\n", m);   /* вывод на печать               */
  
  /* расчет эллиптической рациональной функции */
  ellip_rat(w, N, ord, m, r);
  r2hdb(r, h, hdb, ep2, N);
  
  /* сохранение в файлы результатов расчета эллиптического фильтра    */  
  writetxt(w, r, N, "dat/ellip_r.txt");
  writetxt(w, h, N, "dat/ellip_h.txt");
  writetxt(w, hdb, N, "dat/ellip_hdb.txt");
  
  dspl_free(handle);      /* free dspl handle */
  return 0;
}




Reference

[1] Лэм Г. Аналоговые и цифровые фильтры. Москва, Мир, 1982, 592 с.

[2] Orfanidis S.J. Lecture notes on elliptic filter design. Rutgers University, 2006. [PDF]

[3] Orfanidis S.J. Introduction to Signal Processing. Rutgers University, 2010. [PDF]

[4] Оппенгейм А., Шаффер Р. Цифровая обработка сигналов. Москва, Техносфера, 2012. 1048 с. ISBN 978-5-94836-329-5

[5] Сергиенко А.Б. Цифровая обработка сигналов СПб, Питер, 2002.


Page update: 19.06.2020 (13:41:32)