Сергиенко А.Б. Цифровая обработка сигналов (2002) (1095939), страница 22
Текст из файла (страница 22)
2.12), Серые области на рисунке демонстрируют допуски, в которые должна укладываться АЧХ фильтра в полосах пропускания и задерживания. мг Глава 2. Аналоговые системы н О «~я (О ФВЧ нх ФНЧ К(/ О Ок(1) нр(1) нр(2) и,(2) н О нр(1) Оъ,(1) еь(2) сОх(2) и Полосовой фильтр Режекторный фильтр Рис.
2.12. Задание исходных параметров для расчета ФНЧ, ФВЧ, полосовых н режекторных фильтров Выбрать минимально необходимый порядок фильтра позволяют следующие однотипные функции пакета агнца! Ргосезз(пй1 [и, Ип! - Ьцгтогй (Ир, Из, йр, йз, 'з') [и. Ип) - спей)огб (Ир. Из, нр.
йз. 'з') [и, Ип) - свеЬ2ого (Ир. Из. нр, йз, 'з') [п. Ип) - е111рого (Ир. Из. хр, йз, 'з') Входной параметр йр — допустимый уровень пульсаций в полосе пропускания [в децибелах), йз — минимально необходимое затухание в полосе задерживания [в децибелах). Параметры Ир и Иа задают границы полос пропускания и задерживания, способ задания этих параметров зависит от типа проектируемого фильтра: О ФНЧ: Ир и Из — числа, при этом должно выполняться неравенство Ир «Из; 0 ФВЧ: Ир и Из — числа, при этом должно выполняться неравенство Ир х Из; С) полосовой фильтр: Ир и Из — двухэлементные векторы, при этом должны выполняться неравенства Из(1) «Ир(1) «Ир(2) «Из(2); 0 режекторный фильтр; Ир и Из — двухэлементные векторы, при этом должны выполняться неравенства Ир(1) « Из(1) « Из(2) « Ир(2). ЗАМЕЧАНИЕ Данные функции позволяют выбирать порядок как для аналоговых, так и для дискретных фильтров.
Последний параметр 'з' является признаком аналогового расчета. Использова- ние этих функций для определения требуемого порядка дискретных фильтров обсуждает- ся в разделе «Функции выбора порядка фнльтровь главы 6. 12з Функции МАТЮКАВ длл расчета линейных цепей Значения параметров т1р и йз были обозначены на рис. 2.12 как атр и а, соответст- венно. Выходными параметрами являются минимально необходимый для выполнения заданных требований порядок фильтра п и частота среза фильтра ип. Эти параметры должны затем использоваться при вызове функции расчета фильтра, Возврат значения т1л избавляет пользователя от забот, связанных с тем, что при расчете разных фильтров понятие частоты среза имеет разный смысл.
Для эллиптических фильтров и фильтров Чебышева первого рода Ил = 'ир, для фильтров Чебышева второго рода йв - 'к1з, а для фильтров Баттерворта значение т1л (напомним, что оно определяет частоту среза по уровню 3 дБ) зависит от заданного уровня пульсаций йр следующим образом: ат„ атп '6~ -1 Поскольку порядок фильтра — величина целочисленная, то обычно оказывается, что фильтр минимально необходимого порядка обеспечивает некоторый запас по исходным параметрам. Этот запас можно использовать по-разному — либо сделать пульсации в полосе пропускания точно равными заданным, но увеличить затухание в полосе задерживания, либо точно выдержать заданное затухание в полосе задерживания, уменьшив при этом пульсации в полосе пропускания. Для эллиптических фильтров возможен еще один вариант — сужение переходной зоны за счет расширения полосы зздерживания.
Поведение функций выбора порядка фильтра в этом аспекте определяется тем, что при расчете фильтра должны будут использоваться те же параметры пульсаций йр и йз, что и при выборе порядка фильтра. Поэтому для фильтров Баттерворта и Чебышева первого рода будет увеличиваться затухание в полосе задерживания, для фильтров Чебышева второго рода — уменьшаться пульсации в полосе пропускания, а для эллиптических фильтров — расширяться полоса задерживания.
Расчет групповой задержки В МАТЮКАВ нет функции, позволяющей вычислять групповую задержку для аналоговых систем (функция дгрйе1ау предназначена только для дискретных систем; речь о ней пойдет в разделе «Расчет групповой задержки дискретной системы» главы 4), Поэтому в качестве небольшого примера рассмотрим возможную реализацию такой функции.
Назовем ее, скажем, йгр ое1. Прежде всего следует определиться с входными и выходными параметрами. Пусть функция получает векторы коэффициентов Ь и а полиномов числителя и знаменателя функции передачи, а также вектор значений круговой частоты и для расчета групповой задержки, Возвращаемый результат Ьзц — вектор рассчитанных значений групповой задержки.
Итак, функция будет использоваться следующим образом: 1ац - йгр ое! (Ь, а. и) Теперь нужно разобраться с алгоритмом работы функции, то есть получить формулы, по которым будут выполняться вычисления. Для этого вспомним, что функция передачи выражается в виде отношения двух полиномов и что при 124 Глава 2. Аналоговые системы делении комплексных чисел их фазы вьтчитасотся.
Если все это учесть в определении групповой задержки (см. формулу (2.2) в разделе «Фазовая и групповая задержкам), получим следующее: с1 АЦсо) б . б т „, (со) = — агя — = — агя А( усо) — — агя В( учо) . бсо Ватто) бсо йо Фаза комплексного числа равна арктангенсу отношения мнимой и вещественной частей (добавление константы +л не имеет значения, так как оно не повлияет на результат дифференцирования по оз); с1 1(пА()со) с1 1тВ( учю) т,„,(со) = — агсся — — агсся йо КеА()со) с1со КеВ(усо) Наконец, дифференцирование арктангенса дроби дает следующее: б, .
с1 Ке А( у со) — 1т А( уто) -1т А( у со) — Ке А(утв) йо йо ~ А(усо)! в б .. б Р.е В(усо) — 1т В(уст) — 1т В(утв) — не В( усю) йо йо ! В(усе), 'в (2.15) тыпсссоп Жаы " дгр бе1(Ь, а, ы) Ж размещаем козффициенты в порЯдке возрастаниЯ стегенеа Ь = т"1)р1г(Ь); а = (1тр1г(а): Ж выравниваеи длины векторов (Ь, а) - еост'1епдсп(Ь, а): Ж выделЯеи вещественную часть числителЯ Вг = Ь: Вг(2:2:епй = С: Ж только четные стегени В.(З;4.епй - -Вг(З:4:епб); Ж через раз - знак "иинус" Ж выделЯем мнимую часть числителЯ В~ = Ь; В;( Н 2:епб) - 0; Ж только нечетные степени Вт(4:4:епй = -В)(4:4:епй: Ж через раз - знак "иинус" Ж вь.делЯем вещественную часть знаиенателЯ Аг = а; Аг(2:2:епб) " С: Ж только четные степени Аг(3:4:епй - -Аг(3:4:епй; Ж через раз - знак "нкнус" Ж вылелЯем инииую часть знаиенателЯ Поскольку числитель и знаменатель функции передачи являются полиномами относительно переменной з -уст, выделение вещественной и мнимой частей, так же как и дифференцирование, сводится к простым манипуляциям с векторами коэффициентов полиномов.
Комментарии на этот счет приводятся непосредстт пно в листинге функции: Функции МАТ(АВ дли расчета линейных цапай 125 А1 Ат(1:2:епб) - 0; Ж только нечетные степени Ат(4:4:епб) = -Ат(4:4:епб); Ж через раз - знак "иинус" Ж разиешаен коэффициенты в порЯдке убываниЯ степеней Аг=111р1г(Аг); А1-111р1г(А!)', Вг 111р1г(Вг); В1-111р1г(В1): Ж вычислЯем знаиенатели слагаемых Оеп В сопи(Вг.
Вг) + сопи(Вт, В1); беп А - сосу(Аг. Аг) + сопи(А1, А1); Ж вычислЯен числители слагаеных [пцш В, сшр) - ро1убег(В1, Вг); [пцш А. ьшр) - ро1убег(А1, Аг): Ж вычислЯеи групповую задержку Сац = -ро!ууа1(пцю В, и)./ро1уча1(беп В, и) ро1уча1(пцш А. и).lро1ууа1(беп А, ы), Этот программный код в точности реализует формулу (2.15). Приведем ряд до- полнительных комментариев. Переворачивание векторов-строк «задом наперед» с помощью функции 111р1 г производится исключительно для удобства выделения вещественных и мнимых частей — отсчитывать коэффициенты при этом проще от начала вектора, чем от конца.
Функция едтГ1епдтп выравнивает длины пере- данных ей векторов, дополняя более короткий из них нулями в конце. Функция ро1убег, вызванная с двумя входными и выходными параметрами, вычисляет производную отношеттия двух полиномов, возвращая коэффициенты числителя и знаменателя результата. Нас в данном случае интересует только первый вы- ходной параметр, поскольку числители слагаемых в (2,15) совпадают с числите- лями производных от дробей 1т В()то)/Ке В()то) и 1т А(1«в)/Ке А()го). Умноже- ние полиномов эквивалентно свертке векторов их коэффициентов, выполняемой с помощью функции сопи (см. раздел «Дискретная свертка» главы 4). Для вычис- ления значений полиномов в заданных точках используется функция ро!уча).
Мы реализовали лишь простейший вариант — вычисление групповой задержки в заданных частотных точках. В принципе функцию можно расширить, реализо- вав возможности, аналогичные тем, которыми обладает функция Тгеяв; вывод графика при отсутствии выходных параметров, задание вектора частот по умол- чанию и т. д. Заинтересованный читатель может сделать это, изучив исходный код функции Ггедз (файл мАтыВ((121тоо1ьох15)дпа1)8(дпаг,(гецэ.гп). В качестве примера применения разработанной функции (не забудьте сохранить ее в виде файла с именем дгр Оа)кп) построим с ее помощью графики зависимо- сти групповой задержки от частоты для двух рассмотренных ранее фильтров- прототипов — Чебышева первого рода и Бесселя (рис.
2.13): » Ж фильтр Чебышева первого рода » [т, р, к) = спеЬ)ар(5, 0.5): Ж нули и полюсы прототипа » [Ь, а) - зр21т(з, р, к): Ж коэффициенты функции передачи » ы = 0;0.01:5: » Сац - дгр Ое)(Ь. а. и). Ж групповаЯ задержка 126 Глава 2. Аналоговые системы » р1ог(и, Ьац). дгтб » Ж фильтр Бесселя » (з, р. к) - Ьеззе1ар(5): » (Ь, а] - зр2гт(з, р. к): » и 0:0.01:5: » ьац - дгр бе1(Ь, а, и): » т1дцге » р1от(и, тац), дг1г) Ж график групповой задержки Ж нули и полосы прототипа Ж козффициенты функции передачи Ж групповаЯ задержка Ж график групповой задержки 12 10 О О 1 2 3 О.Б О О 1 2 3 Рис. 2.13.
Частотная зависимость групповой задержки для фильтров Чебышева первого рода (сверху) и Бесселя (снизу) Результаты расчетов показывают, что частотная зависимость групповой задержки для фильтра Чебышева первого рода имеет весьма изрезанный вид, а аналогичный параметр для фильтра Бесселя, как и было отмечено при рассмотрении соответствуюшего фильтра-прототипа, в полосе пропускания практически не меняется. ГЛАВА 3 Дискретные сигналы После двух вводных глав, посвященных основам теории сигналов и линейных систем, мы наконец приступаем к рассмотрению вопросов, непосредственно связанных с предметом данной книги — цифровой обработкой сигналов. Сущность цифровой обработки состоит в том, что физический сигнал (напряжение, ток и т.