Вы находитесь на странице: 1из 31

Министерство образования Российской Федерации

Государственное образовательное учреждение высшего


профессионального образования «Самарский государственный
аэрокосмический университет имени академика С.П.Королева»

РАССЧЕТ И ИССЛЕДОВАНИЕ РЕКУРСИВНЫХ ЦИФРОВЫХ


ФИЛЬТРОВ

САМАРА 2004
Цель работы:

 освоение метода расчета цифровых рекурсивных


фильтров с помощью ЭВМ;
 изучение программной реализации цифровых фильтров на
универсальной ЭВМ;
 исследование характеристик рекурсивных цифровых
фильтров с помощью точного эксперимента на ЭВМ;
 приобретение практических навыков решения инженерных
задач на ЭВМ.

Порядок выполнения работы

1. Рассчитать цифровой фильтр в соответствии с заданием по ме-


тодике, изложенной в разделе " Краткие сведения из теории...".
Определить, в частности, порядок цифрового фильтра и рассчитать
его передаточную функцию. Во избежание рутинных вычислений
допускается ограничиться расчетом одного звена последовательной
формы передаточной функции. Заметим, что для этого достаточно
вычислить одну пару комплексно-сопряженных полисов аналогового
фильтра-прототипа и осуществить дискретизацию этого звена. Эта
часть задания выполняется во внеурочное время.
2. Ознакомиться с машинным алгоритмом и программой расчета и
моделирования цифрового фильтра.
3. В соответствия с целью машинного эксперимента провести
исследование избирательных свойств и временных характеристик
цифрового фильтра. Для этого моделируется прохождение через
фильтр отрезков гармонических колебаний трех различных частот.
Значения этих частот выбираются произвольно по усмотрению
экспериментатора с тем, однако, условием, чтобы одна из частот
лежала в полосе пропускания амплитудно-частотной характеристики
фильтра, вторая - в переходной полосе и третья - в полосе
непропускания.
4. Подготовить задание для решения задачи на ЭВМ по
содержанию и по форме в соответствии с тем, как показано в п.
”Задание на выполнение программы и ввод исходных данных”. Перед
выполнением задания на ЭВМ его следует представить
преподавателю для проверки.
5. "Прогнать" программу на ЭВМ, для чего ввести в ЭВМ задание
и получить распечатку с результатами.
6. Сопоставить результаты расчета цифрового фильтра на ЭВМ с
результатами предварительного расчета. Используя полученные
значения коэффициентов, записать выражение для передаточной
функции.
7. По полученный данным построить график АЧХ цифрового
фильтра. Определить по этому графику значение полосы
пропускания, затухание в полосе заграждения и прочие параметры
фильтра. Определить соответствие характеристик фильтра заданный
требованиям.
8. Отметить на графике АЧХ частоты, выбранные для машинного
эксперимента и определить относительные величины коэффициентов
передачи фильтра на этих частотах.
9. Построить графики входных и выходных сигналов фильтра,
использованных и полученных в машинном эксперименте. Для
выходных сигналов длина построенного графика должна охватывать
длительность переходного процесса и часть сигнала в
установившемся режиме.
10. Измерить по графику длительность переходного процесса и
оценить его характер. Дать объяснение этим параметрам фильтра.
11. Сопоставить амплитуды входного и выходного сигналов в
установившемся режиме и определить коэффициенты передачи
фильтра. Сравнить эти величины коэффициентов передачи со
значениями, определенными paнee по АЧХ фильтра.
12. Сделать выводы и заключение по работе и составить отчет.
Отчет должен содержать задание на расчет фильтра, материалы
работы по пп.1,3,4,6-10,II, выводы и заключение. К отчету
прикладывается машинная распечатка.
Варианты заданий приведены в табл.1. Номер варианта выдается
преподавателем.
№ Тип фильтра Полоса Пульса Полоса Затух Частота
вар пропускания ции непропус ание дискретизац
иан- коэф. кания в ии
та пере- полос
дачи в е
полосе непро
пропус пуска
кания, ния,
дБ дБ

Нижних частот 0...4,25 рад/с 1 < 6 рад/с 50   10


1
Чебышева рад/с
Нижних частот 0...2,55 рад/с 0,5 < 3,6 30   6 рад/с
2
Чебышева рад/с
Нижних частот 0...2,4 рад/с 0,4 < 3,5 40   10
3
Чебышева рад/с рад/с
Нижних частот 0...1,25 рад/с 1 < 1,4 60   2 рад/с
4
Чебышева рад/с
Нижних частот 0...800 Гц 0,6 > 1500 Гц 50 1000 Гц
5
Чебышева
Верхних > 700 Гц - < 300 Гц 50 3 кГц
6 частот
Баттерворта
Нижних частот 0...800 Гц - > 1200 Гц 50 3 кГц
7
Баттерворта
Нижних частот 0...4,25 рад/с - < 6 рад/с 60   10
8
Баттерворта рад/с
9
Нижних частот 0...1,3 рад/с - < 3,6 40   6 рад/с
Баттерворта рад/с
10
Нижних частот 0...1,25 рад/с 0,5 < 1,4 25   2 рад/с
Чебышева рад/с
11
Нижних частот 0...1,25 рад/с 0,5 < 2,5 60   2 рад/с
Чебышева рад/с
Режекторный < 7 кГц - 8...12 кГц 20 40 кГц
12
Баттерворта > 13 кГц
Режекторный < 20 кГц - 22,5...27,5 40 80 кГц
13 Баттерворта > 30 кГц кГц
Полосовой 8,5-11,5 - < 7 кГц 30 50 кГц
14
Баттерворта кГц > 13 кГц
Полосовой 9,5-14,5 - < 7 кГц 30 50 кГц
15 Баттерворта кГц > 17 кГц
Полосовой 7,75-9,25 - < 5 кГц 30 30 кГц
16
Баттерворта кГц > 11 кГц
Верхних частот < 120 рад/с - < 100 Гц 40   300
17 Баттерворта рад/с
Верхних частот < 120 рад/с 1 < 100 Гц 40   300
18 Чебышева рад/с
Верхних частот < 1500 рад/с 0,6 < 1200 Гц 40 5 кГц
19
Чебышева
Верхних частот < 2500 рад/с 0,5 < 2000 Гц 30 7,5 кГц
20
Чебышева
Верхних частот < 1500 рад/с 0,6 < 1000 Гц 20 5000 Гц
21
Чебышева
Верхних частот < 3500 рад/с 0,1 < 2500 Гц 50 10 кГц
22
Чебышева 5
Полосовой 8-12 кГц 0,6 < 6,5 кГц 35 50 кГц
23 Чебышева > 13,5
кГц
Полосовой 9,5-14,5 0,5 < 7 кГц 35 50 кГц
24
Чебышева кГц > 17 кГц

Задание на выполнение программы и ввод исходных данных

Разработанная на алгоритмическом языке программа


представляет собой так называемый исходный модуль.
В чистом виде исходный модуль системой ОС не выполняется.
Поэтому необходимо составить задание, регламентирующее
преобразование исходного модуля на язык машинных команд в
выполнение программы. Иначе говоря, нужно снабдить исходный
модуль управляющими операторами (или операторами языка
управления заданиями), а также исходными данными, требующимися
для решения задачи. Задание (или пакет задания) в нашем случае
имеет следующую структуру:
Управляющие операторы

Исх
Исходный модуль (программа
на входном языке)

У
Управляющие операторы

Исходные данные

Управляющие операторы

Операторы языка управления заданиями сообщают системе ОС


необходимую информацию о пользователе, программе, данных,
используемых служебных процедурах, дают указания к действию.
Возможный способ оформления задания показан на примере.
Программа расчета и моделирования цифровых БИХ-фильтров (с
бесконечной импульсной характеристикой) составлена на
алгоритмическом языке ФОРТРАН-1У.
Ввод исходных данных осуществляется в программе при помощи
операторов ввода READ и связанных с ними операторов FORMAT .
Операторы ввода данных располагайся в начале программы. Они
содержат список вводимых переменных и ссылочный номер
оператора FORMAT, в соответствии с которым переменит
присваивают конкретные значения. Для удобства наблюдения
взаимосвязи этих двух операторов в приведенном ниже фрагменте
программы они расположены рядом, хотя оператор FORMAT может
находиться в любом месте программы:
READ 109, NWAR
109 FORMAT (12)
READ 110, JTYPE,F1,F2
110 FORMAT (11,2Х,2(F5.3,2X))
READ 111, JTYPE, F T, FATT,RIPPL,ATTEN
111 FORMAT (11,2Х,2(F5.3,2X),F3.0,2X,F5.1)
READ 112,FP
112 FORMAT (3(F5.3,2X)
Пояснения к этим операторам ввода проведены в табл.2.
Таблица 2
Переменная Идентификатор Формат ввода
Вариант задания NWAR 12.
Вид преобразования частоты JTYPE 11
Нижняя граничная частота F1 F5.3
Верхняя граничная частота F2 F5.3
Вид фильтра ITYPE I1
Граница пропускания FT F5.3
Граница непропускания FATT F5.3
Пульсации в полосе пропуска- RIPPL F3.0
ния, %
Ослабление непропускания, дБ ATTEN F5.1
Частоты, выбранные для работы FP F5.3
модели

Примечание. Значения всех частот, вводимых в программу являются


безразмерными, т.е. представлены в
нормализованном виде. В качестве нормализующего
множителя берется частота дискретизации.
Переменные NWAR, JTYPE и ITYPE целого типа. В списке оператора
FORMAT им соответствует целочисленный формат вида IW, где W -
число позиций строки, необходимое для написания данного числа.
Остальные вводимые переменные F1, F2, FT, FATT, RIPPL,ATTEN,
FP - вещественного типа, представленные в виде десятичных чисел с
фиксированной точкой. Таким переменным в списке форматов
соответствует запись вида Fwd, где w - общее число позиций,
занимаемых числом, d - число позиций, отведенных под дробную
часть числа. Код формата wY обозначает пропуск (пробел) при
вводе данных.
Переменная JTYPE в зависимости от вида частотного
преобразования пронимает одно из следующих значений:
JTYPE=0 - нет преобразования;
JTYPE=1 - НЧ в НЧ;
JTYPE=2 - НЧ в ВЧ;
JTYPE=3 - НЧ в ПФ;
JTYPE=4 - НЧ в ПЗФ (РФ).
Для фильтров Баттерворта: ITYPE=1
Для фильтров Чебышева: ITYPE=2

Пример составления задания для обработки на ЭВМ

Исходные данные:
NWAR =31, JTYPE =2, F1=0.4, ITYPE=2,FT=0.22, FATT=0.29,
RIPPL=8, ATTEN=-26, FP(1)=0.3, FP(2)=0.39, FP(3)=0.43.
Пакет задания выглядит следующим образом:

Программа на входном алгоритмическом языке (Фортран-IV)

/*
//GO.SYSIN DD*
31
2_ _ 10.4_ _ _ _0.0
2_ _ 0.22_ _ _0.29_ _ _ _8._ _-29.0
0.3_ _ _ _ 0.39_ _ _ 0.43
/*

Здесь JOB - оператор задания (задание носит имя RICOR 4).


Операндами этого оператора являются: учетная информация: (41301-
RTU), фамилия программиста / студент/ (следует вставлять свою
фамилию), уровень печати сообщений, объем памяти.
Оператор пункта задания - EXEC носит имя STEP (имя шага
задания). Его операндами являются выполняемая процедура
(FORTGCLG - трансляции, редактирования и выполнения) и
параметр печати листинга (не печатать таблицу перекрестных ссылок
и текст исходной программы). Один из операторов описания данных
DD (3-я строка) содержит подпараметр *, что означает
непосредственное следование данных за этим оператором. Данными
является сама исходная программа. Конец исходной программы
обозначается оператором / * (конец файла). Следующий
управляющий оператор описания данных //GD. SYSIN DD*
обозначает, что на шаге выполнения во входном потоке
непосредственно за оператором DD следуют исходные данные.
Конец файла данных /*. Пустой оператор // указывает на конец
задания.

КРАТКИЕ СВЕДЕНИЯ ИЗ ТЕОРИИ ПРОЕКТИРОВАНИЯ


ФИЛЬТРОВ

Вводные замечания

При проектировании рекурсивных (БИХ) цифровых фильтров


наряду с прямыми широко использует методы расчета по аналоговому
прототипу. Существо таких методов расчета состоит в преобразовании
по некоторому правилу передаточной функции аналогового фильтра
(АФ) На. (р) передаточную функцию цифрового фильтра (ЦФ) H(z). К
настоящему времени разработано большое количество методов
указанного вида. Наиболее широкое распространение получил метод б
и л и н е й н о г о п р е о б р а з о в а н и я.
Настоящие методические указания составлены на основе
известных работ /1-5/.
Излагаемая ниже методика проектирования цифровых фильтров
предполагает выполнение задачи в два этапа:
расчет АФ-прототипа;
билинейное преобразование аналогового фильтра в
цифровой.
Помимо аналитического способа расчета ниже приводится
программа, реализующая билинейное преобразование на ЭВМ, и
необходимые пояснения к этой программе.

Метод билинейного преобразования

По существу этот метод достаточно прост и состоит в замене


передаточной функции АФ На. (р) переменной Р согласно
выражению

P=2/T 1-Z-1 /1+Z-1 =2/T Z-1/Z+1,

где Т – шаг дискретизации по времени.

Иначе говоря, передаточная функция цифрового фильтра

H(z)=Ha(p)/p=2/T(1-Z-1)/(1+Z-1)

Заметим, что выражение (I) называется билинейным


преобразованием.
При билинейном преобразовании соотношение между шкалами
аналогового фильтра  и цифрового фильтра  оказывается
нелинейным. В самом деле, полагая в выражении (1) P=j  и z=e
j T
, получим
2 T
= tg (3)
T 2

Из-за нелинейности соотношения (3) происходит деформация


шкалы частот  , следствием которой является искажение частотных
характеристик ЦФ относительно характеристик аналогового фильтра
прототипа. Суть этих искажений отражает рис.1, на котором показано
графическое

 

представление связи между АЧХ аналогового и цифрового фильтров


при билинейном преобразовании. Как видно, на нижних частотах ( 
Т<<  ) сохраняется линейность зависимости    , и искажения
отсутствуют. К такому же заключению можно придти, обратившись к
выражению (3), если учесть, что tgx  x при -малом x. На верхних
частотах диапазона нелинейность (3) существенна, и искажения АЧХ
значительны. Ясно, что в общем случае метод билинейного
преобразования не обеспечивает адекватность частотных
характеристик ЦФ и аналогового прототипа.
Влияние искажений АЧХ ЦФ, обусловленных деформацией шкал,
можно частично скомпенсировать, если использовать следующую
последовательность расчета передаточной функции ЦФ:
определить из условия решаемой задачи требуемую АЧХ ЦФ.
Выбрать на этой АЧХ некоторые характерные точки, например,
граничные точки полос пропускания и заграждения, и определить их
частоты;
пересчитать по уравнению (3) значения частот этих точек на
aналоговую шкалу частот, затем по полученным таким образом
исходным данным рассчитать аналоговый фильтр-прототип (получить
передаточную функцию АФ);
применить к передаточной функции АФ процедуру (2)
билинейного преобразования.
В полученном таким образом цифровом фильтре частоты
выбранных характерных точек АЧХ будут иметь требуемые значения.
Иначе, ЦФ будет иметь заданные величины полос пропускания,
заграждения. Однако полное соответствие формы АЧХ ЦФ и АФ по-
прежнему не гарантируется. В силу отмеченного обстоятельства
билинейное преобразование применимо только к частотным
характеристикам, являющимся кусочно-постоянными, и не
применимо, например, к интеграторам и другим фильтрам, имеющим
частотную характеристику, не являющуюся кусочно-постоянной.
Некоторые авторы (см., например, работу /4/) билинейное
преобразование определяют в несколько отличном от (I) виде, а
именно как
P=К(1-Z-1) /(1+Z-1), (4)

где К - действительная положительная постоянная.

В этом случае формула (3) принимает вид


T
 =К tg (5)
2

Ближайшее преобразование в виде, заданном формулами (4), (5) ,


удобно для преобразования аналоговых фильтров типа ФНЧ, ФВЧ,
когда они преобразуются в цифровые фильтры того же вида, т.е.
ФНЧ, ФВЧ. Постоянная К при атом выбирается следующим образом.
Пусть заданы частоты среза АФ  с и ЦФ  с. Тогда постоянная К
определяется из соотношения
 cT
 с =К tg (6)
2

При проектировании аналоговых фильтров широко используют


частотные преобразования. В этом случае расчет фильтра требуемого
вида и с требуемыми характеристиками ведут на основе
нормализованного фильтра нижних частот. Полоса пропускания
нормализованного фильтра нижних частот ограничивается частотой
среза  с=1рад/с. Другие параметры нормализованного фильтра
(неравномерность АЧХ в полосе пропускания, затухание в волосе
непропускания и др.) рассчитывают в соответствии с заданными
требованиями. Затем с помощью частотного преобразования
нормализованный ФНЧ пересчитывают в фильтр требуемого вида
(ФНЧ, ФВЧ, полосовой, режекторный, и с нужными параметрами).
При проектировании цифровых фильтров также используют метод
частотных преобразований. По существу эти преобразования будут
рассмотрены далее. Здесь же отметим, что нормализованный
цифровой ФНЧ удобно нормировать по частоте к величине, равной
1/4 частоты дискретизации. В этом случае частота среза
нормализованного цифрового ФНЧ составляет
2
 с= 1 . (7)
4 T

Выбивая  с в соответствии с уравнением (7) и полагая 


с =1рад/с, из соотношения (6) получим К=1. Тогда выражение (4)
принимает вид

P=( 1-Z-1) /(1+Z-1). (8)

Аппроксимация частотных характеристик аналоговых фильтров

Фильтры с идеальными частотными характеристиками физически


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

Аппроксимация по Баттерворту. Фильтры Баттерворта нижних


частот обладают максимально плоскими (гладкими) амплитудно-
частотными характеристиками в начале координат. Это означает, что
все существующие производные от АЧХ равны нулю при  =0.
Функция передачи фильтров Баттерворта монотонно убывает при 
>0.
Квадрат АЧХ фильтра Баттерворта n -го порядка имеет вид
1
/На(  )/2= , (9)
1  ( /  c ) 2 п

где  c- частота среза фильтра.


Для нормированного фильтра (имеющего частоту среза  c=1 рад/c)
можно записать
1
/На (  ) /2= 1   2п (10)

Амплитудно-частотные характеристики фильтров Баттерворта, по-


строенные по уравнению (10), приведены на рис.2.

Рис.2

Передаточную функцию нормированного фильтра можно


представить в виде
К0
На(Р)= ,
П  ( Р  РК )
П

К 1

где Рк – к-й полюс функции (11), располагающийся в левой полуплос-


кости Р - плоскости;
К0 - константа нормирования, величина которой определяется из ус-
ловия
На(Р)/ Р=0 =1 (12)

В свою очередь, полюсы определяются следующими формулами:

РК=-singК+jcosgК, (13)


где gk= (2k-1) 2п .

Из приведенных выражений видно, что нормированные фильтры


Баттерворта полностью определяются порядком n . В свою очередь
порядок фильтра n выбирают исходя из требуемого затухания A на
частоте  гр (в полосе пропускания) по формуле
lg( A 2  1)
n= 2 lg гр (14)

Порядок фильтра можно определить также непосредственно по


формулам (9) и (10), учитывая требуемые значения АЧХ на
соответствующих частотах.
Пример1. Рассчитать нормированный фильтр нижних частот
Баттерворта, который должен удовлетворять следующим условиям:
а) в полосе пропускания

/На(j0,5)/2  0,9 (15)

б) в полосе задерживания

/На(j0,5)/2  0,01 (16)

Решение I. Определим порядок фильтра, который необходимо


выбрать, чтобы удовлетворить условиям (15) и (16).
Воспользовавшись формулой (9) из условия (15), получим

1/(1+2jn)  0,9 .

Аналогично условие (16) предполагает выполнение неравенства


1/(1+2jn)  0,01 .
Приведенные неравенства выполняются при n  4 .
Таким образом, заданные условия выполняются при n = 4 .
2. Рассчитаем значения полюсов по формуле (13):
P1=-sin  /8+jcos  /8= - 0,3827 + 0,9239

P2=-sin3  /8+jcos3  /8= - 0,9239 + 0,3827 (17)

P3=-sin5  /8+jcos5  /8= - 0,9039 - 0,3827

P4=-sin7  /8+jcos7  /8= - 0,3827 + 0,9239


3. Подставим выражения (17) в формулу (II) и получим
1 1
Ha(P)= ( P 2  0,7654P  1)( P 2  1,8478P  1)  P  2,6131P  3,4142P 2  2,6131P  1
4 3 .

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

/H(j  )/

1
Неравномерность
передачи

Ширина
равноволновой
0,5 полосы

n=5

0 1  ,рад/с
 ,рад/с

Рис.3

Число волн колебаний, которые укладываются в полосе пропускания,


зависит от порядка фильтра. Амплитуда колебаний этого коэффициента
передачи является свободным параметром.
Квадрат амплитудной характеристики нормированного ФНЧ
Чебышева записывается выражением
1
/Ha(j  )/2= 1  E 2T 2 () , (19)
n

где Тn- (  ) - полином Чебышева n -го порядка;


E- параметр, устанавливающий величину неравномерности
передачи.
Полином Чебышева определяется как

cos( n arccos ,   1
Tn (  )  
ch( nArch  ),  1
 (20)
Полиномы Чебышева низкого порядка имеют следующий вид:
T0 ()  1
T1 ()  
T2 ()  2 2  1
T3 ()  4 3  3
T4 ()  8 4  8 2  1

Для полиномов Чебышева существует рекуррентная формула


Tn 1 ()  2Tn()  Tn 1 (), n  1,2,3 (21)

Значения полиномов Чебышева лежат в пределах 0  Tn ()  1 , при


 1 . Tn () монотонно возрастает при  1 . Исходя из выражения (19)
и характеристик полиномов Чебышева, можно показать, что нор-
мированный фильтр нижних частот Чебышева обладает следующими
основными свойствами.
2
Ддя  1 значения функции H a ( j ) колеблются в пределах
1 /(1  E 2 ) и 1. На интервале 0    1 в общей сложности имеется n
2
критических точек, в которых функция H a ( j ) достигает максимального
значения, равного 1, или минимального значения 1 /(1  E 2 ) . По этой
причине фильтры Чебышева называют также равноволновыми фильтрами.
В качестве примера на рис.4 приведены графики функции 1 /(1  E 2 ) ,

определяемые выражением (19) на интервале 0    1 . Следует иметь в


виду, что если 1 /(1  E 2 ) >0,5 (обычный случай), то частота среза c по
уровню - 3 дБ для нормированного ФНЧ Чебышева будет больше 1рад/с.

H ( j ) , дБ
Кроме того, для такого фильтра в начале координат
1, еслиn  нечетное
H a ( j ))
2
 
1 /(1  E ), еслиn  четное
2 (22)
При   1 функция
2
H a ( j ) монотонно убывает и стремится к нулю.
В фильтрах Чебышева граница полосы пропускания находится на частоте
с  1, где H ( j1)
2
 1 /(1  E 2 ) , а граница полосы непропускания
   гр ,
2
расположена на частоте где H a ( j гр )  1/ A2 .

Фильтры Чебышева имеют простые (некратные) полюсы


p k   k  j k , k  1,2,..., n
 k   sh sin  (2k  1) / 2n
 k  ch cos ( 2k  1) / 2n (23)

sh  (   1 ) / 2, ch  (   1 ) / 2,   (1  1  E 2 ) / E 1/ n

Порядок фильтра Чебышева П , необходимый дня обеспечения


заданных значений E, A и  гр определяется с помощью формулы

lg( g  g 2  1)
n , (24)
2
lg( гр   гр  1)

где g ( A 2  1) / E 2
Весьма часто допустимая неравномерность коэффициента передачи в
полосе пропускания фильтра (максимальное затухание в полосе
пропускания Aмакс ) задается в децибелах. Очевидно, что
 
Амакс дБ  10 log 1 /(1  E 2 )  10 log(1  E 2 )

Отсюда следует, что колебательный параметр E определяется как


E  10 ( Aмакс / 10 )  1 (25)

Заметим, что помимо (23) существует также другое представление


полюсов фильтра Чебышева /4/:
p k   k  j k
2k  1
 k   sh1 / hArsh(1 /  ) sin()
2n
1 1  2k  1
 k  ch  Arsh( ) cos( )
h   2n (26)

Порядок фильтра можно также определить в соответствии с


требованиями к АЧХ непосредственно по формулам (19), (21).
Передаточная функция фильтра определяется выражением
k
H a ( p)  n
(27)
( p  p )
i 1
i

где k - константа, величина которой должна обеспечивать выполнение


условия (22).
Пример 2. Определить передаточную функции равноволнового фильтра
нижних частот, удовлетворяющую следующим условиям:
неравномерность передачи в полосе пропускания I дБ;
затухание в полосе задерживания по крайней мере 40 дБ при  гр =4
рад/с.
Решение. 1. Используя выражение (25), определим параметр

E  10 0 ,1  1  0,5088 (28)

2. Определим порядок фильтра n: решение будем искать методом проб


и ошибок. Проведем пробный расчет затухания при n=3. В соответствии с
формулой (21) имеем
T3 ()  3  4 3 (29)
Воспользовавшись выражениями (19), (27), (28), в соответствии с условием
задачи 2, составим неравенство
I + 0,50882 (23.4 + 4•43)г>I04 . (30)
Ясно, что неравенство (30) выполняется. Вместе с тем можно показать,
что при n=2 требуемое затухание в полосе задерживания не
обеспечивается. Следовательно, n =3.
3. Определим полюсы передаточной функции. Для этого воспользуем-
ся формулами (26).
Поскольку Е = 0,5088, из математических таблиц находим
Arsh(1 / E  Arsh (1.9652)=1,4280.

1
Поскольку n=3, то n
Arsh(1 / E ) =1,4280/3 = 0,4760. Снова воспользуемся

математическими таблицами. Получим


1 
sh  Arsh(1 / E )  0,4942
 n 
 1 
ch  Arsh(1 / E )  1,1154
 n 

Используя формулы (26), имеем



 1  0,4942 sin  0.2471
6

1  1.1154 cos  0.9660
6


 2  0,4942 sin  0.4942
2

 2  1.1154 cos  0
2
5
 3  0,4942 sin  0.2471
6
5
 3  1.1154 cos  0.9660
6

Таким образом, полюсы имеют следующие координаты:


p1   1  j1 , p1  0.2471  j 0.9660; (31)
p 2   2  j 2 , p 2  0.4942;
p3   3  j 3 , p 3  0.2471  j 0.9660;

Воспользовавшись выражениями (27), (31), получим для передаточной


функции фильтра
K0 0.4913
H a ( p)   3
( p  p1 )( p  p 2 )( p  p 3 ) p  0.9883 p  1.2384 p  0.4913
2

Частотные преобразования цифровых фильтров

Приведем формулы, позволяющие преобразовать нормализованный


цифровой фильтр нижних частот также в цифровой ФНЧ, но с
произвольной полосой пропускания, а также в фильтр высоких частот,
полосовой и заградительные фильтры. Теория частотных преобразований
достаточно полно изложена в работах /2,3,4/.
Преобразование цифровых фильтров производится по следующим
формулам:
а) преобразование фильтра нижних частот в фильтр нижних частот
z 1  ( z 1   ) /(1  z 1 ) (32)
где   sin ( cn   сз ) / 2T  / sin  ( сп   сз ) / 2T 
 сп - частота среза преобразуемого фильтра нижних частот,
 сз - заданная частота среза фильтра НЧ. Символ  означает операцию
подстановки;
б) преобразование фильтра нижних частот в фильтр верхних частот:

z 1  ( z 1   ) /(1  z 1 ) (33)
где    cos  ( cn   сз ) / 2T  / cos  ( сп   сз ) / 2T 
 сз -заданная
частота среза фильтра верхних частот;
в) преобразование фильтра нижних частот в полосовой
(полоснопропускающий) фильтр:
2k 1 1  k 1  k 2 2k 1
z 1  ( z  2  z  ) /( z  z  1) (34)
1 k 1 k 1 k k 1
cos  ( сз 2   сз1 ) / 2T 
где   cos( 0T ) 
cos ( сз 2   сз1 ) / 2T 
 0T
k  ctg   ( сз 2   сз1 ) / 2T   tg ( )
2
0 - центральная частота полосового фильтра;
 сз1 ,  сз 2 - нижняя и верхняя частоты полосового фильтра;
г) преобразование фильтра нижних частот в режекторный (полосно-
заграждающий) фильтр:

2 1 1  k 1  k 2 2 1
z 1  ( z  2  z  ) /( z  z  1) (35)
1 k 1 k 1 k k 1

cos  ( сз 2   сз1 ) / 2T 


где   cos( 0T ) 
cos ( сз 2   сз1 ) / 2T 

 0T
k  tg   ( сз 2   сз1 ) / 2T   tg ( )
2

Из приведенных выше соотношений видно, что при частотном преоб-


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

z 1  ( 0   1 z 1   2 z 2 ) /(  0  1 z 1   2 z 2 ) (36)

где коэффициенты  0 ,  1 ,  2 ,  0 , 1 ,  2 выбираются из условия соответствия


(36) одной из формул: (32), (33), (34), (35).
В таком случае для передаточной функции звена фильтра, полученной
в результате преобразования звена ФНЧ второго порядка, можно записать
  0   1 z 1   2 z 2  0   1 z 1   2 z 2 2 
H преобр ( z )   A0  A1  A2 ( ) /
  0  1 z 1   2 z 2  0  1 z 1   2 z  2 

    1 z 1   2 z 2  0   1 z 1   2 z 2 2 
/  B0  B1 0 1 2
 B 2 ( 1 2
)  (37)
  0   1 z   2 z  0   1 z   2 z 
Далее с помощью элементарных алгебраических преобразований пе-
редаточная функция ЦФ приводится к виду
N N
H преобр ( z )  ( Ai z i ) /( Bi z i ) (38)
i 0 i 0

где Ai , Bi - коэффициенты передаточной функции ЦФ.


В программе расчета цифрового фильтра частотное преобразование
осуществляется в подпрограмме - процедуре SUВRDUTINE TRASF.

ПРОГРАММА РЕАЛИЗАЦИИ ЦИФРОВЫХ БИХ-ФИЛЬТРОВ

Цифровые фильтры могут быть реализованы аппаратными средствами


или программным способом с помошью ЭВМ. В зависимости от
возможностей, заложенных в ЭВМ, программная реализация может быть
различной. При использовании "больших" и мини-ЭВМ, обладающих
достаточно большой вычислительной мощностью, эффективный
машинный алгоритм цифровой фильтрации можно построить на основе
разностного уравнения, определяющего БИХ цифровой фильтр,
N 1 N 1
y (n)   ai x(n  i )   bi y (n  i ) (39)
i 0 i 1

В этом уравнении ai и bi - коэффициенты передаточной функции


фильтра
N 1 M 1
H ( z )  ( ai z i ) /(  bi z i ) (40)
i 0 i 0

Вследствие ошибок квантования коэффициентов частотные характе-


ристики реальных фильтров отличаются от расчетных характеристик. При
фиксированной разрядности двоичных чисел коэффициентов ошибки час-
тотных характеристик оказываются большими в фильтрах высокого
порядка. Поэтому при реализации цифровые фильтры нижних и верхних
частот высокого порядка представляются в виде совокупности филътров-
звеньев второго порядка, для чего передаточная функция фильтра
высокого порядка разлагается на элементарные дроби:
L
H ( z )  H 0   H j ( z ),
j 1

a 0 j  a1 j z 1  a 2 j z  2
(41)
H j ( z) 
1  b1 j z 1  b2 j z  2

либо представляется в виде произведения:

L
H ( z )  K 0  H j ( z ),
j 1

a 0 j  a1 j z 1  a 2 j z  2
(42)
H j ( z) 
1  b1 j z 1  b2 j z  2

Выражению (41) соответствует параллельная форма цифрового фильтра


(рис. 5,а).(рис.5,а), формуле (42) - последовательная каскадная форма
(рис.5,б).

Рис.5
На рис.5,б множитель K опущен, так как он может быть учтен в
коэффициентах усиления звеньев. Для полосовых и режекторных
(полосно-заграждающих) фильтров звенья в выражениях (41) и (42) имеют
четвертый порядок.
Для реализации каждого из звеньев может быть использована прямая
или каноническая форма построения цифровых фильтров.
Рассмотрим суть машинного алгоритма для последовательного кас-
кадного цифрового фильтра, звенья которого имеют второй порядок и
реализованы в прямой форме (рис.6). На схеме символом z 1 обозначен
элемент задержки на один такт, треугольником - умножитель.
Алгоритм имеет рекуррентную (циклическую) структуру. Будем
считать все входные и "внутренние" переменные для каждого из звеньев
фильтра x j ( n), x j ( n  1), x j ( n  2), y j ( n  1), y j (n  2) , образовавшиеся в
результате поступления очередного отсчета входного сигнала и
выполнения предшествующего цикла, известными. Каждый цикл
алгоритма выполняется за L шагов по числу звеньев в фильтре. В свою
очередь, каждый шаг выполняется в три этапа.

Рис.6
Для j-го звена такими этапами будут:
I. Вычисление значения выходного отсчета звена по формуле
y j (n)  a 0 j x j ( n)  a1 j x ( n  1)  a 2 j x j (n  2)  b1 j y ( n  1)  b2 j y ( n  2) (43)
II. Сдвиг (пересылка) переменных но правилу

x j ( n  1)  x j (n  2)

x j ( n)  x j ( n  1) (44)
y j ( n  1)  y j ( n  2)

y j (n)  y j (n  1)

Такой сдвиг означает перемещение отсчетов сигналов по цепям задержки


цифрового фильтра (см.рис.6). При этом переменные x j ( n  2) и y j ( n  2 )

сбрасываются.
Ш.Присвоение значению входной величины последующего звена вы-
ходной величины предшествующего звена:
x j 1 ( n)  y j (n) (45)
При этом значению входного сигнала первого звена присваивается
величина очередного отсчета, поступающего из источника (генератора)
входного сигнала. Отсчет выходного сигнала L-го звена выдается на
выход фильтра. В результате фильтр оказывается подготовленным к
выполнению следующего цикла работы.
Как видно, в каждом цикле на вход фильтра подается один очередной
отсчет входного сигнала, и с выхода фильтра поступает один отсчет
выходного сигнала.
В начале работы (при ''включении" фильтра) все входные, выходные и
внутренние переменные звеньев фильтре принудительно обнуляются. Тем
самым обеспечивается возможность функционирования рекуррентного
алгоритма с самого начала. Структурные схемы и алгоритмы работы
полосно-пропускающего и полосно-заграждающего фильтров строятся
аналогично изложенному выше.
В машинном эксперименте с цифровым фильтром исследуется прохож-
дение через фильтр гармонических сигналов трех частот, одна из которых
должна быть размещена в полосе прозрачности ЦФ, вторая - в полосе
заграждения и третья - в переходной полосе. В качестве источника сигнала
используется цифровой синусно-косинусный генератор.
Заметим, что в системной библиотеке алгоритмического языка
Фортран имеются стандартные процедуры для вычисления
тригонометрических. функций SIN и CОS. В таких процедурах
тригонометрические функции вычисляются путем аппроксимации их
значений степенным рядом. Поэтом многократное обращение к
стандартной подпрограмме для формирования последовательности
отсчетов входного сигнала сопряжено с большими затратами машинного
времени. Для исключения этих потерь используется упомянутый выше
синусно-косинусный генератор.
Синусно - косинусный генератор -это рекуррентный алгоритм
вычисления функций синуса и косинуса с дискретным приращением
аргумента. В основе этого алгоритма лежат известные соотношения
cos (nT  T )  cos nT cos T  sin nT sin T

sin ( nT  T )  cos nT sin T  sin nT cos T

Обозначим независящие от времени величины


A2  sin T , B2  cos T (46)
Тогда значения синуса и косинуса частоты  в последующем такте (в
последующий момент времени) sn1  sin (nT  T ) и cs1  cos (nT  T )

появляются через предшествующие значения sn1  sin (nT  и


cs  cos (nT  как
cs1   A2 sn  B2 cs

sn1  A2 cs  B2 sn

Для работы этого алгоритма необходимо вычислить коэффициенты


A2 и B2 в соответствии с (46) для заданной нормированной частоты T
и выбрать некоторые начальные значения синуса и косинуса, например,
sn  0, cs  1 (здесь -  (рад/с) - "абсолютная" величина круговое частоты,
Т - ваг временной дискретизации).
ВОПРОСЫ ДНЯ САМОПРОВЕРКИ

1. Что такое рекурсивный (БИХ) цифровой фильтр и какие существуют


способы его описания во временной и частотной областях?
2. Каковы сущность и особенности расчета цифровых фильтров
методой билинейного преобразования?
3. Какова причина искажения АЧХ цифрового фильтра относите АЧХ
АФ - прототипа при билинейном преобразовании? Каким образом можно
скомпенсировать эти искажения?
4. Какими свойствами обладают АФ НЧ Баттерворта и каков порядок
расчета этих фильтров?
5. Какими свойствами обладают АФ НЧ Чебышева и какими
факторами эти свойства определяются?
6. Каковы порядок и основные операции расчета АФ HЧ Чебышева?
7. В чем суть частотных преобразований цифровых фильтров?
8. Сущность программной реализации цифровых фильтров. Запишите
на память алгоритм программной реализации и свяжите его со
структурной схемой ЦФ.
9. Каковы функции программы, используемой в работе? Каким
образом ставится и решается задача машинного расчета цифровых
фильтров? Какова структура программы расчета фильтров?
10. Сущность машинного эксперимента по исследованию прохождения
сигналов через цифровой фильтр. Как ставится и решается эта задача?
Какова структура программы моделирования ЦФ?
11. Как подготавливается и записывается набор исходных данных для
ЭВМ и каким образом вводится в машину?
Библиографический список

Рабинер Л., Гоудд Б. Теория и применение цифровой обработки cигнаов:


Пер. с англ./Под ред. Ю.Н.Александрова.М.:Мир, 1978,-848с.

Антонью А. Цифровые фильтры: анализ и проектирование :Пер. с aнгл./


Под ред. С.А.Понырко.М.:Радио и связь, I983.-320с.
Каппелини В., Константинидис А.Д., Эмилиани П. Цифровые фильтры и
их применение: Пер. с англ./Под ред. Н.Н.Слепова. М.:Энергоатомиздат,
I983.-360с.
4. Лэм. Г. Аналоговые и цифровые фильтры. Расчет и реализация :Пер.с
англ./Под ред. И.Н.Теплюка. М.: Мир, I982.-592с.
5. Кузенков В. Д. Методы цифровой обработки сигналов: Учебное пособие.
Куйбышев: КуАИ, 1983.-94с.