Расчет аналогового нормированного эллиптического фильтра нижних частот

Содержание

DSPL-2.0 — свободная библиотека алгоритмов цифровой обработки сигналов

Распространяется под лицензией LGPL v3

Страница проекта на SourceForge libdspl-2.0 on SourceForge

Обнаружили ошибку? Выделите ее мышью и нажмите ctrl+enter
Исходные данные для расчета нормированного эллиптического ФНЧ

В данном разделе мы рассмотрим расчет аналогового нормированного эллиптического фильтра нижних частот Кауэра [1] по заданным параметрам АЧХ, показанным на рисунке 1.

Параметры квадрата АЧХ  нормированного эллиптического ФНЧ
Рисунок 1. Параметры квадрата АЧХ |H(j\omega)|^2 нормированного эллиптического ФНЧ

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

Впервые описание передаточной функции фильтра с использованием аппарата эллиптических функций Якоби было произведено В. Кауэром в 1931 году [2]. Введение в теорию эллиптических функций представлено в приложении.

Аппроксимация квадрата АЧХ нормированного эллиптического ФНЧ представляется в виде:

equation 1
(1)
где {{R}_{N}}\left( \omega, k_{\omega} \right) – эллиптическая дробно-рациональная функция порядка N=2L+r, зависящая от эллиптического модуля k_{\omega}:

equation 2
(2)
здесь \operatorname{cd}(\bullet) – эллиптическая функция \operatorname{cd}.

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

equation 3
(3)
где K\left( \bullet \right) – полный эллиптический интеграл, T\left( \bullet \right) – полный комплиментарный эллиптический интеграл [1], а параметры k_{\omega} и {{k}_{\varepsilon}} рассчитываются из уравнений параметров квадрата АЧХ нормированного ФНЧ (смотри рисунок 1).

Исходными данными для расчета нормированного эллиптического ФНЧ служат: частота среза {{\omega }_{p}}, переходная полоса, задаваемая {{\omega }_{s}}, допустимое искажение в полосе пропускания {{R}_{p}} (дБ) и требуемое подавление в полосе заграждения {{R}_{s}} (дБ).

На первом шаге рассчитываются параметры {{\varepsilon }_{p}}, {{\varepsilon }_{s}}, k_{\omega} и {{k}_{\varepsilon}}, после чего производится расчет требуемого порядка фильтра N согласно выражению (3). Полученное значение порядка фильтра N округляется до бо́льшего целого значения. При округлении N до бо́льшего целого мы меняем параметры эллиптической дробно-рациональной функции. Так на рисунке 2а показаны АЧХ эллиптического фильтра при различном N и фиксированном значении эллиптического модуля k_{\omega}=0.71. Из рисунка 2а видно, что увеличение порядка N при фиксированном k_{\omega} приводит к увеличению уровня подавления фильтра в полосе заграждения.

Квадрат АЧХ  нормированного эллиптического ФНЧ при различных порядках  и параметрах
Рисунок 2. Квадрат АЧХ |H(j\omega)|^2 нормированного эллиптического ФНЧ при различных порядках N и параметрах k_{\omega}

Однако, в отличие от всех выше рассмотренных аппроксимирующих полиномов, эллиптическая дробно-рациональная фунция имеет дополнительную степень свободы в виде параметра эллиптического модуля k_{\omega}. Мы можем использовать данных параметр k_{\omega} для обеспечения требуемого уровня подавления R_s (дБ) в полосе заграждения фильтра. Для этого необходимо произвести обновление значения эллиптического модуля k_{\omega} согласно выражению [1]:

equation 4
(4)
На рисунке 2б показан квадрат АЧХ |H(j\omega)|^2 нормированных эллиптических ФНЧ различного порядка с пересчитанными согласно (4) модулями k_{\omega}. Из рисунка 2б можно видеть, что все фильтры имеют одинаковый уровень подавления в полосе заграждения R_s = 40 дБ, но при увеличении порядка фильтра сужается переходная полоса фильтра.

Нули и полюсы квадрата передаточной характеристики нормированого эллиптического ФНЧ

Квадрат АЧХ |H(j \omega)|^2 есть сечение квадрата модуля передаточной характеристики |H(s)|^2 при s = j\omega.

Для расчета нулей и полюсов |H(s)|^2 подставим в выражение квадрата АЧХ (1) \omega = \frac{s}{j} = -js, тогда:

equation 5
(5)
Эллиптическая дробно-рациональная функция R_N(-js, k_\omega) имеет как нули так и полюсы. Тогда согласно (5), {{\left| H\left( s \right) \right|}^{2}} обращается в ноль, когда знаменатель выражения |H(s)|^2 равен бесконечности. Другими словами, нули квадрата модуля передаточной функции |H(s)|^2 нормированного эллиптического ФНЧ совпадают с полюсами квадрата эллиптической дробно-рациональной функции R_N^2(-js, k_\omega) и находятся из уравнения:

equation 6
(6)
решение которого можно представить:

equation 7
(7)
С учетом (5), нули \zeta_n квадрата модуля |H(s)|^2 передаточной функции нормированного эллиптического ФНЧ можно записать:

equation 8
(8)
Квадрат модуля |H(s)|^2 передаточной функции нормированного эллиптического ФНЧ имеет 2N чисто мнимых нуля кратности два ввиду периодичности функции \operatorname{cd}\big( {{u}_{n}}K\left( k_{\omega} \right),k_{\omega} \big).

Полюсы квадрата модуля |H(s)|^2 передаточной функции нормированного эллиптического ФНЧ можно найти решив уравнение

equation 9
(9)
Решение уравнения (9) может быть записано в виде [1]:

equation 10
(10)
где \operatorname{sn}^{-1}(\bullet) – обратная эллиптическая функция \operatorname{sn}.

Расположение нулей и полюсов квадрата модуля передаточной характеристики |H(s)|^2 нормированного эллиптического ФНЧ на комплексной плоскости для фильтра четного и нечетного порядков при подавлении в полосе заграждения равном 40 дБ показано на рисунке 3.

Расположение нулей и полюсов квадрата модуля передаточной характеристики  нормированного эллиптического ФНЧ 4-го  и 5 -го порядков
Рисунок 3. Расположение нулей и полюсов квадрата модуля передаточной характеристики |H(s)|^2 нормированного эллиптического ФНЧ 4-го и 5 -го порядков

Крестиками обозначены полюсы квадрата модуля передаточной характеристики, а кружочками – нули. Видно, что у фильтра нечетного порядка имеются чисто вещественные полюсы. Обратите внимание, что нули и полюсы отображены в одинаковом масштабе.

Также на рисунке 3 показаны параметрические кривые \rho(t) = j\operatorname{cd} \big((t-j\nu_0)K(k_{\omega}), k_{\omega} \big) на которых расположены полюсы квадрата модуля передаточной функции |H(s)|^2 для различного значения неравномерности в полосе пропускания R_p и уровня подавления в полосе заграждения R_s.

Передаточная характеристика нормированного эллиптического ФНЧ

Для получения передаточной характеристики H(s) физически реализуемого фильтра необходимо, чтобы все ее нули и полюсы располагались в левой полуплоскости s, или на мнимой оси j\omega. При этом нули и полюсы на мнимой оси должны быть простыми.

Тогда из всех 2N нулей (8) \zeta_n, n = 1 \ldots 2N, квадрата модуля передаточной функции |H(s)|^2 нормированного эллиптического ФНЧ необходимо выбрать N различных нулей кратности один, а из полюсов |H(s)|^2 (10) необходимо выбрать только полюса с отрицательной реальной частью.

Передаточную характеристику H(s) нормированного эллиптического ФНЧ можно записать в виде:

equation 11
(11)
Для представления передаточной характеристики эллиптического фильтра при помощи биквадратной формы заметим, что в случае нечетного порядка N имеется некратный вещественный полюс при n = (N+1)/2 и u_n = 1:

equation 12
(12)
При остальных n полюсы будут комплексно-сопряженные.

Тогда для любого N=2L+r, где r может принимать значения 0 или 1, передаточную функцию H(s) нормированного эллиптического ФНЧ можно записать через биквадратную форму:

equation 13
(13)
\Re \left( \bullet \right) и \Im \left( \bullet \right) – реальная и мнимая части полюса \rho_n соответственно, а \rho_0 – некратный вещественный полюс (12) в левой полуплоскости s.

Коэффициент передачи на нулевой частоте G_0 нормированного эллиптического ФНЧ при s=0 равен:

equation 14
(14)
Также необходимо учесть, что в случае четного порядка N, нормированный эллиптический ФНЧ на нулевой частоте имеет коэффициент передачи равный {{G}_{p}}.

Тогда окончательно передаточную характеристику H(s) нормированного эллиптического ФНЧ для произвольного порядка N=2L+r можно представить в виде:

equation 15
(15)

Пример расчета нормированного эллиптического ФНЧ

Рассчитаем нормированный эллиптический ФНЧ исходя из следующих параметров квадрата АЧХ:

equation 16
(16)
Шаг 1. Рассчитаем параметры \varepsilon_p, \varepsilon_s, k_{\omega} и k_{\varepsilon}:

equation 17
(17)
Шаг 2. Рассчитаем порядок фильтра удовлетворяющий заданным параметрам квадрата АЧХ согласно выражению (3). Для этого предварительно при помощи преобразования Ландена рассчитаем полный и комплиментарный эллиптические интегралы [1]:

equation 18
(18)
Тогда порядок фильтра равен:

equation 19
(19)
Округляем в бо́льшую сторону и получим порядок фильтра N=5.

Шаг 3. Пересчет эллиптического модуля согласно выражению (4). Предварительно представим N=5=2L+r, откуда L=2, r=1. Тогда

equation 20
(20)
Пересчитываем модуль k_{\omega}:

equation 21
(21)
Вычисление эллиптических функций \operatorname{sn} производилось при помощи преобразования Ландена [1].

Шаг 4. Расчет нулей и полюсов фильтра. Нули \zeta_n фильтра рассчитываются согласно (15):

equation 22
(22)
Рассчитаем полюсы фильтра. Для этого предварительно вычислим параметр \nu_0:

equation 23
(23)
Тогда полюсы согласно выражению (15):

equation 24
(24)
Поскольку r=1, то рассчитываем некратный полюс {{\rho}_{0}}:

equation 25
(25)
Шаг 5. Рассчитываем передаточную характеристику на основе биквадратной формы согласно выражению (15). Для этого произведем предварительно расчет коэффициента передачи G_0 на нулевой частоте для нормировки фильтра.

equation 26
(26)
Поскольку фильтр нечетного порядка, то учитывать {{G}_{p}} не требуется.

Передаточная характеристика фильтра равна:

equation 27
(27)

На этом расчет нормированного эллиптического ФНЧ можно считать оконченным.

Подставив в выражение для передаточной характеристики s=j\omega получим комплексный коэффициент передачи H\left( j\omega  \right) из которого можно рассчитать квадрат АЧХ |H(j\omega)|^2, ФЧХ \Phi(\omega), групповую задержку \tau(\omega) и временну́ю импульсную характеристику h(t) нормированного эллиптического ФНЧ, которые показаны на рисунке 4.

Характеристики рассчитанного нормированного эллиптического ФНЧ
Рисунок 4. Характеристики рассчитанного нормированного эллиптического ФНЧ

Выводы

В данном разделе мы рассмотрели порядок расчета передаточной функции аналогового нормированного эллиптического ФНЧ и привели пример расчета фильтра по заданным параметрам АЧХ.

Реализация в DSPL-2.0

В библиотеке DSPL-2.0 реализована функция ellip_ap , которая рассчитывает коэффициенты передаточной функции H(s) аналогового нормированного эллиптического ФНЧ.

Исходный код программы ellip_ap_example.c расчета и построения характеристик эллиптического фильтра (рисунок 4):


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

#define ORD 5
#define N   1000
#define K   1024

int main(int argc, char* argv[])
{
  void* handle;           /* DSPL handle        */
  void* hplot;            /* GNUPLOT handle     */

  double a[ORD+1], b[ORD+1];
  double Rp = 1;
  double Rs = 45.0;
  
  double w[N], mag[N], phi[N], tau[N];
  complex_t H[N];
  double t[K], h[K];
  fft_t pfft = {0};
  int k, res;
  
  handle = dspl_load();   /* Load DSPL function */
  if(!handle)
  {
    printf("cannot to load libdspl!\n");
    return 0;
  }
  
  /* Расчет коэффициентов передаточной функции H(s) */
  res = ellip_ap(Rp, Rs, ORD, b, a);
  if(res != RES_OK)
    printf("error code = 0x%8x\n", res);
  
  /* печать коэффициентов передаточной функции */
  for(k = 0; k < ORD+1; k++)
    printf("b[%2d] = %9.3f     a[%2d] = %9.3f\n", k, b[k], k, a[k]);

  /* расчет АЧХ, ФЧХ, ГВЗ */
  logspace(-2.0, 2.0, N , DSPL_SYMMETRIC, w);
  filter_freq_resp(b, a, ORD, w, N, 
                   DSPL_FLAG_ANALOG|DSPL_FLAG_LOGMAG|DSPL_FLAG_UNWRAP, 
                   mag, phi, tau);
                   
                   
  /* сохранение АЧХ, ФЧХ, ГВЗ в файлы*/
  writetxt(w, mag, N, "dat/ellip_ap_test_mag.txt");
  writetxt(w, phi, N, "dat/ellip_ap_test_phi.txt");
  writetxt(w, tau, N, "dat/ellip_ap_test_tau.txt");

  /* расчет импульсной характеристики и сохранение в файл */
  memset(&pfft, 0, sizeof(fft_t));
  freqs2time(b, a, ORD, 50.0, K, &pfft, t,h);
  writetxt(t, h, K, "dat/ellip_ap_test_time.txt");
  
  /* plotting by GNUPLOT */
  gnuplot_create(argc, argv, 820, 680, "img/ellip_ap_example.png", &hplot);
  gnuplot_cmd(hplot, "set logscale x");
  gnuplot_cmd(hplot, "unset key");
  gnuplot_cmd(hplot, "set grid");
  gnuplot_cmd(hplot, "set xlabel 'w, рад/с'");
  gnuplot_cmd(hplot, "set multiplot layout 2, 2 rowsfirst");
  gnuplot_cmd(hplot, "set ylabel '|H(jw)|^2, дБ'");
  gnuplot_cmd(hplot, "set yrange [-80:5]");
  gnuplot_cmd(hplot, "plot 'dat/ellip_ap_test_mag.txt' with lines");
  
  gnuplot_cmd(hplot, "set ylabel 'Ф(w), рад'");
  gnuplot_cmd(hplot, "unset yrange");
  gnuplot_cmd(hplot, "plot 'dat/ellip_ap_test_phi.txt' with lines");
  
  gnuplot_cmd(hplot, "set ylabel 'tau(w), с'");
  gnuplot_cmd(hplot, "unset yrange");
  gnuplot_cmd(hplot, "plot 'dat/ellip_ap_test_tau.txt' with lines");
  
  gnuplot_cmd(hplot, "unset logscale x");
  gnuplot_cmd(hplot, "set ylabel 'h(t)'");
  gnuplot_cmd(hplot, "set xlabel 't, s'");
  gnuplot_cmd(hplot, "set xrange [0:5]");
  gnuplot_cmd(hplot, "plot 'dat/ellip_ap_test_time.txt' with lines");
  
  gnuplot_cmd(hplot, "unset multiplot");
  gnuplot_close(hplot); 
  
  fft_free(&pfft);
  dspl_free(handle);      /* free dspl handle */

  return 0;
}



Список литературы
[1] Orfanidis S.J. Lecture notes on elliptic filter design. Rutgers University, 2006. [PDF]

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

[3] Daniels R. Approximation Methods for Electronic Filter Design. New York, McGraw-Hill, 1974, 388 p.

[4] Ахиезер Н.И. Элементы теории эллиптических функций. Москва, Наука, 1970, 304 c.

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

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

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

Последнее изменение страницы: 20.01.2024 (19:23:22)
Страница создана Latex to HTML translator ver. 5.20.11.14