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

Содержание

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

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

Страница проекта на GitHub.

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

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

Параметры квадрата АЧХ  нормированного эллиптического ФНЧ
Рисунок 1. Параметры квадрата АЧХ нормированного эллиптического ФНЧ

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

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

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

(1)
где – эллиптическая дробно-рациональная функция порядка , зависящая от эллиптического модуля :
(2)
здесь – эллиптическая функция .

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

(3)
где – полный эллиптический интеграл, – полный комплиментарный эллиптический интеграл [1], а параметры и рассчитываются из уравнений параметров квадрата АЧХ нормированного ФНЧ (смотри рисунок 1).

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

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

Квадрат АЧХ  нормированного эллиптического ФНЧ при различных порядках  и параметрах
Рисунок 2. Квадрат АЧХ нормированного эллиптического ФНЧ при различных порядках и параметрах

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

(4)

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

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

Квадрат АЧХ есть сечение квадрата модуля передаточной характеристики при .

Для расчета нулей и полюсов подставим в выражение квадрата АЧХ (1) , тогда:

(5)

Эллиптическая дробно-рациональная функция имеет как нули так и полюсы. Тогда согласно (5), обращается в ноль, когда знаменатель выражения равен бесконечности. Другими словами, нули квадрата модуля передаточной функции нормированного эллиптического ФНЧ совпадают с полюсами квадрата эллиптической дробно-рациональной функции и находятся из уравнения:

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

С учетом (5), нули квадрата модуля передаточной функции нормированного эллиптического ФНЧ можно записать:

(8)

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

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

(9)

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

(10)
где – обратная эллиптическая функция .

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

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

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

Также на рисунке 3 показаны параметрические кривые на которых расположены полюсы квадрата модуля передаточной функции для различного значения неравномерности в полосе пропускания и уровня подавления в полосе заграждения .

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

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

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

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

(11)

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

(12)

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

Тогда для любого , где может принимать значения 0 или 1, передаточную функцию нормированного эллиптического ФНЧ можно записать через биквадратную форму:

(13)
и – реальная и мнимая части полюса соответственно, а – некратный вещественный полюс (12) в левой полуплоскости .

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

(14)

Также необходимо учесть, что в случае четного порядка , нормированный эллиптический ФНЧ на нулевой частоте имеет коэффициент передачи равный .

Тогда окончательно передаточную характеристику нормированного эллиптического ФНЧ для произвольного порядка можно представить в виде:

(15)

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

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

(16)

Шаг 1. Рассчитаем параметры , , и :

(17)

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

(18)

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

(19)

Округляем в бо́льшую сторону и получим порядок фильтра .

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

(20)

Пересчитываем модуль :

(21)

Вычисление эллиптических функций производилось при помощи преобразования Ландена [1].

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

(22)

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

(23)

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

(24)

Поскольку , то рассчитываем некратный полюс :

(25)

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

(26)

Поскольку фильтр нечетного порядка, то учитывать не требуется.

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

(27)

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

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

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

Выводы

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

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

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

Исходный код программы 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.

Последнее изменение страницы: 22.07.2020 (18:40:06)