СОВРЕМЕННАЯ ЭЛЕКТРОНИКА №1/2015

ПРОЕКТИРОВАНИЕ И МОДЕЛИРОВАНИЕ 66 WWW.SOEL.RU СОВРЕМЕННАЯ ЭЛЕКТРОНИКА ◆ № 1 2015 –80 –60 –40 –20 0 –180 –160 –140 –120 –100 –200 0 0,05 0,1 0,15 0,2 0,25 0,3 0,35 0,4 0,45 f– дБ а –80 –60 –40 –20 0 –180 –160 –140 –120 –100 –200 0 0,05 0,1 0,15 0,2 0,25 0,3 0,35 0,4 0,45 f– дБ б ния. Поэтому возникла необходимость снова обратиться к каскадной форме представления ЦФ с целью разработ- ки алгоритма и программы, свободных от указанных недостатков, но таких, чтобы в них не требовалось вводить дополнительных массивов памяти, рав- ных массиву фильтруемой функции. Такой алгоритм оказался весьма про- стым; фрагмент его программы пред- ставлен в листинге 3. Он иллюстриру- ет программу фильтрации табличной функции с помощью каскада из N трёх- точечных ЦФ. П ОРЯДОК ПРОЕКТИРОВАНИЯ ЦИФРОВЫХ ФИЛЬТРОВ При проектировании ЦФ вначале формулируются требования к желае- мым характеристикам ЦФ, которыми он должен обладать. В этих требова- ниях указывают границу полосы про- пускания частот, ширину переходной зоны, примыкающей к границе поло- сы задержания частот, и неравномер- ность частотной характеристики в пре- делах полос пропускания и задержа- ния частот. Как видно на рисунках 3а и 3б, переходные зоны рассматривае- мых ЦФ занимают значительную часть полосы пропускания частот. Для умень- шения этой зоны можно воспользо- ваться последовательно включаемы- ми корректирующими ЦФ, которые могут быть получены с помощью диф- ференцирующих звеньев двух следую- щих видов: (12) Для перехода от аналоговой формы к дискретной и получения из форму- лы (12) коэффициентов корректиру- ющих ЦФ воспользуемся аппрокси- мацией производных входной функ- ции с помощью конечных разностей между её отсчётами: (13) С помощью подстановки формул (13) в уравнение (12) и простых пре- образований легко получить коэффи- циенты корректирующих ЦФ и запи- сать формулы этих двух ЦФ в следу- ющем виде: (14) где . 1 2 –80 –60 –40 –20 0 –180 –160 –140 –120 –100 –200 0 0,05 0,1 0,15 0,2 0,25 0,3 0,35 0,4 0,45 f– дБ Рис. 4. ЛАХ каскада из 9 трёхточечных ЦФ без коррекции (1) и с коррекцией (2), используемой для увеличения крутизны переходной зоны Рис. 3. Логарифмические амплитудно-частотные характеристики ЦФ с равномерным (а) и степенным (б) распределением нулей АЧХ В листинге 1 представлен фрагмент программы расчёта ЛАХ на языке С++. При построении алгоритма этой про- граммы используется формула частот- ной характеристики трёхточечно- го ЦФ: На первый взгляд, ЦФ, получае- мые из трёхточечных ЦФ в каскад- ной форме, удобны только для рас- чёта частотных характеристик при проектировании, но оказывают- ся неудобными при использовании по назначению. Поэтому возникает необходимость преобразования их к одному многоточечному ЦФ. Так как сделать это вручную, например, с помощью калькулятора, весьма труд- но, а при относительно большом чис- ле каскадов вообще невозможно, то был разработан весьма компактный алгоритм реализации процедуры сво- рачивания каскадной формы, фраг- мент программы которой представ- лен в листинге 2. Он иллюстрирует расчёт коэффициентов девятикаскад- ного ЦФ (для примера принято зна- чение счётчика цикла n = 1, при кото- ром происходит умножение пятито- чечного ЦФ на трёхточечный ЦФ). В основу алгоритма положена при- ведённая ниже система уравнений для вычисления коэффициентов много- точечных ЦФ. В соответствии с этой системой производится последова- тельное умножение получающихся результатов на очередной трёхточеч- ный ЦФ. Результат, получающийся от умножения первых двух трёхточечных ЦФ – пятиточечный ЦФ, умножается на третий трёхточечный и так далее. Последний случай представлен в виде следующей системы равенств: c 1 = b 1 a 1 + 0 + 0; c 2 = b 1 a 2 + b 2 a 1 + 0; c 3 = b 1 a 3 + b 2 a 2 + b 3 a 1 ; c 4 = b 1 a 4 + b 2 a 3 + b 3 a 2 ; c 5 = b 1 a 5 + b 2 a 4 + b 3 a 3 ; c 6 = 0 + b 2 a 5 + b 3 a 4 ; c 7 = 0 + 0 + b 3 a 5 . В соответствии с этой системой тре- буется суммировать по диагонали линейные формы, состоящие из трёх слагаемых. После проведённых расчётов по этой программе стало видно, что при боль- шом количестве коэффициентов мно- готочечных ЦФ требуется весьма высо- кая точность задания их значений, что можно получить только при большом числе разрядов в регистрах ЭВМ, ина- че сумма всех коэффициентов будет существенно отличаться от единицы. Кроме того, возникает необходимость дополнять фильтруемую функцию нулевыми значениями за пределами начала и конца области её определе-

RkJQdWJsaXNoZXIy MTQ4NjUy