Книга
Книга
ПРЕДИСЛОВИЕ
Для успешного осуществления любого значительного начинания, подобного написанию данной книги, необходимы помощь и поддержка. Авторы хотели бы выразить признательность сотрудникам фирмы Bell за помощь на всех этапах подготовки этой книги. Мы хотели бы особенно поблагодарить Генри Раупа из чертежного бюро, а также г-жу Ричардс и г-жу Олцвари из машинописного бюро за их неоценимую помощь. Г-жа Беверли Масай- тис также оказывала нам помощь, перепечатывая различные варианты этой книги. Г-жа Кэти Шипли помогала составлять программы, которые были использованы в этой книге. Авторы хотели бы также поблагодарить библиографический отдел фирмы Bell за содействие в подготовке рукописи.
Почти одновременно с публикацией этой книги выйдет в свет дополняющая ее книга Оппенгейма и Шафера. Данная книга предназначена в основном для инженеров-проектировщиков и может служить учебным пособием на курсах повышения квалификации, тогда как книга Оппенгейма и Шафера рассчитана на аспирантов электротехнических специальностей и посвящена в основном глубокому рассмотрению фундаментальных теоретических вопросов. В нашей же книге главное внимание уделено детальному изложению последних достижений в области цифровой обработки, включая методы расчета цифровых фильтров и специализированных устройств, а также практическому применению цифровой обработки. Аспирантам было бы наиболее целесообразно использовать эти книги в следующей последовательности: сначала в течение одного семестра проработать книгу Оппенгейма и Шафера, а затем перейти к изучению новейших методов, используя нашу книгу. Здесь следует отметить, что мы в долгу перед указанными авторами за благотворное техническое сотрудничество. В частности, один из авторов этой книги Л. Рабинер в течение семи лет тесно сотрудничал с Роном Шафером, и это содружество принесло ему глубокое удовлетворение и в профессиональном отношении было весьма плодотворным. Все мы начали работать в этой обла-
сти науки на ранней стадии ее развития и «выросли» вместе с ней. Интересно отметить, что, хотя обе эти книги написаны независимо друг от друга, часть материала в них является общей, что неизбежно для книг, которые в некоторой мере претендуют на полноту изложения. В этой связи мы выражаем глубокую признательность Оппенгейму и Шаферу за то большое влияние, которое они оказали на методику изложения теоретического материала первых глав книги; по-видимому, это влияние особенно заметно в гл. 2 при изложении теории дискретных линейных систем и в не- торых разделах гл. 5 при описании эффектов конечной разрядности арифметического устройства. Однако (и мы уверены, что наши коллеги согласятся с этим) нашей признательностью за эту помощь мы можем лишь в незначительной степени отблагодарить их за теплое и продолжительное техническое сотрудничество и, что еще более важно, за их дружбу с нами. Мы хотели бы также выразить признательность двум выдающимся специалистам в области цифровой обработки сигналов Чарльзу Рэйдеру из Линкольновской лаборатории и Джеймсу Кайзеру, сотруднику фирмы Bell, с которыми нам посчастливилось близко познакомиться. Наше техническое сотрудничество с этими специалистами было очень плодотворным. Мы благодарны Чарльзу Рэйдеру за его участие в подготовке к печати разд. 6.19, посвященного свертке и корреляции, выполняемым с помощью теоретико-числовых преобразований.
Значительная часть материала гл. 5, касающегося эффектов квантования в цифровых фильтрах, основывается на важных работах Леланда Джексона (Rockland Systems Corporation) и Клиффа Вайнштейна (Линкольновская лаборатория Массачусетского технологического института). В частности, Джексон предоставил некоторые графические данные, приведенные в этой главе и гл. 9. Фотографии, использованные в разд. 7.21, были предоставлены проф. Томасом Стокхэмом из Университета штата Юта, а также проф. Леоном Хармоном и Аланом Стрельцовым из Университета Case Western Reserve.
Значительная часть материала гл. 8, посвященной специализированным устройствам для цифровой обработки сигналов, была заимствована из опубликованных работ и подготовлена с помощью коллег из Линкольновской лаборатории Массачусетского технологического института. Многие сведения взяты из справочников и руководств по применению интегральных схем, Jony б линованных фирмой Motorola. Поль Макхью, Джо Тирни, Алан Маклафлин, Питер Бланкеншип, Альберт Хантун и Чарльз Рэйдер из Линкольновской лаборатории МТИ помогали в подготовке этой главы. Кроме того, большое влияние на изложение материала по умножителям оказала работа Стилианоса Пезареса по матричным умножителям. Особую благодарность мы должны выразить Пи-
теру Бланкеншипу за разрешение использовать в этой главе его работу по делителям и арифметическим устройствам с плавающей запятой, а также за полезные замечания и подробный разбор первого варианта этой главы.
Авторы выражают признательность сотрудникам Линкольновской лаборатории Массачусетского технологического института Эдварду Хофштетеру, Питеру Бланкеншипу, С. Е. Муэ и Тэду Биалли за полезные советы, критические замечания и дополнения к гл. 13, посвященной применению цифровой обработки в радиолокации. В частности, Хофштетер любезно согласился просмотреть первый вариант этой главы.
Наконец, мы выражаем огромную признательность Чарльзу Рэйдеру за весьма внимательное и тщательное редактирование всей рукописи. Он не только исправил некоторые математические и логические ошибки, но внес также ряд ценных предложений- которые способствовали более полному освещению некоторых важных вопросов. Мы очень обязаны ему за эту помощь.
Необходимо выразить благодарность Джеймсу Л. Фланагану за его руководство в течение ряда лет работой одного из нас (Л. Рабинера) в фирме Bell. Его понимание проблем и трудностей, связанных с подготовкой этой книги, сделало работу под его руководством особенно приятной.
Наверное, самая глубокая благодарность и признательность должны быть выражены нашим семьям за их терпение, выдержку и понимание, которые от них потребовались в значительно большей мере, чем обычно. Поскольку эта книга была подготовлена в основном в нерабочее время, т. е. в те часы, которые обычно посвящены семье, то те два с половиной года, которые наши семьи потеряли, являются немалым вкладом в эту работу. Мы очень благодарны нашим женам и детям за их помощь
Лоуренс Р. Рабинер и Бернард Гоулд
Глава 1
ВВЕДЕНИЕ
Краткий исторический очерк и некоторые комментарии
Еще с середины 40-х годов, если не раньше, специалисты по радиоэлектронике начали задумываться над возможностью применения специализированных цифровых устройств для решения разнообразных задач, связанных с обработкой сигналов. Так, например. Лемме ль (1948) вспоминает беседу между Боде, Шенноном и несколькими другими научными сотрудниками фирмы Bell Telephone о возможности использования цифровых элементов для создания фильтров. Нечего и говорить, что в то время выводы не были благоприятными. С точки зрения стоимости, размеров и надежности предпочтение следовало отдать аналоговой фильтрации и аналоговым методам спектрального анализа. Стокхэм (1955) сообщает, что в 50-х годах Линвиль, тогда профессор Массачусетского технологического института, обсуждал вопросы цифровой фильтрации на семинарах со своими аспирантами. К этому времени теория управления, частично основанная на работе Гуревича (1945), уже утвердилась как самостоятельное научное направление; были глубоко изучены принципы дискретизации колебаний и возникающие при этом спектральные эффекты, а математический аппарат теории z-преобразования, существовавший еще со времен Лапласа, начал находить применение в радиоэлектронике и смежных дисциплинах. Однако достигнутый уровень развития техники позволял получить практические результаты только в задачах управления медленными процессами и обработки низкочастотных сейсмических сигналов. Хотя сейсмологи при решении многих интересных задач довольно широко использовали понятия, относящиеся к цифровой фильтрации, более или менее строгая теория цифровой обработки сигналов начала создаваться лишь с середины 60-х годов. К этому времени были оценены потенциальные возможности интегральных микросхем, что позволило представить полную систему обработки сигналов, для которой наилучшая техническая реализация была бы именно цифровой.
Первый крупный вклад в теорию цифровой обработки сигна- л°в, касающийся анализа и синтеза цифровых фильтров, был еде-
лан Кайзером (фирма Bell); он показал, как можно рассчитывать цифровые фильтры с нужными характеристиками, используя билинейное преобразование. Примерно тогда же (1965 г.) появилась статья Кули и Тьюки о быстром методе вычисления дискретного преобразования Фурье, давшая мощный толчок развитию этого нового технического направления. Позже метод был развит и стал широко известен как быстрое преобразование Фурье (БПФ) благодаря многочисленным публикациям в IEEE Transactions of the Group on Audio and Electroacoustics и других журналах. Ценность этого метода заключается в сокращении времени вычисления дискретного преобразования Фурье (на один-два порядка для большинства практических задач).
Опубликование статьи Кули и Тьюки ускорило развитие строгой и достаточно полной теории цифровой фильтрации. Важнейшее значение метода БПФ состояло в том, что он наглядно продемонстрировал, насколько цифровые методы при спектральном анализе могут оказаться экономичнее аналоговых. После создания метода БПФ интенсивность исследований в области цифровой фильтрации резко возросла, и в настоящее время цифровые методы широко используются для спектрального анализа самых разнообразных сигналов, начиная с низкочастотных колебаний в сейсмологии и звуковых колебаний в гидрологии и при анализе речи и кончая видеосигналами в радиолокации. .
Возможно, наиболее интересным аспектом развития цифровой обработки является постоянно изменяющееся соотношение между ролями, которые играют цифровые фильтры с импульсными характеристиками конечной и бесконечной длины (называемые КИХ-фильтрами и БИХ-фильтрами соответственно). Первоначальный анализ КИХ-фильтров, проведенный Кайзером с использованием временных весовых функций (окон), показал, что с точки зрения объема вычислений БИХ-фильтры значительно эффективнее КИХ-фильтров. Однако Стокхэм в своей работе о вычислении свертки методом БПФ (или, точнее, о цифровой фильтрации с использованием КИХ-фильтров) показал, что с точки зрения объема вычислений реализация КИХ-фильтров высокого порядка может быть чрезвычайно эффективной, так что при сравнении КИХ-фильтров и БИХ-фильтров уже нельзя считать, что последние имеют явное преимущество. Этот вывод способствовал усиленному поиску эффективных методов расчета КИХ-фильтров.
Развитие этих исследований привело к тому, что во многих учебных заведениях в аспирантские, а также в студенческие программы электротехнических специальностей были включены курсы цифровой обработки сигналов.
Первой попыткой исчерпывающего изложения теории цифровой обработки сигналов была книга Гоулда и Рэйдера (1969). Эту
книгу применяли в качестве учебного пособия для аспирантов, и как руководство для инженеров, работающих в промышленности. Естественно, что книга не могла полностью удовлетворить и тех и других. Не нужно доказывать, что хорошее учебное пособие может быть составлено только на основе курса, читавшегося в течение по крайней мере нескольких лет, и подходящего набора задач. В то же время инженеры-разработчики хотели бы располагать более обширными сведениями по проектированию фильтров и более совершенными методами синтеза, чем те, которые существовали к моменту написания книги.
Изложив эту краткую предысторию, сформулируем назначение данной монографии. Прежде всего она адресована проектировщикам аппаратуры и программистам, т. е. специалистам, разрабатывающим системы обработки либо в виде специализированных устройств, либо на основе универсальных ЦВМ. Нам представляется, что для большей полноты изложения материала помимо теории цифровой обработки необходимо рассмотреть вопросы ее применения к анализу сигналов в радио- и гидролокации, в исследованиях речи и музыки, в сейсмологии и медицине, а также изложить основы цифровой техники, определяющей развитие рассматриваемой области и вычислительной техники в целом. Кроме того, за последнее время было разработано большое количество новых методов проектирования цифровых фильтров и теория синтеза фильтров (хотя и находящаяся, по нашему мнению, на ранней стадии своего развития) начала приобретать зримые очертания. Аналогично свойства алгоритмов БПФ исследованы весьма подробно, тогда как вопросы синтеза и проектирования цифровых спектроанализаторов в достаточной мере еще не систематизированы; проведение этой систематизации и является одной из наших задач. Просмотрев оглавление, читатель получит более подробное представление о том, как мы намереваемся достичь указанной цели.
Сделаем последнее общее замечание: в некотором смысле теорию цифровой обработки сигналов можно рассматривать как набор машинных алгоритмов, т. е. просто как один из разделов вычислительной математики. Однако теория цифровой обработки сигналов имеет, как нам представляется, много общего с классической теорией цепей и теорией преобразований (в том виде, как их преподают в вузах), и такую форму ее изложения целесообразно сохранить. Таким образом, уделив основное внимание практическим вопросам синтеза и проектирования цифровых устройств, мы постараемся сделать это не в ущерб теоретическим основам цифровой обработки.
Обзор основных направлений цифровойобработки сигналов
За последнее десятилетие быстро развивающиеся цифровые методы обработки сигналов были внедрены во многие разделы науки и техники и стали для них прочной теоретической базой. Фиг. 1.1 дает некоторое представление о возникновении и развитии методов цифровой обработки сигналов. Поскольку теория цифровой обработки в основном опирается на теорию дискретных линейных систем с постоянными параметрами, последняя представлена как объединяющее начало для всех направлений.
Основными направлениями использования методов цифровой обработки являются цифровая фильтрация и спектральный анализ. К цифровым фильтрам относятся КИХ-фильтры и БИХ- фильтры. Спектральный анализ можно проводить путем вычисления спектров с помощью дискретного преобразования Фурье (ДПФ) или путем вычисления спектров с применением статистических методов, например при анализе случайных сигналов (в частности, шума квантования, возникающего в цифровых системах). В предыдущем разделе уже было отмечено, что на практике при
Фиг. 1.1. Основные разделы цифровой обработки сигналов.
спектральном анализе, как правило, используются быстрое преобразование Фурье (БПФ) и основанная на нем методика вычисления быстрой свертки. Двумерная обработка сигналов является сравнительно новой областью, поэтому направление ее развития помечено на фиг. 1.1 знаком вопроса.
Другими аспектами цифровой обработки сигналов, также представленными на фиг. 1.1, являются важные проблемы построения и применения цифровых систем. Почти все теоретические положения, касающиеся проектирования цифровых фильтров и спектроанализаторов, окажутся бесполезными, если не будет ясного понимания проблем, возникающих вследствие ограниченной точности вычислений при практическом построении этих систем на основе ЦВМ или в виде специализированных устройств. Следовательно, проблемы построения систем в первую очередь связаны с математическими вопросами квантования в дискретных системах, причем в зависимости от того, как строится система — на основе ЦВМ или в виде специализированного устройства, — важно представлять себе преимущества и недостатки каждого из этих вариантов.
Читателю следует обратить внимание на то, что приложения цифровой обработки, перечисленные на фиг. 1.1, являются уже сложившимися научно-техническими направлениями, которые по традиции опираются на аналоговую технику обработки сигналов. Вопросы о целесообразности развития и применения цифровых методов обработки сигналов (при столь развитой и продолжающей совершенствоваться аналоговой технике) возникали неоднократно. Мы считаем, что ответ нужно искать в самой сущности научных и технических методов. Если формулировка технических задач зачастую бывает столь же расплывчатой, как и в гуманитарных науках (например, в антропологии, психологии и т. д.), то их решение все в большей степени становится зависимым от точности получения и воспроизводимости результатов обработки. В качестве примеров можно привести многократные уточнения значений скорости света, постоянной Планка и других универсальных физических постоянных. Большие усилия направлены на создание эталонов частоты и времени. Поэтому, хотя аналоговые системы во многих случаях могут оказаться более дешевыми, гарантированная точность и идеальная воспроизводимость результатов делают цифровые системы столь привлекательными Для инженеров. Это будет в свою очередь стимулировать совершенствование технологии производства цифровых элементов, что в конечном итоге приведет к удешевлению цифровых систем. Таким образом, можно ожидать, что по своему значению цифровые способы обработки сигналов в конечном счете превзойдут аналоговые методы в силу тех же причин, по которым цифровая вычислительная техника превзошла аналоговую.
Построение книги
Фиг. 1.1 является хорошей иллюстрацией построения данной книги. В гл. 2 содержатся теоретические основы дискретных линейных систем. В ней мы намеревались, не вдаваясь слишком далеко в теорию, дать достаточно полный обзор главных разделов теории цифровой обработки сигналов, на которых будет основано все дальнейшее изложение. В этой главе содержится также введение в ДПФ и дается понятие быстрой свертки.
Главы 3 и 4 посвящены вопросам проектирования цифровых фильтров: в гл. 3 рассматриваются КИХ-фильтры, а в гл. 4 — БИХ-фильтры. Поскольку цифровой фильтр является одним из основных элементов большинства цифровых систем, в этих главах сделана попытка с максимальной полнотой изложить сущность различных методов расчета фильтров. В гл. 3 детально рассмотрены и сопоставлены по всем возможным параметрам методы взвешивания, частотной выборки и метод минимизации максимума ошибки аппроксимации. Известно, что фильтры с минимаксной ошибкой оптимальны согласно критерию Чебышева, причем методы их расчета (включая программы на ФОРТРАНе) неоднократно публиковались, поэтому большая часть гл. 3 посвящена обсуждению фильтров именно этого типа.
В гл. 4 рассмотрены два подхода к проектированию БИХ- фильтров. Первый (классический) подход основан на использовании подходящего преобразования для перехода от аналогового фильтра к цифровому с помощью явных выражений. К нему относятся метод отображения дифференциалов, метод инвариантного преобразования импульсной характеристики, билинейное преобразование и метод подбора нулей и полюсов. Второй подход — это прямое проектирование с использованием современных методов оптимизации для получения фильтров, оптимальных по некоторому определенному критерию. К нему относятся методы минимизации среднеквадратической ошибки и модуля ошибки, методы равновеликих пульсаций, а также способы оптимизации во временной области с целью аппроксимации заданной импульсной характеристики. Невозможно выбрать только один из методов проектирования БИХ-фильтров и утверждать, что он применим во всех практически встречающихся случаях. Ввиду этого особенно важно, чтобы читатель глубоко понял сущность различных методов проектирования БИХ-фильтров и знал все их преимущества и недостатки. Кроме того, в гл. 4 проведено сопоставление одного класса КИХ-фильтров с эквивалентными им БИХ-фильтрами. Такое сопоставление дает читателю возможность глубже проанализировать различные по сложности варианты построения фильтров, относящихся к двум сопоставляемым широким классам фильтров.
В гл. 5—7 с теоретических позиций обсуждаются квантование в цифровых фильтрах, вопросы спектрального анализа и БПФ, а также теория двумерных систем, включая методы проектирования двумерных фильтров. Эти три главы содержат главным образом теоретическую базу для изложения вопросов построения специализированных цифровых устройств и практического применения цифровой обработки, составляющих остальную часть книги.
В гл. 5 описаны эффекты квантования в цифровых системах. Введены понятия ошибки округления, шума аналого-цифрового преобразования и чувствительности характеристик фильтра к значениям его коэффициентов. Основным результатом главы являются полученные соотношения между динамическим диапазоном и шумом округления при построении рекурсивных фильтров с фиксированной запятой в прямой и каскадной форме. На основе этих соотношений разработаны методы упорядочения расположения звеньев и попарной группировки нулей и полюсов для каскадных схем фильтров, применяемые для максимизации отношения сигнал/шум на выходе фильтра. Для КИХ-фильтров описаны метод анализа эффектов, связанных с ошибкой округления, и метод масштабирования промежуточных результатов, используемый для предотвращения переполнения в фильтре. И наконец, рассмотрен вопрос о коррелированном шуме округления (или предельном цикле) в БИХ-фильтрах.
В гл. 6 в достаточно общем виде рассмотрен алгоритм БПФ — пожалуй, самый важный из алгоритмов, применяемых при цифровой обработке сигналов. Без использования сложных выкладок получены хорошо известные варианты алгоритма БПФ по основанию 2 с прореживанием по времени и по частоте. Изложена единая теория БПФ, в которой одномерное преобразование сводится к двумерному с меньшими размерами. Такой обобщенный подход позволяет проще всего объяснить смысл разрядной инверсии, поворачивающих множителей, вычислений с замещением и т. д. Вслед за БПФ в весьма общем виде описан дискретный спектральный анализ. Введены понятия скользящего и «скачущего» спектров. Показано, как спектроанализатор, работающий с использованием БПФ, можно сделать эквивалентным спектроанализатору, составленному из набора полосовых фильтров. В заключение введены количественные характеристики для спектрального анализа случайных процессов и рассмотрено несколько методов такого статистического спектрального анализа. Завершается глава обсуждением использования методов теории чисел для вычисления свертки.
Глава 7 является введением в теорию двумерных дискретных линейных систем и содержит также описание методов проектирования двумерных цифровых фильтров. Бблыпая часть теории Двумерных систем аналогична приведенной в гл. 2 теории одномерных систем. Однако некоторые важные положения, справед-
ливые для одномерных систем, для двумерного случая непригодны; в данной главе эти положения отмечены. Хотя методы проектирования двумерных фильтров разработаны еще весьма слабо, в этой главе описывается довольно эффективный метод отображения одномерных КИХ-фильтров в двумерные и утверждается, что он является наилучшим из существующих способов проектирования двумерных фильтров.
Следующая группа глав (8—И) посвящена применению специализированных цифровых устройств для решения задач цифровой обработки сигналов. Глава 8 служит введением в цифровую технику; в гл. 9 рассматривается применение цифровых элементов для построения цифровых фильтров и специализированных цифровых устройств; в гл. 10 описаны специализированные устройства для выполнения БПФ; в гл. И рассмотрены программируемые вычислительные машины, предназначенные для обработки сигналов.
В гл. 7 приведены сведения, необходимые для построения специализированных устройств, реализующих любой алгоритм обработки. Введены понятия запоминающего и арифметического устройств, а также устройства управления, которые рассматриваются как основные составные части любой цифровой системы. Описаны различные схемы построения запоминающего и арифметического устройств. Проанализированы (с точки зрения быстродействия, сложности и стоимости) различные схемы сумматоров, вычитателей и умножителей.
В гл. 9 детально описано, каким образом специализированные цифровые устройства могут быть использованы для создания универсальных фильтров, а также специализированных цифровых устройств (например, генераторов цифровых сигналов). Рассмотрены схемы построения фильтров с конечными и бесконечными импульсными характеристиками, а затем описано несколько систем, в которых цифровой фильтр используется как составная часть. К ним относятся применяемые в телефонии приемник клавишно-тонального вызова и цифровой преобразователь временного разделения каналов в частотное. Рассмотрена идея мультиплексирования, т. е. применения одного арифметического устройства в нескольких цифровых системах в режиме разделения времени, позволяющая снизить стоимость оборудования за счет использования дорогостоящей аппаратуры. В этой же главе приведены примеры построения цифровых устройств для генерации синусоидальных и случайных сигналов.
В гл/10 детально рассмотрено, каким образом применение специализированного устройства позволяет на несколько порядков ускорить выполнение алгоритма БПФ по сравнению с использованием универсальной ЦВМ. В качестве способов повышения общего быстродействия системы рассмотрены параллельное выпол-
нение арифметических операций, перекрытие во времени обращений к памяти и работы арифметического устройства, поточная обработка и т. д.
Гл. 11 посвящена применению цифровой техники для создания быстродействующих программируемых вычислительных машин, предназначенных специально для обработки сигналов. В ней описан быстродействующий цифровой процессор (FDP), разработанный и собранный в Линкольновской лаборатории Массачусетского технологического института. Детально рассмотрены структура такого быстродействующего процессора и методы его программирования, позволяющие оптимально использовать возможности подобных вычислительных машин. В эту же главу включено краткое описание универсального вычислительного оборудования, предназначенного для обработки сигналов.
Гл. 12 и 13 содержат примеры того, как положения, рассмотренные в книге, нашли применение при обработке речевых и радиолокационных сигналов. Идеи, представленные в последних двух главах, служат лишь иллюстрацией типичного применения теории цифровой обработки и ни в коей мере не дают полного представления о всех возможных (или хотя бы лучших ) подходах к решению указанного круга задач. Нам представляется, что описанный в этих главах инженерный подход к решению задач обработки радиолокационных и речевых сигналов может послужить стимулом для разработок более эффективных и совершенных алгоритмов обработки сигналов в других областях науки и техники.
А в целом мы постарались изложить широкий круг новых идей в области цифровой обработки сигналов, которые будут представлять интерес для аспирантов и инженеров-проектировщиков.
ТЕОРИЯ ДИСКРЕТНЫХЛИНЕЙНЫХ СИСТЕМ
Введение
Теория дискретных линейных систем связана с описанием и обработкой временных и частотных последовательностей. В данной главе и в большей части всей книги будем считать, что квантование элементов последовательности по уровню отсутствует. Это предположение о бесконечно малом шаге квантования, относящееся как к отсчетам сигналов, так и к коэффициентам линейных систем, будет использовано при изложении общей теории дискретных (во времени, но не по уровню) систем. После этого будут рассмотрены различные эффекты, возникающие в дискретных системах с определенной точностью квантования по уровню из-за конечной длины слова.
Операции по обработке сигналов, рассматриваемые в книге, могут быть выполнены путем моделирования на вычислительной машине или с помощью специализированной цифровой аппаратуры. В последующих главах обсуждаются структура вычислительных машин, предназначенных специально для обработки сигналов, а также способы аппаратурного построения эффективных цифровых систем.
Последовательности
Дискретные сигналы определяются лишь для дискретных значений независимой переменной — времени. Обычно время квантуется равномерно, т. е. t = пТ, где Т — интервал между отсчетами. Математически дискретные сигналы представляются в виде непрерывной последовательности чисел. Для описания последовательностей может быть использовано одно из следующих обозначений:
(2.1a) (2.16) (2.1b) (2.1г)(2.1a) (2.16) (2.1b) (2.1г){^ (тг)}, Nx^n^N^
(2.1a) (2.16) (2.1b) (2.1г)
(2.1a) (2.16) (2.1b) (2.1г)
{h(nT)}, Nx^n^N^
К (n), NT ^ n ^ N^
h (nT), Nx^n^ Nv
Обозначения (2.1а) и (2.1в) могут применяться при неравномерном расположении отсчетов, тогда как (2.16) и (2.1г) явно предполагают их равномерное размещение.
Последовательность может быть получена несколькими способами. Проще всего взять набор чисел и расположить их в виде последовательности. Например, числа 0, 1, 2, ..., (N — 1) образуют «пилообразную» последовательность h (п) = п, 0 ^ п ^ ./эд1. Другой способ состоит в использовании некоторого рекуррентного соотношения. Например, равенство h (п) = h (п — _ 1)/2 с начальным условием А (0) = 1 дает последовательность /а (п) = (1/2)п, О^п^оо. Третий способ — взять равноотстоящие отсчеты непрерывного колебания и из их величин образовать последовательность, т. е. положить А (пТ') = k (t) |<=пт. — оо ^ м^оо, где Т — интервал дискретизации. Обычно для получения последовательностей методом дискретизации непрерывных колебаний используют аналого-цифровые преобразователи (АЦП). [АЦП и цифро-аналоговые преобразователи (ЦАП) рассматриваются в гл. 5.] Первые два метода получения последовательностей не связаны с временем, тогда как третий существенно от него зависит. Отсюда видно, что для описания последовательностей пригодны в том или ином смысле все обозначения (2.1).
Часто полезным и информативным является графическое изображение последовательностей. Для получения графического изображения в книге будут использованы два способа (фиг. 2.1), [В качестве типичного примера на фиг. 2.1 изображена последовательность h (п) = м, 0 ^ п ^ N — 1]. При использовании первого способа (фиг. 2.1, а) м0-й элемент последовательности изображается отрезком соответствующей длины, проведенным от оси абсцисс из точки п = п0. Во многих случаях нет смысла изо7 бражать каждую выборку, достаточно провести только огибающую последовательности, как показано на фиг, 2.1,6.
Ниже приведены (и графически изображены на фиг. 2.2) некоторые важные последовательности, часто используемые при цифровой обработке сигналов. На фиг. 2.2, а показан цифровой единичный импульс (или единичный отсчет) ий (п), который определяется следующим образом:
( 1, п = 0,
“•<"Н 0,
В дискретных системах этот импульс играет такую же роль, как аналоговый единичный импульс: (или дельта-функция Дирака) о (0 в аналоговых системах. Важное различие между ними со-1 стоит в том, что первый является физически реализуемым сигналом, тогда как второй рассматривается только как обобщенная Функция (или распределение). Ца фиг. 2.2, б изображен единич-
Фиг. 2.1. Способы графического представления последовательностей.
ный импульс, задержанный на п0 отсчетов, который определяется как
и0 (п — п^и0 (п — п^1, п = п0,1, п = п0,0, п =5^ м00, п =5^ м0(2.3)(2.3)
и0 (п — п^
и0 (п — п^
1, п = п0,
1, п = п0,
0, п =5^ м0
0, п =5^ м0
(2.3)
(2.3)
На фиг. 2.2, в представлен единичный скачок и_х (п), задаваемый следующим образом:
u_t (п) =u_t (п) =1, п^О,0, п<0.1, п^О,0, п<0.(2.4)'(2.4)'
u_t (п) =
u_t (п) =
1, п^О,
0, п<0.
1, п^О,
0, п<0.
(2.4)'
(2.4)'
Нетрудно показать, что единичный скачок связан с единичным импульсом соотношением
(2.5j(2.5jп
(2.5j
(2.5j
ы_1(п) = 2 МО-
1=—оо
На фиг. 2.2, гид изображены убывающая экспонента g (п) и косинусоида к (ri), определяемые соответственно как
g^ =
ап, ге^О,
0, п<0
(2.6!
u0(n)
а
0-<>-0--0—1-<>-<>--<>-<>--<>-0-<>-<^ПО0-<>-0--0—1-<>-<>--<>-<>--<>-0-<>-<^ПОи0(п-п0)и0(п-п0)бб
0-<>-0--0—1-<>-<>--<>-<>--<>-0-<>-<^П
О
0-<>-0--0—1-<>-<>--<>-<>--<>-0-<>-<^П
О
и0(п-п0)
и0(п-п0)
б
б
ввu-i(n)
в
в
О 1 2
ап(а=0,7)
{
з
О 1 2
и
С08(ю0п)(ш0=27Г//6)
Фиг. 2.2. Некоторые важные последовательности, используемые при цифровой обработке сигналов.
h (n) = cos
2лп \
) для всех п.
Ио /
(2.7)
Особенно важной последовательностью является комплексная экспонента eJton = cos (con) 4- / sin (con). Поскольку эта последовательность является комплексной, для ее изображения необходимы раздельные графики вещественной и мнимой частей. Позднее мы увидим, что многие из вышеупомянутых последовательностей играют важную роль в теории цифровой обработки сигналов.
Представление произвольных последовательностей
Произвольные последовательности легко выразить через основную последовательность (единичный импульс), используя задержку и масштабирование. Рассмотрим числовую последовательность а (0), а (1), а (2), ..., где а (п) — величина n-го элемента. Такая последовательность описывается равенством
ОО
{а(м)} = 2 a(w)u0(n—тп).(2.8)
т=-оо
Ниже приведен метод описания дискретных линейных систем с постоянными параметрами (ЛПП-систем), основанный на данном представлении произвольных последовательностей и учитывающий свойства ЛПП-систем.
Линейные системы с постоянными параметрами
Дискретная система по существу является алгоритмом преобразования одной последовательности (называемой входной) в другую (называемую выходной). Простое представление дискретной системы дано на фиг. 2.3. Входная последовательность обозначена через х(п), а выходная — через у(п). Функционально они связаны соотношением
У (и) = ф [х (п)],(2.9)
где вид оператора ф (•) зависит от свойств конкретной системы.
Линейная система определяется следующим образом. Если хх(п) и хг^п) — некоторые входные последовательности, а уг (п) и Уг (п) — соответствующие им отклики линейной системы, Td при подаче на вход последовательности axjn) + Ъхг(п) на выходе образуется последовательность ау-^п) + Ьуй(п) (а и b — произвольные постоянные).
Система с постоянными параметрами характеризуется тем, что если входной последовательности х(п) соответствует выходная последовательность у^п), то входной последовательности х(п — п0) при любых По соответствует на выходе последовательность у(п — п0).
Покажем теперь, что в линейной системе с постоянными параметрами входная и выходная последовательности связаны соотно-
Х(п)Х(п)У(п)У(п)
Х(п)
Х(п)
У(п)
У(п)
Фиг. 2.3. Представление дискретной системы.
ЛПП- система
х(п)х(п)Мп)Мп)У(п)У(п)
х(п)
х(п)
Мп)
Мп)
У(п)
У(п)
фиг. 2.4. Представление линейной системы с постоянными параметрами.
шением типа свертки. Допустим, что х (п) — входная, а у (п) — выходная последовательности ЛПП-системы, и пусть h (п) — отклик системы на единичный импульс. [Последовательность 1г {п) называют импульсной характеристикой системы или откликом на единичный отсчет.] Используя формулу (2.8), х^п) можно записать в виде
!°°
х^п)= 2 х(т)и0(п—т'].(2.10)
т=-оо
Поскольку Цп) является откликом системы на последовательность и^п),1 а параметры системы постоянны, h (п — т) будет откликом на последовательность и0 (п — т). Из свойства линейности следует, что откликом на последовательность х (т) и0 (п — — т) должна быть последовательность х (jn) h (п — т). Поэтому отклик на х(п) будет равен
ОО
у(^= 2 я (иг) h(n — т).(2.11а)
т=-оо
Он имеет вид свертки, что и требовалось доказать. Простой заменой переменных равенство (2.11а) может быть преобразовано к виду
У(п)= 2 Мт}х(п — т).(2.116)
т=-оо
Таким образом, последовательность Цп) полностью описывает ЛПП-систему, что и отражено на фиг. 2.4.
На фиг. 2.5 показано, как процесс вычисления свертки осуществляется на практике. На фиг. 2.5, а изображена входная последовательность х-(п), отличная от нуля при 0 ^ и ^ 4. На фиг. 2.5, б приведен пример импульсной характеристики h (п), отличной от нуля при 0 ^ п ^ 7. На фиг. 2.5, в—е представлены ж ^ и h (п — т) для п = 0, 2, 10 и 11. Очевидно, что при п < 0 и п 2> 11 последовательности х (т) и h (п — тп) не перекрываются и У (к) равно нулю. На фиг. 2.5, ж приведена последовательность У (я), являющаяся искомой сверткой.
-7-7х(л)х(л)ааx(m),h(O-m)<t х х х хx(m),h(O-m)<t х х х хп=0п=0п=2п=2л=10л=10ббх(т).,Ц11-т)х(т).,Ц11-т)л =11л =11ввJ, f * X х X к11J, f * X х X к11жж
-7
-7
х(л)
х(л)
а
а
x(m),h(O-m)
<t х х х х
x(m),h(O-m)
<t х х х х
п=0
п=0
п=2
п=2
л=10
л=10
б
б
х(т).,Ц11-т)
х(т).,Ц11-т)
л =11
л =11
в
в
J, f * X х X к
11
J, f * X х X к
11
ж
ж
Фиг. 2.5. К образованию дискретной свертки.
Физическая реализуемость. Устойчивость
ЛПП-систему называют физически реализуемой, если величина отклика при п = п0 зависит только от отсчетов входной последовательности с номерами п ^ п0. Для ЛПП-системы это означает, что импульсная характеристика Л (п) равна нулю при п -< 0. Как мы увидим в гл. 3 и 4, существует несколько систем, имеющих важное значение, но физически нереализуемых. К ним относятся идеальный фильтр нижних частот и идеальный дифференциатор. Поэтому значительная часть теории фильтров посвящена методам аппроксимации физически нереализуемых систем реализуемыми системами.
ЛПП-система называется устойчивой, если при любой ограниченной входной последовательности выходная последовательность также ограничена. Необходимым и достаточным условием устойчивости системы является следующее требование к импульсной характеристике:
§ |А(п)|<оо.(2.12)
П=-оо
Необходимость и достаточность условия (2.12) нетрудно показать. Предположим сначала, что условие (2.12) не удовлетворяется, т. е.
ОО
2 Р(п)| = оо.(2.13)
П=—ОО
Рассмотрим ограниченную последовательность
!
+1 при М— п)^0,
, к,(2.14)
— 1 при 7ц — и) < 0.'
Согласно формулам (2.11), при и = 0 отклик равен
У(0)= 2 x(m)h( — m)= 2 |М~ "*)! = 2 |7г(тп)| = оо. т=—оот=— оот=-оо
(2.15)
Таким образом, последовательность у (0) не ограничена, так что неравенство (2.12) является необходимым условием устойчивости системы. Для доказательства достаточности предположим, что условие (2.12) выполняется, а на вход поступает ограничен- в&я последовательность ж (п), т. е.
к(?г)|^Л/.(2.16)
Фиг. 2.6. Импульсные характеристики устойчивой и неустойчивой систем. а — устойчивая система; б — неустойчивая система.
Из формул (2.11) получаем
| а;(7п)| |^(п~тп)|^| а;(7п)| |^(п~тп)|^|у(«)| = | 2 х(пг)И(п — zn)J^ 2
| а;(7п)| |^(п~тп)|^
| а;(7п)| |^(п~тп)|^
ООООт=—оот=—ооА (п—т) | < со.А (п—т) | < со.ТП=—ООтп=-~оо
ОО
ОО
т=—оо
т=—оо
А (п—т) | < со.
А (п—т) | < со.
(2.17)
Последовательность у (п) ограничена, поэтому система устойчива, что и требовалось доказать. На фиг. 2.6, а, б даны примеры импульсных характеристик устойчивой и неустойчивой систем. Импульсная характеристика, приведенная на фиг. 2.6, а, имеет вид h, (п) = «"п.! (и), причем 0 < а < 1, поэтому условие (2.12) удовлетворяется и система устойчива. Выражение для импульсной характеристики на фиг. 2.6, б имеет тот же вид, но а > 1, поэтому условие (2.12) не выполняется и система неустойчива.
Разностные уравнения
Системы, у которых входная и выходная последовательности х (п) и у (ri) связаны линейным разностным уравнением с постоянными коэффициентами, образуют подмножество класса линейных
систем с постоянными параметрами. Описание ЛПП-систем разностными уравнениями очень важно, так как оно часто позволяет найти эффективные способы построения таких систем. Более того, по разностному уравнению можно определить многие характеристики рассматриваемой системы, включая собственные частоты и их кратность, порядок системы, частоты, соответствующие нулевому коэффициенту передачи, и т. д.
В самом общем случае линейное разностное уравнение М-го порядка с постоянными коэффициентами, относящееся к физически реализуемой системе, имеет вид
мм
У^-^Ь^п — Ц—^агу^п — !), п^О, (2.18) 1=0{=1
где коэффициенты {&t} и (аг) описывают конкретную систему, причем ам ^ 0. Каким именно образом порядок системы М характеризует математические свойства разностного уравнения, будет показано ниже. Уравнение (2.18) записано в виде, удобном для решения методом прямой подстановки. Имея набор начальных условий [например, х (i), у (i) для 1 =—1, —2, ... , — М\ и входную последовательность х (п), по формуле (2.18) можно непосредственно вычислить выходную последовательность у (п) для п^ 0. Например, разностное уравнение
у (п) = х (п) — Зу (п — 1)(2.19)
с начальным условием у (— 1) = 0 и х (п) = пй + п можно решить подстановкой, что дает .
у (0) = а: (0) — Зу (—1) = 0,
у (1) = ж (1) — Зу (0)= 2,
у(2) = я(2)-3у(1)=0,
у (3) = а: (3) — Зу (2) =12, у(4) = я(4) —3у(3) = —16, у (5) = а; (5) — Зу (4)=78,
у (6) = а: (6) — Зу (5) =-192,
Хотя решение разностных уравнений прямой подстановкой и целесообразно в некоторых случаях, значительно полезнее получить решение уравнения в явном виде. Методы нахождения таких решений подробно освещены в литературе по разностным уравнениям, и здесь будет дан лишь краткий обзор. Основная идея сводится к получению двух решений разностного уравнения: одно-
родного и частного. Однородное решение получается путем подстановки нулей вместо всех членов, содержащих элементы входной последовательности х (м), и определения отклика при нулевой входной последовательности. Именно этот класс решений описывает основные свойства заданной системы. Частное решение получают, подбирая вид последовательности у (п) на выходе при заданной входной последовательности х (п). Для определения произвольных постоянных однородного решения используются начальные условия. В качестве примера решим этим методом уравнение (2.19). Однородное уравнение имеет вид
у (м) + Зу (м — 1) = 0. (2.20)
Известно, что характеристическими решениями однородных уравнений, соответствующих линейным разностным уравнениям с постоянными коэффициентами, являются решения вида Л а”. Поэтому, подставив в уравнение (2.20) Л а” вместо у (п), получим
Лап4-ЗЛап-1 = 0,
Лап~1(а + 3) = 0, а= —3,Лап~1(а + 3) = 0, а= —3,(2.21)(2.21)
Лап~1(а + 3) = 0, а= —3,
Лап~1(а + 3) = 0, а= —3,
(2.21)
(2.21)
у0 (и) = Л( —3)п.
Частное решение, соответствующее входной последовательности х (п) = т£ + п, попробуем найти в виде
уч (м) = Bn4 + Cn-\-D.(2.22)
Из уравнения (2.19) получаем
Впг + Сп + D + ЗВ (n — I)2 + ЗС (п — 1) + ЗВ = = п2 + п.(2.23)
Поскольку коэффициенты при равных степенях п должны совпадать, В, С и D должны быть равны
s=4. с=т. D=^-<2-м)
Таким образом, общее решение имеет вид
у(«)=4+т-+^-+л(-3)"-<2-25)
Коэффициент Л определяется из начального условия у (— 1) = 0, откуда Л = — 9/32 и
у(^) = ^-Ч-^ + ^П —(—3)~J.(2.26)
Выборочная проверка решения (2.26) при л^О показывает полное его совпадение с приведенным выше прямым решением. Оче-
Фиг. 2.7. Схема реализации простого разностного уравнения первого порядка.
видное преимущество решения (2.26) состоит в том, что оно позволяет весьма просто определить у (п) для любого конкретного п = п0.
Важное значение разностных уравнений состоит в том, что они непосредственно определяют способ построения цифровой системы. Так, разностное уравнение первого порядка самого общего вида
у (п) = — аг у (п — 1) + Ъ^х (п) + Ьгх (п — 1) (2.27) можно реализовать с помощью схемы, изображенной на фиг. 2.7. Блок «задержка» осуществляет задержку на один отсчет. Рассмотренная форма построения системы, в которой для входной и выходной последовательностей используются раздельные элементы задержки, называется прямой формой 1. Ниже мы обсудим различные методы построения этой и других цифровых систем.
Разностное уравнение второго порядка самого общего вида
у (п) = — агу (п — 1) — айу (п — 2) + Ь^х (п) +
+ Ъхх (п — 1) + Ъ^х (п — 2) (2.28)
Фиг. 2.8. Схема реализации разностного уравнения второго порядка.
может быть реализовано с помощью схемы, приведенной на фиг. 2.8. В этой схеме для входной и выходной последовательностей также используются раздельные элементы задержки.
Из последующего изложения материалов этой главы станет ясно, что системы первого и второго порядка могут быть использованы при реализации систем более высокого порядка, так как последние могут быть представлены в виде последовательно или параллельно соединенных систем первого и второго порядка.
Частотная характеристика
В предыдущих разделах рассматривался отклик ЛПП-систем на произвольные входные последовательности. В данном разделе для описания ЛПП-систем в частотной области будет использован специальный класс входных последовательностей, имеющих вид х (n) = eiton. Как будет показано, этот класс последовательностей является набором собственных функций ЛПП-систем дискретного времени, т. е. для них выходная последовательность совпадает с входной, умноженной на некоторый комплексный коэффициент, зависящий только от со.
Рассмотрим класс входных последовательностей вида
а:(п) = ^®п, —оо <_п <_ оо.(2.29)
Если такая последовательность поступает на вход ЛПП-системы с импульсной характеристикой h (п), то на выходе [см. (2.11а)] появится последовательность
у(п) = 2(2.30)
Ш=-оо
= e*®n 2 А(тп)е-5®т=(2.31)
т=—оо
= х^Н^.(2.32)
Таким образом, для выбранного класса входных последовательностей отклик совпадает с входной последовательностью с точностью до комплексного множителя Н (е>®), который выражается через импульсную характеристику системы следующим образом:
Н(е^ = 2 A(n)e-j®”.(2.33)
П=-оо
Поскольку последовательность вида eJ®n функционально эквивалентна дискретизованной синусоиде с частотой ш, то множитель Н (^ю) называют частотной характеристикой системы, так как он представляет коэффициент передачи ЛПП-системы для каждого значения <о.
Л(П)
Фиг. 2.9. Импульсная и частотная характеристики системы первого порядка.
Вычислим в качестве примера частотную характеристику ЛПП- системы с импульсной характеристикой h (п) = а^и^ (п) (|а| < 1). Частотная характеристика имеет вид
Я(^й) = 3 а^-1®п = 2 (ае-^)п.(2.34)
п=0»=0
Так как |а| < 1, то сумма геометрической.прогрессии (2.34) будет равна
Я(*“) = Г^*-<2'35)
На фиг. 2.9 графически представлены А (п), а также модуль и фаза Н (^^ как функции частоты © в диапазоне 0 ^ ю ^ 2л.
Отметим некоторые свойства частотной характеристики. Нетрудно заметить, что частотная характеристика является периодической функцией го, причем ее период равен 2л. Эта периодичность связана со спецификой дискретизованного колебания: входная последовательность с частотой (ю 4* 2тл) (т = ± 1,
± 2, ..Д не отличается от входной последовательности с частотой со, т. е.
Ж (го) = ез (®+2тл) п = е5и>п = х ^е(2.36)
Поскольку Н (е^) — периодическая функция, то для полного описания достаточно задать ее на любом интервале длиной 2л. Обычно для этой цели используют интервал 0 ^ со ^ 2л.
Другим важным свойством частотной характеристики является то, что для действительных h (го) (как обычно и бывает на практике) модуль /Де^) симметричен, а фаза H^eito^ антисимметрична на интервале 0 ^ со ^ 2л. Аналогично действительная часть И (езю) симметрична, а мнимая — антисимметрична на том же интервале. Поэтому при действительных импульсных характеристиках интервал частот, на котором задают частотную характеристику, обычно сокращают до 0 со ^ л
Частотная характеристика систем первого порядка
Рассмотрим разностное уравнение системы первого порядка
(2.37)(2.37)У («) = х (п) 4- Ку (п — 1)
(2.37)
(2.37)
с начальным условием у (— 1) = 0. Легко установить, что ее
импульсная характеристика равна
(2.38)(2.38)Фиг. 2.10. Частотные характеристики нескольких систем первого порядка.Фиг. 2.10. Частотные характеристики нескольких систем первого порядка.
(2.38)
(2.38)
Фиг. 2.10. Частотные характеристики нескольких систем первого порядка.
Фиг. 2.10. Частотные характеристики нескольких систем первого порядка.
Используя формулу (2.33), найдем частотную характеристику системы первого порядка
=<2'39)
Представив Н (е5®) в виде
Н (е^) = | Н (ei<°) | е» ars н <ej“r(2.40)
получим
IН (eie) I 772 •(2-41)
14(Д^К^-аКсюш)1^
arg Н (e'to) = со - arctg -^^^ •(2.42)
Графики Ig^^®)! и arg Я(е^“) для различных значений К приведены на фиг. 2.10. Во всех случаях H(eito) является характеристикой фильтра нижних частот. В разд. 2.18 будет показано, каким образом |Я(^®)| и aTgH(eito) могут быть получены из геометрических представлений.
Частотная характеристика систем второго порядка
Разностное уравнение системы второго порядка можно записать в виде
у (и) = ж (п) 4- аху (п — 1) + агу (п — 2).(2.43)
[В общем случае уравнение второго порядка содержит также члены вида Ъхх (п — 1) и Ъгх (п — 2), однако для простоты изложения эти члены опущены.] Если снова ввести нулевые начальные условия у (— 1) = 0 и у (— 2) = 0, то нетрудно показать, что импульсная характеристика системы может принять одну из двух форм1):
^(^) = ai(Pi)n + a2(P2)n (1)^(2.44)
где Pi и рг — действительные числа, либо
h (п) = ар^ sin (bn + ф) (П).(2.45)
Импульсная характеристика вида (2.44) описывает две системы первого порядка и убывает как рх и р*2. Выражение (2.45) описывает систему второго'порядка, импульсная характеристика которой является затухающей синусоидой. Импульсная характеристика имеет такой вид, когда коэффициенты разностного уравнения (2.43) удовлетворяют следующему условию:
(2.46)
х) Предполагается, что корни однородного уравнения не совпадают.
В противном случае требуются лишь незначительные изменения.
Фиг. 2.11. Частотные характеристики нескольких систем второго порядка.Фиг. 2.11. Частотные характеристики нескольких систем второго порядка.
Фиг. 2.11. Частотные характеристики нескольких систем второго порядка.
Фиг. 2.11. Частотные характеристики нескольких систем второго порядка.
из которого следует, что аг << 0. Легко показать, что если условие (2.46) выполняется, то
(2.48)(2.49)(2.50)(2.48)(2.49)(2.50)г =(2.47)
(2.48)
(2.49)
(2.50)
(2.48)
(2.49)
(2.50)
cos b = ——■■■_',2 у-Ч
ч> = ь,
1
=-т—г •
1 sin о
Частотную характеристику, соответствующую импульсной характеристике (2.45), можно записать следующим образом:
Н (ejto) =Н (ejto) =(2.51)(2.51)1
Н (ejto) =
Н (ejto) =
(2.51)
(2.51)
1 —2r (cos b) e-ito-Vr4"2jto
Амплитудные (в логарифмическом масштабе) и фазовые характеристики системы второго порядка, соответствующие фиксированному значению b = л/4 и различным г, приведены на фиг. 2.11. Из графиков видно, что такая система является простым цифровым резонатором.
Дискретный ряд Фурье
Поскольку частотная характеристика дискретной системы является периодической функцией частоты со, равенство (2.33) можно рассматривать как разложение Ще^) в ряд Фурье, причем коэффициенты разложения являются одновременно отсчетами импульсной характеристики системы. Согласно теории рядов Фурье, коэффициенты Цп) могут быть выражены через Ще^ следующим образом:
л
И (п) = -^ j Н (^ю) ^юп dto.(2.52)
-л
Таким образом, равенства (2.33) и (2.52) представляют собой пару преобразований Фурье. Из соотношения (2.52) видно, что /г (и) по существу является суперпозицией синусоид ^шп с амплитудами Н(е^п). Пара преобразований (2.33) и (2.52) справедлива для любой последовательности с конечной суммой (2.33), поэтому произвольную входную последовательность также можно представить в виде■
л
^^^^fJ X ^ei®) e3toTl dto,(2.53)
-л где
Х(^ш) = 2 x^e-5ton.(2.54)
п=- ОО
Согласно формулам (2.31) и (2.32), отклик на последовательность езюп равен Н (е^) ^юп, поэтому откликом на входную последовательность (2.53) будет
л
у (п) = ~ ^ X (е5®) Н (ез®) eiton dto(2.55)
-л.
(для суммирования откликов использовано свойство линейности системы). Из равенства
Y (e5to) = X (е*®) Н (^ю)(2.56)
нетрудно увидеть, что (2.55) является одним из двух соотношений, представляющих собой пару преобразований Фурье для последовательности у (п). Таким образом, показано, что и для дискретных систем свертка во временной области соответствует умножению в частотной области. Итак, частотная характеристика Н (е5®)
H(ei2fffT)H(ei2fffT)О 500010000О 5000100001=0,0001ОТ1=0,0001ОТ
H(ei2fffT)
H(ei2fffT)
О 500010000
О 500010000
1=0,0001
ОТ
1=0,0001
ОТ
Фиг. 2.12. Частотная характеристика системы с частотой дискретизации10 кГц.
представляет собой отклик системы на ограниченный класс входных последовательностей вида ejwn, 0 ^ <в < 2л. Однако с учетом соотношения (2.53), показывающего, что произвольные последовательности являются суперпозицией таких экспонент, она является важным средством описания отклика системы почти на любые входные последовательности.
Замечания о единицах измерения частоты
Часто возникает необходимость выразить спектральный состав последовательности Л(пГ) в единицах частоты, связанных с интервалом дискретизации Т. В этом случае равенства (2.33) и (2.52) преобразуются к виду
ОО
(2.57)(2.57)Же^)^ 2 Н^пТ^е-^т,n=-w
(2.57)
(2.57)
л/Т
h(nT) = -^- j Н^е^е^т^ (2.58) -л/Т
Функция Н (&®т) периодична по частоте со с периодом, равным 2л/Т. Частота со в (2.57) и (2.58) выражается в радианах в секунду. Характеристику (2.57) можно выразить и через частоту /, измеряемую в герцах, если со заменить на 2л/.
Если, например, Т = 0,0001 с (частота дискретизации ИТ = = 10 000 Гц), то Н ^2Л^1") является периодической функцией / с периодом 10 000 Гц, а Н (ejtoT) — периодической функцией (о с периодом 20 000л рад/с. Пример типичной частотной характеристики для действительной последовательности, имеющей интервал дискретизации Т = 0,0001с, приведен на фиг. 2.12. Поскольку последовательность действительная, частотная характеристика обладает свойствами симметрии, обсуждавшимися ранее.
Соотношение между непрерывнымии дискретными системами
Как уже отмечалось, последовательность х^пТ^ часто получают путем дискретизации непрерывного колебания х(^ с периодом Т секунд. В этих случаях важно представлять, каким образом спектр последовательности X (&аТ) связан с преобразованием Фурье Хн (/Q) непрерывного колебания х ((). В данном разделе устанавливается связь между ними и обсуждаются следствия, вытекающие из нее.
Пара преобразований Фурье для непрерывного колебания х^ имеет вид ОО
XH(/fi) = J a:(t)e-^Mt,(2.59)
— ОО
ОО
х^ = ^ f Хн(7Й)е^МЙ.(2.60)
— ОО
Аналогичные соотношения для дискретизованного колебания имеют вид•
X^toT^ = 2 х^пТ^е-з^т,(2.61)
П=—оо
Л/Т
Х^ту^та<й.(2.62)
-л/Т
Поскольку х (пТ) = х (<) Ь=пт, то можно связать Хн (/И) и X (ej<oT), вычислив интеграл (2.60) для t = пТ, причем интеграл с бесконечными пределами следует заменить бесконечной суммой интегралов на интервалах длиной 2л/7\ Таким образом,
оо (2т+1)л/Т
ж(иТ) = ^- 2 J M^Wa. ^.^
m=-oo (2m- 1) л/Т
Изменив в (2.63) порядок действий и заменив й на со, получим
Л/Тоо
*№ = 2- ( ГА 2 Х.Гй + ^т)!^""^. (2.64) — Л/Тт=-оо
Приравнивая подынтегральные выражения в (2.64) и (2.62), получаем искомое соотношение
оо
X (с^) =-А ^ Ха(о>+-^т).(2.65)
7П= — оо
Фиг. 2.13. Связь между спектрами непрерывного и дискретизованного колебаний при правильном выборе частоты дискретизации.Фиг. 2.13. Связь между спектрами непрерывного и дискретизованного колебаний при правильном выборе частоты дискретизации.Из этой формулы видно, что периодическая спектральная функция последовательности состоит из суммы бесконечного числа спектральных компонент непрерывного колебания. Если спектр непрерывного колебания ограничен по полосе диапазоном частот |Q | ^ л/Т, т. е. Хн (/Q) = 0 при |Q | > л/Т, из соотношения (2.65) следует, что в диапазоне частот |со | л/Т
Фиг. 2.13. Связь между спектрами непрерывного и дискретизованного колебаний при правильном выборе частоты дискретизации.
Фиг. 2.13. Связь между спектрами непрерывного и дискретизованного колебаний при правильном выборе частоты дискретизации.
Х(е»»т) = 4-Хв(<о).(2.66)
В этом случае спектр последовательности непосредственным образом связан со спектром непрерывного колебания (фиг. 2.13, а,б).В этом случае спектр последовательности непосредственным образом связан со спектром непрерывного колебания (фиг. 2.13, а,б).хн0й)хн0й)Фиг. 2.14. Эффекты наложения в спектре дискретизованного колебания при недостаточной частоте дискретизации.Фиг. 2.14. Эффекты наложения в спектре дискретизованного колебания при недостаточной частоте дискретизации.Если же Хн U^ не ограничен диапазоном |Q| ^ л/Т, то соотношение между спектрами дискретизованного и непрерывного колебаний оказывается более сложным. Типичный пример показан на фиг. 2.14, а—в. Спектр непрерывного колебания (фиг. 2.14, а) ограничен полосой | Q К Зл/(271). Из формулы (2.65) следует, что члены с m = 0, ± 1 дают вклад в X ^eitoT^ в диапазоне частот | о>| < л/Т (фиг. 2.14, б). Поэтому в отличие от предыдущего примера спектр последовательности (фиг. 2.14, в) связан со спектром исходного колебания значительно более сложным образом. Причина заключается в том, что частота дискретизации 1/7* была недостаточно большой и высокоча-
В этом случае спектр последовательности непосредственным образом связан со спектром непрерывного колебания (фиг. 2.13, а,б).
В этом случае спектр последовательности непосредственным образом связан со спектром непрерывного колебания (фиг. 2.13, а,б).
хн0й)
хн0й)
Фиг. 2.14. Эффекты наложения в спектре дискретизованного колебания при недостаточной частоте дискретизации.
Фиг. 2.14. Эффекты наложения в спектре дискретизованного колебания при недостаточной частоте дискретизации.
стотные составляющие спектра Хн (/Q) попали в область более низких частот в спектре X(eitoTy Такое смещение спектральных составляющих из одного диапазона частот в другой называют наложением спектров, а последовательность, соответствующую спектру фиг. 2.14, в,—представлением колебания х (t) с наложением. Ясно, что наложения можно избежать, дискретизуя непрерывные колебания с достаточно высокой частотой.
«-преобразование
Одним из наиболее полезных методов представления последовательностей и работы с ними является z-преобразование. Для последовательности х (п), заданной при всех п, оно определяется следующим образом:
ОО
Х^ = 2 x^z"u. (2.67) П=-оо
где z — комплексная переменная. Ясно, что комплексная функция (2.67) определена лишь для тех значений z, при которых степенной ряд сходится. Детальное обсуждение его сходимости выходит за рамки данной книги (его можно найти в соответствующих учебниках), поэтому ниже просто перечислены общие результаты, необходимые для понимания излагаемых в книге вопросов.
Последовательности конечной длины
Если х (п) отлична от нуля только в интервале Ni ^ п ^ N^ (Хг -<_ N^, где Nt и N^ конечны, то X (z) сходится в z-плоскости везде, за исключением, быть может, точек z = О или z = оо. ЛПП-систему, импульсная характеристика которой является последовательностью конечной длины, называют системой с конечной импульсной характеристикой (КИХ) или, что то же самое, КИХ-фильтром. В гл. 3 будет показано, что на последовательностях конечной длины основан важный класс методов проектирования цифровых фильтров.
Типичная импульсная характеристика {/г ^п^ конечной длины изображена на фиг. 2.15. Легко показать, что если все ее элементы
h(n)
I ?? ?
—О—О—О—।— г—।—I———о—о—-о П
Фиг. 2.15. Последовательность конечной длины.
конечны, то ЛПП-система с такой импульсной характеристикой всегда устойчива, так как проверка на устойчивость [см. формулу (2.12)] сводится к суммированию конечного числа ограниченных слагаемых. Кроме того, такую систему всегда можно сделать физически реализуемой, введя необходимую задержку импульсной характеристики (например, на — П\ отсчетов, если NT •< 0).
В отличие от определения, данного выше, системой (фильтром) с бесконечной импульсной характеристикой (БИХ) называют систему (фильтр), длина импульсной характеристики которой не ограничена слева (т. е. ^ = — оо) или справа (т. е. N^ = оо), или с обеих сторон. Как будет показано в гл. 4, последовательности бесконечной длины составляют основу другого большого класса методов проектирования цифровых фильтров.
Физически реализуемые последовательности
Если х (п) отличается от нуля только при 0 ^ Nt ^ п <; оо, то X (z) сходится везде вне круга радиуса Rv Величина Вг зависит от положения особых точек X(z), называемых полюсами системы. Как будет показано, при НТ <; 1 соответствующая система является устойчивой. Физически реализуемые последовательности весьма важны, так как на их основе строится большинство реальных систем.
Нереализуемые последовательности
Если х (п) имеет ненулевые значения в области — оо <С п < <; NT ^ 0, то ряд X (z) сходится во всех точках, лежащих в круге радиуса Rlt причем RT определяется положением особых точек X (z). В практических задачах нереализуемые последовательности обычно не встречаются, но при рассмотрении некоторых теоретических вопросов они могут представлять интерес.
Получим теперь z-преобразования некоторых полезных последовательностей.
Пример 1. Найти z-преобразование единичного импульса.
Решение. Поскольку х (п) = 0 при любых п, за исключением п = 0, где х (п) = 1, то
X (z) = 1.
X (z) сходится на всей z-плоскости, так как единичный импульс является последовательностью конечной длины.
Пример 2. Найти z-преобразование единичного скачка.
Решение. Поскольку я(?г) = 0 везде, кроме п^О, где х (п) = 1, то ОО
ад) = 2 ^"=ст.
причем Х(г) сходится при |z| > 1, так как Х^ имеет единственную особую точку 2 = 1.
Пример 3. Найти 2-преобразование комплексной экспоненты
ж(п) = 0, п«<0; x(n) = einto, п^О.
Решение. Вычисляя 2-преобразование, получим
ОООО
X(Z) = 2 ^-=2=-^^ •
71=072=0
причем Х(г) сходится при |г| > 1, так как единственной особой точкой Х^) является 2 = е^®.
Пример 4. Найти 2-преобразование простой экспоненциальной последовательности
х (п) = 0, п <; 0; х (п) = ап, п^О.
Решение. Подставив х (лг) в (2.67), получим
ООоо
^ И - 2 Л- = 2 (Oz-*)” = I-L=r.
71=071=0
X (z) сходится при |г| > а, так как имеет только одну особую точку z = a.
12.14. Соотношение между ^-преобразованием и фурье-преобразованием последовательности
z-преобразование последовательности можно рассматривать как способ ее однозначного представления в комплексной 2-плоскости. Из определения (2.67) видно, что 2-преобразование, вычисленное на единичной окружности, т. е. при 2 = ^®, дает
^(=)U,N=^“) = 2 VW«*i№.(2.68)
7l = -oo
что совпадает с преобразованием Фурье исходной последовательности. Ниже будет также показано, что если все особые точки
Фиг. 2.16. Расположение нулей и полюсов для систем первого и второго порядка.Фиг. 2.16. Расположение нулей и полюсов для систем первого и второго порядка.X (z) расположены внутри круга единичного радиуса, то система с соответствующей импульсной характеристикой является устойчивой. Поэтому единичная окружность в z-плоскости играет весьма важную роль. Например, имеется немало важных нереализуемых систем (таких, как идеальный фильтр нижних частот или идеальный дифференциатор), z-преобразования которых сходятся только на единичной окружности, т. е. эти системы имеют фурье-преобразование, но не имеют z-преобразования.
Фиг. 2.16. Расположение нулей и полюсов для систем первого и второго порядка.
Фиг. 2.16. Расположение нулей и полюсов для систем первого и второго порядка.
Обычным способом графического изображения информации, содержащейся в z-преобразовании, является задание особых точек (полюсов) и нулей функции X (z). Так, например, z-преобразование, рассмотренное в примере 4, может быть представлено так же, как на фиг. 2.16, где крестиками изображены полюсы, а кружками — нули функции X (z). С помощью
такого изображения расположения нулей и полюсов, а также используя дополнительное предположение о физической реализуемости системы, можно однозначно (с точностью до постоянного множителя) восстановить z-преобразование.
Пример 5. Найдем z-преобразование импульсной характеристикой:
системы со следующейсистемы со следующейh (п) =h (п) =sin bО,sin bО,Решение. Используя определениеРешение. Используя определениеz-преобразования, получимz-преобразования, получимООH(Z)-S г”п=0ООH(Z)-S г”п=0sin [(n+ 1) Ь]sin bsin [(n+ 1) Ь]sin bz-nz-nООООl2£Zsin 6l2£Zsin 6e3b (n+1)e-jb (n+1)e3b (n+1)e-jb (n+1)n=0n=02j2jг rn sin [(n-|-l) b]
системы со следующей
системы со следующей
h (п) =
h (п) =
sin b
О,
sin b
О,
Решение. Используя определение
Решение. Используя определение
z-преобразования, получим
z-преобразования, получим
ОО
H(Z)-S г”
п=0
ОО
H(Z)-S г”
п=0
sin [(n+ 1) Ь]sin b
sin [(n+ 1) Ь]sin b
z-n
z-n
ОО
ОО
l2£Zsin 6
l2£Zsin 6
e3b (n+1)e-jb (n+1)
e3b (n+1)e-jb (n+1)
n=0
n=0
2j
2j
Vе5Ь У (rz-^-i^n е-jb _
) 2i sin b2/sin 6~
n=0n=0
1/ eibe~3b\
2/ sin b \ । — T2— ie3b1 — rz-^ e~3b / *
1
® ^1 — 2r (cos b) z-1 + r2z"2 *
H (z) сходится при |z| з> г. Расположение нулей и полюсов такого резонатора в z-плоскости показано на фиг. 2.16, б. Он имеет пару комплексно сопряженных полюсов в точках z = ге^ь и двойной нуль при z = 0.
Как уже упоминалось, зная расположение нулей и полюсов функции X (z), ее можно восстановить. Так, если известно, что функция X (z) имеет N полюсов в точках z = ру, рг1 ..., р N и М нулей в точках z = zn z2, ..., zM, то она может быть записана в виде отношения произведений
м
[J (i—z^2"1)
Х^ = А^,(2.69)
П (! —P/Z-1) г=1
где А — произвольная постоянная. Перемножив сомножители, получим, что наиболее общей формой X(z) является дробно-рациональная функция от z-1, т. е.
м
X ^ =•(2.70)
i+ 3^’*
г=1
Полученное выражение весьма часто используется при синтезе фильтров.
Обратное z-преобразование
Весьма важно уметь перейти не только от последовательности к ее z-преобразованию, но и, обратно, от z-преобразования к последовательности. Способ обратного перехода называется обратным z-преобразованием и формально определяется соотношением
Cl
В правой части этого равенства стоит контурный интеграл в z- плоскости по любому замкнутому контуру в области сходимости, охватывающему начало координат. Например, контуром интегрирования может быть окружность радиуса Су *> Ry, где Ry — радиус сходимости z-преобразования (т. е. мы предполагаем, что последовательность ж (п) физически реализуема).
Обратное z-преобразование можно найти несколькими способами:
Прямым вычислением интеграла (2.71) с использованием теоремы о вычетах.
Разложением X(z) на простые дроби.
Обычным делением числителя X(z) на его знаменатель.
Разложением в степенной ряд.
Первый способ основан на известной теореме из теории функций комплексного переменного, утверждающей, что контурный интеграл (2.71) может быть вычислен непосредственно через вычеты:
•г (и) = 2 ^®s ^ (2) 2n |z внутри ср(2.72)
Рассмотрим пример 4, в котором X(z) = 1/(1 — az" v\ Из равенства (2.72) при п ^ О получаем х (n) = res zn-1/l — az" 1|z=o, т. e. x (n) = an, n^O. При n<0 кратный полюс z-преобразования находится в точке z = 0. Прямое вычисление вычета в полюсе z = 0 дает х (п) = 0 при п <; 0.
При использовании второго способа z-преобразование записывают в виде дроби (2.69) и представляют суммой
N
X (z) = У < а* т •(2.73)
2=1
С учетом того, что каждое слагаемое аг/(1 — ргг" 1) имеет обратное z-преобразование вида аг (Pi)n, получим
(2.74)(2.74)- N
(2.74)
(2.74)
1=1
. 0,п< 0.
Способы 3 и 4 здесь не рассматриваются. Читатель может познакомиться с ними в пособиях по z-преобразованию.
Свойства z-преобразования
z-преобразование весьма полезно при исследовании дискретных ЛПП-систем. Чтобы полностью использовать возможности z-преобразования, необходимо знать его основные свойства,
связанные с линейностью, задержкой последовательностей, сверткой, перемножением последовательностей, задержкой физически реализуемых последовательностей. *
Линейность
z-преобразование линейно. Это означает, что если Xt (z) и X2(z) являются z-преобразованиями последовательностей хг (п) и ж2 (и), то при любых действительных а и b z-преобразование последовательности ахг (п) + Ьх2 (п) равно aXt (z) + 6Х2 (z).
Задержка
Если последовательность xt (п) имеет z-преобразование Xt (z), то z-преобразование последовательности хг (п — п0) при любых Пд равно z~n° Xv (z). Это свойство z-преобразования особенно полезно при переходе от представления ЛПП-системы разностным уравнением к представлению ее z-преобразованием и наоборот. Например, разностное уравнение
У (п) = х (п) — bty (п — 1) — Ьгу (п — 2)(2.75)
можно представить z-преобразованием
У (z) = X (z) - b^Y (z) — b^Y (z)(2.76)
или
YW = Uw^ '(2'77)
где
oo
y(z) = 2 y^z"^
П—— CO
oo
X(z) = 2 $(w)z-n.
71= — OO
Свойство, связанное с задержкой последовательности, использовано здесь для того, чтобы выразить z-преобразования последовательностей у (п — 1) и у (п — 2) через z-преобразование последовательности у (п).
Свертка последовательностей
Если х (п) и у (п) являются входной и выходной последовательностями дискретной ЛПП-системы с импульсной характеристикой h (п), то
(2.78)(2.78)Y (z) = X (z) Н (z),
(2.78)
(2.78)
где X (z), Н (z) и Y (z) являются соответственно z-преобразованиями последовательностей ж (zz), к (п) и у (п). Таким образом, операция свертки последовательностей приводит к перемножению их z-преобразований. Нетрудно заметить, что Н (z) можно выразить из соотношения (2.78) в виде
Так, на примере уравнения (2.75) ясно, что Н ^z^ или, что то же самое, к (п), может быть получена из разностного уравнения системы и наоборот. Для системы, описываемой уравнением (2.75), Н (z) имеет вид
я(г)=те^-(2.80)
Не следует недооценивать важности равенства (2.78) как практического средства, позволяющего без вычисления свертки найти выходную последовательность системы по ее импульсной характеристике и входной последовательности. Рассчитывая отклик у (п) путем перемножения двух преобразований и вычисления обратного преобразования, часто удается свести сложную задачу к более простой. В качестве примера рассмотрим входную последовательность х (п) = и_г (п) ап, поступающую на вход ЛПП-си- стемы с импульсной характеристикой к (n) = и_х (n) bn. z-npe- образования последовательностей х (п) и к (п) равны
Х (z)=. IZI>“'
Умножив X (z) на Н (z), получим
1
У (z) = 71,12 > max [а, .
4 '(1—az 1) (1 — bz^ ’1 J
Полагая, что а ^ Ъ, можно разложить Y (z) на простые дроби:у = ~д/(ь~д) । М&—а)
' '1 —az~l ' 1 — bz-i "
С учетом соотношения (2.72) получим
У(п) = (ь^а" + г46") “-it”).
Перемножение последовательностей
Если последовательности хг (п) и хг (п) имеют z-преобразования Xt (z) и Х2 (z), то последовательность х3 (п) = хг (п) х^ (п) имеет z-преобразование
X3(2) = sj$X1(1>)X8(2-)i>-*<Zv.(2.81)
С
В область сходимости Х3 (z) входят все z, для которых справедливо следующее условие: если некоторая точка и принадлежит области сходимости Ху (z), то zlv принадлежит области сходимости Х2 (z). В формуле (2.81) контур интегрирования является замкнутой кривой, лежащей внутри пересечения областей сходимости функций Ху (и) и Х2 (z/v).
Соотношение (2.81) называют теоремой о комплексной свертке, так как оно представляет z-преобразование произведения [жу (п) X X ж2 (и)1 в виде комплексной свертки z-преобразований соответствующих последовательностей. Воспользовавшись подстановками z = е^ю и. и = е)В, выразим преобразование Фурье от произведения последовательностей через преобразования Фурье от каждой из них. Оно имеет вид
л
Х3(^=-1^ Xy(e^X2(e^a-^)dB(2.82)
-л
и является широко известной сверткой двух преобразований Фурье. Это соотношение потребуется при рассмотрении проектирования фильтров методом весовых функций и анализе различных систем модуляции.
Важным следствием равенства (2.81) является так называемая теорема Парсеваля, связывающая энергию сигнала с энергией его спектра. Обобщенную форму этой теоремы можно получить, определяя последовательность у (п) как
у (п) = х (n) w* (п).
Из равенства (2.81) следует, что z-преобразование этой последовательности равно
Y (z) = Ф Х (у)W* (Аг) V-1 dv.
' С
Вычисляя Y (z) в точке z = 1, получаем
ФООО
Wi =2 «w= 2 *w®‘w=^xcw(-^)4
Я=—ООп=-ооС
и, выбираявкачествеконтураинтегрированияединичнуюокруж
ность (т. е. полагая v = е^), приходим к соотношению
•О .Л
2 ж (и) w* (n) = -^ ^ X (eito) W* (е^) dm.п=-оо-я
Важный частный случай имеет место при w (п) = х (и), когда
ООя
2 I^WP^j |X(ei“)|«<&>.
П=-оо— д
Это равенство известно как теорема Парсеваля.
Задержка физически реализуемых последовательностей. Одностороннее z-преобразование
При решении большинства практических задач обычно имеют дело с физически реализуемыми последовательностями, поэтому полезно ввести «одностороннее» z-преобразование, определяемое как
X (z) = 2 ж (n) z*”.(2.83)
71=0
При этом предполагается, что поведение последовательности х (п) до точки п = 0 не известной его можно не учитывать. Для многих последовательностей свойства одностороннего z-преобразования аналогичны свойствам обычного z-преобразования. Основным исключением является свойство, связанное со сдвигом (задержкой) последовательностей. Рассмотрим, например, последовательность хг (п) с односторонним z-преобразованием Xt (z) и задержанную последовательность х2 (п) = хг (п — 1). Одностороннее z-преобразование от х2 (п) равно
Х2 (z) = 2 ж2(п)2-п= 2—1) z-«.(2.84)
n=0n=0
Положив m = n — 1, получим равенство
X2(z) = 2 ^(^z-^-1,(2.85)
m=-1
которое может быть переписано следующим образом:
X2(z) = z-1 [^i ( — l)z+ 2 ^1(m)z-m]=(2.86)
m=0
= z-4Xi(z)I + a;1(-l).(2.87)
Задержка на один отсчет по-прежнему приводит к умножению одностороннего z-преобразования на z-1, но при этом необходимо учесть значения последовательности хг (п) при п < 0, т. е. важную роль начинают играть начальные условия.
В качестве другого примера рассмотрим z-преобразование последовательности х3 (га) = хг (п — 2), равное
Х3 (z) = z~2 [Хх (г)] + $1 (- 2) + xt (- 1) z-1.(2.88)
Из выражений (2.87) и (2.88) можно получить формулу для случая задержки последовательности на произвольное число п0 отсчетов (п0 >»0). Она имеет вид
Y (z) = z-^Xt (z) + xt (— га0) + xt (— n0 +1) z"1 +
+ ...+ж1(-1)г-^-О,(2.89)
причемпричему (n) = x (n — noyу (n) = x (n — noy
причем
причем
у (n) = x (n — noy
у (n) = x (n — noy
Решение разностных уравнений с применениемодностороннего ^-преобразования
Разностные уравнения обычно определены при п ^ 0 и имеют набор начальных условий. Поэтому нетрудно понять, каким образом можно использовать одностороннее z-преобразование для нахождения отклика системы на заданную входную последовательность. В качестве примера рассмотрим разностное уравнение первого порядка
у (и) = ж (n) + ay (п — 1)(2.90)
с начальным условием у (— 1) = К. Пусть на вход поступает последовательность х (n) = ejtonM_1 (п). Чтобы найти одностороннее z-преобразование у (п), умножим обе части равенства (2.90) на z_n и просуммируем от 0 до оо:
ОООООО
2 у(«)г"п = 2 x^7Tn-Va 2 у(п~ l)z-n. (2.91) n=0*7i=0n=0
Воспользуемся свойством, связанным с задержкой последовательности, описанным в разд. 2.16. Имеем
Y (z) = X ^ + az-1 Y (z) + ay (—1),(2.92)
откуда
(293) Поскольку
х = е^ып, X (z) —U-— ,
то
У (Z) = 1 —az-l + (1 —az-i)(l —е;ш2-1) •(2-94)
Разложив второе слагаемое на простые дроби, получим
(2.95)(2.95)аК а^а-^_^^а — е^
(2.95)
(2.95)
1 — az-1 *1 —az~i * ie^z-1
Вычислим обратное z-преобразование от (2.95):
г-лИ+1Jto(n4-1) -1
У W - Га-^ +^1 и-х (п).(2.96)
I-О, —в*(Х—г J
Первое слагаемое в скобках представляет собой составляющую отклика, определяемую начальными условиями, а второе—переход-
ную характеристику системы. При а <; 1 оба эти члена экспоненциально убывают. Третье слагаемое описывает вынужденные колебания в системе.
Вышеизложенное нетрудно обобщить на системы более высокого порядка. В общем случае разностное уравнение L-ro порядка имеет вид
LL
у (п) = ^ а^х (п—Г)—^^у (п — Г)(2.97)
i—Оi=l
с начальными условиями {у (— 1), у (— 2), ..., у (— 7V)}. [Замечание. Здесь предполагается, что входная последовательность х (п) = 0 при п «< ОЛ Вычисляя односторонние z-преобразования от обеих частей уравнения (2.97), получим
LL
Y ^ = 2 at^X (z) — 2 6i [z-1Y (z) + i=0i—1
+ y( —0 + y( —i + l)z-1 +4-y( — l^-a-D].(2.98)
Теперь можно получить выражение для У (z) через X (z) и начальные условия и, взяв обратное z-преобразование, найти отклик у (п).■
Геометрическая интерпретация преобразования Фурье
Выше было отмечено [см. формулу (2.69)], что z-преобразование последовательности всегда может быть записано в виде дроби, числитель которой равен произведению членов, -описывающих нули X (z), а знаменатель — произведению членов, представляющих полюсы z-преобразования X (z), т. е.
м
[] (1 —z^"1)
х (Z) = А ^.(2.99)
1J (^-PjZ-l)
1=1
Преобразование Фурье последовательности (или передаточную функцию системы) можно получить, вычисляя X (г) на единичной окружности, т. е. при z = е^®. Таким образом, • ■
м
[J (1-Zi«-»)
(2.100)(2.100)х А ^.
(2.100)
(2.100)
П С1 —Fi«~,C>)
Фнг. 2.17. Геометрическая интерпретация измерения частотной характе-ристики.
Записав комплексную функцию X ^to^ как |Х (eJW)| ^argXCc^ , найдем
I -V ^-) н л IЬ1 IАI а^!, (2.101)
П Ц-Р!^^!ПН"-₽.1
1=1i=l
МN
arg X (е^3) = arg А + 2 arg(l — z^--^)— 2arg(^ ~Pie-J“)-
1=1i=l
(2.102)
Геометрическая интерпретация соотношений (2.100) — (2.102) дана на фиг. 2.17. Из точки z = ejto, находящейся на единичной окружности, во все нули и полюсы проведены векторы. По их величине определяется модуль передаточной функции на заданной частоте со, а по их углам — фаза. В примере на фиг. 2.17 имеются три полюса (./V = 3) и два нуля (М = 2), а коэффициент А равняется 1, поэтому . (фиг. 2.17)
X (е^) | =X (е^) | =2122Р1Г2Р32122Р1Г2Р3
X (е^) | =
X (е^) | =
2122
Р1Г2Р3
2122
Р1Г2Р3
arg X (eito) = 0i + 02 — (Ф1 + Фг + Фз)-
Для определения передаточной функции на всех частотах 0 ^ оз ^ л необходимо перемещать z по единичной окружности против часовой стрелки из точки z = + 1 Д° т°чки z = — 1.
Построение цифровых фильтров(структурные схемы фильтров)
Цифровые фильтры с заданной передаточной функцией можно построить различными способами. В любом реальном цифровом фильтре шумы и погрешности, появляющиеся при квантовании (см. гл. 5), существенно зависят от структуры фильтра. Прежде всего все фильтры можно разделить на два больших класса: рекурсивные и нерекурсивные. Для реку рсивных фильтров соотношение между входной последовательностью ^х (п)} и откликом фильтра {у (п)} может быть записано следующим образом:
У (п) = F \у (и — 1), у (п — 2), ..., х(п), х (п — 1), . . .], т. е. текущий отсчет отклика у (п) определяется не только текущим и предшествующими значениями входной последовательности, но и предшествующими отсчетами отклика. В нерекурсивных фильтрах связь между входной последовательностью и откликом имеет вид
у (п) = F [х (п), х (п — 1), ...],
т. е. текущий отсчет отклика зависит от текущего и предшествующих значений входной последовательности. В данном и следующем разделах приведено несколько возможных способов построения цифровых фильтров.
Как уже отмечалось, z-преобразование, соответствующее цифровому фильтру, можно выразить в виде дробно-рационального полинома от переменной z-1, т. е.
.N
2
H^=J^=-^—•<2ЛОЗ>
г=0 причем
Ьо ^= 1.
(Предполагается, что степени числителя и знаменателя одинаковы.) Приведя равенство (2.103) к общему знаменателю, получим
NN
илиили(2.104)(2.105)(2.104)(2.105)Y^ 2 ^z-t = X (z) 2 <4^г=0г=0
или
или
(2.104)
(2.105)
(2.104)
(2.105)
NN
2 b^Y (z) = 2 «t^X (z).t=e - - i=o
Фиг. 2.18. Прямая форма 1.Фиг. 2.18. Прямая форма 1.
Фиг. 2.18. Прямая форма 1.
Фиг. 2.18. Прямая форма 1.
Если рассматривать члены вида z-kY ^ как обратные z-преобразования последовательностей у (п — к^ то, взяв обратные z-преобразования обеих частей равенства (2.105), можно получить искомое разностное уравнение '
NN■
(2.106)(2.106)2^у(га—о=
(2.106)
(2.106)
i=01=0
Поскольку 60 = 1, уравнение (2.106) можно решить относительно
У (га):'
NN
(2.107)(2.107)У^= 2 агж(п— г) — 2 bty(n— I).i=0i=l
(2.107)
(2.107)
Простая структура реализации данного разностного уравнения показана на фиг. 2.18. Она носит название прямой формы 1. В ней для образования цепей, соответствующих числителю и знаменателю формулы (2.103), используются раздельные элементы задержки. Характерными чертами этой структуры являются ее простота и непосредственная связь с z-преобразованием. Однако, как показано в гл. 5, если полюсы Н (z) расположены близко друг от друга или от единичной окружности, как это имеет место для частотно-избирательных фильтров, то при использовании фильтров данной структуры возникает трудноразрешимая проблема чувствительности характеристик фильтра к погрешностям коэффициентов. По этой причине в большинстве практических случаев прямую форму 1 стараются не применять.
Если записать формулу (2.103) в несколько ином виде, а именно как'
'N
=VS^)-(2.108)
сх- hiw
H.(z)
то можно получить другую структуру цифрового фильтра. Цифровой фильтр, соответствующий формуле (2.108), состоит из двух последовательно соединенных фильтров с коэффициентами передачи соответственно Нг (z) и Н2 (z). Первый из фильтров имеет только полюсы, а второй — только нули. Если записать
ЯН*) = 4тТ = -^ <2.Ю9)
i=0
И
N
<2Л1°)
г=0
то получается пара разностных уравнений (в предположении, что ^о = 1)
N
1г(н) = ж(н)— 2 bitv(n—i),(2.111)
г=1
N
У (n)= ^ aiw(n — i),(2.112)
i=0
которые можно реализовать, как показано на фиг. 2.19. Поскольку в цепях, соответствующих Нг (z) и Я2 (z), сигнал и? (п) задерживается одинаково, то для построения фильтра достаточно
Фиг. 2.19. Прямая форма 2 (неканоническая).
использовать один набор элементов задержки (фиг. 2.20). Такую структуру называют прямой формой 2 или канонической формой, так как в ней используется минимальное количество сумматоров, умножителей и элементов задержки. (Некоторые другие схемы Дакже обладают этим свойством, поэтому называть структуру фиг. 2.20 канонической не рекомендуется.)
Прямая форма 2 имеет такие же достоинства и недостатки, как и прямая форма 1; они будут рассмотрены позднее.
Записав формулу (2.103) в виде
кя<г>=-^г=а»П н>^-кя<г>=-^г=а»П н>^-(2.113)(2.113)
к
я<г>=-^г=а»П н>^-
к
я<г>=-^г=а»П н>^-
(2.113)
(2.113)
получим третью структуру построения цифрового фильтра. Множители Hi (z) соответствуют либо блокам второго порядка, т. е.
Hi (z) -Hi (z) -1 4-«Hz-1+a2^~2l+bl/Z-l + b2/Z-2 ’1 4-«Hz-1+a2^~2l+bl/Z-l + b2/Z-2 ’(2.114)(2.114)
Hi (z) -
Hi (z) -
1 4-«Hz-1+a2^~2
l+bl/Z-l + b2/Z-2 ’
1 4-«Hz-1+a2^~2
l+bl/Z-l + b2/Z-2 ’
(2.114)
(2.114)
либо блокам первого порядка, т. е.
Н^ =Н^ =14-«nz 114-«nz 1(2.115)(2.115)
Н^ =
Н^ =
14-«nz 1
14-«nz 1
(2.115)
(2.115)
х(п) ^ адх(п) ^ адФиг. 2.21. Последовательная (каскадная) форма.Фиг. 2.21. Последовательная (каскадная) форма.
х(п) ^ ад
х(п) ^ ад
Фиг. 2.21. Последовательная (каскадная) форма.
Фиг. 2.21. Последовательная (каскадная) форма.
а К равно целой части числа ^N + 1)/2. Схему, реализующую формулу (2.113), называют каскадной (или последовательной) формой (фиг. 2.21). Каждый из блоков второго порядка, образующих последовательную форму, можно реализовать в прямой форме 1 или в прямой форме 2. Использование блоков второго порядка (и, возможно, одного блока первого порядка) при построении фильтра определяется тем, что для получения комплексного полюса или нуля фильтр с действительными коэффициентами должен включать блок второго порядка. Поскольку не все нули и полюсы комплексные, то некоторые авторы предпочитают описывать последовательную структуру с помощью z-преобразования вида
Ktк,.
Я(2) = «„[П ЯцМПП^М], (2.116) 1=11=1
где Ни (^ соответствует системе первого порядка, определяемой формулой (2.115), а H2i (z) — системе второго порядка, определяемой равенством (2.114). Величина К2 равна наибольшему числу комплексных нулей или полюсов, a Кх = N — 2Х2.
При проектировании последовательностей структуры, как правило, бывает трудно решить, какие полюсы с какими нулями нужно объединять в пары. Еще более сложной задачей является выбор последовательности, в которой располагаются отдельные блоки первого и второго порядка. Если, например, передаточная функция имеет вид
5
П "i и
П Di (.)
1=1
то одной из возможных последовательных форм является
k 'S2(z) D5(z) ^(z) S4 (z) 53(z) ’
где в пары объединены Nx и D^, N3 и D5l N4 и Dv N5 и D4l N2 и D3. Эта запись означает, что блок NX!D2 включен первым, за ним следуют блоки N^D5, N4/Dv NJD4 и, наконец, N2ID3. В предположении неограниченной точности представления всех
переменных порядок блоков и способ группирования нулей с полюсами не имеют значения. Однако для реальных устройств эти вопросы имеют весьма важное значение. Более подробно они рассмотрены в гл. 5. Еще одна трудность, связанная с особенностями последовательной формы, состоит в необходимости введения масштабирующих множителей между отдельными блоками. Эти множители не позволяют переменным фильтра принимать слишком большие или слишком малые значения. Вопросы масштабирования также будут рассмотрены в гл. 5.
Четвертую структурную схему цифрового фильтра можно получить, разложив правую часть формулы (2.103) на простые дроби:
S(z) = C+f ^ito.(2.117)
1=1
где слагаемые Ht (z) соответствуют или блокам второго порядка
<2Л18>
или блокам первого порядка
в.^т&.<2Л19>
причем К равно целой части от (N 4- 1)/2, и, как следует из формулы (2.103), С = aN/bN. На фиг. 2.22 приведена структурная схема, реализующая соотношение (2.117). Ее называют параллельной формой. Блоки первого и второго порядка, описываемые формулами (2.118) и (2.119), строятся по схеме одной из рассмотренных выше прямых форм.
Фиг. 2.22. Параллельная форма.
Хотя рассмотренные структурные схемы фильтров не исчерпывают всех возможных структур, при моделировании на ЦВМ и аппаратурной реализации фильтров они применяются наиболее часто. Другие структуры можно получить множеством способов. Так, например, можно построить параллельно-последовательную структуру, в которой часть передаточной функции реализуется в параллельной форме, а остальная часть — в последовательной. Кроме того, для всех рассмотренных структур можно получить обращенные схемы, изменив направление прохождения всех сигналов (т. е. направив все стрелки на схемах в обратную сторону) и поменяв местами точки разветвления с точками суммирования сигналов. Полученные таким образом структуры будут иметь те же передаточные функции, но в них будут по-иному проявляться эффекты конечной разрядности чисел.
Выбор наилучшей из этих многочисленных структурных схем как при аппаратурной реализации, так и при моделировании на ЦВМ определяется экономическими соображениями. Последние в свою очередь зависят от свойств структур при ограниченной точности представления переменных и коэффициентов фильтров. Дальнейшее рассмотрение этого вопроса отнесено в гл. 5.
Структурные схемы фильтров без полюсов
В важном частном случае знаменатель дроби (2.103) может быть постоянным (для простоты приравняем его к единице). При этом разностное уравнение, описывающее систему, становится нерекурсивным, т. е. текущее значение отклика у (м) зависит только от текущего и конечного числа предшествующих значений входной последовательности. В этом случае правую часть (2.103) обычно преобразуют таким образом, чтобы выразить Н (^ непосредственно через импульсную характеристику фильтра:
N- 1
Н^ = ^ = S A (z) z-”. (2.120)
Здесь верхний предел суммирования заменен на N — 1, чтобы уравнение описывало физически реализуемый фильтр, длина импульсной характеристики которого равна N отсчетам. Разностное уравнение, соответствующее выражению (2.120), имеет вид
у (п) = h (0) х (п) + h (1) х (п - 1) + ... + h (N - 1) X
X X (п - N + 1), (2.121) т. е. является нерекурсивным уравнением. Для построения фильтров с конечными импульсными характеристиками рассматриваемого типа обычно применяют несколько структурных схем. Чаще
Фиг. 2.23. Прямая форма фильтра с конечной’импульсной характеристикой.
всего используют прямую форму, описанную в разд. 2.19. Для данного частного случая существует только одна прямая форма (фиг. 2.23). Из-за сходства этой структуры с линией задержки с отводами ее часто называют фильтром с многоотводной линией задержки (или иногда трансверсальным фильтром). Ниже будет показано, что аппаратурная реализация структуры, показанной на фиг. 2.23, довольно проста. Для нее требуются только один умножитель, один накапливающий сумматор и два блока циркулирующей памяти на регистрах сдвига.
При построении фильтров, не имеющих полюсов, весьма удобной оказывается и последовательная структура. В этом случае z-преобразование импульсной характеристики фильтра (2.120) представляется в виде произведения z-преобразований, соответствующих системам первого и второго порядка, т. е.
Н^ = П Н^,(2.122)
77= 1
где
Нп (z) = аоп + alnz-1 + a2nz-2 (система второго порядка) или
Нп (z) -= а№ 4" «inZ-1 (система первого порядка),
причем Nм равно целой части ^N 4~ 1)/2.
Для построения фильтров без полюсов довольно часто применяют еще несколько структур, которые не имеют аналогов с фильтрами общего вида, содержащими и нули, и полюсы. Наиболее распространенная из них основана на так называемом методе быстрой свертки, когда свертка вычисляется с помощью обратного преобразования Фурье от произведения преобразований Фурье входной
последовательности и импульсной характеристики системы. В последующих разделах этот метод будет рассмотрен более подробно.
Применяя для представления полиномиальной передаточной функции (2.120) классические интерполяционные формулы, можно получить другие структурные схемы реализации этой функции. Например, при использовании интерполяционной формулы Лагранжа
N-iN-1
Н^= п (1-^п) 2 Т^;-<2123>
П—07П=0
где
=,(2.124)
fj (1 znzm^п=0■п^тп
причем массив {zn}, 0 ^ п ^ N — 1, образован N произвольными точками на z-плоскости, в которых вычислены значения Н (zn) z-преобразования (2.120), используемые при расчете коэффициентов (2.124). Как следует из формулы (2.123), полученная структура состоит из N последовательно соединенных блоков первого порядка (имеющих нули в точках z = zn, п = 0, 1, ..., N — 1), последовательно к которым подключена группа из N параллельно соединенных блоков первого порядка (они имеют полюсы в точках z = zn, п = 0, 1, ..., N — 1). Структурная схема, реализующая формулу (2.123), изображена на фиг. 2.24.
Нетрудно показать, что эта структура позволяет реализовать любое z-преобразование вида (2.120). Прежде всего каждый из полюсов параллельно соединенных блоков структуры компенсирует один из нулей последовательно соединенных блоков, что дает эквивалентный фильтр с N — 1 нулями. Далее, значение Н (z) в каждой из точек zn равно заданной величине Н (zn). Так как Н (z)
Фиг. 2.24. Структурная схема Лагранжа общего вида.
является многочленом (^ — 1)-й степени, то он полностью определяется своими значениями в N различных точках. Следовательно, выражения (2.123) и (2.120) полностью эквивалентны.
Следует отметить, что с точки зрения числа элементов задержки структура Лагранжа не является канонической, так как в ней используется 2N элементов задержки (по N в параллельной и последовательной частях структуры). Важность данной и аналогичных структур определяется теми частными случаями, в которых они применяются (см. ниже). При изучении чувствительности характеристик структуры фиг. 2.24 к ограничению точности представления коэффициентов фильтра выявляются ее дополнительные преимущества.
Важным является частный случай структуры Лагранжа, когда последовательность zn состоит из точек, равномерно распределенных по единичной окружности, т. е.
Zn = еД2л№ w_o, 1, ..., АГ-1.(2.125)
При этом член правой части (2.123), содержащий произведения, имеет вид
f] [l_z-1ej(2«/^)«] = (l—z-^,(2.126)
n=0
а равенство (2.124) превращается в
А„ = -1-{Я[е№/№"Ч}.(2.127)
Справедливость соотношения (2.126) подтверждается тем, что корни уравнения z-N = 1 совпадают с N главными значениями корня N-й степени из единицы, т. е. с числами, выбранными согласно условию (2.125). Равенство (2.127) получается путем подстановки условия (2.125) в формулу (2.124), что дает
Ат = Н (zm) lim2 > ■‘
[] (i-z-iZn) =_ n=0_
" (zm)N ) N .
z"*zm '’
Получаемая при условии (2.125) структурная схема фильтра (фиг. 2.25) описывается z-преобразованием
HW =N~ 2 ^^WV-<2Л28>
n=0
Она называется структурой на основе частотной выборки, поскольку коэффициенты фильтра равны отсчетам передаточной функции
фильтра [2/(^“)}, взятым в N точках, равномерно распределенных по единичной окружности.
Структура с частотной выборкой имеет несколько интересных свойств. Так, при выполнении в параллельной части структуры арифметических операций с конечной точностью полностью скомпенсировать нули, сгруппированные в (2.128) в члене (1 — £~Л), с помощью полюсов не удается. Поэтому в итоге фильтр будет иметь и нули, и полюсы, а длина его импульсной характеристики станёт неограниченной. Значение данной структуры состоит в том, что она позволяет весьма эффективно создавать фильтры, у которых большинство коэффициентов для умножителей ^Н Ye^2njN^AA равно нулю. Цепи, для которых {Н [^W/w^i]} = = 0, можно отбросить. Так, например, для узкополосного фильтра, у которого отличны от нуля лишь несколько коэффициентов, структура оказывается весьма эффективной. В ней для получения одного выходного отсчета достаточно выполнить небольшое число умножений.
Применяя другие интерполяционные t рмулы, можно получить и другие структуры фильтров без полюсов. Так, например, можно получить структуры Ньютона, Эрмита, Тэйлора и т. д. Поскольку преимущества и недостатки таких структур изучены еще недостаточно, в настоящей книге они рассматриваться не будут.
Дискретное преобразование Фурье
Выше было рассмотрено несколько методов описания последовательностей или дискретных систем. К ним относятся дискретная свертка, преобразование Фурье и z-преобразование. В тех случаях, когда последовательность периодична (а также, как будет показано, когда она имеет конечную длительность), ее можно
представить рядом Фурье. Итак, рассмотрим периодическую) последовательность хр (п) с периодом в X отсчетов. Ее можно записать следующим образом:
(2.129)(2.129)хр(п) = 2 ^р W е^2л1^\k= - оо
(2.129)
(2.129)
причем частоты спектральных составляющих, образующих хр ^п\ могут принимать только значения (ofe = ^TikiN, — оо < к < оо, поскольку периоды других частот не кратны X. В равенстве (2.129) коэффициенты Хр (к) представляют амплитуды синусоид с частотами toh. Запись вида (2.129) избыточна вследствие периодичности функции ^ю, так как комплексные экспоненты с часто
т < оо,т < оо,(2.130)(2.130)тами гок = 2лк!Х и toh+mN = (2л/Л) (& + mN\ 0 не отличаются друг от друга, т. е.
т < оо,
т < оо,
(2.130)
(2.130)
ej(2n/2V)/m — ез(2л/N)(h±mN)n ^0 < Ш < ОО .
Следовательно, равенство (2.129) можно переписать в виде
N-1
(2.131)(2.131)Хр(п^ 2 Xp^eX^/N^ h=0
(2.131)
(2.131)
подчеркивающем наличие всего X различных комплексных экспонент с периодом в X отсчетов. Для удобства перепишем равенство (2.131) в общепринятом виде
N-1
^M’yS Хр (i) e«=^»,(2.132)
где деление на X не изменяет способа представления. Чтобы выразить коэффициенты Хр (к) через хр (п), умножим обе части равенства (2.132) на e~j(2n/W)mn и просуммируем результаты по п:
N-1N-iN-i'
2 Хр (n) e-^iN^m = A^ 2 2 Xp$ei№W-m\ (2.133) « =0n=0 k=0
Меняя в правой части (2.133) порядок суммирования и используя формулу '
X при к — т, ■
2 e-j(2n/2v)n(fe-m)=г(2.134)
. п=о0 при к^т,х г
получим.■ -
X —1N-1
. 2 Хр^е-^^пт^ 2 Хр(к)и0(к-т) (2.135) 71=0fe=0
или [после перестановки левой и правой частей равенства (2.135) и замены индекса т на Аг]'
2V-1
/2.136)/2.136)Хр(к) = 2 Xp^e-WN^.п=0
/2.136)
/2.136)
Соотношение (2.136) носит название дискретного преобразования Фурье (ДПФ), а (2.132) — обратного дискретного преобразования Фурье (О ДПФ).
Из определений (2.132) и (2.136) видно, что обе последовательности хр (п) и Хр (к) периодичны с периодом в N отсчетов. Ясно также [см. (2.136)1, что Хр (к) полностью определяются одним периодом хр (п). Отсюда возникает интересный вопрос: как связаны z-преобразование конечной последовательности, образованной из одного периода периодической последовательности, и ДПФ всей периодической последовательности? Иначе говоря, рассмотрим последовательность конечной длины
X ^ =X ^ =Хр (п) приО приХр (п) приО приO^n^N — 1,O^n^N — 1,других п,других п,(2.137)(2.137)
X ^ =
X ^ =
Хр (п) при
О при
Хр (п) при
О при
O^n^N — 1,
O^n^N — 1,
других п,
других п,
(2.137)
(2.137)
причем последовательность хр (п) имеет период в N отсчетов, т. е. х {п) представляет собой один период периодической последовательности хр (п). z-преобразование х (и) равно
N-\
Х^ = 2 ^(^)z-n.(2.138)
п—О
Вычисляя сумму (2.138) при z = ^(зл/^, т е в Т0ЧКе на единичной окружности с полярным углом 2nk/N, находим
N—1
X^\.i№INlh = XVe»«mk1= 2 х^е-И»^.(2.139)
п=0
Сравнивая суммы (2.139) и (2.136) и учитывая, что хр (п) — х (п) на интервале 0 ^ п ^ N — 1, получаем
Хр^ = Х\е^!^.(2.140)
Итак, коэффициенты ДПФ последовательности конечной длины равны значениям z-преобразования этой же последовательности в N точках, равномерно распределенных по единичной окружности. Еще более важный вывод состоит в том, что коэффициенты ДПФ последовательности конечной длины однозначно представляют саму последовательность, так как по ним можно точно восстановить исходную последовательность, используя обратное ДПФ. Итак, хотя ДПФ и ОДПФ вводятся для периодических последовательностей, важно, что через них можно представлять последовательности конечной длины.
IXpk)J(3N-targXpк)IXpk)J(3N-targXpк)ККббккlx(ejw)|lx(ejw)|
IXp
k)J
(
3N-t
argXp
к)
IXp
k)J
(
3N-t
argXp
к)
К
К
б
б
к
к
lx(ejw)|
lx(ejw)|
Для иллюстрации приведенных положений рассмотрим периодическую последовательность (фиг. 2.26, а) с периодом N, определяемую как
жр(п) = ап, O^k^W— 1,
Xpkn-VmN^ = Xp^ny т = ± 1, ± 2, ... .Согласно определению (2.136), ее ДПФ равно
N-lN-i.
Хр^= 2 a,ne-iW^k= 2 [ае-Л2лда]« =п=0п=0
l-a^1 —ае-Я2л/^к ’l-a^1 —ае-Я2л/^к ’O^&^N —1.O^&^N —1.
l-a^
1 —ае-Я2л/^к ’
l-a^
1 —ае-Я2л/^к ’
O^&^N —1.
O^&^N —1.
Модули и фазы элементов последовательности Хр (к) для случая а = 0,9 и N = 16 изображены на фиг 2.26, б. Последовательность конечной длины х (yi) (фиг. 2.26, в) определяется как
х (п) =х (п) =аи0аи0при O^n^TV — 1,при O^n^TV — 1,при. других п.при. других п.
х (п) =
х (п) =
аи
0
аи
0
при O^n^TV — 1,
при O^n^TV — 1,
при. других п.
при. других п.
т. е. она состоит из одного периода последовательности хр (п). Ее z-преобразование равно
1-Л^1 — az-11-Л^1 — az-1N-1
1-Л^
1 — az-1
1-Л^
1 — az-1
Х^ = 2 аи7Ги =п=0
Вычисляя значения X (z) на единичной окружности, получим
X (е^) =X (е^) =V_aNe-3toNV_aNe-3toN
X (е^) =
X (е^) =
V_aNe-3toN
V_aNe-3toN
Модуль и фаза полученной функции для 0 ^ со ^ 2л изображены на фиг. 2.26, г. Ясно, что значения Хр^ и X ^е32^^ в точках со = 2jiklN совпадают.
Поскольку ДПФ однозначно представляет последовательность конечной длины, появляется возможность найти ее z-преобразование через коэффициенты ДПФ этой последовательности. Из соотношений (2.137), (2.132) и определения z-преобразования получаем
^-lN—lN-1
Х^= 2 ^(^)z"n= 2 4 2 Xp^e^W
n=0n=0h=0
N-1N-1
= 2 Xp(t)4" 2
h=0n=0
(2.141)(2.141)^XpWr t_z-N n
(2.141)
(2.141)
— 2j N 11-г-1еЯ2адЬ J-
A=0
Равенство (2.141) показывает, что z-преобразование последовательности непосредственно связано с коэффициентами ее ДПФ. Для точек на единичной окружности равенство (2.141) принимает вид
N-1.
у , ;юх Y ХР$ e-3to^N-^2Ч^п (ю7У/2) 2-J Nе^лк/^5т ((о/2 — лк/N) *
А=0
где функции вида sin (co7V/2)/sin (со/2 — як/N) интерполируют значения коэффициентов ДПФ Хр (к) на всю ось частот. Следовательно, с помощью формулы (2.142) по коэффициентам ДПФ
последовательности конечной длины можно найти ее непрерывный частотный спектр.
Представление конечных последовательностей с помощью ДПФ удобно также для получения значений преобразования Фурье в L точках, равномерно распределенных по единичной окружности. Для получения требуемого частотного разрешения L может быть выбрано значительно большим, чем N. Рассмотрим конечную последовательность {ж (п), 0 ^ п ^ N — 1} с преобразованием Фурье
N-1
Х(^ю) = 2 Ж («) е-^юп.(2.143)
п=0
Вычисляя X (е^) на частотах coz = (2n/L) I, 1 = 0, 1, .., L — 1, получим
N-1Х[^(2л/^]= 2 х^е-М».(2.144)
71=0
Введем новую последовательность х (п) длины L точек (L >7V):
х (и) =х (и) =0,0,JV— 1,JV— 1,Л^п<^£ — 1,Л^п<^£ — 1,и найдем ее L-точечное ДПФ:Х^) = 2 ж^п) e-^n/Uhn.71=0и найдем ее L-точечное ДПФ:Х^) = 2 ж^п) e-^n/Uhn.71=0(2.145)(2.146)(2.145)(2.146)
х (и) =
х (и) =
0,
0,
JV— 1,
JV— 1,
Л^п<^£ — 1,
Л^п<^£ — 1,
и найдем ее L-точечное ДПФ:
Х^) = 2 ж^п) e-^n/Uhn.
71=0
и найдем ее L-точечное ДПФ:
Х^) = 2 ж^п) e-^n/Uhn.
71=0
(2.145)
(2.146)
(2.145)
(2.146)
Поскольку х (п) = 0 при п> N, равенство (2.146) можно записать в виде
N- 1
Х$ = 2 х^е-^^.(2.147)
п=0
Сравнивая (2.147) и (2.144), получим
Х(/с) = Х[б^2л/^].(2.148)
Таким образом, простое дополнение последовательности конечной длины нулевыми отсчетами позволяет достичь любого разрешения1) при расчете преобразования Фурье этой последовательности для совокупности точек, равномерно распределенных по единичной окружности. При спектральном анализе конечных последовательностей эта несложная операция является одной из наиболее полезных.
*) Частотное разрешение зависит только от длительности сигнала N. Выбор L > N лишь улучшает условия различения синусоидальных компонент.— Прим. ред.
Итак, мы показали, что ДПФ однозначно представляет последовательность конечной длины, содержащую N элементов, причем коэффициенты ДПФ равны значениям z-преобразования последовательности в N точках, равномерно распределенных по единичной окружности. Аналогично z-преобразование любой (в том числе и бесконечной) последовательности однозначно представляет эту последовательность. Было также показано, что дискретизация во временной области приводит к наложению в частотной области. Покажем теперь, что дискретизация в частотной области также приводит к наложению во временной области. Рассмотрим сначала, какая получится последовательность, если в качестве коэффициентов ДПФ взять значения произвольного z-преобразования, вычисленного в N точках, равномерно распределенных по единичной окружности. Для большей ясности предположим, что последовательность К (п) (не обязательно конечная) имеет z-преобразование
Я(г) = 3 h^z-n.(2.149)
П=— ОО
Определим набор коэффициентов ДПФ как
ОО
Н„ (6) = Н (г) I^Kavm» = 2 к We ^^(2.150)
П=-оо
По этим коэффициентам можно найти периодическую последовательность Тгр (п), равную
М«) = 4" 2(2.151)
h=0
Подставляя значения коэффициентов (2.150) в формулу (2.151) и заменяя индекс суммирования на т, получим
4 2 '2 hWe-i^lN^Aei^lN^^4 2 '2 hWe-i^lN^Aei^lN^^^- 1 ООw =h=0m=—оо
4 2 '2 hWe-i^lN^Aei^lN^^
4 2 '2 hWe-i^lN^Aei^lN^^
ООN-1
= 2 А W [4" 2 e-K2"/N)k(m-n) m=-ooh=0
ОООО
= 22^((m-n-VrNV
m=-oor=—оо
hp^=^ 2 /Ця-гА).(2.152)
Г=—оо
Соотношение (2.152) является весьма важным. Оно показывает, что периодическая последовательность, получаемая из обратного
Фиг. 2.27. Две последовательности h. (п) и соответствующие им эквивалентные периодические последовательности.
ДПФ набора значений z-преобразования непериодической последовательности, вычисленных в N точках, которые равномерно распределены по единичной окружности, состоит из сдвинутых и наложенных копий исходной непериодической последовательности. Если длина последовательности h (п) не превышает N отсчетов, то наложение в hp (п) фактически отсутствует. Равенство (2.152) также показывает, что искажения, связанные с наложением, которые возникают при описании бесконечной последовательности конечным числом N коэффициентов ДПФ, уменьшаются при увеличении N. На фиг. 2.27 изображены две последовательности
h {п) и соответствующие им TV-точечные периодические эквиваленты. В первом примере длина последовательности к (п) близка к TV, поэтому Ир (и) повторяет ее почти без искажений. Во втором примере длина к (п) значительно больше TV, поэтому периодическая последовательность заметно отличается от исходной.
Свойства ДПФ
Некоторые свойства ДПФ играют в практических вопросах обработки сигналов важную роль. Ниже они будут в основном перечислены, детали будут рассмотрены только в случае необходимости.
Линейность
Если хр ^п) и ур (п) — периодические последовательности (с периодом в TV отсчетов каждая), а Хр (к) и Ур (/с) — их ДПФ, то дискретное преобразование Фурье последовательности хр (п) 44* Ур (п) равно Хр (А) + Ур (к). Это положение справедливо и для последовательностей конечной длины.
Сдвиг
Если последовательность хр (п) периодическая с периодом в ^отсчетов, а ее ДПФ равно Хр (к), то ДПФ периодической последовательности вида Хр (п— п0) будет равно Хр (к) e-i^”lNW.
Фиг. 2.28. К определению ДПФ сдвинутой последовательности.
При анализе последовательностей конечной длины необходимо учитывать специфический характер временного сдвига последовательности. Так, на фиг. 2.28, а изображена конечная последовательность х (п) длиной в N отсчетов. Там же крестиками изображены отсчеты эквивалентной периодической последовательности хр (я), имеющей то же ДПФ, что иж(п). Чтобы найти ДПФ сдвинутой последовательности х (п — п0), причем п0 -< N, следует рассмотреть сдвинутую периодическую последовательность хр (п — п0) и в качестве эквивалентной сдвинутой конечной последовательности (имеющей ДПФ X (A) е~Я2л/^пвл) принять отрезок последовательности хр (п — п^ в интервале О ^ п ^ N — 1. Таким образом, с точки зрения ДПФ последовательность х (п — п0) получается путем кругового сдвига элементов последовательности х (п) на п0 отсчетов.
Свойства симметрии
Если периодическая последовательность хр (п) с периодом в N отсчетов является действительной, то ее ДПФ Хр (к) удовлетворяет следующим условиям симметрии:
Re[Xp (Ar)] = Re[Xp (ЛГ —Аг)],
Im[Xp(A)]= -Im[Xp(7V-A)b|ХР(А)| = |ХР(А-А)|,(1
argXp(A) — —aigXp^N — ky
Аналогичные равенства справедливы и для конечной действительной последовательности х (п), имеющей TV-точечное ДПФ X (к). Если ввести дополнительное условие симметрии последовательности хр (п), т. е. считать, что
хр W — хр (X — п),(2.154)
то окажется, что Хр (к) может быть только действительной.
Поскольку чаще всего приходится иметь дело с действительными последовательностями, то, вычислив одно ДПФ, можно получить ДПФ двух последовательностей, используя свойства симметрии (2.153). Рассмотрим действительные периодические последовательности хр (п) и ур (п) с периодами в N отсчетов и TV-точечными ДПФ Хр (к) и Ур (к) соответственно. Введем комплексную последовательность zp (и) вида'
2р (п) '= Хр (п) 4- 1Ур (п).(2.155)
Ее ДПФ равно
ZP (А) = 2q I^p (п) + Й/р (Л)] е-Л2»/^"*,(2.156)
Zp^ = Xp(k^jYp(ky(2.157)
Выделяя действительную и мнимую части равенства (2.157), по
лучим
(2.158)(2.158)Re [Zp (А)] = Re [Хр (А)] - Im [Ур (A) J,Im [Zp (к^ = Im [Хр (А)] + Re [Ур (А)].
(2.158)
(2.158)
Действительные части Хр (А) и ¥р (к) симметричны, а мнимые — антисимметричны, поэтому их легко разделить, используя операции сложения и вычитания:
Re[Zp(A)] + Re[Zp(^~A)]Re [Хр (А)] —,
Т гRe[Zp(^-A)]-Re[Zp(A)]
(2.159)(2.159)Im [Ур (k^ 2’
(2.159)
(2.159)
Re^)]^1^1^
ImM1 = !^^^
Итак, вычисляя одно TV-точечное ДПФ, удается преобразовать сразу две действительные последовательности длиной по N отсчетов. Если эти последовательности являются еще и симметричными, то число операций, необходимых для получения их ДПФ, можно сократить еще больше.
Свертка последовательностей
Если хр (п) и кр (п) — две периодические последовательности с периодами по N отсчетов и ДПФ, равными
N-1
Хр (к) = 2 жр (п) e;№4«v»\(2.160)
T^Oi!
^-1
ЩР№ = ^hp^e-^m^,(2.161)
n=0
то TV-точечное ДПФ последовательности yp (и), являющейся круговой (или периодической) сверткой последовательностей хр (п) и кр (и}, т- е.
IV-1
Ур(п) = ^Хр(1) кр (n—lY(2.162)
равно
Yp (к) = Нр № Хр (к).Yp (к) = Нр № Хр (к).(2.163)(2.163)
Yp (к) = Нр № Хр (к).
Yp (к) = Нр № Хр (к).
(2.163)
(2.163)
Фиг. 2.29. Круговая (периодическая) свертка.
Поскольку из формулы (2.163) получаются важные следствия, ниже показано, как она выводится. Сначала необходимо разъяснить понятие круговой свертки. На фиг. 2.29, а, б изображены периодические последовательности хр (уг) и hp (п), а на фиг. 2.29, в показано, как вычисляется значение круговой свертки (2.162) при п = 2. В силу периодичности последовательностей хр (Z) и hp (п — Г) достаточно рассматривать их на интервале 0 ^ Z ^ ^ N — 1. С изменением п последовательность hp (п — Z) смещается относительно хр (Z). Когда отсчет hp (п — Z) выходит за точку I = N — 1, точно такой же отсчет появляется в точке Z — 0. Поэтому круговая свертка определяет свертку двух последовательностей, заданных на окружности.
Формулу (2.163) можно получить, найдя ^-точечное ДПФ правой части (2.162), т. е.
N-l N-1
Гр№= 2 12 хр^Нр<п-Г)\е-№'Ч№ = п=0 1=0
^-lN-Y
= 2 Жр^\^ hp(n—l)e-H2n/NHn-l^e-j(2^N)lh = Z=0n=Q
HpW N~i
= HP^ 2 Xp^e-HW^-H,(fc)X,(k).(2.164)
2=0,
Полученная формула справедлива и для конечных последовательностей, если рассматривать хр (Zc) и hp (Zc) как эквивалентные им периодические последовательности с теми же ДПФ. Однако для конечных последовательностей обычно нужна линейная (ее называют апериодической), а не круговая свертка, поэтому в приведенные формулы следует внести уточнения.
Линейная свертка конечных последовательностей
Рассмотрим две конечные последовательности ж (и) и h (п) длины по N\ и N^ отсчетов, т. е. х (п) отлична от нуля при О ^ и ^ ^ — 1, а К (п) — при 0 ^ п N2 — 1. Линейной или апериодической сверткой этих последовательностей называют последовательность у (п), определяемую соотношением
п
(2.165)(2.165)у(и)= 3 ^(т^х^п — т^
(2.165)
(2.165)
т=0
где h (т) и х (п — т) равны нулю вне соответствующих интервалов. На фиг. 2.30 приведены примеры последовательностей х (п), h (п) и у (п). Ясно, что последовательность у (п) является конечной и имеет длину (^ + N2 — 1) отсчетов.
Выше было показано, что, перемножая ДПФ двух конечных последовательностей и находя обратное ДПФ произведения, полу-
х(п)06'Ь(п)х(п)06'Ь(п)J |N2=4НН о-о-оо-о-оП3J |N2=4НН о-о-оо-о-оП3Фиг. 2.30. Линейная (апериодическая) свертка.Фиг. 2.30. Линейная (апериодическая) свертка.чаем такой же результат, как при круговой свертке эквивалентных периодических последовательностей, образованных из данных конечных последовательностей. Исходя из этого (см. также пример на фиг. 2.29), можно довольно просто получить линейную свертку двух конечных последовательностей. Свертка периодических последовательностей периодична и имеет тот же период, что и сами последовательности. Поскольку период свертки у (п) (фиг. 2.30) равен ^г + N2 — 1) отсчетам, то для получения такого периода при круговой свертке необходимо, чтобы х ^ и /г (и) содержали по VNX + N2 — 1) отсчетов, что достигается дополнением каждой из двух последовательностей соответствующим числом нулевых отсчетов. После этого можно
х(п)
06'
Ь(п)
х(п)
06'
Ь(п)
J |N2=4
НН о-о-оо-о-оП
3
J |N2=4
НН о-о-оо-о-оП
3
Фиг. 2.30. Линейная (апериодическая) свертка.
Фиг. 2.30. Линейная (апериодическая) свертка.
найти (^ + N4 — 1)-точечные ДПФ дополненных последовательностей,
Х(Л),Хр(п)
ооNN0 0 0 00 0 0 0ОО ОООО ООh(n),hp(n)О О о оh(n),hp(n)О О о оОО-О-ОО-О'ОО-О-ОО-О'-1—1—10-00000О Н2Ч-1—1—10-00000О Н2Ч00-0000—00-0000—ппФиг. 2.31. Вычисление линейной свертки с помощью круговой свертки*Фиг. 2.31. Вычисление линейной свертки с помощью круговой свертки*
о
о
N
N
0 0 0 0
0 0 0 0
ОО ОО
ОО ОО
h(n),hp(n)
О О о о
h(n),hp(n)
О О о о
ОО-О-ОО-О'
ОО-О-ОО-О'
-1—1—10-00000
О Н2Ч
-1—1—10-00000
О Н2Ч
00-0000—
00-0000—
п
п
Фиг. 2.31. Вычисление линейной свертки с помощью круговой свертки*
Фиг. 2.31. Вычисление линейной свертки с помощью круговой свертки*
перемножить их и выполнить обратное ДПФ произведения. В результате получается искомая свертка у (та). На фиг. 2.31, иллюстрирующей эти операции, изображены эквивалентные периодические последовательности, используемые при вычислении круговой свертки. Ясно, что дополнение исходных последовательностей конечной длины х (п) и К (та) нулевыми отсчетами доводит период до нужной величины и позволяет устранить круговые наложения, характерные для круговой свертки. В результате каждый период последовательности ур (та) (фиг. 2.31) совпадает с У (п) (Фиг- 2.30). Рассмотренный метод вычисления свертки двух конечных последовательностей с применением алгоритма ДПФ называется быстрой сверткой в противоположность методу прямого вычисления суммы (2.165), называемому прямой или медленной сверткой. Термин «быстрая» применяется потому, что ДПФ можно вычислить быстро и эффективно, используя один из алгоритмов быстрого преобразования Фурье (БПФ). Можно показать, что даже при умеренных величинах (Nt + N^ — 1) (например, порядка 30) быстрая свертка оказывается эффективнее прямой. Поэтому рассмотренная методика является важным вычислительным средством при обработке сигналов.
Для практических приложений важно отметить, что в рассмотренном выше примере размер ДПФ не обязательно ограничивать величиной ^Ny -VNt — 1). ДПФ можно выполнять по любому числу отсчетов L, удовлетворяющему условию L^Ny + N^ — 1. Если это условие удовлетворяется, то в отличие от вышеописанной методики последовательности х (п) и h ^п) дополняются другим числом нулевых отсчетов. В результате эквивалентная периодическая последовательность ур (п) будет иметь в конце периодов (L — N’t — N2 + 1) нулей. Ясно, что эти отличия никак не искажают желаемого результата. Возможность произвольного выбора L существенна, поскольку практические алгоритмы вычисления ДПФ при разных L имеют неодинаковую эффективность. Так, например, для некоторых алгоритмов необходимо, чтобы L равнялось степени 2. В этом случае в качестве L приходится выбирать число, равное степени 2 и не меньшее чем Nx Д- N^ — 1.
Секционированные свертки
Во многих практических задачах необходимо вычислять сверт ку двух конечных последовательностей, когда одна из них гораздо длиннее другой (скажем, ^^ Л'2илиЛ'2 > NTY Конечно, всегда можно выбрать L равным (Nt + N2 — 1), но такой подход неэффективен и по ряду причин неудобен. Во-первых, перед вычислением свертки нужно иметь всю более длинную последовательность. На практике, например в радиолокации или при обработке речевых сигналов, это условие не всегда выполнимо. Во-вторых, поскольку обработка начинается только после приема всей последовательности, то результат получается с большой задержкой. И наконец, при слишком больших (^ + 2V2 — 1) вычисление ДПФ значительно усложняется, так как для этого требуется большой объем памяти и возникают некоторые другие, чисто практические трудности, связанные с алгоритмами БПФ. От перечисленных недостатков свободны следующие два метода вычисления свертки. Они основаны на разбиении более длинной^последовательности на секции и вычислении частичных сверток, из которых затем формируется искомая выходная последовательность.
Первый из них называется методом перекрытия с суммированием. Сущность этого метода иллюстрируется на фиг. 2.32. Для простоты положим, что последовательность х (тг) не ограничена, a h (ri) содержит N^ отсчетов. Разделим последовательность х (п) на смежные секции длиной по N"3 отсчетов (фиг. 2.32). Выбор N3 довольно сложен, но хорошие результаты получаются, если N3 является величиной того же порядка, что и N"2. Итак, входная последовательность х (п) представляется в виде
сю
Л?(п) = 2 жк W,(2.166)
h=0
h(n)। >рррh(n)। >рррХо(л)Хо(л)Xi(n)Xi(n)х2(л)х2(л)Фиг. 2.32. Метод перекрытия с суммированием.Фиг. 2.32. Метод перекрытия с суммированием.где
h(n)
। >ррр
h(n)
। >ррр
Хо(л)
Хо(л)
Xi(n)
Xi(n)
х2(л)
х2(л)
Фиг. 2.32. Метод перекрытия с суммированием.
Фиг. 2.32. Метод перекрытия с суммированием.
^ь(и)=^ь(и)=j х(п) при kN3^.n^.(k-]~ 1) N3— 1,
^ь(и)=
^ь(и)=
I. О при других п.
Линейная свертка последовательностей х (п) и h (и)
ПОО
у(п) = 2 М^) ^ хЦп — т) =т=0Ь=0
ОООО
(2.167) равна(2.168)(2.169)(2.167) равна(2.168)(2.169)= ^h(n)*xk (п) = 2 Уь (п)-h=0h=o
(2.167) равна
(2.168)
(2.169)
(2.167) равна
(2.168)
(2.169)
Уо(п)
Уг(л)
-бооооооооооооооо У?О. , ■ ■ ■ ■ .
У(л)=Уо(п) +У1(")+&(")+•••У(л)=Уо(п) +У1(")+&(")+•••^^^- п^^^- пФиг. 2.33. Формирование выходных значений свертки при использовании метода перекрытия с суммированием.Фиг. 2.33. Формирование выходных значений свертки при использовании метода перекрытия с суммированием.
У(л)=Уо(п) +У1(")+&(")+•••
У(л)=Уо(п) +У1(")+&(")+•••
^^^- п
^^^- п
Фиг. 2.33. Формирование выходных значений свертки при использовании метода перекрытия с суммированием.
Фиг. 2.33. Формирование выходных значений свертки при использовании метода перекрытия с суммированием.
Длина каждой из частичных сверток в сумме (2.169) равна (N3 + N2 — 1) отсчетам, т. е. имеется участок длиной в (TV2 — 1) отсчетов, на котором к-я и (к + 1)-я частичные свертки перекрываются, поэтому их отсчеты на участке перекрытия нужно сложить. На фиг. 2.33 показано, как расположены и как суммируются соседние частичные свертки yh (п). Каждая из них вычисляется методом быстрой свертки, описанным в разд. 2.24. Рассмотренный метод был назван методом перекрытия с суммированием именно потому, что промежуточные частичные свертки перекрываются и для получения конечного результата их необходимо сложить.
Другой метод вычисления линейной свертки последовательностей, одна из которых значительно длиннее другой, также основан
Фиг. 2.34. Метод перекрытия с накоплением.
на секционировании более длинной последовательности. Его называют методом перекрытия с накоплением, причем в данном случае перекрываются входные, а не выходные секции. Ошибочные отсчеты круговых сверток отдельных секций отбрасываются. Остальные отсчеты накапливаются и из них формируется конечный результат. Рассмотрим конкретный пример (фиг. 2.34). Последовательность h (п) содержит N2 отсчетов, а последовательность х (га) разделена на секции хк (п) длиной по (N3 + ^2 — 1) отсчетов, перекрывающиеся друг с другом на участках длиной по (2V2 — 1) отсчетов. (Отметим, что участок перекрытия
Уо(п)Уо(п)9 о9 о
Уо(п)
Уо(п)
9 о
9 о
Уг(л)
Доооооооооооооою У? О ■ ■ ■ ■ ■ ■ ■
У(л)=Уо(п) -4-У1(п) +у2(п)+-• •
Фиг. 2.33. Формирование выходных значений свертки при использованииметода перекрытия с суммированием.
Длина каждой из частичных сверток в сумме (2.169) равна (N3 + TV2 — 1) отсчетам, т. е. имеется участок длиной в (1V2 — 1) отсчетов, на котором к-я и (к + 1)-я частичные свертки перекрываются, поэтому их отсчеты на участке перекрытия нужно сложить. На фиг. 2.33 показано, как расположены и как суммируются соседние частичные свертки yh (п). Каждая из них вычисляется методом быстрой свертки, описанным в разд. 2.24. Рассмотренный метод был назван методом перекрытия с суммированием именно потому, что промежуточные частичные свертки перекрываются и для получения конечного результата их необходимо сложить.
Другой метод вычисления линейной свертки последовательностей, одна из которых значительно длиннее другой, также основан
Фиг. 2.34. Метод перекрытия с накоплением.
на секционировании более длинной последовательности. Его называют методом перекрытия с накоплением, причем в данном случае перекрываются входные, а не выходные секции. Ошибочные отсчеты круговых сверток отдельных секций отбрасываются. Остальные отсчеты накапливаются и из них формируется конечный результат. Рассмотрим конкретный пример (фиг. 2.34). Последовательность h (п) содержит N2 отсчетов, а последовательность х (га) разделена на секции хк (п) длиной по (N3 + ^2 — 1) отсчетов, перекрывающиеся друг с другом на участках длиной по (2V2 — 1) отсчетов. (Отметим, что участок перекрытия
г > 1). Оно равно
X(reJ0)) = 2 х (n) r~ne~ina = 2 2хч (п) s (тг) г~пе~^па. (2.174) п= — ОО71= — ОО
Правая часть равенства (2.174) представляет собой преобразование Фурье последовательности
у (тг) = [2жч (тг)] [$ (тг) г"п].(2.175)
Поскольку последовательность у (тг) равна произведению двух последовательностей, ее преобразование Фурье можно найти с помощью теоремы о комплексной свертке [см. (2.81)1 в виде свертки преобразований Фурье отдельных сомножителей, т. е.
X (ге^ = X (=) и„^^у § X. (V) (^^ ) ^ •(2.176)
С
Здесь z-преобразования хч (тг) и s (тг) г~п равны соответственно Хя (z) и 0,5 (1 + г- ^-^/(l — г" 1z~1), а контур интегрирования С совпадает с единичной окружностью.
Равенство (2.176) связывает значения функции X tre^ в точках, лежащих вне единичной окружности, со значениями ее действительной части Хд (z) на единичной окружности. Если Хд (z) имеет вид рациональной дроби, то контурный интеграл (2.176) можно легко вычислить с помощью вычетов.
Аналогично можно получить соотношение, связывающее X (&®) с Хм (е7Ю). Представим х (п) в виде
х {п} = 2жн (тг) s (тг) + ж (0) н0 (тг),(2.177)
где хн (п) — нечетная составляющая х (п), определяемая как ян (тг) = ^-[я (тг) — ж( — тг)].(2.178)
В этом случае выражение для X (ге^ имеет вид
X (rei«4 = X (z) |г=ге;а = А $ Хм (и) (^4- ) 4 + ж (°)' <2Л79) ст v
причем z-преобразование хн (п) равно Хм (z), а контуром интегрирования по-прежнему является единичная окружность.
Чтобы найти соотношение, связывающее Хд (е7®) и Хм (е7Ю), рассмотрим предельные значения правых частей (2.176) и (2.179), когда г —>• 1. Так как при этом полюс подынтегральной функции приближается к контуру интегрирования, то вычисление интегралов следует производить аккуратно. Если эти интегралы при-
равнять главным значениям интеграла типа Коши, т. е.
2^vj j 2 z02^vj j 2 z0dz = <dz = <f(z0),Ы<1,0,lz0|>l,y/(Zo), |z0| = lf(z0),Ы<1,0,lz0|>l,y/(Zo), |z0| = l(2.180)(2.180)
2^vj j 2 z0
2^vj j 2 z0
dz = <
dz = <
f(z0),Ы<1,
0,lz0|>l,
y/(Zo), |z0| = l
f(z0),Ы<1,
0,lz0|>l,
y/(Zo), |z0| = l
(2.180)
(2.180)
(где P $) g (z) dz — главное значение интеграла типа Коши), то можно найти пределы интегралов (2.176) и (2.179) при г-* 1. Однако вместо того, чтобы непосредственно вычислять эти интегралы, введем новую переменную интегрирования v = eje (так как интегрирование производится по единичной окружности) и представим X (rejt0) следующим образом:
(2.181)(2.181)X (г#®) = Хд (ге^“) + /Хм (je^Y
(2.181)
(2.181)
Перепишем равенство (2.176) в виде
X^^iX^e^-L j ^«)^^^^(2.182)
-Л
откуда, приравняв мнимые части, получим
.1? Хд^'6) 2г"1 sin (6 — со)
хм (г^ю) = A dQ.(2.183)
* 2л J 1 — 2г-1 cos (6 —со) + г 2х *
-л
Преобразуя равенство (2.179) аналогичным образом, найдем
,1 Г Хд (е-'6) 2г-1 sin (6 —о>)
X„(re^--A_ J J^^^e+^O). (2.184)
-л
Переходя в полученных выражениях к пределу при r-> 1 и используя для вычисления интегралов формулу (2.180), получим искомые соотношения
.л
Х„^ = А_Р f xAe*W t^) d9 (2.185)
-Л
И
л
Х^-х^-^Р j XM(^)ctg(-^-) d0.(2.186)
- л
Эти соотношения называют парой дискретных преобразований Гильберта. Они позволяют определить мнимую часть частотной
характеристики физически реализуемой системы по ее действительной части и, наоборот, действительную часть частотной характеристики по ее мнимой части.
Формулы дискретного преобразования Гильберта можно также получить, сопоставляя логарифм модуля частотной характеристики и фазовую характеристику физически реализуемой минимально-фазовой системы.- (Все нули и полюсы передаточной функции такой системы лежат внутри единичной окружности.) Вообще говоря, полученные соотношения применяются довольно редко, так как ограничения, накладываемые на размещение нулей передаточной функции, являются слишком строгими. Во многих реальных системах нули располагаются вне или на единичной окружности.
Преобразование Гильберта действительных сигналов
Одной из наиболее важных областей применения преобразования Гильберта являются системы модуляции. В них (например, в системах однополосной модуляции) часто обрабатываются комплексные полосовые сигналы. Такие сигналы характерны тем, что на нижней половине единичной окружности (т. е. при л ^ со <; 2л) их спектр равен нулю. Таким образом, если и (п) относится к рассматриваемому классу сигналов, его (преобразование Фурье
P(ej<0) = 0, л^со<2л.(2.187)
Ясно, что сигнал и (п) является комплексным, поскольку преобразование Фурье действительного сигнала удовлетворяет соотношению
V*(e-5®) = V(e5®y,(2.188)
если бы сигнал и (п) был действительным, то из равенства (2.188) следовало бы, что V (е^) = 0. Комплексный сигнал и (п) можно представить в виде
и (п) = х (п)-У]х (п),(2.189)
где х (п) и х (п) — действительные последовательности. Равенство (2.187) выполняется, если
V (е^®) = X (в5®) + ]Х (е5®) = 0 при л ^со «< 2л(2.190)
или
Ж(е^®)=]Х(е5®), л^го<2л.(2.191)
Поскольку последовательности х (п) и х (п) действительные, то ясно, что
Х^ез®) = —]Х (е^®), О^(о < л.(2.192)
Фиг. 2.36. Импульсная и частотная характеристики идеального преобразователя Гильберта.
Таким образом, сигнал х (77) можно получить, пропустив сигнал х (77) через фильтр с частотной характеристикой
п,
2л.
(2.193)
При этом V (e^j = 2Х (ejto) на интервале 0 ^ со < л и V (е^03) = 0 на интервале л со < 2л, как и было принято. Импульсная характеристика фильтра с частотной характеристикой вида (2.193) получается из обратного преобразования Фурье частотной характеристики (2.193):
л
2л
(2.194)
откуда
0
{1_етлп
лп
0,
л
77 = 0,
h^ = ' 0,
2 sin2 (лп/2)лп
77 = 0.
(2.195)
Фиг. 2.37. Дискретизация полосового колебания.
Равенства (2.193) и (2.195) описывают идеальный цифровой преобразователь Гильберта. На фиг. 2.36 изображены его частотная и импульсная характеристики. Ясно, что такое устройство физически не реализуемо, так как его импульсная характеристика простирается от —сю до сю. Более того, ^-преобразование последовательности (2,195) сходится только на единичной окружности. Поэтому идеальный преобразователь Гильберта подобен идеальному фильтру нижних частот или идеальному дифференциатору в том смысле, что на практике их можно реализовать только приближенно. В гл. 3 и 4 будет рассмотрено, как проектируются реализуемые фильтры, аппроксимирующие перечисленные идеальные цепи.
Поскольку последовательность ж (и) можно получить, пропуская х (п) через фильтр, то эти две последовательности связаны соотношением типа свертки:
i(n) = 4 2 x(n_m)^S2Z^.(2.196)
т= — оотфп
Аналогичным образом из х (и) с помощью фильтра, импульсная характеристика которого описывается выражением (2.195) с обратным знаком, можно получить х (п). Следовательно,
3 5(п-т)^М-.(2.197)
щ=-оот £п
Равенства (2.196) и (2.197) представляют собой пару преобразований Гильберта для действительных сигналов х (п) и х (и).
По аналогии с непрерывными аналитическими сигналами, спектр которых равен нулю в области отрицательных частот, последовательность v (п) = х (га) + jx (п) также называют аналитическим сигналом. Такой сигнал играет важную роль при дискретизации полосовых сигналов (фиг. 2.37). На фиг. 2.37, а изображен спектр полосового действительного колебания х (га), а на фиг. 2.37, б — спектр аналитического сигнала и (п) = х (п) + jx (п). При дискретизации аналитического сигнала v (ji) частоту дискретизации можно уменьшить до (5/2л) комплексных отсчетов в секунду, не опасаясь наложений в спектре. Спектр получающейся при этом последовательности и? (п) (считается, что Оя/В — целое) изображен на фиг. 2.37, в. Чтобы восстановить исходный сигнал в виде последовательности с первоначальной частотой дискретизации, применяют полосовой интерполирующий фильтр (фиг. 2.37, г). Действительная часть колебания, получающегося на его выходе, и дает искомый действительный сигнал.
ЛИТЕРАТУРА
Gold В., Rader С. М., Digital Processing of Signals, McGraw-Hill, N. Y., 1969; есть русский перевод: Голд Б., Рэйдер Ч., Цифровая обработка сигналов, изд-во «Советское радио», 1973.
Freeman Н., Discrete Time Systems, Wiley, N. Y., 1965.
Jury E. I., Sampled-Data Control Systems, Wiley, N. Y., 1958; есть русский перевод: Джури Э. И., Импульсные системы автоматического регулирования, Физматгиз, 1963.
Ragazzini J. R., Franklin G. F., Sampled-Data Control Systems, McGraw- Hill, N. Y., 1958.
Jury Е. I., Theory and Application of the Z-Transform Method, Wiley, N. Y., 1964.
Kuo F. F., Kaiser J. F., Systems Analysis by Digital Computer, Wiley, N. Y., 1966.
Rader С. M., Gold B., Digital Filter Design Techniques in the Frequency Domain, Proc. IEEE, 55, No. 2, 149—171 (Feb. 1967); есть русский перевод: Голд, Рейдер, Методы расчета цифровых фильтров в частотной области, ТИИЭР, т. 55, № 2, стр. 19—43 (1967).
Gold В., Oppenheim А. V., Rader С. М., Theory and Implementation of the Discrete Hilbert Transform, Proc. Sym. Computer Proc, in Communication, 235—250 (1969).
Stockham T. G., High Speed Convolution and Correlation, AFIPS Conference Proceedings, 28, 229—233 (1966).
Oppenheim A. V., Schafer R. W., Digital Signal Processing, Prentice-Hall, Englewood Cliffs, N. J., 1975.
ТЕОРИЯ И РАСЧЕТ ЦИФРОВЫХ ФИЛЬТРОВС ИМПУЛЬСНЫМИ ХАРАКТЕРИСТИКАМИКОНЕЧНОЙ ДЛИНЫ
Введение
Как было показано в гл. 2, класс последовательностей конечной длины обладает некоторыми свойствами, желательными с точки зрения построения фильтров. Например, никогда не возникает вопрос об устойчивости и физической реализуемости фильтров, поскольку КИХ-последовательности гарантируют устойчивость, а при введении соответствующей конечной задержки и реализуемость. Более того, ниже будет показано, что КИХ-последователь- ности можно выбрать так, чтобы фильтры имели строго линейные фазовые характеристики. Поэтому, используя КИХ-последовательности, можно проектировать фильтры с произвольной амплитудной характеристикой.
Интересно отметить, что до появления алгоритма быстрого преобразования Фурье (БПФ) реализация КИХ-фильтров считалась, как правило, нереальной, поскольку для достаточно хорошей аппроксимации фильтров с острыми срезами требуются весьма длинные последовательности. Разработка на основе высокоэффективного алгоритма БПФ методов быстрой свертки изменила это положение, и в настоящее время КИХ-фильтры успешно конкурируют с БИХ-фильтрами, имеющими острые срезы в частотной х арактеристике,
Порядок расчета фильтров
Порядок расчета цифрового фильтра (реализуемого программ- йым путем на ЦВМ или в виде специализированного устройства) включает четыре основных этапа:
Решение задачи аппроксимации с целью определения коэффициентов фильтра, при которых фильтр удовлетворяет заданным требованиям.
Выбор конкретной схемы построения фильтра и квантование найденных значений его коэффициентов в соответствии с фиксированной длиной слова.
Квантование переменных величин фильтра, т. е. выбор длины слова входных, выходных и промежуточных переменных.
Проверка моделированием, удовлетворяет ли полученный фильтр заданным требованиям.
После этапа 4, если заданные требования не удовлетворяются, приходится возвращаться к этапам 2 и 3.
Конечно, было бы желательно выполнять три первых этапа одновременно, т. е. решать задачу аппроксимации для произвольной схемы фильтра и для слов произвольной длины, однако маловероятно, что в ближайшем будущем такой подход будет разработан. Поэтому все перечисленные этапы приходится выполнять раздельно. В настоящей главе будет обсуждаться лишь задача аппроксимации КИХ-фильтров. Этапы 2 и 3 будут рассмотрены в гл. 5, а этап 4 сам по себе достаточно очевиден и не требует обсуждения.
Свойства КИХ-фильтров
Имеется много причин, побуждающих к изучению способов проектирования КИХ-фильтров. Перечислим основные достоинства этих фильтров:
Легко создавать КИХ-фильтры со строго линейной фазовой характеристикой. Во многих случаях, когда проектируется фильтр с произвольной амплитудной характеристикой, это упрощает задачу аппроксимации. Фильтры с линейной фазовой характеристикой особенно важны в случаях, когда приходится учитывать дисперсионные искажения, связанные с нелинейностью фазовой характеристики (например, при обработке речи и передаче данных).
КИХ-фильтры можно эффективно строить как по рекурсивной, так и по нерекурсивной схемам.
КИХ-фильтры, реализуемые нерекурсивно, т. е. с помощью прямой свертки, всегда устойчивы.
При нерекурсивной реализации КИХ-фильтров шумы округления, возникающие за счет выполнения арифметических операций с конечной точностью, легко минимизировать.
Перечислим недостатки КИХ-фильтров:
Для аппроксимации фильтров, частотные характеристики которых имеют острые срезы, требуется импульсная характеристика с большим числом отсчетов N. Поэтому при использовании обычной свертки необходимо выполнять большой объем вычислений.
Задержка в КИХ-фильтрах с линейной фазовой характеристикой не всегда равна целому числу интервалов дискретизации. В некоторых приложениях такая некратная задержка может вызвать определенные трудности.
В последующих разделах главы будут рассмотрены свойства КИХ-фильтров с линейной фазовой характеристикой, а также некоторые методы расчета КИХ-фильтров.
Характеристики КИХ-фильтров с линейнойфазовой характеристикой
Пусть {А (п)} — физически реализуемая последовательность конечной длины, заданная на интервале 0 ^ п ^ N — 1. Ее z- преобразование равно
N-1
Н^ = 2 /^(^)z-n = /t(0)+/^(l)z-1+...+/i(7V— l)z~^-D. (3.1) n=0
Преобразование Фурье от {/г (тг)}
N- 1
1Це^ = 2 ^ (”)<?*(3.2)
71=0
является пзриодическим по частоте с периодом 2л, т. е.
Я (^ю) = Я[еЯ®+2лт)], ^ = 0, ±1, ±2, ... .(3.3)
Рассматривая только действительные последовательности {А (и)}, получим дополнительные ограничения на функцию Я (е-?®), представив ее через амплитуду и фазу:
Я(е'®) = ±|Я(^®)|е^(3.4)
Знаки ± действительно необходимы, поскольку функция Я (е^®) на самом деле равна
Я (^®) = Я* (^®) е^®>,(3.5)
где Я* (eJ®) — действительная функция, принимающая положительные и отрицательные значения. Из уравнения (3.2) видно, что модуль преобразования Фурье является симметричной функцией, а фаза — антисимметричной функцией частоты, т. е.
|Я(е^)| = |Я(е-^)|, О^ю^л,(3.6а)
6 (сэ) = —0 (— сэ).(3.66)
На практике при расчете КИХ-фильтров часто требуется строго линейная фазовая характеристика. Рассмотрим, при каких условиях импульсная характеристика фильтра h, (п) будет обеспечивать строгую линейность его фазовой характеристики. Требование линейности фазы фильтра является еще одним ограничением; оно означает, что фазовая характеристика 0 (со) имеет вид
0 (со) = —асо, — л ^ со ^ л,(3.7)
где а — постоянная фазовая задержка, выраженная через число интервалов дискретизации. Используя выражения (3.4) и (3.7), перепишем соотношение (3.2) следующим образом:
Н(е^)^ 2 h^e-iton=^\H (^®)|е^а®.(3.8)
n=0
Приравнивая действительные и мнимые части, получим
N—1
± | Н (с3™) | cos (aco) = 2 ^ (га) cos (con),(3.9а)
п—О
N-1
± | Н (е^) | sin (aco) = 2 ^ (га) sin (con).(3.96)
n=0
Чтобы избавиться от множителя ± \Н (ej(0)|, разделим правые и левые части уравнений (3.9а) и (3.96):
N—1
2 h (п) sin (сои)
JH^4 = tg(ao,) = T^,(3.10)
2 ^ (n) cos (con) n=0
откуда n-i
2 К (n) sin (con)
tg (aco) =^^a•(3-11)
h (0) + 2 (”) cos (w”)
n=l
Существуют два возможных решения уравнения (3.10) или уравнения (3.11). Первое получается, если положить a = О, что дает
[с использованием (3.11)]
N-1
2 ^ (n) sin (con)
о ==^(3.12)
<=(0)+ 2 A (n) cos (con)
п=1
Это уравнение имеет единственное решение, соответствующее произвольному h (0) и h (п) = 0 при п 0, т. е. импульсная характеристика фильтра состоит из одиночного импульса — результат, не представляющий интереса. Другое возможное решение соответствует случаю а^О. Для этого случая уравнение (3.11) можно записать, перекрестно умножая члены, в виде
N—1N-i
2 А (га) cos (con) sin (aco) — ^ h,^ sin (con) cos (aco) = 0,(3.13)
n=0n=0
откуда
N-1
2 & (n) sin [(a— n)co] = O.(3.14)
71 = 0
Поскольку уравнение (3.14) имеет вид ряда Фурье, то решение этого уравнения, если оно существует, является единственным.
Легко заметить, что решение уравнения (3.14) удовлетворяет следующим условиям:
« =(3.15)
М*) = НТУ —1—»)» O^n^N — 1.(3.16)
Следует подчеркнуть смысл условий (3.15) и (3.16). Условие (3.15) означает, что для каждого ТУ существует только одна фазовая задержка а, при которой может достигаться строгая линейность фазовой характеристики фильтра. Из условия (3.16) следует, что при заданном а, удовлетворяющем условию (3.15), импульсная характеристика должна обладать вполне определенной симметрией.
Целесообразно рассмотреть использование условий (3.15) и (3.16) отдельно для случаев четного и нечетного ТУ. Если ТУ — нечетное, то а — целое, т. е. задержка в фильтре равна целому числу интервалов дискретизации. Типичная импульсная характеристика фильтра с линейной фазой для случая ТУ = 11 (или а = 5) приведена на фиг. 3.1. Центр симметрии характеристики приходится на пятый отсчет.
Типичная импульсная характеристика фильтра с линейной фазой при четном ТУ показана на фиг. 3.2. В этом примере ТУ = 10
Центр симметрии
h(n)I।?h(n)I।?01 23456789 100N-101 23456789 100N-1Фиг. 3.1. Типичная импульсная характеристика при нечетном TV (четная симметрия).Фиг. 3.1. Типичная импульсная характеристика при нечетном TV (четная симметрия).
h(n)I
।?
h(n)I
।?
01 23456789 10
0N-1
01 23456789 10
0N-1
Фиг. 3.1. Типичная импульсная характеристика при нечетном TV (четная симметрия).
Фиг. 3.1. Типичная импульсная характеристика при нечетном TV (четная симметрия).
Центр симметрии
Мп)Мп)। । ।। । ।•п•п
Мп)
Мп)
। । ।
। । ।
•п
•п
0 1 23456789
00М-1
0
0
Фиг. 3.2. Типичная импульсная характеристика при четном N (четнаясимметрия).*
Центр антисимметрии
Ы»И ।ос=ь
h(n)
0| 1 2
О .
Центр антисимметрии
р
N=10
Фиг. 3.3. Импульсная характеристика при нечетном (а) ниях N (нечетная симметрия).
и четном (б) значе-
и, как следует из (3.15), а = ®/2 = 4,5. Таким образом, задержка в фильтре составляет 4,5 интервала дискретизации. Это означает, что центр симметрии импульсной характеристики лежит посредине между двумя отсчетами, как показано на фиг. 3.2. В разд. 3.36 и 3.37 будет рассмотрено несколько важных видов фильтров с линейной фазой, в которых задержка преимущественно равна нецелому числу интервалов дискретизации (т. е. их импульсная характеристика имеет четное число отсчетов NY
Согласно условию (3.7) линейности фазовой характеристики фильтра, требуется, чтобы фильтр имел постоянные как групповую, так и фазовую задержки. Если, как это часто бывает, достаточно, чтобы только групповая задержка1) была постоянной, можно определить еще один тип фильтра с линейной фазой, фазовая характеристика которого является кусочно-линейной функцией частоты со, т. е.
Н (е^) = ± | Я (tX) | ^Ф-«“). (3.17)
х) Групповая задержка фильтра равна производной от фазовой характеристики по частоте в отличие от фазовой задержки, равной отношению фазы к частоте.
Рассуждая так же, как и при переходе от (3.8) к (3.14), можно показать, что новое единственное решение удовлетворяет следующим условиям:
а =4-,(3.18а)
0=±Т’<ЗЛ8б>
Цп)= —h(N—i — n), O^n^N— 1.(3.18в)
Фильтры, удовлетворяющие условиям (3.18), снова создают задержку в (N — 1)/2 интервалов дискретизации, но их импульсные характеристики в отличие от предыдущего случая антисимметричны относительно центра. Для примера на фиг. 3.3, а и б показаны импульсные характеристики фильтров с нечетным и четным N, удовлетворяющие условиям (3.18). Следует отметить, что для нечетных значений N, согласно (3.18в), h [(W — 1)/2] = 0. Условия (3.18) будут использованы в разд. 3.36 и 3.37 при расчете широкополосных дифференциаторов и преобразователей Гильберта. Итак, в зависимости от значения ТУ (нечетные или четные) и вида симметрии импульсной характеристики (симметричная или антисимметричная характеристика) возможны четыре различных вида КИХ-фильтров с линейными фазовыми характеристиками.
Д.5. Частотная характеристика КИХ-фильтровс линейной фазой 1
Записав частотную характеристику КИХ-фильтров с линейной фазой в виде
Н ^е^) = Н* ^to>) ei^-ato\(3.19)
где Н* (e5®) — действительная функция, а а и 0 определяются формулами (3.18), выразим функцию Н* ^to^ через значения коэффициентов импульсной характеристики для каждого из четырех видов фильтров с линейной фазой. Соответствующие формулы будут получены в данном разделе. Позже они будут использованы при изложении различных методов расчета КИХ- фильтров с заданными частотными характеристиками.
Фильтр вида 1. Симметричная импульсная характеристика, нечетное N. Для этого случая Н (е^) можно представить в виде (^-3)/2
Я(^“)= 2 h(n)e~^n + h (^-^)
71=0
N-X
+ 2 h w e~ian-(3-2°)
n=(N+l)/2
Делая замену т = N — 1 — п во второй сумме, получим
Н (е?ю) =
N — 12N — 12e-5®(^-l)/2e-5®(^-l)/2(^—3)/2
N — 1
2
N — 1
2
e-5®(^-l)/2
e-5®(^-l)/2
= 2 ^ W e~^n-\-h (
п=0
(^-3)/2
+ ^ h^N — 1 — т)е-№-1~тХ'(3.21)
т=0
Поскольку h (ri) = h (N — 1 — ri), две суммы в (3.21) можно объединить, а член e-i®(w-D/2 вынести за скобки, что дает
(W-3)/2
H^ej^^e-^N-i)l2 Г 2 И (п) {^ю[(^-1)/2-«]4-е M(^D/2-n]}_|_
^—12^—12п=0
^—12
^—12
(3.22)
или
(jV-3)/2
Н (ei®) — e-3®(N-\)iz { 2 27i(n)cos ю(~у~— п^ 4*п=0
(3.23)
Подставив т = (N — 1)/2 — п получим
(2V-3)/2
пг j cos (com) 4(3.24)пг j cos (com) 4(3.24)Я^*)^-^-1)/^ 2 2Н (“^
пг j cos (com) 4
(3.24)
пг j cos (com) 4
(3.24)
7П=0
Окончательно при а (0) = К [{N — 1)/2] и а (п) = 2h [(N - 1)/2 — — п], где п = 1, 2, ..., (Я — 1)/2, выражение (3.24) принимает вид
(2V-D/2
Я(^“) = е“^--1)/2[ 2 a (n) cos (сом)],(3.25)
п=0
что и дает искомую частотную характеристику. Таким образом, для фильтра вида 1
'(2V-D/2
Н* (gjco) _ 2 a (n) cos (сом).(3.26)
п=0
Фильтр вида 2. Симметричная импульсная характеристика, четное N. В этом случае Н (eito) принимает вид
N/2-1
Я(^->)-е-><"-1>«{ 2 2A(n)cos[w(-~n—1)]}.(3.27)
71=0
Подставляя в это выражение
b(n) = 2h (^ — и) , п=1, 2, ..., ~, получим
N/2
Я ^to^^g-jMN-^/a {26 (п) COS [(О(«Ч)]}-(3.28)
.71=1.
Таким образом, для фильтра вида 2
N/2
Н* (ejto) = 2 6 W cos [° ( ^—|J]*(3.29)
71=1
Необходимо отметить, что Н* (е^®) = 0 при со = л независимо от значений b (п) [или h (п)]. Отсюда следует, что нельзя использовать фильтры этого вида для аппроксимации частотной характеристики, отличной от нуля при со = л (например, при проектировании фильтров верхних частот).
Фильтр вида 3. Антисимметричная импульсная характеристика, нечетное N.
В этом случае вывод формулы для Н* (е5®) почти такой же, как и для фильтров вида 1, за исключением того, что из-за антисимметрии \h (п)} сумма косинусов заменяется на сумму синусов, умноженную на /, т. е. вместо формулы (3.24) следует записать
(W-3)/2
Н^=te-i^N-^i2e3Hi2 ^ ^ 2h ^^Lzl — m^ Cos(co7n)j ,(3.30)
m=0
где k {(N — 1)/2] = 0, как было показано выше. Делая подстановку с (п) = 2h {(N — 1)/2 — п] при п = 1, 2, ..., (N — 1)/2, получим
(W-D/2
Я(^®) = е-^-1)/2е^/2[ 2 с (n) sin (con)].(3.31)
71=1
Таким образом, для фильтра вида 3|
(N-l)/2
Я*(е5ю) = 2 с (n) sin (con).(3.32)
71=1
h(n) ,
a(n)
H*^)
Ви31
h(n)
Симметричная импульсная характеристика
Вид 2
h(n)h(n)d(n)d(n)
h(n)
h(n)
d(n)
d(n)
h(n)
О 6 66 N-1
с(п)
Вид 3
Вид 4
Нечетное N
Четное N
Фиг. 3.4. Четыре вида фильтров с линейной фазовой характеристикой.
Видно, что Н* (eJ0)) = 0 на частотах о» = 0 и ю = л независимо от значений с (п) [или значений А (п), что то же самое]. Более того, множитель е'я/2 = / в формуле (3.31) показывает, что без учета множителя с линейным изменением фазы частотная характеристика является чисто мнимой функцией. Поэтому этот вид фильтров наиболее пригоден для проектирования преобразователей Гильберта и дифференциаторов.
Фильтр вида 4. Антисимметричная импульсная характеристика, четное N.
В этом случае есть аналогия с фильтрами вида 2. Заменяя сумму косинусов суммой синусов, умноженной на /, вместо (3.27) получим
Н (ej®) =
(2V/2)-l
= e-jto(N-i)/2ej«/2 ^ 2 2fe(ra)sin[to(~—n~l)]}.(3.33)
n=0
Подстановка в это выражение
d(n) = 2k ^-^-—п') , п = 1, 2, ..., -^-,
дает
N/2
Н ^®^ = е-з®^-^2е^2 ^ d(n)sin[(o(n-4)]}- (3-34) п=1
Таким образом, для фильтра вида 4
N'2
Н* (е5®) = 2 d (п) sin ^ш (п—^)J>(3.35)
П=1
причем Н* (е^®) = 0 при со = 0. Следовательно, этот вид фильтров больше всего подходит для аппроксимации дифференциаторов и преобразователей Гильберта.
На фиг. 3.4 графически представлены все основные результаты, полученные в этом разделе, а именно типичные импульсные характеристики К (п^, соответствующие им сдвинутые последовательности [от а (п) до d (п) для каждого конкретного случая] и типичные частотные характеристики Н* (е^®) для каждого из четырех видов КИХ-фильтров с линейной фазой.
Расположение нулей КИХ-фильтровс линейной фазой
Расположение нулей КИХ-фильтров с линейной фазой сильно ограничено характером симметрии их импульсной характеристики. Координаты нулей таких фильтров легко найти, используя
z-преобразования импульсных характеристик, равные
N—1
Н^= 2 Цп^-кСОНМ^-1^-
+ h(2)z~2+ ...±h(2)z-W-V±h(l)z-(N-V±h(^^(3.36)
где знаки 4- и — соответствуют симметричной и антисимметричной импульсным характеристикам. Перепишем выражение (3.36) в виде
Н (z) =Z-(^-l)/2 ty (0) [Z^-D/2 ± Z-(^-l)/2] 4-4-^ (1) [z(^-3)/2 ± z-(^-3>/2] 4-
4-К (2) Yz^"^ ± z-^-5>/2] 4- ...}.(3.37)
Заменив здесь z на z” x, получим
H (z"1) = zW-D/2 {^ (0) [z-^- D/2 ± z(^- D/2] 4-4-7^1)[Z-(W-3)/2 ±2^-3)/2]4-
4-^(2) [z-(^-5)/2 ±z(^-5)/2]4- ...}.(3.38)
Сопоставление формул (3.37) и (3.38) показывает, что
jT(z"1) = ±z^-1)H(z).(3.39)
Из соотношения (3.30) следует, что с точностью до задержки на YN — 1) отсчетов и множителя (± 1) Н (z-1) и Н (z) идентичны. Таким образом, нули Н (z-*) идентичны нулям H\z\ Пусть Н (z) имеет комплексный нуль в точке zt = rte^i, причем rt^ 1, 61 5^ 0, л. Тогда, согласно (3.39), функция Н (z) должна иметь также зеркально отраженный нуль в точке z?1 = (l/rz) е-^1. Поскольку импульсная характеристика фильтра действительная, каждый комплексный нуль Н (z) образует с другим нулем комплексно сопряженную пару. Таким образом, если Н (z) имеет комплексный нуль, не лежащий на единичной окружности (rz ^ 1) и на действительной х)си (9Z =# 0, л), то Н (z) содержит по крайней мере один базовый множитель вида
Hi (z) = (1 — z-1rze’09 (1 — г^т^39^ x
X (1 - z-1 — ej6<) /1 — z"1 — в*56!)(3.40)
или
Hi(z) = l — 21) cos 9zz-14- (r® 4—«-4-4 cos2 9Z) z-2—
\ rz /' ri/
— 2 (—^~ -) cos 9zz~3 4- z-4.(3.41)
Положение нулей такого базового блока показано на фиг. 3.5, а соответствующая ему импульсная характеристика — на фиг. 3.6.
Фиг. 3.5. Положение нулей для фильтров с линейной фазовой характеристикой.
Выражение (3..41) было получено для случая rf 5^ 1 и 0/ 5^ ^= 0, л. При ^ = 1 (но 0f Ф 0, л) нуль находится на единичной окружности, а соответствующий ему комплексно сопряженный нуль является его зеркальным отображением. Таким образом, нули функции Н (z), лежащие на единичной окружности, являются одновременно нулями функции Н (z*1) на той же окружности. Для таких нулей базовый множитель равен
Яг (z) = (1 — z~V09 (1 — гГЧ-^» 1 — 2 cos OjZ-1-f-z-2.(3.42)
Если же rf ^ 1, но 6{ = 0, или л, нули становятся действительными. Они не образуют комплексно сопряженных пар,
hi(n)
1
1
0 1 2 3 4
Фиг. 3.6. Импульсная характеристика базового блока с нулями, изображен-ными на фиг. 3.5.
Фиг. 3.7. Положение нулей типичных фильтров с рактеристикой.Фиг. 3.7. Положение нулей типичных фильтров с рактеристикой.линейной фазовой ха-линейной фазовой ха-
Фиг. 3.7. Положение нулей типичных фильтров с рактеристикой.
Фиг. 3.7. Положение нулей типичных фильтров с рактеристикой.
линейной фазовой ха-
линейной фазовой ха-
поэтому базовый множитель для этого случая будет равен
Hi^ = (t ±rtz *) (1 ± ~z *) = 1 ± (г; 4Hi^ = (t ±rtz *) (1 ± ~z *) = 1 ± (г; 411(3.43)(3.43)
Hi^ = (t ±rtz *) (1 ± ~z *) = 1 ± (г; 4
Hi^ = (t ±rtz *) (1 ± ~z *) = 1 ± (г; 4
1
1
(3.43)
(3.43)
Здесь знак 4- соответствует 6Z = л, а знак — соответствует 0z = 0.
Наконец, при г{ = 1 и 9j = 0 (или л) нули будут находиться в точке z=4-l или в точке 2 = —1. В этих случаях оба комплексно сопряженных нуля совпадают друг с другом и со своими зеркальными отображениями. Базовый множитель для этих случаев равен
Нг (2) = (1 ± z"1).(3.44)
Множители вида (3.44) имеют важное значение, поскольку с их помощью описываются цепи с задержками на половину интервала
дискретизации. Следовательно, фильтр с четной длиной импульсной характеристики N должен иметь нечетное число множителей вида (3.44), тогда как фильтр с нечетным N — четное число таких множителей (либо ни одного).
На фиг. 3.7 иллюстрируется типичное расположение нулей КИХ-фильтров с линейной фазой для каждого из четырех видов фильтров, рассмотренных в разд. 3.5. Показанное расположение нулей соответствует выводам настоящего раздела.
Методы расчета КИХ-фильтровс линейными фазами
Хорошо известны три класса методов расчета КИХ-фильтров с линейной фазой: методы взвешивания с помощью окна, методы частотной выборки, а также методы расчета оптимальных (по Чебышеву) фильтров. Очень трудно рекомендовать какой-либо один из этих методов, поскольку в каждом конкретном случае выбор метода расчета определяется слишком большим числом факторов. Поэтому ниже будут рассмотрены преимущества и недостатки каждого из этих методов с тем, чтобы проектировщик сам смог решить, какой метод лучше всего использовать, чтобы удовлетворить заданным требованиям.
В гл. 12 и .13 читателю будет представлена возможность познакомиться с несколькими практическими примерами применения фильтров различных типов.
Первый метод расчета — метод взвешивания
Поскольку частотная характеристика любого цифрового фильтра И (е,ы) является периодической функцией частоты, ее можно представить рядом Фурье:
Я(е^) = У h (п) е~^п, (3.45) П= —ОО
где
2л
к(м) = ^-j Я(е^)е5мпй. (3.46) о
Видно, что коэффициенты Фурье h (го) совпадают с коэффициентами импульсной характеристики цифрового фильтра. Использование соотношения (3.45) для проектирования КИХ-фильтров связано с двумя трудностями. Во-первых, импульсная характеристика фильтра имеет бесконечную длину, поскольку суммирование в (3.45) производится в бесконечных пределах. Во-вторых,
фильтр физически нереализуем, так как импульсная характеристика начинается в —оо, т. е. никакая конечная задержка не сделает фильтр физически реализуемым. Итак, фильтр, рассчитываемый на основе представления функции Н (е^) рядом Фурье, оказывается физически нереализуемым БИХ-фильтром.
Один из возможных методов получения КИХ-фильтра, аппроксимирующего заданную функцию Н (е^), заключается в усечении бесконечного ряда Фурье (3.45) за п = ±М. Однако простое усечение ряда приводит к хорошо известному явлению Гиббса, которое проявляется в виде выбросов и пульсаций определенного уровня до и после точки разрыва в аппроксимируемой частотной характеристике. Так, например, при аппроксимации стандартных фильтров типа идеального фильтра нижних частот или полосового фильтра максимальная амплитуда пульсаций частотной характеристики составляет около 9 % и не уменьшается с увеличением длины импульсной характеристики, т. е. учет все большего числа членов ряда Фурье не приводит к уменьшению максимальной амплитуды пульсаций. Вместо этого по мере увеличения N уменьшается ширина выброса. Поскольку простое усечение ряда (3.45) не приводит к приемлемой аппроксимации идеального фильтра нижних частот (к чему необходимо стремиться), этот метод непригоден для проектирования КИХ-фильтров.
Лучшие результаты дает метод проектирования КИХ-фильтров, основанный на использовании весовой последовательности конечной длины и? (п), называемой окном, для модификации коэффициентов Фурье h (и) в формуле (3.45) с тем, чтобы управлять сходимостью ряда Фурье. Метод взвешивания иллюстрируется на фиг. 3.8. Сверху показаны заданная периодическая частотная характеристика И (eito) и ее коэффициенты Фурье {/i(n)}. Ниже изображена весовая последовательность конечной длины w (и) и ее преобразование Фурье W (е™). Для большинства приемлемых окон функция W (е3<0) имеет главный лепесток, содержащий почти всю энергию окна, и боковые лепестки, которые обычно быстро затухают. Чтобы получить КИХ-аппроксимацию функции И (езю), формируется последовательность h (ri) = h (ri) - w (п), в точности равная нулю за пределами интервала — М^ п М. Третья пара графиков на фиг. 3.8 представляет последовательность h (ri) и ее преобразование Фурье И (eJto), равное, очевидно, круговой свертке функций И (ejto) у W (е^), поскольку h, (и) является произведением h (ri) и w (и). Наконец, внизу на фиг. 3.8 приведена физически реализуемая последовательность g (тг), которая равна задержанной последовательности h (п) и может быть использована в качестве искомой импульсной характеристики фильтра.
На простом примере, иллюстрируемом на фиг. 3.8, можно проследить влияние операции взвешивания коэффициентов Фурье
h(n)
-М
W(n) о
9
-*-*-00000-77М
Фиг. 3.8. Иллюстрация метода взвешивания.
фильтра на его частотную характеристику. Прежде всего по обе стороны от точек разрыва заданной функции И (0®) появляются переходные полосы. Ясно, что поскольку результирующая частотная характеристика фильтра равна круговой свертке идеальной частотной характеристики и частотной характеристики окна, то ширина переходных полос зависит от ширины главного лепестка функции W (езю). Кроме того, на всех частотах со возникают ошибки аппроксимации, имеющие вид пульсаций частотной характеристики, которые обусловлены боковыми лепестками функции W \eito\ Ясно, наконец, и то, что получаемые фильтры ни
в каком смысле не являются оптимальными (даже если окна и удовлетворяют тому или иному критерию оптимальности), поскольку их частотные характеристики рассчитываются через свертку.
После общего рассмотрения метода взвешивания возникают два вопроса: какими свойствами должны обладать окна и насколько точно они могут быть реализованы на практике? Ответ на первый вопрос относительно прост. Желательно, чтобы окно обладало следующими свойствами:
Ширина главного лепестка частотной характеристики окна, содержащего по возможности большую часть общей энергии, должна быть малой.
Энергия в боковых лепестках частотной характеристики окна должна быстро уменьшаться при приближении о к л.
Было предложено много окон, аппроксимирующих заданные характеристики. В последующих разделах будут рассмотрены три окна, а именно прямоугольное окно, «обобщенное» окно Хэмминга и окно Кайзера. Эти окна обладают свойствами всех возможных видов окон и позволяют достаточно хорошо понять преимущества и недостатки метода взвешивания.
Прямоугольное окно
TV-точечное прямоугольное окно, соответствующее простому усечению (без модификации) ряда Фурье, описывается весовой функцией
Л74 \0 при других п.Л74 \0 при других п.N— 12N— 12(3.47)(3.47)
Л74 \
0 при других п.
Л74 \
0 при других п.
N— 1
2
N— 1
2
(3.47)
(3.47)
(Здесь и в следующих разделах, посвященных окнам, предполагается, что N — нечетное. С помощью простой модификации аналогичные результаты могут быть получены и для четного N. Предполагается также, что последовательность окна имеет нулевую задержку.) Частотная характеристика прямоугольного окна описывается соотношением
(N J?/2.^<o[(2V-l)/2j,1_ -Mx
WR ^ =2e-^ = ——4^L -
n=-(N-l)/21
jMNl^ -j(O(N/2)
“ ^(“/Sj — g-iCw/S) »(3.48)
W«(^) = ^f.(3.49)
График частотной характеристики (3.49) представлен на фиг. 3.9 для случая N = 25.
Фпг. 3.9. Частотная характеристика прямоугольного окна.
«Обобщенное» окно Хэмминга
Второе из рассматриваемых окон, называемое обобщенным окном Хэмминга, имеет вид
01(1 a) COS ( дг ) •(2) ^^ ^2’ /о
0 при других п,
причем а лежит в пределах O^a^l. Случай a = 0,54 соответствует окну Ханна), случай a = 0,54 — окну Хэмминга).
Частотную характеристику рассматриваемого окна легко получить, если учесть, что оно может быть представлено в виде произведения прямоугольного окна и окна, определяемого формулой (3.50), но для всех п, т. е.
(3.51)(3.51)wH (п) = wR (п) a+(l — a) cos
(3.51)
(3.51)
1 —a / 2л1 —a / 2лгде wR (и) — прямоугольное окно, определяемое формулой (3.47). Следовательно, частотная характеристика обобщенного окна Хэмминга равна круговой свертке частотной характеристики прямоугольного окна Жд (е7“) с последовательностью импульсов и может быть записана в виде
1 —a / 2л
1 —a / 2л
1 — a1 — aWH (е,ю) = WR (ejto) * au0 (со) +
1 — a
1 — a
(3.52)
откуда ..Z2лX
ТУн(е’'“) = аИ?я(^“)+^^- ЖВ[Д" )] +
Г Д“+1.(3.53)
На фиг. 3.10 наверху изображены графики трех компонент характеристики WH (е^), а внизу — результирующая частотная характеристика (здесь принято а = 0,54 и N = 25). Создается впечатление, что частотная характеристика окна Хэмминга не имеет пульсаций на частотах выше © = 4n/7V, однако на самом деле это не так. Пульсации настолько малы, что при линейной шкале на фиг. 3.10 они не видны. Из сравнения фиг. 3.9 и 3.10 видно, что ширина главного лепестка частотной характеристики окна Хэмминга в два раза больше, чем для прямоугольного окна. Однако уровень боковых лепестков в случае окна Хэмминга значительно ниже, чем у характеристики прямоугольного окна. При а = 0,54, т. е. для обычного окна Хэмминга, 99,96% общей энергии спектра содержится в главном лепестке, а максимумы боковых лепестков на 40 дБ ниже главного максимума. В отличие от
окна Хэмминга максимум боковых лепестков в спектре прямоугольного окна ниже главного максимума всего на 14 дБ.
Из фиг. 3.10 хорошо видно, каким образом при использовании окна Хэмминга достигается подавление боковых лепестков при одновременном расширении главного лепестка: боковые лепестки функций WR [е7 <®±2л/^] находятся в противофазе с боковыми лепестками WR (е^), поэтому общий уровень боковых лепестков значительно уменьшается. В то же время пропорционально увеличивается ширина главного лепестка частотной характеристики. Ниже будет показано, что при расчете фильтра нижних частот расширение главного лепестка соответствует расширению переходной полосы между полосами пропускания и непропускания, тогда как уменьшение уровня боковых лепестков соответствует меньшим пульсациям в полосе пропускания и лучшему подавлению в полосе непропускания фильтра.
Окно Кайзера
Задача расчета хороших окон фактически сводится к математической задаче отыскания ограниченных во времени функций, преобразования Фурье которых наилучшим образом аппроксимируют функции, ограниченные по частоте, т. е. имеют минимальную энергию за пределами заданного интервала частот. При решении этой задачи в замкнутой форме для непрерывных функций времени был введен класс так называемых вытянутых сфероидальных волновых функций. Эти функции имеют достаточно сложный вид. Поэтому Кайзер в качестве наилучшего окна предложил относительно простую аппроксимацию этих функций. Эта аппроксимация, названная окном Кайзера, записывается в виде
/o№ ,,,(3.54)
где P — константа, определяющая компромисс между максимальным уровнем боковых лепестков и шириной главного лепестка (или долей общей энергии в главном лепестке) частотной характеристики окна, а 10 (ж) — функция Бесселя нулевого порядка. Как именно величина Р оказывает влияние на этот компромисс, будет проиллюстрировано ниже с помощью табл. 3.1.
Частотная характеристика дискретного окна Кайзера в замкнутой форме не получена, но Кайзер показал, что для непрерывной функции окна частотная характеристика пропорциональна
sin [р ^(w/to^j^T]
V (to/og)2 — 1
Таблица 3.1
3
D
Пульсация в полосе пропускания, дБ
Пульсация в полосе непропускания, дБ
2,120
1,50
±0,27
—30
3,384
2,23
±0,0864
-40
4,538
2,93
±0,0274
-50
5,658
3,62
±0,00868
-60
6,764
4,32
±0,00275
—70
7,865
5,0
±0,000868
-80
8,960
5,7
±0,000275
-90
10,056
6,4
±0,000087
—100
(Предоставлено Кайзером, Лаборатория фирмы Bell.)
где величина о)р приблизительно равна ширине главного лепестка частотной характеристики. Поскольку нельзя найти аналитического выражения для частотной характеристики окна Кайзера, для иллюстрации его свойств будут использованы графики частотной характеристики.
Окно Кайзера является по существу оптимальным окном в том смысле, что оно представляет последовательность конечной длины, которая имеет минимум энергии спектра за пределами некоторой заданной частоты. Еще одним оптимальным окном является окно Дольфа—Чебышева, обеспечивающее минимальную ширину главного лепестка частотной характеристики при фиксированном уровне боковых лепестков. Все боковые лепестки в спектре этого окна имеют одинаковый уровень. Однако, как уже говорилось, ни одно из этих окон не позволяет получить оптимальную в минимаксном смысле аппроксимацию произвольной идеальной частотной характеристики, поскольку в действительности характеристика фильтра является результатом свертки частотных характеристик окна и идеального фильтра. Таким образом, несмотря на наличие оптимальных окон, оптимальных фильтров, которые рассчитывались бы с их помощью, не существует.
Примеры фильтров нижних частотс различными окнами
В данном разделе приводится практический пример использования окон для расчета идеального фильтра нижних частот. Будут рассмотрены три окна: прямоугольное, Хэмминга и Кайзера. На фиг. 3.11—3.16 изображены графики этих трех окон и их частотные характеристики для случая N = 257 (параметр 0 для
W(n>1.0 —W(n>1.0 —
W(n>
1.0 —
W(n>
1.0 —
Прямоугольное окно
n=257
О256
Фиг. 3.11. 257-точечное прямоугольное окно.
окна Кайзера равен 5,658). На фиг. 3.11, 3.13 и 3.15 представлены импульсные характеристики, а на фиг. 3.12, 3.14 и 3.16 — частотные характеристики1). На фиг. 3.12 видно, что в соответствии с изложенным выше максимальный уровень боковых лепестков частотной характеристики равен для прямоугольного окна 0,217 (или —13,27 дБ в логарифмическом масштабе), а максимумы боковых лепестков медленно понижаются до уровня 0,004 (или до —48 дБ) на частоте, равной половине частоты дискретизации. Для сравнения, как видно из фиг. 3.14, максимальный уровень боковых лепестков частотной характеристики окна Хэмминга равен 0,0074 (или —42,7 дБ), а огибающая максимумов боковых лепестков падает до уровня около 0,000059 (или —65 дБ) на частоте, равной половине частоты дискретизации. Однако ширина главного лепестка частотной характеристики окна Хэмминга вдвое больше ширины главного лепестка частотной характеристики прямоугольного окна. Таким образом, при аппроксимации разрывов частотной характеристики идеального фильтра (как показано ниже на примере фильтра нижних частот) с использованием окна Хэмминга ширина переходной полосы у точки разрыва будет вдвое больше, чем для прямоугольного окна. Для окна Кайзера (фиг. 3.16) уровень наибольшего бокового лепестка составляет 0,00133 (или —57 дБ), а огибающая максимумов боковых лепестков падает до уровня около 0,00002 (или до —94 дБ) на частоте, вдвое меньшей частоты дискретизации. Однако такой низкий уровень боковых лепестков достигается за счет расширения главного лепестка частотной характеристики этого окна почти в три раза по сравнению со случаем прямоугольного окна.
На последующих нескольких рисунках изображены характеристики фильтров нижних частот, рассчитанных с использованием
т) Имеющая место модуляция минимумов (см., например, фиг. 3.12) связана с небольшими погрешностями расчета нулей функции, и ее можно не учитывать.
Частота
Фиг. 3.13. 257-точечное окно Хэмминга.
Частота
Фиг. 3.14. Частотная характеристика 257-точечного окна Хэмминга.
Фиг. 3.15. 257-точечное окно Кайзера.
Фиг. 3.16. Частотная характеристика окна Кайзера.
каждого из трех описанных окон. На фиг. 3.17, 3.19 и 3.21 показаны результирующие импульсные и переходные характеристики, а на фиг. 3.18, 3.20 и 3.22 — полученные частотные характеристики фильтра. Проектируемый идеальный фильтр нижних частот имеет коэффициенты ряда Фурье (т. е. отсчеты импульсной характеристики) вида
й^= вт^ад^ _ оо<п<оо (3 55)
(во всех трех примерах Fc = 0,1245). На фиг. 3.17 представлен результат умножения h (тг) на прямоугольное окно. Видно, что характерный вид импульсной характеристики фильтра (3.55) сохранился. Использование окон Хэмминга и Кайзера (фиг. 3.19 и 3.21) приводит к ослаблению далеко отстоящих членов к ^п). На фиг. 3.18 показана частотная характеристика фильтра нижних
Фиг. 3.17. Импульсная и переходная характеристики фильтра нижних частот с прямоугольным окном.
частот для случая прямоугольного окна. Отчетливо наблюдается эффект Гиббса, причем максимум первого бокового лепестка равен 0,09 (или —21 дБ). Переходная полоса имеет ширину 0,9375/TV (TV = 257) и является в данном случае очень узкой. Однако из-за больших пульсаций, связанных с явлением Гиббса, для многих приложений этот фильтр непригоден. На фиг. 3.20 показана частотная характеристика фильтра нижних частот с окном Хэмминга. Для этого фильтра максимум амплитуды пульсаций в полосе пропускания составляет около 0,0018, а в полосе непропус- кания — 0,002 (или —53,6 дБ). Ширина переходной полосы равна 3,3125/TV, т. е. она более чем в три раза больше ширины переходной полосы для прямоугольного окна. Наконец, для фильтра нижних частот с окном Кайзера (фиг. 3.22) максимум амплитуды пульсаций в полосах пропускания и непропускания составляет 0,0001, или — 80 дБ (для обеих полос), а ширина переходной полосы равна 5,06/TV.
Фиг. 3.18. Частотная характеристика фильтра нижних частот с прямоугольным окном.
Приведенные примеры показывают, что для улучшения аппроксимации идеального фильтра нижних частот приходится увеличивать ширину переходной полосы с тем, чтобы уменьшить максимальное значение ошибки аппроксимации (пульсаций). Для окна Кайзера, как уже было сказано выше, параметр р позволяет разработчику находить компромиссное решение для ширины переходной полосы Z^F и максимального уровня пульсаций. В табл. 3.1 для нескольких Р даны результирующие значения D = &FN и пульсаций в полосах пропускания и непропускания (в дБ). Данные получены путем идеального интегрирования непрерывного окна Кайзера и при больших N являются достаточно хорошим приближением к дискретному случаю.
Фиг. 3.19. Импульсная и -переходная характеристики фильтра нижних частот с окном Хэмминга.
Особенности использования метода взвешивания
Метод взвешивания представляется весьма удобным для проектирования КИХ-фильтров, однако он обладает некоторыми особенностями, которые во многих случаях препятствуют применению окон. Прежде всего необходимо иметь выражения для коэффициентов ряда Фурье:
2л
к ^ " 2^Г j ^ ^j<0^eJWn ^to'(3.56)
о
Когда характеристика Н (е5®^ имеет сложный вид или не может быть просто преобразована в замкнутое математическое выражение (а иногда и в случае, когда это возможно), формула (3.56) зачастую оказывается громоздкой или неудобной для интегрирования. Не имея явного выражения для вычисления невзвешенных коэффициентов, вообще трудно говорить об использовании окон.
Фиг. 3.20. Частотная характеристика фильтра нижних частот с окном Хэмминга.
Еще одна особенность метода взвешивания заключается в отсутствии достаточной гибкости при выполнении проектирования. Например, при расчете фильтра нижних частот трудно, как правило, точно определить граничную частоту полосы пропускания, поскольку окно «размывает» разрыв идеальной характеристики. На фиг. 3.23 показано, каким образом окно размывает частотную характеристику идеального фильтра нижних частот Н (е,ю) с частотой среза Рс. Видно, что результирующая характеристика имеет две граничные частоты Рг и Р2 для полос пропускания и непропускания соответственно. И хотя при разработке фильтров типа идеального фильтра нижних частот эффекты размытия удается скомпенсировать, для фильтров с более сложными характеристиками этого достичь весьма непросто.
0,30
Импульсная характеристика
0,20
0,10
Переходная характеристика
-0,10
0,8
-0,4
Фиг. 3.21. Импульсная и переходная характеристики фильтра нижних частот с окном Кайзера.
256
Несколько практических приемовиспользования окон
Ограничения метода взвешивания, рассмотренные в разд. 3.13, не препятствуют его широкому практическому применению. Обыч
но в каждом конкретном случае удается получить частное решение, однако всегда необходимо иметь в виду, что ограничения существуют, и понимать характер тех приближений, которые приходится делать, чтобы их преодолеть.
Чтобы определить невзвешенпые коэффициенты Фурье в том случае, когда аналитическое выражение для Л (м) громоздко или неудобно для интегрирования, интеграл можно аппроксимировать суммой. Вместо вычисления /г (п) путем интегрирования на одном периоде функции Н (е,ю) eJ®n найдем приближенную последовательность h (п) по формуле
М-1
(3.57)(3.57)И (п) = -^ 2 Н [еЛ2л/М)Ь] ej(2n/M)hne
(3.57)
(3.57)
h=0
Фиг. 3.22. Частотная характеристика фильтра нижних частот с окном Кай зера.
Hfe^)
0 2jtFc а>
Фиг. 3.23. Эффект размытия частотной характеристики за счет окна
Здесь значения Н (е^®) е5юп рассчитываются в М точках юк = = 2пк!М. Ясно, что значения (3.57) можно эффективно вычислять с помощью М-точечного обратного ДПФ последовательности II (/с) = н [ei(2n/M)h] Поскольку формула (3.57) является дискретизованным аналогом формулы (3.56), легко показать, что. значения h (и) связаны со значениями h (и) формулой наложения
h^= 2 Н^п — кМ^(3.58)
1h =— оо
Отсюда следует, что с ростом М различие между h (п) и к (п) уменьшается, особенно вблизи п = 0. Поскольку окно выделяет только N точек последовательности h (п), должно выполняться условие М Э* ^*
Целесообразно остановиться на простом, но эффективном алгоритме для вычисления функции /0 (ж). Эту функцию можно разложить в степенной ряд
ОО^)=i+S[^]2А=1
и вычислять (с заданной точностью) по следующей подпрограмме на ФОРТРАНе (представленной Кайзером):
SUBROUTINE INO (X, N)
С X BETWEEN О. AND 20.
Y = X/2.
T = 1. E-08
E = 1.
DE 1.
DO 1 I — 1,25
DE = DE*Y/FLOAT (I)
SDE = DE**2
E = E + SDE
IF (E*T-SDE) 1,1,2
1 CONTINUE
2 X = E
N = I
RETURN
END
В этой подпрограмме используются пять членов разложения при ж = 0,5 и 25 членов при х ^ 19,0 [7V в операторе обращения к подпрограмме указывает на число членов, необходимое для вычисления 70 (ж) с заданной точностью].
Дополнительные примеры фильтров,рассчитанных методом взвешивания
В этом разделе приведены примеры, иллюстрирующие несколько типичных КИХ-фильтров, рассчитанных методом взвешивания. На фиг. 3.24—3.26 представлены амплитудные характеристики (в логарифмическом масштабе) фильтра верхних частот, полосового фильтра и еще одного фильтра нижних частот. Фильтр верхних частот (фиг. 3.24) был рассчитан с использованием окна Ханна 1а = 0,5 в формуле (3.50)] при длине импульсной характеристики в 45 отсчетов и частоте среза идеальной характеристики, равной 0,35. Максимум пульсаций в полосе пропускания составляет 0,00635, а в полосе непропускания также 0,00635 (или —43,94 дБ). Переходная полоса равна 0,07233 (или 3,25Л¥). Полосовой фильтр (фиг. 3.25) был спроектирован с использованием окна Кайзера с р = 3,38 при длине импульсной характеристики N =46 и идеальных верхней и нижней частотах среза, равных 0,27 и 0,15. Максимум пульсаций в полосе пропускания составляет 0,0078, в нижней полосе непропускания он равен 0,00792 (или —42 дБ), а в верхней полосе непропускания составляет 0,00909 (или —40,8 дБ). В последнем примере (фиг. 3.26) рассмотрен фильтр нижних частот, рассчитанный с использованием окна Дольфа—Чебышева. Длина импульсной характеристики этого фильтра
Фиг. 3.24. Частотная характеристика фильтра верхних частот с окном
Ханна.
Фиг. 3.25. Частотная характеристика полосового фильтра с окном Кайзера.
Фиг. 3.26. Частотная характеристика фильтра нижних частот с окном Дольфа — Чебышева.
N равна 46 отсчетам, а идеальная частота среза равна 0,25. Максимум пульсаций в полосе пропускания составляет 0,00688, а в полосе непропускания он равен 0,0054 (или —45,3 дБ). Переходная полоса фильтра равна 0,065 (или 2,97/^.
Приведенные примеры являются результатом аналитического вычисления бесконечных импульсных характеристик идеальных фильтров и последующей весовой обработки с применением соответствующих окон. Одним из главных преимуществ метода взве-
шивания является относительная простота расчета импульсных характеристик с минимальным числом вычислительных операций. Основной недостаток метода состоит в том, что получаемые КИХ- фильтры не удовлетворяют всем известным критериям оптимальности и, следовательно, в большинстве случаев они могут быть существенно улучшены.
Общая характеристика окон
Общий подход к проектированию КИХ-фильтров с применением окон оказался вполне приемлемым. Ему свойственны определенные достоинства и недостатки. Выше были рассмотрены прямоугольное окно, окно Хэмминга и окно Кайзера. Существуют и другие, хорошо известные и широко используемые окна, такие, как окно Дольфа—Чебышева, треугольное окно и окно Блэкмана. Последнее представляет собой обобщенное окно Хэмминга, но с пятью членами вместо трех. Мы особенно не пытались составить каталог всех этих окон, поскольку методы, обсуждаемые ниже, в большинстве приложений оказываются предпочтительнее метода взвешивания. Главная причина относительно успешного применения метода взвешивания заключается в его простоте и легкости использования, а также в том, что почти всегда можно найти замкнутые выражения для вычисления коэффициентов окна.
Второй метод проектирования — методчастотной выборки
КИХ-фильтр может быть однозначно задан как коэффициентами импульсной характеристики {^ (п)}, так и коэффициентами ДПФ импульсной характеристики {Я (&)}. Напомним, что обе эти последовательности связаны соотношениями
Н(к) = 2 h (n) е~^№\ ДПФ,(3.59)
71=0
N-1
2ОДПФ. (3.60)
Ь=0
Кроме того, известно, что коэффициенты ДПФ КИХ-последова- тельности, равные Н (А), можно рассматривать как значения z-преобразования импульсной характеристики фильтра, найденные в N равноотстоящих точках на единичной окружности, т. е.
Н(к^Н^ |г=ej(2n/N)k.(3.61)
Таким образом, z-преобразование импульсной характеристики КИХ-фильтра можно легко выразить через коэффициенты ДПФ его импульсной характеристики, если подставить (3.60) в выражение для z-преобразования:
N-lN-i N-i
Н^ = 2 /Цп)2-” = 2 [4* 2 Н^е^^г^_(3.62)
n=0n=0k=0
Меняя порядок суммирования и суммируя по и, получим
N-1^-lN-1
Н^= 2 ^ 2 [^-^>‘z-t = 2 ^^^^^•(3-63)
к=0п=0к=0
Поскольку ej2nh = 1, то соотношение (3.63) принимает вид
-N
^(Z)=2 TZTV^wjT’(3.64)
А=0
что и является искомым результатом.
Из соотношения (3.64) следует, что для аппроксимации произвольной непрерывной частотной характеристики следует произвести ее дискретизацию по частоте в N равноотстоящих точках на единичной окружности (взять частотную выборку) и найти непрерывную частотную характеристику, интерполируя отсчеты частотной характеристики. В этом случае ошибка аппроксимации на частотах взятия выборки будет в точности равна нулю и иметь конечную величину в промежуточных точках. Чем более гладкой является аппроксимируемая частотная характеристика, тем меньше ошибка аппроксимации между частотными отсчетами. Пример такой аппроксимации показан на фиг. 3.27, а и б. На фиг. 3.27, а изображена заданная частотная характеристика (сплошная линия) и выборка из частотных отсчетов (точки). На фиг. 3.27, б представлен результат непрерывной интерполяции частотных отсчетов.
Описанную процедуру можно было бы использовать непосредственно для расчета КИХ-фильтров, однако для улучшения качества аппроксимации, т. е. для уменьшения ошибки аппроксимации, часть частотных отсчетов целесообразно сделать независимыми переменными. Значения этих независимых переменных обычно рассчитывают методами оптимизации на вычислительной машине таким образом, чтобы минимизировать некоторую простую функцию ошибки аппроксимации (например, наибольшую ошибку аппроксимации). В качестве независимых переменных можно выбрать, например, частотные отсчеты, расположенные в переходной полосе между двумя полосами, внутри которых частотная характеристика определена (т. е. в случае фильтра нижних частот между полосами пропускания и непропускания).
Фиг. 3,27. Иллюстрация метода частотной выборки.
Чтобы понять, почему при такой методике оптимизации часто лишь несколько из N частотных отсчетов могут существенно уменьшить ошибку аппроксимации, необходимо вычислить значения Н (z) на единичной окружности. Получаемая при этом интерполяционная формула для расчета частотной характеристики фильтра в функции непрерывной частоты имеет вид
н (<М - £^^!L V ^№h^^2™^za й 651 N Zj sin (<o/2—nk/N) ' x * > h=0
Отсюда следует, что частотная характеристика фильтра является линейной комбинацией частотных интерполирующих функций вида
5 (со8пЧюУ/2)
1sin(co/2-nW)
= ± е-5№(3.66)
sin (ю/2—nk/N)х '
со значениями частотных отсчетов Н (А) в качестве коэффициентов. Таким образом, вклад каждого частотного отсчета в общую частотную характеристику пропорционален его значению Н (к), умноженному на функцию sin (A'co^ysin (со/2), смещаемую по частоте на nk/N. Оказалось, что интерполирующие функции [т. е. sin (2VW2)/sin (со/2)], связанные с частотными отсчетами из переходной полосы, обеспечивают хорошее подавление пульсаций в примыкающих частотных полосах. Таким образом, оптимизируя значения только тех незаданных частотных отсчетов, которые лежат в предварительно выбранных переходных полосах, можно получить фильтры с очень хорошими характеристиками.
Решение задачи оптимизации
Чтобы найти оптимальные значения незаданных частотных отсчетов, нужно составить и решить систему уравнений, математически описывающих задачу оптимизации. Вместо того чтобы сразу рассматривать эту задачу в общем виде, запишем необходимые уравнения для простого примера, а затем полученные результаты обобщим на произвольный случай.
На фиг. 3.28 иллюстрируется типичный способ задания фильтра при расчете его методом частотной выборки. Частотная характеристика фильтра задана в полосах 1 и 2 и не задана в переходной полосе между ними. Сплошной кривой на фиг. 3.28 представлена заданная частотная характеристика Н (е^), а точками отмечены частотные отсчеты. Обозначим для удобства частотные отсчеты в переходной полосе через Тг и Т^. Именно эти отсчеты необходимо оптимизировать.
На фиг. 3.28 показана только половина частотных отсчетов, так как, чтобы импульсная характеристика фильтра была действительной, последовательность частотных отсчетов Н (к) должна иметь относительно своего центра комплексно сопряженную симметрию. Кроме того, чтобы фильтр обладал строго линейной фазовой характеристикой, на значения {Я (к)} накладываются дополнительные ограничения. Каковы именно эти дополнительные ограничения, будет рассмотрено в разд. 3.21 и 3.22. Пока предположим, что Н (ез®) можно выразить в виде
км
Н (е^) = e-W-m ^Н(к)8 (со, к) = (3.67) Ь=0
(3.68) где 8 (со, К) — результирующая частотная интерполирующая функция, а (КМ + 1) равно числу частотных отсчетов, которые
Фиг, 3.28. Задание фильтра при расчете его методом частотной выборки.
требуется определить. Из формул (3.67) и (3.68) следует, что
км
(3.69)(3.69)Н*^ = 2 Н(к) 8(0, к).h=0
(3.69)
(3.69)
Ниже при составлении уравнений будет использована действительная функция Я*(е3®), поскольку множитель с линейным изменением фазы в (3.68) при проектировании фильтра можно не учитывать. <
Для примера на фиг. 3.28 функцию Н* (&®) можно представить в более простой форме
Н* (е^) = В (со) + T,AV (со) + ТгАг (со).(3.70)
Здесь В (ю) учитывает вклад в Н* (е^®) всех задаваемых частотных отсчетов, а Ат (со) и Л2(со)—вклады от двух незаданных частотных отсчетов с амплитудами 7\ и 72.
Чтобы найти эти незаданные частотные отсчеты, необходимо для частот в пределах полос 1 и 2 составить систему ограничивающих уравнений. Типичными ограничениями для такой системы уравнений могут быть следующие:
|Я* (е,ю) — Н (е!Ю)1 ^ е для м в полосе 1.
Минимизируется максимум |Я* (е’®) — Н (е^®) | для о в полосе 2 подбором Тг и Т2.
Здесь е — заданная погрешность. Другой способ задания ограничений заключается в следующем:
Минимизируется максимум \W (е5®) Ш* (с7®) — Н (^ю)]| в полосах 1 и 2 подбором Тг и Т.г.
Здесь W (е^®) — известная весовая функция ошибки аппроксимации частотной характеристики.
Приведенные ограничения могут быть формализованы, если с помощью соотношения (3.70) записать каждое из этих ограничений для большого числа частот в пределах заданного диапазона. Так, например, из первой системы ограничений вытекают следующие неравенства:
m в полосе 1,m в полосе 1,7’1Л1(<от) + 7’2Л,(о>„)<е-В(Ют) + Н ^Y 1
m в полосе 1,
m в полосе 1,
-WJ-^W^e+SW-fl^
m в полосе 2,m в полосе 2,ТА (<от) + ТА (<о„,) -Т,<-В (о>т) + Н (е^), 1 (О
m в полосе 2,
m в полосе 2,
-т^ал^-та^-т^в^^
где Т3 представляет максимум ошибки аппроксимации в полосе 2. Полученная система неравенств имеет вид, пригодный для решения методами линейного программирования. Аналогично для
второй системы ограничений можно записать вторую систему неравенств относительно переменных ТХ1 73 и 73. В общем случае, когда частотная характеристика задана на нескольких участках, разделенных переходными полосами, в которых частотные отсчеты не задаются, можно составить систему линейных неравенств относительно этих неизвестных частотных отсчетов и решить ее методами линейного программирования. Поскольку метод линейного программирования в этой главе встретится еще не один раз, следующий раздел будет посвящен краткому рассмотрению этого мощного математического аппарата для решения систем линейных неравенств. Итак, при расчете фильтров методом частотной выборки используются лишь те коэффициенты ДПФ импульсной характеристики фильтра (образующие частотную выборку), которые находятся в интересующих нас полосах, а остальные коэффициенты ДПФ, попадающие в переходные полосы, считаются незаданными. Относительно этих неизвестных коэффициентов составляется система линейных неравенств, описывающая ограничения, накладываемые на частотную характеристику. Решая эту систему методами линейного программирования, получают значения незаданных частотных отсчетов.
Линейное программирование
Математически задача линейного программирования в общем виде формулируется следующим образом:
найти такие {хД, / = 1, 2, ..., N, которые при условиях
^•>0, / = 1, 2, N,(3.71)
N
^ctjXj^bi, i = l, 2, ..., M<M<N^ (3.72) j=i
обеспечивают минимум суммы
N
2 ЭД.(3 73)
2=1
Здесь си, bt и а, — константы.
Сформулированная задача является главной и, как можно показать, используя принцип двойственности, математически эквивалентна следующей «двойственной задаче»:
найти такие {т/Д, I = 1, 2, ..., М, которые при условиях м
2 Cijyt^aj, / = 1,2,. ..,N,(^^^)
г=1
обеспечивают максимум суммы
м
2 blVl.(3.75)
г=1
Фиг. 3.29. Геометрическая интерпретация метода линейного программирования.
Одно из свойств метода линейного программирования состоит в том, что если решение задачи существует, то оно является единственным. Известно несколько детально разработанных способов решения с использованием (М + N^ итераций. Кроме того, существуют простые способы определения, является ли решение неограниченным или слабо ограниченным.
На фиг. 3.29 дана простая геометрическая интерпретация метода линейного программирования для двумерного случая. Каждое из ограничений, обозначенных буквами Сг -4- С5, представляет линейное неравенство относительно хг и хг. Следовательно, можно провести прямую линию, соответствующую каждому из этих линейных неравенств, и отбросить половину области решения, для которой неравенство не выполняется (эта область на фиг. 3.29 заштрихована). После проведения всех ограничивающих прямых на плоскости хХ1 х^ остается лишь небольшая допустимая область решения задачи минимизации (как правило, это выпуклый многоугольник). Задав некоторое значение минимума, проведем на плоскости xv х2 прямую, линейное уравнение которой удовлетворяет выбранному минимуму. При последовательном уменьшении значения минимума эта прямая в конце концов пройдет через одну из вершин многоугольника (в данном случае через точку Пересе-
чения линий С3 и С4), и в этой точке будет получено искомое решение, т. е. абсолютный минимум, удовлетворяющий всем ограничениям. Следует отметить, что этот метод обычно не используется для определения минимума в алгоритмах линейного программирования.
Важной характерной особенностью задачи линейного программирования является то, что минимум обычно соответствует одной из вершин многоугольника, образуемого ограничивающими линиями, т. е. точке, в которой М из заданных неравенств становятся равенствами. Таким образом, для отыскания минимума достаточно иметь эффективный алгоритм анализа вершин многоугольника. Этот метод называется симплекс-методом. Его описание можно найти в литературе по линейному программированию.
Фильтры с частотной выборкой вида 1 и 2
При расчете фильтров методом частотной выборки используются отсчеты заданной частотной характеристики в N равноотстоящих точках на единичной окружности. До сих пор использовались отсчеты в точках
Ь = ^-, k = 0, 1, .... jV—1,(3.76)
соответствующих N частотам, для которых вычисляется TV-точечное ДПФ. Возможен другой набор равноотстоящих частот, также пригодный для расчета фильтров методом частотной выборки. Этот новый набор частот задается равенством
k=0, 1^-l.(3.77)
Точное расположение обоих наборов частот, заданных соотношением (3.76) для фильтров вида 1 и соотношением (3.77) для фильтров вида 2, показано на фиг. 3.30 для случаев четного и нечетного N. Видно, что для фильтров вида 1 точка отсчета частот выборки соответствует / = 0, а для фильтров вида 2 она соответствует / = 6/2, причем величина 6 = UN для фильтров обоих видов равна угловому расстоянию между соседними отсчетами.
Использование фильтров вида 2 с частотной выборкой предоставляет разработчику дополнительные возможности при расчете фильтров с заданной частотной характеристикой. Так, граничная частота полосы фильтра может оказаться намного ближе к точке, используемой в фильтре вида 2, чем в фильтре вида 1, так что в этом случае для решения задачи оптимизации предпочтительнее фильтр вида 2 с частотной выборкой. Поскольку при оптимизации несущественно, как расположены отсчеты, то для вычисления коэффициентов фильтра можно использовать фильтр любого вида при условии, что для каждого из них имеется действительная
Фиг. 3.30. Четыре способа расположения отсчетов частотной выборки.Фиг. 3.30. Четыре способа расположения отсчетов частотной выборки.N нечетноеN нечетное
Фиг. 3.30. Четыре способа расположения отсчетов частотной выборки.
Фиг. 3.30. Четыре способа расположения отсчетов частотной выборки.
N нечетное
N нечетное
функция Н* (eito) [см. формулу (3.69)]. Поэтому в следующих разделах будут получены выражения для Н* (е'®) при четном и нечетном N для фильтров с частотной выборкой вида 1 и 2, имеющих линейную фазовую характеристику.
Фильтры вида 1 с частотной выборкойи линейной фазой
Выше было показано, что частотная характеристика фильтра вида 1 с частотной выборкой описывается выражением
-j©[(N-l)/2]Н (е^ = 1^-j©[(N-l)/2]Н (е^ = 1^м-1.
-j©[(N-l)/2]
Н (е^ = 1^
-j©[(N-l)/2]
Н (е^ = 1^
(3.78)(3.78)у II ^е”3^^ sin ((оЛ^/2)
(3.78)
(3.78)
—■sin (со/2 — лк/N)
h=0
Для фильтров с линейной фазой [с задержкой на (N — 1)/2 отсчетов] частотные отсчеты Н (А) можно записать в виде
Н^ = \1Цк^\е^\ причем\H^\ = \H(N-k)\,Н^ = \1Цк^\е^\ причем\H^\ = \H(N-k)\,Кроме того, при четном NКроме того, при четном Nк = 0, 1,У-1,к = 0, 1,N-i.к = ^ 1,4—1’к = 4^ ^-!,к = 0, 1,У-1,к = 0, 1,N-i.к = ^ 1,4—1’к = 4^ ^-!,(3.79)(3.80)(3.81)(3.79)(3.80)(3.81)
Н^ = \1Цк^\е^\ причем
\H^\ = \H(N-k)\,
Н^ = \1Цк^\е^\ причем
\H^\ = \H(N-k)\,
Кроме того, при четном N
Кроме того, при четном N
к = 0, 1,У-1,
к = 0, 1,N-i.
к = ^ 1,4—1’
к = 4^ ^-!,
к = 0, 1,У-1,
к = 0, 1,N-i.
к = ^ 1,4—1’
к = 4^ ^-!,
(3.79)
(3.80)
(3.81)
(3.79)
(3.80)
(3.81)
а при нечетном Nа при нечетном N9(й) =9(й) =к = 0, 1, ...,к = ^-, .... N-1.к = 0, 1, ...,к = ^-, .... N-1.(3.82)(3.83)(3.82)(3.83)
а при нечетном N
а при нечетном N
9(й) =
9(й) =
к = 0, 1, ...,
к = ^-, .... N-1.
к = 0, 1, ...,
к = ^-, .... N-1.
(3.82)
(3.83)
(3.82)
(3.83)
Уравнение" (3.82) отражает тот факт, что, как ранее было показано, для фильтра с линейной фазой и четным N функция Н (е^} = 0 при (0 = л.
Используя выражения (3.81) и (3.82), приведем (3.79) к виду (для четного N^
Н (&) =
[Я^р-ягл/ад^-п/г], /с = 0) ^-у-1,
0,184= Аг(3.84)
|Я(/с) |^(2n/N)(N-h)[^-l)/2]? /с=_^_+1)^_ 1
Подставив выражение для Н (к) в (3.78) и сократив члены, получим
И (^ю) =И (^ю) =e-jco(N- 1)/2e-jco(N- 1)/2NN
И (^ю) =
И (^ю) =
e-jco(N- 1)/2
e-jco(N- 1)/2
N
N
N/2-1V I -^ W I (~1)feN/2-1V I -^ W I (~1)feN-1N-1h=0h=0sin (со/2 — nk/N)sin (со/2 — nk/N)5П |Я(&)|(-1)кsin (со/2 — nk/N) h=N/2+i5П |Я(&)|(-1)кsin (со/2 — nk/N) h=N/2+i
N/2-1
V I -^ W I (~1)fe
N/2-1
V I -^ W I (~1)fe
N-1
N-1
h=0
h=0
sin (со/2 — nk/N)
sin (со/2 — nk/N)
5П |Я(&)|(-1)к
sin (со/2 — nk/N) h=N/2+i
5П |Я(&)|(-1)к
sin (со/2 — nk/N) h=N/2+i
Подстановка I = N — к во вторую сумму выражения (3.85)
дает -;ш(Л’-1)/2, Лг х
н (^to) =Пуsin (-^7-) X
(*V/2)-l(Л7/2)-1
у -1^LLL^L_ у m^-on-i)* )
Isin (со/2 — nk/N)sin [со/2 — л (TV — l)/N\ / •
k=0Z=1
Объединяя члены и учитывая формулу (3.80), находим
Н (е^)=Н (е^)=e-3to(N-ni2Ne-3to(N-ni2Nsinsin/ toN \ f Н (0),\ 2 / t sin (07 2) 4/ toN \ f Н (0),\ 2 / t sin (07 2) 4
Н (е^)=
Н (е^)=
e-3to(N-ni2N
e-3to(N-ni2N
sin
sin
/ toN \ f Н (0),
\ 2 / t sin (07 2) 4
/ toN \ f Н (0),
\ 2 / t sin (07 2) 4
(2V/2)-l
sin (co/2 -{- як/N)sin (co/2 -{- як/N)(3.87)(3.87)+ 2 I^WK-1)^^^) h=l
sin (co/2 -{- як/N)
sin (co/2 -{- як/N)
(3.87)
(3.87)
Наконец, используя тригонометрические тождества, получаем искомый результат:
И (eja\ = е-jco(N-1)/2 / I H^\ I sin ktoN j'Ti''\ N sin (co/2)
(N/2)-l+ 2(N/2)-l+ 2I ^ W INI ^ W IN( sin [.V (co/2 —лА//У)] t sin (co/2— nk/N)( sin [.V (co/2 —лА//У)] t sin (co/2— nk/N)sin [/V (co/2 +л&ЛУ)]sin (co/2 + лк/N)sin [/V (co/2 +л&ЛУ)]sin (co/2 + лк/N)(3.88)(3.88)
(N/2)-l
+ 2
(N/2)-l
+ 2
I ^ W I
N
I ^ W I
N
( sin [.V (co/2 —лА//У)] t sin (co/2— nk/N)
( sin [.V (co/2 —лА//У)] t sin (co/2— nk/N)
sin [/V (co/2 +л&ЛУ)]sin (co/2 + лк/N)
sin [/V (co/2 +л&ЛУ)]sin (co/2 + лк/N)
(3.88)
(3.88)
Выражение (3.88) без учета множителя e"ito^N—^ представляет искомую действительную функцию Н* (eJto) для фильтра вида 1 с частотной выборкой, имеющего линейную фазу и четное N.
Аналогичные выкладки для фильтра вида 1 и нечетного N дают
( ® ^ sin (<0-^/2) .
(\ N sin (со/2) +
(ZV-D/2
(3.89)(3.89)У I ^ (^) I / sin l^r (со/2 —л&/Лг)] sin [2V (со/2 +лА/^У)]
(3.89)
(3.89)
N \ sin (со/2 — лА/2У) n sin (to/2+лА/Л^) ь=1
Фильтры вида 2 с частотной выборкойи линейной фазой
Для фильтров вида 2 с частотной выборкой значения частотных отсчетов Н (к) равны
(3.90)(3.90)И (к}=Н (z) lz==e5(2n/N)(h + l/2)«
(3.90)
(3.90)
Соотношение (3.90) можно использовать для определения связи между частотными отсчетами Н (к) и импульсной характеристи-
кой фильтра h (и):
Лг-1
Н(к)~ 2 /г(и)е-Я2л№(к+1/2) =
71 = 0
N- 1
= 2 /г(Аг)е-^"/^)е-Я2л/2У)п^. (Здц
п=0 ^——^——-^
gW
Итак, отсчеты Н (к) равны ДПФ последовательности
g(n)--h^e-^N\(3.92)
Таким образом, g (п) представляет собой обратное ДПФ от Н (/с), т. е.
g(,n) = h,^e-WN>^A- 2 H^eH2niN)nk (3.93)
А=0
или
.N-1
h^n^_L 2 Н (^)еЯ2л/2У)(/7+1/2)п.(3.94)
/1—0
Выражение (3.94) можно использовать для расчета z-преобразования импульсной характеристики фильтра:
IV-1IV-1
Я(2)= 2 [4" 2 ^(fc)^2"/lV)(l7 + l/2)njz-n.(3.95)
77=0/7=0
Отсюда, меняя порядок суммирования и суммируя по п, получим
н^^-2 д—4^(2W)WW•<3-96)
/7=0
Вычислим значения Н (z) на единичной окружности:
_1V2J ,//(4)-/«„„(„луг) .
' ;N 1 2j, sin [и/2-(n/jV)(t+1/2)1 Г ^ ЯО
/7 = 0
Для фильтра вида 2 с линейной фазой [с задержкой на (7V — 1)/2 отсчетов] частотные отсчеты Н (/с) можно записать в виде
Н^-
|Я(7г)1е-Я2л/^)[(^-1)/2](/7+1/2)7к=0, 1, . ..,—1,
= *2(3.98)
I |Я(^)|eЯ2л/^)[(^-l)/2J(^-/г-l/2)^ к=^-, .N— 1,
при четном N или
Н^ =
\Н (/С) |e-;(2n/N)[(N-l)/2](k+l/2)iД_0, 1, ...,J^1,
=|^(^)|,^^^(3-")
|Я(/с)|е'(2л/К)[(К-1)/2](^fc^^+l, .TV—1,
при нечетном N. Здесь
|Я (/с)| = \Н (N - 1 - к^Л = 0,1, . . .Л - 1. (3.100) Выражения (3.98) — (3.100) можно подставить в формулу (3.97), как это делалось выше при рассмотрении фильтра вида 1. В результате получаются следующие выражения для Н* (е^1):
(N/2)-l
И* = Г У Iя Wl / sin {/V [со/2-(л//У) (/с +1/2)J} I
; IN \ sin [со/2 — (л/Л) (/с+1/2)]
h=0
(3.101)(3.101), sin{A4to/2++^^\ -
(3.101)
(3.101)
' sin [to/2 + (л/Л) (/с + 1/2)] / _ для четного N и
Н* (+“)Н* (+“)|Я[(Л —1)/2]| sin (юЛ/2) N sin (ю/2)
Н* (+“)
Н* (+“)
(^-3)/2+ 2h=0(^-3)/2+ 2h=0Г I Я (ft) INГ I Я (ft) IN/sin {/V [го/2 — (л/Л) (/с+ 1/2)]} \ sin [со/2— (л/Л) (Zc+ 1/2)]/sin {/V [го/2 — (л/Л) (/с+ 1/2)]} \ sin [со/2— (л/Л) (Zc+ 1/2)]
(^-3)/2
+ 2
h=0
(^-3)/2
+ 2
h=0
Г I Я (ft) IN
Г I Я (ft) IN
/sin {/V [го/2 — (л/Л) (/с+ 1/2)]} \ sin [со/2— (л/Л) (Zc+ 1/2)]
/sin {/V [го/2 — (л/Л) (/с+ 1/2)]} \ sin [со/2— (л/Л) (Zc+ 1/2)]
(3.102)(3.102)sin (Л [го/2 + (л/Л) (£+1/2)]} \ " 1
(3.102)
(3.102)
sin [to/2 + (л//У) (&+1/2)] /_ J
для нечетного N.
Таким образом, каждую из четырех формул (3.88), (3.89), (3.101), (3.102) можно использовать при выполнении процедуры оптимизации в процессе расчета цифровых КИХ-фильтров с линейной фазой. Выбор вида фильтра с частотной выборкой, четного или нечетного N производится разработчиком и зависит прежде всего от назначения рассчитываемого фильтра. В разд. 3.23 представлены некоторые практические результаты расчета фильтров методом частотной выборки.
Некоторые самые общие результаты расчета фильтров методом частотной выборки
Фильтры нижних частот
Метод частотной выборки можно использовать для расчета широкого класса фильтров. На фиг. 3.31—3.33 представлено несколько типичных фильтров нижних частот, рассчитанных этим
Фиг. 3.31. Частотная характеристика фильтра нижних частот, рассчитанного методом частотной выборки.
фиг. 3.32. Частотная характеристика узкополосного фильтра нижних частот,рассчитанного методом частотной выборки.
Фиг. 3.33. Частотная характеристика широкополосного фильтра нижниих частот, рассчитанного методом часто твой выборки.
Уровень отсчетов в переходнойУровень отсчетов в переходнойНормированная частота среза полосы пропусканияНормированная частота среза полосы пропусканияФиг. 3.34. Значения частотных отсчетов в переходной полосе для широкого класса фильтров ниж шх частот, рассчитанных методом частотной выборки.Фиг. 3.34. Значения частотных отсчетов в переходной полосе для широкого класса фильтров ниж шх частот, рассчитанных методом частотной выборки.
Уровень отсчетов в переходной
Уровень отсчетов в переходной
Нормированная частота среза полосы пропускания
Нормированная частота среза полосы пропускания
Фиг. 3.34. Значения частотных отсчетов в переходной полосе для широкого класса фильтров ниж шх частот, рассчитанных методом частотной выборки.
Фиг. 3.34. Значения частотных отсчетов в переходной полосе для широкого класса фильтров ниж шх частот, рассчитанных методом частотной выборки.
методом. Критерий оптимизации во всех приводимых примерах состоял в минимизации максимума пульсаций в полосе непропус- кания. Фиг. 3.31 соответствует фильтру вида 1 с частотной выборкой (jV = 256) и с тремя подбираемыми частотными отсчетами в переходной полосе. Максимум пульсаций в полосе непропуска- ния составляет около 0,05. На фиг. 3.32 показана характеристика узкополосного фильтра нижних частот (jV = 65) с частотой среза, равной 0,0306. Здесь подбираются три отсчета в переходной полосе; максимум пульсаций в полосе непропускания близок к 0,00002 (или — 93 дБ). На фиг. 3.33 изображена характеристика широкополосного фильтра нижних частот (jV = 64) с частотой среза, равной 0,4355. Здесь также подбираются три частотных отсчета; в результате максимум пульсаций в полосе непропускания составляет около 0,000002 (или —115 дБ).
В общем случае при проектировании фильтров нижних частот с одним подбираемым отсчетом в переходной полосе (с минимиза-
Фиг. 3.35. Ослабление в полосе непропускания для широкого класса фильтров нижних частот, рассчитанных методом частотной выборки.
цией максимума пульсаций в полосе непропускания) можно достичь подавления вне полосы пропускания от 44 до 54 дБ. С двумя подбираемыми отсчетами в переходной полосе можно достичь подавления от 65 до 75 дБ, а возможное подавление при трех подбираемых отсчетах в переходной полосе составляет 85—95 дБ. На фиг. 3.34 и 3.35 приведены значения трех отсчетов в переходной полосе и максимума пульсаций для фильтров вида 2 при различных N в функции полосы пропускания фильтра. Интересно отметить, что как для узкополосных, так и для широкополосных фильтров результаты обычно лучше (т. е. подавление в полосе непропускания сильнее), чем для фильтров со средними значениями полос пропускания. Это можно объяснить следующим образом. При малой ширине нормализованной полосы приходится подавлять очень маленькие пульсации, поэтому отсчеты в переходной полосе обеспечивают отличное подавление этих пульсаций. При большой величине нормализованной полосы остается очень небольшая часть диапазона частот, в котором приходится подавлять пульсации, поэтому отсчеты в переходной полосе вновь обеспечат эффективное подавление в полосе непропускания.
Полосовой фильтр вида 1
Частота,
Фиг. 3.36. Частотная характеристика полосового фильтра, рассчитанного методом частотной выборки.
Полосовые фильтры
Полосовые фильтры можно рассчитывать практически так ясе, как фильтры нижних частот. На фиг. 3.36 изображена характеристика полосового фильтра вида 1 (N = 128) с тремя подбираемыми частотными отсчетами, расположенными симметрично по обе стороны от полосы пропускания. Максимум пульсаций в полосе не- пропускания составляет около 0,000025 (или —91 дБ), а огибающая пульсаций спадает до уровня 10-6 (или до уровня —120 дБ) на нулевой частоте и частоте, равной половине частоты дискретизации.
Амплитуда
Фаза
Мнимая часть
Нормированная частота
Идеальная схема задержки на половину интервала дискретизации
Нормированная частота
Характеристика дифференциатора с задержкой на половину интервала дискретизации
Фиг. 3.37. Характеристики идеального дифференциатора с задержкой на половину интервала дискретизации, полученного последовательным соединением идеального дифференциатора и идеальной схемы задержки на половину интервала дискретизации.
Широкополосные дифференциаторы
Широкополосные дифференциаторы используются во многих системах. Амплитудная, фазовая и эквивалентная мнимая характеристики идеального дифференциатора показаны на фиг. 3.37. При (о = л мнимая часть частотной характеристики имеет разрыв. При аппроксимации этот разрыв не может занимать нулевую полосу, т. е. вблизи (о = л должна располагаться переходная полоса. Соединяя последовательно идеальный широкополосный дифференциатор с идеальной схемой задержки на половину интервала дискретизации, можно устранить разрыв частотной характеристики дифференциатора при uj = л (фиг. 3.37). В центре на фиг. 3.37 изображены амплитудная и фазовая характеристики идеальной схемы задержки на половину интервала дискретизации, внизу представлены результирующие характеристики последовательно соединенных идеального широкополосного дифференциа-
х1 гiх1 гiИмпульсная характеристикаИмпульсная характеристикаN=256N=256255255Бремя в числе отсчетовБремя в числе отсчетов8 4 О
х
1 г
i
х
1 г
i
Импульсная характеристика
Импульсная характеристика
N=256
N=256
255
255
Бремя в числе отсчетов
Бремя в числе отсчетов
-4 '80
Нормированная частотаНормированная частотаФиг. 3.39. Характеристики 256-точечного дифференциатора.Фиг. 3.39. Характеристики 256-точечного дифференциатора.
Нормированная частота
Нормированная частота
Фиг. 3.39. Характеристики 256-точечного дифференциатора.
Фиг. 3.39. Характеристики 256-точечного дифференциатора.
тора и идеальной схемы задержки на половину интервала дискретизации. Видно, что при to = л уже нет разрыва фазы, поэтому здесь больше не нужна переходная полоса. На частоте о) = О есть скачок фазы на л радиан, но в этой точке амплитудная характеристика равна нулю. Таким образом, аппроксимация широкополосных дифференциаторов осуществляется весьма просто с использованием КИХ-фильтров, для которых при четном числе отсчетов в импульсной характеристике легко получить задержку на половину интервала дискретизации.
Характеристики двух типичных дифференциаторов, рассчитанных описанным способом, изображены на фиг. 3.38 и 3.39 для N = 16 и N — 256. При N = 16 максимум модуля ошибки составляет ~ 0,015 (ошибка фазы, конечно, равна нулю), тогда как при N = 256 максимум модуля ошибки составляет ~ 0,0008.
Заключение к описанию метода частотной выборки
Основная идея метода частотной выборки состоит в том, что искомую частотную характеристику можно аппроксимировать ее отсчетами, взятыми в W равноотстоящих точках, а затем путем интерполяции получить результирующую частотную характеристику, которая будет проходить через исходные отсчеты. Ошибка интерполяции для фильтров с достаточно гладкими частотными характеристиками обычно имеет небольшую величину. В случае селективных фильтров, когда заданная частотная характеристика резко меняется от полосы к полосе, частотные отсчеты в переходных полосах остаются незаданными переменными, значения которых подбираются с помощью алгоритма оптимизации таким образом, чтобы минимизировать некоторую функцию ошибки аппроксимации характеристики фильтра. Для выполнения необходимой минимизации можно также использовать простые методы линейного программирования. Кроме того, было показано, что возможны два различных вида фильтров с частотной выборкой в зависимости от того, где находится начальный отсчет выборки; были получены выражения для частотных характеристик фильтров обоих видов, используемые при решении задачи оптимизации.
Третий метод проектирования — проектирование оптимальных фильтров с минимаксной ошибкой
При подходе к расчету КИХ-фильтра с линейной фазой как к задаче аппроксимации по Чебышеву имеется возможность получить ряд условий, при которых, как можно доказать, решение является оптимальным (в том смысле, что минимизируется максимальная ошибка аппроксимации на всем интервале аппроксимации) и единственным. Кроме того, легко показать, каким образом
с помощью нескольких стандартных процедур оптимизации, в том числе с использованием линейного программирования, можно находить коэффициенты фильтра, обеспечивающие оптимальное (минимаксное) решение. В последующих разделах будет сформулирована задача расчета оптимального КИХ-фильтра и рассмотрены методы ее решения. Поскольку получаемые при этом решения имеют очень большое практическое значение, в последующих разделах будут рассмотрены различные классы оптимальных фильтров и их свойства, а именно фильтры нижних частот, полосовые фильтры, дифференциаторы, преобразователи Гильберта и, наконец, многополосные фильтры и фильтры с произвольными характеристиками.
Аппроксимация по Чебышеву со взвешиванием г)
В разд. 3.5 было показано, что частотная характеристика фильтров четырех различных видов с линейной фазой может быть записана в виде
(3.103)(3.103)Н (е^®) = e-ito^N"'1^2ei('ni2')LH* (е^а).
(3.103)
(3.103)
Значения L и выражения для Н* (е5®) для каждого из четырех видов фильтров приведены в табл. 3.2.
Таблица 3.2
L
н * (Д“)
Фильтр вида 1. N нечетное, симметричная импульсная характеристика
0
(N-D/2
2 а (п) cos (con)
71=0
N/2
Фильтр вида 2. JV четное, симметричная импульсная характеристика
Фильтр вида 3. ТУ нечетное, антисимметричная импульсная характеристика
0
1
2 6 (n) cos to ^ п^
71=1
<N-1M2
2 с (n) sin (con)
71=1
N/2
Фильтр вида 4. ТУ четное, антисимметричная импульсная характеристика
1
2 <Цп) Sin to (n —^ )]
71=1
1) Многие результаты этого и нескольких последующих разделов основаны на работе Т. Паркса и Дж. Макклеллана.
Используя простые тригонометрические тождества, каждое выражение для Н* {е^) из табл. 3.2 можно записать в виде произведения фиксированной функции со [обозначим ее через Q (^ю)1 и члена, представляющего собой сумму косинусов [обозначим его через Р (^'ю)1. В результате выражения для Н* (е^ы) из табл. 3.2 принимают вид
Фильтр вида 1
Без изменений.
Фильтр вида 2
N/22 &(n)cos£<o(ng-jJ = COS n=lN/22 &(n)cos£<o(ng-jJ = COS n=l/ to \\ 2 )/ to \\ 2 )(AT/2)-l2 о (n) cos (on).71= 0(AT/2)-l2 о (n) cos (on).71= 0(3.104a)(3.104a)
N/2
2 &(n)cos£<o(ng-jJ = COS n=l
N/2
2 &(n)cos£<o(ng-jJ = COS n=l
/ to \
\ 2 )
/ to \
\ 2 )
(AT/2)-l
2 о (n) cos (on).
71= 0
(AT/2)-l
2 о (n) cos (on).
71= 0
(3.104a)
(3.104a)
Фильтр вида 3
W-^/2W-^/2^
(3.1046)(3.1046)(3.104b)(3.104b)2 c (n) sin (con) = sin (co) 2 c(n) cos (con).
(3.1046)
(3.1046)
(3.104b)
(3.104b)
n=ln=0
Фильтр вида 4
N/22 c?(n) sin J^co (n —^* n=lN/22 c?(n) sin J^co (n —^* n=l(A72)-l
N/2
2 c?(n) sin J^co (n —^* n=l
N/2
2 c?(n) sin J^co (n —^* n=l
= sin(-y) 2 d (и) cos (con).
n=0
В табл. 3.3 приведены результирующие выражения для функ-ций Q (е,ю) и Р (е;со) для каждого из четырех видов фильтров, в ко-торых а (п) = а (п). Для фильтров вида 2, 3 и 4 принято, что
Таблица 3.3
Q (^ю)
Р (е^)
(N-D/2
Фильтр вида 1
1
2 °- w c°s (®п)
п=0
W2)-l
Фильтр вида 2
cos (со/2)
2 Ь (re) cos (сом) 71=0
(2V-3)/2
Фильтр вида 3
sin (со)
2 С (re) cos (сом) 71=0
(Л-/2)-1
Фильтр вида 4
sin (со/2)
2 d. (re) cos (core) 71=0
Q (e^) должно быть равно нулю при со = О или при (о = л (либо на обеих частотах).
Чтобы показать, как задачу расчета оптимального КИХ-филь- тра с линейной фазой сформулировать в виде задачи чебышевской аппроксимации, необходимо ввести заданную (действительную) частотную характеристику фильтра D (е,ю) и весовую функцию ошибки аппроксимации W (е;ю), что позволяет разработчику выбирать различную величину ошибки для разных частотных полос. Взвешенная ошибка аппроксимации Е (е5®) по определению равна
Е (^®) = W ^ [D (езю) — Н* (^®)].(3.105)
Записав Н* (е,ю) в виде произведения Р (е^) и Q {е^}, представим Е (е5®) как
Е ^ю) = W (^ы) [Р (^®) — Р (е^) Q (е?®)].(3.106)
Поскольку Q (е^®) является вполне определенной функцией частоты, ее можно вынести за скобки, что дает
Е (<«) = WQ (ei-) [-^З— Р W] •(3.107)
Формула (3.107) справедлива во всех точках, за исключением, возможно, точки о) = 0 и (или) точки (о = л. Определив функции W (е,ы) и D (е^®) как
W (е^) = W (е^} Q {е^}(3.108)
и.
(ЗЛ09>
выражение для функции ошибки можно записать в виде
Е (е^) = Ж (^®) VD (ej®) — Р (е^)].(3.110)
Теперь задачу чебышевской аппроксимации можно сформулировать как задачу поиска таких коэффициентов а (и), Ь(п),с^(п) или d (п), которые минимизируют максимум модуля ошибки Е (е5®) в тех частотных полосах, где выполняется аппроксимация. Используя символ [[L1 (eJ®)|| для обозначения минимальной ошибки [т. е. нормы Е (е5®) в пространстве Loo], задачу чебышевской аппроксимации математически можно сформулировать следующим образом:
IIЕ (езю) ||= min[max | L (eJ“) | ],(3.111)
(коэффициенты) со£А
где А — совокупность всех интересующих нас частотных полос.
Для получения решения уравнения (3.111) можно использовать хорошо известное свойство этого класса задач чебышевской
аппроксимации, описываемое следующей обобщенной теоремой Чебышева.
Теорема. Если Р (е5™) представляет собой линейную комбинацию из г косинусных функций, т. е.
т-1
Р^е5®^ 2 a (n) cos (ton),п=0
то необходимое и достаточное условие того, что Р ^е5®') является единственной и наилучшей аппроксимацией со взвешиванием непрерывной функции D ^е^) в компактной подобласти из области (0, л), состоит в том, что взвешенная функция ошибки Е (е,ю) имеет по крайней мере (г + 1) экстремальных частот в подобласти Л, т. е. в этой подобласти должно существовать (г + 1) точек ©/, таких, что с^ < w2 < ... ...< ©г< Юг+1 И Е ^tot^ = — Е (е5®!*!), i — 1, 2, ..., г, и \Е (eJ<Bi)| = max YE (е7Ю)].
coGA
Сформулированная выше обобщенная теорема Чебышева чрезвычайно важна, поскольку дает необходимые и достаточные условия для получения решения, оптимального в чебышевском смысле. В настоящее время на основе той или иной интерпретации этой теоремы разработан ряд методов получения оптимального решения. В последующих разделах будет описано несколько методов оптимизации с тем, чтобы проследить за развитием этих методов и в то же время лучше понять природу оптимального фильтра. Прежде чем перейти к конкретным алгоритмам расчета оптимальных фильтров, рассмотрим сначала важный вопрос о максимальном числе экстремумов частотной характеристики КИХ-фильтра с линейной фазой.
Ограничение на число экстремумов частотнойхарактеристики фильтра с линейной фазой
Согласно обобщенной теореме Чебышева, функция ошибки оптимального КИХ-фильтра с линейной фазой имеет не менее (г + 1) экстремумов, где г — число косинусных функций, используемых при аппроксимации. Поскольку в большинстве интересующих нас случаев экстремумы функции И* (ej“) являются также и экстремумами функции Е (е^) [т. е. обе производные dW (e^ldm и dD (ejt0)/c?a) равны нулю, когда dH* ^e^ldto = 0], важно знать максимальное число экстремумов Н* (е^ы). Добавив к этому числу количество экстремумов Е (е7Ы), которые не являются экстремумами И* (е^), можно найти общее число экстремумов функции Е (е^}.
Итак, рассмотрим Н* (е^) для фильтров вида 1:
(2V-D/2 ~
Я*(^ю) = 2 я (и) cos (ютг).(3.112)
п=0
Чтобы найти максимальное число экстремумов Н* (е,ю) на интервале 0 ^ (о ^ л, удобно представить выражение (3.112) в виде обычного полинома по степеням cos со. Каждый член вида cos (сан) может быть выражен как.
COS ((ОН) = 2 ®mn (COS (O)m,(3.113)
m=0
где amn — действительные' коэффициенты, которые даны в обычных справочниках. Подставив выражение (3.113) в (3.112), получим
(^-l)/2^ п
н* (^ю) = 2 Л (я) [ 2 атп (COS to)™] —1 n=0771=0
(2V-D/2 _
= 2 a (тг) (cos (o)n.(3.114)
.n=0
Здесь коэффициенты {a (n)} учитывают все члены, содержащие (cos (о)п. Чтобы найти точки экстремумов функции Н* (^ш), продифференцируем ее:
(2V-D/2
-^- [Н* (ej“)] = 2 ня (и) (cos to)n-1 (— sin о») =
77=0
(N-3)/2
= sin (о 2 b (тп) (cos (o)m.(3.115)
771=0
Здесь коэффициенты b (m) = — (zn + 1) a (m + 1). Чтобы найти максимальное число экстремумов [т. е. значений (о, при которых выражение (3.115) обращается в нуль], удобно преобразовать (3.115) в обычный полином по переменной х, воспользовавшись подстановкой х = cos to. Результирующая функция G (х) будет равна
(2V-3V2
^^^"dto^* ^“^ l®=arccosx = К1— ^2 2 Ь(т)хт, (3.116) 771=0
Т. е. G (ж) = Fx (ж) Рг (ж), где
F^ = VV^x^(3.117а)
(^-3)/2 _
Рй(х) = 2 b (тп) хт.(3.1176)
771=0
Ясно, что Рг (х) = 0 только при х = + 1 (что соответствует (о = 0) и х = — 1 (что соответствует (о = л). Функция Е^ (ж) является полиномом степени (W — 3)/2, следовательно, она может иметь самое большее (7V — 3)/2 нулей в открытом интервале — 1 < х < 1. Поэтому G (х) может иметь не более (N + 1)/2 нулей в закрытом интервале — 1 ^ ж ^ 1. Таким образом, для фильтра вида 1 с линейной фазой Ne число экстремумов Н* (е,ю) удовлетворяет условию
фильтр вида 1: Л^е ^ "^"—.(3.118а)
Чтобы не повторять аналогичные выкладки, сразу приведем результаты для фильтров вида 2, 3 и 4. Проверить их предоставим читателю. Число экстремумов Н* (е^) для фильтров вида 2, 3 и 4 подчиняется следующим ограничениям:
фильтр вида 2:j¥e^—,(3.1186)
фильтр вида 3:jVe^-^—,(3.118в)
фильтр вида 4:Ne^.-^-e(3.118г)
Неравенства (3.118) ограничивают лишь число экстремумов функции Н* ^toY Легко показать, что при решении задачи аппроксимации для совокупности разрозненных полос функция ошибки может иметь экстремумы на границах каждой полосы, тогда как функция Н* (^ю) в этих точках обычно не экстремальна. Исключением из этого правила является случай, когда границы полосы находятся при со = 0 или со = л, где Н* (е,ю) также часто имеет экстремум. Так, например, функция ошибки для фильтра нижних частот вида 1 (при решении задачи аппроксимации в двух полосах) может иметь самое большее ^N + 5)/2 экстремумов, т. е. ^N + 1)/2 экстремумов функции Н* (ejto^) и два дополнительных экстремума на границах полос пропускания и непропускания. Функция ошибки для полосового фильтра вида 1 (при решении задачи аппроксимации в трех полосах) может иметь самое большее (N + 9)/2 экстремумов, т. е. (N + 1)/2 экстремумов Н* (е^) и четыре дополнительных экстремума на границах полос пропускания и непропускания.
Важно знать заранее максимальное число экстремумов функции ошибки Е ^е5®^ поскольку эта величина определяет конкретный способ расчета оптимальных фильтров. Так, для расчета оптимальных фильтров с максимально возможным числом экстремумов пригодны лишь два хорошо известных метода. Ясно, что использование обоих этих методов расчета ограничено тем, что в соответствии с обобщенной теоремой Чебышева в общем случае фильтры, функции ошибки которых имеют максимальное число
экстремумов, относятся к частному случаю этой теоремы и, следовательно, представляют лишь подкласс более широкого класса оптимальных фильтров. В последующих разделах будут рассмотрены алгоритмы расчета различных оптимальных фильтров. С методической точки зрения целесообразно начать" с описания двух алгоритмов, которые пригодны для расчета лишь подкласса оптимальных фильтров, т. е. фильтров, функции ошибки которых имеют максимально возможное число экстремумов. После этого будет рассмотрен алгоритм Ремеза и описано использование методов линейного программирования для расчета произвольного оптимального КИХ-фильтра с линейной фазой.
Решение нелинейных уравнений для КИХ-фильтровс максимумом пульсаций
В разд. 3.27 было показано, что число частот, на которых функция Н* (е^ю) может иметь экстремумы, строго зависит от вида импульсной характеристики проектируемого фильтра с линейной фазой. Значение Н* (е^) в каждом экстремуме определяется весовой функцией W (е^ю), заданной частотной характеристикой D (е^) и величиной 6, представляющей максимум ошибки аппроксимации. Распределив частоты экстремумов Н* (е,ю) по частотным диапазонам, в которых решается задача аппроксимации, и потребовав, чтобы характеристика результирующего фильтра имела максимальное число экстремальных частот, можно получить единственный оптимальный фильтр. Поскольку функция ошибки аппроксимации фильтров этого типа имеет максимальное число колебаний, или пульсаций, эти фильтры получили название фильтров с максимумом пульсаций. Фильтры нижних частот этого типа называются также фильтрами с дополнительной пульсацией, поскольку они имеют только на одну пульсацию больше минимального числа пульсаций, обеспечивающего оптимальность.
Метод получения системы нелинейных уравнений, описывающих фильтр с максимумом пульсаций, состоит в следующем (он был первоначально предложен Херманом и Шуслером). На каждой из Ne неизвестных экстремальных частот ошибка Е (е,ю) достигает максимального значения, равного ± 6, причем производная от Е (е7Ю), или, что то же самое, от Н* (е7“), равна нулю. Таким образом, получаем Ne уравнений вида
Н* = -Цг" + О ^щ‘^ i = 1- 2, ..., Ne,
W (е3
4; VH* Wt = о, i=i, 2№„
Эти уравнения образуют систему из 2Ne нелинейных уравнений с 2Ne неизвестными [включающими Ne коэффициентов импульсной характеристики и Ne частот, на которых И* (е^ы) имеет экст-
ремумы]. Систему из 2^Р уравнений можно решить методом последовательных приближений, используя процедуру нелинейной оптимизации, такую, как, например, хорошо известный алгоритм Флетчера—Пауэлла.
Относительно этой процедуры следует сделать два замечания. Во-первых, величина 6 (т. е. максимум ошибки) имеет фиксированное значение и не минимизируется при оптимизации фильтра. Таким образом, форма Н* (е?ю) задана заранее, и лишь частоты, на которых Н* (е7(1)) достигает экстремальных значений, неизвестны. Во-вторых, в процедуре оптимизации не учитываются границы различных полос фильтра. Таким образом, алгоритм оптимизации не работает в определенных диапазонах частот, так что не требуется точно указывать, где именно будут располагаться полосы фильтра. Это отсутствие возможности регулирования границ полос ограничивает область применения обсуждаемого и описываемого ниже алгоритмов.
Для иллюстрации] использования системы уравнений при оптимизации рассмотрим пример расчета фильтра вида 1 нижних частот с N = 15, максимумом пульсаций 6Х = 62 и при условии, что используется весовая функция
рр (gjto) ( ^2^1,(0— в полосе пропускания,
I 1,(0 — в полосе непропускания.
Заданная частотная характеристика равна
!
1, to — в полосе пропускания,
U, (о — в полосе непропускания.
На фиг. 3.40 показана функция Н* (e3to) для этого примера. Экстремальными являются частоты <о = О, ©х, ю2, со3, о4, <о5, to6
Фиг. 3.40. Начальные условия при расчете фильтра нижних частот с максимумом пульсаций.
и ^ = л. При ю = 0 и (о = л для фильтров вида 1 производная от Н* (ejto) равна нулю при любых значениях коэффициентов импульсной характеристики. В данном примере число экстремальных частот Ne = 8, из них Np = 3 лежат в полосе пропускания и ууз = 5 — в полосе непропускания. Таким образом, для заданных условий получаем следующую систему уравнений:
Ограничения на функцию Ограничения на производную
Н* (е5°) = 1 + 61
Я*(^1) = 1-6,-^-Я*(^)|Ш_Ш1 = О
д*(^)=1-;.б,^ДЧ^к*”»
я» (С^з) = _ б2Ая« w !„_„,=о
я* ^ = + б2А я* ^ |а=в,=о
Я*(ei-) = - 6,Ад. ^ |Ш_Ш5 = о
д• W = + б2Ад.^ |e_w=О
н* (е^) = — 62
Определив из этой системы уравнений значения неизвестных частот и коэффициентов импульсной характеристики, можно найти границы полос пропускания и непропускания, вычисляя частоту выше (о2, на которой Н* (e’to) в точности равна 1 — 6t (граница полосы пропускания), и частоту ниже со3, на которой Н* (е’&) равна точно +62 (граница полосы непропускания).
Описанная процедура оптимизации была использована для расчета фильтров нижних частот и полосовых фильтров со значениями N вплоть до 61. В разд. 3.29 рассматривается другой метод проектирования фильтров с максимумом пульсаций, который позволяет эффективно рассчитывать фильтры со значительно более длинными импульсными характеристиками.
Расчет КИХ-фильтров с максимумом пульсацийна основе полиномиальной интерполяции
Второй, более эффективный метод проектирования фильтров с максимумом пульсаций был предложен Хофштеттером, Оппенгеймом и Зигелем. Он основан на вычислении методом последовательных приближений полинома VH* (^ю)1, имеющего экстремумы заданной величины. Расчет начинается с задания исходных значений экстремальных частот функции Н* (ei&). После этого
используется хорошо известная интерполяционная формула Лагранжа для полинома, который на выбранных частотах имел бы чередующиеся максимумы и минимумы и обладал бы пульсацией максимально допустимого уровня. Экспериментально показано, что исходные значения экстремальных частот не влияют на окончательную сходимость алгоритма, но определяют число итераций, требуемых для получения окончательного решения.
Рассмотрим в качестве примера расчет фильтра вида 1 нижних частот. На фиг. 3.41 изображена частотная характеристика фильтра нижних частот с N = 11 и максимумом пульсаций 6 = 62. Весовая функция W (е5®) и заданная частотная характеристика D (е?®) — такие же, как в примере из разд. 3.28. Число экстремальных частот Ne равно шести. Из них Np = 3 частот находится в полосе пропускания, a Ns = 3 — в полосе непропускания. Зачерненными точками на частотной оси фиг. 3.41 отмечены ис-
Фиг. 3.41. Итеративный расчет фильтра нижних частот с максимумом пульсаций (но Хофштеттеру, Оппенгейму и Зигелю).
• начальные значения /; О второй ряд значений частот /; — исходный полином Лагранжа; —второй полином Лагранжа*
ходные значения экстремальных частот Н* ^e’toY Сплошной линией изображен исходный полином Лагранжа, полученный таким подбором коэффициентов, чтобы значения полинома на исходных экстремальных частотах совпадали с заданными значениями экстремумов. Как видно из фиг. 3.41, пульсации полученного полинома превосходят заданный уровень. Следующий шаг состоит в том, чтобы найти частоты, на которых первый интерполяционный полином Лагранжа имеет экстремумы. Эти частоты, изображенные на фиг. 3.41 кружками, являются гораздо лучшим приближением к частотам, на которых экстремумы частотной характеристики достигнут заданного уровня. Новый набор экстремальных частот используется для построения другого полинома Лагранжа (он показан на фиг. 3.41 пунктирной линией), имею-
Фиг. 3.42, Частотная характеристика полосового фильтра с максимумом пульсаций (по Хофштеттеру, Оппенгейму и Зигелю).
s
О
-20
0,110
wM
"40 ’tiS
-60-Ц"й025
§ -80 -5
as
| -100
-120
О 0,05 0,10
-140
"Ч
0,0500,1000,1500,2000,2500,3000,3500,4000,450 Q5G
Нормированная частота
Фиг. 3.43. Частотная характеристика фильтра нижних частот с максимумом пульсаций (по Хофштеттеру, Оппенгейму и Зигелю).
Фиг. 3.44. Частотная характеристика многополосного фильтра с максимумом пульсаций (по Хофштеттеру, Оппенгейму и Зигелю).
щего заданные значения на этих частотах. Ясно, что алгоритм имеет итеративный характер. После определения частот экстремумов нового полинома переходят к следующей итерации. Этот алгоритм сильно напоминает хорошо известный алгоритм многократной замены Ремеза в чебышевской теории аппроксимации.
Характеристики нескольких типичных фильтров с максимумом пульсаций, рассчитанных Хофштеттером с соавторами с использованием рассматриваемого алгоритма, показаны на фиг. 3.42—3.44. На фиг. 3.42 изображена частотная характеристика в логарифмическом масштабе полосового фильтра вида 1
с дг = 41 (т. е. с Ne = 21), с 6 экстремумами Н* (^ю) в каждой из полос непропускания и с 9 экстремумами в полосе пропускания. Максимум пульсаций в полосах непропускания 62 = 0,00001 (или — 100 дБ), тогда как в полосе пропускания он равен 0,005. На фиг. 3.43 изображена частотная характеристика фильтра нижних частот вида 1 с 7V = 251, 33 экстремумами Н* (е,ю) в полосе пропускания и 94 экстремумами в полосе непропускания. Максимум пульсаций в полосе пропускания 6х = 0,01, а в полосе непропускания 62 = 0,00004 (или — 88 дБ). Наконец, на фиг. 3.44 приведена частотная характеристика модифицированного фильтра нижних частот вида 1 с двумя различными полосами пропускания и одной полосой непропускания. Для этого фильтра ДГ = 121, а экстремумы распределены следующим образом: 12 — в первой полосе пропускания, 31 — во второй и 18 — в полосе непропускания. Заданный уровень частотной характеристики в первой полосе пропускания равен 0,25, а во второй, как обычно, он равен 1. Максимумы ошибок в первой и во второй полосах пропускания равны 6и = 0,01 и 612 = 0,02. Максимум ошибки в полосе непропускания 62 = 0,0001.
Несмотря на то что этот улучшенный алгоритм существенно расширяет возможности проектирования фильтров с большими М, ему все же присущ недостаток, связанный с тем, что нельзя заранее задать граничные частоты полос фильтра; они вычисляются на основе окончательного решения. Более того, и данный, и описанный выше методы позволяют рассчитывать лишь фильтры с максимумом пульсаций, которые, как обсуждалось выше, являются лишь подклассом класса оптимальных фильтров. В следующих разделах будут рассмотрены методы проектирования произвольных оптимальных (в минимаксном смысле) фильтров.
Использование алгоритма замены Ремезадля расчета оптимальных фильтров
Выше было показано, что задачу проектирования оптимального КИХ-фильтра с линейной фазой можно сформулировать как задачу чебышевской аппроксимации, причем аппроксимирующая функция \Р (е-7®) в формуле (3.110)] является суммой г независимых косинусоидальных функций. Необходимые и достаточные условия того, что взвешенная функция ошибки Е (е,<0) вида (3.110) обеспечивает единственное решение с наилучшей аппроксимацией заданной частотной характеристики D ^е^, сформулированы в обобщенной теореме Чебышева.
В общем виде процедура проектирования оптимального фильтра, основанная на обобщенной теореме Чебышева, включает следующие этапы:
Задание частотной характеристики D ^е’®), весовой функции W (е^) и длины импульсной характеристики фильтра N.
Формулировка соответствующей эквивалентной задачи аппроксимации, т. е. задание D (е5®), W (е)Ю) и Р (е^).
Решение задачи аппроксимации с использованием алгоритма многократной замены Ремеза.
Расчет импульсной характеристики фильтра.
На этапе 1 разработчик имеет возможность влиять на алгоритм проектирования фильтра, задавая тип фильтра и начальные условия. Этап 2, а именно формулировка соответствующей эквивалентной задачи аппроксимации, уже обсуждался в разд. 3.26.
На фиг. 3.45 изображена блок-схема использования алгоритма замены Ремеза для решения задачи аппроксимации, т. е. для выполнения этапа 3. Для нахождения в соответствии с обобщенной теоремой Чебышева г + 1 экстремальных частот используется
Фиг. 3.45. Блок-схема алгоритма Ремеза (взята у Паркса и Макклеллана).
густая сетка точек на оси частот. Сначала выбираются г + 1 исходных экстремальных частот, на которых функция ошибки должна принимать значения 6 с меняющимся знаком. С точки зрения исходной формулировки задачи последнее требование означает, что для выбранной совокупности экстремальных частот {соА}, k = 0, 1, . . ., г, необходимо решить следующую систему уравнений вида:
W (e^HW^-^ k = 0, 1, ...,r, (3.119)
что P (eito) =что P (eito) =или в матричной форме (в предположении,
что P (eito) =
что P (eito) =
г—1
= ^ а (п) cos con)
71=0
COS C00 COS 2to0 . . . COS [(r — 1) Cd0]COS C00 COS 2to0 . . . COS [(r — 1) Cd0]1W (^to°)1W (^to°)COS to!COS to!COS torCOS tor(-1)Г W (е?®г) _(-1)Г W (е?®г) _a(0)a(l)a (r — 1)6a(0)a(l)a (r — 1)6
COS C00 COS 2to0 . . . COS [(r — 1) Cd0]
COS C00 COS 2to0 . . . COS [(r — 1) Cd0]
1
W (^to°)
1
W (^to°)
COS to!
COS to!
COS tor
COS tor
(-1)Г W (е?®г) _
(-1)Г W (е?®г) _
a(0)
a(l)
a (r — 1)6
a(0)
a(l)
a (r — 1)6
(3.120)
Непосредственное решение системы (3.120) — довольно сложный и длительный процесс; гораздо проще найти 6 аналитически:
6 = __2оЙ1£^)+^1Щ>1)-ь:14^„ 2
aojW ^"'»')—alIW ^ЦК-1)'аг/1У(с’‘,,г) *'
где
(ЗЛ22)
г—0г+h
И xt = cos tot.(3.123)
После вычисления 6 для интерполяции Р (е,ю) по ее значениям в г точках соо, ©!, ..., со,.-!, равным
C^D^-f-ir—«, k = 0, 1, .... г-1,(3.124)
W(e3 h)
используется интерполяционная формула Лагранжа в барицентрической форме:
г-1
\ х — х^ / Р ^) = -^,(3.125)
^—J \ XXh /гдег-1
Р^Птг^(3-126)
1=0 i=#h
И X = COS to.-
Заметим, что функция Р (е^) будет также интерполироваться до значения Ь (ejtor) — [(— 1)Г6/ТГ (^Юг)1, так как она удовлетворяет уравнению (3.119). На следующем этапе вычисляется Е (е5ю) на густой сетке частот. Если \Е (eito) ] ^ 6 для всех частот этой густой сетки, то получена оптимальная аппроксимация. Если же \Е (е,ю)| >> 6 для некоторых частот этой густой сетки, то необходимо выбрать новую совокупность (г + 1) экстремальных частот. Новые частоты выбираются в точках экстремумов полученной кривой ошибки, в результате чего 6 будет увеличиваться и в конечном счете сойдется к ее верхней границе, что соответствует решению задачи. В случае если на какой-либо итерации окажется более чем (г + 1) экстремумов функции Е ^e^Y для следующей итерации в качестве экстремальных используются те (г + 1) частот, на которых модуль ошибки \Е (ejto) | был наибольшим.
Этап 4 проектирования оптимальных фильтров, заключающийся в расчете импульсной характеристики, сводится к вычислению отсчетов Р (е,со) на 2м равноотстоящих частотах (где 2м ^ N) и использованию ДПФ для получения последовательности {а (п)}, из которой можно затем найти коэффициенты импульсной характеристики. Каждому из четырех видов фильтров с линейной фазой соответствует своя формула, однозначно связывающая h (п) с а (п).
С учетом вышеизложенного была составлена общая программа расчета КИХ-фильтров с линейной фазой (она приведена в приложении в конце настоящей главы). На фиг. 3.46 представлена блок-схема этой программы. Она имеет вводную часть (соответствующую этапу 1 проектирования), предназначенную для расчета разнообразных многополосных фильтров, включая фильтры нижних и верхних частот, полосовые и режекторные, а также дифференциаторы и преобразователи Гильберта. Перечислим возможности и ограничения приведенной в приложении программы:
Фиг. 3.46. Блок-схема алгоритма расчета фильтров.
(меткафильтр(меткафильтр
(метка
фильтр
(метка
фильтр
Длина импульсной характеристики фильтра NFILT) ограничена пределами 3 < NFILT ^ 256.
Типы фильтров (метка JTYPE):
многополосный полосовой или режекторный (JTYPE = 1);
дифференциатор (JTYPE = 2);
преобразователь Гильберта (JTYPE = 3).
Число полос, задаваемых верхней и нижней частотами среза, не превышает 10.
Частотная характеристика в каждой из полос задается независимо.
Весовая функция в каждой из полос также задается независимо.
Сетка частот F, используемая в алгоритме, иллюстрированном на фиг. 3.46, представляет густую сетку частот в каждой из полос, где выполняется аппроксимация. С помощью подпрограмм WATE и EFF по заданным характеристикам автоматически производится вычисление весовой функции и частотной характеристики. Подпрограмма REMEZ работает в точности так, как было описано в данном разделе. Чтобы помочь разработчику освоить приведенную программу, в приложении даны примеры расчета по этой программе нескольких различных фильтров.
Прежде чем перейти к обсуждению свойств некоторых классов оптимальных фильтров, в разд. 3.31 будет показано, каким образом для расчета оптимальных КИХ-фильтров с линейной фазой можно использовать также методы линейного программирования.
Расчет оптимальных КИХ-фильтров методамилинейного программирования
В оптимальном КИХ-фильтре с линейной фазой максимум ошибки аппроксимации Е (е5®) минимизируется на всех частотах to. Обозначив максимальную ошибку через 6, можно записать систему линейных неравенств, описывающих эту минимаксную задачу:
toi^F. (3.127)
Здесь F — густая сетка частот в полосах, где выполняется аппроксимация. Поскольку Р (е’®) является линейной комбинацией г косинусоидальных функций, неравенства (3.127) можно формально записать в виде задачи линейного программирования: минимизировать 6 при условиях
г-1
— ИДе^) 2 а (^ cos (mcog) — 6^ — W (e^i) D {e^1}, "
W ^^ 2 a-W cos (^юг) — 6^ТУ(е7“9 D (e3^),
Для решения этой системы неравенств можно использовать методы линейного программирования. Но так как метод линейного программирования весьма близок к методу однократной замены и в то же время значительно’более громоздок по сравнению с методом Ремеза (который является методом многократной замены),
то для рассматриваемого класса задач он почти не используется. С другой стороны, в разд. 3.39 будет показано, что в случаях, когда приходится учитывать ограничения и во временной области, именно линейное программирование может оказаться единственным простым методом решения задачи проектирования.
Характеристики оптимальных фильтровнижних частот вида 1
При проектировании оптимального фильтра нижних частот необходимо задать величину Nчастоту среза полосы пропускания Fp, частоту среза полосы непропускания Fs и отношение уровней пульсаций К = б^б,, описывающее заданную весовую функцию
РП(е^) = / ’ °^to^2KFpi (3.128) I 1, 2nFs^o)^n.
Здесь 6Х и 62 — амплитуды пульсаций в полосе пропускания и непропускания соответственно. На фиг. 3.47 показана частотная характеристика фильтра нижних частот вида 1. Вспомогательный параметр AF задается формулой
AF = Fs — Fp (3.129)
и служит мерой ширины переходной полосы фильтра. На фиг. 3.48 и 3.49 изображены временные и частотная характеристики фильтра нижних частот вида 1 с N = 99, Fp = 0,0808, Fs = 0,1111 и К = 1,0. Результирующие значения б2 и 62 равны 0,001724 в обеих полосах.
Ранее было показано, что кривая ошибки оптимального фильтра нижних частот может иметь либо г + 1, либо г 4- 2 экстремумов, где г = ^N 4- 1)/2 для фильтра вида 1 и г = Л72 для фильтра вида 2. Чтобы выяснить, при каких условиях число экстремумов оптимального фильтра достигает максимума, важно понять сущность этого фильтра. Экспериментально установлено, что достаточно простым и информативным способом описания поведения оптимального фильтра является график зависимости ширины переходной полосы фильтра AF от частоты среза полосы пропускания Fp при фиксированных значениях N, 6г и 62. Подобный график для фильтра вида 1 с JV - 11 и 8Х - 8г = 0,1 изображен на фиг. 3.50. Видно, что кривая зависимости AF от Fp имеет колебательный характер с чередующимися острыми минимумами и пологими максимумами. Оказалось, что минимумы кривой (с метками от ER1 до ER5) соответствуют фильтрам с максимумом
Кривая ошибки
Нормированная частота
Фиг. 3.47. Частотная характеристика оптимального фильтра нижних частот с минимаксной ошибкой.
пульсаций (с дополнительной пульсацией) при заданных N, 6Х и 62. Напомним, что кривые ошибок фильтров с дополнительной пульсацией имеют (N + 5)/2 экстремумов равной амплитуды. Для фиксированных значений 6Т и 62 существует ровно (ЛГ — 1)/2 таких фильтров с дополнительной пульсацией. Оказалось, что в промежутках между решениями, соответствующими дополнительной пульсации, существуют решения, соответствующие оптимальным фильтрам двух типов: масштабируемым фильтрам
Фиг. 3.48. Импульсная и переходная характеристики фильтра нижних час-
Фиг. 3,49. Частотная характеристика оптимального фильтра нижних частот с минимаксной ошибкой.
Фиг. 3.50. Зависимость ширины переходной полосы оптимального фильтра нижних частот от частоты среза полосы пропускания.
с дополнительной пульсацией и фильтрам, кривые ошибок которых имеют точно ^N + 3)/2 экстремумов равной амплитуды.
Кривые ошибок масштабируемых фильтрод с дополнительной пульсацией (им соответствуют жирные линии на фиг. 3.50) имеют (N + 3)/2 экстремумов равной амплитуды, а также один экстремум меньшей амплитуды при / = 0 или / = 0,5. Эти фильтры можно получить из смежного фильтра с дополнительной пульсацией с помощью простого масштабирования, иллюстрируемого фиг. 3.51. Наверху слева показана частотная характеристика фильтра с дополнительной пульсацией, кривая ошибки которого имеет (N + 5)/2 экстремумов. Частотная характеристика имеет вид тригонометрического полинома в функции частоты /. Применяя преобразование х = cos (2л/), получим частотную характеристику в виде обычного полинома по ж, показанную на фиг. 3.51 наверху справа. Далее можно использовать простое изменение масштаба х типа х* = ах + р, при котором точка х = — 1 отображается в точку х' — — 1, а х — хн отображается в точку х* = 1. Выбираемое значение хн лежит между 4*1 и предшествующим экстремумом. При этом результирующий по-
Фиг. 3.51. Операция масштабирования для оптимальных фильтров нижних .частот.
лином по х' (см. кривую на фиг. 3.51 справа внизу) имеет (JV + 3)/2 экстремумов равной амплитуды, тогда как при х* — \ величина ошибки будет меньше, чем в других экстремумах. Применяя обратное преобразование / = arc cos х'/2л, получим частотную характеристику (см. на фиг. 3.51 слева внизу), соответствующую масштабируемому фильтру с дополнительной пульсацией, который имеет (N + 3)/2 экстремумов равной амплитуды и меньший экстремум при / = 0. Поскольку оптимальный фильтр должен иметь не менее (N + 3)/2 экстремумов равной амплитуды, масштабирование можно использовать только до тех пор, пока предпоследний масштабируемый экстремум не окажется в точке х' = 1. Масштабирование за этим пределом приводит к неоптимальному фильтру.
Кривые ошибок всех оптимальных фильтров, для которых решения располагаются между решениями для масштабируемых фильтров с дополнительной пульсацией, имеют точно (N + 3)/2
экстремумов равной амплитуды. Объяснить их наличие с помощью какой-либо простой операции масштабирования не удалось. Однако, используя обычный полином по ж, можно объяснить особенности этих фильтров, меняя положение и амплитуду «невидимой» пульсации за пределами диапазона — 1 ^ ж + 1. Как показано на фиг. 3.52, при возрастании Fp положение невидимой пульсации стремится к — оо, а амплитуда — к + оо. Конечное положение и амплитуда невидимой пульсации соответствуют ± оо — точке, где TV-точечный фильтр эквивалентен (N — 2)- точечному фильтру с дополнительной пульсацией, поскольку все его пульсации находятся в диапазоне — 1 ^ ж ^ + 1. Этот эффект иллюстрируется на фиг. 3.53, где показаны кривые зависимости ширины переходной полосы от частоты среза полосы пропускания для N = 9 и 11 при 6j = 62 = 0,1. Каждому решению для фильтра с дополнительной пульсацией при ;¥ — 9 соответствует, как и было предсказано выше, решение для фильтра без дополнительной пульсации при N = 11.
Если увеличивать Fp далее предела, при котором невидимая пульсация оказывается в —оо, она появится в -|-оо и будет перемещаться в направлении точки х = + 1. В конце концов невидимая пульсация станет видимой (в точке х = +1), что даст масштабируемое решение для фильтра с дополнительной пульсацией. Приведенное выше в некоторой степени качественное описание поведения различных типов оптимальных фильтров было проверено экспериментально; это оказалось чрезвычайно полезным для понимания сущности оптимальных фильтров.
На фиг. 3.54 представлены все типы оптимальных фильтров, которые могут быть получены путем изменения частоты среза фильтра. Первый из них соответствует решению с дополнительной пульсацией приЛ^ = 25 и 61 = 62 = 0,05. Ниже приведены частотные характеристики двух различных масштабированных фильтров, равные нулю и 0,03 при / — 0,5 для первого и второго фильтров соответственно. Последний фильтр в первом столбце соответствует решению с максимально возможным изменением масшта-
Фиг. 3.53. Зависимость ширины переходной полосы от частоты среза полосы пропускания для нескольких оптимальных фильтров нижних частот.
1 Решение с
1 дополнитель-
1 ной пульсацией Fp = 0,20760 Fs= 0,25130
1N*3
2
I экстремумов 1 Fp=0,22800 \FS=0,27551
"i 1 i Г i Vx/\7^Z\/47
vVWVSA/
\ Решение, полу-
1 Решение, полу-
^=25^-62=005
0,95
loo
6,95
0,05 О
чаемое масштабированием | Fp=0,24800 I Fs=0,29183
чаемое масшта - дарованием
Fp= 0,20808Fs= 0,25191Fp= 0,20808Fs= 0,251913X3X*4 к: 5 ч;*4 к: 5 ч;0,050,050,050,051,000,951,000,95Fp= 0,20850Fp= 0,20850Fs= 0,25250Fs= 0,25250Решение, получаемое масштабированиемРешение, получаемое масштабированиемFp=0,24835Fp=0,24835Fs= 0,29208Fs= 0,29208Решение,получаемое масштабированиемРешение,получаемое масштабированиемЬ,95Ь,95Fp-0,20950Fs= 0,25377Fp-0,20950Fs= 0,25377Предельное решение, получаемое масштабированиемПредельное решение, получаемое масштабированиемао^;О 0,!0,2 0,304 0^0ао^;О 0,!0,2 0,304 0^0Решение с дополнительной пульсациейРешение с дополнительной пульсациейFp= 0,24870Fs= 0,29240Fp= 0,24870Fs= 0,292400,10,20,3 0,4 0,50,10,20,3 0,4 0,5
Fp= 0,20808
Fs= 0,25191
Fp= 0,20808
Fs= 0,25191
3
X
3
X
*4 к: 5 ч;
*4 к: 5 ч;
0,05
0,05
0,05
0,05
1,00
0,95
1,00
0,95
Fp= 0,20850
Fp= 0,20850
Fs= 0,25250
Fs= 0,25250
Решение, получаемое масштабированием
Решение, получаемое масштабированием
Fp=0,24835
Fp=0,24835
Fs= 0,29208
Fs= 0,29208
Решение,получаемое масштабированием
Решение,получаемое масштабированием
Ь,95
Ь,95
Fp-0,20950
Fs= 0,25377
Fp-0,20950
Fs= 0,25377
Предельное решение, получаемое масштабированием
Предельное решение, получаемое масштабированием
ао^;
О 0,!0,2 0,304 0^0
ао^;
О 0,!0,2 0,304 0^0
Решение с дополнительной пульсацией
Решение с дополнительной пульсацией
Fp= 0,24870
Fs= 0,29240
Fp= 0,24870
Fs= 0,29240
0,10,20,3 0,4 0,5
0,10,20,3 0,4 0,5
Частота
Фиг. 3.54. Различные типы оптимальных фильтров нижних частот.
ба, т. е. фильтру с частотной характеристикой, равной 0,05 при / = 0,5, кривая ошибки которого имеет (W + 3)/2 экстремумов одинаковой амплитуды. Первый фильтр во втором столбце соответствует точке, лежащей приблизительно посредине между двумя решениями с дополнительной пульсацией. Два следующих фильтра соответствуют масштабированным решениям с дополнительной пульсацией, но с величиной
ошибки при/= 0, отличающейся от остальных экстремумов. У первого из них величина ошибки при / = 0 составляет около — 0,005, тогда как у второго она близка к. 0,015. Последний фильтр во втором столбце соответствует решению с дополнительной пульсацией.
Некоторые дополнительные свойства оптимальных фильтров нижних частот вида 1
Целесообразно рассмотреть некоторые дополнительные свойства оптимальных фильтров:
симметрию параметров фильтра;
поведение ширины переходной полосы при больших Кд
аналитические решения для чебышевской аппроксимации.
В данном разделе будет описано, как эти свойства связаны с задачей проектирования фильтров.
Симметрия параметровфильтра
Фиг. 3.55. Симметрия параметров оптимального фильтра нижних частот.Фиг. 3.55. Симметрия параметров оптимального фильтра нижних частот.Оптимальный фильтр полностью характеризуется набором следующих параметров: N, Fp, Fs, 6t и 62. Покажем, что каждому оптимальному фильтру нижних частот с перечисленным набором параметров соот-
Фиг. 3.55. Симметрия параметров оптимального фильтра нижних частот.
Фиг. 3.55. Симметрия параметров оптимального фильтра нижних частот.
ветствует другой оптимальный фильтр с параметрами N' — N, Fp = 0,5 — Fs, F's = 0,5 — Fp, 6; = 62, 6' = 6lt т. e. существует своего рода симметрия параметров фильтра.
На фиг. 3.55 свойство симметрии представлено графически. Изображенная здесь частотная характеристика фильтра с параметрами N, Fp, Fg, 6: и 62 может быть записана в виде
(N-D/2
И* (ei®) = 2 a(n) cos (юи).(3.130)
п—0
Делая подстановку
со-*- л — со,(3.131)
получаем
(N-D/2.
Н* [е^”-®)] _ ^ а (п) cos [(л — со) и] (3.132)71=04 ■ —V— ■z
(-1)” cos (con)
и, полагая G (ejto) = И* кЛя~®)], находим
(N-D/2
G(ei<0>) = 2 &Ап) cos (сои).(3.133)
Фиг. 3.56. Зависимость ширины переходной полосы от частоты среза полосы пропускания для оптимальных фильтров нижних частот.
Выражение (3.133) описывает частотную характеристику оптимального фильтра (верхних частот), показанную на фиг. 3.55, б. И наконец, положив
(^-l)/2
G' (е^3) = 1—G (eia) = 1 — 2 SW cos (ю,г) =
n=0
(^-l)/2
= 2 g'(n) cos (ton),(3.134)
n=0
получим частотную характеристику оптимального фильтра нижних частот (фиг. 3.55, в) с параметрами N' = N, F'p = 0,5 — FS3 f's = 0,5 — fp, s; = s2, s; — sP
При 6X = 62 (t. e. 6j = 62) кривая зависимости ^F от F (такая, как, например, на фиг. 3.50) является симметричнойр Однако при 6Х =^ 62 кривая зависимости kF от Fp несимметрична, как это видно из фиг. 3.56, где N = 21, 6Х = 0,01, 62 = 0,0001., Если построить кривую зависимости ДЕ от Fp при N = 21, 6Х = 0,0001, 62 = 0,01, то вследствие симметрии она окажется зеркальным отображением кривой, приведенной на фиг. 3.56.
Ширина переходной полосы для больших К
Из сравнения фиг. 3.50 и 3.56 видно, что кривая зависимости ширины переходной полосы от частоты среза Fp в случае К > 1 (К =61/62) сильно отличается от аналогичной кривой при К = 1. Видно, что при больших К с возрастанием Fp ширина переходной полосы уменьшается довольно резко. В приведенном на фиг. 3.56 примере ширина переходной полосы уменьшается более чем в 2 раза с возрастанием частоты среза. Интуитивно этот эффект можно объяснить тем, что с увеличением Fp пульсации из полосы непро- пускания попадают в полосу пропускания, где они могут быть в К раз больше по величине (в 100 раз для примера на фиг. 3.56), за счет чего и может быть уменьшена ширина переходной полосы ДЕ.
Этот эффект не столь ярко выражен при больших N. На фиг. 3.57 изображены кривые зависимости ширины переходной полосы от частоты среза полосы пропускания для N = 101 и К = 1, 10 и 100 при 6Х = 0,1, 0,01, 0,001 и 0,0001 (приведены кривые только для фильтров с дополнительной пульсацией). Видно, что резкое изменение ширины переходной полосы происходит в большинстве случаев вблизи Fp = 0,5, т. е. только для весьма широкополосных фильтров.
Чебышевские решения
Хотя нелегко получить аналитическое решение задачи проектирования оптимального фильтра, в частном случае, когда в полосе пропускания или в полосе непропускания имеется только
Ширина переходной полосы (aF)
Фиг. 3.57. Зависимость ширины переходной полосы от частоты среза полосы пропускания для оптимальных фильтров с импульсной характеристикой, содержащей 101 отсчет.
Частота среза полосы пропускания(Fp)
Фиг. 3.58. Чебышевский полином.
одна пульсация, такое аналитическое решение существует. Это решение имеет вид хорошо известного полинома Чебышева.
Рассмотрим полином Чебышева Л/-й степени Тм (я). определяемый формулой
Тм (%) = cos (М arccos ж), |#| ^ 1,
= ch (МArch#), |#|>>1,(3.135)
что эквивалентно обычному полиному вида м
Тм^)= 2 Ъ^хп.(3.136)
п=0
На фиг. 3.58 изображен график Т м (#) Для^Л/ = 4. Если положить М — (N — 1)/2, то легко показать, что полином Ь^Т^м-^ (х) является точным решением задачи аппроксимации для оптимального фильтра вида 1 с одной пульсацией в полосе пропускания. Поскольку полиномы Чебышева заданы в области #, для отображения их в область / требуется выполнить преобразование вида $=(Х!|+1)Со8(2л/) + (^1),(3.137)
которое обеспечивает отображение интервала —1 ^ х ^ Хо в интервал 0 ^ / ^ 0,5 и преобразование обычного полинома по х в тригонометрический полином по /. Значение Хо в преобразовании (3.137) соответствует точке, в которой 1\n-v№ (я) = = (И^Ж-
В случае когда решение имеет вид чебышевского полинома, частоты среза полос пропускания и непропускания являются отображениями точек х = Хр (где 1\n-d/2 (х) = (1 — 6х)/62)
Фиг. 3.59. Свойства оптимальных (по Чебышеву) фильтров нижних частот.
20lg»2
Фиг. 3.60. Дополнительные свойства оптимальных (по Чебышеву) фильтровнижних частот.
hi = + 1. Таким образом, можно найти аналитическое выражение для ширины переходной полосы \F, которое при больших N
имеет вид
bF=F,-Fp«bF=F,-Fp«1л (TV — 1)1л (TV — 1)(Arch (-ЦЛ)- \\ Оа /(Arch (-ЦЛ)- \\ Оа /— ( Г Arch ( ^^ I L \ Ог— ( Г Arch ( ^^ I L \ Ог( 1-61\ 62( 1-61\ 62)]2}1/2). (3.138))]2}1/2). (3.138)
bF=F,-Fp«
bF=F,-Fp«
1
л (TV — 1)
1
л (TV — 1)
(Arch (-ЦЛ)- \\ Оа /
(Arch (-ЦЛ)- \\ Оа /
— ( Г Arch ( ^^ I L \ Ог
— ( Г Arch ( ^^ I L \ Ог
( 1-61
\ 62
( 1-61
\ 62
)]2}1/2). (3.138)
)]2}1/2). (3.138)
При 6г <С 1 это выражение упрощается:
Д^«^1)(1п2-1п62).Д^«^1)(1п2-1п62).(3.139)(3.139)
Д^«^1)(1п2-1п62).
Д^«^1)(1п2-1п62).
(3.139)
(3.139)
Таким образом, величина D, определяемая формулой
(3.140)(3.140)D = (N — 1) AF,
(3.140)
(3.140)
при сделанных выше предположениях оказывается независимой от величин AF и N. На фиг. 3.59 приведены графики зависимости величины D от 1g 62 для N = 127 (т. е. большого N) и различных значений К и 6Х. Из графиков видно, что D действительно не зависит от 6Х при малых 6Х. На фиг. 3.60 приведены графики зависимости D от 1g 6 2 для К = 1, 10 и 100 и различных значений А от 3 до 127. Как и было показано выше, при^А ^ 51 величина D по существу не зависит от А. .
Соотношения между параметрами оптимальногофильтра нижних частот
Аналитического решения задачи расчета оптимального фильтра, за исключением частного случая чебышевского решения, не существует. Как видно из приведенных выше графиков, ширина переходной полосы фильтра в случае чебышевского решения обычно оказывается значительно меньше, чем для других оптимальных фильтров с такими же значениями А, 6Х, 62, но при других Fp и Fs. На основе экспериментальных данных по очень большому числу оптимальных фильтров была получена совокупность приближенных расчетных соотношений, связывающих параметры проектируемых фильтров. С помощью этих формул разработчик может выбрать любые четыре из пяти параметров A, Fp, Fg16t и 62, а затем оценить недостающий пятый параметр. При проектировании фильтра разработчик должен перебирать значения незаданного параметра до тех пор, пока не будут удовлетворены (возможно, с запасом) требования ко всем другим параметрам.
В систему расчетных соотношений входит прежде всего найденное выше выражение для величины О:
D = (N - 1) ^F = (А - 1) (Fs - FPY(3.141)
Кроме того, используются следующие эмпирические соотношения: Doo (6lf 62) = [fl! (lg Si)2 + а2 1g 61 + а3] lg 62 +
’+ fo (te 6t)2 + а5 lg Si + aeL(3.142)
где
в1 = 5,309 • IO"3,
а2 = 7,114 • IO"2,
а3= - 4,761 • 10-1,
а4 = — 2,66 • 10-3, а5 = — 5,941 • 10-1, ^ = - 4,278 • 10-\ а также
/ (61, 62) = bi + b2 (lg 6j - lg 62),(3.143)
где
bi = 11,01217,
b2 s= 0,51244, и, наконец,
Doo (6n б2) = (N - 1) AF + / (61, 62) (АЛ2.(3.144)
Чтобы понять, как правильно использовать эти расчетные соотношения, рассмотрим случай, когда заданы бц 62, Fp и FS1 а разработчику предстоит найти подходящее значение N. Из соотношений (3.141), (3.142) и (3.144) находим N, оценку N:
N = ^^’^'-/(б,. 8,) (Д^ +1.<3.145)
Полученное начальное значение N вместе с заданными значениями Fpi Fs и К = 6i/62 образует исходный набор оценок расчетных параметров фильтра. В зависимости от того, окажутся ли действительные значения 61 и 62 (полученные в результате расчета фильтра) слишком большими или слишком малыми, величина N соответственно увеличивается либо уменьшается до тех пор, пока не будут обеспечены или даже превышены значения всех других параметров.
В случае когда первоначально не задаются либо Fs, либо Fp, следует воспользоваться расчетным соотношением для оценки ^F (а следовательно, и для оценки либо FS1 либо Fpy.
А^=2тте[/1+^и^51-1]- (ЗЛ46>
Далее незаданный параметр варьируется от первоначального значения до тех пор, пока не будут получены подходящие значения всех параметров.
Когда незаданным параметром является б2, его оценку можно найти по формуле
1 5 _ (Лг—1) A^ + di (AF)2—с23 14
lg°2~п + МАП2’
где
d = «1 (1g 6i)2 + а2 lg 6i + «з, c2 = a4 (lg S,)2 + a5 lg Si + a6, C?l = 61 + ^2 lg6P
В этом случае начальное значение 62 дает возможность разработчику оценить значение К = б^бз, которое затем варьируется до тех пор, пока величина бх не окажется в заданных пределах.
Наконец, если незаданным параметром является 6lt его оценку можно найти по формуле
ige.=-4+/^~^<3-148)
где•
^1 = ^ —621g б2,
[^2-62 (АЛ2]
„ _ ^3-gi(AF)2-(^-l) AF
е1 — #1 lg 62 -f- й4,е2 = а21g 62 -|- й5,е3 = а31g 62 -[- а^.
В этом случае начальное значение бх позволяет найти оценку величины К = б^бз, которая затем варьируется до тех пор, пока 62 не окажется в заданных пределах.
Проверка на большом числе спроектированных фильтров показала, что приведенные расчетные соотношения дают достаточно хорошие оценки незаданных параметров.
Свойства оптимальных фильтровнижних частот вида 2
Большая часть рассмотренных выше свойств оптимальных фильтров нижних частот вида 1 относится и к фильтрам вида 2, среди которых также можно выделить оптимальные фильтры нижних частот трех основных типов: фильтры с дополнительной пульсацией, кривые ошибок которых имеют (^/2 + 2) экстремумов равной амплитуды, масштабированные фильтры с дополнительной
пульсацией, имеющие (N/2 + 1) экстремумов равной амплитуды и один меньший экстремум, и, наконец, фильтры с равновеликими пульсациями, имеющие (^/2 + 1) экстремумов равной амплитуды. Главное отличие фильтров вида 2 от фильтров вида 1 состоит в том, что их частотная характеристика в точке ю = л должна быть равна 0. Это приводит к тому, что фильтры вида 2 имеют некоторые особенности по сравнению с фильтрами вида 1. В настоящем разделе рассмотрены эти особенности и проведено сравнение фильтров нижних частот обоих видов.
На фиг. 3.61 представлена амплитудная характеристика типичного оптимального фильтра нижних частот вида 2. Параметры Fpi Fs, 6Х и 62 имеют здесь тот же смысл, что и для фильтров вида 1. При / =0,5 амплитудная характеристика равна нулю, так как Н* (ej(d) = 0 в точке z = —1. На фиг. 3.62, а и б представлены амплитудные характеристики фильтра вида 2 с дополнительной пульсацией и фильтра вида 2 с равновеликими пульсациями. В этих примерах N = 10, поэтому функция ошибки фильтра с дополнительной пульсацией имеет 10/2 4-2 = 7 экстремумов, тогда как
Фиг. 3.61. Амплитудная характеристика оптимального фильтра нижних частот, имеющего 10-точечную импульсную характеристику (т. е. N — четное).
Фиг. 3.62. Амплитудные характеристики оптимальных фильтров нижних частот с дополнительной пульсацией (а) и с равновеликими пульсациями (б), имеющих 10-точечные импульсные характеристики.
у фильтра с равновеликими пульсациями она имеет только 6 экстремумов.
Нетрудно показать, что если N либо только четное, либо только нечетное, то оптимальный фильтр с импульсной характеристикой, содержащей (N — 2) отсчетов, в принципе не может быть лучше (т. е. не может иметь меньший уровень максимума ошибки) оптимального фильтра с импульсной характеристикой, содержащей N отсчетов. Это вполне понятно, поскольку фильтры, импульсная характеристика которых имеет (7V — 2) отсчетов, образуют подкласс фильтров с импульсной характеристикой, содержащей IV отсчетов, а оптимальный фильтр подкласса не может быть лучше оптимального фильтра всего класса. Однако это положение оказывается несправедливым, если сравниваются оптимальные фильтры с импульсными характеристиками, содержащими соответственно N и (N — 1) отсчетов. В этом случае невозможно заранее предсказать, какой фильтр будет иметь лучшие характеристики.
Для иллюстрации вышеизложенного на фиг. 3.63 приведены кривые зависимости ширины переходной полосы фильтра ^F =
Q120
0,1060,1060,0920,092\ \\\\\\ \\\\\L-L-\ \\\ \\/ / I I I I I Т\/ / I I I I I Т\\ \ \\ ■\ :\: \: v\ \ \\ ■\ :\: \: vааК=1 ^=0,1N=9К=1 ^=0,1N=9^ \ I •.\ : \\ :\ А :^ \ I •.\ : \\ :\ А :0,0780,0780,0640,064N=10N=10№Ь№Ь0,10,10,20,20,30,3Частота среза полосы пропускания (Fp)Частота среза полосы пропускания (Fp)0,40,50,40,5
0,106
0,106
0,092
0,092
\ \
\
\\
\
\ \
\
\\
\
L-
L-
\ \
\
\ \
\
/ / I I I I I Т\
/ / I I I I I Т\
\ \ \
\ ■
\ :
\: \: v
\ \ \
\ ■
\ :
\: \: v
а
а
К=1 ^=0,1
N=9
К=1 ^=0,1
N=9
^ \ I •.\ : \\ :\ А :
^ \ I •.\ : \\ :\ А :
0,078
0,078
0,064
0,064
N=10
N=10
№Ь
№Ь
0,1
0,1
0,2
0,2
0,3
0,3
Частота среза полосы пропускания (Fp)
Частота среза полосы пропускания (Fp)
0,40,5
0,40,5
Фиг. 3.63. Сравнение ширины переходных полос для оптимальных фильтровнижних частот с четным и нечетным N.
= Fs — Fp) от Fp при N = 9, 10, 11 и 6г = 62 = 0,1. Эти кривые позволяют сделать следующие выводы:
При одинаковых Fp ширина переходной полосы у фильтров с N = 10 иногда оказывается меньше, чем у фильтров с N = 11, а иногда больше, чем у фильтров с N = 9.
Кривая зависимости kF от Fp при N = 10 несимметрична, хотя аналогичные кривые при Л^ — 9иЛг — 11 являются симметричными в том смысле, что каждой точке кривой с координатами (Fp, kF = Fs — Fp) соответствует симметричная ей точка с координатами (0,5 — Fs, kF).
Кривая при N = 10 заканчивается точкой, соответствующей решению с дополнительной пульсацией.
Второй и третий выводы вытекают из характера оптимального решения, получаемого в точке / = 0,5 для фильтров вида 2. Поскольку в этой точке Н* (е,я) = 0, т. е. функция ошибки в отличие от фильтров вида 1 здесь не имеет максимума, то простое преобразование переменных, использованное выше для объяснения свойства симметрии фильтров вида 1, в данном случае непригодно. Таким образом, кривая зависимости kF от Fp для фильтров вида
Фиг. 3.64. Последний возможный фильтр нижних частот с дополнительной пульсацией при четном N.
2 не обладает простой симметрией. Третий вывод иллюстрируется на фиг. 3.64, где изображена амплитудная характеристика последнего возможного фильтра с дополнительной пульсацией. Поскольку при / = 0,5 она всегда равна нулю, невозможно получить фильтр с частотой среза Fs, как угодно близкой к 0,5, как в случае нечетных N.
Значение первого вывода нельзя недооценить. Тот факт, что фильтр с N = 10 (когда для аппроксимации используются пять функций) может обеспечить заданный уровень пульсаций при меньшей ширине переходной полосы, чем фильтр с N = 11 (т. е. при использовании для аппроксимации шести функций), является довольно неожиданным. В несколько другой формулировке это означает, что при заданных фиксированных значениях Fp, Fs и К фильтр с N = 10 может обеспечить меньший уровень пульсаций, чем фильтр с N = 11. Так, например, при Fp = 0,3426, Fs = 0,41623, К = 1 фильтр с N = И будет иметь пульсации 6Х = 62 = 0,128215, тогда как у фильтра с N = 10 пульсации 6Х = 62 = 0,1. Ослабление в полосе непропускания фильтра с N = 10 приблизительно на 2,2 дБ больше, чем у фильтра с N = 11.
На фиг. 3.65 приведены графики зависимости AF от Fp для N — 9, 10 и И при К = 100 (6Х = 0,1, 62 = 0,001). Графики по-
Фиг. 3.65. Сравнение ширины переходных полос для оптимальных фильтров нижних частот с четным и нечетным N.
ЧастотаЧастотастроены для Fp в диапазоне 0,15 ^. ^ Ер ^ 0,35. Характер зависимости ширины переходной полосы от Ер соответствует кривой фиг. 3.62 в том смысле, что решения при N = 10 иногда обеспечивают меньшую ширину переходной полосы, чем решения при N = И, а иногда большую ширину, чем решения при N = 9.
Частота
Частота
Две интересные особенности фильтров нижних частот вида 1 лишь частично распространяются и на фильтры вида 2. К ним относятся процедуры масштабирования и существование чебышевского решения задачи проектирования оптимальных фильтров. Фильтры вида 2 с дополнительной пульсацией, как и фильтры вида 1, также можно непосредственно масштабировать в окрестности точки / = 0, однако вблизи точки / = 0,5 просто масштабировать невозможно, поскольку в этой точке частотная характеристика фильтров вида 2 обращается в нуль. Из фиг. 3.66, где изображены амплитудные характеристики пяти фильтров с параметрами, взятыми из фиг. 3.63, следует, что действительно существуют оба типа масштабированных фильтров вида 2 с дополнительной пульсацией. На фиг. 3.66, а приведена амплитудная характеристика масштабированного фильтра с дополнительной пульсацией, для которой ошибка аппроксимации в точке / = 0 близка к 0,02, в то время как на всех других максимумах она равна 0,1. На фиг. 3.66, б изображена амплитудная характеристика фильтра
Фиг. 3.66. Возможные варианты оптимальных фильтров нижних частот с четным числом отсчетов в импульсной характеристике.
с дополнительной пульсацией, из которой была получена амплитудная характеристика, представленная на фиг. 3.66,а. На фиг. 3.66, в приведена амплитудная характеристика оптимального фильтра, у которой ошибка аппроксимации в последнем экстремуме намного меньше, чем в других экстремумах. Процедура масштабирования для получения амплитудной характеристики такого типа пока не разработана. На фиг. 3.66, г приведена амплитудная характеристика фильтра, у которой кривая ошибки аппроксимации имеет тройной нуль в точке/==0,5 из-за отмеченного выше необъяснимого хода характеристики. На фиг. 3.66,5 представлена амплитудная характеристика фильтра для большего значения Fpi чем у фильтра на фиг. 3.66,г. Эта характеристика имеет равновеликие пульсации, а ее кривая ошибки содержит (Лг/2 + 1) максимумов.
Характеристики оптимальных дифференциаторов
Требуемая частотная характеристика оптимального КИХ- дифференциатора имеет вид
1^,0^<о^2л^р.
7>(^)- " А(3.149)
|2л(1-7^(0^2л,
где частота среза дифференциатора Fp представляет собой наибольшую частоту, на которой он еще должен работать. Поскольку характеристика D (е’а) является чисто мнимой, для ее аппроксимации используются фильтры вида 3 или 4. Для минимизации максимума относительной ошибки результирующей частотной характеристики используется весовая функция вида
ИДе^)--^-, 0 < ы^ 2л Fp.(3.150)
При использовании фильтров вида 4 частота среза дифференциатора Fp может достигать 0,5, тогда как для фильтров вида 3 величина Fp должна быть меньше, так как иначе максимум относительной ошибки будет близок к 1,0 из-за того, что при / = 0,5 амплитудная характеристика обращается в нуль.
На фиг. 3.67—3.70 приведены характеристики нескольких широкополосных дифференциаторов. На фиг. 3.67 изображены амплитудная характеристика, а также кривые абсолютной и относительной ошибок дифференциатора с N = 16 и Fp = 0,5. Максимум относительной ошибки равен 0,0136, а сама кривая имеет равновеликие пульсации. Аналогичные кривые для анализатора с А = 32 приведены на фиг. 3.68. В этом случае максимум относительной ошибки уменьшен до 0,0062. На фиг. 3.69 изображена амплитудная характеристика дифференциатора с А = 31. По-
Фиг. 3.67. Частотные характеристики 16-точечного оптимального дифференциатора.
скольку она должна обращаться в нуль в точке / = 0,5, кривая ошибки достигает в этой точке максимума, равного 1,0, т. е. этот дифференциатор оказывается чрезвычайно низкочастотным. Как видно из фиг. 3.70, а, при уменьшении частоты среза, например до Fp = 0,4, результирующая частотная характеристика дифференциатора с N = 31 становится вполне приемлемой. На фиг. 3.70, б та же амплитудная характеристика изображена в пределах от / = 0 до / = 0,4, т. е. до частоты среза, а на фиг. 3.70, в представлена функция ошибки в том же частотном диапазоне. Максимум относительной ошибки на интервале 0 ^ / ^ 0,4 составляет приблизительно 0,000028.
Основными параметрами дифференциатора являются N, Fp и 6 — максимум относительной ошибки. На фиг. 3.71—3.73 приведены результаты большого числа измерений 6 как функции
Фиг. 3.68. Частотные характеристики 32-точечного оптимального дифференциатора.
Ер и N. На фиг. 3.71 представлены графики зависимости величины 20 1g 6 от N при значениях Fp, равных 0,5, 0,45 и 0,4, и четных и нечетных N в диапазоне от 3 до 128. Кривая для нечетных N и Fp — 0,5 на фиг. 3.71 не изображена, так как в этом случае 6 = 1,0 независимо от величины IV. Из фиг. 3.71 следует, что при одинаковых Fp величины 6 дифференциаторов с четными N на один-два порядка (т. е. на 20—40 дБ) меньше, чем у дифференциаторов с нечетными N. Из приведенных графиков также видно, что при более узкой ширине полосы дифференциатора (т. е. при меньшей величине Гр) максимум относительной ошибки быстрее убывает при увеличении N. Так, при Fp = 0,5 величина 20 1g 6 уменьшается только на 35 дБ при изменении IV от 4 до 128, тогда как при Fp = 0,45 она уменьшается приблизительно на 98 дБ при изменении N от 4 до 52.
Фиг. 3.69. Частотная характеристика 31-точечного оптимального дифференциатора.
Фиг. 3.70. Частотная характеристика 31-точечного оптимального дифференциатора.
7II I I I I IIIIII—I—
0 10 20 30 40 50 60 70 80 90 100 110 120130
N 6 отсчетах
Фиг. 3.71. Относительная ошибка аппроксимации для оптимальных диффе-ренциаторов в зависимости от N.
Фиг. 3.72. Относительная ошибка аппроксимации для оптимальных дифференциаторов в зависимости от Fp.
Частота среза полосы пропускания (Fp)
Фиг. 3.73. Относительная ошибка аппроксимации для оптимальных дифференциаторов в зависимости от Fp.
На фиг. 3.72 и 3.73 приведены графики зависимости ошибки 20 1g 6 от Fp для четных N (N = 4, 8, 16, 32, 64) и нечетных N (N = 5, 9, 17, 33, 65). Результаты для четных и нечетных N пред- отавлены отдельно из-за различного характера зависимостей. Из фиг. 3.73 видно, что по мере приближения Fp к 0,5 величина 20 1g 6 стремится к нулю независимо от N, т. е. при нечетных N все кривые в точке Fp = 0,5 сходятся. При четных N кривые при всех значениях Fp идут раздельно. Главный вывод, который можно сделать по этим кривым, состоит в том, что чем больше N, тем быстрее спадает максимум относительной ошибки с уменьшением ширины полосы дифференциатора.
Таким образом, чтобы рассчитать наиболее эффективный КИХ- дифференциатор (т. е. получить заданную величину максимума относительной ошибки при наименьшем возможном N), следует выбирать его полосу как можно меньшей ширины и, если возможно, четное N. Например, чтобы получить максимум относительной ошибки меньше 1%, нужно использовать следующие значения N (в зависимости от Fpy. .
FP
Нечетные N
Четные N
0,5
Невозможно
22
0,45
27
10
0,40
15
6
Если же требуется, чтобы максимум относительной ошибки был 0,1%, следует использовать другие значения N:
FP
Нечетные N
Четные N
0,5
Невозможно
> 128
0,45
41
18
0,40
21
12
Приведенные таблицы показывают, насколько существенно можно уменьшать N за счет изменения Fp и выбора четного N вместо нечетного.
Характеристики оптимальныхпреобразователей Гильберта
КИХ-(3.151)КИХ-(3.151)Идеальная частотная характеристика оптимальных преобразователей Гильберта описывается выражением
КИХ-
(3.151)
КИХ-
(3.151)
f —7, 2tcFl ^(o^2nFH,
l 7, 2л(1-^н)^о)^2л(1-^ь),
где Fl — нижняя, a FH — верхняя частоты среза полосы, в которой фильтр аппроксимирует идеальную частотную характеристику преобразователя Гильберта. Как и при расчете дифференциаторов, для аппроксимации характеристики (3.151) используются фильтры вида 3 или 4. Для минимизации максимума ошибки характеристики фильтра используется весовая функция W (е^®) = 1. Для фильтров вида 3 величина FH должна быть меньше 0,5, тогда как для фильтров вида 4 величина FH может достигать 0,5. Однако величина FL всегда должна быть больше О, поскольку для фильтров обоих видов Н* (ejto) = 0 при w = 0.
Для фильтров вида 3 оказалось целесообразным выбирать FL = 0,5 — F н, поскольку в этом случае результирующая частотная характеристика оказывается симметричной относительно частоты о = л/2 (/ = 0,25), в результате чего каждый второй
отсчет импульсной характеристики преобразователя Гильберта в точности равен нулю. Это легко показать следующим образом. Если частотная характеристика симметрична относительно со = л/2, то
Н* (е^) = Н* [еЯ«-®>].(3.152)
Для фильтров вида 3 соотношение (3.152) принимает вид
^-1)/2(N-l)/2^
2 с (n) sin (юл) = 2 с (n) sin Кл — (о) м] = 71=171=1
(N-D/2 ~= 2 с —1)”+1 sin (®n),71=1
ИЛИ
(^-l)/2 ~
2 с (м) sin (ton) [1 — (— l)n+1] = О, 71=1
откуда следует, что
~(0, если п четное,
(3.153)(3.153)с (и) = j.
(3.153)
(3.153)
I произвольное, если п нечетное,
что и требовалось доказать. Выражение (3.153) означает, что при прямой форме построения преобразователя Гильберта вида 3 с одинаковыми верхней и нижней переходными полосами на каждый входной отсчет требуется только (N + 1)/4 умножений, тогда как при использовании фильтра вида 4 требуется N/2 умножений на отсчет (даже при одинаковых верхней и нижней переходных полосах). Это объясняется тем, что частотная характеристика фильтров вида 4 не может быть симметричной (характеристика равна нулю при о = 0 и отлична от нуля при о= л). Таким образом, можно считать, что с точки зрения объема вычислений преобразователи Гильберта вида 3 в два раза эффективнее преобразователей Гильберта вида 4. Остается показать, что это преимущество преобразователей вида 3 можно использовать для уменьшения максимума ошибки аппроксимации по сравнению с преобразователями вида 4. Этот подход к проектированию преобразователей будет обсуждаться в данном разделе позже.
На фиг. 3.74—3.77 приведены частотные характеристики нескольких КИХ-преобразователей Гильберта. На фиг. 3.74 изображены импульсная и амплитудная характеристики, а также функция ошибки аппроксимации преобразователя Гильберта с N = 31, Fl = 0,04 и FH = 0,46. Поскольку верхняя и нижняя переходные полосы имеют равную ширину, каждый второй коэффициент импульсной характеристики равен нулю. Максимум ошибки аппроксимации этого преобразователя равен 0,008094, а кривая ошибки имеет, как было показано ранее, равновеликие пульсации. На фиг. 3.75 представлены те же характеристики пре-
образователя Гильберта с N = 32, FL = 0,04 и FH = 0,46. Как уже было отмечено, даже при одинаковой ширине верхней и нижней переходных полос все коэффициенты импульсной характеристики отличны от нуля из-за отсутствия симметрии в частотной характеристике фильтров вида 4. Как видно из фиг. 3.75, б, амплитудная характеристика имеет в диапазоне 0,46 < / ^ 0,5 произвольный вид, поэтому ее значения здесь нельзя предсказать. Из фиг. 3.75, в видно, что кривая ошибки опять имеет равновеликие пульсации в полосе аппроксимации, но максимум ошибки аппроксимации в этом случае равен 0,007175.
N=32 Fl=0,04 Fh-0,46N=32 Fl=0,04 Fh-0,460,0071750,007175-°'00™0,04-°'00™0,04Функция ошибкиФункция ошибкиООввНормированная частотаНормированная частота0,460,46
N=32 Fl=0,04 Fh-0,46
N=32 Fl=0,04 Fh-0,46
0,007175
0,007175
-°'00™0,04
-°'00™0,04
Функция ошибки
Функция ошибки
О
О
в
в
Нормированная частота
Нормированная частота
0,46
0,46
Фиг. 3.75. Характеристики оптимального преобразователя Гильберта.
На фиг. 3.76 и 3.77 иллюстрируются случаи, когда верхняя и нижняя переходные полосы выбираются неодинаковыми. На фиг. 3.76 приведены характеристики трех преобразователей Гильберта с N = 15 и следующими частотами среза: a) FL = 0,02 и FH = 0,48; б) Fl = 0,1 и FH = 0,48; в) FL = 0,02 и FH = 0,40. Максимумы ошибок аппроксимации равны 0,266551, 0,260817 и 0,260737 соответственно. Таким образом, даже при изменении одной из частот среза в пять раз (т. е. от 0,02 до 0,10) максимум ошибки меняется всего на 2%. Более того, из фиг. 3.76, бив видно, что амплитудная характеристика имеет значительный нежелательный пик в широкой переходной полосе. Кроме того,
при неравных переходных полосах частотная характеристика не симметрична и все коэффициенты импульсной характеристики не равны нулю. Итак, незначительное уменьшение максимума ошибки за счет использования неравных переходных полос не компенсирует нежелательных эффектов в амплитудной и импульсной характеристиках. Более того, из приведенного и других аналогичных примеров видно, что в случае, когда импульсная характеристика содержит нечетное количество отсчетов, максимум ошибки аппроксимации определяется главным образом меньшей из двух переходных полос.
На фиг. 3.77 приведены аналогичные характеристики преобразователей Гильберта с неравными переходными полосами, но для четного N = 16. Верхняя и нижняя частоты среза этих преобразователей равны: a) FL = 0,02, FH = 0,48; б) FL = 0,02, FH = 0,40,
в) Fl = 0,02, FH = 0,50. Соответствующие им максимумы ошибки аппроксимации равны 0,247920, 0,232594 и 0,248561. В примере на фиг. 3.77, б (где верхняя переходная полоса в пять раз больше нижней) амплитудная характеристика опять имеет значительный пик в области верхней переходной полосы. Максимум ошибки аппроксимации для этого случая примерно на 6% меньше, чем при равных переходных полосах. Таким образом, незначительное уменьшение максимума ошибки не компенсирует появления нежелательного пика в частотной характеристике. С другой стороны, из фиг. 3.77, в следует, что если ширина верхней переходной полосы равна нулю, т. е. если FH = 0,5, то максимум ошибки почти не меняется. Из этих и других примеров видно, что максимум ошибки аппроксимации почти полностью определяется шириной нижней переходной полосы (из-за того, что характеристика равна нулю при о = 0). Таким образом, для минимизации пика
N=16
Фиг. 3.77. Характеристики оптимальных преобразователей Гильберта.
Фиг. 3.78. Зависимость ошибки аппроксимации от N для оптимальных преобразователей Гильберта.
Фиг. 3.79. Зависимость ошибки аппроксимации от AF для оптимальных преобразователей Гильберта.
в верхней переходной полосе ее ширину следует выбирать меньше ширины нижней переходной полосы (или равную ей).
Основными параметрами преобразователя Гильберта являются N, F L, FH и 6 — максимум ошибки аппроксимации (или пульса*- ция) фильтра. Если положить, что Fн = 0,5 — FL, т. е. что верхняя и нижняя переходные полосы равны, то можно задавать только три параметра: N, 6 и kF = FL = 0,5 — F н. На фиг.З. 78 и 3.79 приведены результаты большого числа измерений 6 как функции kF и N. На фиг. 3.78 представлены графики зависимости величины 20 1g 6 от N при kF = 0,01; 0,02; 0,05 и 0,1 для четных и нечетных N в диапазоне 3 ^ N ^ 128. В масштабе фиг. 3.78 кривые для четных и нечетных N при одной и той же ширине переходных полос практически неразличимы, поэтому они изображены одной кривой. Из этих кривых видно, что максимум ошибки уменьшается с увеличением N тем быстрее, чем шире переходная полоса преобразователя Гильберта. Так, при kF = 0,01 величина 20 1g 6 уменьшается приблизительно лишь на 42 дБ при изменении N от 3 до 128, тогда как при kF = 0,05 величина 20 1g 6 уменьшается приблизительно на 112 дБ при изменении N от 3 до 76.
Из фиг. 3.79, где приведены кривые зависимости величины 20 1g 6 от kF для четных и нечетных N, а именно для N = 3, 4, 7, 8, 15, 16, 31, 32, 63 и 64, видно, что, когда kF стремится к нулю 20 1g 6 стремится к 0 дБ, т. е. максимум ошибки аппроксимации стремится к 1 независимо от величины N. Кроме того, максимум ошибки уменьшается тем быстрее с увеличением ширины переходной полосы преобразователя Гильберта, чем больше величина N.
Таким образом, для того чтобы рассчитать наиболее эффективный КИХ-преобразователь Гильберта (т. е. получить заданную величину ошибки аппроксимации, используя наименьшее число умножений на отсчет), следует выбирать как можно более широкую переходную полосу и использовать импульсную характеристику, содержащую нечетное число коэффициентов. Например, чтобы получить максимум ошибки меньше 1% (6 0,01), нужно использовать следующие значения N (в функции kF):
ДР
Нечетные N
Число умножений на отсчет
Четные N
Число умножений на отсчет
0,01
119
30
118
59
0,02
59
15
60
30
0,05
27
7
24
12
0,10
И
3
12
6
Ниже приведены значения N, которые требуются для обеспечения максимума ошибки менее 0,1% (6^0,001):
^F
Нечетные N
Число умножений на отсчет
Четные N
Число умножений на отсчет
0,01
> 127
> 127
0,02
95
24
94
47
0,05
39
10
38
19
0,10
19
5
18
9
Приведенные таблицы указывают на существенное преимущество в реализации преобразователей Гильберта с нечетным N и симметричной частотной характеристикой.
Многополосные оптимальные КИХ-фильтры
Как уже было сказано, в приложении к данной главе приведена программа оптимального проектирования многополосных фильтров, в том числе полосовых и режекторных. На фиг. 3.80— 3.83 представлены амплитудные характеристики (в логарифмическом масштабе) трех типичных многополосных фильтров. На фиг. 3.80 изображена характеристика полосового фильтра (N = 32) со следующими граничными частотами: 0 и 0,1 для нижней полосы непропускания, 0,2 и 0,35 для полосы пропускания, 0,425 и 0,5 для верхней полосы непропускания. Весовая функция уменьшает ошибку в полосе непропускания в 10 раз по сравнению с ошибкой в полосе пропускания, так что максимум ошибки равен 0,00151 (56,4 дБ) в полосе непропускания и 0,0151 в полосе пропускания. На фиг. 3.81 изображена характеристика режектор- ного фильтра (N = 31) со следующими граничными частотами: 0 и 0,1 для нижней полосы пропускания, 0,15 и 0,36 для полосы непропускания, 0,41 и 0,50 для верхней полосы пропускания. Весовая функция уменьшает ошибку в полосе непропускания в 50 раз по сравнению с ошибкой в полосах пропускания. Максимум ошибки в полосе пропускания равен 0,144, тогда как в полосе непропускания он равен 0,00288 (50,8 дБ).
На фиг. 3.82 представлена частотная характеристика четырехполосного фильтра с одной полосой пропускания и тремя полосами непропускания со следующими граничными частотами: 0 и 0,01786 для полосы пропускания, 0,125 и 0,1607 для первой полосы непропускания, 0,2679 и 0,3036 для второй и 0,411 и 0,4464 для третьей полос непропускания. Максимум ошибки был ограничен величиной 0,0144 в полосе цропускания и величиной 0,000708 во всех трех полосах непропускания. Кроме того, было
Фиг. 3.80. Частотная характеристика оптимального (в минимаксном смысле) полосового фильтра.
Фиг. 3.81. Частотная характеристика оптимального (в минимаксном смысле) режекторного фильтра.
Амплитуда, дБ
Фиг. 3.82. Частотная характеристика оптимального многополосного фильтра.
Фиг. 3.83. Частотная характеристика оптимального полосового фильтра с произвольными весовыми коэффициентами в полосе непропускания.
поставлено условие, чтобы длина импульсной характеристики N равнялась 21, так как этот фильтр входил в состав цифрового устройства в качестве интерполятора. Фильтр с характеристикой, изображенной на фиг. 3.82, удовлетворяет всем перечисленным требованиям и был использован в системе телефонной связи.
Наконец, на фиг. 3.83 приведена частотная характеристика по», лосового фильтра, при расчете которого была использована нестандартная весовая функция
' 10
1 — 9/ ’
W ^^ = ■
1,
10
9/—1,25 ’
ю,
0</<0,1» 0,12^/^0,13, 0,15^/^0,25, 0,25^/^0,5.
На границах полос непропускания (/ = 0,1 и / = 0,15) весовой коэффициент равен 100, а ошибка аппроксимации составляет 0,005. При / = 0 и 0,25 весовой коэффициент уменьшается до 10, так что ошибка равна 0,05. При промежуточных значениях частоты максимум ошибки линейно возрастает.
Расчет фильтров при одновременном ограничениии во временной, и в частотной областях
До сих пор рассматривался расчет цифровых фильтров, аппроксимирующих лишь заданные частотные характеристики. Довольно часто приходится вводить ограничения одновременно и для временной, и для частотной характеристик фильтра. Например, при проектировании фильтров нижних частот может возникнуть необходимость ограничения выброса (или пульсаций) переходной характеристики фильтра при одновременном сохранении в разумных пределах его частотной характеристики. Задачу такого типа можно решить методами линейного программирования, поскольку переходная характеристика представляет собой линейную комбинацию коэффициентов импульсной характеристики.
В качестве примера рассмотрим расчет фильтра нижних частот вида 1, удовлетворяющего следующим требованиям:
полоса пропускания: 1 — 61 ^ Н* (^®) ^ 1 + dt,(3.154)
полоса непропускания; — 6г<Я*(^®Х62,(3.155)
переходная характеристика: —68^g (и) ^68, O^w^TVp (3.156) Здесь величина Nt определяет область, в которой переходная характеристика, определяемая выражением
g^ = 3 ^И-(3.157)
т=0
колеблется около нуля. Ясно, что g (п) равна линейной комбинации коэффициентов импульсной характеристики фильтра, поэтому система ограничений (3.154)—(3.156) может быть решена методами линейного Программирования. Например, можно зафиксировать какие-либо один или два параметра из трех (6Х, 62, 63) и минимизировать оставшиеся (или оставшийся) либо принять, что 6t = 0^6, 62 = а26 и 63 = а36, где ах, а2 и а3 — константы,
Фиг. 3.84. Переходная и частотная характеристики оптимального фильтра нижних частот без ограничений во временной области.
Фиг. 3.85. Переходная и частотная характеристики оптимального фильтра нижних частот с ограничениями во временнбй области.
и минимизировать одновременно все три параметра, отыскивая минимум 6.
Фиг. 3.84 и 3.85 иллюстрируют применение этого метода. На фиг. 3.84 приведены переходная и частотная (в логарифмическом масштабе) характеристики фильтра нижних частот вида 1 (N = 25), для которого было принято 6^= 25д2, а величина 68 минимизировалась. Параметр д3 был взят равным 1, т. е. выброс
переходной характеристики никак не ограничивался. Рассчитанный фильтр имел следующие параметры: 63 = 0,12, 6Г = 0,06 и 62 = 0,00237. На фиг. 3.85 приведены переходная и частотная (в логарифмическом масштабе) характеристики еще одного фильтра, у которого минимизировалась величина 62 при 63 = 0,03 и 6г = 2562. (Максимум пульсаций переходной характеристики задан здесь только для 10 первых отсчетов, т. е. там, где характеристика колеблется около нуля.) Параметры этого фильтра оказались равными 6г = 0,145, 62 = 0,00582 и 63 = 0,03. Из фиг. 3.85 видно, что требования к пульсациям переходной характеристики удовлетворены за счет того, что пульсации частотной характеристики перестали быть равновеликими. Используя методы линейного программирования, можно найти компромиссное решение, удовлетворяющее требованиям и к временной, и к частотной характеристикам, и рассчитать фильтр, наилучшим образом подходящий для конкретных условий.
Непосредственное сравнение различных КИХ-фильтров нижних частот
В данной главе были рассмотрены три класса методов расчета цифровых КИХ-фильтров: взвешивания, частотной выборки и оптимальным. Несмотря на существование большого числа спосо-
Фиг. 3.86. Сравнение фильтров нижних частот, рассчитанных методами взвешивания, частотной выборки и оптимальным (по критерию минимаксной ошибки).
бов сравнения получаемых фильтров, возможно, самый объективный (и самый полезный) состоит в сравнении значений ширины переходных полос фильтров нижних частот, необходимых для удовлетворения заданных требований к пульсациям в полосе пропускания 6j и в полосе непропускания 62. При таком сравнении лучшими будут оптимальные фильтры, поскольку из всех КИХ- фильтров с линейной фазой при одинаковых заданных параметрах именно они обладают минимальной переходной полосой. Полезно, однако, знать, насколько хуже фильтры, рассчитанные другими методами.
На фиг. 3.86 сравниваются фильтры с окнами Кайзера, с частотной выборкой и с дополнительной пульсацией. Для сравнения используется величина D = ^N — 1) ^F, изображенная в функции 62 с величиной 6j в качестве параметра, поскольку, как было показано выше, она практически не зависит от N (при больших V) и от &F и, таким образом, удобна для сравнения. Как и ожида- ось, из фиг. 3.86 следует, что фильтры с дополнительной пульсацией обеспечивают наименьшую ширину переходной полосы (D) при фиксированных значениях ^ и 62.
ЛИТЕРАТУРА
Весовые функции
Kaiser J. F., Design Methods for Sampled Data Filters, Proc. First Allerton Conf, on Circuit and, System Theory, 221—236 (Nov. 1963).
Kaiser J. F., Digital Filters, Ch. 7 in: System Analysis by Digital Computer, Kuo F. F., Kaiser J. F., eds., Wiley, N. Y., 1966; есть русский перевод гл. 7 Д. Кайзера «Цифровые фильтры» в книге: Голд Б., Рэйдер Ч., Цифровая обработка сигналов, изд-во «Советское радио», 1973.
Blackman R. В., Tukey J. W., The Measurement of Power Spectra, Dover Publications, N.Y., 1958.
Heyliger G. E., The Scanning Function Approach to the Design of Numerical Filters, Report R-63-2, Martin Co., Denver, Colo., April 1963.
Heyliger G. E., Design of Numerical Filters: Scanning Functions and Equal Ripple Approximation, Proc. Fourth Allerton Conf, on Circuit and, System Theory, 175—185 (1966).
Heyliger G. E., Halijak C. A., Topics in the Design of Moving Average Numerical Filters, Proc. Second Asilomar Conf, on Circuits and Systems, 214—220 (1968).
Helms H. D., Nonrecursive Digital Filters: Design Methods for Achieving Specifications on Frequency Response, IEEE Trans. Audio and Electroacoustics, 16, No. 3, 336—342 (Sept. 1968).
Фильтры с частотной выборкой
Gold В., Rader С. M., Digital Processing of Signals, McGraw-Hill, N. Y., 1969; есть русский перевод: Голд Б., Рэйдер Ч., Цифровая обработка сигналов, изд-во «Советское радио», 1973.
Gold В., Jordan К., A Note on Digital Filter Synthesis, Proc. IEEE, 56, No. 10, 1717—1718 (Oct. 1968); есть русский перевод: Гоулд, Джордан мл., О синтезе цифровых фильтров, ТИИЭР, 56, № 10 (1968).
Gold В., Jordan К., A Direct Search Procedure for Designing Finite Duration Impulse Response Filters, IEEE Trans, on Audio and Electroacoustics, 17, No. 1, 33—36 (March 1969).
Rabiner L. R., Gold B., McGonegal G. A., An Approach to the Approximation Problem for Nonrecursive Digital Filters, IEEE Trans, on Audio and Electroacoustics, 18, No. 2, 83—106 (June 1970).
Rabiner L. R., Steiglitz K., The Design of Wide-Band Recursive and Nonrecursive Digital Differentiators, IEEE Trans, on Audio and Electroacoustisc, 18, No. 2, 204—209 (June 1970).
Rabiner L. R., Schafer R. W., Recursive and Nonrecursive Realizations of Digital Filters Designed by Frequency Sampling Techniques, IEEE Trans, on Audio and Electroacoustics, 19, No. 3,200—207 (Sept. 1971).
Rabiner L. R., Schafer R. W., Correction to Recursive and Nonrecursive - Realizations of Digital Filters Designed by Frequency Sampling Techniques, IEEE Trans, on Audio and Electroacoustics, AU-20, No. 1, 104—105 (March 1972).
Оптимальные фильтры
Rabiner L. R., Techniques for Designing Finite-Duration Impulse Response Digital Filters, IEEE Trans. on^Communication Technology, 19, No. 2, 188—195 (1971).
Herrmann O., Design of Nonrecursive Digital Filters with Linear Phase, Electronics Letters, 6, No. 11, 328—329 (1970).
Herrmann O., Schuessler H. W., Design of Nonrecursive Digital Filters with Minimum Phase, Electronics Letters, 6, No. 11, 329—330 (1970).
Helms H. D., Digital Filters‘with Equiripple or Minimax Responses, IEEE Trans, on Audio and Electroacoustics, 19, No. 1, 87—94 (1971).
Hofstetter E., Oppenheim A., Siegel J., A New Technique for the Design of Nonrecursive Digital Filters, Proc. Fifth Annual Princeton Conf, on Information Sciences and Systems, 64—72 (1971).
Hofstetter E., Oppenheim A., Siegel J., On Optimum Nonrecursive Digital Filters, Proc. Ninth Allerton Conf, on Circuit and System Theory, 789— 798 (Oct. 1971).
Parks T. W., McClellan J. H., Chebyshev Approximation for Nonrecursive Digital Filters with Linear Phase, IEEE Trans. Circuit Theory, CT-19, 189—194 (March 1972).
Rabiner L. R., The Design of Finite Impulse Response Digital Filters Using Linear Programming Techniques, Bell Syst. Tech. J., 51, No. 6, 1177—1198 (July — Aug. 1972).
Rabiner L. R., Linear Program Design of Finite Impulse Response (FIR) Digital Filters, IEEE Trans, on Audio and Electroacoustics, AU-20, No. 4, 280—288 (Oct. 1972).
Parks T. W., McClellan J. H., A Program for the Design of Linear Phase Finite Impulse Response Digital! Filters, IEEE Trans, on Audio and . Electroacoustics, AU-20, No. 3, 195—199 (Aug. 1972).
Parks T. W., Rabiner L. R., McClellan J. H., On the Transition Width of Finite Impulse Response Digital Filters, IEEE Trans, on Audio and Electroacoustics, AU-21, No. 1, 1—4 (Feb. 1973).
Rabiner L. R., Herrmann O., The Predictability of Certain Optimum Finite Impulse Response Digital Filterss, IEEE Trans, on Circuit Theory, CT-20, No. 4, 401—408 (July 1973).
Herrmann O., Rabiner L. R., Chan D. S. K., Practical Design Rules for Optimum Finite Impulse Response Lowpass Digital Filters, Bell Syst. Tech. J., 52, No. 6, 769—799 (July — Aug. 1973).
Rabiner L. R., Hermann O., On the Design Optimum FIR Low-Pass Filters with Even Impulse Response Duration, IEEE Trans, on Audio and Electroacoustics, AU-21, No. 4, 329—336 (Aug. 1973).
Rabiner L. R., Approximate Design Relationships for Low-Pass FIR Digital Filters, IEEE Trans, on Audio and Electroacoustics, AU-21, No. 5, 456—460 (Oct. 1973).,
Rabiner L. R., Schafer R. W., On the Behavior of Minimax Relative Error FIR Digital Differentiators, Bell Syst. Tech,. J., 53, No. 2, 333—361 (Feb. 1974).
Rabiner L. R., Schafer R. W., On the Behavior of Minimax FIR Digital Hilbert Transformers, Bell Syst. Tech. J., 53, 2, 363—390 (Feb. 1974).
McClellan J. H., Parks T. W., Rabiner L. R., A Computer Program for Designing Optimum FIR Linear Phase Digital Filters, IEEE Trans, on Audio and Electroacoustics, AU-21, No. 6, 506—526 (Dec. 1973).
Линейное программирование
Dantzig G., Linear Programming and Extensions, Princeton Univ. Press, Princeton, N.J., 1963.
Hadley G., Linear Programming, Addison-Wesley Publ. Co., Reading, Mass., 1963.
Hu T. C., Integer Programming and Newtork Flows, Addison-Wesley Publ. Co., Reading, Mass., 1969.
Spivey W. A., Thrall R. M., Linear Optimization, Holt, Rinehart and Winston, Inc., N.Y., 1970.
Gass S. I., Linear Programming, McGraw-Hill, N.Y., 1969.
Simonnard M., Linear Programming, Prentice-Hall, Englewood Cliffs, N.J., 1966.•
Методы оптимизации
Cheney E. W., Introduction to Approximation Theory, McGraw-Hill, N. Y., 1966.
Rice J. R., The Approximation of Functions, Addison-Wesley Publ. Co., Reading, Mass., 1964.
Aoki M., Introduction to Optimization Techniques, The Macmillan Co., N. Y., 1971.
Meinardus G., Approximation of Functions: Theory and Numerical Methods, Springer-Verlag, N. Y., 1967.
Ремез E. Я., Общие вычислительные методы чебышевского приближения. Задачи с линейно входящими вещественными параметрами, Изд-во АН УССР, Киев, 1957.
Приложение
В приложении приведена написанная на ФОРТРАНе программа расчета разнообразных оптимальных (минимаксных) КИХ- фильтров, в том числе фильтров нижних и верхних частот, полосовых, режекторных, а также дифференциаторов и преобразователей Гильберта.
Для иллюстрации применения этой программы даны четыре примера. Текст программы приводится сразу за примерами. '
Пример 1. Рассчитать 24-точечный фильтр нижних частот с частотой среза полосы пропускания 0,08, частотой среза полосы непропускания 0,16 и отношением максимумов пульсаций 1,0.
Входные параметры в этом примере равны: N = 24, Fp = 0,08, Fз = 0,16 и К = 61/62 = 1. Следовательно, перфокарты с заданными характеристиками имеют вид
**♦*♦******♦*♦***♦******♦*♦**♦♦♦♦**♦♦♦***********♦♦♦♦****♦*♦*♦*♦**♦*•*
FINITE IMPULSE RESPONSE (FIR) LINEAR PHASE DIGITAL FILTER DESIGN REMEZ EXCHANGE ALGORITHM BANDPASS FILTER
LOWER BAND EDGE UPPER BAND EDGE DESIRED VALUE WEIGHTING DEVIATION DEVIATION IN DBLOWER BAND EDGE UPPER BAND EDGE DESIRED VALUE WEIGHTING DEVIATION DEVIATION IN DBН(1) =0.33740917Е-02 =Н(24)Н(2) =0.14938299Е-01 =Н(23)Н(3) =0.10569360Е-01 =Н(22)Н(4) =0.25415067Е-02 =Н(21)Н(5) =-0.15929992Е-01 =Н(20)Н(6) =-0.34085343Е-01 =Н(19)Н(7) =-0.38112177Е-01 =Н(18)Н(8) =-0.14629169Е-01 =Н(17)Н(9) =0.40089541Е-01 =Н(16)Н(10) =0.11540713Е 00 =.Н(15)Н(11) =0.18850752Е 00 =Н(14)Н(12) =0.23354606Е 00 =Н(13)Н(1) =0.33740917Е-02 =Н(24)Н(2) =0.14938299Е-01 =Н(23)Н(3) =0.10569360Е-01 =Н(22)Н(4) =0.25415067Е-02 =Н(21)Н(5) =-0.15929992Е-01 =Н(20)Н(6) =-0.34085343Е-01 =Н(19)Н(7) =-0.38112177Е-01 =Н(18)Н(8) =-0.14629169Е-01 =Н(17)Н(9) =0.40089541Е-01 =Н(16)Н(10) =0.11540713Е 00 =.Н(15)Н(11) =0.18850752Е 00 =Н(14)Н(12) =0.23354606Е 00 =Н(13)BANDBANDFILTER LENGTH ♦ ♦♦♦♦ IMPULSEFILTER LENGTH ♦ ♦♦♦♦ IMPULSE=24RESPONSE *****=24RESPONSE *****110.0.080000001.000000001.000000000.01243364-38.108034130.0.080000001.000000001.000000000.01243364-38.10803413BAND 2 0.16000000 0.50000000 0.1.00000000 0.01243364 -38.10803413BAND 2 0.16000000 0.50000000 0.1.00000000 0.01243364 -38.10803413BANDBANDEXTREMAL FREQUENCIESEXTREMAL FREQUENCIES0.0.17302080.37875000.0.17302080.37875000.03645830.20687500.42562510.03645830.20687500.42562510.06770830.24593750.47510430.06770830.24593750.47510430.08000000.28760420.08000000.28760420.1600000 0.33187500.1600000 0.3318750
LOWER BAND EDGE UPPER BAND EDGE DESIRED VALUE WEIGHTING DEVIATION DEVIATION IN DB
LOWER BAND EDGE UPPER BAND EDGE DESIRED VALUE WEIGHTING DEVIATION DEVIATION IN DB
Н(
1) =
0.33740917Е-02 =
Н(
24)
Н(
2) =
0.14938299Е-01 =
Н(
23)
Н(
3) =
0.10569360Е-01 =
Н(
22)
Н(
4) =
0.25415067Е-02 =
Н(
21)
Н(
5) =
-0.15929992Е-01 =
Н(
20)
Н(
6) =
-0.34085343Е-01 =
Н(
19)
Н(
7) =
-0.38112177Е-01 =
Н(
18)
Н(
8) =
-0.14629169Е-01 =
Н(
17)
Н(
9) =
0.40089541Е-01 =
Н(
16)
Н(
10) =
0.11540713Е 00 =.
Н(
15)
Н(
11) =
0.18850752Е 00 =
Н(
14)
Н(
12) =
0.23354606Е 00 =
Н(
13)
Н(
1) =
0.33740917Е-02 =
Н(
24)
Н(
2) =
0.14938299Е-01 =
Н(
23)
Н(
3) =
0.10569360Е-01 =
Н(
22)
Н(
4) =
0.25415067Е-02 =
Н(
21)
Н(
5) =
-0.15929992Е-01 =
Н(
20)
Н(
6) =
-0.34085343Е-01 =
Н(
19)
Н(
7) =
-0.38112177Е-01 =
Н(
18)
Н(
8) =
-0.14629169Е-01 =
Н(
17)
Н(
9) =
0.40089541Е-01 =
Н(
16)
Н(
10) =
0.11540713Е 00 =.
Н(
15)
Н(
11) =
0.18850752Е 00 =
Н(
14)
Н(
12) =
0.23354606Е 00 =
Н(
13)
BAND
BAND
FILTER LENGTH ♦ ♦♦♦♦ IMPULSE
FILTER LENGTH ♦ ♦♦♦♦ IMPULSE
=24
RESPONSE *****
=24
RESPONSE *****
1
1
0.
0.08000000
1.00000000
1.00000000
0.01243364
-38.10803413
0.
0.08000000
1.00000000
1.00000000
0.01243364
-38.10803413
BAND 2 0.16000000 0.50000000 0.
1.00000000 0.01243364 -38.10803413
BAND 2 0.16000000 0.50000000 0.
1.00000000 0.01243364 -38.10803413
BAND
BAND
EXTREMAL FREQUENCIES
EXTREMAL FREQUENCIES
0.
0.1730208
0.3787500
0.
0.1730208
0.3787500
0.0364583
0.2068750
0.4256251
0.0364583
0.2068750
0.4256251
0.0677083
0.2459375
0.4751043
0.0677083
0.2459375
0.4751043
0.0800000
0.2876042
0.0800000
0.2876042
0.1600000 0.3318750
0.1600000 0.3318750
*♦*♦**♦♦****♦****♦♦**♦*♦♦*♦***♦♦**♦*********♦***♦♦♦♦♦♦**♦♦♦♦**♦•♦♦**♦*
TIME3TIME30.7651562 SECONDS0.7651562 SECONDS
TIME3
TIME3
0.7651562 SECONDS
0.7651562 SECONDS
Фиг. A.3.1. Распечатка результатов расчета 24-точечного оптимальногофильтра нижних частот.
Карта 1. 24, 1, 2, 0, 16
Карта 2. 0, 0.08, 0.16, 0.5
Карта 3.1, 0
Карта 4. 1, 1
В карте 1 заданы (по порядку) N, вид фильтра, число полос, признак перфорации и сетка для интерполяции; в карте 2 заданы границы каждой полосы; карта 3 содержит заданные значения характеристики в каждой полосе; карта 4 определяет заданные веса для пульсаций в каждой полосе. На фиг. А.3.1 приведена распечатка результатов расчета (включая время счета на ЦВМ Honeywell 6000), а на фиг. А.3.2 изображена частотная характеристика рассчитанного фильтра нижних частот. Из распечатки на фиг. А.3.1 видно, что полученные значения пиков пульсаций равны 6t = 62 = = 0,0015 (- 56,4 дБ).
Фиг. А.3.2. Частотная характеристика оптимального фильтра нижних частот(в линейном и логарифмическом масштабах) с параметрами, заданными нафиг. А.3.1.
Пример 2. Рассчитать 32-точечный полосовой фильтр с частотами среза полосы непропускания 0,1 и 0,425, частотами среза полосы пропускания 0,2 и 0,35 ивесовыми коэффициентами пульсаций, равными 10 и 1 в полосах непропускания и пропускания соответственно.
В этом случае перфокарты с заданными характеристиками имеют вид
Карта 1. 32, 1, 3, 0, 16
Карта 2. 0, 0.1, 0.2, 0.35, 0.425, 0.5
Карта 3. 0, 1, 0
Карта 4. 10, 1, 10
На фиг. А.3.3 приведена распечатка результатов расчета этого фильтра; частотная характеристика рассчитанного фильтра показана^на фиг. 3.80.
FINITE IMPULSE RESPONSE (FIR) LINEAR PHASE DIGITAL FILTER DESIGN REMEZ EXCHANGE ALGORITHM BANDPASS FILTER
BAND 1BAND 2BAND 3lower band edge0.0.200000000.42500000UPPER BAND EDGE0. 100000000.350000000.50000000desired VALUE0.1.000000000.WEIGHTING10.000000001.0000000010.00000000DEVIATION0.001513120.015131180.00151312DEVIATION IN DB-56.40254641-36.40254641-56.40254641BAND 1BAND 2BAND 3lower band edge0.0.200000000.42500000UPPER BAND EDGE0. 100000000.350000000.50000000desired VALUE0.1.000000000.WEIGHTING10.000000001.0000000010.00000000DEVIATION0.001513120.015131180.00151312DEVIATION IN DB-56.40254641-36.40254641-56.40254641BANDBAND
BAND 1
BAND 2
BAND 3
lower band edge
0.
0.20000000
0.42500000
UPPER BAND EDGE
0. 10000000
0.35000000
0.50000000
desired VALUE
0.
1.00000000
0.
WEIGHTING
10.00000000
1.00000000
10.00000000
DEVIATION
0.00151312
0.01513118
0.00151312
DEVIATION IN DB
-56.40254641
-36.40254641
-56.40254641
BAND 1
BAND 2
BAND 3
lower band edge
0.
0.20000000
0.42500000
UPPER BAND EDGE
0. 10000000
0.35000000
0.50000000
desired VALUE
0.
1.00000000
0.
WEIGHTING
10.00000000
1.00000000
10.00000000
DEVIATION
0.00151312
0.01513118
0.00151312
DEVIATION IN DB
-56.40254641
-36.40254641
-56.40254641
BAND
BAND
FILTER LENGTH
= 32
***** IMPULSE
Н( 1) =
RESPONSE ***** -0.57534121Е-02 = Н( 32)
Н( 2) =
0.99027198Е-03 = Н( 31)
Н( 3) =
0.75733545Е-02 = Н( 30)
Н( 4) =
-0.65141192Е-02 = Н( 29)
Н( 5) =
0.13960525Е-01 = Н( 28)
Н( 6) =
0.22951469Е-02 = Н( 27)
Н( 7) =
-0.19994067Е-01 = Н( 26)
Н( 8) =
0.71369560Е-02 = Н( 25)
Н ( 9) =
-0.39657363Е-01 = Н( 24)
Н( 10) =
0.11260114Е-01 = Н( 23)
Н( 11) =
0.66233643Е-01'= Н(22)
Н( 12) =
-0.10497223Е-01 = Н( 21)
Н( 13) =
0.85136133Е-01 = Н( 20)
Н( 14) =
-0. 12024Г993Е 00 = Н (19)
Н( 15) =
-0.29678577Е 00 = Н( 18)
Н( 16) =
0.30410917Е 00 = Н( 17)
0.0527344
0.0761719
0.0937500
0.2195312
0.2527344
0.2839844
0.3500000
0.4250000
0.4328125
EXTREMAL FREQUENCIES °-0.0273437
0.10000000.2000000
0.31328120.3386719
0.45039060.4796875
**********************************************************************
TIME= 0.8065938 SECONDS
Фиг. A.3.3. Распечатка результатов расчета 32-точечного оптимального полосового фильтра.
Пример 3. Рассчитать 32-точечный дифференциатор с частотой среза 0,5.
Перфокарты с заданными характеристиками в этом случае имеют вид
Карта 1. 32, 2, 1, 0, 16
Карта 2. 0, 0.5
Карта 3. 1
Карта 4. 1
На фиг. А. 3.4 приведена распечатка результатов расчета на
*****♦♦***♦***♦♦♦♦******♦♦*♦♦***♦♦***♦*****♦♦♦♦***♦♦♦♦♦♦♦♦*♦♦♦*♦♦♦♦***
FINITE IMPULSE RESPONSE (FIR) LINEAR PHASE DIGITAL FILTER DESIGN
REMEZ EXCHANGE ALGORITHM DIFFERENTIATOR
FILTER LENGTH =32
***** IMPULSE RESPONSE *****
Н(
1)
= -0.62713091Е-03 =
-Н(
32)
Н(
2)
= 0.85633433Е-03 =
-Н (
31)
Н(
3)
= -0.42418549Е-03 =
-Н(
30)
Н(
4)
= 0.399а1518Е-03 =
-Н(
29)
Н(
5)
= -0.43437273Е-03 =
-Н (
28)
Н(
6)
=0.49969450Е-03 =
-Н(
27)
Н(
7)
= -0.59634961Е-03 =
-Н(
26)
Н(
8)
=0.73277031Е-03 =
-Н(
25)
Н(
9)
= -0.93002681Е-03 =
-Н(
24)
Н(
Ю)
= 0.12270042Е-02 =
-Н(
23)
Н(
11)
= -0.17012820Е-02 =
-Н (
22)
Н(
12)
= 0.25272341Е-02 =
-Н(
21)
Н(
13)
= -0.41601159Е-02 -
-Н(
20)
Н(
14)
= 0.81294555Е-02 =
-Н(
19)
Н(
15)
= -0.22539097Е-01 =
-н (
18)
Н(
16)
= 0.20266535Е 00 =
-Н (
17)
BAND 1BAND
LOWER BAND EDGE UPPER BAND EDGE DESIRED SLOPE WEIGHTING DEVIATIONLOWER BAND EDGE UPPER BAND EDGE DESIRED SLOPE WEIGHTING DEVIATION0. 0.50000000 1.00000000 1.00000000 0.00620231
LOWER BAND EDGE UPPER BAND EDGE DESIRED SLOPE WEIGHTING DEVIATION
LOWER BAND EDGE UPPER BAND EDGE DESIRED SLOPE WEIGHTING DEVIATION
EXTREMAL FREQUENCIES 0.00195310.03320310.16406250.19726560.33007810.36328120.48632810.5000000EXTREMAL FREQUENCIES 0.00195310.03320310.16406250.19726560.33007810.36328120.48632810.50000000.0664062 0.2304687 0.39453120.0664062 0.2304687 0.39453120.09960940.26367190.42773440.09960940.26367190.42773440.13281250.29687500.45898440.13281250.29687500.4589844
EXTREMAL FREQUENCIES 0.00195310.0332031
0.16406250.1972656
0.33007810.3632812
0.48632810.5000000
EXTREMAL FREQUENCIES 0.00195310.0332031
0.16406250.1972656
0.33007810.3632812
0.48632810.5000000
0.0664062 0.2304687 0.3945312
0.0664062 0.2304687 0.3945312
0.0996094
0.2636719
0.4277344
0.0996094
0.2636719
0.4277344
0.1328125
0.2968750
0.4589844
0.1328125
0.2968750
0.4589844
**********************************************************************
TIME=TIME=1.0845625 SECONDS1.0845625 SECONDS
TIME=
TIME=
1.0845625 SECONDS
1.0845625 SECONDS
Фиг. A.3.4. Распечатка результатов расчета 32-точечного оптимального диф-ференциатора.
ЦВМ этого дифференциатора, а его частотная характеристика показана на фиг. 3.68.
Пример 4. Рассчитать 20-точечный преобразователь Гильберта с граничными частотами 0,05 и 0,5.
Входные перфокарты в этом примере имеют вид
Карта1.20,3, 1, 0, 16
Карта2.0.05, 0.5
Карта3.1
Карта4.1
******************************************************************
FINITE IMPULSE RESPONSE (FIR) LINEAR PHASE DIGITAL FILTER DESIGN REMEZ EXCHANGE ALGORITHM HILBERT TRANSFORMERFINITE IMPULSE RESPONSE (FIR) LINEAR PHASE DIGITAL FILTER DESIGN REMEZ EXCHANGE ALGORITHM HILBERT TRANSFORMER
FINITE IMPULSE RESPONSE (FIR) LINEAR PHASE DIGITAL FILTER DESIGN REMEZ EXCHANGE ALGORITHM HILBERT TRANSFORMER
FINITE IMPULSE RESPONSE (FIR) LINEAR PHASE DIGITAL FILTER DESIGN REMEZ EXCHANGE ALGORITHM HILBERT TRANSFORMER
FILTER LENGTH =20
*** IMPULSE RESPONSE *****
H( 1) =0.16026190E-01 = -H(20)
H(2)=0.14173287E-01=-H (19)
H(3)=0.20452437E-01=-H (18)
H(4)=0.28736882E-01=-H (17)
H(5)=0.39852581E-01=-H (16)
H(6)=0.55333299E-01=-H (15)
H(7)=0.78542752E-01=-H(14)
H(8)=0.11823755E00=-H(13)
H(9)=0.20664125E00=-H(12)
BANDBANDH(10)=0.63475619E00=-H(11)
BAND
BAND
LOWER BAND EDGE UPPER BAND EDGE desired value WEIGHTING DEVIATIONLOWER BAND EDGE UPPER BAND EDGE desired value WEIGHTING DEVIATIONBAND 1 0.05000000 0.50000000 1.00000000 1.00000000 0.02055604
LOWER BAND EDGE UPPER BAND EDGE desired value WEIGHTING DEVIATION
LOWER BAND EDGE UPPER BAND EDGE desired value WEIGHTING DEVIATION
extremal frequencies
0.05000000.06562500.10312500.14687500.1937500
0.24375000.29375000.34687500.39687510.4500001
0.5000000
**********************************************************************
TIME= 0.4742500 SECONDS
Фиг. A.3.5. Распечатка результатов расчета 20-точечного оптимальногопреобразователя Гильберта.
На фиг. А. 3.5 приведена распечатка результатов расчета на ЦВМ преобразователя Гильберта, а его частотная характеристика показана на фиг. А.3.6.
Частота
Фиг. А.3.6. Частотная характеристика и кривая ошибки оптимального преобразователя Гильберта с параметрами, приведенными на фиг. А.3.5.
Программа расчета КИХ-фильтров
С PROGRAM POP. THE DESIGN OF LINEAR PHASE FINITE IMPULSE
C RESPONSE (FIR) FILTERS USING THE REMEZ EXCHANGE ALGORITHM
C JIM MCCLELLAN, RICE UNIVERSITY, APRIL 13, 1973
C THREE TYPES OF FILTERS ARE INCLUDED—BANDPASS FILTERS
C DIFFERENTIATORS, AND HILBERT TRANSFORM FILTERS
C
C THE INPUT DATA CONSISTS OF 5 CARDS C
C CARD 1—FILTER LENGTH, TYPE OF FILTER. 1-MULTIPLE
C PASSBAND/STOPBAND, 2-DIFFERENTIATOR, 3-HILBERT TRANSFORM
C FILTER. NUMBER OF BANDS, CARD PUNCH DESIRED, AND GRID
C DENSITY.
C
C CARD 2—BANDEDGES, LOWER AND UPPER EDGES FOR EACH BAND
C WITH A MAXIMUM OF 10 BANDS. C
C CARD 3—DESIRED FUNCTION (OR DESIRED SLOPE IF A
C DIFFERENTIATOR) FOR EACH BAND.
C
C CARD V—WEIGHT FUNCTION IN EACH BAND. FOR A
C DIFFERENTIATOR, THE WEIGHT FUNCTION IS INVERSELY
C PROPORTIONAL TO F.
C
C THE FOLLOWING INPUT DATA SPECIFIES A LENGTH 32 BANDPASS
C FILTER WITH STOPBANDS 0 TO 0.1 AND 0.425 TO 0.5, AND
C PASSBAND FROM 0.2 TO 0.35 WITH WEIGHTING OF 10 IN THE
C STOPBANDS AND 1 IN THE PASSBAND. THE IMPULSE RESPONSE
C WILL BE PUNCHED AND THE GRID DENSITY IS 32.
C
C SAMPLE INPUT DATA SETUP
C 32,1,3,1,32
C 0,0.1,0.2,0.35,0.425,0.5
C 0,1,0
C 10,1,10
C
C THE FOLLOWING INPUT DATA SPECIFIES A LENGTH 32 WIDEBAND
C DIFFERENTIATOR WITH SLOPE 1 AND WEIGHTING OF 1/F. THE
C IMPULSE RESPONSE WILL NOT BE PUNCHED AND THE GRID
C DENSITY IS ASSUMED TO BE 16. C
C 32,2,1,0,0
C 0,0.5
C 1.0
C 1.0
C с
COMMON PI2,AD,DEV,X,Y,GRID,DES,WT,ALPHA,IEXT,NFcNS,NGRID DIMENSION IEXT(66) ,AD(66) , ALPHA (66) , X(66) ,Y(66) DIMENSION H(66) DIMENSION DES (1045) ,GRID(1O45),WT(1045) DIMENSION EDGE(20) ,FX(10) ,WTX(10) ,DEVIAT(10) DOUBLE PRECISION PI 2,PI-
DOUBLE PRECISION AD,DEV,X,Y PI2=6.283185307179586 PI=3.141592653589793
C
C THE PROGRAM IS SET UP FOR A MAXIMUM LENGTH OF 128, BUT
C THIS UPPER LIMIT CAN BE CHANGED BY REDIMENSIONING THE
C ARRAYS IEXT, AD, ALPHA, X, Y, H TO BE NFMAX/2 ♦ 2.
C THE ARRAYS DES, GRID, AND WT MUST DIMENSIONED
C 16(NFMAX/2 ♦ 2).
C
NFMAX=128 100 CONTINUE JTYPE=0 C C PROGRAM INPUT SECTION C READ *,NFILT,JTYPE,NBANDS,JPUNCH,LGRID IF(NFILT.GT.NFMAX. OR.NFILT.LT.3) CALL ERROR IF(NBANDS.LE.0) NBANDS=1 C C GRID DENSITY IS ASSUMED TO BE 16 UNLESS SPECIFIED C OTHERWISE C IF(LGRID.LE.0) LGRID=16 JB=2*NBANDS READ *, (EDGE (J) , J= 1 , JB) READ *,(FX(J) ,J=1,NBANDS) READ *, (WTX (J) ,J=1,NBANDS) IF(JTYPE.EQ.0) CALL ERROR NEG=1 IF(JTYPE.EQ.1) NEG=0 NODD=NFILT/2 NO D D= NF I LT- 2 * NO DD NFCNS=NFlLT/2 IF(NODD.EQ.1.AND.NEG.EQ.0) NFCNS=NFCNS+1 C.
C SET UP THE DENSE GRID. THE NUMBER OF POINTS IN THE GRID C IS (FILTER LENGTH ♦ 1)*GRID DENSITY/2 C
GRID (1) =EDGE ( 1) DELF=LGRID*NFCNS DELF=0.5/DELF IF(NEG.EQ.O) GO TO 135 IF(EDGE(1) .LT.DELF) GRID(1)=DELF 135 CONTINUE J= 1 L= 1 LBAND=1
140 FUP=EDGE(L+1) 145 TEMP=GRID(J) C C CALCULATE THE DESIRED MAGNITUDE RESPONSE AND THE WEIGHT C FUNCTION ON THE GRID C
DES(J) =EFF(TEMP,FX,WTX,LBAND,JTYPE) WT(J)=WATE(TEMP,FX,WTX,LBAND,JTYPE) J=J+1 ' GRID(J)=TEMP+DELF IF(GRID(J).GT.FUP) GO TO 150 GO TO 145 150 GRID (J-1) =FUP
DES (J-1)=EFF(FUP,FX,WTX,LBAND,JTYPE) WT (J-1)=WATE(FUP,FX,WTX,LBAND,JTYPE) LBAND=LBAND*1 L=L*2 IF(LBAND.GT.NBANDS) GO TO 160 GRID(J) =EDGE(L) GO TO 140 160 NGRID=J-1 IF(NEG.NE.NODD) GO TO 165 IF (GRID (NGRID) .GT. (0.5-DELF) ) NG RI D=NGRID-1
С С SET UP A NEW APPROXIMATION PROBLEM WHICH IS EQUIVALENT C TO THE ORIGINAL PROBLEM C
IF(NEG) 170,170,180 170 IF(NODD.EQ.1) GO TO 200 DO 175 J=1,NGRID CHANGE=DCOS(PI*GRID(J)) DES (J) =DES (J) /CHANGE 175 WT(J)=WT(J) «CHANGE GO TO 200 180 IF(NODD.EQ.1) GOTO 190 DO 185 J=1,NGRID CHANGE=DSIN(PI*GRID(J)) DES (J) =DES (J) /CHANGE 185 WT (J) =WT (J) «CHANGE GO TO 200 190 DO 195 J=1,NGRID CHANGE=DSIN(PI2«GRID(J)) DES(J)=DES(J)/CHANGE 19 5 WT(J)=WT(J)«CHANGE C C INITIAL GUESS FOR THE EXTREMAL FREQUENCIES—EQUALLY C SPACED ALONG THE GRID C 200 TEMP=FLOAT(NGRID-1)/FLOAT(NFCNS) DO 210 J=1,NFCNS 210 IEXT(J)=(J-1)«ТЕМР+1
IEXT(NFCNS*1)=NGRID
NM1=NFCNS-1 NZ-NFCNS*1 C C CALL THE REMEZ EXCHANGE ALGORITHM TO DO THE APPROXIMATION C PROBLEM C
CALL REMEZ(EDGE,NBANDS) C C CALCULATE THE IMPULSE RESPONSE. C
IF(NEG) 300,300,320 300 IF(NODD.EQ.O) GO TO 310 DO 305 J=1,NM1 305 H(J) =0.5*ALPHA(NZ-J) H (NFCNS) =ALPHA(1) GO TO 350 310 H(1)=0.25«ALPHA(NFCNS) DO 315 J=2,NM1 315 H(J)=0.25*(ALPHA(NZ-J)«ALPHA(NFCNS*2-J)) H(NFCNS)=0.5*ALPHA(1) *0.25«ALPHA(2) GO TO 350 320 IF(NODD.EQ.O) GO TO 330 H(1)=0.25«ALPHA(NFCNS) H(2) =0.25,«ALPHA (NM1) DO 325 J=3,NM1 325 H(J)=0.25*(ALPHA(NZ-J)-ALPHA(NFCNS*3-J))
H(NFCNS)=0.5*ALPHA(1)-0.25*ALPHA(3) H(NZ)=0.0•
GO TO 350
330 H(1)=0.25«ALPHA(NFCNS)
DO 335 J=2,NM1
UDOUDO335 H(J) =0.25*(ALPHA(NZ-J) -ALPHA(NFCNS*2-J)) H(NFCNS)=0.5*ALPHA(1)-0.25*ALPHA(2)
UDO
UDO
PROGRAM OUTPUT SECTION.
350 PRINT 360
360 FORMAT(1H1, 70(1H*)//25X,'FINITE IMPULSE RESPONSE (FIR)1 125X,'LINEAR PHASE DIGITAL FILTER DESIGN'/
225X,'REMEZ EXCHANGE ALGORITHM'/) IF (JTYPE. EQ. 1) PRINT 365
365 FORMAT(25X,'BANDPASS FILTER'/) IF(JTYPE.EQ.2) PRINT 370
370 FORMAT(25X,'DIFFERENTIATOR'/) IF(JTYPE.EQ.3) PRINT 375
375 FORMAT(25X,'HILBERT TRANSFORMER'/) PRINT 378,NFILT
378 FORMAT(15X,'FILTER LENGTH = ',13/) PRINT 380
380 FORMAT(15X,'***** IMPULSE RESPONSE ****♦') DO 381 J=1,NFCNS
K=NFILT*1-J
IF(NEG.EQ.O) PRINT 382,J,H(J),К
IF(NEG.EQ.I) PRINT 383,J,H(J),К
381 CONTINUE
382 FORMAT(20X,'H(' ,13,') = ',E15.8,' = H(',I4,')')
383 FORMAT(20X,'H (',13,') = ',E15.8,' = -H(',IU, ') ' ) IF(NEG.EQ.1.AND.NODD.EQ.1) PRINT 384,NZ
384 FORMAT(20X,'H(',13,') =0.0')
DO 450 K=1,NBANDS,4 KUP=K*3
IF(KUP.GT.NBANDS) KUP=NBANDS PRINT 385,(J,J=K,KUP)
385 FORMAT(/24X,4('BAND',I3,8X) ) PRINT 390, (EDGE (2*J-1) ,J=K,KUP)
390 FORMAT(2X,'LOWER BAND EDGE',5F15.9) PRINT 395,(EDGE(2*J),J=K,KUP)
395 FORMAT(2X,'UPPER BAND EDGE*,5F15.9)
IF(JTYPE.NE.2) PRINT 400, (FX (J) , J=K, KUP)
400 FORMAT(2X,'DESIRED VALUE',2X,5F15.9)
IF (JTYPE. EQ. 2) PRINT 405, (FX (J) , J=K, KUP)
405 FORMAT(2X,'DESIRED SLOPE',2X,5F15. 9) PRINT 410, (WTX(J) ,J=K,KUP)
410 FORMAT(2X,'WEIGHTING',6X,5F15.9) DO 420 J=K,KUP
420 DEVIAT(J)=DEV/WTX(J)
PRINT 425,(DEVIAT(J),J=K,KUP)
425 FORMAT(2X,'DEVIATION',6X,5F15.9) IF(JTYPE.NE.1) GO TO 450 DO 430 J=K,KUP
430 DEVIAT(J)=20.0*ALOG10(DEVIAT(J) ) PRINT 435,(DEVIAT(J),J=K,KUP)
435 FORMAT(2X,'DEVIATION IN DB',5F15.9)
450 CONTINUE
PRINT 455,(GRID(IEXT(J)),J=1,NZ)
455 FORMAT(/2X,'EXTREMAL FREQUENCIES'/(2X,5F12.7)) PRINT 460
460 FORMAT(/1X,70(1H*)/1Н1)
IF (JPUNCH. NE. 0) PUNCH * , (H (J) , J= 1 , NFCNS)
IF(NFILT.NE.O) GO TO 100 RETURN
END
FUNCTION EFF(TEMP, FX ,WTX,LBAND,JTYPE) C C FUNCTION TO CALCULATE THE DESIRED MAGNITUDE RESPONSE C AS A FUNCTION OF FREQUENCY. C DIMENSION FX (5) , WTX (5).
IF(JTYPE.EQ.2) GO TO EFF=FX (LBAND) RETURN EFF=FX (LBAND) *TEMP RETURN END
FUNCTION WATE(TEMP,FX,WTX,LBAND,JTYPE) C
C FUNCTION TO CALCULATE THE WEIGHT FUNCTION AS A FUNCTION C OF FREQUENCY.
C
DIMENSION FX(5),WTX(5)
IF(JTYPE.EQ.2) GO TO 1 WATE=WTX(LBAND) RETURN
1 IF(FX(LBAND) .LT.0.0001) GO TO 2 WATE=WTX(LBAND) /TEMP RETURN
2 WATE=WTX (LBAND) RETURN '
END
SUBROUTINE ERROR
PRINT 1
1 FORMAT(' ************ ERROR IN INPUT DATA ♦***♦**♦♦*') STOP
END
SUBROUTINE REMEZ(EDGE,NBANDS) C
C THIS SUBROUTINE IMPLEMENTS THE REMEZ EXCHANGE ALGORITHM C FOR THE WEIGHTED CHEBYCHEV APPROXIMATION OF A CONTINUOUS C FUNCTION WITH A SUM OF COSINES. INPUTS TO THE SUBROUTINE C ARE A DENSE GRID WHICH REPLACES THE FREQUENCY AXIS, THE C DESIRED FUNCTION ON THIS GRID, THE WEIGHT FUNCTION ON THE C GRID, THE NUMBER OF COSINES, AND AN INITIAL GUESS OF THE C EXTREMAL FREQUENCIES. THE PROGRAM MINIMIZES THE CHEBYCHEV C ERROR BY DETERMINING THE BEST LOCATION OF THE EXTREMAL C FREQUENCIES (POINTS OF MAXIMUM ERROR) AND THEN CALCULATES C THE COEFFICIENTS OF THE EEST APPROXIMATION.
C
COMMON PI2,AD,DEV,X,Y,GRID,DES,WT,ALPHA,IEXT,NFCNS,NGRID DIMENSION EDGE(20)"
DIMENSION IEXT(66),AD(66),ALPHA(66),Х(66),Y(66) DIMENSION DES (1045) ,GRID (1045) ,WT(1045)
DIMENSION A (66) , P (65) ,Q (65)
ио иио иDOUBLE PRECISION PI2,DNUM,DDEN,DTEMP,A,P,Q DOUBLE PRECISION AD,DEV,X,Y
ио и
ио и
THE PROGRAM ALLOWS A MAXIMUM NUMBER OF ITERATIONS OF 25
ITRMAX=25 D£VL=-1.0 NZ=NFCNS*1 NZZ=NFCNS*2 NITER=0 100 CONTINUE
I EXT (NZZ) =NGRID*1 NITER=NITER* 1
IF(NITER.GT.ITRMAX) GO TO 400
DO 110 J=1,NZ
DTEMP=GRID (IEXT (J))
DTEMP=DCOS(DTEMP*PI2) 110 X (J) = DTEMP
JET=(NFCNS-1)/15*1 DO 120 J=1,NZ
120 AD (J) = D (J, NZ , JET)
DNUM=0.0 DDEN=0.0 K=1 DO 130 J=1,NZ L=IEXT(J) DTEMP=AD (J) *DES (L) DNUM=DNUM*DTEMP DTEMP-K*AD(J)/WT(L) DDEN=DDEN*DTEMP 130 K=-K
DEV=DNUM/DDEN
NU=1
IF(DEV.GT.O.O) NO-1
DEV=-NU*DEV K=NU
DO 140 J=1,NZ
L=IEXT(J)
DTEMP=K*DEV/WT(L) Y (J)=DES (L) ♦ DTEMP 140 K=-K
IF(DEV.GE.DEVL) GO TO 150 CALL OUCH GO TO 400 150 DEVL=DEV
JCHNGE=0
K1=IEXT(1)
KNZ=IEXT(NZ) KLOW=0
NUT=-NU J=1
C SEARCH FOR THE EXTREMAL FREQUENCIES OF THE BEST C APPROXIMATION
C , 200 IF(J.EQ.NZZ) YNZ=COMP
IF(J.GE.NZZ) GO TO 300
KUP=IEXT(J*1)
L=IEXT(J)♦1 NUT=-NUT IF(J.BQ.2) Y1=C0MP COMP=DEV IF(L.GE.KUP) GO TO 220 ERR=GEE(L,NZ) ERR= (ERR-DES (L) ) *WT(L) DTEMP=NUT*ERR-COMP
IF(DTEMP.LE.0.0) GO TO 220 COMP=NUT*ERR
210 L=L*1
IF(L.GE.KUP) GO TO 215 ERR=GEE(L,NZ)
ERR=(ERR-DES(L))*WT(L) DTEMP=NUT*EPR-COMP
IF(DTEMP.LE.0.0) GO TO 215 COMP=NUT*ERR GO TO 210
215 IEXT(J)=L-1
J=J*1
KLOW=L-1
JCHNGE=JCHNGE+1 GO TO 200
220 L=L-1
225 L=L-1
IF(L.LE.KLOW) GO TO 250 ERR=GEE(L,NZ)
ERR=(ERR-DES(L))*WT(L) DTEMP=NUT*ERR-COMP
IF(DTEMP.GT.0.0) GO TO 230
IF(JCHNGE.LE.O) GO TO 225 GO TO 260
230 COMP=NUT*ERR
235 L=L-1
IF(L.LE.KLOW) GO TO 240 ERR=GEE(L,NZ)
ERR= (ERR-DES (L) ) *WT (L) DTEMP= NUT*ERR-COMP
IF(DTEMP.LE.0.0) GO TO 240 COMP=NUT*ERR GO TO 235
240 KLOW=IEXT(J) IEXT(J) =L*1 J=J*1 JCHNGE=JCHNGE*1 GO TO 200
250 L=IEXT(J)♦1 IF(JCHNGE.GT.0) GO TO 215
255 L=L*1
IF(L.GE.KUP) GO TO 260 ERR=GEE(L,NZ)
ERR= (ERR-DES (L) ) *WT (L) DTEMP=NUT*ERR-COMP
IF(DTEMP.LE.0.0) GO TO 255 COMP=NUT*ERR
GO TO 210
260 KLOW=IEXT(J)
J=J*1 GO TO 200
300 IF(J.GT.NZZ) GO TO 320
IF(K1 .GT.IEXT(1) ) K1 = IEXT(1)
IF(KNZ.LT.IEXT(NZ) ) KNZ=IEXT(NZ) NUT1=NUT
NUT=-NU
L=0
KUP=K1
COMP=YNZ*(1.00001)
LUCK=1
310
L=L+1
IF(L.GE.KUP) GO TO 315
ERR-GEE(L,NZ)
ERR=(ERR-DES(L))*WT(L)
DTEMP=NUT*ERR-COMP
IF(DTEMP.LE.O.O) GO TO 310
COMP=NUT*ERR
J=NZZ
GO TO 210
315
LUCK=6 GO TO 325
320
IF (LUCK.GT.9) GO TO 350
IF(COMP.GT.Y1) Y1=COMP К1=1EXT(NZZ)
325
L=NGRID+1 KLOW=KNZ NUT=-NUT1 COMP=Y1*(1.00001)
330
L=L-1.
IF(L.LE.KLOW) GO TO 340 '
ERR=GEE(L,NZ) ERR=(ERR-DES(L))*WT(L) DTEMP= NUT*ERR-COMP
IF (DTEMP.LE.0.0) GO TO 330
J=NZZ
COMP=NUT*ERR
LUCK=LUCK*10
GO TO 235
340
IF(LUCK.EQ.6) GO TO 370
DO 345 J=1,NFCNS
345
lEXT(NZZ-J) =IEXT(NZ-J) IEXT(1) =K1
GO TO 100
350
KN=IEXT(NZZ)
DO 360 J=1,NFCNS
360
IEXT(J) = IEXT(J*1) IEXT(NZ)=KN
GO TO 100
370
IF(JCHNGE.GT.0) GO TO 100
С CALCULATION OF THE COEFFICIENTS OF THE BEST APPROXIMATION
C USING THE INVERSE DISCRETE FOURIER TRANSFORM C
400
CONTINUE NM1=NFCNS-1 FSH=1.0E-06 GTEMP=GRID(1) X(NZZ)=-2.0 CN=2*NFCNS-1 DELF=1.0/CN L= 1 KKK=0
IF(EDGE(1).EQ.0.0.AND,EDGE(2*NBANDS).EQ.0.5) KKK=1
IF(NFCNS.LE.3) ККК=1
IF(KKK.EQ.I) GO ТО 405
DTEMP=DCOS(PI2*GRID(1) ) DNUM=DCOS(PI2*GRID(NGRID)) AA=2.0/(DTEMP-DNUM) BB=-(DTEMP+DNUM)/(DTEMP-DNUM)
405 CONTINUE
DO 430 J=1,NFCNS
FT= (J-1) *DELE
XT=DCOS(PI2*FT)
IF(KKK.EQ.I) GO TO 410
XT=(XT-PB)/AA
FT=ARCOS(XT)/PI 2
410 XE=X(L)
IF(XT.GT.XE) GO TO 420
IF((XE-XT).LT.FSH) GO TO 415
L=L*1
GO TO 410
415 A(J)=Y(L)
GO TO 425
420 IF ((XT-XE) .LT.FSH) GOTO 415 GRID(1)=FT
A (J) =GEF(1,NZ)
425 CONTINUE
IF(L.GT.1) L=L-1
430 CONTINUE
GRID(1)=GTEMP
DDEN=PI2/CN
DO 510 J=1,NFCNS
DTEMP=0.0
DNUM=(J-1)*DDEN
IF(NM1.LT.1) GO TO 505
DO 500 K=1,NM1
500 DTEMP=DTEMP*A(K*1)*DCOS(DNUM*K)
505 DTEMP=2.0*DTEMP+A(1)
510 ALPHA(J)=DTEMP
DO 550 J=2,NFCNS
550 ALPHA(J)=2*ALPHA(J)/CN
ALPHA(1)=ALPHA(1)/CN
IF(KKK.EQ.I) GO TO 545
P(1)=2.0*ALPHA(NFCNS)*BB+ALPHA(NM1)
P(2) =2.0*AA*ALPHA(NFCNS)
Q(1)=ALPHA(NFCNS-2)-ALPHA(NFCNS)
DO 540 J=2,NM1
IF(J.LT.NMI) GO TO 515
AA=0.5*AA
BB=0.5*BB
515 CONTINUE
P(J*1)=0.0
DO 520 K=1,J
A(K)=P(K)
520 P(K)=2.0*BB*A(K)
P(2)=P(2) *A(1) *2.0*AA
JM1=J-1
DO 525 K=1,JM1
525 P(K)=P(K) *Q (К) *AA*A (K* 1)
JP1=J*1
DO 530 K=3,JP1(
530 P(K) =P(K) ♦AA*A(KA|)
IF(J.EQ.NMI) GO TO 540 DO 535 K=1,J
535 Q(K)=-A(K)
Q(1) =Q(1)♦ALPHA(NFCNS-1-J) 540 CONTINUE
DO 543 J=1,NFCNS
543 ALPHA(J)=P(J)
545 CONTINUE
IF(NFCNS.GT.3) RETURN ALPHA(NFCNS*1) =0.0 ALPHA(NFCNS*2) = 0.0 RETURN
END-
DOUBLE PRECISION FUNCTION D(K,N,M) C C FUNCTION TO CALCULATE THE LAGRANGE INTERPOLATION C COEFFICIENTS FOR USE IN THE FUNCTION GEE. C
COMMON PI2,AD,DEV,X,Y,GRID,DES,WT,ALPHA,IEXT,NFCNS,NGRID DIMENSION IEXT(66) ,AD(66) ,ALPHA(66) ,X(66) ,Y (66) DIMENSION DES (1045) ,GRID(1045) ,WT(1045)
DOUBLE PRECISION AD,DEV,X,Y
DOUBLE PRECISION Q
DOUBLE PRECISION PI2 D=1.0 Q=X(K) DO 3 L=1,M DO 2 J=L,N,M IF(J-K) 1,2, 1 1 D=2.0*D* (Q-X(J) ) 2 CONTINUE 3 CONTINUE -D=1.0/D
RETURN END
DOUBLE PRECISION FUNCTION GEE(K,N)
C
C FUNCTION TO EVALUATE THE FREQUENCY RESPONSE USING THE
C LAGRANGE INTERPOLATION FORMULA IN THE BARYCENTRIC FORM
C
■COMMON PI2,AD,DEV,X,Y,GRID,DES,WT,ALPHA,IEXT,NFCNS,NGRID DIMENSION IEXT (66) ,AD(66) , ALPHA (66) ,X(66) ,Y(66) DIMENSION DES (1045) ,GRID(1045) ,WT(1045)
DOUBLE PRECISION P,C,D,XF
DOUBLE PRECISION PI2
DOUBLE PRECISION AD,DEV,X,Y
P=0.0
XF=GRID(K)
XF=DCOS(PI2*XF)
D=0.0
DO 1 J=1,N
C=XF-X(J)
C-AD(J)/C
D=D*C
P=P*C*Y(J)
GEE=P/D
RETURN
END
SUBROUTINE OUCH -
PRINT 1
FORMAT(* ************ FAILURE TO CONVERGE ♦*****♦***'/ VOPROBABLE CAUSE IS MACHINE ROUNDING ERROR*/ 2'0THE IMPULSE RESPONSE MAY BE CORRECT*/
3'OCHECK WITH A FREQUENCY RESPONSE*)
RETURN
END
ТЕОРИЯ И АППРОКСИМАЦИЯЦИФРОВЫХ ФИЛЬТРОВ С БЕСКОНЕЧНЫМИИМПУЛЬСНЫМИ ХАРАКТЕРИСТИКАМИ
Введение
В настоящей главе рассматриваются методы расчета цифровых фильтров с бесконечными импульсными характеристиками (БИХ- фильтров) при условии, что фильтры являются физически реализуемыми и, конечно, устойчивыми. Для импульсных характеристик таких фильтров h (тг) справедливы следующие ограничения:
/г (тг) = О, тг-<0,(4.1)
2|h(n)|<oo.(4.2)
п=0
Наиболее общая форма записи z-преобразования импульсной характеристики БИХ-фильтров имеет вид
м
002 ^<z-i
Я(,)=2ц,)г*=-^(4.3)
n=0l+2eiz-i
г=1
Здесь по крайней мере один из коэффициентов сц отличен от нуля, причем сразу все корни знаменателя не могут в точности компенсироваться корнями числителя. Действительно, рассмотрим, например, фильтр с z-преобразованием импульсной характеристики
(4-4)
удовлетворяющим общей формуле (4.3). Так как корень z = 1 знаменателя компенсируется корнем z = 1 числителя, то фактически функция Н (z) представляет собой полином от z"1 с конечным числом членов, так что последовательность К (тг) будет соответствовать КИХ-фильтру.
Фильтр с передаточной функцией вида (4.3) имеет, вообще говоря, конечное число нулей (М) и полюсов \NY Нули Н (z) могут располагаться на всей z-плоскости, но полюсы Н (z) в соответствии с условием устойчивости фильтра обязательно должны размещаться внутри круга единичного радиуса. В большинстве случаев, особенно при расчете цифровых фильтров по характери-
стикам аналоговых фильтров, число нулей (М) не превышает числа полюсов ^NY Системы, удовлетворяющие этому условию, называются системами TV-го порядка. При М 2> N порядок системы становится неопределенным. В этом случае можно считать, что передаточная функция Н ^ соответствует последовательному соединению системы TV-го порядка и КИХ-фильтра (М — ^)-гo порядка. При рассмотрении всех методов расчета, фильтров в настоящей главе предполагается, что М ^ N.
В отличие от КИХ-фильтров устойчивые, физически реализуемые БИХ-фильтры не обладают строго линейной фазовой характеристикой (за исключением частного случая, когда все полюсы Н ^ размещаются на единичной окружности). Действительно, в гл. 3 было показано, что фильтр будет иметь линейную фазовую характеристику, если
н ^ = Н ^- Ч (4.5)
[с точностью до множителя с линейной фазой, см. (3.19)]. Для БИХ-фильтров это условие означает, что каждому полюсу передаточной функции Н (z), расположенному внутри единичного круга (модули этих полюсов меньше 1), должен соответствовать зеркально отображенный полюс вне единичного круга, поэтому такой фильтр будет неустойчивым. В связи с этим при расчете БИХ-фильтров всегда приходится рассматривать аппроксимацию заданных и амплитудной, и фазовой характеристик. Существует, правда, специальный вид БИХ-фильтров с равномерной амплитудной характеристикой, у которых при изменениях положения нулей и полюсов меняется лишь фазовая характеристика. Фильтры такого вида называют всепропускающими цепями. Для этого чтобы цепь была всепропускающей, необходимо, чтобы каждому полюсу ее передаточной функции Н (z) в точке z = re56 соответствовал нуль в точке z = (1/г) е^, причем для действительных последовательностей И (п) и полюсы, и нули должны иметь комплексно сопряженные пары. Типичное расположение полюсов и нулей для всепропускающего фильтра 2-го порядка показано на фиг. 4.1.
Фиг. 4.1. Расположение нулей и полюсов всепропускающего фильтра 2-го порядка.
Фиг. 4.2. Фазовая характеристика всепропускающего фильтра 2-го порядка.
Метод 1
Метод 2
Фиг. 4.3. Два метода построения БИХ-фильтров с нулевой фазовой характеристикой.
(4.6)(4.6)(4.7)(4.7)Передаточная функция этого фильтра равна
(4.6)
(4.6)
(4.7)
(4.7)
(z — re^®) (z — re *®)
Ее можно преобразовать к виду
тт г к = [^(^(cOS^^^ _ [raZa-2r(cOs6)z+l]' * [za—2r (cos 6) z+ra]ra [za—2r (cos 6) z 4- ra] *
Значения Н (z) на единичной окружности дают амплитудную характеристику фильтра, которая удовлетворяет условию
| Н {е^} | = const,
а также фазовую характеристику, изображенную (для часто встречающихся значений г = 0,9 и 6 = 36°) на фиг. 4.2. Всепропускаю- щие фильтры представляют интерес прежде всего потому, что их последовательное соединение можно использовать для выравни-
Фиг. 4.4. К определению эквивалентного фильтра.
вания заданной фазовой характеристики (или характеристики групповой задержки).
Если не учитывать ограничения (4.1), связанного с физической реализуемостью фильтров, то можно предложить два различных метода построения БИХ-фильтров с линейными фазовыми характеристиками (фиг. 4.3). В обоих случаях фильтры с передаточной функцией Н (z) представляют собой физически реализуемые БИХ-фильтры, а блоки с обозначением «инверсия времени» описываются уравнением
z (п) = w (— тг), (4.8) где w (п) и z (тг) — входная и выходная последовательности этих блоков соответственно. Ограничения, при которых возможно построение таких блоков, будут сформулированы после того, как будет предварительно локазано, что в обоих случаях эквивалентный фильтр имеет линейную (нулевую) фазовую характеристику. Понятие эквивалентного фильтра иллюстрируется с помощью фиг. 4.4, откуда следует, что передаточная функция эквива-
летного фильтра Нэк (z) равна
(4.9)
Для метода 1 (см. фиг. 4.3 и 4.4) имеем
H(z) = X(z"1),(4.10а)
F (z) = Н ^ А^ = Н (z) X (z-1),(4.106)
В (z) = F (z-1) = Н (z*1) X (z),(4.10в)
У (z) = Я (z) В (z) = X (z) Я (z) Я (z-1),(4. Юг)
Яэк (z) = Я(г)Я(г-1),(4.10д)
Я9К (е^) = | Я (^®) р.(4.10е)
При выводе этих соотношений учитывалось, что если z-преобразование последовательности х (п) равно X (z), то для инвертированной во времени последовательности х (— п) оно будет равно X (z-1). Из конечного результата (4.10е) следует, что эквивалентный фильтр имеет нулевую фазовую характеристику, причем его амплитудная характеристика равна квадрату амплитудной характеристики БИХ-фильтра.
Для метода 2 аналогично получим
A (z) = X (z-1),(4.11а)
F^-H (z) Л (z) = Я (z) X (z-1),(4.116)
В ^ = F (z-1) = H (г"1) X (z),(4.11b)
6(г) = Я(г)Х(г),(4.11г)
У (z) = В (z) + G ^ = X (z) [Я (z) + H (z-i)J,(4.11 д)
Яэк (z) = Я (z) + Я (z"1),(4.1 le)
Яэк (e^®) = 21Я (eJ®) | cos [<p (©)],(4.11ж)
где
Я ^^ = | H (^®) | e^X(4. Из)
И в этом случае эквивалентный фильтр имеет нулевую фазовую характеристику, однако его амплитудная характеристика равна удвоенному произведению амплитудной характеристики исходного фильтра на функцию косинуса от фазовой характеристики исходного фильтра. По этой причине предпочтение следует отдать методу 1.
На практике точная реализация обоих рассмотренных методов невозможна ввиду того, что приходится инвертировать бесконечные временные последовательности, не дожидаясь, пока они закончатся. Ограничив, однако, эти последовательности соответствующим числом членов, всегда можно обеспечить любую наперед заданную точность аппроксимации эквивалентного фильтра. Более подробно этот подход рассмотрен в тезисах Гиббса.
Элементарные свойства БИХ-фильтров:квадрат амплитудной характеристики, фазовая характеристика,характеристика групповой задержки
В процессе рассмотрения методов расчета БИХ-фильтров нам неоднократно придется обращаться к некоторым элементарным свойствам их передаточных функций. На протяжении всей главы будут использоваться три основные функции, характеризующие фильтр: квадрат амплитудной характеристики, фазовая характеристика и характеристика групповой задержки. Причина, по которой понадобятся все три функции, заключается в том, что при решении задачи аппроксимации для БИХ-фильтров в общем случае приходится рассматривать комплексную передаточную функцию от (0. Поэтому при разработке методов аппроксимации нужно учитывать поведение и амплитудной и фазовой характеристик. Кроме того, так как фазовая характеристика БИХ-фильтра, как правило, существенно нелинейна, то для оценки дисперсионного
воздействия фильтра на типовой обрабатываемый сигнал часто используется характеристика групповой задержки фильтра. В данном разделе даются определения всех трех характеристик фильтра, которые будут затем использованы в этой главе. •
Квадрат амплитудной характеристики
При расчете БИХ-фильтра с использованием аппроксимации только амплитудной характеристики (т. е. без учета фазовой характеристики) удобнее всего оперировать с квадратом амплитудной характеристики, определяемым следующим образом:
\HWMHW^(4.12)
Расположению полюсов и нулей этой функции в z-плоскости свойственна симметрия с зеркальным отображением относительно единичной окружности. Полюсы Н (z) располагаются внутри единичной окружности, поэтому они полностью определяются квадратом амплитудной характеристики фильтра. Нули Н (z) могут занимать в z-плоскости произвольное положение (исключение составляет важный случай, когда все нули располагаются на единичной окружности). Однако чаще всего нули передаточной функции Н (z) также выбираются таким образом, чтобы соответствующие им нули квадрата амплитудной характеристики располагались на единичной окружности или внутри ее в z-плоскости. Фильтры с такими нулями являются минимально-фазовыми фильтрами.
Фазовая характеристика
Так как передаточная функция БИХ-фильтра в общем случае является комплексной функцией от со, можно рассматривать и амплитудную и фазовую характеристики фильтра. Фазовая характеристика равна
(4ЛЗ)
Другая форма записи фазовой характеристики имеет вид
<4Л4>
Ее можно получить, представив Н (z) как
Я(г) = |Я(г)|^>(4.15)
и учитывая, что
Я (z"1) = | Я (z) |(4.16)
Характеристика групповой задержки
Характеристика групповой задержки является мерой средней задержки в фильтре в функции частоты и записывается следующим образом:.
т (ej<o) = _= -jz.(4.17)
sdm1 dz |г=е,(о4'
Используя формулу (4.14), функцию Tg (eJ“) можно представить в виде
т, ^ = -Re Гг ан^г 1= —Re(«-^-[lnff(z)])
(4.18) Предпочтительна приблизительно постоянная характеристика групповой ■ задержки во всей полосе (или полосах) пропускания фильтра.
Методы расчета коэффициентов БИХ-фильтра
Решение задачи расчета фильтров сводится к нахождению значений его коэффициентов [обозначенных через bt и at в формуле (4.3)1, обеспечивающих аппроксимацию заданных характеристик фильтра, таких, как импульсная и частотная характеристики, характеристика групповой задержки и др., в том или ином смысле (например, в среднеквадратическом или минимаксном). Таким образом, задача расчета фильтра в значительной мере сводится к задаче аппроксимации и может быть решена чисто математическими методами. Область, в которой производится аппроксимация, определяется назначением фильтра. Так, если аппроксимация производится в z-плоскости, результирующий фильтр будет цифровым. Если же она производится в s-плоскости, результирующий фильтр будет аналоговым. Аналогично можно рассчитать оптические фильтры или фильтры с распределенными параметрами. Все эти различные классы фильтров объединяет общность математических свойств аппроксимирующих функций.
Таким образом, вопреки распространенному мнению, методика расчета цифровых БИХ-фильтров практически не связана с методикой расчета фильтров непрерывного времени, хотя и предполагает использование многочисленных сведений, содержащихся в публикациях по методам расчета этих фильтров. Вместо того чтобы заново создавать теорию расчета цифровых фильтров (модернизировав математический аппарат применительно к случаю цифровых фильтров), можно использовать простые методы отображения, позволяющие преобразовать фильтры из одной области в другую. Именно такие методы расчета цифрового фильтра, включаю-
щие проектирование соответствующего фильтра непрерывного времени и его дискретизацию, наиболее широко используются при расчете БИХ-фильтров. Их можно использовать при проектировании стандартных фильтров, таких, как фильтры нижних и верхних частот, полосовые и режекторные; теория расчета этих фильтров для непрерывного времени хорошо разработана.
Другую группу методов расчета цифровых БИХ-фильтров образуют прямые методы расчета в z-плоскости. Часто удается найти такое расположение полюсов и нулей фильтра, при котором обеспечивается некоторая аппроксимация непосредственно заданной характеристики фильтра. Третий, также часто встречающийся подход к расчету БИХ-фильтров заключается в использовании процедур оптимизации для нахождения такого расположения полюсов и нулей в z-плоскости, при котором обеспечивается аппроксимация в том или ином смысле заданной характеристики фильтра. При таком подходе обычно не удается получить формулы, связывающие координаты полюсов и нулей (а следовательно, и коэффициенты фильтра) с параметрами заданной характеристики. Расчет фильтров производится, как правило, методом последовательных приближений.
Расчет цифровых фильтров по фильтрам непрерывного времени,
В предыдущем разделе уже отмечалось, что наиболее распространенным методом расчета БИХ-фильтров является метод дискретизации аналогового фильтра, удовлетворяющего заданным требованиям. При расчете цифровых фильтров нижних и верхних частот, полосовых и режекторных фильтров можно воспользоваться многочисленными методами расчета аналоговых фильтров-прототипов. Хорошо известны такие классы аналоговых фильтров, как фильтры Баттерворта, фильтры Чебышева типа I и II и фильтры Кауэра (называемые также эллиптическими фильтрами). Основные свойства этих фильтров, а также соотношения, используемые в настоящее время для их расчета, будут приведены в разд. 4.9, а сначала рассмотрим несколько методов преобразования (т. е. дискретизации) существующего аналогового фильтра в эквивалентный ему цифровой фильтр.
Предположим, что передаточная функция аналогового фильтра (представляющая собой преобразование Лапласа от импульсной характеристики) равна м м
2 bisi П (s + ^i)
Н^-^= ^,(4.19)
2 ai» [] (s+d,)i=li=l
причем коэффициенты at и bt (или, что то же, ct и df) известные Дифференциальное уравнение фильтра имеет вид
NМ
(4.20)(4.20)у Oi = 2 6,-£^2., dt* г=0г=0
(4.20)
(4.20)
где х (t) и у (Z) — колебания на входе и выходе фильтра соответ-» ственно. Наиболее распространенными методами дискретизации аналогового фильтра с передаточной функцией (4.19) являются следующие:
метод отображения дифференциалов;
метод инвариантного преобразования импульсной характеристики;
метод билинейного преобразования;
метод согласованного z-преобразования.
В последующих разделах все эти методы будут подробно рассмотрены.
Метод отображения дифференциалов
Один из наиболее простых методов дискретизации аналоговой системы заключается в замене дифференциалов в ее дифференциальном уравнении на конечные разности, что дает возможность получить разностное уравнение, аппроксимирующее исходное дифференциальное - уравнение. Простейшая замена состоит в замене первого дифференциала на прямую или обратную разность. При этом дифференциальное уравнение (4.20) после дискретизации принимает вид
NМ
(4.21)(4.21)2 П;Д; [у (п)] = 2 b^t lX (Н)], i=0i=0
(4.21)
(4.21)
где x^n) — последовательность на входе цифрового фильтра, у (м) — на его выходе, а i-я разность Д4 lw (м)] определяется соотношением
Д t+i [м? (м)] = Дх {Дг [м; (м)]},(4.22)
причем
1
Ai lw (n)] = <Ai lw (n)] = <(4.23)(4.23)у [Щ (м) — w In — 1)], обратная разность, у Ito (п +1) — id (ri) ], прямая разность.
Ai lw (n)] = <
Ai lw (n)] = <
(4.23)
(4.23)
Так, при использовании обратных разностей вторая разность Д2 [zy (п)] будет равна
Д2 [to («)] = -у <Д1 ^ (”)1 ” Д11“’ (”—ОД =t
= 4" П^ (”) — to (п — 1)] — ± [to (п — 1) — w (п — 2)]} =
=— Vw (n^—^w (п— 1) + ^(п — 2)].(4.24)
При любом отображении непрерывного пространства в дискретное должны выполняться следующие требования:
Ось jQ из s-плоскости должна отображаться в единичную окружность на z-плоскости.
Точки из левой половины s-плоскости (для них {Re [s] < 0}) после отображения должны располагаться внутри единичной окружности в z-плоскости (т. е. для отображенных точек |z|«< 1).
Выполнение первого требования позволяет сохранить (благодаря свойству равномерности отображения) селективные свойства аналоговой системы, а выполнение второго гарантирует, что получающаяся в результате отображения устойчивой аналоговой системы дискретная система также является устойчивой. Рассмотрим, насколько хорошо замена дифференциалов прямыми или обратными разностями позволяет удовлетворить сформулированным требованиям.
Обратные разности. При использовании обратных разностей производится следующая замена:
atT •
С точки зрения операторов преобразования она соответствует соотношению
8 =(4*26)
ИЛИ
При s = ;Q из формулы (4.27) следует, что
Z == А ( 1 4- 1 + ;^Г ) — А И л_е2; arctgQTX (Л 9Q\
Запишем действительную и мнимую части z:
ре ^1 । cos (2 arctg QT)
Im Tzl = f sin(2arctgfir)^'29^
s-плоскостьs-плоскостьФиг. 4.5. Отображение оси /й из s-плоскости в z-плоскость для метода обратных разностей.Фиг. 4.5. Отображение оси /й из s-плоскости в z-плоскость для метода обратных разностей.
s-плоскость
s-плоскость
Фиг. 4.5. Отображение оси /й из s-плоскости в z-плоскость для метода обратных разностей.
Фиг. 4.5. Отображение оси /й из s-плоскости в z-плоскость для метода обратных разностей.
Таким образом, прямая s = /Q (при —оо •< Q <; оо) отображается на z-плоскости в окружность, уравнение которой имеет вид
{Re[zl-l}2 + {Im[z]p=(l)2.(4.30)
Центр этой окружности (фиг. 4.5) находится в точке с координатами Re [z] = 1/2, Im [z] = 0, а ее радиус равен 1/2. Видно, что все точки оси /Q из s-плоскости после отображения не попадают на единичную окружность в z-плоскости (за исключением области весьма малых значений QT). Это означает, что первое из сформулированных выше требований не удовлетворяется. Проверим, выполняется ли второе требование. Для этого положим, что
(4.31)(4.31)s7* = a+7p,
(4.31)
(4.31)
где а и р — действительные числа, причем a «< 0. Тогда соотношение (4.27) принимает вид
11Z 1 —а—/р 'Z 1 —а—/р '(4.32)(4.32)откудаоткуда1/(i-a^+pa1/(i-a^+pa(4.33)(4.33)Таким образом, при использовании обратных разностей устойчивый аналоговый фильтр будет отображаться в устойчивый цифровой фильтр, но избирательные свойства аналогового фильтра не будут сохраняться.Прямые разности. При использовании прямых разностей проТаким образом, при использовании обратных разностей устойчивый аналоговый фильтр будет отображаться в устойчивый цифровой фильтр, но избирательные свойства аналогового фильтра не будут сохраняться.Прямые разности. При использовании прямых разностей производится следующая замена: 'dy у (п+1) — у (п)dt 1Тдля которойизводится следующая замена: 'dy у (п+1) — у (п)dt 1Тдля которой(4.34)(4.35)(4.34)(4.35)илиилиz = 1 + si.z = 1 + si.(4.36)(4.36)
1
1
Z 1 —а—/р '
Z 1 —а—/р '
(4.32)
(4.32)
откуда
откуда
1
/(i-a^+pa
1
/(i-a^+pa
(4.33)
(4.33)
Таким образом, при использовании обратных разностей устойчивый аналоговый фильтр будет отображаться в устойчивый цифровой фильтр, но избирательные свойства аналогового фильтра не будут сохраняться.
Прямые разности. При использовании прямых разностей про
Таким образом, при использовании обратных разностей устойчивый аналоговый фильтр будет отображаться в устойчивый цифровой фильтр, но избирательные свойства аналогового фильтра не будут сохраняться.
Прямые разности. При использовании прямых разностей про
изводится следующая замена: 'dy у (п+1) — у (п)
dt 1Т
для которой
изводится следующая замена: 'dy у (п+1) — у (п)
dt 1Т
для которой
(4.34)
(4.35)
(4.34)
(4.35)
или
или
z = 1 + si.
z = 1 + si.
(4.36)
(4.36)
s-плоскостьs-плоскость
s-плоскость
s-плоскость
Фиг. 4.6. Отображение оси jQ из s-плоскости в z-плоскость для метода прямых разностей.
При s =/Q имеем
z = 1 + )Ш\(4.37)
Контуры на s-плоскости и z-плоскости для рассматриваемого метода отображения показаны на фиг. 4.6. Видно, что первое требование, предъявляемое к отображениям, не удовлетворяется. Не удовлетворяется и второе требование, так как если
sT = а + /Р,(4.38)
то
z = 1 + а + /р(4.39)
и
I z | > 1
при р2 2> 1 — (1 + а)2.
Обобщенные разности. Более сложная методика дискретизации аналоговых фильтров, основанная на замене дифференциалов разностями, заключается в использовании разностей более высокого порядка для замены дифференциалов более низкого порядка. Положим, например, что первая разность Ai определяется вместо (4.23) следующим выражением:
L "
Ai[u7(m)] = A 2 ОС; [u;(n + i) — w(n — 0),(4.40)
i=l
где L — порядок используемых разностей. Тогда соотношение между операторами, описывающее отображение s-плоскости в z-плоскость, будет иметь вид
L
s — -^^—(4.41)
t=i
Докажем, что оно удовлетворяет первому требованию. Для этого покажем, что при z = e3toT оператор s будет иметь вид s = /Р (го), так что единичная окружность на z-плоскости будет результатом
отображения оси /Q из s-плоскости. Подставив z = е,юГ в формулу (4.41), получим ■
' L
»=4" 2 a-ike^T—е~^т^^(4.42)
г=1
L
^у- 2 2?а* sin (Ю^) = $ (Ю^(4-43)
г=1
Выбрав соответствующим образом значения коэффициентов аг, можно добиться того, что функция р (ю) будет аппроксимировать практически любую заданную нечетную функцию от ю, так что ось /Q из s-плоскости будет монотонно отображаться в единичную окружность на z-плоскости. Кроме того, можно показать, что отображение, описываемое оператором (4.41), является конформным, поэтому точки левой полуплоскости s будут располагаться после отображения внутри единичного круга в z-плоскости, так что оба требования, предъявляемые к отображениям, будут удовлетворяться. Однако в связи с трудностями в определении коэффициентов а^ необходимых для выполнения отображения, а также из-за наличия более простых методов дискретизации аналоговых фильтров рассмотренный метод использования разностей более высокого порядка не нашел широкого практического применения.
Общие замечания о методе замени дифференциалов разностями. Достоинство метода замены дифференциалов простыми разностями заключается в том, что с помощью простых подстановок типа (4.26) или (4.35) можно от рациональной передаточной функции от s непосредственно перейти к рациональной передаточной функции от z. Однако независимо от того, используются простые прямые или простые обратные разности, характеристики аналогового фильтра при этом не сохраняются, поэтому для дискретизации аналоговых фильтров обычно применяют другие методы.
Метод инвариантного преобразованияимпульсной характеристики
Второй метод дискретизации аналоговых фильтров называется методом инвариантного преобразования импульсной характеристики1. Отличительной особенностью этого метода является то, что в качестве импульсной характеристики рассчитываемого цифрового фильтра используется дискретизованная импульсная характеристика соответствующего аналогового фильтра. В результате частот-
J) Его называют также методом стандартного z-преобразования.— Прим, ред.
ная характеристика цифрового фильтра образуется путем наложений частотной характеристики дискретизованного аналогового фильтра.
Для того чтобы предемонстрировать метод дискретизации аналогового фильтра с использованием инвариантного преобразования его импульсной характеристики, разложим передаточную функцию этого фильтра (4.19) на простые дроби:
N'
^ = 2^(4-44>
г=1
где
Ct = H (s) (s + di) |,—dp(4.45)
причем каждый коэффициент di определяет положение i-ro полюса. При записи разложения (4.44) предполагалось, что порядок числителя М меньше порядка знаменателя N и что все полюсы Н (з) простые. Предположение о том, что M<N, обязательно должно выполняться для дискретизуемого фильтра, поскольку в противном случае наложения в частотной характеристике цифрового фильтра станут недопустимыми. Если же не все полюсы Н (s) простые, то результаты, которые будут получены в настоящем разделе, следует несколько модифицировать.
Импульсная характеристика h (f) аналогового фильтра с передаточной функцией вида (4.44) описывается соотношением
Nк № = 2 c^u-t (»).(4.46)
i=l
Дискретизуя ее, получим импульсную характеристику цифрового фильтра
Nh (пТ) = 2 cte"dtuTu-1 (пТ),(4.47)
г=1
где Т — период дискретизации. Найдем ее z-преобразование
ОООО jV
н (z) = 2 к (пТ) г" = 2 2 cie-d<"Tz-”. (4.48) п—0п=0 г=1
Изменив порядок суммирования и просуммировав по п, получим N ооN
й(г)=2 с, 2(е-^--)"= 2 (4.49)
г=1 п=0г=1 ^ е 2
Сравним формулы (4.49) и (4.44). Видно, что для простых полюсов переход от Н (s) к Н (z) осуществляется с помощью отображения,
при котором используется замена
1s+di1s+di1А -<11Т1 — z *е 11А -<11Т1 — z *е 1(4.50)(4.50)
1s+di
1s+di
1
А -<11Т
1 — z *е 1
1
А -<11Т
1 — z *е 1
(4.50)
(4.50)
Если полюсы dt комплексные, то остатки с^ в (4.44) также будуткомплексными. Функция Л (i) действительная, поэтому должнысуществовать также комплексно сопряженные полюс d* и остатокс*. Просуммируем эти комплексно сопряженные члены в (4.44):ct । с* _^с*^8^с1й*^с*й1
s + dt"Ts + d*- s2 + (di + d*)s+d.d* •М
Положив d^Oi+ZQi и c^gi+J^-i, получим
(4.52)(4.52)Cj । ct 2g/s+2 (Ojgj + fijAj)
(4.52)
(4.52)
s + ^ ' s + d? ” «8 + 2а^ + (а8+й?) *
Использование отображающей замены (4.50) применительно к каждому слагаемому в формуле (4.51) дает
IСг_
1 —Z^e i1 —z-le
t^ + ^-z-1^ diT+c*e ^
=- (4.53)
A -4/ "diT ,I'
1 —z 4(e 1 +e 1 ) + z ae 1
2g t— z~^e[2gt cos (QiT)— 21ц (sin О/Т)],» rz\-a.T-2a-T•
1 —2z-!e 1 cos (QjTJ + z-ae 1
Из формул (4.52) и (4.54) получаем
_2±£±Я1^1_ у 1 -z-ie-aT [cos (QT) - Wg) sin (QT)j , 55.
e8+2as + a8 + Q81 —гг^е^^сов (ЙТ) + 2-8е~2аГ' ‘
(индекс i здесь опущен, а числители поделены на 2g).
Приведем два полезных частных случая этой отображающей замены, соответствующих аналоговым фильтрам с импульсными характеристиками hx (£) = e~at cos (Qi) u_x (i) и ^2 (0 = = e~at sin (Qi) u_x ^ty.
Hs+°!— z~le~aT cos QT,,
s8 + 2as+<Ta + O8l-2z-ie-°rcos ЙТ^8-»е"2аТ ’(
у / \Оz-^ °r sin QT
2l )— S2 + 2orH-o8+Q8 "^ 1-22-1е-аТ cos QT^-z-»e-2oT ‘
Выше было отмечено, что частотная характеристика цифрового фильтра, рассчитываемого методом инвариантного преобразования импульсной характеристики, образуется путем наложений частот-
Фиг. 4.7. Отображение из s-плоскости в z-плоскость для метода инвариантного преобразования импульсной характеристики.
ной характеристики дискретизуемого аналогового фильтра. Таким образом, можно записать
ОО
Н(е»«Т) = 4- 2 HUQ+jlQ,),(4.58)
I—— ОО
где Qs = 2л!Т — угловая частота дискретизации цифрового фильтра. На фиг. 4.7 показано соответствующее инвариантному преобразованию импульсной характеристики отображение из s-плоскости в z-плоскость. Каждая горизонтальная полоса шириной 2л/Г из s-плоскости отображается на z-плоскость. Поэтому все смежные полосы из s-плоскости будут при отображении накладываться друг на друга в^-плоскости. Отсюда следует, что для того, чтобы частотные характеристики исходного аналогового фильтра и рассчитываемого методом инвариантного преобразования импульсной характеристики цифрового фильтра соответствовали друг другу, необходимо, чтобы полоса пропускания аналогового фильтра находилась в пределах диапазона —л/Т^й^л/Т. Для выполнения этого условия необходимо до начала преобразования вводить дополнительный фильтр нижних частот, гарантирующий соответствующее ограничение полосы пропускания аналогового фильтра.
Пример инвариантного преобразования импульсной характеристики. Для иллюстрации этого метода дискретизуем аналоговый фильтр с передаточной функцией вида
ТТ , ч2_11
(s —|-1) (s —|-3)s—1-1s—1-3 '
Непосредственное использование отображающей замены (4.50) дает
н
Фиг. 4.8. Амплитудная и фазовая характеристики аналогового фильтра.
Частотная характеристика аналогового фильтра определяется соотношением
•'Н ^ = (3 —Q»)+4/Q *
На фиг. 4.8 представлены амплитудная и фазовая характеристики этого фильтра. Характеристики соответствующего цифрового фильтра для разных значений периода дискретизации Т — 1/^ изображены на фиг. 4.9. Ясно, что при уменьшении Т (т. е. при увеличении частоты дискретизации F8) эффекты наложения могут оказаться пренебрежимо малыми и частотные характеристики аналогового и цифрового фильтров станут похожими друг на друга.
■4.7. Билинейное ^-преобразование
Достоинство первого из двух рассмотренных выше методов расчета цифрового фильтра по характеристикам аналогового фильтра, основанного на замене дифференциалов конечными разностями, заключалось в том, что z-преобразование импульсной характеристики цифрового фильтра элементарно получалось из преобразования Лапласа импульсной характеристики аналогового фильтра с помощью простой алгебраической подстановки. Недостатки же этого метода состояли в том, что ось jQ из s-плоскости не отображалась, вообще говоря, в единичную окружность на z-плоскости, а устойчивый аналоговый фильтр (в случае использования прямых разностей) не всегда отображался в устойчивый цифровой фильтр.
Фиг. 4.9. Амплитудная и фазовая характеристики цифровых фильтров, рассчитанных методом инвариантного преобразования импульсной характеристики аналогового фильтра, представленного на фиг. 4.8.Фиг. 4.9. Амплитудная и фазовая характеристики цифровых фильтров, рассчитанных методом инвариантного преобразования импульсной характеристики аналогового фильтра, представленного на фиг. 4.8.
Фиг. 4.9. Амплитудная и фазовая характеристики цифровых фильтров, рассчитанных методом инвариантного преобразования импульсной характеристики аналогового фильтра, представленного на фиг. 4.8.
Фиг. 4.9. Амплитудная и фазовая характеристики цифровых фильтров, рассчитанных методом инвариантного преобразования импульсной характеристики аналогового фильтра, представленного на фиг. 4.8.
Существует, однако, простое конформное отображение s-плоскости в z-плоскость, свободное от этих недостатков и в то же время сохраняющее удобную алгебраическую форму преобразования. Оно называется билинейным преобразованием, использующим следующую замену:
(4.59)(4.59)д , 2
(4.59)
(4.59)
Т (1 + z-l) е
(4.60)(4.61)(4.60)(4.61)Характер этого преобразования проще всего понять, если обратиться к фиг. 4.10, где показано, каким образом s-плоскость отображается в z-плоскость. Видно, что вся ось /Й из s-плоскости отображается в единичную окружность на z-плоскости; левая полуплоскость s отображается в единичный круг, а правая полуплоскость s — в область, расположенную вне единичного круга на z-плоскости. Эти свойства легко проиллюстрировать, если из формулы (4.59) найти выражение для z:
(4.60)
(4.61)
(4.60)
(4.61)
При s- /ЙПри s- /Й^T^ — t •
При s- /Й
При s- /Й
(2/D + 7O
(2/7)-/й *
Отсюда видно, что |z| = 1. При й — 0 имеем z = 1 и при й = оо 2 = —1, в промежутке z монотонно меняется от 0 до л. Подставив
Фиг. 4.10. Отображение s-плоскости в z-плоскость при билинейном преобразовании.Фиг. 4.10. Отображение s-плоскости в z-плоскость при билинейном преобразовании.
Фиг. 4.10. Отображение s-плоскости в z-плоскость при билинейном преобразовании.
Фиг. 4.10. Отображение s-плоскости в z-плоскость при билинейном преобразовании.
в формулу (4.60) s — о + /О, получим
(4.62)(4.62)(2/n + <r+/Q
(4.62)
(4.62)
(2/Г) —о—;Q *
При а < 0 (для левой полуплоскости s) | z | < 1, т. е. точки располагаются внутри единичной окружности.
При билинейном преобразовании передаточная функция цифрового фильтра Н (z) рассчитывается с помощью алгебраической подстановки (4.59), т. е.
(4.63)(4.63)И ^ = Н (S) |s=(2/T)[(l-z-l)/(l+z-l)].
(4.63)
(4.63)
Из этого соотношения видно, что порядки знаменателей функций Н (z) и Н (s) совпадают, но порядки числителей могут отличаться. Действительно, передаточная функция
Н^Н^1s + «1s + «
Н^
Н^
1
s + «
1
s + «
имеет числитель нулевого порядка, а знаменатель — первого порядка. В то же время получаемая методом билинейного преобразования функция Н (z) равна
ту ,х1 14-z-1
W- (2/T)[(l-z-l)/(l + z-l)] + a ~ 2/T + a + z-l [а—(2/Г)] ’
где и числитель, и знаменатель первого порядка. Причиной этого является то, что функция Н (s) имеет нуль на бесконечности (s = оо), который при билинейном преобразовании отображается в точку Z = —1. .
Фиг. 4.11. Соотношение между частотными шкалами аналогового и цифрового фильтров при билинейном преобразовании.
Так как в единичную окружность на z-плоскости отображается вся ось /О из s-плоскости, то эффекты, связанные с наложениями в частотной характеристике цифрового фильтра, характерные для метода инвариантного преобразования импульсной характеристики, в данном случае будут отсутствовать. Однако соотношение между частотами аналогового фильтра Q и цифрового фильтра со оказывается существенно нелинейным. Рассмотрим характер этой нелинейности, положив в (4.59) z = ^®т и s = /Q, что дает
A
Т (1+^^) » или
п 2 [ej(ti>T/2)_e-X<0T/2)j
Т {^(соТ/2) ^-ДсоТ/г)} » откуда
jQ-^ —7tg^ —
Это соотношение представлено на фиг. 4.11 для случая Т = 2. При небольших со отображение почти линейно, о дна ко для основной части частотной шкалы оно существенно нелинейно и сильно ограничивает область применения билинейного преобразования. Действительно, амплитудная характеристика преобразуемого анало-
Фиг. 4.12. Методика учета нелинейного искажения частотной шкалы при билинейном преобразовании.
гового фильтра должна быть ступенчатообразной функцией частоты, так как в противном случае частотная характеристика цифрового фильтра будет представлять собой деформированную характеристику аналогового фильтра. По этой причине, например, билинейное преобразование нельзя использовать для преобразования аналогового дифференцирующего фильтра в цифровой дифференциатор. Существует, правда, довольно большой класс фильтров, для которых частотная деформация, описываемая соотношением (4.65), может быть скомпенсирована. К ним относятся фильтры нижних и верхних частот, полосовые и режекторные. Метод компенсации деформации достаточно прост (фиг. 4.12). Совокупность характерных частот среза цифрового фильтра известна. Пусть
в данном случае их будет четыре: й>х, <о2, (о^, <о4 (они показаны на фиг. 4.12 справа внизу). Используя нелинейное соотношение (4.65) между частотными шкалами цифрового и аналогового фильтров, пересчитаем все частоты среза цифрового фильтра в частоты среза аналогового фильтра, которые будут равны йп й2, ^з> й4 (см. на фиг. 4.12 вверху). Теперь рассчитаем аналоговый фильтр, все характерные частоты которого совпадали бы с этими пересчитанными частотами среза цифрового фильтра. Амплитудная характеристика такого аналогового фильтра изображена на фиг. 4.12 слева вверху. Выполнив билинейное преобразование этого аналогового фильтра, получим цифровой фильтр, все частоты среза которого будут совпадать с заданными. Ниже в настоящей главе будут даны примеры расчета фильтров нижних и верхних частот методом билинейного преобразования.
Итак, билинейное преобразование обеспечивает простое отображение между аналоговыми и цифровыми фильтрами и является алгебраическим преобразованием, при котором ось /й полностью отображается в единичную окружность на z-плоскости. Кроме того, ему присуще свойство отображать физически реализуемый устойчивый аналоговый фильтр также в физически реализуемый и устойчивый цифровой фильтр. Более того, аналоговые широкополосные фильтры с резкими скатами могут быть отображены в широкополосные цифровые фильтры с резкими скатами без искажений частотной характеристики, связанных с наложениями, которые характерны для метода инвариантного преобразования импульсной характеристики. Недостаток метода билинейного преобразования заключается в том, что эффекты нелинейности соотношения между частотными шкалами аналогового и цифрового фильтров удается учесть лишь в том случае, когда частотная характеристика аналогового фильтра имеет вид ступенчатообразной функции. Кроме того, при билинейном преобразовании ни импульсная, ни фазовая характеристики аналогового и цифрового фильтров не будут совпадать.
Согласованное ^-преобразование
(4.66)(4.66)Четвертый метод дискретизации аналоговых фильтров, называемый согласованным z-преобразованием, основан на непосредственном отображении полюсов и нулей из s-плоскости в'полюсы и нули на z-плоскости. При таком отображении полюс (или нуль) в точке s = —а плоскости s отображается в полюс (или нуль) в точке z = ё"аТ плоскости z, где Т — период дискретизации. Таким образом, при согласованном z-преобразовании отображающая замена будет иметь вид
(4.66)
(4.66)
s-|-a->*l—2Г1е~оГ.
Фиг. 4.13. Расположение полюсов и нулей в s-плоскости и амплитудная характеристика аналогового фильтра.Фиг. 4.13. Расположение полюсов и нулей в s-плоскости и амплитудная характеристика аналогового фильтра.
Фиг. 4.13. Расположение полюсов и нулей в s-плоскости и амплитудная характеристика аналогового фильтра.
Фиг. 4.13. Расположение полюсов и нулей в s-плоскости и амплитудная характеристика аналогового фильтра.
Ерли полюсы (или нули) комплексные, то (4.66) можно переписать следующим образом:
(s + a —/6) (s + a + /6) =
= (s + а)2 ^ ^ _^ j _ 2z-ie-«T cos (dT) + е-2оТ. (4.67)
Необходимо отметить, что полюсы цифрового фильтра, рассчитываемого методом согласованного z-преобразования аналогового фильтра, оказываются идентичными полюсам, получаемым при инвариантном преобразовании импульсной характеристики того же аналогового фильтра, однако нули существенно различаются. Необходимо также учитывать, что для использования метода согласованного z-преобразования передаточная функция Н^ аналогового фильтра должна быть разложена на множители.
Метод согласованного z-преобразования довольно прост в использовании, однако во многих случаях он неприменим. Так, если центральные частоты аналогового фильтра, соответствующие его нулям, превышают половину частоты дискретизации, то положение нулей цифрового фильтра будет существенно искажено
Частота, Щ
Фиг. 4.14. Расположение полюсов и нулей в z-плоскости и амплитудная характеристика цифрового фильтра, рассчитанного методом согласованного z-преобразования полюсов и нулей аналогового фильтра, представленного на фиг. 4.13.
эффектом наложения. Покажем это на примере передаточной функции
„ , хs* + 2s4-5626 .
н и = Л2Г+2
с нулями в точках s = —1 ± /75 и полюсами в точках s = —1 ± ± /1. Расположение нулей и полюсов этой функции в s-плоскости, а также амплитудная характеристика (в логарифмическом масштабе) представлены на фиг. 4.13. Пусть Т = 1/12. Используя согласованное z-преобразование, получим следующее выражение для передаточной функции цифрового фильтра:
— 2#-1^12СО8) г~,4*#~1^62-2
Н (2) =.
— 2е ^12 cos z-14*» ^z-2
\ 12 /
Полюсы этой функции расположены в точках с полярными координатами z = e-1/12e±J (1/12\ а нули — в точках с координатами z = ^-1/12^± jv 5/12. Приближенное положение полюсов и нулей в z-плоскости и амплитудная характеристика цифрового фильтра показаны на фиг. 4.14. Видно, что при использовании согласо-
ванного z-преобразования из-за эффекта наложения нули аналогового фильтра из области верхних смещаются в область нижних частот для цифрового фильтра.
Согласованное ^-преобразование неприменимо также в случае, когда передаточная функция аналогового фильтра имеет только полюсы. Передаточная функция цифрового фильтра также будет иметь только полюсы, но во многих случаях она не будет соответствовать исходному аналоговому фильтру. Считается, что несколько лучшие результаты можно получить, искусственно введя в цифровой фильтр нули, в точке a = —1, однако эту меру даже в лучшем случае следует рассматривать лишь как временную. Вообще использование инвариантного преобразования импульсной характеристики или билинейного преобразования предпочтительнее использования согласованного z-преобразования.
Обзор методов расчета аналоговыхфильтров нижних частот
Значительная часть теории расчета цифровых БИХ-фильтров требует понимания методов расчета фильтров непрерывного времени. Поэтому в данном разделе будут приведены расчетные формулы для нескольких стандартных типов аналоговых фильтров, включая фильтры Баттерворта, Бесселя, Чебышева типа I и II и Кауэра (называемые также эллиптическими фильтрами). Подробный анализ достоинств и недостатков способов аппроксимации заданных характеристик, соответствующих этим фильтрам, можно найти в ряде работ, посвященных методам расчета аналоговых фильтров, поэтому ниже будут лишь кратко перечислены основные свойства фильтров каждого типа и приведены расчетные соотношения, необходимые для получения коэффициентов аналоговых фильтров.■
Пусть нужно рассчитать нормированный фильтр нижних частот с частотой среза, равной Q = 1 рад/с. В качестве аппроксимируемой функции будет, как правило, использоваться квадрат амплитудной характеристики (исключением является фильтр Бесселя). Будем считать, что передаточная функция аналогового фильтра является рациональной функцией переменной s следующего вида:
та
2 &<s*
Я(з)=^.(4.68)
1+2 <48^
<=1
Фильтры Баттерворта
Фильтры Баттерворта нижних частот характеризуются тем, что имеют максимально гладкую амплитудную характеристику в начале координат в s-плоскости. Это означает, что все существующие производные от амплитудной характеристики в начале координат равны нулю. Квадрат амплитудной характеристики нормированного (т. е. имеющего частоту среза 1 рад/с) фильтра Баттерворта равен-
I^W-Tnoy-<4'69>
где п — порядок фильтра. Аналитически продолжая функцию (4.69) на всю s-плоскость, получим
»(*)»(-»)= 1+(1^)п»(4.70)
Все полюсы (4.70) находятся на единичной окружности на одинаковом расстоянии друг от друга в s-плоскости. Выразим передаточную функцию Н (s) через полюсы, располагающиеся в левой полуплоскости s:
Н № =.(4-71)
П (s—sh)h=l
где
5fc = ^V2+(2fe-i)/2njt Л=1,2, ..„п,(4.72)
а к0 — константа нормирования. Используя формулы (4.69) и (4.72), можно сформулировать несколько свойств фильтров Баттерворта нижних частот:
Фильтры Баттерворта имеют только полюсы (все нули передаточных функций этих фильтров расположены на бесконечности).
На частоте Q = 1 рад/с коэффициент передачи фильтров Баттерворта равен 1/1^2 (т. е. на частоте среза их амплитудная характеристика спадает на 3 дБ).
Порядок фильтра п полностью определяет весь фильтр.
На практике порядок фильтра Баттерворта обычно рассчитывают из условия обеспечения определенного ослабления на некоторой заданной частоте Q< > 1. Порядок фильтра, обеспечивающий на частоте Q = Qt уровень амплитудной характеристики, равный 1/А, можно найти из соотношения
(4.73)(4.73)Ig(^-l)21gQ, *
(4.73)
(4.73)
Фиг. 4.15. Расположение полюсов аналогового фильтра Баттерворта нижних частот.
Фиг. 4.16. Амплитудная и фазовая характеристики, а также характеристика групповой задержки аналогового фильтра Баттерворта нижних частот.
Пусть, например, требуется на частоте fit = 2 рад/с обеспечить ослабление, равное А = 100. Тогда
1g (9999)4 g 4
21g 22(0,301)*
Округлив п в большую сторону до целого числа, найдем, что заданное ослабление обеспечит фильтр Баттерворта 7-го порядка.
Пример 1. Рассчитать фильтр Баттерворта с ослаблением не менее 66 дБ на частоте Q = 2000 л рад/с и с ослаблением 3 дБ на частоте Q = 1000 л рад/с.
Решение. Используя в качестве расчетных характеристик 1/4 = 0,0005 (что соответствует ослаблению на 66 дБ) и fit = 2, получим п = 10,97. Округление дает п = 11. На фиг. 4.15 показано расположение полюсов рассчитанного фильтра Баттерворта в s-плоскости. Амплитудная (в логарифмическом масштабе) и фазовая характеристики, а также характеристика групповой задержки этого фильтра представлены на фиг. 4.16.
Фильтры Бесселя
Фильтры Бесселя характеризуются максимально гладкой характеристикой групповой задержки в начале координат в s-плоскости. Переходная характеристика фильтров Бесселя имеет весьма малый выброс (обычно менее 1%), причем и импульсная и амплитудная характеристики стремятся к гауссовой кривой по мере увеличения порядка фильтра. Можно показать, что при дискретизации непрерывных фильтров Бесселя методами, рассматриваемыми в данной главе, характерное для этих фильтров свойство максимальной гладкости характеристики групповой задержки, вообще говоря, не сохраняется. Подробно этот вопрос изложен в статье Тайрана.
(4.74)(4.74)Передаточная функция фильтров Бесселя записывается в виде
(4.74)
(4.74)
н^-№
где Вп (s) - мирования,где Вп (s) - мирования,функция Бесселя п-го порядка, a d0 — константа нор- равная
где Вп (s) - мирования,
где Вп (s) - мирования,
(4.75)(4.75)Л -WL
(4.75)
(4.75)
°02"п! '
Появление функций Бесселя в знаменателе (4.74) является результатом усечения при представлении функции единичной задержки е-8 в виде цепной дроби. Функции Бесселя удовлетворяют следующему рекуррентному соотношению:
Bn(s = (2п —l)Bn_1(s)4-s2Bn_2(s) (4.76)
с начальными условиями Во (s) = 1 и Bt (s) = s + 1- Эти функции можно также представить в виде
Вп^ = 3 ^,h=0
где
d =—к = 0, 1, ..., п.
2n-ftA!(n — Л)!
(4.77)(4.77)(4.78)(4.78)Фиг. 4.17. Амплитудная и фазовая характеристики, а также характеристика групповой задержки аналогового фильтра Бесселя нижних частот.Фиг. 4.17. Амплитудная и фазовая характеристики, а также характеристика групповой задержки аналогового фильтра Бесселя нижних частот.Можно показать, что фильтры Бесселя имеют только полюсы, которые расположены на окружности с центром на действительной положительной полуоси s-плоскости.
(4.77)
(4.77)
(4.78)
(4.78)
Фиг. 4.17. Амплитудная и фазовая характеристики, а также характеристика групповой задержки аналогового фильтра Бесселя нижних частот.
Фиг. 4.17. Амплитудная и фазовая характеристики, а также характеристика групповой задержки аналогового фильтра Бесселя нижних частот.
В отличие от фильтров Баттерворта частота Среза фильтров Бесселя Qe зависит от их порядка, что затрудняет работу с Ними. Частоту среза фильтра Бесселя n-го Порядка можно найти, анализируя поведение его амплитудной характеристики на высоких частотах. Из формул (4.75) и (4.78) получим
lim | Н (j^ | -► Q^oolim | Н (j^ | -► Q^oo4)4)(4.79)(4.79)
lim | Н (j^ | -► Q^oo
lim | Н (j^ | -► Q^oo
4)
4)
(4.79)
(4.79)
Чтобы определить асимптотическую частоту среза, найдем такуючастоту Qc, на которой |Я(/Й)| =* %. Соотношение (4.79) дает
|я1(А)1->|=^,|я1(А)1->|=^,(4.80)(4.80)откудаае=й,п.откудаае=й,п.(4.81)(4.81)
|я1(А)1->|=^,
|я1(А)1->|=^,
(4.80)
(4.80)
откуда
ае=й,п.
откуда
ае=й,п.
(4.81)
(4.81)
Для нормирования йс к величине 1 рад/с разделим все корни фильт ра на d^”. При этом задержка в фильтре вместо 1 становится равной d}/n, а уровень амплитудной характеристики на частоте 1 рад/с будет уменьшаться при увеличении порядка фильтра п.
Обычно фильтры Бесселя рассчитывают, задавая порядок фильтра п и частоту среза я отыскивая корни по таблице.
На фиг. 4.17 в качестве примера приведены амплитудная (в логарифмическом масштабе) и фазовая характеристики, а также характеристика групповой задержки фильтра Бесселя нижних частот 10-го порядка. Асимптотическая частота среза этого фильтра равна 1000 л рад/с (т. е. 500 Гц).
Фильтры, Чебышева
Отличительной чертой фильтров Чебышева является наименьшая величина максимальной ошибки аппроксимации в заданной полосе частот. В действительности ошибка аппроксимации представляется в заданной полосе равновеликими пульсациями, т. е. она флуктуирует между максимумами и минимумами равной величины. В зависимости от того, где минимизируется ошибка аппроксимации — в полосе пропускания или в полосе непропускания,— различают фильтры Чебышева типа I и II.
Фильтры Чебышева типа I имеют только полюсы и обеспечивают равновеликие пульсаций амплитудной характеристики в полосе пропускания и монотонное изменение ослабления в полосе непропускания. Квадрат * амплитудной характеристики фильтра Чеб^ппева типа I Л~тд порядка описывается выражением
(482)
где Тп (£2) — полином Чебышева п-го порядка, по определению равный
(4.83)(4.83){cos (narccos£2), |Q|^1, ch (n Arch Й),|Q|>1,
(4.83)
(4.83)
a e — параметр, характеризующий пульсации в полосе пропускания.
Свойство оптимальности фильтров Чебышева типа I порядка п заключается в том, что не существует какого-либо другого фильтра п-го порядка, содержащего только полюсы, который имел бы такие же или лучшие характеристики и в полосе пропускания, и в полосе непропускания. Другими словами, если какой-либо фильтр п-го порядка, содержащий только полюсы, имеет в полосе пропускания лучшие характеристики по сравнению с фильтром Чебышева типа I порядка п^ то в полосе непропускания характеристики этого фильтра наверняка будут хуже, чем у фильтра Чебышева.
Фильтры Чебышева типа II (иногда их называют также обратными фильтрами Чебышева) обеспечивают монотонное изменение ослабления в полосе пропускания (максимально гладкое при £2 = 0) и равновеликие пульсации в полосе непропускания. Нули фильтров этого типа располагаются на мнимой оси в s-плоскости, а полюсы — в левой полуплоскости. Квадрат амплитудной характеристики фильтров Чебышева типа II порядка п можно представить следующим образом:
1Н (Q) I2=* (4‘84) где &г — наинизшая частота, на которой в полосе непропускания достигается заданный уровень ослабления.
На фиг. 4.18 показано поведение квадрата амплитудной характеристики для фильтров Чебышева типа I и II при четных и нечетных п. Во всех этих фильтрах граница полосы пропускания находится при £2 = 1, где 127 (1) |2 = 1/(1 + е2), а граница полосы непропускания расположена при £2 = £2Г, где \Н (£2Г)|2 = 1/Л2.
Фильтр Чебышева типа I имеет простые полюсы в точках Sh = о к + j^kt где к = 1, 2,..., п, которые лежат в s-плоскости на эллипсе, уравнение которого имеет вид
(4.85)(4.86)(4.85)(4.86)°ь + Йь _1sh2 ф ch2 ф *
(4.85)
(4.86)
(4.85)
(4.86)
Здесь
<4 = ~shvsin [-^^-],
£2ft = ch ф cos [—^-Я],
ИИФиг. 4.18. Общий вид функции квадрата амплитудной характеристики аналоговых фильтров Чебышева нижних частот типа I и II.а — фильтр Чебышева типа I; б — фильтр Чебышева типа II,Фиг. 4.18. Общий вид функции квадрата амплитудной характеристики аналоговых фильтров Чебышева нижних частот типа I и II.а — фильтр Чебышева типа I; б — фильтр Чебышева типа II,=Ь<р=^П,сьФ=^-=Ь<р=^П,сьФ=^-(4.87)(4.88)(4.87)(4.88)
И
И
Фиг. 4.18. Общий вид функции квадрата амплитудной характеристики аналоговых фильтров Чебышева нижних частот типа I и II.
а — фильтр Чебышева типа I; б — фильтр Чебышева типа II,
Фиг. 4.18. Общий вид функции квадрата амплитудной характеристики аналоговых фильтров Чебышева нижних частот типа I и II.
а — фильтр Чебышева типа I; б — фильтр Чебышева типа II,
=Ь<р=^П,сьФ=^-
=Ь<р=^П,сьФ=^-
(4.87)
(4.88)
(4.87)
(4.88)
п четноеп четноеп нечетное
п четное
п четное
Фильтры Чебышева типа II имеют и полюсы, и нули. Нули являются чисто мнимыми и находятся в точках
s h = j, &=1, 2,(4.89)
л 1 cos{[(2*— 1)/2п] л} *’ *’ ■''
(Отметим, что при нечетных п нуль с номером к = (п +1)/2 находится на бесконечности.) Полюсы фильтров типа TI можно найти, вычислив координаты особых точек знаменателя передаточной функции (4.84).
Простые преобразования дают для полюсов sft = ок + JQk (& — 1, 2, ...) следующие выражения:
(4.90)(4.90)
(4.90)
(4.90)
р6 = сЬ<рсоз[-Ы^,р6 = сЬ<рсоз[-Ы^,(4.91)(4.91)причемпричемsh ф‘sh ф‘. у—у-121. у—у-121ch ф =ch ф =(4.92)(4.92)ииув(Л + УАа-1)1/п.ув(Л + УАа-1)1/п.(4.93)(4.93)
р6 = сЬ<рсоз[-Ы^,
р6 = сЬ<рсоз[-Ы^,
(4.91)
(4.91)
причем
причем
sh ф‘
sh ф‘
. у—у-1
21
. у—у-1
21
ch ф =
ch ф =
(4.92)
(4.92)
и
и
ув(Л + УАа-1)1/п.
ув(Л + УАа-1)1/п.
(4.93)
(4.93)
где
.. Г(2£—1)л1
ah = — sh ф sin рJ *
Фильтры Чебышева типа I и II полностью определяются любыми тремя из следующих четырех параметров:
п (порядок фильтра);
е (параметр, характеризующий пульсации в полосе пропускания, см. фиг. 4.18);
Qr (наинизшая частота, на которой в полосе непропуска- ния достигается заданное ослабление, см. фиг. 4.18);
А (параметр, характеризующий ослабление в полосе непро- пускания, см. фиг. 4.18).
Порядок фильтра Чебышева п, необходимый для обеспечения заданных значений е, А и Qr, определяется с помощью формулы
(4.94)(4.94)lg (g+/^— 1)
(4.94)
(4.94)
lg (Qr+/SFn)’
где
(4.95)
Пример 2, Рассчитать фильтр Чебышева минимального порядка, удовлетворяющий'следующим условиям:
пульсации в полосе пропускания равны 2 дБ;
переходное отношение 1/^. == 0,781;
Фильтр Чебыииева типа I п=6, Qr-1,28,A-41,67Фильтр Чебыииева типа I п=6, Qr-1,28,A-41,678 = 0,764,А =31,62,8 = 0,764,А =31,62,
Фильтр Чебыииева типа I п=6, Qr-1,28,A-41,67
Фильтр Чебыииева типа I п=6, Qr-1,28,A-41,67
8 = 0,764,
А =31,62,
8 = 0,764,
А =31,62,
О
-20 to
-40
-60
200
100 0 ^-100
-200
8
6
N 4
2
. о 10002000300040005000
Частота, Гц
Фиг. 4.19. Амплитудная и фазовая характеристики, а также характеристики групповой задержки аналогового фильтра Чебышева нижних частот типа I.
ослабление в полосе непропускания 30 дБ.
Решение. Используя фиг. 4.18, найдем параметры фильтра е, А и Qr по заданным характеристикам
— 2 дБ = 201g-^==г-* — 30 дБ= 201g (—) ,
Йг“ 0,781 — ^^.
Затем по формуле (4.95) получим g = 41,33, а по формуле (4.94) вычислим значение п = 6,03.
Фильтр Чебышева типа II
Фиг. 4.20. Амплитудная и фазовая характеристики, а также характеристика групповой задержки аналогового фильтра Чебышева нижних частот типа II.
На фиг. 4.19 и 4.20 представлены основные характеристики (амплитудная в логарифмическом масштабе, фазовая и групповой задержки) фильтров Чебышева типа I и II, удовлетворяющие условиям, перечисленным в примере 2. Оба фильтра имеют частоту среза Йс = 1000л рад/с (т. е. /с = 5000 Гц). Из сопоставления фиг. 4.19 и 4.20 видно, что поведение характеристики групповой задержки в полосе пропускания для фильтра типа II вообще значительно лучше, чем для фильтра типа I. Это связано с тем, что нули фильтров Чебышева типа II располагаются в s-плоскости на оси /Й, тогда как все нули фильтров Чебышева типа I находятся на бесконечности.
Эллиптические фильтры
Эллиптические фильтры характеризуются тем, что их амплитудная характеристика имеет равновеликие пульсации и в полосе пропускания, и в полосе непропускания. Можно показать, что с точки зрения минимальной ширины переходной полосы эллиптические фильтры являются оптимальными, т. е. для заданных порядка фильтра и уровня пульсаций не существует других фильтров с более быстрым переходом от полосы пропускания к полосе непропускания. Квадрат амплитудной характеристики эллиптического фильтра нижних частот записывается в виде
1яда)12=т+ЖГГ‘ <4-96*
где Rn (Q, L) — рациональная функция Чебышева, a L — параметр, характеризующий пульсации функции Rn (Q, L). Проанализируем свойства эллиптических фильтров, используя фиг. 4.21, где представлена типичная функция R* (Q, Ly Видно, что в полосе пропускания —1 ^ Q ^ 1 эта функция осциллирует между 0 и 1, а, начиная с частоты ЙЕ, она осциллирует между L2 и оо. При изменении параметра L величина Йь также будет меняться. Именно на этом свойстве рациональных функций Чебышева основана методика расчета фильтров с произвольным ослаблением и в полосе пропускания, и в полосе непропускания. Фактически можно выбрать любые три из четырех параметров фильтра (порядок, ослабление в полосе пропускания, ослабление в полосе непропускания и переходное отношение, или, что то же самое, частота среза QL), и четвертый из них определяется однозначно.
Изучение свойств функции RK (Q, L) требует знания теории эллиптических функций Якоби, детальное изложение которой увело бы нас слишком далеко. Поэтому, отослав заинтересованного читателя к книге Даниэльса, ограничимся тем, что сначала представим расчетное соотношение, позволяющее найти порядок эллип-
Фиг. 4.21. Типичная рациональная функция Чебышева.
Фиг. 4.22. Общий вид квадрата амплитудной характеристики аналогового эллиптического фильтра нижних частот.Фиг. 4.22. Общий вид квадрата амплитудной характеристики аналогового эллиптического фильтра нижних частот.
Фиг. 4.22. Общий вид квадрата амплитудной характеристики аналогового эллиптического фильтра нижних частот.
Фиг. 4.22. Общий вид квадрата амплитудной характеристики аналогового эллиптического фильтра нижних частот.
тического фильтра, обеспечивающего заданные величины уровш^ пульсаций и переходного отношения, а после этого приведем в качестве примера характеристики типичного эллиптического фильт-: ра. На фиг. 4.22 показано поведение квадрата амплитудной харак-г теристики типичных эллиптических фильтров при нечетном и четном значениях п. Там же представлены параметры пульсаций а и А. Видно, что для эллиптических фильтров они определяются так же, как и для фильтров Чебышева. Переходное отношение к, определяется следующим образом: .
к =^, (4.97)
где Йр <— граничная частота полосы пропускания, а йв — граничная частота полосы непропускания. Если ввести параметр kv равный
kt —kt —ее(4.98)(4.98)
kt —
kt —
е
е
(4.98)
(4.98)
n_ ^№^(/1-^)K^K^l-^ ’n_ ^№^(/1-^)K^K^l-^ ’(4.99)(4.99)то порядок эллиптического фильтра п, удовлетворяющего заданным значениям е, Л, йр и йв, можно рассчитать по формуле
n_ ^№^(/1-^)
K^K^l-^ ’
n_ ^№^(/1-^)
K^K^l-^ ’
(4.99)
(4.99)
где К (•) — полный эллиптический интеграл 1-го рода. В разд. 4.10 описана графическая методика нахождения порядка эллиптических фильтров Чебышева и Баттерворта, удовлетворяющих заданным характеристикам.
Амплитудная (в логарифмическом масштабе) и фазовая характеристики, а также характеристика групповой задержки эллиптического фильтра нижних частот представлены на фиг. 4.23.
Частота, Гц
Фиг. 4.23. Амплитудная и фазовая характеристики, а также характеристика* групповой задержки аналогового эллиптического фильтра нижних частот.
Порядок фильтра п = 6, частота среза Qc = 1000 л рад/с (/с = = 500 Гц), переходное отношение к = 0,781, характеристики пульсаций А = 31,62 и е = 0,01.
Расчетные диаграммы фильтров нижних частот
Выше уже были приведены все расчетные формулы, необходимые для проектирования фильтров нижних частот, однако было бы весьма полезно и информативно представить соотношения между параметрами фильтров графически. Поскольку число этих параметров в общем случае равно пяти (из них два параметра характеризуют пульсации, два дают граничные частоты и один — порядок фильтра), то ясно, что представить соотношения между всеми параметрами с помощью одной диаграммы не удастся. Используя,
Фиг. 4.24. Эквивалентные параметры амплитудной характеристики цифрового фильтра нижних частот.
однако, последовательность из трех диаграмм, можно достаточно просто и наглядно графически представить все расчетные соотношения, причем это относится и к аналоговым и к цифровым фильтрам (рассчитываемым методом билинейного преобразования). В данном разделе будет описана методика построения и использования таких расчетных диаграмм.
На фиг. 4.24 показаны три различных набора параметров пульсаций, используемых для представления пульсаций в полосе пропускания и в полосе непропускания фильтров нижних частот. Амплитудная характеристика, изображенная на фиг. 4.24, а, осциллирует в полосе пропускания 0 ^ / ^ Fp между (1 + 6^ и (1 — 6]), а в полосе непропускания (F8 ^ / ^ 0,5) — между 0 и б2. Характеристика на фиг. 4.24, б осциллирует в полосе пропускания между 1 и (1 — 6^, а в полосе непропускания — между 0 и 62. Амплитудная характеристика на фиг. 4.24, а соответствует КИХ-фильтрам, рассмотренным в гл. 3, тогда как характеристика на фиг. 4.24, б [а также на фиг. 4.24, в, о которой будет сказано ниже] более характерна для БИХ-фильтров, рассчитанных методом билинейного преобразования.
Нетрудно связать между собой величины 6П 62, 6г и 62 таким образом, чтобы амплитудные характеристики, представленные на фиг. 4.24, а и б, были эквивалентными. Для этого достаточно нормировать первую из них, умножив на 1/(1 + б^, что дает
Si=irV. (4Л00) ^=-фг. (4ЛО1> б,=—V. (4л02)
6.—(4.103)
Z— Of
Обозначения, использованные на фиг. 4.24, б, в принципе вполне приемлемы для амплитудных характеристик БИХ-фильтров, однако более общепринятыми для этих фильтров являются обозначения, использующие параметры пульсаций в полосе пропускания в и в полосе непропускания Л, показанные на на фиг. 4.24, в применительно к такой амплитудной характеристике. Из сопоставления фиг. 4.24, б и фиг. 4.24, в легко найти связь в и Л с бх и б2:
е = ^2- 6^/ 6t(4.104а)
(1-61)’К
Л = 4-.(4.1046)
6а
Здесь целесообразно ввести три дополнительных параметра фильтра: Е — уровень пульсаций (в полосе пропускания), АТТ — ослабление в полосе непропускания и ц. Они определяются с помощью следующих формул:
E = 201gVl + e\(4.105)
АТТ= 201g А,(4.106)
п = 8= У^Уа-б^» =2/м2,410?)
/Л*-1/i_6»(i„6i)(1-61)/и+б^-бГ2
Параметры Е и АТТ образуют четвертый набор параметров БИХ- фильтра, описывающих его амплитудную характеристику. Показано, что параметр т) является основным параметром аналоговых фильтров и будет использован далее при построении расчетных диаграмм.
Выше было отмечено, что при расчете БИХ-фильтра по фильтру- прототипу непрерывного времени методом билинейного преобразования частотные шкалы этих фильтров связаны простым деформирующим соотношением. Поэтому величину переходного отношения к для фильтров нижних частот можно представить следующим образом:
А: = 4^- для фильтров непрерывного времени, (4.108)
'tg(®p/2)
/с = ——-——— для цифровых фильтров.(4.1 ОУ)
Формула (4.109) дает деформированное (по частоте) переходное отношение.
Чтобы иметь возможность связать искомый порядок фильтра п с параметрами пульсаций (6П 62), или (olt б2), или (е, Л), а также со значениями граничных частот (Qp, Q,) или (сор, со8), следует для
каждого типа фильтра непосредственно использовать свою формулу для расчета и. Чтобы проанализировать эти формулы, перепишем их:
K^KkVv-^K^KkVv-^для эллиптических фильтров,для эллиптических фильтров,Arch (1/Aj)\ кArch (1/Aj)\ кдля фильтров Чебышева,для фильтров Чебышева,(4.110)(4.111)(4.110)(4.111)
K^KkVv-^
K^KkVv-^
для эллиптических фильтров,
для эллиптических фильтров,
Arch (1/Aj)
\ к
Arch (1/Aj)
\ к
для фильтров Чебышева,
для фильтров Чебышева,
(4.110)
(4.111)
(4.110)
(4.111)
п = in£r Дая фильтров Баттерворта. (4.112) Здесь кх = т) 1см. формулу (4.107)]. Ниже для каждого из рассмотренных типов фильтров будет дан простой и наглядный метод графического представления расчетных соотношений для цифровых и аналоговых фильтров с использованием последовательности из трех диаграмм.
Диаграмма 1 (фиг. 4.25а) связывает расчетный параметр фильтра ц с параметрами пульсацийбхи 62 в полосе пропускания и в полосе непропускания соответственно (или с эквивалентными им параметрами). Диаграмма 2 представляет расчетное соотношение, связывающее порядок фильтра уц расчетный параметр т) и переходное отношение к. Диаграмма 3 связывает переходное отношение к, граничную частоту полосы пропускания Fp и ширину переходной полосы V.
На фиг. 4.25а—4.25г приведены четыре различных варианта диаграммы 1. Диаграммы на фиг. 4.25а и фиг. 4.256 соответствуют фильтрам, для которых в качестве параметров пульсаций используются соответственно 6г и величина 20 lg (1 + 6Х) в децибелах. Диаграммы на фиг. 4.25в и 4.25г соответствуют фильтрам, для которых параметрами являются соответственно 6t и 20 1g (14-61) в децибелах.
Приведенные на фиг. 4.26а—4.26в диаграммы 2 предстовля- ют расчетные соотношения для каждого из трех фильтров прото ■ типов: (4.110) — для эллиптических фильтров, (4.111) — дль фильтров Чебышева и (4.112) — для фильтров Баттерворта. На всех этих диаграммах 2 расчетный параметр фильтров т] изображен в функции переходного отношения к; параметром служит порядок фильтра п. Фиг. 4.26а соответствует эллиптическим фильтрам, фиг. 4.266 — фильтрам Чебышева, фиг. 4.26в — фильтрам Баттерворта. На всех этих трех диаграммах для более удобного размещения кривых, соответствующих различным значениям п, использована неравномерная горизонтальная шкала. Эта нелинейная шкала описывается формулой
х*
к-^кЗ
2
(4.113)
Фиг. 4.256. Расчетная диаграмма 1. Зависимость iq от 62 [20 lg (1 + 64) — параметр].
Ослабление в полосе непропускания, дБ
Фиг. 4.25в. Расчетная диаграмма 1. Зависимость т] от ослабления в полосенепропускания (6] — параметр).
Ослабление в полосе непропускания, дБ
Фиг. 4.25г. Расчетная диаграмма 1, Зависимость т] от ослабления в полосенепропускания [20 lg (1 — 6J — параметр].
Переходное отношение
Фиг. 4.26а» Расчетная диаграмма 2. Зависимость т) от переходного отношения дляэллиптических фильтров (порядок фильтра п — параметр).
Переходное отноицение ■
Фиг. 4.266. Расчетная диаграмма 2. Зависимость т) от переходного отноше-ния для фильтров Чебышева (порядок фильтра п — параметр).
Переходное отношение
Фиг. 4.26в. Расчетная диаграмма 2. Зависимость т) от переходного отноше-ния для фильтров Баттерворта (порядок фильтра п^—' параметр).
Переходное отношение (пересчитанное)Переходное отношение (пересчитанное)Фиг. 4.27а. Расчетная диаграмма 3. Зависимость нормированной ширины пропускания от переходного отношения для цифровых фильтров (ширина переходной полосы v — параметр).Фиг. 4.27а. Расчетная диаграмма 3. Зависимость нормированной ширины пропускания от переходного отношения для цифровых фильтров (ширина переходной полосы v — параметр).НормированнаяНормированная
Переходное отношение (пересчитанное)
Переходное отношение (пересчитанное)
Фиг. 4.27а. Расчетная диаграмма 3. Зависимость нормированной ширины пропускания от переходного отношения для цифровых фильтров (ширина переходной полосы v — параметр).
Фиг. 4.27а. Расчетная диаграмма 3. Зависимость нормированной ширины пропускания от переходного отношения для цифровых фильтров (ширина переходной полосы v — параметр).
Нормированная
Нормированная
где х — значение горизонтальной координаты (0 <ж < 1), а к — ширина переходной полосы. Таким образом, при малых значениях к шкала почти нелинейна, а при больших к, близких к 1, она существенно нелинейна.
Приведенные на фиг. 4.27а и 4.276 диаграммы 3 представляют соотношение, связывающее переходное отношение с частотами среза фильтров [см. формулы (4.108) и (4.109)]. На этих диаграммах частота среза полосы пропускания Fp изображена в функции
Переходное отноиление
Фиг. 4.276. Расчетная диаграмма 3. Зависимость нормированной шириныполосы пропускания от переходного отношения для аналоговых фильтров(ширина переходной полосы v — параметр).
переходного отношения к при различных значениях нормированной ширины переходной полосы v, определяемой следующим образом:
(О, — top
V = F,Fp=2п~ для цифровых фильтров, (4.114) v = й8 — йр для аналоговых фильтров.
Диаграмма на фиг. 4.27а соответствует цифровым фильтрам, а на фиг. 4.276 — аналоговым. Горизонтальная шкала для переходного отношения идентична шкале, использованной в диаграмме 2 на фиг. 4.26.
Использование диаграмм. Чтобы продемонстрировать использование последовательности диаграмм, приведенных на фиг. 4.25—
рассмотрим методику определения порядка п цифрового эллиптического фильтра, удовлетворяющего следующим условиям: пульсации в полосе пропускания 6Х = 0,01 (т. е. ±0,086 дБ); ослабление в полосе непропускания 62 = 0,0001 (80 дБ);
граничная частота среза полосы пропускания 480 Гц; граничная частота среза полосы непропускания 520 Гц; частота дискретизации 8000 Гц.■
Нормирование граничных частот дает
= 8000 =
Для определения порядка п цифрового эллиптического фильтра воспользуемся диаграммами фиг. 4.25а, 4.26а и 4.27а [диаграмма на фиг. 4.26а предназначена для расчета эллиптических фильтров]. Для. получения: значения т, выберем на фиг. 4.25а кривую, соответствующую 6Х = 0,01. Найдя ее пересечение с линией, соответствующей 62 = 0,0001, получим т) « 2 «ЛО*6. Для определения переходного отношения воспользуемся диаграммой на фиг. 4.27а. Найдем пересечение кривой, соответствующей v = =FS — Fp = 0,005, с линией, соответствующей Fp = 0,06; переходное отношение оказывается равным 0,923. [Эта величина хорошо согласуется с отношением FP!FS = 0,06/0,065 = 0,923, соответствующим другому способу нахождения переходного отношения.] Теперь из диаграммы на фиг. 4.26а можно определить порядок фильтра п, найдя пересечение линий, соответствующих значениям расчетного параметра фильтра т] = 2 ЛО-6 и переходного отношения к = 0,923. Таким образом, искомый порядок эллиптического фильтра приблизительно равен 11,5. Чтобы получить заданные значения четырех исходных параметров фильтра, необходимо использовать фильтр 12-го порядка.
При окончательном выборе характеристик фильтра, однако, возможны несколько вариантов. Так, например, если зафиксировать т] = 2 Л0~6 и изменять переходное отношение приблизительно до величины 0,94, когда порядок фильтра п станет равным 12, то новое значение переходного отношения можно получить, соответственно изменив либо Fs, либо Fp. При этом различные варианты характеристик фильтра можно получить с помощью фиг. 4.27а. Если же зафиксировать переходное отношение, то при п=12 параметр фильтра ц будет равен 1,0 ЛО-6. Теперь по диаграмме 1 на фиг. 4.25а можно сравнить различные варианты выбора величин 6Х и 62, определяющих новое значение параметра т). Можно, кроме того, изменить и т], и переходное отношение, взяв, например, их равными 1,5 ЛО*8 и 0,93, так чтобы точка с этими координатами находилась на кривой с п = 12. В этом
случае для обеспечения новых значений т| и переходного отношения можно изменять все четыре параметра фильтра.
Отметим, что при расчете фильтров Чебышева или Баттерворта следует в качестве диаграммы 2 вместо фиг. 4.26а, предназначенной для расчета эллиптических фильтров, использовать фиг. 4.266 или фиг. 4.26в. Методика расчета при этом не меняется. Для каждого из этих двух типов фильтров требуемый порядок будет значительно превышать максимальный предел, использованный в диаграммах и равный 20, так что «эффективность» эллиптических фильтров очевидна.
Описанная методика графического расчета фильтров весьма универсальна. Вообще она универсальнее большинства программ расчета фильтров. Более того, графическая методика дает возможность разработчику глубже понять влияние небольших изменений характеристик фильтра на искомую величину его порядка. Часто разработчик готов снизить требования к характеристикам фильтра, особенно если это может привести к уменьшению его порядка, выбираемого из условия обеспечения этих характеристик.
Сравнение методов инвариантного преобразованияимпульсной характеристики и билинейногопреобразования для эллиптических фильтров
Рассмотрим некоторые вопросы, связанные с дискретизацией аналоговых фильтров методами инвариантного преобразования импульсной характеристики и билинейного преобразования, используя ряд примеров. Так, на фиг. 4.28 представлена амплитудная характеристика (в логарифмическом масштабе) аналогового эллиптического фильтра нижних частот со следующими параметрами: п = 6, переходное отношение Л* = 0,9, А = 1000 (т. е. ослабление в полосе пропускания равно 60 дБ), е = 4,29. Частота среза полосы пропускания равна 1000 Гц. На этой же фигуре изображена амплитудная характеристика (в логарифмическом масштабе) цифрового фильтра (во всех примерах частота дискретизации равна 10000 Гц), рассчитанного методом инвариантного преобразования импульсной характеристики налогового фильтра. Вблизи частоты 1500 Гц ясно видны эффекты наложения, которые привели к нарушению равновеликого характера пульсаций в полосе пропускания. Кроме того, минимум ослабления в полосе непропускания уменьшился с 60 дБ примерно до 55 дБ. Третья амплитудная характеристика на фиг. 4.28 соответствует цифровому фильтру, рассчитанному методом билинейного преобразования после предварительного пересчета всех характерных частот аналогового фильтра. Видно, что по сравнению с аналоговым фильтром положения
Аналоговый эллиптический фильтр
Инвариантное преобразование импульснойхарактеристикиИнвариантное преобразование импульснойхарактеристикиБилинейное преобразование (пересчи-танные частоты)Билинейное преобразование (пересчи-танные частоты)
Инвариантное преобразование импульснойхарактеристики
Инвариантное преобразование импульснойхарактеристики
Билинейное преобразование (пересчи-танные частоты)
Билинейное преобразование (пересчи-танные частоты)
Фиг. 4.28. Сравнение методов инвариантного преобразования импульсной характеристики и билинейного преобразования для эллиптического фильтра нижних частот."Фиг. 4.28. Сравнение методов инвариантного преобразования импульсной характеристики и билинейного преобразования для эллиптического фильтра нижних частот."
Фиг. 4.28. Сравнение методов инвариантного преобразования импульсной характеристики и билинейного преобразования для эллиптического фильтра нижних частот."
Фиг. 4.28. Сравнение методов инвариантного преобразования импульсной характеристики и билинейного преобразования для эллиптического фильтра нижних частот."
максимумов и минимумов несколько сместились, однако пульсации характеристики по-прежнему остались равновеликими.
Следующие два примера приведены для иллюстрации подобных эффектов применительно к эллиптическим режекторным фильтрам и эллиптическим фильтрам верхних частот. На фиг. 4.29 представлены амплитудные характеристики аналогового эллиптического- режекторного фильтра и двух цифровых фильтров, полученных из аналогового методами инвариантного преобразования импульсной характеристики и билинейного преобразования. Полоса исходного аналогового фильтра была неограничена, поэтому эффекты наложения, характерные для метода инвариантного преобразования импульсной характеристики, привели к потере цифровым фильтром режекторных свойств. В то же время цифровой фильтр, рассчитанный методом билинейного преобразования, оказался идентичным исходному аналоговому фильтру. Аналогичные результаты представлены на фиг. 4.30 для фильтра верхних частот. Опять цифровой фильтр, полученный методом инвариантного- преобразования импульсной характеристики, оказался неприемлемым, так как полоса исходного аналогового фильтра была неогра- ничена.
Последний пример, представленный на фиг. 4.31, иллюстрирует интересный результат использования билинейного преобразования для дискретизации аналоговых фильтров типа фильтра Баттерворта. Наверху показана амплитудная характеристика фильтра Баттерворта нижних частот с параметрами п = 6 и tc = = 3500 Гц. На частоте 5000 Гц амплитудная характеристика спадает до уровня —20 дБ. В середине фиг. 4.31 представлена характеристика, соответствующая цифровому фильтру, рассчитанному методом инвариантного преобразования импульсной характеристики. Она иллюстрирует эффект наложения, проявившийся в том, что на частоте 5000 Гц характеристика спадает лишь до —12 дБ. Для фильтра, рассчитанного методом билинейного преобразования, уже на частоте 4500 Гц характеристика спадает до уровня —60 дБ. Таким образом, цифровой фильтр Баттерворта, рассчитанный методом билинейного преобразования, значительно лучше- своего аналогового прототипа. Это связано с нелинейной деформацией частотной шкалы, которая и привела к улучшению избирательности фильтра.
Необходимо отметить, что во всех приведенных примерах сопоставлялись только амплитудные характеристики исходных аналоговых и цифровых фильтров, рассчитанных методами инвариантного преобразования импульсной характеристики и билинейного преобразования. Если для разработчика представляет интерес характеристика групповой задержки или импульсная характеристика цифрового фильтра, ему придется провести дополнительный анализ. Можно показать, что в общем случае при билиней-
Аналоговый эллиптический фильтр
Инвариантное преобразование импульснойхарактеристики
О
-20
^-40
-60
-80
<1>иг. 4.29. Сравнение методов инвариантного преобразования импульснойхарактеристики и билинейного преобразования для эллиптического режектор-ного фильтра.
Аналоговый эллиптический фильтр
п-5, К=0,707
Частота, ТЦ
Фиг. 4.30. Сравнение методов инвариантного преобразования импульснойхарактеристики и билинейного преобразования для эллиптического фильтраверхних частот.
Аналоговый фильтр Баттерворта
Частота, Гц
Фиг. 4.31. Сравнение методов инвариантного преобразования импульснойхарактеристики и билинейного преобразования для широкополосного фильтраБаттерворта нижних частот.
ном преобразовании свойства импульсной характеристики и характеристики групповой задержки аналогового фильтра не сохраняются. Так, в результате билинейного преобразования аналогового фильтра Бесселя свойство максимальной гладкости характеристики груповой задержки не сохраняется. Более того, поскольку амплитудная характеристика фильтров Бесселя существенно непостоянна в полосе пропускания, билинейное преобразование приведет к искажению как амплитудной характеристики, так и характеристики групповой задержки. В большинстве случаев, когда разработчика интересует прежде всего сохранение свойств временных характеристик аналогового фильтра, целесообразно использовать метод инвариантного преобразования импульсной характеристики. Почти во всех других случаях используется билинейное преобразование. •
Частотные преобразования
В предыдущих разделах рассматривались методы расчета фильтров нижних частот непрерывного времени, а также методы их дискретизации. При расчете цифровых фильтров верхних частот, полосовых и режекторных используются два подхода, представленные на фиг. 4.32. Различие'между ними заключается в следующем. В первом случае нормализованный аналоговый фильтр предварительно преобразуется в другой аналоговый фильтр, из которого затем путем дискретизации рассчитывается цифровой фильтр с заданными характеристиками. Во втором случае нормированный фильтр нижних частот дискретизируется сразу же, а затем путем преобразования его полосы формируется цифровой фильтр с заданными характеристиками. Поскольку выше уже были описаны и методы расчета аналоговых нормированных фильт-
Метод 1Метод 1Аналоговый -*-АналоговыйАналоговый -*-АналоговыйS^lS^lЦифровой фильтр с заданными характеристикамиЦифровой фильтр с заданными характеристиками
Метод 1
Метод 1
Аналоговый -*-Аналоговый
Аналоговый -*-Аналоговый
S^l
S^l
Цифровой фильтр с заданными характеристиками
Цифровой фильтр с заданными характеристиками
Метод 2
Йс=1Цифровой-*- Цифровой
Фиг. 4.32. Частотные преобразования фильтров нижних частот.
s24-Q/QuS ^и — ^/)s24-Q/QuS ^и — ^/)Фильтр нижних частот -*- Полосовой фильтр,Фильтр нижних частот -*- Полосовой фильтр,' 5 (Оц — О>)s2 -}- $2ц$2/' 5 (Оц — О>)s2 -}- $2ц$2/Фильтр нижних частот->-Режекторный фильтр.Фильтр нижних частот->-Режекторный фильтр.(4.117)(4.118)(4.117)(4.118)
s24-Q/QuS ^и — ^/)
s24-Q/QuS ^и — ^/)
Фильтр нижних частот -*- Полосовой фильтр,
Фильтр нижних частот -*- Полосовой фильтр,
' 5 (Оц — О>)s2 -}- $2ц$2/
' 5 (Оц — О>)s2 -}- $2ц$2/
Фильтр нижних частот->-Режекторный фильтр.
Фильтр нижних частот->-Режекторный фильтр.
(4.117)
(4.118)
(4.117)
(4.118)
286
ров нижних частот, и методы их дискретизации, в данном разделе будут рассмотрены различные методы преобразования полосы для аналоговых и цифровых фильтров.
Преобразования полосы частот для аналоговых фильтров
Существует много различных методов преобразования фильтра нижних частот с частотой среза, равной 1 рад/с, в другой фильтр нижних частот (имеющий другую частоту среза), а также в фильтр верхних частот, полосовой или режекторный. Перечислим наиболее простые преобразования:
S—^ 77— Фильтр нижних частот-► Фильтр нижних частот, (4.115)
(4.116)(4.116)S—>—— Фильтр нижних частот-► Фильтр верхних частот,
(4.116)
(4.116)
Здесь tiz — нижняя частота среза, Йы — верхняя частота среза.
Примеры преобразования нормированного эллиптического фильтра нижних частот в другой фильтр нижних частот, в фильтр верхних частот, полосовой и режекторный с использованием соотношений (4.115) — (4.118) показаны на фиг. 4.33. Все эти соотношения имеют весьма нелинейный характер, однако при преобразовании стандартных фильтров нижних частот рассмотренных выше типов (за исключением фильтров Бесселя) эти нелинейности не создают никаких трудностей, поскольку частотные характеристики преобразуемых фильтров в интересующей нас полосе частот аппроксимируются ступенчатой функцией. Так, нелинейность отображения приводит к изменению взаимного расположения максимумов и минимумов пульсаций характеристик эллиптических фильтров, но не влияет на амплитуду этих пульсаций. Поэтому фильтры, рассчитанные методами преобразования полосы, сохраняют равновеликий характер пульсаций фильтра-прототипа.
Преобразования полосы для цифровых фильтров
По аналогии с фильтрами непрерывного времени существует несколько простых преобразований цифрового фильтра нижних частот (с частотой среза ®е) в другой фильтр нижних частот (с другой частотой среза <ои), а также в цифровой фильтр верхних частот, полосовой или режекторный. Ниже приведены формулы для
Й
Эллиптический фильтр-прототип нижних частот
Фильтр нижних _ Фильтр верхних частотчастот
<^ЖтопГМЖНЖС~*Вм1*^ Ф^ьтР
<чмтс$п НиЖНих~* Полосовой фильтр
Частота, 1Ц
Фиг. 4.33. Преобразования полосы аналогового фильтра нижних частот.
втих преобразований:
1. z"1 ->-
z-1 —а
1 —аз-1
Фильтр нижних частот Фильтр '
нижних частот.
(4.119)
Здесь
(4.120)(4.120)sin {[(toe—tou)/2] Т}sin{f((oc + ©u)/2] Г}*
(4.120)
(4.120)
<ou — заданная частота среза фильтра нижних частот.
Z*1 —> — ( ТйТ^ч" ) Фильтр нижних частот -► Фильтрверхних частот.(4.121)
Здесь
„ cos (Г(срс Юц)/2] 7}, / . л»!
совЯК+^/уТ}»
<ou — заданная частота среза фильтра верхних частот.
3J1—2!5?№Ь2Я£1+^нижних
{((&—l№+l)lr^H2a*7(»+l)]z-l + l}™Р я™”™1
частот->-Полосовой фильтр.(4.123)
Здесь
a — cos— cos <1(ю«+ю^/2] Г},, , 9 / х
6=ctgr(^^L)Tltg(^-),(4.125)
<oo — центральная частота полосового фильтра.
**{[(l-A)/(l + *)lr-*-[2a/(l + A:)l«-l + l}
Фильтр нижних частот-► Режекторный фильтр.(4.126)
Здесь
a-cos(®0/) содщЮи+юг)/2]Т}»(4.127)
fc = tg(^^Lr)tg(^),(4.128)
о0 — центральная частота режекторного фильтра.
Ясно, что преобразования (4.119) — (4.128) соответствуют все- пропускающим фильтрам, так как единичная окружность отображается в такую же окружность один или несколько раз. Поэтому, хотя частотная шкала при отображении и деформируется, амплитудная характеристика исходного фильтра нижних частот сохра- тгяется. По этой причине эллиптический фильтр нижних частот, например, преобразуется в другой эллиптический фильтр.
Фиг. 4.34. Преобразования полосы цифрового фильтра нижних частот (по Константиниди- су).
а — фильтр-прототип нижних частот, /с =<йс'2п = 2500 Гц. fs= = 10000 Гц, п = 4;
б — фильтр нижних частот -* фильтр нижних частот, /с = 1 кГц;
в — фильтр нижних частот ■* фильтр верхних частот, /с = 1 кГц;
г — фильтр нижних частот -* полосовой фильтр, fz = 1 кГц, Д. = = 2 кГц;
8 — фильтр нижних частот -♦ ре- жекторный фильтр, /z = 1 кГц, fu = 2 кГц.
Некоторые свойства рассматриваемых преобразований иллюстрируются на нескольких примерах, приведенных на фиг. 4.34. В качестве фильтра-прототипа был взят фильтр Чебышева нижних частот (с частотой среза (ос рад/с). Он был преобразован в другой фильтр нижних частот, фильтр верхних частот, а также в полосовой и режекторный фильтры. Прежде всего из приведенных кривых следует, что по существу каждый из новых фильтров образуется путем преобразования фильтра-прототипа нижних частот в другой соответствующий фильтр нижних частот с последующей простой заменой переменной z-1 на эту же переменную в первой или во второй степени (например, при переходе к фильтру верхних частот используется замена zr1 —►• — z-1). Кроме того, характер отображения можно понять, рассмотрев, в какие частоты отображаются при преобразовании критические частоты фильтра- прототипа нижних частот. Все эти преобразованные частоты сведены в табл. 4. 1.
Таблица 4.1
Значения частот при преобразованиях полос цифровых фильтров
Частоты фильтра-прототипа
0
— toc
4* ®с
ю3/2
Фильтр нижних частот
0
— юц
+ ®и
ю3/2
Фильтр верхних
Частоты фильт-частот
сов/2
«и
— Ши
0
ра, получас--
мого после Полосовой фильтр преобразования
± “0
± ®/
± Юц
0 tos/2
Режекторный фильтр
0 (os/2
± ®ц
± Ш{
± «о
Преобразования полосы для цифровых фильтров просто использовать, так как они отображают рациональную передаточную функцию в новую рациональную передаточную функцию. Эти преобразования не вносят искажений в амплитудную шкалу, поэтому они успешно конкурируют с методами преобразования полосы аналоговых фильтров-прототипов нижних частот. Действительно, было показано, что билинейное преобразование нормированного аналогового фильтра нижних частот с последующим всепропускающим преобразованием эквивалентно преобразованию полосы аналогового фильтра с последующим билинейным преобразованием. Оба эти подхода иллюстрируются на фиг. 4.35 на примере расчета фильтра нижних частот. В первом слу-
Аналоговый нормированный фильтр нижних частот 1 1-8.
Билинейное преобразование
Цифровой нормированный фильтр ниж- п них частот *
зование
Цифровой фильтр * нижних частот
ТУЗП g
5г О
6 о
0)р Ф$ ос
УТОЯУТОЯбилинейное ' преобразованиебилинейное ' преобразованиеАналоговый фильтр нижних частотАналоговый фильтр нижних частот
УТОЯ
УТОЯ
билинейное ' преобразование
билинейное ' преобразование
Аналоговый фильтр нижних частот
Аналоговый фильтр нижних частот
Аналоговый нормированный фильтр нижних частот
Фильтр нижних частот —► Фильтр нижних частот
Цифровой фильтр нижних частот
Фиг. 4.35. Два метода расчета цифрового фильтра по характеристикам аналогового фильтра.
чае (фиг. 4.35, а) билинейное преобразование аналогового нормированного фильтра нижних частот дает нормированный цифровой фильтр нижних частот (частота среза его полосы пропускания со р = л/2), который затем преобразуется в другой цифровой фильтр нижних частот, удовлетворяющий заданным характеристикам. Во втором случае (фиг. 4. 35, б) нормированный аналоговый фильтр нижних частот сначала преобразуется в другой, ненормированный аналоговый фильтр нижних частот, а затем методом билинейного преобразования рассчитывается цифровой фильтр, удовлетворяющий заданным характеристикам. С расчетной точки зрения оба эти метода приблизительно равноценны.
Прямые методы расчета цифровых фильтров
В предыдущих разделах были рассмотрены методы расчета цифровых фильтров, основанные на дискретизации фильтров непрерывного времени. Существуют также прямые методы расчета цифровых фильтров в частотной Или временной областях, которые образуют вторую группу методов расчета цифровых фильтров. К ним относятся как методы расчета по заданному квадрату амплитудной характеристики, так и методы расчета во временной области. Ниже дается краткое описание прямых методов и рассматриваются возможности их применения.
Расчет по квадрату амплитудной характеристики
Обозначим z-преобразование импульсной характеристики БИХ-фильтра через Н (z). Оно равно
т-12 ь^
=.(4.129)
г=0
Квадрат амплитудной характеристики фильтра легко найти следующим образом:
| Н (^) р = Я И Н (г*) |z_^e(4.130)
и записать как
т- 1ш-1
I^W-ctст-—.(4*31)
2
1=0N=0
ИЛИ
т- 1
2 Q COS (tot)
(4.132)(4.132)|Я(^»)Р = -^
(4.132)
(4.132)
2 di cos (wi) i=0
Коэффициенты {сг} и {t/,} связаны с коэффициентами {Ьг} и {аг}. Выражение (4.132) часто записывают в несколько ином виде:
(4.133)(4.133)2 ei cos2 (©i/2)
(4.133)
(4.133)
^Ml2 = -S
2 fl cos2 (tot/2) i=0
Таким образом, квадрат амплитудной характеристики всегда можно представить как отношение двух тригонометрических функций от частоты со.
Выражение (4.133) является основой многих методов расчета цифровых фильтров по заданному квадрату амплитудной характеристики. Кроме того, с помощью этого выражения цифровой фильтр удается связать с аналоговым, квадрат амплитудной характеристики которого равен отношению полиномов по Q2. Действительно, используя подстановку
Q = cosQ = cos/ (О \ \ 2 / ’/ (О \ \ 2 / ’(4.134)(4.134)
Q = cos
Q = cos
/ (О \ \ 2 / ’
/ (О \ \ 2 / ’
(4.134)
(4.134)
можно выражение (4.133) привести к виду, характерному для передаточной функции аналогового фильтра.
Перепишем выражение (4.133) в упрощенной форме:
|Я(е?®) |2=|Я(е?®) |2=111 + Л2(<о)'1 + Л2(<о)'(4.135)(4.135)
|Я(е?®) |2=
|Я(е?®) |2=
1
1
1 + Л2(<о)'
1 + Л2(<о)'
(4.135)
(4.135)
Здесь Л2 (со) — рациональный полином n-го порядка по тригонометрическим функциям. Соответствующий выбору функции Ап (ю) позволяет получить цифровые фильтры различных типов, обладающие заданными амплитудными характеристиками. Так, фильтру нижних частот Баттерворта соответствует функция
Ап (о) =Ап (о) =tg2n (со/2)tg2"(toc/2) ’tg2n (со/2)tg2"(toc/2) ’(4.136)(4.136)
Ап (о) =
Ап (о) =
tg2n (со/2)
tg2"(toc/2) ’
tg2n (со/2)
tg2"(toc/2) ’
(4.136)
(4.136)
где toc — частота среза фильтра. Для фильтра Чебышева
Л^ (ш) = е2п [Л^ (ш) = е2п [tg (о>/2)tg (toc/2)tg (о>/2)tg (toc/2)(4.137)(4.137)
Л^ (ш) = е2п [
Л^ (ш) = е2п [
tg (о>/2)tg (toc/2)
tg (о>/2)tg (toc/2)
(4.137)
(4.137)
где 7n (л) — полином Чебышева n-го порядка, а е — параметр пульсаций. Можно показать, что цифровые фильтры Баттерворта
и Чебышева, рассчитанные по квадрату амплитудной характеристики, достаточно просто связаны с фильтрами, полученными методом билинейного преобразования аналоговых фильтров Баттерворта и Чебышева, поэтому далее эти типы фильтров рассматриваться не будут.
Расчет БИХ-фильтров по заданному квадрату амплитудной характеристики можно легко распространить на некоторые другие типы фильтров, причем они необязательно должны быть фильтрами нижних частот. Применение рассматриваемого метода сопряжено с двумя трудностями. Во-первых, для построения фильтра с заданными свойствами необходимо подобрать подходящий рациональный полином Л„ (о). Во-вторых, функцию квадрата амплитудной характеристики \Н (ej<0) |2 приходится раскладывать на множители, чтобы найти ее полюсы и нули. Как правило, выполнить это разложение весьма непросто, что делает применение рассматриваемого метода расчета фильтра нежелательным..
Расчет БИХ-филътров во .временной области
Наряду с методами расчета фильтров, обладающих заданными частотными характеристиками, существуют методы расчета фильтров с заданными импульсными характеристиками. Пусть z-преобразование импульсной характеристики h (А:) фильтра равно
т-1
.оо
н w=-^—= 2h w(4Л38>
i=0
причем требуется, чтобы импульсная характеристика аппроксимировала заданную последовательность g (к) в диапазоне 0 < < к < Р — 1. Используя различные предположения, Баррас и Паркс, а также Брофи и Салазар и другие авторы показали, что можно найти такой набор коэффициентов at и Ъ^ что
р- 1
<е) = 2 [£(&) — h(k)]2w(k)(4.139)
h= О
будет минимальной. Здесь w (к) — положительная весовая функция последовательности ошибки. Поскольку характеристика h (к') нелинейно зависит от параметров фильтра {а,} и {6,}, в общем случае задача минимизации е может быть решена только методом последовательных приближений. В частном случае, когда Р = п 4- т — 1, искомые параметры фильтра, минимизирующие величину е, можно найти, решив систему из (и + т) линейных уравнений. Рассмотрим этот метод подробнее. Для этого (считая,
что а0 = b0 = 1) представим импульсную характеристику фильтра в виде
g (&) = —a^h, (k— 1) — а^ (ft— 2) — ... —апК (k— n) + &л,~
■l<.k^jn,(4.140)
g (&) = —ath (k— 1) — a2h (k—2)— ... —anK (k—n), k>»m.(4.141)
В предположении, что g (&) = h (А) при k = 1, 2, . . ., m, решим систему уравнений вида (4.141) относительно коэффициентов а^, что дает g (А) = h (&) при k = т + 1, т + 2, . . ., т + п. Решив систему уравнений вида (4.140) при определенных значениях аь найдем такие значения коэффициентов Ъ^ для которых g (А) = = h (А) при к = 1, 2, . . ., т. Эта процедура сводится к приравниванию первых (n + т + 1) членов степенного разложения передаточной функции (4.138) 2-преобразованию заданной импульсной характеристики фильтра g (&), усеченному за (т 4- п)-м членом. Такой метод аппроксимации степенных рядов рациональной функцией часто называют аппроксимацией Падэ. При аппроксимации заданной импульсной характеристики цифрового фильтра путем воспроизведения ее первых (т + п + 1) отсчетов предполагается, что в целом импульсная и частотная характеристики получаемого в результате аппроксимации фильтра не будут существенно отличаться от заданных характеристик. Однако простого метода для нахождения хотя бы даже приближенно оценок отклонений любой из этих характеристик пока не существует. Приведем несколько конкретных примеров использования этого метода для расчета БИХ-фильтров (примеры взяты из статьи Брофи и Салазара).
На фиг. 4.36 и 4.37 представлены характеристики двух фильтров, рассчитанных с использованием аппроксимации Падэ, которые предназначены для работы в системах передачи данных. Кривая А на фиг. 4.36 представляет собой требуемую амплитудную характеристику полосового фильтра. Частота дискретизации в данном и последующем примерах равна 7200 Тц. Этот фильтр должен обладать следующими характеристиками: ослабление на 3 дБ на частотах 200 и 3200 Гц, размах пульсаций в полосе пропускания менее 0,25 дБ, линейные фазовые характеристики в полосе пропускания и крутизна спада в полосе непропускания не менее 12 дБ на октаву. Кривой Б представлена амплитудная характеристика фильтра 24-го порядка, рассчитанного методом аппроксимации Падэ. Наибольшая абсолютная величина ошибки отсчетов импульсной характеристики фильтра равна 0,0018. Фазовая характеристика рассчитанного фильтра приведена на фиг. 4.36 внизу.
Аналогичные кривые для полосового фильтра 10-го порядка, рассчитанного методом аппроксимации амплитудной характери-
Амплитудная характеристика
О800160024003200
Фиг. 4.36. Расчет полосового фильтра с использованием аппроксимации методом Падэ (по Брофи и Салазару).
стики в предположении, что она имеет спады косинусоидальной формы, представлены на фиг. 4.37.^
Необходимо учитывать, что, так как при аппроксимации методом Падэ фильтр рассчитывается только во временной области, получающаяся при этом аппроксимация амплитудной характеристики в частотной области, как правило, не обеспечивает в полосе непропускания ослабления, превышающего 40 дБ. Однако коэффициенты фильтра, найденные этим методом, часто можно использовать в качестве начальных значений при расчете БИХ-
Фиг. 4.37. Расчет полосового фильтра с использованием аппроксимации методом Падэ (по Брофи и Салазару).
фильтров, обладающих заданными частотными свойствами, более сложными методами оптимизации. Эти методы будут рассмотрены в последующих разделах настоящей главы.
Применение методов оптимизациидля расчета БИХ-фильтров
Перейдем к описанию последнего класса методов расчета БИХ-фильтров, называемых методами оптимизации. Отличительная черта этих методов заключается в том, что система уравнений,
составленная относительно коэффициентов фильтра, не может быть решена в явной форме. Поэтому для нахождения коэффициентов приходится использовать расчетные формулы математических методов оптимизации, минимизирущих, согласно выбранному критерию, некоторую ошибку. С помощью последовательных приближений можно в конечном счете свести ошибку к минимуму; можно также задать определенное число выполняемых итераций и после выполнения их считать расчет законченным. В данном разделе будет описано применение нескольких методов оптимизации для расчета фильтров.
Минимизация среднеквадратической ошибки
Пусть z-преобразование импульсной характеристики БИХ) фильтра имеет вид
я И=л П ^т2^^.(4-142>
е. фильтр строится из последовательно соединенных блоков второго порядка. Обозначим заданную амплитудную характеристику фильтра через Нй (е5ю). Пусть шь где i = 1, 2, . . ., М, — дискретный ряд необязательно равномерно расположенных частот, на которых вычисляются отклонения получаемой и заданной характеристик фильтра. Тогда, согласно Штейглицу, квадрат суммарной ошибки на всех частотах, рассматриваемый в функции параметров фильтра, можно представить следующим образом:
м'
Q (8) = 2 (| Н (^“О1 -1 Sd (?”<) |р,(4.143)
1=1
где 0 — (4Х + 1)-мерный вектор искомых коэффициентов
'9 = (af, Ь^ ct d^ ..., aKl bK, cK, dK, A).(4.144)
Минимизация квадрата ошибки (4.143) сводится к нахождению оптимального значения вектора 0 (обозначим его через 0*), для которого
Q (9*) ^Q (9), 0#=9*.(4.145)
Задачу минимизации можно решить, применив методы нелинейной оптимизации, скажем алгоритм Флетчера — Пауэла, при использовании которого предполагается, что градиент минимизируемой функции известен. Прежде чем перейти к рассмотрению способа расчета градиента, целесообразно исключить из вычислений коэффициент усиления А фильтра, поскольку он может быть рассчитан аналитически. Введя.
.<р = (д15 bt, сь dt1 ..., aKl bKl ск, dK) (4.146)
ИИG (z, ф) = ЛЯ(з, <р),G (z, ф) = ЛЯ(з, <р),(4.147)(4.147)
И
И
G (z, ф) = ЛЯ(з, <р),
G (z, ф) = ЛЯ(з, <р),
(4.147)
(4.147)
получим
.м
<2M,v)=3[Mti(ei^V)H#d(ei,,W.(4.148)
1=1
Оптимальное значение А (равное Л*) можно найти, продифференцировав правую часть (4.148) по Л и приравняв производную к нулю, что дает
2 |Я(Д“‘, Ф)||ЯЙ(/В‘)|
М’1 = ^-Т:•<4-149)
2 | Я («’“', »)!•
1=1.
Теперь задача сводится к минимизации функции ошибки
(4.150)(4.150)@(ф) = @(Л*, Ф).
(4.150)
(4.150)
Градиент функции Q (ф) по ф равен
w = l, 2, ..., 4К. (4.151)w = l, 2, ..., 4К. (4.151)dQ _ dQ^A*, ф) dQ(A*, ф) дА*д^п ~ д^п 1 дА* д^п ’
w = l, 2, ..., 4К. (4.151)
w = l, 2, ..., 4К. (4.151)
Второй член в правой части (4.151) равен нулю, так как значение Л* минимизирует Q. Итак, формулу (4.151) можно записать следующим образом:
-^ = 2Л«2 [Л‘|Я(^<р)НЯ^“-)|1 8W™‘' ^ . (4.152) п 1=1•
Так как
|Я(/”<, ^^[Я^, ч>)Я«(?% ф)]|/2,(4.153)
ТО
^"^■^l =ДReГя*(?% V)^С Ф>1. (4.154) |Я(/\ Ф)| I ''1
Формулу (4.154) можно использовать для вычислений. Итак, все вычисления, необходимые для расчета^фильтров с использованием алгоритмов оптимизации типа алгоритма Флетчера—Пауэла, оказываются вполне выполнимыми.
При использовании методов оптимизации учитывается поведение только амплитудной характеристики, поэтому некоторые полюсы или нули после завершения итераций могут оказаться за пределами единичного круга. В этом случае можно прежде всего заменить полюс с полярными координатами (р, 9), оказав-
шийся вне единичного круга, на полюс с координатами (1/р, 0), находящийся внутри единичного круга. Амплитудная характеристика фильтра при такой замене остается неизменной, так как полюс заменяется на его зеркальное отображение. Однако после того, как все полюсы оказываются внутри единичного круга, появляется возможность с помощью дополнительного анализа еще больше оптимизировать квадрат ошибки. Такая ситуация возникает достаточно часто, и в этих случаях оптимизация должна производиться двумя этапами:
Использование программы оптимизации для минимизации ошибки Q (<р) без каких-либо ограничений на расположение нулей и полюсов.
После завершения итераций инвертирование всех полюсов и нулей, оказавшихся вне единичного круга. После этого продолжение программы оптимизации для нахождения нового минимума ошибки.
Фиг. 4.38. Ошибка аппроксимации амплитудной и фазовой характеристик дифференциатора, рассчитанного с использованием критерия минимума среднеквадратической ошибки (по Штейглицу)..
мощью описанного метода. При расчете использовалось К = 3 иго, = л (i— 1) (0,05), г = 1, 2, ...,21,
На фиг. 4.38 приведены кривые ошибок аппроксимации амплитудной и фазовой характеристик дифференциатора.
Минимизация Ьр-ошибки
Дечки показал, что от рассмотренного выше критерия минимума среднеквадратической ошибки можно перейти к критериям ошибки более высокого порядка. Более того, ошибку аппроксимации для характеристики групповой задержки фильтра можно определить так же, как для амплитудной характеристики.
кЯ(2)=лДк=1кЯ(2)=лДк=1Выразим z-преобразование импульсной характеристики фильтра через z-преобразования К последовательно включенных блоков 2-го порядка, представив полюсы и нули влолярных координатах:
к
Я(2)=лД
к=1
к
Я(2)=лД
к=1
(4.155)(4.155)г2 — 2r0kz cos (0ok) + r2kг2 — 2rphz cos (0pk) + r^k *
(4.155)
(4.155)
Искомый вектор неизвестных параметров определим следующим образом:
ф=(^01» ®01i ^02» %2» • •^0к» ®0к» ^pli ®pli ^р2» ®p2i • • ^pkt ^pkt Л).
(4.156)
Амплитудная характеристика фильтра будет равна | И (^ю) | = а (<р, го) =.
к= ЛЦк=1к= ЛЦк=1[ 1 — 2rOh cos (to — 0ok) + rgk]V2[1 — 2rpk cos (co—0pk)+ r2kp/2[ 1 — 2rOh cos (to — 0ok) + rgk]V2[1 — 2rpk cos (co—0pk)+ r2kp/2[1 —2r0k cos (to4-60k) +[1 —2r0k cos (to4-60k) +
к
= ЛЦ
к=1
к
= ЛЦ
к=1
[ 1 — 2rOh cos (to — 0ok) + rgk]V2[1 — 2rpk cos (co—0pk)+ r2kp/2
[ 1 — 2rOh cos (to — 0ok) + rgk]V2[1 — 2rpk cos (co—0pk)+ r2kp/2
[1 —2r0k cos (to4-60k) +
[1 —2r0k cos (to4-60k) +
(4.157)(4.157)+ ^okl1/2 [1 — 2rpk cos (to + epk) + r2kf/2,
(4.157)
(4.157)
. кт(<р, to)= 2k=l. кт(<р, to)= 2k=lа характеристика групповой задержки этого же фильтра будет описываться формулой.
. к
т(<р, to)= 2
k=l
. к
т(<р, to)= 2
k=l
••1 — г ph cos (to—0pk) (1 — rph cos (to+0pk)
-1 — 2rpk cos (to—0pk) + r2k"■ 1 — 2rpk cos (co+0pk) + r^k
(4.158)(4.158)1 —rok cos (to—0ok)1 —rok cos (to+0ok)
(4.158)
(4.158)
1 — 2r0h cos (to—0ok) 4- r2ft 1 — 2rok cos (to + 0Ok)+ r^k _
Задачу расчета БИХ-фильтра по заданной амплитудной характеристике ad (to) или характеристике групповой задержки тд (со) можно рассматривать как задачу минимизации ошибок Lp-аппрок-
симации, определяемых следующими формулами:
^2р (<р) = 2 ^а (“j) Iй (ф> W/) —«d (<0,)]2Р,(4.159)
j=i
^2р (<Р) = 2 ^ М h (<Р* »/) — Td (Wy)]2P.(4.160)
Эти формулы представляют ошибки аппроксимации амплитудной характеристики и характеристики групповой задержки соответственно в функции вектора параметров ф. При р = 1июо^й)) = 1 (для всех /) минимизация Lp-ошибки будет идентична минимизации по критерию минимума среднеквадратической ошибки, рассмотренной в предыдущем разделе. Можно показать, что случай
(по Дечки).
00,10,20,30,40,5
Нормированная частота
Фиг. 4.40. Многополосный фильтр, рассчитанный с использованием методов оптимизации (по Дечки).
Фиг. 4.41. Выравнивание характеристики групповой задержки фильтра нижних частот с использованием выравнивающего фильтра, рассчитанного методами оптимизации (по Дечки).
р—> оо будет соответствовать критерию Чебышева (т. е. минимаксному критерию). Итак, задача расчета коэффициентов фильтра с использованием Lp-критерия сводится к задаче минимизации ошибок L^p (ф) или iXp (ф) путем подбора вектора ф. Можно показать, что если 2р 2 и весовая функция шт (to) [или сот (со)] положительна, то ошибка L^p (ф) [или L^p (ф)] имеет локальный минимум. Это дает возможность для нахождения вектора параметров ф*, минимизирующего соответствующую ошибку, использовать алгоритмы минимизации без ограничений типа алгоритма Флетчера — Пауэла.
На фиг. 4.39—4.41 приведены примеры использования критерия минимума Lp-ошибки, взятые из работы Дечки. На фиг. 4.39 представлена ошибка аппроксимации однокаскадного (К = 1) широкополосного дифференциатора, при расчете которого было взято 2р = 4. В этом примере минимизировалась ошибка аппроксимации амплитудной характеристики, причем для любой из возможных частот величина ошибки не превышает 1%. Н фиг. 4.40 показана амплитудная характеристика рассчитанного этим методом
фильтра, который был получен из фильтра 10-го порядка с двумя полосами пропускания и тремя полосами непропускания (К = 5). В полосе непропускания величина ошибки составляет приблизительно 0,1 (чдо обеспечивает ослабление на 20 дБ). Последний пример приведен на фиг. 4.41, где представлены характеристики групповой задержки исходного эллиптического фильтра и эллиптического фильтра, полученного после выравнивания его групповой задержки. Выравнивающая цепь состояла из включенных последовательно с исходным эллиптическим фильтром всепропус- кающих цепей, не оказывающих влияния на амплитудную характеристику фильтра. Порядок выравнивающей всепропускающей цепи был равен 10 (К = 5), индекс ошибки 2р = 10. Как видно из фиг. 4.41, после выравнивания пульсации групповой задержки фильтра стали равновеликими.
Оптимизация в w-плоскостис использованием всепропускающих цепей
Весьма простая методика оптимизации, предложенная Деч- ки, может быть использована в случае, когда рассчитываемый БИХ-фильтр имеет равновеликие пульсации в полосе пропускания и обеспечивает аппроксимацию с равновеликими пульсациями произвольной характеристики в полосе непропускания или в полосе пропускания. Рассмотрим эту методику. Для этого запишем квадрат амплитудной характеристики фильтра в виде
, (4.161)
где Тп (z) — рациональная передаточная функция, подобная, но не идентичная рациональной функции Чебышева, использовавшейся при расчете эллиптических фильтров. Вместо того чтобы сразу найти функцию Тп (z), целесообразно сначала перенести решение задачи аппроксимации из z-плоскости в некоторую новую плоскость (назовем ее w-плоскостью), такую, чтобы полоса пропускания (или непропускания) фильтра отображалась на всю мнимую ось в w-плоскости. В этом случае оказывается возможным достаточно просто записывать передаточные функции всепропускаю- щих цепей в w-плоскости; используя эти всепропускающие функции, можно получить такую функцию \ТН (w)|2, которая будет осциллировать между 0 и 1 при изменении w вдоль мнимой оси от 0 до оо. Таким образом, функция | Тп (/т)) |2 будет иметь в w-плоскости равновеликие пульсации. В зависимости от характера отображения эти равновеликие пульсации Тк (ы) можно отобразить либо в полосу пропускания фильтра в z-плоскости, либо в полосу непропускания. При этом поведение характеристики фильтра в другой
полосе будет полностью определяться еще не найденными значениями коэффициентов всепропускающего фильтра. Для расчета коэффициентов всепропускающего фильтра, которые обеспечили бы аппроксимацию с равновеликими пульсациями любой характеристики в полосе, где она не была задана, можно использовать методы последовательного приближения. Рассмотрим сначала методику получения функции Тп (w).
Чтобы определить передаточную функцию, модуль которой постоянен вдоль всей мнимой оси, рассмотрим всепропускающую функцию вида п
?«-П£р(4Л62>
1=1
где wt либо действительные, либо образуют комплексно сопряженные пары. Так как |F (уц) | = 1, то F (ут]) можно записать в виде
(4.163)(4.163)F (уц) = e^W,
(4.163)
(4.163)
где
Т)/ (ц) = 2 2 arctgг=1Т)/ (ц) = 2 2 arctgг=1/ П —Ш \X ^ г/ П —Ш \X ^ гпричем wt = & -ЬМ.причем wt = & -ЬМ.(4.164)(4.165)(4.164)(4.165)
Т)
/ (ц) = 2 2 arctg
г=1
Т)
/ (ц) = 2 2 arctg
г=1
/ П —Ш \
X ^ г
/ П —Ш \
X ^ г
причем wt = & -ЬМ.
причем wt = & -ЬМ.
(4.164)
(4.165)
(4.164)
(4.165)
Введем действительную функцию | Ти (ут]) |2 следующим образом:
I тп Уч) |г = Т„ Уч) Г„ (- 74) = 4 tf (74) +1] [f (- 74) + 11 =
— cos2 £ ^^ 1.(4.166)
Аналитически продолжая (4.166), получим
[ П (“,i+“,)+ [J (“'i —^l2
Ти ^ ТД — ш) = -^1—^.(4.167)
4 [J (Wi+itf) (wt—w)г=1 "
Таким образом, найдена искомая функция | Ти (м0|2, имеющая в гр-плоскости равновеликие пульсации модуля вдоль оси ут) независимо от значений коэффициентов wt всепропускающего фильтра. Рассмотрим теперь случай отображения из z-плоскости в ю-пло- скость, соответствующий равновеликим пульсациям в полосе пропускания при произвольной характеристике в полосе непропуска- ния. Аналогично можно было бы рассмотреть и другой случай отображения, соответствующий равновеликим пульсациям в полосе непропускания при произвольной характеристике в полосе про-
гдегде(4.169)(4.170)(4.169)(4.170)COS С^з^' "" COS t^pu, COS tost — COStop; ’COS С^з^' "" COS t^pu, COS tost — COStop; ’®su ^ to ^ Л ■*-►®su ^ to ^ Л ■*-►/ COS tosu — COS topu У COS (Ogu — COS topi/ COS tosu — COS topu У COS (Ogu — COS topi1 -|- cos toPu 14-COS top;1 -|- cos toPu 14-COS top;(4.171)(4.171)
где
где
(4.169)
(4.170)
(4.169)
(4.170)
COS С^з^' "" COS t^pu, COS tost — COStop; ’
COS С^з^' "" COS t^pu, COS tost — COStop; ’
®su ^ to ^ Л ■*-►
®su ^ to ^ Л ■*-►
/ COS tosu — COS topu У COS (Ogu — COS topi
/ COS tosu — COS topu У COS (Ogu — COS topi
1 -|- cos toPu 14-COS top;
1 -|- cos toPu 14-COS top;
(4.171)
(4.171)
пускания, но так как этот случай обычно представляет меньший ин-?
терес, то ниже он не рассматривается.
Для отображения полосы пропускания фильтра из z-плоскостя
на всю мнимую ось в ip-плоскости воспользуемся следующим преобразованием:
(4.168)(4.168)а2—2z cos ©pu 4-1
(4.168)
(4.168)
2й—2z COS (Opf-|-1 •
Обратное преобразование из ip-плоскости в z-плоскость можно найти, решив (4.168) относительно z:
^pi/p2 —1,
IV2 cos top; — COS topu
С помощью преобразования (4.168) дуга единичной окружности из z-плоскости, соответствующая частотам topl < со < юри (т. е. полосе пропускания фильтра), отображается на всю мнимую ось в ip-плоскости (предполагается, что фильтр имеет единственную полосу пропускания и две или более полосы непропускания). Полосы пропускания фильтра из z-плоскости отображаются следующим образом:
n ../l-COS(OpU
U^to^toc/ ■*-*• I/
81 V 1 —COStopf
Здесь £ — действительная часть w. Для фильтра нижних частот во всех приведенных выше формулах wsl = юрг = 0.
Преобразование z-плоскости в ip-плоскость иллюстрируется на фиг. 4.42, где в каждой из плоскостей изображены область пропускания (с равновеликими пульсациями ) и области непропускания.
Теперь остается лишь привести методику расчета коэффициентов IP;, входящих в формулу (4.167), которые дали бы возможность аппроксимировать произвольную амплитудную характеристику в полосе непропускания, а также методику получения передаточной функции Н (z), или, что то же самое, функции Н (ip), по функции Тк (ip). Рассмотрим сначала вторую из этих двух задач как более простую.
Если нули функции Н (z) расположены на единичной окружности (как это обычно имеет место при аппроксимации с равновеликими пульсациями), то корни в ip-плоскости будут действительными и иметь четную кратность, так как в этом случае оба
ZZZZ Нижняя полоса непропускания
"Z Верхняя полоса непропускания
—— Палоса пропускания
*ХГ\-Область с равновеликими ■пульсациями
Фиг. 4.42. Отображение из z-плоскости в ip-плоскость (по Дечки).
комплексно сопряженных нуля будут отображаться в одну и ту же точку на действительной оси в ^-плоскости. Поэтому выражение (4.167) можно представить следующим образом:
[ П (^Ч-^Ч- [J (^oi—“’J®]
Tn (w) Tn (- w) =-^,(4.172)
4 П ^—w^4i=i
где iroi — преобразованные нули фильтра. Введя вспомогательные многочлены A (w) и В (ш), равные
пп
Л(^) = 4-[П (^ог + ^Ч- П (шог —^)2](4.173)
i=l1=1
и
пп
^(^-l^ (п^п^-П (1г0| —u?)2],(4.174)
i=ii=i
запишем формулу (4.161) в виде
HWm-w)= {i+A^-^W(4Л75>
из которой после разложения на множители получим
Н (w) =,(4л ?6)
V 1 + ей А (ю)—wB {w)
Корни функции Н (w) располагаются в правой полуплоскости w, что гарантирует устойчивость искомого фильтра с передаточной функцией Я(г). [Кроме того, при расчетах удобнее находить корни функции Н (w) в ip-плоскости и преобразовывать их затем обратно в z-плоскость, так как в ip-плоскости они обычно легче разделяются, чем корни Н (z) в z-плоскости.)
Наконец приведем алгоритм расчета коэффициентов ipoi, обеспечивающих заданную форму амплитудной характеристики в полосе непропускания. Простой способ аппроксимации получается при использовании для описания амплитудной характеристики в полосе непропускания функции ее логарифма:
а= —201g | И ^ld^ |w=6 =
пп
= 101е(1+^ГП (*±^)+'П Z.!l^m ,(4.177)
I 1 4 Lil \ woi—w / 1 И \ wot -f-w / J / w=£ v
i=lг=1
откуда n
a«201g(|) + 2 201g 1^1^.(4.178)
При этом для расчета значений wob таких, чтобы величина ошибки аппроксимации функции а, задаваемой формулой (4.178), была минимаксной для всей полосы непропускания, можно использовать достаточно простые методы (например, алгоритм Ремеза).
Таким образом, выше было показано, что БИХ-фильтры с равновеликими пульсациями в полосе пропускания (или в полосе непропускания) и произвольной характеристикой в полосах непропускания (или в полосах пропускания) можно рассчитывать путем перенесения решения задачи аппроксимации из z-плоскости в ip-плоскость, такую, чтобы полоса пропускания фильтра в z-плоскости отображалась на всю мнимую ось в ip-плоскости. В этой новой ip-плоскости синтезируется всепропускающая функция, модуль которой постоянен на всей мнимой оси. Затем из этой всепропус- кающей функции с помощью простой подстановки формируется передаточная функция, модуль которой имеет вдоль мнимой оси в ip-плоскости равновеликие пульсации независимо от значений коэффициентов всепропускающей функции. Наконец, с помощью простой методики рассчитываются оптимальные значения коэффициентов всепропускающего фильтра, которые используются для аппроксимации в ip-плоскости требуемой частотной характеристики в полосе непропускания. Проиллюстрируем применение этого метода на двух примерах, взятых из работы Дечки.
Фиг. 4.43. Амплитудная характеристика режекторного фильтра, рассчитанного в и?-плоскости (по Дечки).Фиг. 4.43. Амплитудная характеристика режекторного фильтра, рассчитанного в и?-плоскости (по Дечки).Фиг. 4.44. Амплитудная характеристика фильтра нижних частот, рассчитанного в ip-плоскости (по Дечки).Фиг. 4.44. Амплитудная характеристика фильтра нижних частот, рассчитанного в ip-плоскости (по Дечки).
Фиг. 4.43. Амплитудная характеристика режекторного фильтра, рассчитанного в и?-плоскости (по Дечки).
Фиг. 4.43. Амплитудная характеристика режекторного фильтра, рассчитанного в и?-плоскости (по Дечки).
Фиг. 4.44. Амплитудная характеристика фильтра нижних частот, рассчитанного в ip-плоскости (по Дечки).
Фиг. 4.44. Амплитудная характеристика фильтра нижних частот, рассчитанного в ip-плоскости (по Дечки).
На фиг. 4.43 и 4.44 изображены амплитудные характеристики (в логарифмическом масштабе) двух фильтров с равновеликими пульсациями в полосе пропускания и произвольными характеристиками в полосе непропускания. В примере, представленном на фиг. 4.43, заданный уровень пульсаций в полосе пропускания составлял 1 дБ, а характеристика в полосе непропускания должна была удовлетворять следующим условиям:
- 30 дБ,- 30 дБ,0,35л ^о)^О, 45л,0,35л ^о)^О, 45л,201g|#(<H®)]^2 -40201g|#(<H®)]^2 -40-20-20Д,Б дБ,Д,Б дБ,0,45л ^о)^О,60л, 0,60л ^о)^О, 65л.0,45л ^о)^О,60л, 0,60л ^о)^О, 65л.
- 30 дБ,
- 30 дБ,
0,35л ^о)^О, 45л,
0,35л ^о)^О, 45л,
201g|#(<H®)]^2 -40
201g|#(<H®)]^2 -40
-20
-20
Д,Б дБ,
Д,Б дБ,
0,45л ^о)^О,60л, 0,60л ^о)^О, 65л.
0,45л ^о)^О,60л, 0,60л ^о)^О, 65л.
Порядок рассчитанного фильтра оказался равным восьми, причем этот фильтр удовлетворяет заданным характеристикам с точностью до 0,7 дБ. Второй пример, приведенный на фиг. 4.44, соответствует фильтру нижних частот с линейным (в логарифмическом масштабе) увеличением ослабления в полосе непропускания.
Расчет БИХ-филыпров методами линейного программирования
Методы линейного программирования могут быть использованы для расчета БИХ-фильтров, обеспечивающих аппроксимацию с равновеликими пульсациями заданной амплитудной характеристики. Если передаточная функция цифрового фильтра равна
Я (2) =Я (2) =N^D^N^D^(4.179)(4.179)
Я (2) =
Я (2) =
N^
D^
N^
D^
(4.179)
(4.179)
то Н $) Н (z-1) можно представить в виде
ттт
(2 ^О (2 мО2
(4.180)(4.181а)(4.1816)(4.180)(4.181а)(4.1816)1=0 j=0 г=-т
(4.180)
(4.181а)
(4.1816)
(4.180)
(4.181а)
(4.1816)
(2 -‘'"О (2 “^')2^
гдегде1=05=0г=-п
где
где
С; — С-t,dt = d_i.
Поэтому квадрат амплитудной характеристики фильтра [т. е. значения (4.180) на единичной окружности] равен отношению тригонометрических полиномов:
Ш
~с° + 2 ^cos (юо
1Н ^ I2=Т^ = ~.(^182)
do+cos (cot)
1=1
Обе функции N (to) и Ь (co) линейно зависят от коэффициентов Ct и di. Рассмотрим, каким образом можно использовать методы линейного программирования для нахождения таких значений коэффициентов сг и dt, которые обеспечили бы аппроксимацию заданного квадрата амплитудной характеристики F (со) функцией | Н (е^®) |2, причем максимум ошибки аппроксимации был бы минимизирован (т. е. чтобы аппроксимация имела равновеликие пульсации).
Итак, задача аппроксимации заданной функции квадрата амплитудной характеристики Е (го) сводится к нахождению таких
коэффициентов фильтра, при которых
-е(®Х-е(®ХN^ S(to)N^ S(to)^(to)^e(to).^(to)^e(to).(4.183)(4.183)
-е(®Х
-е(®Х
N^ S(to)
N^ S(to)
^(to)^e(to).
^(to)^e(to).
(4.183)
(4.183)
Здесь e (го) — функция допуска для ошибки аппроксимации, позволяющая учитывать неодинаковый вес ошибок аппроксимации на различных частотах. Функции F (го) и е (го) обычно известны (или, как будет показано в приведенном ниже примере, зависят от некоторого параметра), поэтому неравенство (4.183) можно представить с помощью следующей системы неравенств, линейных относительно неизвестных ct и df.
(4.184)(4.184)(4.185)(4.185)N (го) — D (го) F (го) ^е (го) D (го),— N (го) + D (го) F (го) ^е (го) D (го),
(4.184)
(4.184)
(4.185)
(4.185)
или
N (го) — D (го) IF (го) Ч- е (го)] ^0,— N (го) + D (го) [F (го) — е (го)] ^0.
Эти, а также следующие дополнительные линейные неравенства: -#(го)^0,(4.186)
—Р(ю)^0(4.187)
полностью определяют задачу аппроксимации. Для решения системы линейных неравенств (4.185)—(4.187) из левой части каждого из них вычитается вспомогательная переменная w, которая затем минимизируется. Если значение w оказывается равным нулю, то это означает, что решение задачи аппроксимации существует, причем значения коэффициентов можно получить обычным методом линейного программирования. Если же оказывается, что w > 0, то это означает, что решения задачи аппроксимации не существует, поэтому для ее решения нужно изменить либо F(ro), либо е(ю).,' '
Рассмотрим в качестве примера расчет фильтра нижних частот с равновеликими пульсациями и коэффициентом передачи, равным 1 в полосе пропускания и 0 в полосе непропускания. Допустим, что максимальная ошибка аппроксимации равна 6 в полосе непропускания и Кб (величина постоянной К выбирается разработчиком) в полосе пропускания. Заданная амплитудная характеристика такого фильтра нижних частот изображена на фиг. 4.45, а. Величина 6 неизвестна, причем в процессе расчета она должна быть минимизирована (результирующий фильтр в данном случае будет, очевидно, эллиптическим, но здесь он используется только для иллюстрации метода). Заданная функция квадрата амплитудной характеристики фильтра, равная квадрату функции, изобра-
Фиг. 4.45. Исходные характеристики фильтра нижних частот, используемые при расчете его методом линейного программирования.Фиг. 4.45. Исходные характеристики фильтра нижних частот, используемые при расчете его методом линейного программирования.
Фиг. 4.45. Исходные характеристики фильтра нижних частот, используемые при расчете его методом линейного программирования.
Фиг. 4.45. Исходные характеристики фильтра нижних частот, используемые при расчете его методом линейного программирования.
женной на фиг. 4.45, а, приведена на фиг. 4.45, б. Ее можно рассматривать как аппроксимацию с равновеликими пульсациями функции F (го), изображенной на фиг. 4.45, в; функция амплитуды ошибки аппроксимации е (го) представлена на фиг. 4.45, г. [Читатель может убедиться в том, что сумма F (го) + е (го) дает верхнюю границу квадрата амплитудной характеристики, а разность F(to) — е (со) — ее нижнюю границу.] Решив неравенства (4.185)—(4.187) при заданных F (го) и е(го), можно найти оценку 6. Для фильтров нижних частот величина 6 ограничена по определению следующими пределами:
0<6<ттг- (4Л88)
Это позволяет получить начальную оценку 6 и тем самым задать функции F (го) и е (го) на фиг. 4.45. Метод линейного программиро-
Фиг. 4.46. Амплитудная характеристика фильтра нижних частот, рассчитанного методом линейного программирования.
вания дает возможность для выбранного значения 6 определить, имеет ли заданная система неравенств какое-либо решение. Если решения не существует, величину 6 следует увеличивать до до тех пор, пока не будет получено решение. Если же система неравенств имеет решение, начальное значение 6 следует заменить на минимальное значение 6, для которого решение еще существует. Поднимая методом последовательных приближений нижнюю границу (для которой решения не существует) и опуская верхнюю границу, можно с любой заданной точностью (по крайней мере теоретически) найти минимальное значение 6.
Хотя при использовании рассматриваемого метода и встречаются трудности, связанные с чувствительностью коэффициентов фильтра к выбору функции квадрата его амплитудной характеристики, тем не менее он часто и с успехом применялся для расчета цифровых фильтров. Так, на фиг. 4.46 представлена амплитудная характеристика (в логарифмическом масштабе) фильтра нижних частот, а на фиг. 4.47 — функция ошибки аппроксимации широкополосного дифференциатора, рассчитанных описанным методом. Фильтр нижних частот имеет шестой порядок (п = т = 6), граничные частоты полосы пропускания и полосы непропуска-
Фиг. 4.47. Ошибка аппроксимации амплитудной характеристики дифференциатора, рассчитанного методом линейного программирования.
ния составляют 0,20 и] 0,25 соответственно, К = 71,879, окончательное значение максимума ошибки аппроксимации 6 = = 0,0008252.
Порядок дифференциатора равен четырем, амплитуда пульсаций в диапазоне частот 0 < / < 0,45 составляет 0,00000763 (поведение характеристики в диапазоне 0,45 < / < 0,5 не задавалось). Из фиг. 4.47 видно, что только пульсации относительной ошибки аппроксимации амплитудной характеристики дифференциатора являются равновеликими. Две прямые линии являются граничными для функции абсолютной ошибки. Наибольшее несовпадение с граничными линиями является результатом погрешности алгоритма линейного программирования при таких малых значениях 6.
Обзор методов расчета БИХ-фильтров
В данной главе были рассмотрены три класса методов расчета БИХ-фильтров: методы преобразования аналоговых фильтров в цифровые, прямые методы расчета цифровых фильтров в z-пло-
скости и методы, использующие алгоритмы оптимизации. Вообще невозможно отдать предпочтение какому-либо одному из них. С учетом применимости этих методов в конкретных условиях и многих других факторов каждый из них может оказаться наиболее подходящим. Поэтому воздержимся от спорных рекомендаций и отметим лишь, что большое число цифровых БИХ-фильтров рассчитывается методом билинейного преобразования стандартных аналоговых фильтров. Это обстоятельство связано с тем, что в большинстве случаев разработчику приходится проектировать фильтры нижних частот или полосовые фильтры с заданными характеристиками, для которых билинейные преобразования аналоговых фильтров уже известны. При проектировании нестандартных БИХ-фильтров следует использовать другие методы. Если фильтр проектируется по характеристикам, заданным во временной области, для его расчета можно использовать метод инвариантного преобразования импульсной характеристики или описанный в разд. 4.13 метод расчета БИХ-фильтров во временной области. Для расчета фильтров с нестандартными характеристиками, задаваемыми в частотной области, в большинстве случаев наиболее подходящими будут алгоритмы оптимизации.
Сравнение КИХ- и БИХ-фильтров
Поскольку существует множество различных методов расчета КИХ- и БИХ-фильтров, практически невозможно, сопоставив те или иные характеристики получаемых фильтров, объективно сравнить оба типа фильтров. Если же ограничиться рассмотрением только оптимальных (в минимаксном смысле) КИХ-фильтров нижних частот и эллиптических БИХ-фильтров с аналогичными частотными характеристиками, то можно сделать некоторые количественные сравнения на основе числа умножений, приходящихся на каждый входной отсчет1) при стандартной реализации каждого из сравнимых фильтров (т. е. при использовании прямой формы для КИХ-фильтра и каскадной формы для БИХ-фильтра). При реализации прямой формы КИХ-фильтра с импульсной характеристикой длины N (N нечетное) и линейной фазовой характеристикой на каждый входной отсчет приходится [(7V + 1)/2] умножений, тогда как при реализации каскадной формы эллиптического фильтра го-го порядка (все нули которого расположены на еди-
Ч Число умножений, приходящееся на каждый входной отсчет, является полезной мерой сложности реализации фильтра с точки зрения объема вычислений, так как оно представляет количество операций умножения и сложения, используемых при аппаратурной и программной реализации фильтра. .
яичной окружности) на каждый входной отсчет1) приходится [(Зп + 3)/2] умножений. (Здесь число в квадратных скобках [•) обозначает целую часть этого числа.)
Таким образом, два типа фильтров с эквивалентными харак- - теристиками (т. е. удовлетворяющие одинаковым требованиям к уровню пульсаций в полосе пропускания 6i и в полосе непропуска- ния 62, а также к значениям граничных частот Fp и Fs) могут быть сопоставлены на основе эффективности их построения, учитывающей, для какого из фильтров на каждый из входных отсчетов приходится меньшее число умножений. Оба типа фильтров будут эквивалентны, если выполняется следующее условие;
или
+(4.190)
На фиг. 4.48 приведены две группы кривых зависимости отношения Nin от п при различных 62 для дцух значений Fp и 6Х. Фиг 4.48, а соответствует случаю Fp = 0,15 и 6t = 0,1 (62 = 0,1; 0,01; 0,001; 0,0001); на фиг. 4.48, б представлены кривые при Fp = 0,35 и 6г = 0,00001 (62 принимает те же значения). Там же построены линииNin = 3, соответствующие постоянной составляющей в правой части формулы эквивалентности фильтров (4.190). Как видно из фиг. 4.48, а, при некоторых значениях Fp, 6г и 62 величина отношения Nin находится ниже уровня эквивалентности; в этих случаях КИХ-фильтр оказывается эффективнее эллиптического фильтра. Однако вообще эллиптический фильтр намного эффективнее оптимального КИХ-фильтра, причем в случае, когда эллиптический фильтр имеет высокий порядок, отношение Nin часто может достигать сотен или даже тысяч.
Установлено, что КИХ-фильтр наиболее целесообразно использовать, если величина бх большая, 62 малая, а переходная полоса достаточно широкая (т. е. переходное отношение мало). Необходимо также учитывать следующее:
При Fp > 0,3 отношение Nin всегда превышает (3 + Vra) при любых значениях 61# 62 и п.
При п > 7 отношение Nin всегда превышает (3 4- 1/п) при любых значениях б15 б2 и Fp.
Чем меньше Fpi тем больше диапазон значений 6г, 62 и п, при которых Nin меньше, чем (3 + МпУ
На фиг. 4.49, а показана зависимость теоретического значения порядка эллиптического фильтра п (поэтому п не обязательно
■ х) Для БИХ-фильтра на входной отсчет приходится такое число умножений лишь при условии, что все масштабирования при переходе от блока к блоку осуществляются умножением на степень двойки и сводятся к сдвигу чисел. В противном случае потребуется [(4п + 3)/2] умножений на отсчет.
Порядок эллиптического фильтра п
Фиг. 4.48. Сравнение КИХ-фильтров и БИХ-фильтров нижних частот.
Теоретическое значение порядка эллиптического фильтраТеоретическое значение порядка эллиптического фильтра
Теоретическое значение порядка эллиптического фильтра
Теоретическое значение порядка эллиптического фильтра
8
7 6
5
4
3
2
1 О
10
9
8
7
6
5
4
3
2
1
О 0,10,20,30.40,5
Нормированное значение граничнойчастоты полосы пропускания Fp
Фиг. 4.49. Сравнение КИХ-фильтров и БИХ-фильтров нижних частот.
равен целому числу), обеспечивающего заданные граничные частоты Fp и Fs при 6Х = 0,1 и 62 = 0,1; 0,01; 0,001; 0,0001; 0,00001, от величины Fp для набора оптимальных КИХ-фильтров с N = 21. Аналогичные кривые, но для N = 41 приведены на фиг. 4.49, б. Теоретическое значение порядка, при котором оба фильтра эквивалентны, составляет п = 6,3 для фиг. 4.49, а и п = 13 для фиг. 4.49, б. Таким образом, во всех этих случаях, как и предполагалось в предыдущем разделе, эллиптический фильтр оказывается эффективнее эквивалентного ему КИХ-фильтра.
Итак, в тех случаях, когда требуется обеспечить заданную амплитудную характеристику, эллиптические фильтры вообще оказываются эффективнее оптимальных КИХ-фильтров. Однако КИХ-фильтры дополнительно имеют весьма полезное свойство — их фазовая характеристика строго линейна, так что характеристика групповой задержки таких фильтров не искажается. В то же время характеристика групповой задержки эллиптического фильтра имеет, как правило, весьма существенные искажения (особенно вблизи края полосы пропускания). В связи с этим возникает вопрос, имеющий теоретическое и практическое значение: в случаях, когда характеристика групповой задержки должна быть постоянной, более желательно использовать эллиптический фильтр с выравниванием групповой задержки или же эквивалентный ему оптимальный КИХ-фильтр (с постоянной групповой задержкой)? Ниже этот вопрос будет рассмотрен с различных точек зрения. Следует отметить, что оба сопоставляемых подхода не являются единственно возможными при построении цифрового фильтра, удовлетворяющего требованиям к амплитудной характеристике и характеристике групповой задержки. Например, используя новые методы оптимизации, можно рассчитать фильтр с неодинаковым числом нулей и полюсов. Для этих случаев проводимое ниже сравнение КИХ-фильтров и БИХ-фильтров будет непригодным.
Сравнение оптимальных КИХ-фильтров и эллиптическихфильтров с выравниванием групповой задержки
В разд. 4.14 уже отмечалась возможность построения фильтра, выравнивающего с любой заданной точностью характеристику групповой задержки любого цифрового фильтра в некотором ограниченном диапазоне частот. Трудность выравнивания характеристики групповой задержки заключается в том, что общая задержка фильтра после выравнивания должна превышать наибольшую задержку того же фильтра до выравнивания. Для эллиптического фильтра максимум групповой задержки всегда расположен вблизи частоты среза полосы пропускания. Можно показать, что порядок всепропускающего выравнивающего фильтра пе
должен удовлетворять следующему соотношению:
■^L ( Tg (го) dm —0,5пе,(4.191)
о
где Tg (го) — характеристика групповой задержки этого фильтра, причем интегрирование в левой части (4.191) производится в пределах половины частоты дискретизации 0 < го < л. Так как групповая задержка выравнивающего фильтра может только добавляться к задержке исходного фильтра, т. е. Tg (го) > 0, то для того, чтобы убедиться в справедливости соотношения (4.191), достаточно показать, что оно верно для всепропускающего фильтра первого порядка. Передаточная функция выравнивающего фильтра равна'
н^=<4-192)
где а и 1/а — координаты полюса и нуля этой функции в z-плоскости соответственно. Характеристика групповой задержки обычно определяется следующим образом:
(ю) = _,(4.193)
где arg Н (&®) — фазовая характеристика всепропускающего фильтра. С учетом соотношений (4.191) и (4.192) для выравнивающего фильтра 1-го порядка получим
т, (<о) = . ,.(4.194)
* х * 1 + а2 — 2а cos сох '
Интегрирование правой части (4.194) в пределах от 0 до л с последующим нормированием по 2л дает
л
‘ f to = -L arctg [ИМ.]Г = ” . 0,5.
2л J 14- а2 — 2а cos ipл(1 — а)2 J |о 2л ’
О
Значение соотношения (4.191) заключается в том, что с его помощью минимальный порядок выравнивающего фильтра, необходимый для выравнивания заданной характеристики групповой задержки, можно оценить, определив площадь между линией т = тмакс и кривой Tg (го) и поделив ее на л [здесь тмакс — максимальное значение Tg (го) в полосе пропускания исходного фильтра]. В действительности порядок выравнивающего фильтра должен превышать величину оценки, получаемой из (4.191), так как это соотношение справедливо при условии, что задержка в выравнивающем фильтре идеально компенсирует неравномерность групповой задержки исходного фильтра. По мере увеличения порядка вырав-
кивающего фильтра относительно найденной оценки максимум ошибки аппроксимации групповой задержки будет монотонно уменьшаться.
В табл. 4.2—4.4 приведены характеристики трех групп эллиптических фильтров, которые выравнивались с помощью все- пропускающих фильтров. В таблицы включены заданные значения 6lt 62, Fp и FS1 требуемый порядок эллиптического фильтра п, требуемая длина импульсной характеристики БИХ-фильтра N, порядок выравнивающего фильтра пе, среднее по полосе пропускания значение задержки в фильтре после выравнивания tg (в числе отсчетов), уровень пульсаций групповой задержки в полосе пропускания после выравнивания в, а также число умножений на каждый входной отсчет для оптимального КИХ-фильтра и каждого из эллиптических фильтров после выравнивания.
Из приведенных данных видно, что если необходимо обеспечить выравнивание характеристики групповой задержки с погрешностью порядка 3 %, то при использовании эллиптического фильтра с выравниванием потребуется выполнять на 30% больше умножений на каждый входной отсчет, чем при использовании оптимального КИХ-фильтра, хотя эллиптический фильтр до выравнивания в подавляющем большинстве случаев эффективнее оптимального КИХ-фильтра. Таким образом, по крайней мере для случаев, когда, помимо аппроксимации с равновеликими пульсациями амплитудной характеристики требуется постоянство характеристики групповой задержки, оптимальный КИХ-фильтр будет всегда эффективнее эллиптического фильтра с выравниванием. Следует также отметить, что задержка в оптимальном КИХ- фильтре, равная (N — 1)/2 отсчетам, оказывается всегда меньше задержки в эллиптическом фильтре с выравниванием.
Во всех примерах, приведенных в табл. 4.2—4.4, порядок исходных эллиптических фильтров не превышал шести. Можно было бы ожидать, что относительная эффективность эллиптических фильтров более высокого порядка по сравнению с оптимальными КИХ-фильтрами будет выше, чем при малых порядках. Поэтому, возможно, в этих случаях фильтр с выравниванием будет более эффективен, чем КИХ-фильтр. Однако проверить это предположение не удается в, связи с тем, что при больших величинах порядка эллиптических фильтров пик групповой задержки тмакс в полосе пропускания намного больше, чем при малых величинах порядка, так что требуемый порядок выравнивающего фильтра становится настолько большим, что его практически не имеет смысла рассматривать, если требуется выравнивание групповой задержки во всей полосе пропускания. Для иллюстрации этого положения на фиг. 4.50 приведена характеристика групповой задержки эллиптического фильтра нижних частот 10-го порядка, для которого Fp = 0,25. Оценка требуемой величины пе с исполь-
Таблица 4.2
Сравнение цифровых оптимальных КИХ-фильтров и эллиптическихфильтров с выравниванием
Группа 1. 61 — 0,01, §2 = 0,0001
FP
Fs
n
N
ne
Tg
e
"i*
0,0502
0,20273
5
21
2
28,7
12,1
11
11
4
42,7
3,4
13
0,09846
0,25119
5
21
2
14,5
11,6
11
11
4
22,2
4,1
13
-
6
29,4
0,8
15
0,14722
0,29803
6
21
4
17,6
13,1
11
14
6
23,0
6,3
16
8
28,5
2,6
18
0,19507
0,34314
6
21
4
13,8
16,0
11
14
6
17,8
8,7
16
8
22,0
4,2
18
0,24163
0,38601
6
21
6
14,5
11,1
11
16
8
18,3
7,0
18
10
21,8
3,6
20
0,28664
0,42571
5
21
6
11,6
8,4
11
15
8
14,5
3,8
17
10
17,3
1,6
19
0,33014
0,46052
5
21
6
10,7
14,7
11
15
8
13,1
8,3
17
10
15,7
4,5
19
0,37254
0,48698
4
21
6
8,7
19,1
11
13
8
11,1
6,5
15
10
13,4
3,2
17
0,41665
0,49917
3
21
8
9,6
6,3
11
14
10
11,8
3,2
16
1) Nt — число умножений на входной отсчет для оптимального КИХ-фильтра; Ng — число умножений на входной отсчет для эллиптического фильтра с выравниванием.
Таблица 4.3
Сравнение цифровых оптимальных КИХ-фильтров и эллиптических фильтров с выравниванием
Группа 2. Fp = 0,25t 61 = 0,02, 6g =0,001
Fs
п
N
пе
Х8
е
jvP
0,4893
2
И
2
3,3
1,2
6
6
4
5,6
0,1
8
0,44816
• 3
13
2
4,5
9,4
7
8
4
7,3
1,0
10
0,39146
4
19
2
5,9
25,1
10
9
4
8,8
8,0
11
6
11,9
2,2
13
0,34153
5
29
2
8,4
37,4
15
11
4
10,6
21,6
13
6
13,7
11,6
15
8
16,9
5,6
17
10
20,3
2,4
19
0,30639
6
45
4
13,8
34,7
23
14
6
16,0
25,0
16
8
18,7
16,9
18
10
22,0
11,7
20
12
25,5
7,9
22
14
29,4
5,2
24
16
32,8
3,2
26
18
36,3
1,8
28
i) Nt— число умножений на входной отсчет для оптимального КИХ-фильтра^ Na — число умножений на входной отсчет для эллиптического фильтра с выравниванием.
Таблица 4.4
Сравнение цифровых оптимальных КИХ-фильтров в эллиптических фильтров с выравниванием
Группа 3. Fp = 0,25, 6< =0,02, 62 = 0,0001
Fs
n
N
ne
XS ,
e
^P
0,49661
2
11
2
4
3,3
5,6
1,2
0,1
6
6
8
0,47564
3
11
2
4
4,5
7,3
9,1
1,0
6
8
10
Продолжение табл. 4.4 ■
F.
п
N
пе
е
0,43591
4
17
2
5,8
23,3
9
9
4
8,8
7,0
11
6
11,8
1,7
13
0,38983
5
21
2
8,0
33,4
И
11
4
10,3
18,0
13
6
13,5
8,7
15
8
16,7
3,7
17
10
20,0
1,4
19
0,34878
6
31
4
12,8
28,9
16
14
6
15,5
19,2
16
8
18,2
11,8
18
10
22,0
7,7
20
12
* 25,3
4,3
22
14
28,8
2,2
24
1) Nt — число умножений на входной отсчет для оптимального КИХ-фильтра; Nt - число умножений на входной отсчет для эллиптического фильтра с выравниванием.
зованием соотношения (4.191) дает пе = 45. Так как фактическое значение порядка выравнивающего фильтра должно быть еще больше, то ясно, что построить такой выравнивающий фильтр не удастся.
Представляет интерес еще один вопрос, касающийся рассмотренной в данном разделе методики выравнивания характеристик
групповой задержки БИХ-фильтров, а именно какая из двух схем, в одной из которых используется эллиптический фильтр с последующим выравнивающим фильтром, а другая состоит из оптимального БИХ-фильтра, обеспечит наилучшую аппроксимацию заданных амплитудной характеристики и характеристики групповой задержки? Ясно, что оптимальный БИХ-фильтр будет не хуже составного; вопрос, таким образом, состоит в том, насколько лучшую аппроксимацию он обеспечит. Точно ответить на этот вопрос не удается, поэтому ограничимся лишь несколькими замечаниями, основанными на опыте проектирования эллиптических фильтров с выравниванием:-
Чтобы эллиптический фильтр обеспечивал достаточное ослабление в полосе непропускания, его нули должны располагаться на единичной окружности.
Нули выравнивающего фильтра должны располагаться вне единичного круга (из условия получения положительной задержки).
Положение полюсов эллиптического фильтра ограничивается требованиями, предъявляемыми к переходной полосе фильтра нижних частот.
Полюсы выравнивающего фильтра должны располагаться вблизи окружности фиксированного радиуса, причем равномерно в полосе пропускания.
Если не ограничивать расположение нулей оптимального БИХ-фильтра единичной окружности, то для реализации каждого из блоков 2-го порядка потребуется по четыре умножения на входной отсчет в отличие от трех умножений для каждого из блоков эллиптического фильтра плюс два умножения для каждого из блоков выравнивающего фильтра. Таким образом, представляется маловероятным, что оптимальный БИХ-фильтр будет существенно эффективнее эллиптического БИХ-фильтра с выравниванием.
ЛИТЕРАТУРА
Общие вопросы
Steiglitz К., The Equivalence of Digital and Analog Signal Processing, Information and, Control, 8, No. 5, 455—476 (Oct. 1965).
Kaiser J. F., Design Methods for Sampled Data Filters, Proc. First Allerton Conf, on Circuit and System Theory, 221—236 (Nov. 1963).
Kaiser J. F., Digital Filters, Ch. 7 in: System Analysis by Digital Computer, Kuo F. F., Kaiser J. F., eds., Wiley, N. Y., 1966.
Gibbs A. J., On the Frequency Domain Responses of Causal Digital Filters, Ph. D. Thesis, Univ, of Wisconsin, Madison, Wis., 1969.
Gibbs A. J., An Introduction to Digital Filters, Australian Telecomm. Research, 3, No. 2, 3—14 (Nov. 1969).
Gibbs A. J., The Design of Digital Filters, Australian Telecomm. Research, 4, No. 1, 29-34 (1970).
Rader С. M., Gold B., Digital Filter Design Techniques in the Frequency Domain, Proc. IEEE, 55, No. 2, 149—171 (Feb. 1967).
Golden R. M., Kaiser J. F., Design of Wideband Sampled Data Filter», Bell Syst. Tech. J., 43, No. 4, 1533—1546, Part 2 (July 1964).
Weinberg L., Network Analysis and Synthesis, McGraw-Hill, N. Y., 1962.
Storer J. E., Passive Network Synthesis, McGraw-Hill, N. Y., 1957.
Thiran J. P., Recursive Digital Filters with Maximally Flat Group Delay, IEEE Trans. Circuit Theory, CT-18, 659—663 (Nov. 1971).
Thiran J. P., Equal-Ripple Delay Recursive Digital Filters, IEEE Trans. Circuit Theory, CT-18, 664—667 (Nov. 1971).
Fettweis A., A Simple Design of Maximally Flat Delay Digital Filters, IEEE Trans, on Audio and Electroacoustics, AU-20, No. 2, 112—114 (June 1972).
Daniels R. W., Approximation Methods for the Design of Passive, Active, and Digital Filters, McGraw-Hill, 1974.
Частотные преобразования
Weinberg L., Network Analysis and Synthesis, McGraw-Hill, N. Y., 1962.
Constan tinides A. G., Spectral Transformation for Digital Filters, Proc. IEE, 117, No. 8, 1585—1590 (1970).
Методы проектирования во временной области
Burrus С. S., Parks Т. W., Time Domain Design of Recursive Digital Filters, IEEE Trans. Audio., 18, 137—141 (1970).
Shanks J. L., Recursion Filters for Digital Processing, Geophys., 32, 33—51» (Feb. 1967).
Brophy F., Salazar A. C., Considerations of the Fade Approximant Technique in tne Synthesis of Recursive Digital Filters, IEEE Trans, on Audio and Electroacoustics, AU-21, No. 6, 500—505 (Dec. 1973).
Evans A. G., Fischl R., Optimal Least Squares Time-Domain Synthesis of Recursive Digital Filters, IEEE Trans, on Audio and Electroacoustics, AU-21, No. 1, 61—65 (Feb. 1973).
Brophy F., Salazar A. C., Recursive Digital Filter Synthesis in the Time Domain, IEEE Trans, on Acoustics, Speech, and Signal Processing, Vol.
. ASSP-22, No. 1, 45—55 (Feb. 1974).
Методы оптимизации
Steiglitz К., Computer-Aided Design of Recursive Digital Filters, IEEE ' Trans, on Audio and Electroacoustics, 18, 123—129 (1970).
Deczky A. G., Synthesis of Recursive Digital Filters using the Minimum Р-Error Criterion, IEEE Trans, on Audio and Electroacoustics, AU-20, No. 4, 257—263 (Oct. 1972).
Helms H. D., Digital Filters with Equiripple or Minimax Responses, IEEE Trans, on Audio and Electroacoustics, 19, No. 1, 87—94 (1971).
Deczky A., Computer Aided Synthesis of Digital Filters in the Frequency Domain, ScD. Thesis, Swiss Federal Institute of Technology, Zurich, Switzerland, 1973.'
Bandler J. W., Bardakjian B. J., Least pth Optimization of Recursive Digital Filters, IEEE Trans, on Audio and Electroacoustics, AU-21, No. 5, 460 —470 (Oct. 1973).
Thajchayapong P., Rayner P. J., Recursive Digital Filter Design by Linear Programming, IEEE Trans, on Audio and Electroacoustics, AU-21, No. 2, 107—112 (April 1973).
Rabiner L. R., Graham N.Y., Helms H. D., Linear Programming Design
' of HR Digital Filters with Arbitrary Magnitude Function, IEEE Trans, on Acoustics, Speech, and Signal Processing, Vol. ASSP-22, No. 2, 117—123 (April 1974).
Fletcher R., Powell M. J. D., A Rapidly Convergent Descent Method for Minimization, Computer J., 6, No. 2, 163—168 (1963).
ЭФФЕКТЫ КОНЕЧНОЙ РАЗРЯДНОСТИ ЧИСЕЛВ ЦИФРОВЫХ ФИЛЬТРАХ
Введение
Во всех предыдущих главах при рассмотрении цифровых фильтров предполагалось, что и коэффициенты фильтров, и переменные представляются с неограниченной точностью. Для того чтобы понять, какими свойствами будет обладать реальный фильтр, построенный в виде специализированного устройства или на базе ЦВМ, необходимо учесть эффекты, вызванные конечной разрядностью всех используемых регистров. К таким эффектам относятся:
Шум аналого-цифрового преобразования.
Некоррелированный шум округления.
Погрешности характеристик фильтров, обусловленные квантованием коэффициентов фильтров.
Коррелированный шум округления, проявляющийся в виде предельных циклов..
Учитывая методы представления чисел в фильтре, способы квантования, используемые для сокращения разрядности чисел до нужной величины, а также особенности структурной схемы фильтра, в каждом конкретном случае можно оценить, как перечисленные эффекты скажутся на характеристиках фильтра. В этой главе каждый из этих эффектов рассмотрен в общем виде и дан детальный анализ некоторых частных случаев.
Можно указать на несколько серьезных причин, по которым целесообразно подробно рассмотреть лишь некоторые частные случаи. Одна из них состоит в том, что число возможных комбинаций методов представления чисел, способов квантования и структур фильтра весьма велико (например, если каждый из перечисленных факторов имеет соответственно 5, 3 и 9 вариантов, то общее число комбинаций будет равно 135). Вторая причина состоит в том, что многие из возможных вариантов представляют чисто теоретический интерес, так как они никогда не используются в реальных системах. Так, например, обычно стараются не использовать представления чисел в прямом коде (с модулем и знаком), поскольку при выполнении простых операций типа сложения возникают характерные для такого представления трудности.
Аналого-цифровое преобразование
Одним из наиболее важных способов формирования последовательности является дискретизация непрерывного колебания. Устройство, предназначенное для преобразования непрерывного колебания в последовательность отсчетов, каждый из которых является аппроксимацией соответствующего отсчета входного колебания, называется аналого-цифровым преобразователем (АЦП). На фиг. 5.1 приведена блок-схема АЦП, работу которого можно представить в виде двухэтапного процесса. На первом этапе формируется последовательность s (п) = s (t)\t=nTi в которой отсчеты s (п) представлены с неограниченной точностью. На втором этапе значение каждого отсчета s (п) представляется числом, состоящим из конечного числа двоичных разрядов. В результате получается новая последовательность sKB (п). В реальных АЦП обе операции выполняются совместно, т. е. имеется единый блок, на вход которого поступает колебание s (i), а на выходе формируется последовательность $нв (п). Разность е (n) = s (п) — $кв (п) называется шумом квантования или шумом* аналого-цифрового преобразования. ■
Как было отмечено в гл. 2, полоса входного колебания должна быть ограничена, так как иначе последовательность sHB (п) не будет однозначно представлять $ (t). Поэтому аналого-цифровому преобразователю обычно предшествует аналоговый фильтр нижних частот1). Желательно, чтобы в полосе сигнала характерис-
АЦП
Фиг. 5.1. Блок-схема аналого-цифрового преобразователя.
тика фильтра имела минимальные пульсации, а подавление составляющих с частотой, превышающей половину частоты дискретизации, составляло не менее 40 дБ. Опыт показывает, что для обработки речевых сигналов достаточно использовать фильтр восьмого порядка (с крутизной спада характеристики 48 дБ на октаву).
В зависимости от особенностей метода квантования последовательности s (п) шум квантования может иметь то или иное амплитудное распределение. Если наименьший шаг квантования равен Q, то взаимосвязь между sKB (п) и s (и) для случая округления
х) Очевидно, что с тем ясе успехом можно использовать и полосовой фильтр с нижней частотой среза, кратной частоте дискретизации АЦП.— Прим. ред. ■
Фиг. 5.2. Характеристика квантователя при использовании округления.
будет описываться характеристикой фиг. 5.2. Поскольку число уровней квантования конечно, все отсчеты, выходящие за максимальный (^макс) или минимальный (^мин) уровень, округляются до этих значений. Обычно такого ограничения сигнала сверху и снизу стараются избежать путем соответствующего выбора шага квантования Q и уровня входного аналогового сигнала. Из фиг. 5.2 видно, что сигнал ошибки удовлетворяет (за исключением случаев превышения предельных уровней) сотношению
-4-<е(П)<4-(5.1)
при любых л. Используя достаточно общие предположения, можно показать, что распределение сигнала ошибки является равномерным. На фиг. 5.3 представлен график плотности вероятности ошибки квантования при округлении.
На фиг. 5.4 процесс округления в АЦП иллюстрируется на примере дискретизации аналогового синусоидального колебания $ (i). В нижней части фиг. 5.4 представлены (в увеличенном масштабе) ошибки квантования каждого из отсчетов. Как и ожидалось, последовательность, представляющая ошибку, имеет случайный характер.
При получении отсчетов $нв (и) могут быть использованы и другие способы квантования. Так, при усечении в качестве отсчета сигнала используется ближайший меньший уровень квантования.
-Q/2
0
Q/2 ®
Фиг. 5.3. Плотность вероятности ошибки квантования при округлении
Ошибка квантования
Фиг. 5.4. Ошибка квантования синусоидального сигнала.
Фиг. 5.5. Характеристика квантователя при использовании усечения.
I/O
Ру®
Фиг. 5.6. Плотность вероятности ошибки усечения.
На фиг. 5.5 графически представлено соотношение между sra (га) и $ (га) при усечении. Поскольку результат усечения равен результату округления, уменьшенному на половину шага квантования, то график плотности вероятности сигнала ошибки будет таким, как показано на фиг. 5.6.
Из фиг. 5.3 и 5.6 видно, что ошибка квантования имеет среднее значение, равное нулю при округлении и @/2 при усечении, а ее дисперсия в обоих случаях равна ^2/12.
При цифровой обработке сигналов часто применяется еще один способ квантования, называемый усечением при представлении отсчетов в прямом коде (с использованием величины и знака). При положительных значениях отсчетов сигнала этот способ идентичен усечению. Отрицательные же отсчеты заменяются на ближайший больший уровень квантования. Таким образом, в зависимо-
е(п)
S(n)S(n)адП*П
S(n)
S(n)
Фиг. 5.7. Линейная модель учета шума квантования в ЛПП-системе.
сти от знака sKB (п) используется либо распределение ошибки квантования, представленное на фиг. 5.6, либо его зеркальное отображение. При этом среднее значение ошибки квантования будет равно нулю, но дисперсия ошибки будет равна ^2/3, т. е. вчетверо больше, чем при усечении или округлении. С учетом приведенных статистических характеристик из всех возможных методов квантования на практике предпочитают использовать округление.
Получив общее представление о механизме аналого-цифрового преобразования и о распределении шума квантования, можно сделать вывод, что каждый отсчет квантованного сигнала на входе цифровой системы с импульсной характеристикой Цп) равен сумме неквантованного отсчета s (п) и ошибки квантования е (п) (фиг. 5.7). Пользуясь свойством линейности системы, можно прохождение последовательностей s (п) и е (п) рассматривать независимо, а выходную последовательность представить в виде
у (и) = s (п) ♦ h (п) + е (п) ♦ h (п) (5.2)
сигнал шум
(предполагается, что обработка выполняется с неограниченной точностью). Таким способом можно найти сигнал и шум на выходе фильтра и вычислить отношение сигнал/шум после обработки. Конечно, обработка в цифровом фильтре производится с конечной точностью, так что сказанное выше нужно уточнять. Тем не менее представление квантованного сигнала в виде суммы неквантованного сигнала и шума квантования является одним из важнейших приемов при изучении эффектов конечной разрядности чисел.
Прежде чем перейти к анализу различных систем счисления, используемых при построении цифровых фильтров, целесообразно подчеркнуть одно важное положение, относящееся к шуму квантования в АЦП. Любые аналоговые сигналы всегда сопровождаются шумом того или иного вида, т. е. обрабатываемая реализация имеет конечное отношение сигнал/шум. Например, при передаче речевого сигнала по обычной телефонной линии отношение сигнал/шум составляет около 36 дБ, так что никакое увеличение разрядности не позволит получить в дискретизованном сигнале отношение сигнал/шум, большее, чем в исходном аналоговом сигнале. Действительно, если шаг квантования Q значительно меньше амплитуды сигнала, младшие разряды отсчетов последо-
вательности будут всего лишь более точно описывать шум, сопровождающий аналоговый сигнал. Отсюда следует, что увеличение числа разрядов АЦП сверх некоторой величины приводит лишь к увеличению точности представления входного аналогового шума. Итак, разрядность АЦП определяется характером преобразуемого сигнала.
Цифро-аналоговое преобразование
Цифро-аналоговый преобразователь (ЦАП) представляет собой устройство, служащее для преобразования последовательности у (п) в аналоговое колебание у (f) вида
»(t)-Sv(")A(t-»D, (5.3)
причем вид функции Н (t) определяется видом цифро-аналогового преобразователя. Одной из наиболее распространенных интерполирующих функций A (0 является прямоугольный импульс длительностью Т секунд. Такие ЦАП обычно называют цифро-аналоговыми преобразователями с интерполятором нулевого порядка. На фиг. 5.8 изображены типичная последовательность у (га) и аналоговый сигнал у Ц) на выходе ЦАП с интерполятором нулевого
У(п)
Фиг. 5.8. Входной и выходной сигналы ЦАП с интерполятором нулевого порядка.
порядка, рассчитанный по формуле (5.3). Ясно, что выходное аналоговое колебание у (О содержит большое количество нежелательных высокочастотных составляющих. Для их подавления после - ЦАП обычно включают аналоговый линейный фильтр нижних частот с постоянными параметрами и частотой среза не выше 1/(27*) Гц, где 1/Т — частота дискретизации. Такой фильтр называют выходным, а комбинацию из ЦАП и выходного фильтра—восстанавливающим фильтром.
Цифро-аналоговое преобразование в принципе позволяет без ошибки восстановить аналоговое колебание, эквивалентное (в некотором смысле) входной последовательности ЦАП. Из формулы (5.3), однако, следует, что Y (го), спектр выходного колебания у (i), не будет совпадать в полосе 0 ^ / ^ 1/(27*) со спектром Yd (с,ю) входной последовательности у (п), так как Y (со) и YD (eim) связаны соотношением
Y (со) = Yd W Н (со).Y (со) = Yd W Н (со).(5-4)(5-4)
Y (со) = Yd W Н (со).
Y (со) = Yd W Н (со).
(5-4)
(5-4)
где Н (со) — спектр Тг(^\ Для интерполятора нулевого порядка
Н^\=Н^\=2 sin (юТ/2)ю2 sin (юТ/2)ю(5.5)(5.5)
Н^\=
Н^\=
2 sin (юТ/2)ю
2 sin (юТ/2)ю
(5.5)
(5.5)
Чтобы скомпенсировать искажение спектра, вносимое неравномерностью частотной характеристики ЦАП, последовательность у (и) часто предварительно пропускают через цифровой фильтр, амплитудная характеристика которого аппроксимирует функцию
(5-6)(5-6)I G (eia\ I _ш1
(5-6)
(5-6)
1 v 212 sin (соГ/г)ТТГ^Т’
Таким образом, последовательное соединение устройств с характеристиками G (е,ю) и Н (го) в целом обеспечивает равномерную частотную характеристику. На фиг. 5.9 показаны все операции, необходимые для перехода от последовательности у (п) к аналоговому колебанию у (0 со спектром, эквивалентным в полосе
Фиг. 5.9, Блок-схема цифро-аналогового преобразователя с компенсацией частотной характеристики.Фиг. 5.9, Блок-схема цифро-аналогового преобразователя с компенсацией частотной характеристики.
Фиг. 5.9, Блок-схема цифро-аналогового преобразователя с компенсацией частотной характеристики.
Фиг. 5.9, Блок-схема цифро-аналогового преобразователя с компенсацией частотной характеристики.
—1/(27) ^ / ^ 1/(27) спектру исходной последовательности. Следует иметь в виду, что цифровой компенсирующий фильтр, показанный на фиг. 5.9, не обязательно выполнять в виде отдельного устройства; его можно включить в состав самой системы цифровой обработки.
Системы счисления, применяемыев цифровых устройствах
- Как уже упоминалось, в цифровых устройствах используются самые разнообразные системы счисления. Одними из наиболее распространенных являются системы с фиксированной и плавающей запятой. Недавно разработана гибридная система, занимающая промежуточное положение между ними; она была названа системой счисления с поблочно плавающей запятой. Хотя могут использоваться и другие системы счисления, при изучении эффектов, связанных с конечной разрядностью чисел, будут рассматриваться только эти три наиболее распространенные системы. Некоторые результаты, которые будут приведены в данной главе, можно непосредственно распространить и на многие еще разрабатываемые системы счисления.
Система счисления с фиксированной запятой
В данной главе принято, что для представления чисел в цифровом фильтре используются b двоичных разрядов. С их помощью можно точно представить 2Ь различных Ь-раэрядных чисел. В системе счисления с фиксированной запятой считается, что положение двоичной запятой фиксировано. Разряды справа от запятой дают дробную часть числа, а слева от нее — целую часть. Так, двоичное число 01,01100 равно (0 х 21) + (1 х 2°) + (0 х 2-1) + (1 X X 2-2) + (1 X 2-8) + (0 X 2-4) + (0 х 2-6), или 1,375 в десятичной системе.
В зависимости от способа представления отрицательных чисел различают три вида системы счисления с фиксированной запятой. Числа могут быть представлены в прямом, дополнительном и обратном кодах. При использовании прямого кода старший разряд является знаковым (0 соответствует знаку +, 1 — знаку —), а остальные Ъ — 1 разрядов дают модуль числа. Например, если Ъ — 7, то десятичное число —1,375 записывается как 11,01100, причем двоичная запятая располагается после второго старшего разряда. При таком кодировании (6 = 7) число 0 имеет две формы: 00,00000 и 10,00000, поэтому с помощью'Ь разрядов можно точно представить только 2Ь — 1 чисел.
При использовании дополнительного кода положительные числа представляются так же, как и в прямом коде. Для формирова-
ния кода отрицательного числа все разряды соответствующего положительного числа инвертируются, после чего к младшему разряду добавляется единица. Например', число —(01,01100) в дополнительном коде имеет вид
-(01,01100) = (10,10011) + (00,00001) = 10,10100.
Наибольшее положительное число, которое можно точно представить в дополнительном коде, равно 01,11111 (при b = 7), а наименьшее отрицательное число равно 10,00000; его модуль на единицу младшего разряда превышает предыдущее число. Поскольку для нуля имеется только одна форма записи, в дополнительном Ь-раэрядном коде можно точно представить 2Ь различных чисел.
Обратный код положительных чисел совпадает с их прямым и дополнительным кодом. Обратный код отрицательных чисел формируется путем простой инверсии всех разрядов соответствующего положительного числа. Например, обратный код отрицательного числа с модулем (01,01100) будет равен —(01,01100) = (10,10011). Таким образом, нуль имеет в данной системе две формы записи: 00,00000 и 11,11111.
Выбор конкретного из трех перечисленных способов кодирования обычно определяется особенностями программирования и аппаратурной реализации. Так, операцию вычитания удобнее всего выполнять в дополнительном коде. Для построения последовательных умножителей проще всего использовать прямой код и перемножать только модули чисел, а знак произведения формировать из знаков Сомножителей с помощью простой логической схемы.
При построении цифровых фильтров с использованием систем счисления с фиксированной запятой обычно считается, что двоичная запятая расположена справа от старшего разряда. Следовательно, числа могут принимать значения в пределах от —1,0 до 1,0—2-(Ь-1), где b — число разрядов. Это не нарушает общности, так как всегда сигналы можно пронормировать таким образом, чтобы их значения находились в пределах выбранного диапазона. При записи коэффициентов фильтра запятая может быть передвинута вправо, чтобы использовать коэффициенты, превышающие единицу.
Системы счисления с плавающей запятой
В системах счисления с плавающей запятой положительные числа представляются с помощью двух чисел с фиксированной запятой — мантиссы и порядка. Число / с плавающей запятой равно произведению мантиссы т и числа, получающегося при возведении основания системы (обычно равного 2) в степень, равную порядку а, т. е.
(5.7)(5.7)f=m-2a.
(5.7)
(5.7)
Мантиссу т обычно нормируют так, чтобы она имела наибольшее возможное значение, но не превышала некоторого предела, например числа 1,0. В данной главе будет предполагаться, что мантисса приводится к интервалу
у^ш<1.(5.8)
Уакимобразом, десятичные числа 3,0; 1,5 и 0,75 в системе счисления с плавающей запятой (при основании 2) изображаются соответственно как 22 х 0,75; 21 х 0,75 и 2° х 0,75.
Отрицательные числа с плавающей запятой обычно образуют, представляя мантиссу числом с фиксированной запятой, имеющим знак. Таким образом, знак числа с плавающей запятой определяется старшим разрядом мантиссы. Порядок также является числом с фиксированной запятой и со знаком, а с помощью отрицательных порядков записываются числа, модуль которых меньше 0,5.
Все Ъ разрядов числа с плавающей запятой следует разделить на две группы: Ьг разрядов задают мантиссу, а Ъ2 = Ъ — Ъх — порядок. При заданном числе разрядов b с увеличением разрядности порядка д2 расширяется динамический диапазон представляемых чисел, но снижается точность их представления. В большинстве случаев при использовании чисел с плавающей запятой (например, при обработке на ЦВМ с использованием языков программирования высокого уровня) Ьг « 3/4Ь. Так, например, в ЦВМ с 36-раэрядными словами 27 разрядов отводятся для мантиссы и 9 —для порядка. Это позволяет представить с плавающей запятой числа /, лежащие в диапазоне
0,5 х 2-25®<| /1 < 2256,
причем мантисса представляется с точностью около 2-27.
Перемножение чисел Л и /2 с плавающей запятой производится следующим образом. Пусть
f1 = miX2ttS
f2 = m2x 202.
Тогда произведение /з = Л X /2 образуется по формуле /з = (^i X т^ 2(О1+О2),-
т. е. мантиссы перемножаются как числа с фиксированной запятой, а порядки складываются. Величина произведения мантисс | т1 х тпг | находится в пределах от 0,25 до 1, т. е. может не соответствовать условию нормирования. В этом случае для нормирования произведения необходимо изменить порядок аг + аг. Так, произведение десятичных чисел 1,25 X 1,25 (при Ъ2 = 3,
bx = 9) будет равно (2001 х 0,10100000) х (2001 х 0,10100000) ^ 2010 х 0,01100 100 = 2001 х 0,11001000.
Сложение чисел с плавающей запятой оказывается более сложной операцией, чем сложение чисел с фиксированной запятой. Чтобы сложить два числа, меньшее из них нужно изменить так, чтобы его порядок равнялся порядку большего числа. При этом меньшее число станет ненормированным. Далее обе мантиссы складываются, а результат нормируется согласно условию (5.8). Пре этом порядок суммы может измениться. В качестве примера рассмотрим сложение двух чисел с плавающей запятой, считая, что мантиссы и порядки представлены в дополнительном коде:
/1П = 2010 х 0,11000000 — fx нормированное = 3,0|10
*^" fin = 2000 X 0,10100000 — /2 нормированное = 0,625 |ю f»u = 2010 х 0,00101000— /2 ненормированное
fsu ~ fin + flu = 2°10 X 0,11101000 — ненормированная сумма = - 3,625110*
/зп = /зи — нормированная сумма
В данном случае нормированное число /2П было преобразовано в ненормированное число /2и, которое затем было сложено с /1П, а результат /Зи оказался ненормированным числом.
Из приведенных рассуждений можно сделать вывод, что при представлении чисел с плавающей запятой ошибки округления или усечения могут возникать как при умножении, так и при сложении, тогда как при использовании фиксированной запятой они имеют место только при умножении. Однако во втором случае возможны переполнения, а в первом случае ввиду значительно большего динамического диапазона чисел они весьма маловероятны.
Система счисления с поблочно плавающей запятой
Представление чисел с поблочно плавающей запятой является комбинацией представлений чисел с фиксированной и плавающей запятой: вместо нормирования каждого представляемого числа в отдельности, как это делается в системе счисления с плавающей запятой, один и тот же порядок используется для представления целого массива чисел. Для этого из массива выбирается наибольшее число и представляется как обычное число с плавающей запятой и с нормированной мантиссой. Достоинством данного представления является то, что более экономно используется память, поскольку порядок является общим. Такое представление особенно удобно для алгоритмов БПФ, хотя оно может быть использовано и при построении цифровых фильтров.
Виды квантования в цифровых фильтрах
Из предшествующих глав известно, что при выполнении цифровой фильтрации используются операции умножения, сложения и сдвига. Поэтому, если отсчеты на входе цифрового фильтра (поступающие, например, с выхода АЦП) имеют конечную разрядность, при обработке будут, как правило, получаться числа, для точного представления которых необходимо большее число разрядов. Например, если 6-разрядный входной отсчет умножается на 6-раз- рядный коэффициент фильтра, для хранения результата необходим 26-разрядный регистр. Более того, если произведение снова не представить 6-разрядным числом, то в рекурсивных схемах число разрядов регистров, служащих для хранения последовательных произведений, может возрасти беспредельно.
w(n)w(n)Рассмотрим, например, рекурсивную цепь первого порядка (фиг. 5.10). Если для представления отсчетов входной последовательности и множителя а используются b разрядов, то после первой итерации отсчеты w (п) будут содержать по 26 разрядов, поскольку а (6 разрядов) X у (—1) (6 разрядов) = w (0) (26 разрядов). Если w^ не квантуется, то для представления у (0) = w (0) + + х (0) потребуется 26 разрядов. После второй итерации для w (п) понадобится 36 разрядов, поскольку а (6 разрядов) X у (0) х X (26 разрядов)=w (1) (36 разрядов). Если этот процесс продолжать, то число разрядов, необходимое для представления w (п) [или у (га)], будет линейно увеличиваться до бесконечности. Ясно, что такой результат неприемлем. Обычный способ решения этой проблемы состоит в отбрасывании младших разрядов чисел увеличенной разрядности, образующихся в цифровом фильтре при умножениях (а иногда и при сложениях). При отбрасывании младших разрядов используются два стандартных способа: усечение и округление. Оба способа уже обсуждались выше при рассмотрении аналого-цифрового преобразования, поэтому ниже будут просто перечислены особенности обоих способов применительно к различным системам счисления, используемым при построении цифровых фильтров.
w(n)
w(n)
уОН)уОН)У(-П-¥о
уОН)
уОН)
Фиг. 5.10. Простая рекурсивная цепь первого порядка.
Усечение
При усечении числа отбрасываются все младшие разряды, стоящие после наименьшего сохраняемого разряда. Таким образом, ошибка, получающаяся при усечении положительного числа, представленного в дополнительном коде, удовлетворяет неравенству
. — 2-Ь^а:ус—ж^О, . ' (5.9)
где Ъ — число сохраняемых разрядов, стоящих после двоичной запятой, a zyc — усеченное значение х, причем предполагается, что |я| ^ 1,0. Для чисел, представленных в прямом или обратном коде, ошибка усечения удовлетворяет неравенству (5.9) только при х >0. Если же х <; 0, то справедливо другое неравенство: 0^жус —же 2"ь,ж<0.(5.10)
При использовании чисел с плавающей запятой усечение касается только мантиссы. Так, рассмотрим число х = 2е • т, в котором т — мантисса, ас — порядок. Усечем мантиссу до Ъ разрядов и запишем ошибку усечения (яус— ж) как величину, пропорциональную ж, т. е.
яус—а: = (1-|-8) я. (5.11)
Тогда при записи мантиссы в дополнительном коде ошибка усечения удовлетворяет неравенству
(5.12)(5.12)(5.13)(5.13)— 2-ь.2сСеж^0.
(5.12)
(5.12)
(5.13)
(5.13)
При х >0 справедливо неравенство 2°-1<ж<2с,ж>0.
Из неравенства (5.12) следует, что при положительном х ошибка ех отрицательна, т. е. е должно быть отрицательным. Поэтому, умножая (5.13) на е и меняя при этом знаки неравенств, получим
2ее < ех ^ 2с~1е,х > 0.2ее < ех ^ 2с~1е,х > 0.(5.14)(5.14)
2ее < ех ^ 2с~1е,х > 0.
2ее < ех ^ 2с~1е,х > 0.
(5.14)
(5.14)
(5.15)(5.15)Из неравенств (5.12) и (5.14) следует, что — 2’ь.2<е^0,я>0.
(5.15)
(5.15)
Если же х < 0, то для е можно получить следующее неравенство:
0^e<2-b-2,я<0.0^e<2-b-2,я<0.(5.16)(5.16)
0^e<2-b-2,я<0.
0^e<2-b-2,я<0.
(5.16)
(5.16)
Аналогичным образом можно найти границы для е при представлении мантиссы в прямом или обратном коде. В этих случаях искомое неравенство имеет вид
(5.17)(5.17)— 2.2~ь<;е^0 при любых х.
(5.17)
(5.17)
Наиболее важный вывод из вышеизложенного состоит в том, что ошибка усечения всегда заключена между нулем и числом, пропорциональным ±2-Ь.-
Округление
При округлении числа до b разрядов исходное неокругленное число заменяется на ближайшее 5-разрядное число. Если же округляемое число располагается посередине между двумя соседними 5-разрядными числами, то округленное значение следует выбирать случайным образом. Так, число 0,01010, округленное до двух разрядов после запятой, будет равно 0,01, но при округлении до трех разрядов это будет либо 0,011, либо 0,010, причем выбор должен быть случайным.В большинстве случаев, когда приходится выбирать, в какую сторону округлять, случайный характер округления сказывается на точности вычислений очень слабо.
Для систем с фиксированной запятой ошибка при округлении числа до b разрядов после запятой удовлетворяет неравенству — ^^ок —£<Д^-(5.18)
для всех трех методов представления чисел (в дополнительном, обратном и прямом кодах). '
Ошибка округления чисел с плавающей запятой удовлетворяет неравенству
-Y-^^x^-x^Y ^.(5.19)
Если ее снова записать в виде величины, пропорциональной ж, т. е. как жок — z — еж, то для е при любом из трех способов представления мантиссы будет справедливо следующее неравенство:
-2-ьСе<2-ь.(5.20)
Все неравенства (5.9) — (5.20), относящиеся к ошибкам округления и усечения, удобно представить с помощью плотностей вероятности ошибки. Хотя предельные значения ошибок известны, распределение ошибок в этих пределах не известно. Вполне естественно предположить, что все возможные значения ошибки равновероятны, т. е. ошибки распределены равномерно. На фиг. 5.11 приведены графики плотности вероятности ошибок округления и усечения, построенные при этих предположениях для систем с фиксированной и плавающей запятой. При фиксированной запятой рассматривается абсолютная ошибка типа е = хок — ж, а при плавающей — относительная ошибка типа е = (жок — х)/х.
Фиксированная запятаяФиксированная запятаяПлавающая запятая р(е)Плавающая запятая р(е)Округление2ь/2 ■Округление2ь/2 ■о ^ео ^еУсечение дополнительного кодаУсечение дополнительного кодаУсечение обратного и прямого кодаУсечение обратного и прямого кода
Фиксированная запятая
Фиксированная запятая
Плавающая запятая р(е)
Плавающая запятая р(е)
Округление
2ь/2 ■
Округление
2ь/2 ■
о ^е
о ^е
Усечение дополнительного кода
Усечение дополнительного кода
Усечение обратного и прямого кода
Усечение обратного и прямого кода
Фиг. 5.11. Плотности вероятности шума квантования.
Шум округления в рекурсивных структурахс фиксированной запятой
В цифровых фильтрах при использовании систем счисления с фиксированной запятой выполняются операции умножения на постоянные величины (коэффициенты фильтра) и сложения. Пока переполнений не происходит, сложение двух или более чисел с фиксированной запятой не может привести к ошибкам в представлении суммы. (Но так как переполнение при сложении все-таки возможно, то при построении фильтра необходимо ввести ограничения на динамический диапазон сигнала. В данной главе мы еще вернемся к этому вопросу.) С другой стороны, умножение не может вызвать переполнения (если оба сомножителя были соответствующим образом пронормированы), но результат умножения необходимо квантовать. Пока не будет оговорено особо, будем считать, что при квантовании используется округление, так как ему свойственны некоторые желательные для нас свойства: ошибка не зависит от системы счисления, ее среднее равно нулю (в отличие от ошибки усечения), а дисперсия меньше, чем для других методов квантования.
Модель, описывающая шум округления произведения в системе с фиксированной запятой, показана на фиг. 5.12. Умножитель рассматривается здесь как устройство, работающее с бесконечной
е
*кв а Ул» *кв а i
—»► =^ Ку► У„
^кв" (хкв" а ^6^сл" ^ хкв* а + е )
Фиг. 5.12. Шумовая модель квантования при умножении с фиксированной запятой.
точностью, а вслед за ним включен сумматор, на который поступает шум квантования произведения, так что результат суммирования обязательно равен одному из уровней квантования. В модели принято, что отсчеты шума округления е являются случайными величинами с равномерным распределением, которое представлено на фиг. 5.11 для случая округления чисел с фиксированной запятой. Таким образом, каждый отсчет шума округления — это случайная величина с нулевым средним и дисперсией, равной 2"2Ь/12, где (b + 1) — число разрядов (включая знаковый), используемых для представления переменных фильтра.
Для моделирования эффектов округления при умножении в цифровом фильтре необходимо сделать некоторые предположения относительно статистической независимости различных источников шума, возникающего в фильтре. Обычно используются следующие предположения:
Любые два отсчета шума от одного и того же источника не коррелированы.
Любые два источника шума (возникающего в различных умножителях) создают некоррелированные шумы.
Шум от каждого из источников некоррелирован с входной последовательностью.
Таким образом, шум от каждого из источников шума квантования произведения рассматривается как дискретный стационарный случайный процесс с равномерной спектральной плотностью мощности, равной 2~2Ь/12.
Следует отметить, что эти предположения справедливы не всегда. В частности, если входные отсчеты постоянны, все три предположения нарушаются. При этом шум (т. е. ошибку) округления уже нельзя считать некоррелированным с входной последовательностью. Вопросы, связанные с коррелированным шумом округления (т. е. с предельными циклами), будут рассмотрены в разд. 5.31.-
На фиг. 5.13 изображена блок-схема цифрового фильтра четвертого порядка, построенного в прямой форме, в которой в соответствии с вышеприведенной моделью все умножители, имеющие конечную точность вычислений, заменены идеальными умножителями и источниками аддитивного шума округления. Поскольку
Фиг. 5.13. Шумовая модель квантования произведений в рекурсивном фильтре четвертого порядка.
шумы от всех источников приложены к одной точке фильтра, их можно заменить одним источником шума е (п) = е0 (п) + (п)+... .. . + е8 (и) с нулевым средним и дисперсией, равной (согласно предположению 2) а2 = а2 + af + ... + а| = (9 X 2'2b)/12, как показано в нижней части фиг. 5.13.
Если фильтр четвертого порядка (фиг. 5.13) реализуется путем последовательного соединения двух фильтров второго порядка, то шумовая модель такого фильтра имеет вид, показанный на
фиг. 5.14. В ней также имеется девять источников шума [с е0 (и) по е8 (п)], но они уже не подключаются к общей точке, как это было на фиг. 5.13. Как и в предыдущем случае, важно оценить дисперсию шума на выходе фильтра. Для оценки дисперсии составляющих выходного шума, обусловленных каждым из источников, можно воспользоваться теорией линейных систем, а дисперсия полного шума, согласно предположению 2, будет равна сумме дисперсий отдельных составляющих.
Рассмотрим к-й источник шума ек (п). Пусть hh (п) — импульсная характеристика участка цепи от источника шума до выхода фильтра. [Заметим, что hk (п) для конкретных цепей можно определить методами теории линейных систем с постоянными параметрами.] Составляющая выходного шума ^А (п), обусловленная источником ек (и), равна свертке
п
1ккЧ=^ hkWek^—m?).(5.21)
m=0
Дисперсия ^ь (п) имеет вид
пп
agk (п) = Я[ 2 hk (m)ek(n — m) 2 4{1)ек(п — /)] =771=0Z=0
n n
= 2 2 M^MWh^-^6^- Z)] = m=0 1=0
= 2 SM>") MO «(*-"») o’-(5.22)
- m=0 Z=0
Фиг. 5.15. Шумовая модель квантования произведений в системе первого порядка.
СГок(и) = (т| 2j Wb(5.23)
m=0
причем соотношение (5.23) было выведено с учетом предположений 1 и 3 (см. стр. 343), а о8 = 2-2Ь/12..
В пределе, когда п->- оо, дисперсия о он (п) стремится к установившемуся значению
0^ = 0*. S кЦтУ(5.24)
m=0
При этом дисперсия полного шума будет равна
а; = 2®8б-(5.25)
h
Для цепей первого и второго порядка величина а^ рассчитывается достаточно просто. В фильтре первого порядка (фиг. 5.15) имеется только один источник шума е0 (п), а импульсная характеристика Ло (п) = кп и_х (п), так что
п2 _ 2 _ 2'8Ь у ъгт _ J^!L 1
°о-иоо— 12№12, 1 —fc® •
ш=0
На фиг. 5.16 изображен фильтр второго порядка с z-преобразова- нием импульсной характеристики, равным
1
Н ^ = 1 —2г (COS 5)2-1+ г22-8 •
В нем содержатся два источника шума ех (п) и е2 (п), причем импульсные характеристики цепей, по которым проходят шумовые последовательности, имеют вид
h^ (n) = /i2 (п) = {rn sin l(n +1) b]/sin Ь) u-t (n).
Фиг. 5.16. Шумовая модель квантования произведений в системе второго порядка.
В этом случае установившееся значение дисперсии выходного шума равно
Oq = Ooi + Oo2 = 2Oq = Ooi + Oo2 = 22~2Ьчг2~2ЬчгОО2 r2mтп=0ОО2 r2mтп=0sin2 [(m+1) t>Jsin2 bsin2 [(m+1) t>Jsin2 b
Oq = Ooi + Oo2 = 2
Oq = Ooi + Oo2 = 2
2~2Ьчг
2~2Ьчг
ОО
2 r2m
тп=0
ОО
2 r2m
тп=0
sin2 [(m+1) t>Jsin2 b
sin2 [(m+1) t>Jsin2 b
или после суммирования имеем
2-2Ь Г (1 + г2)°6 L (1—г2)2-2Ь Г (1 + г2)°6 L (1—г2)1 (1 + г4—2г2 cos 2b)1 (1 + г4—2г2 cos 2b)(5.25а)(5.25а)
2-2Ь Г (1 + г2)
°6 L (1—г2)
2-2Ь Г (1 + г2)
°6 L (1—г2)
1 (1 + г4—2г2 cos 2b)
1 (1 + г4—2г2 cos 2b)
(5.25а)
(5.25а)
При оценке установившегося значения дисперсии выходного шума [формула (5.24) или (5.25)] приходится суммировать бесконечный ряд значений hl (т). Обычно для самих отсчетов Hh (т) трудно найти явное аналитическое выражение, но еще труднее их просуммировать. Иногда вычисления можно упростить, применив для нахождения суммы бесконечного ряда теорему Парсеваля (см. гл.2)
ОО
2 hl W = 4Г §Н- ^ Н» (^2"‘ ^<5-26)
ш=0
где Hh (z) равно z-преобразованию от hk (т), которое легко найти по структурной форме цифрового фильтра. Интеграл (5.26) можно вычислить, интегрируя вдоль единичной окружности и используя теорему Коши о вычетах. Например, для системы второго порядка, изображенной на фиг. 5.16,
Hl (z) = Я2 (z) = 1 — 2г (Cos ^ z-l_|_r2z-2 ,
причем полюсы этого z-преобразования находятся в точках z = = re±ib (здесь г <; 1 согласно условию устойчивости фильтра). Функции Н\ (z-1) и Я2 (z-1) имеют полюсы в точках z = (Д/г^е^, расположенных вне единичного круга. Таким образом, для вычис-
Фиг. 5.17. Шумовая модель квантования произведений при последовательном соединении двух блоков первого порядка.
ления интеграла (5.26) необходимо найти значения вычетов функции Нх (z)^ (z~i)/z в точках z = ге*^. Получаемый при этом результат совпадает с полученным ранее выражением (5.25а), также относящимся к системе второго порядка.
В качестве еще одного примера вычисления установившегося значения дисперсии выходного шума рассмотрим два последовательно соединенных блока первого порядка (фиг. 5.17). Для источника шума е2 (п) они представляют цепь с z-преобразованием импульсной характеристики
' ^2 (Z) — л 4Г ,4 v 71 — к^г^ ’
а для источника шума ег (п) — цепь с z-преобразованием
Я1 ^ = (l-*2z-l) (1 —*12-1) •
Тогда, согласно формулам (5.24) — (5.26), установившееся значение дисперсии выходного шума будет равно
.2~8ЬГ1 £/1\ /1\,
О* = То-"о-^ Ф(15Г ) (1z1 rfz+
012 L 2 л; j \1—кгк"Ч \ 1 — A2z /
, 1 £/1\ /1\i1\/1\_-< л1
+ 2л; уV 1—*tz-i) (l—^z/( ,l-/c2z-i)I 1 —A2z)Zdzj•
Для вычисления интегралов в качестве контура следует выбрать единичную окружность. Тогда первый интеграл будет иметь внутри контура только один полюс в точке z = /с2, а второй — два
(в точках z = ^ та z — k2). Рассчитав вычеты, получим
^ Г 1,*1|■
°0- 12(1—Л?)(*1-*2)(1-*1*2). +
(i-^)№i-M(l-W 1’
п2 = J21Г 1 •1 I
012 L i-Ц (1-W (l-kf)(l-^) J-
Получить этот результат без использования формулы (5.26) было бы значительно труднее. Описанная возможность применения спектральных методов для оценки дисперсии шума округления открывает пути для практического использования нескольких процедур масштабирования, рассматриваемых в разд. 5.12.
Ограничение динамического диапазонав системах с фиксированной запятой
Как уже упоминалось, при сложении чисел с фиксированной запятой ошибки округления вообще не возникают, зато эта операция может привести в цифровом фильтре к гораздо более опасному явлению — переполнению. Было предложено несколько способов устранения переполнений (после их обнаружения), но полагаться на эти способы нецелесообразно, так как они связаны с нелинейной обработкой. Вместо этого следует проектировать фильтры таким образом, чтобы в нормальных условиях переполнения были маловероятны. Для предотвращения переполнений следует в определенных точках фильтра масштабировать сигналы так, чтобы при сложении не возникало переполнений. В данном разделе будет описана весьма общая методика выбора масштабирующих множителей, позволяющая предотвратить переполнения и в то же время сохранить максимально возможной величину отношения сигнала к уровню шума округления в фильтре. Теоретические основы методики разработаны в основном Джексоном. Эта методика довольно сложная, но она позволяет непосредственно выбрать как разрядность в фильтре, обеспечивающую заданное отношение сигнала к шуму округления, так и наилучшую схему построения фильтра. Вышеизложенное позволяет надеяться, что сложность материала данного раздела с лихвой окупится более ясным пониманием особенностей построения фильтров. Мы будем в основном пользоваться обозначениями и методом изложения, использованными Джексоном.
На фиг. 5.18 изображен направленный граф, описывающий работу шумовой модели цифрового фильтра. Умножители и элементы задержки представляются ветвями графа, а его узлы соответствуют
Фиг. 5.18. Направленный граф, представляющий шумовую модель цифрового фильтра (по Джексону).
либо сумматорам (узлы суммирования), либо точкам соединения проводников схемы (узлы разветвления).
Входной последовательностью фильтра является я (п), а выходной у (п). Сигнал, выходящий из i-ro узла разветвления, обозначается через Pt (п), а ошибка округления в у-м узле суммирования — через в} (п). Последовательности К (п) и /{ (и) являются соответственно импульсными характеристиками всего фильтра и части того же фильтра при условии, что выходной сигнал снимается с г-го узла разветвления. Последовательность gj (п) является откликом на последовательность ej (п) = и0 (п), причем х (п) = ек (п) = 0 для любых к ^^. Функции Н (z), Ег (z) и Gj (z) являются z-преобразованиями последовательностей И (п), /г (п) и gj (п) соответственно.
Для пояснения основных идей рассмотрим приведенную на фиг. 5.19 прямую форму фильтра, содержащего два узла разветвления и два узла суммирования, z-преобразования, используемые в шумовой модели этого фильтра, равны
Л(*) = 1,
^*2 (Z)J— б^*"1—ьгй-й — 63Z~3 ’
Фиг. 5.19. Прямая форма построения системы третьего порядка.
Др+ а^-Ч-а2^2 + a3z-3
Я(2) =
1 — б^-1— b^zr1—Ь^гЗ '
Gt (z) = H(z),
№=l
Задача состоит в том, чтобы с помощью этой модели найти метод масштабирования последовательностей и^ (ri), гарантирующий отсутствие переполнений в любом из узлов суммирования и в то же время позволяющий минимизировать дисперсию шума округления на выходе фильтра. Если предположить, что к у-му узлу суммирования подключены kj источников шума (так, для схемы на фиг. 5.19 кх = 3, &2 = 4) и каждый из них создает белый шум со спектральной плотностью мощности, равной @2/12 (где Q = = 2~ь — величина шага квантования), то, согласно предположению о некоррелированности шумовых источников, шум в} (и) также будет белым и иметь спектральную плотность, равную к} (0^/12). Спектральную плотность мощности выходного шума можно определить, используя теорию линейных систем. Она равна
^(^-•^S^IGH^P-(5.27)
Если в фильтре предусмотрено масштабирование переменных (масштабированные переменные будут отмечаться штрихом), то фор-
мула (5.27) примет вид
N, W = % 2 к-1G; (с’») р,(5.28)
причем k'^kj, так как умножение на масштабирующие множители является дополнительным источником ошибок.
Если предположить, что входная последовательность х (j^ ограничена по величине числом 1,0, то нетрудно найти масштабирующие множители, гарантирующие выполнение условий [ vt (п) | ^ ^ 1, t = 1, 2, ... . Последовательность vt (ri) равна свертке
^(п)=2 ft(m)x(n—тп).(5.29)
т=0
(Здесь предполагается, что начальные условия нулевые, а шум округления отсутствует.) Поскольку \х (п — тп)[^1, то
ОО
I^WKS 1Л("0|.(5.30)
т=0
Таким образом, для выполнения неравенства ^ (п)[^1 достаточно, чтобы промасштабированная последовательность /^ (тп) удовлетворяла соотношению
ОО
2 |Я(т)|<1.(5.31)
ш=0
Нетрудно показать, что условие (5.31) является и необходимым условием справедливости неравенства [ v{ (n) | ^ 1 при любых п.
На практике для определения масштабирующих множителей формулу (5.31) обычно не применяют, так как она дает йх со слишком большим запасом, причем просуммировать ряд (5.31) довольно трудно. Можно найти более удобные методы масштабирования, если ввести определенные допущения о классе входных сигналов, например об ограниченности энергий или спектров сигналов.
Если предположить, что х (и) является детерминированной последовательностью с ^-преобразованием X (z), то vt (п) [см. формулу (5.29)] можно найти с помощью обратного преобразования Фурье от произведения преобразований Фурье последовательностей ft (п) и х (п), т. е. ■
я
vt (го) = ^ j Ft (е^®) X (<?^) eiton da).(5.32)
-я
Если положить, что норма преобразования Фурье A (ei®) в пространстве Lp (р^1) равна ’
я
1М11р = ["5Г J М(^“)|”Ло]1/₽(5.33)
-Я
(при условии, что этот интеграл сходится), то предел'нормы (5.33) при р -> со существует и равен-
УЛ||^= max |4(>)|.(5.34)
.. -я^а^я
Таким образом, норма А (е3®) в пространстве L,» равна максимальному значению |Л (е3®)| по всем ю. С помощью норм в пространстве Lp и равенства (5.32) сравнительно нетрудно определить границы для [у, (п)[. Например, если ||Х ||w ^ 1 (т. е. максимум спектра входного сигнала конечен), то, согласно (5.32),
’Я■'
I^WK^T J 1Л (>)!*>.(5.35)
. -.-Я.
С помощью норм это соотношение можно записать в виде
kt W КИЛИ» II х К».(5.36)
Аналогично, если норма || Ft ||„ ограничена, то1
ЬН |^Н fill-oil ХПр(5.37)
Применяя к формуле (5.32) неравенство Шварца, получим ’я"’я'■
. IШ Р<[^ f Й< W P*»] [sr j IX (^) рд»] (5.38) . .■ -я ■•' -я
или ’•,
' I^MKHPilkllXH,.(5.39)
В общем случае можно показать, что
I V, (л) |<|| F, II, I! X Ik,(5.40)
причем,... ,■
—+—=*’
Если Ft (со) ■= 1, то || Fj Цр — 1 при любых р^1, так что в данном частном случае соотношение (5.40) принимает вид
■|ol(n)| = |l(n)|<||X||, = ||Vl||„ ?>1.(5.41)
Неравенство (5.40) можно переписать, используя спектральные величины:/
.1Р1||1<||Л||,||Х||„^-+4- = 1,(5.42)
где ||Г/||1 — среднее значение модуля Ff (е3®). Таким образом, из неравенств (5.42) и (5.41) следует, что среднее значение модуля Г, (е3®) ограничено величиной произведения || Ft ||p||X||g, которая в то же время является ограничением и для |иг (п)|.
Исходя из приведенных формул и нормы входной последовательности в пространстве Lq) можно сформулировать достаточные условия для масштабирования. Допустим, например, что || ХЦд ^ 1 ^ 1(д>1); тогда норма масштабированного спектра Ft (е^) з пространстве Lp должна удовлетворять условию
11^1Ь«. Р = -^Т- (5-43)
Наиболее важными парами чисел (р, q) являются (1, оо), (2, 2) и (оо, 1). Вариант р = 1, q = оо используется в том случае, когда известен максимум модуля входного спектра и - ограничивается норма Рг (е5®1) в Lv Вариант р = 2, q = 2 соответствует случаю ограничения энергии входной последовательности и «энергии» частотной характеристики Ft (е^®). При р = оо, q = 1 ограничивается максимум спектра Ft (<?,ю).
Если входные сигналы являются случайными, неравенства (5.40) и (5.42) применять нельзя, так как для случайных процессов преобразование Фурье не определено. Вместо них можно получить эквивалентные неравенства, записанные относительно спектральной плотности мощности и автокорреляционной функции. Пусть х (п) — случайный сигнал с автокорреляционной функцией фх (п) и спектральной плотностью мощности Фх (<?,ю), и пусть vt (п) — случайный сигнал, образующийся в i-м узле разветвления и имеющий автокорреляционную функцию фр. (п) и спектральную плотность мощности Ф0; (е*®). Можно показать, что
Ф-!('»)<РИ|Р||Ф,1к, (5.44) или, что то же самое,
" Ми)Н1М2р11Фх11<р (5.45)
причем для обеих формул h/p + Mq = 1. Поскольку о2. = фр; (0), то из формул (5.44) и (5.45) следует, что дисперсия иг (н) ограничена аналогичным образом. Действительно, если р = 1, a q = оо, причем входной сигнал имеет равномерный энергетический спектр (т. е. ЦФ^Пу = о®), то из формулы (5.45) следует, что
о?г ^о* || Ft ||2. (5.46)
Чтобы выполнялось соотношение о2. ^ о2, необходимо, чтобы || F\ ||2 ^ 1, т. е. чтобы «энергия» промасштабированной передаточной функции была ограничена величиной 1,0.
Ограничение динамического диапазонапри построении фильтров в прямой форме
На фиг. 5.20 показана блок-схема построения фильтра N-to порядка в прямой форме. Передаточная функция этого фильтра равна
Nк1 2 «'^
Н№ = ^= ^-.(5.47)
1+ 2г=1
Узлы разветвления отмечены звездочками. Единственным масштабирующим множителем, отли^чм от 1,0, является величина К\ определяемая следующим образом:
1111(5.48)(5.48)
1
1
1
1
(5.48)
(5.48)
В р
[Формула (5.48) получается из неравенства (5.43), обе части которого были приравнены, чтоб& обеспечить наибольшее возможное отношение сигнал/шум на выходе фильтра.] После выбора значения р (обычно р = 1, 2 или оо) по формуле (5.48) рассчиты-
Фиг. 5.20. Шумовая модель прямой формы построения фильтра N-to порядка (по Джексону).Фиг. 5.20. Шумовая модель прямой формы построения фильтра N-to порядка (по Джексону).
Фиг. 5.20. Шумовая модель прямой формы построения фильтра N-to порядка (по Джексону).
Фиг. 5.20. Шумовая модель прямой формы построения фильтра N-to порядка (по Джексону).
вается величина^', что и завершает определение параметров фильтра (относящихся к динамическому диапазону и шуму округления).
С помощью величины К', определенной из формулы (5.48), можно найти спектральную Плотность мощности выходного шума ^ W = -§■ (^+1) [1 +1| -5- ||р Iн (eto) Г] •(5-49)
Дисперсия выходного шума получается из формулы (5.49) с помощью соотношения oj = || Ny Hi- “
Ограничение динамического диапазона.
- при построении фильтров в параллельной форме
На фиг. 5.21 изображена блок-схема построения фильтра N-ro
Ф .21. Шумовая модель параллельной формы построения фильтра Л-го порядка (по Джексону).
порядка в параллельной форме с передаточной функцией М'll'м
Ж^+Зй-^^^+З#- (5.50) i=l1=1
Мастйтабирующие множители р{ имеют вид ^тог-<5-51>
где Ft (е’®) — передаточная функция участка фильтра^ от входа до i-fo узла разветвления, определяемая соотношением
РЛ^=1ГЙ- (552)
Спектральная плотность мощности шума округления на выходе фильтра, изображенного на фиг 5.21, равна
n« ^--^-[^+«+s ^ Н К | ®Я- П ’ (5-53) где к'з — общее число источников шума, подключенных к /-му узлу суммирования (обычно к] = 3).
Ограничение динамического диапазонапри построении фильтров в каскадной форме
На фиг. 5.22 приведена блок-схема построения фильтра в кас-
Фиг. 5.22. Шумовая модель ■ каскадной формы построения фильтра N-to - . порядка (по Джексону). ..
кадной форме с передаточной функцией м
Я(г)-а0 Ц l+Piiz-i + p2iz"20
г=1
мП Т7Т-(5.54)Pi (г)х 'г=1 можно записатьмП Т7Т-(5.54)Pi (г)х 'г=1 можно записатьм яи=а;П г=1м яи=а;П г=1«Ог + ^г^ + ^г2"2М«)«Ог + ^г^ + ^г2"2М«)(5.55)(5.55)С учетом масштабирующих множителей
м
П Т7Т-(5.54)
Pi (г)х '
г=1 можно записать
м
П Т7Т-(5.54)
Pi (г)х '
г=1 можно записать
м яи=а;П г=1
м яи=а;П г=1
«Ог + ^г^ + ^г2"2М«)
«Ог + ^г^ + ^г2"2М«)
(5.55)
(5.55)
Масштабирующие множители определяются из соотношений
а°- 11^1 Пр ’ ai^^ ll^i+ilL ai^' Г-1, 2, .. .,М,(5.56)
причем H^M+iltp = 1/а0.
Окончательная формула для дисперсии выходного шума (с учетом масштабирования) имеет вид
М . 3-1м
+ МкПтШЦ1М)’ <5-57)
3=1г—1г=з
где kj — общее число источников шума, подключенных к /-му узлу суммирования (обычно kj = 5).
Упорядочение размещения блоков и попарный подбор нулей и полюсов блоков при построении фильтра
в каскадной форме
Из формулы (5.57) видно, что дисперсия выходного шума зависит от порядка, в котором включены М блоков, образующих фильтр, а также от способа попарного подбора нулей и полюсов передаточных функций отдельных блоков. При анализе формул для норм выходного шума округления в пространстве Lr(r = 1,оо) можно заметить, что каждый член этих формул соответствует шуму, создаваемому в одном из блоков фильтра. В каждом из этих членов используются нормы как в Lp, так и в LT^V Это означает, что требования к масштабированию в данном блоке определяют все предшествующие блоки (поэтому появляется норма в LPY а последующие блоки фильтруют возникающий в нем шум округления (поэтому появляется норма в £г+1). Таким образом, в двух наиболее важных случаях (когда р = 2, г = оо и г = 1, р = оо) различие между фильтрами с неодинаковой последовательностью включения М блоков связано с различием норм в пространствах L» и L2. Норма в пространстве Zoo определяется наибольшими значениями ее аргумента, так что можно ожидать, что наиболее удачным будет такое упорядочение блоков, при кото-
ром функции, являющиеся аргументами норм в пространстве Loo, не будут иметь больших выбросов. Поэтому блоки следует располагать в порядке убывания (если г = оо) или возрастания (если р = оо) этих выбросов.
Разумной мерой уровня выбросов (по Джексону) является отношение
_ || aj/Pi ||оо ео\ р| йяг (5,&8)
Таким образом, если р = 2, г = оо, то блоки должны располагаться в порядке убывания значений р<. Если жег = 1, р = оо, то блоки следует располагать в порядке возрастания pt.
Фиг. 5.23. Попарная группировка нулей и полюсов двух различных фильтров (по Джексону).
. Если р я= 2, г = 1 или р =^ оо, г = оо, . то при расчете выходного шума используется только одна норма. В этих случаях можно^ считать-, чтогнайлучшее упорядочение блоков должно-получаться при увеличении р{ по мере возрастания номера блока, хотя влияние порядка, размещения блоков здесь выражено не столь заметно, как в других случаях.
Остался нерассмотренным вопрос о попарном подборе нулей и полюсов отдельных блоков. Поскольку в формулах для выходного шума округления слагаемые Числителя а< (е5^) фигурируют только в отношениях вида a t (е^у/рДе^®), то целесообразно минимизировать норму этих отношений в £«,, т. е. минимизировать ||а,ф,||ОО» Во многих случаях это правило приводит к объединению в пары полюсов с ближайшими к ним нулями в z-плоскости. На фиг. 5.23, ан б показана такая попарная группировка нулей и полюсов для полосового и режекторного фильтров шестого порядка."
Выводы относительно взаимосвязи между динамическим диапазоном и уровнем шума округления
В фильтре с фиксированной запятой спектр шума округления на выходе имеет вид ..
N, W =-^ 2 16; (^) р,(5.59)
где Gj (е^) — масштабированная передаточная функция участка фильтра от у-го узла суммирования до выхода , а к] — число источников шума, подключенных к этому узлу.
Если F\ (ej®) — масштабированная передаточная функция участка фильтра от входа до i-ro узла разветвления (на котором должны выполняться ограничения, связанные с обеспечением динамического диапазона), то
НЯ1р<1. р>1.(5.60)
причем ||F{||P — норма F\ (е5®)' в пространстве £р, определяемая соотношением
■ л
■Il F* II-=hM IFi ^|Р ^Г* •(5-61)
-л
Для максимизации отношения сигцал/шум в формуле (5.60) следует использовать знак равенства и с ее помощью находить масштабирующие множители $2 из соотношений
FX^-s^.d^(5.62)
ИЛИ .
<563>
После определения. масштабирующих множителей st нетрудно- получить выражений для масштабированных передаточных функций Gj (^°) и с помощью формулы (5.59) для спектра шума округления на выходе фильтра. Дисперсия выходного шума равна норме Ny (в5®) в Ln т. е. .
' "i-ll^lh- . (5.64> а максимальное значение его энергетического спектра равно норме Ng (а3*) в пространстве Lro, т. е.
max[^(eS<»)] = ||ff,||„. ' (5.65>
<0
На основе приведенных выше соотношений были получёны формулы для выходного шума фильтров прямой, параллельной и каскадной форм. В заключение был рассмотрен вопрос о попарной группировке нулей и полюсов при построении фильтра в каскадной форме. •
Дополнительные замечания о взаимосвязи между динамическим диапазоном и уровнем шума округления
Следует сделать еще несколько замечаний относительно взаимосвязи между динамическим диапазоном и шумом округления в рекурсивных структурах. Выше рассматривалось квантование- тол ько с использованием округления. Если воспользоваться усечением, то наиболее существенное отличие будет состоять в том, что все источники шума, подключаемые к узлам суммирования, будут иметь ненулевые средние. Следовательно, и среднее значение- шума на выходе будет отлично от нуля. Однако дисперсии ошибок усечения и округления одинаковы, поэтому дисперсия выходного- шума при усечении будет такой же, как и при округлении. Использование усечения в первом приближении не требует изменения масштабирующих множителей. Однако из-за появления ненулевого среднего в выходном шуме предпочтение обычно отдают округлению. .
Третий способ квантования, заключающийся в усечении чисел, представленных в прямом коде (с модулем и знаком), приводит к. тому, что источники шума в узлах суммирования становятся коррелированными с входным сигналом (напомним, что ошибка положительна при положительных значениях сигнала и отрицательна при отрицательных). Поэтому предположения, использованныепри вычислении дисперсии выходного шума, в данном случае не справедливы, так что все формулы для расчета дисперсии выходного-
(по(по■Фиг. 5.24. Характеристика сумматора чисел в дополнительном кодеЭберту, Мазо и Тейлору).
(по
(по
шума будут неверны. На практике этот способ квантования весьма, трудно анализировать, а дисперсия ошибки получается больше чем при округлении или при обычном усечении, поэтому его стараются не использовать. Однако в некоторых типах ЦВМ при реа- .лизации отдельных команд, возможно, придется использовать именно этот метод квантования.
В заключение рассмотрим, что произойдет, если, несмотря на .масштабирование, сумма входных чисел сумматора в цифровом фильтре превысит максимально допустимый уровень (равный 1,0). Если числа представлены в обратном или дополнительном коде, как это обычно и бывает, то переполнения в процессе суммирования вполне допустимы, если только окончательная сумма меньше 1,0. На фиг. 5.24, а это обстоятельство проиллюстрировано графически с помощью представления чисел, записанных в дополнительном коде, в виде точек на окружности [все числа являются (6 +1)-разрядными]. Таким образом, наибольшее из положительных чисел, равное 1—2_ь, оказывается рядом с наибольшим из отрицательных чисел, равным —1,0. Добавление положительного -числа эквивалентно перемещению по окружности против часовой -стрелки, а добавление отрицательного числа — перемещению по 'часовой стрелке. Таким образом, если окончательный результат .лежит в пределах от —1,0 до 1—2-Ь, то переполнения в процессе суммирования не играют роли. Иначе говоря, общая характеристика сумматора имеет вид, показанный на фиг. 5.24, б. Переполнение происходит только тогда, когда окончательный результат выходит :за пределы интервала (—1, 1). При переполнении фильтр превращается в нелинейное устройство. Эберт, Мазо и Тейлор показали, ■что за счет переполнений в фильтре могут возникнуть незатухаю-
Фиг. 5.25. Характеристика сумматора с насыщением.
щие колебания. Эти крайне нежелательные колебания необходимо устранить. Эберт, Мазо и Тейлор показали, что простым, но эффективным способом борьбы с ними является замена обычного сумматора чисел в дополнительном коде на сумматор с насыщением. Характеристика такого сумматора изображена на фиг. 5.25. Использование сумматора с подобной характеристикой гарантирует устойчивость фильтра при возникновении переполнений. Естественно, что в эти моменты фильтр становится нелинейным. Можно, однако, показать, что введение насыщения при возникновении переполнений является, по-видимому, наиболее целесообразным подходом. В силу этого сумматоры с насыщением широко применяются в цифровых фильтрах для предотвращения колебаний, вызванных переполнениями.
Шум округления в нерекурсивных структурахс фиксированной запятой
В силу существенных различий между прямой и последовательной формами нерекурсивных структур, обычно используемых для построения КИХ-фильтров, эффекты квантования, характерные для этих форм, следует рассматривать раздельно. При этом можно воспользоваться методами, изложенными в предыдущих разделах, если положить, что знаменатель передаточной функции равен 1. Однако среди КИХ-фильтров наибольший интерес представляют фильтры с линейной фазовой характеристикой, для которых ограничения, накладываемые на передаточную функцию Н (z) (она должна описываться полиномом и обладать свойством зеркального отображения), настолько существенно влияют на схему построения фильтра, что непосредственное применение в случае нерекурсивных фильтров формул, полученных для описания выходного шума в рекурсивных фильтрах, не является элементарной операцией. В связи с этим в разд. 5.20 и 5.21 будут рассмотрены сначала прямая, а затем и каскадная формы построения КИХ-фильтров с линейной фазовой характеристикой.
Шум округления при построениинерекурсивных-фильтров в прямой форме
Передаточную функцию КИХ-фильтра можно записать в виде
Я(з) = 3 к^гп,(5.66)
п=0'.
где {А (п)} — импульсная характеристика фильтра, состоящая ив N отсчетов. (Для удобства будем считать, что N нечетно.) Поскольку фазовая характеристика.линейна, то должно выполняться условие
V h(n)-h(N— 1 — п^ Q^n^N— 1.<5.67)
При этом равенство (5.66) можно преобразовать к виду
'(N-3)/2’'
н^= . 2^(njiz-n+^
'’' ■' .<(5.68)
На фиг. 5.26 приведена.блок-схема построения фильтра в прямой форме в соответствии с формулой (5.68). Видно, что; можно обойтись (Я+1)/2 умножителями, а не N, как в обычной прямой форме.■ *.• ■
Свойства шума округления на выходе фильтра зависят от того, в каких точках фильтра производится округление. Возможны два варианта. В первом из них все произведения представляются точно, а округление производится после их сложения, т. е. на выходе фильтра. При этом в схеме имеется только один источник шума, причем шум непосредственно складывается с выходным сигналом. В этом варианте выходной шум округления равномерно
Г z*1Г z*1Фиг. 5.26. Прямая форма построения КИХ-фильтра с линейной фазовой •характеристикой.Фиг. 5.26. Прямая форма построения КИХ-фильтра с линейной фазовой •характеристикой.
Г z*1
Г z*1
Фиг. 5.26. Прямая форма построения КИХ-фильтра с линейной фазовой •характеристикой.
Фиг. 5.26. Прямая форма построения КИХ-фильтра с линейной фазовой •характеристикой.
Эффект» конечной разрядности чисел в цифровых фильтрах 365 распределен на интервале [—^/2, ^/2], имеет нулевое среднее и дисперсию, равную ^/12, где Q — шаг квантования.
Во втором варианте все произведения округляются до суммирования (чтобы увеличить быстродействие фильтра), поэтому выходной шум е (п) является суммой (N + 1)/2 некоррелированных случайных последовательностей е^ (п), г = О, 1, ..., (VV—' 1)/2, каждая из которых имеет равномерное распределение на интервале [—^/2, ^/2], нулевое среднее и дисперсию, равную ^2/12. В этом случае можно записать ■
(2V-D/2
е(п) = 3 е^п).*.(5.69)
Очевидно, что среднее значение е (п) равно нулю, а дисперсия
° Л 212 '° Л 212 '(5.70)
° Л 212 '
° Л 212 '
Из других видов туда квантования в фильтрах, построенных в прямой форме, обычно присутствует только шум аналого-цифрового преобразования. Покажем, что дисперсия этой составляющей шума на выходе фильтра оацп удовлетворйет соотношению
^ацп^-^’,(5.71)
т. е. не превышает дисперсии шума округления, связанного с умножениями в фильтре. Обозначим через ё (п) последовательность на входе фильтра, описывающую шум аналого-цифрового преобразования [е (ri) распределена в интервале 1—^/2, ^/2) равномерно), а через g (п) составляющую выходного шума, вызванную г (ri)., так что g (п) удовлетворяет соотношению
N-11
8(п) = 2 Ъ^е^—к).(5.72)
.h=0.,.
Очевидно, что среднее значение е (я) равно нулю, а дисперсия ^—i'
<>1цп = ^-S h2(n)(5.73)
.п=0.
или, согласно теореме Парсеваля,
■• " ' я ' " '
»лцп=-2-5Г jl»^”)!^.(5.74)
.—л..
Можно показать, что в зависимости от выбранного значения масштабирующего множителя (т. е. от выбранной нормы в Lp) будет
выполняться одно из двух соотношений: либо
(5.75а)(5.75а)N-1
(5.75а)
(5.75а)
2 №(«)<!п=0
(оно справедливо, если масштабирование производится по сумме модулей отсчетов импульсной характеристики), либо
я
(5.756)(5.756)( IН (е^ I2 1
(5.756)
(5.756)
2Л J 1 х ' 1
-л
(при масштабировании с помощью норм в Lp, />^2). Таким образом, формула (5.71) будет справедлива в любом случае. Поэтому обычно при построении КИХ-фильтров в прямой форме шумом АЦП можно пренебречь. Отметим, что в приведенных выкладках предполагалось, что шаг квантования в АЦП и при округлении был одинаков, хотя на практике это условие может и не соблюдаться.
Шум округления при построении нерекурсивныхфильтров в каскадной форме
При построении КИХ-фильтров с линейной фазовой характеристикой в каскадной форме наибольшее значение начинают приобретать вопросы масштабирования и упорядочения размещения блоков, связанные с максимизацией отношения сигнал/шум на выходе фильтра. Передаточную функцию фильтра при каскадной форме его построения можно представить в виде
Ng•NS
H(z) = п (boi + 5«г‘ + 621^) = П ЯI (z),(5.76)
г=1г=1
(5.77а)(5.776)(5.77а)(5.776)где Ns = (N — 1)/2. Для фильтров с линейной фазовой характеристикой коэффициенты Ъц, входящие в формулу (5.76), должны удовлетворять одному из двух условий: либо
(5.77а)
(5.776)
(5.77а)
(5.776)
^Oz ~ ^2i iлибо существует такое у^ г, при котором
^Ог _ ^li ЬггЬц btjbOj *
На фиг. 5.27 изображена схема построения г-го блока фильтра с передаточной функцией (5.76). Из этой схемы и условия (5.77а) видно, что в каждом блоке могут быть два или три умножителя, поэтому в шумовой модели блока к его выходу подключаются
Фиг. 5.27. Элементарный блок при построении КИХ-фильтра в каскадной форме с линейной фазовой характеристикой.
kt источников шума (причем кг = 2 или 3) или же один источник с дисперсией &г@2/12. Величину kt можно понизить до 1, если все произведения складывать до округления, но так как при этом снижается быстродействие фильтра, то обычно такой вариант схемы не используется.
Если определить G^ (z), передаточную функцию части фильтра от (г + 1)-го блока до выхода, как
0< i^jV8 — 1,i = N80< i^jV8 — 1,i = N8(5.78)(5.78)
0< i^jV8 — 1,i = N8
0< i^jV8 — 1,i = N8
(5.78)
(5.78)
и обозначить обратное z-преобразование от Gt (z) через gt (к), то шум округления для каскадной формы фильтра можно представить с помощью шумовой модели, изображенной на фиг. 5.28, а и б. Дисперсия выходного шума определяется соотношением
(5.79)(5.79)^8
(5.79)
(5.79)
i = lк
Как и в рекурсивных системах, для предотвращения переполнений между блоками необходимо ввести масштабирующие умножители. Если передаточную функцию Hi (z) [см. (5.76)] представить в виде
(5.80)(5.80)Я, ^ = StHt ^
(5.80)
(5.80)
где St — масштабирующий коэффициент для г-го блока, a Ht (z)— нормированная передаточная функция вида
Фиг. 5.28. Шумовая модель для каскадной формы построения КИХ-фильтра.
причем aoi 2> 0, а 2 2|Од| = 1,( = 1,2Я.,(5.82)
7=0
ТО
Я (»)-₽ П ^ W = П Si П й, №•(5.83)
i=l -1=11=1
Если значение 0 задано, то ^N 8 — 1) коэффициентов St можно выбрать произвольным образом.
-' Пусть
2ii
^М-З А^^П Н,№, l«i<N„ (5.84) h=0j=t
2ii
Ft № = 2 h to г* = П й, (i),(5.85)
A=07=1
а входная последовательность x (n) ограничена по модулю величиной 1,0. При этом выходные последовательности каждого из блоков будут ограничены по модулю величиной 1,0 тогда и только тогда, когда масштабирующие коэффициенты удовлетворяют условию. -
г2г
П ISjKIS |А(*)1Г*. i = l, 2,...,Я..(5.86)
7=1h=0 *
С другой стороны, если для спектра входного сигнала выполняется соотношение
л
A pX(e«")|d<»<l,(5.87)
-Л
то необходимым и достаточным условием ограниченности модулей сигналов на выходах всех блоков является неравенство
П |S>|<[ max |Л(«>“)|]-‘, i = l, 2, ...,№,. (5.88) j=l0^©^2Л
Если для выбора масштабирующих коэффициентов используется формула (5.86) со знаком равенства, то соответствующая методика масштабирования называется масштабированием по сумме; при использовании формулы (5.88) также со знаком равенства ее называют масштабированием по максимуму. Как уже упоминалось, для рекурсивных БИХ-фильтров масштабирование по сумме является избыточным. Для КИХ-фильтров ситуация меняется, поскольку ограничения, накладываемые на входной сигнал с целью получения равенства в формуле Для масштабирующих коэффициентов, уже не являются чересчур жесткими, ибо они относятся к конечному интервалу. Так, чтобы сигнал на выходе первого блока достиг уровня 1,0, необходимо, чтобы во входном сигнале всего лишь три последовательных отсчета равнялись 1,0.
Итак, независимо от выбранного правила масштабирования, остается только определить порядок размещения блоков, при котором шум округления на выходе будет минимальным. Как и в случае рекурсивных каскадных. фильтров, невозможно проанализировать все возможные комбинации размещения блоков. Тем не менее экспериментально было показано, что удачным является такой порядок, при котором максимальное значение передаточной функции Gi-i (z) (i = 2, 3, ..., Ng) участка фильтра от i-ro блока до выхода невелико и при переходе от блока к блоку изменяется незначительно. Кроме того, показано, что для подавляющего большинства вариантов размещения блоков дисперсия выходного шума получается небольшой. Простой алгоритм упорядочения блоков, основанный на практическом опыте проектирования фильтров, формулируется следующим образом:
Начиная с i = N8, в качестве i-ro блока выбирать тот, для которого с учетом ранее выбранных блоков сумма
S^i-i (А) получается наименьшей [напомним, что gt (к)— импульсная характеристика участка фильтра от (i + 1)-го блока до выхода].
С помощью этого алгоритма минимизируются дисперсии составляющих выходного шума, возникающих в отдельных блоках, а не дисперсия полного шума. Однако варианты расположения блоков, дающие малые значения дисперсии выходного шума, встречаются с большой вероятностью, поэтому при всех испытаниях варианты расположения блоков, соответствующие приведенному алгоритму, давали результаты, близкие к оптимальному.
Итак, при проектировании КИХ-фильтров в каскадной форме необходимо выбрать правило масштабирования (выше были сформулированы два таких правила), а затем с помощью предложенного алгоритма найти последовательность расположения блоков, при которой минимизируется дисперсия шума на выходе фильтра. После определения порядка расположения блоков и значений масштабирующих коэффициентов нетрудно вычислить дисперсию выходного шума и величину отношения сигнал/шум для рассчитанного фильтра.
Шум округления в рекурсивных структурах ' с плавающей запятой
(5.89а)(5.896)(5.89а)(5.896)В этом разделе рассматриваются рекурсивные фильтры, в которых используется система счисления с плавающей запятой. В таких устройствах, как уже было показано, шум округления, величина которого пропорциональна результату операции, образуется и при умножении, и при сложении. Обозначим число х в системе счисления с плавающей запятой символом /Z [ж], введенным Лиу и Канеко. Таким образом, умножение и сложение двух чисел производятся по следующим правилам:
(5.89а)
(5.896)
(5.89а)
(5.896)
fl к + у) = (^4у) (1 + е),fl [х-у] = (х-у) (14-6),
где е и 6 — случайные числа, равномерно распределенные на интервале —2_ь ^е, 6 ^ 2~ь соответственно (если мантисса содержит 6 + 1 разрядов) и не зависящие от х и у. В системе второго порядка, описываемой разностным уравнением
zr (п) — &ол: (м) — [ajw (п —1) 4a2w (я —2)], (5.90 фактически вычисляется величина
У (ге) = fl {hx (re) — \<цу (n— 1) 4 a2y (n — 2)]}, (5.91) причем сначала вычисляются произведения агу (п — 1), а2 у(ге—2), Ьох (я), а затем они складываются, что дает у (п). Последовательность вычислений показана на фиг. 5.29. Предполагается, что ошибки округления при отдельных операциях являются взаимно независимыми случайными величинами. Таким образом, соотно-
Н№>
Фиг. 5.29. Квантование в системе второго порядка с плавающей запятой, шение (5.91) можно переписать в виде
2
у^ = Ъ^п,ох^—^ акФП1ку(п — к),(5.92)
ь=1
где
Од, 0= (1 + ^п, о) (1 + £д), Фп,1 = (1+8п,1)(1+т]п)(1 + и»(5.93)
Фд» 2 = (1 + еп, г) (1 + Лп) (1 + ^п).
Для расчета характеристик шума округления следует проанализировать сигнал ошибки е (п) — у (тг) — w (п).
Рассмотрим, например, фильтр, реализованный в прямой форме и описываемый разностным уравнением
МN
y^n^flY'S bkx(n — k) — 2 аку(п — к^.(5.94)
h=0h=l
Направленный граф, соответствующий такому фильтру TV-го порядка, изображен на фиг. 5.30. Уравнение (5.94) можно преобразовать к виду МN
У(п) = 2 Mn,^(”~i)~ 2 акФп,ку(п— &),(5.95)
h=0h=l
где м
On, о = (1 + £д) (1 +6П, о) II (1+bn, i)i 1=1
М
0n.j = (l + ln)(l+6n,j) П (1 + U1), 7 = 1, 2, ...,М,
^(5.96)
Фп.1-(1 + 1п)(1+еп,1) [J (1+Ппи), г=2 N
Фп.7 = (1 + Ы(1 + 8п,/)1] (Ц-т]п. i), 7 = 2, 3, ...,7V.
Фиг. 5.30. Квантование в системе N-ro порядка с плавающей запятой (по Лиу и Канеко).
Определить статистические свойства шума округления путем непосредственного анализа уравнения (5.95) весьма трудно, так как в него входят случайные коэффициенты Фп,л и 0п,ь, изменяющиеся во времени. Задача может быть решена с помощью ряда подстановок, в которых фигурируют средние значения случайных коэффициентов. Подробности использования этих подстановок описаны Лиу и Канеко, и приводить их здесь было бы нецелесообразно, так как сами вычисления спектральной плотности мощности выходного шума мало поясняют свойства фильтров. Читателям, интересующимся данным вопросом, можно порекомендовать статью Лиу и Канеко, в которой приведены характеристики шума квантования для трех наиболее распространенных форм построения фильтров с плавающей запятой и округлением: прямой, параллельной и каскадной.
Квантование коэффициентов ,
Значения коэффициентов фильтра обычно определяются с помощью какого-либо расчетного метода, причем предполагается, что эти коэффициенты могут быть представлены с неограниченной точностью. На практике их приходится представлять числами с конечным числом разрядов. В результате частотная характеристика реального фильтра отличается от той, которая получилась бы при использовании коэффициентов, представленных с неограниченной точностью.
Существуют два общих подхода к анализу и синтезу цифровых фильтров с коэффициентами конечной разрядности. В первом из них погрешности представления коэффициентов рассматриваются как случайные величины. При этом влияние квантования коэффициентов учитывается введением паразитного фильтра, включенного параллельно соответствующему идеальному фильтру. Тогда, сделав определенные предположения относительно погрешностей коэффициентов, можно оценить среднеквадратическое отклонение частотной характеристики реального фильтра от характеристики идеального фильтра.
При использовании второго подхода вопрос о квантовании коэффициентов решается отдельно для каждого конкретного фильтра. При этом коэффициенты, представляемые с конечной точностью, можно оптимизировать так, чтобы максимум взвешенной разности характеристик идеального и реального фильтров был минимальным. Хотя при таком подходе и не удается получить общих рекомендаций о квантовании коэффициентов, но зато приближение к заданной частотной характеристике получается наилучшим.
В последующих разделах представлены примеры применения обоих подходов.
Квантование коэффициентов в рекурсивных структурах
Влияние погрешностей коэффициентов на характеристики фильтра одним из первых исследовал Кайзер.Рассматривая прямую форму построения фильтров, он нашел абсолютную границу для ошибки представления коэффициентов, гарантирующую устойчивость фильтра. Однако найденная граница оказалась чересчур пессимистичной, так как при выводе Кайзер рассматривал процесс квантования коэффициентов как детерминированный. Тем не менее он убедительно показал, что для любого достаточно сложного фильтра с резким изменением характеристики в переходной полосе применять прямую форму не следует,так как характеристики получающихся фильтров крайне чувствительны к значениям коэффициентов.
Ноулс и Олкейто решали задачу квантования коэффициентов с помощью статистических методов. В основе их подхода лежит предположение о том,что погрешности представления коэффициентов разностного уравнения являются равномерно распределенными случайными величинами с нулевыми средними. В разд. 5.25 в качестве примера рассматривается влияние квантования коэффициентов на характеристики фильтра, реализованного в прямой форме. '
Квантование коэффициентов при построении фильтровв прямой форме
Допустим, что реальный цифровой фильтр с квантованными коэффициентами (т. е. представленными с конечной точностью) имеет передаточную функцию
N
2 акСк
H^ = -W^■(5.97)
i+ 2 bkzrk
Й = 1
(5.98)(5.98)Коэффициенты фильтра можно записать в виде ' ак = ^"V^ki
(5.98)
(5.98)
где ah и bk — точные значения коэффициентов, а ак и 0ft — погрешности их квантования, являющиеся статистически независимыми случайными величинами с равномерными распределениями. Если обозначить через х (п) и уЧга) входную и выходную последовательности реального фильтра (считаем, что арифметические действия выполняются точно), а через VW отклик идеального фильтра на ту же входную последовательность, то ошибку на выходе е (п) можно записать в виде
NN
eW — V W— У(п) = 12 акх^п — к) — 5 W (го —/с)] —к=0h=i
N _N _
— [ 5 ahX (п — к) — 5 Ьку (п — &)],(5.99)
h=0h=i
т. е.
NN_
е(го) = 2 ак»1п—^)— 5Ьке^п — к^—
h=0h=l
NN
— 2 M kn — &) — 2 Pk^ (ro — fc)(5.100)
h=lh=l
Отсюда, пренебрегая членами второго порядка, получим
NN _N
eW = 2 акх(п — к) — 2 Ькекп — к) — 2 tokn — &)• (5.101) к=0к=1к=1
Вычисляя z-преобразования от правой и левой частей соотношения (5.101), получим
a (z) X (z) - р (г)У (г) - Е ^ В^ ^ = 0,(5.102)
^to = [^to = [(5.103а)(5.1036)(5.103b)(5.103r)(5.103д)(5.104)(5.105)(5.103а)(5.1036)(5.103b)(5.103r)(5.103д)(5.104)(5.105)]^(2).]^(2).
^to = [
^to = [
(5.103а)
(5.1036)
(5.103b)
(5.103r)
(5.103д)
(5.104)
(5.105)
(5.103а)
(5.1036)
(5.103b)
(5.103r)
(5.103д)
(5.104)
(5.105)
]^(2).
]^(2).
где
Na(z)= 2 «ь^Лh=0
Р to = 2 Р^-\
<1=1
N _^4<ю (z) = । d^Z ^,h=0
N _
Boo Щ = 1 + 2 bKz^,h=l
E (z) = 2 e k^ z~k.h=0
Поскольку
Y ^ = Hoo kz)X(z), из формулы (5.102) найдем, что
a(z)~ p(z) Яро (z)Boo (z)
Решая систему уравнений (5.99), (5.104) и (5.105) относительно Y* (z), получим
У' (г) = Гя„ (z) +X (Z).(5.106)
L£>ооJ
Таким образом, реальный фильтр можно представить в виде параллельно соединенных идеального фильтра и паразитного фильтра, как показано на фиг. 5.31.
Паразитный, фильтр
Фиг. 5.31. Модель фильтра с квантованными коэффициентами (по Ноулсу и Олкейто).
Одной из возможных количественных характеристик эффектов,, связанных с квантованием коэффициентов, является среднеквадратическая ошибка частотной характеристики, которую нетрудно определить из соотношения (5.106):
о2 = Е [-—- j | Н* ^ю) - Ноо (е>) |2 Ло] ,(5.107)
-л
причем Н' (eito) = V (е^У-Х^'®), а символ Е обозначает операцию усреднения. Используя предположение о взаимной стати стической независимости коэффициентов aft, 0k и входной последовательности, из формулы (5.107) можно получить
_2 _ Р ( 1 ГГ а(г*)-р(П)Д»(г<) 1 dz>_
I 2л J L Bw^ J L Boo (z-i) J z / —л.
Nл
( VС '
2л J Boo (z) Boo (Z-1) г ■
h=0-л
Nл
I / X1 оа \ 1 С ^оо (z-i) ^°° (z)^z/ К 4 no\
+ (2 k) J"V•(5 8)
h=l-л
При квантовании коэффициентов с применением округления величины ak и рк удовлетворяют соотношениям
|at|«f,(5.109а)
1М<Т,(5.1096)
2 “^^ЧТ*(5.109в)
й=0
2к=»т-<5Л09г)
к=0
где qвеличина шага квантования, а ц и v — числа коэффициентов, стоящих соответственно в числителе и знаменателе и не равных нулю или единице. Исходя из соотношений (5.109в) и (5.109 г), дисперсию о2, описываемую формулой (5.108), удобно рассчитать, предположив, что на вход системы, изображенной на фиг. 5.32, подан цифровой единичный импульс. Интегралы, фигурирующие в формуле (5.108), заменены здесь на бесконечные суммы в соответствии с теоремой Парсеваля. На практике суммируется конечное число слагаемых.
в2в2Фиг. 5.32. Методика измерения дисперсии ошибки, связанной с квантованием коэффициентов (по Ноулсу и Олкейто). .Фиг. 5.32. Методика измерения дисперсии ошибки, связанной с квантованием коэффициентов (по Ноулсу и Олкейто). .
в2
в2
Фиг. 5.32. Методика измерения дисперсии ошибки, связанной с квантованием коэффициентов (по Ноулсу и Олкейто). .
Фиг. 5.32. Методика измерения дисперсии ошибки, связанной с квантованием коэффициентов (по Ноулсу и Олкейто). .
Аналогичные формулы для дисперсии шума округления коэффициентов можно получить и для случаев построения фильтров в параллельной или каскадной форме. Мы не будем приводить здесь все эти формулы, а перейдем к изложению результатов экспериментальной проверки правильности рассмотренной статистической модели.
Экспериментальная проверка шумовоймодели квантования коэффициентов
Описанная статистическая модель была экспериментально изучена Ноулсом и Олкейто на примере эллиптического режекторного фильтра 22-го порядка. Для измерения о2 при различной длине машинного слова использовалась система, изображенная на фиг. 5.33. Работа системы с передаточной функцией Ноо (г) моделировалась с применением 80-разрядных коэффициентов. На фиг. 5.34, а—в для прямой, параллельной и каскадной форм приведены значения о2, рассчитанные и измеренные с помощью системы фиг. 5.33. Для прямой формы рассчитанные значения отли-
Фиг. 5.33. Методика измерения дисперсии ошибки, связанной с квантованием коэффициентов (по Ноулсу и Олкейто).
Фиг. 5.34. Дисперсия ошибки, связанной с квантованием коэффициентов, для некоторых рекурсивных структур (по Ноулсу и Олкейто).
чаются от измеренных значений не более чем в два раза. Для параллельной формы теория и эксперимент дают хорошее совпадение вплоть до длины слова порядка восьми разрядов, после чего влияние погрешностей квантования коэффициентов 2-го порядка становится существенным. Для каскадной формы приведены только измеренные значения о2, так как теоретические оценки найти в данном случае затруднительно. Из фиг. 5.34 видно, что при заданном числе разрядов наименьшее искажение характеристик получается для параллельной формы, а наибольшее, как и ожидалось,— для прямой.
Оптимальное квантование коэффициентов
Анализ квантования коэффициентов, проведенный в предыдущих разделах, показывает, что процесс квантования по своему характеру является статистическим. Поэтому, сделав предположение о справедливости используемой модели, можно получить некоторые вероятностные оценки, характеризующие степень совпадения фактически получаемой и идеальной частотных характеристик фильтра. Такие оценки весьма полезны, так как с их помощью разработчик для широкого класса фильтров может найти число разрядов, необходимое для представления коэффициентов, даже не зная конкретных значений коэффициентов реального фильтра. Во многих случаях, однако, желательно оптимизировать значения квантованных коэффициентов таким образом, чтобы свести к минимуму некоторую величину, являющуюся оценкой характеристики получаемого фильтра.
Авенхаус и Шусслер в качестве такой величины предложили использовать отношение
еМ = ^_^,(5.110)
где Hd (е,ю) и Н ^^ — заданная и фактически получаемая (при использовании квантованных коэффициентов) частотные характеристики, а 6 (го) — функция допуска. Для фильтра нижних частот, например, функции Hd (е^) и 6 (to) можно определить следующим образом:
0^ю^юр,
(08^(0^Л,(08^(0^Л,HD(e^)=< 0,
(08^(0^Л,
(08^(0^Л,
. Ф — произвольное, top«<to<;tos,
' 6„6 (со) = * 62,. ОО,' 6„6 (со) = * 62,. ОО,О^ю^Мр, 0)8^Ю<Л, top < to < tos.О^ю^Мр, 0)8^Ю<Л, top < to < tos.
' 6„
6 (со) = * 62,
. ОО,
' 6„
6 (со) = * 62,
. ОО,
О^ю^Мр, 0)8^Ю<Л, top < to < tos.
О^ю^Мр, 0)8^Ю<Л, top < to < tos.
Авенхаус и Шусслер предложили для оценки характеристики реального фильтра использовать максимальное значение емакс (со). Если емакс (to) не превышает 1,0, то считается, что характеристика фильтра не выходит за пределы заданного допуска. Если же емакс (ю) >1,0, то фильтр будет неприемлемым, так что разрядность коэффициентов фильтра необходимо увеличивать.
Авенхаус и Шусслер использовали процедуру оптимизации для определения квантованных коэффициентов на дискретном множестве значений по критерию минимизации емакс (to). Им удалось заметно улучшить характеристики фильтра по сравнению со случаем простого округления коэффициентов, которое описывается статистической моделью, рассмотренной в разд. 5.26. На фиг. 5.35 и 5.36 показаны частотные характеристики, а также расположение нулей и полюсов в 2-плоскости для полосового эллиптического фильтра восьмого порядка. При 36-разрядных коэффициентах показатель качества фильтра емакс (со) равнялся 0,526054. При округлении коэффициентов фильтра до восьми разрядов (причем Q = 2~®, а два остальных разряда использовались для представления знака и целой части, поскольку величина коэффициентов может достигать 2,0) получается, что емакс (со) « 1,07, т. е. фильтр оказывается неприемлемым. Наименьшее число разрядов, до которого можно было округлять 36-разрядные коэффициенты и при котором емаьс (ю) ^ 1,0, равно 11. Однако после оптимизации удалось найти набор 8-разрядных коффициентов, при котором емакс (со) = 0,897. Таким образом, применение оптимизации дало выигрыш в три разряда по сравнению с простым округлением.
Фиг. 5.35. Влияние оптимизации коэффициентов фильтра на его частотную характеристику (по Авенхаусу и Шусслеру).
Фиг. 5.36. Расположение нулей и полюсов оптимизированного фильтра (по Авенхаусу и Шусслеру).
+ решение при h = 36; О после округления до h = 6; х после оптимизации при h = 6.
При сравнении результатов применения описанной методики для расчета различных вариантов построения фильтра возникают интересные ситуации. Поскольку в фильтре с неквантованными коффициентами значение емакс (ю) должно быть меньше 1,0 (ина-
V0.166
Фиг. 5.37. Влияние квантования на частотную характеристику фильтра (по Авенхаусу и Шусслеру).
0,0010
О0,1
п = 8, Q = 2~13, емакс = 0,989 после оптимизации;Q =2г**,=0,189;
п = 10, Q = 2-7, емако = 2,077 после округления; — Q = 2~7, емакс = 0,605 после оптимизации.
че ни один из фильтров с квантованными коэффициентами не будет приемлемым), то величину 8ма/<с (со) всегда можно уменьшить, увеличив порядок фильтра и не меняя остальных его параметров. В связи с этим возникает вопрос, целесообразно ли повышать порядок фильтра с тем, чтобы уменьшить разрядность его коэффициентов (при этом исходное значение емаьс («) будет меньше), либо предпочтительнее использовать фильтр меньшего порядка. Подобная ситуация для случая эллиптического фильтра нижних частот иллюстрируется на фиг. 5.37. Восьмой порядок — это наименьший порядок, при котором фильтр еще удовлетворяет заданным требованиям. После оптимизации квантованных коффициен- тов оказалось, что для достижения емакс (со) = 0,989 необходимы 15-разрядные коэффициенты. Эллиптический фильтр 10-го порядка также удовлетворяет заданным требованиям, причем емакс (<а) = = 0,189, если разрядность коэффициентов равна 36. При округлении коэффициентов до девяти разрядов емакс (®) = 2,077, но после оптимизации емакс (<о) уменьшается до 0,605. Возникает вопрос, что лучше: фильтр из четырех блоков с 15-разрядными коэффициентами или фильтр из пяти блоков с 9-разрядными коэффициентами. Ответ на этот вопрос может быть дан только с учетом требований к быстродействию фильтра, величины допустимого шума округления, аппаратурных затрат на увеличение разрядности умножителей и т. д.
Квантование коэффициентов в двухполюсном фильтре
Блоки второго порядка являются основными звеньями, из которых собираются фильтры более высокого порядка (как в каскадной, так и в параллельной форме), поэтому целесообразно подробно исследовать чувствительность характеристик таких блоков к значениям их коэффициентов. При построении блока второго порядка в прямой форме основными коэффициентами являются —г2 и 2г cos 0. Полюсы располагаются в точках z = ге^. Если способ квантования коэффициентов —г2 и 2r cos 6 известен, то полюсы могут располагаться только в дискретном множестве точек на z-плоскости, образованном пересечениями концентрических окружностей, соответствующих квантованным значениям г2, и вертикальных прямых, соответствующих квантованным значениям г cos 6. Такая сетка точек, соответствующая 6-разрядному квантованию обоих коэффициентов, изображена на фиг. 5.38. Точки размещены на z-плоскости весьма неравномерно. Хотя это само по себе и несущественно, но отражает тот факт, что ошибка, связанная
Фиг. 5.38. Возможные положения полюсов для прямой формы построения фильтра второго порядка.
Фиг. 5.39. Возможные положения полюсов для связанной формы построения фильтра второго порядка, состоящего из двух блоков первого порядка.
с квантованием коэффициентов, сильно зависит от исходного расположения полюсов фильтра.
Другой формой построения блока второго порядка является связанная форма, предложенная Райдером и Гоулдом. Совокупность разностных уравнений первого порядка, соответствующая этой форме, имеет вид
У1 (”) = r (cos6) yt (п — 1) — г (sinQ) у2 (п — 1) + х (и),
Уъ (п) = г (sinG) yt (n — 1) + г (cosG) у^ (n — 1),^^Hi (и).
Коэффициентами фильтра являются г cos 0 и г sin 6, поэтому полюсы располагаются в z-плоскости на прямоугольной сетке точек, как показано на фиг. 5.39. Отсюда следует, что при построении блока второго порядка в связанной форме максимальное смещение полюсов, вызванное квантованием коэффициентов, не зависит от исходного расположения полюсов в z-плоскости.
Квантование коэффициентовв нерекурсивных структурах
В случае нерекурсивных КИХ-фильтров с линейной фазовой характеристикой можно получить более конкретные, чем для рекурсивных фильтров, оценки эффектов квантования коэффициентов. Для фильтров прямой формы будут найдены статистические границы ошибки частотной характеристики, связанной с округлением коэффициентов. Для фильтров каскадной формы будут приведены лишь некоторые экспериментальные данные о чувствительности такой структуры к погрешностям коэффициентов за счет их округления.
Квантование коэффициентов при построении КИХ-фильтровв прямой форме
Частотную характеристику КИХ-фильтра с линейной фазовой характеристикой можно представить в виде
(N-3)/2
(5.111)(5.111)н (^= | 2 2л w c°s[ (^р1 'п=0
(5.111)
(5.111)
4-Ь (-^у^-)}
где {/& (и)}, 0 ^ п ^ N — 1, — импульсная характеристика фильтра, причем h (п) = h (N — 1 — и). В выражении (5.111) множитель е~’® ^—^^ учитывает только задержку на целое число отсчетов (N нечетное) и не изменяется при квантовании коэффициентов фильтра. Поэтому при анализе эффектов квантования коэффициентов достаточно рассмотреть функцию Н (eia) = — Н ^eitoVto tN-1'>?2.
Пусть {h* (и)} — последовательность, образующаяся в результате округления {^ (и)} при условии, что шаг квантования равен Q. Тогда h* (и) = h (п) 4- в (п) и h* (и) = h* ^N — 1 — и) для О^п^^— 1)/2, причем е (и) является случайной величиной, равномерно распределенной на интервале [—^/2, ^/2]. Допустим, что Н* (я) — ^-преобразование от {/г*(тг)}, а Н* (е^) = = Н* (е^) ei^—W2. Введем также функцию ошибки
El (е^) = Н* ^ — Н^®) (5.112) или
(2V-3)/2£l (^®) = 2 2е Wcos [ (—n=0(2V-3)/2£l (^®) = 2 2е Wcos [ (—n=0П (0П (0TV —1TV —122(5.113)(5.113)
(2V-3)/2
£l (^®) = 2 2е Wcos [ (—n=0
(2V-3)/2
£l (^®) = 2 2е Wcos [ (—n=0
П (0
П (0
TV —1
TV —1
2
2
(5.113)
(5.113)
Из формулы (5.113) видно, что функцию ошибки El (e,t0) можно рассматривать как частотную характеристику фильтра с линейной фазовой характеристикой, у которого первая половина импульсной характеристики образована последовательностью {е (и)}, а вторая имеет вид е ^N — 1— и) = е (и), О^п ^ (У — 1)/2. Как было показано выше, фильтр с квантованными коэффициентами эквивалентен двум параллельно соединенным фильтрам, один из которых является исходным фильтром с неквантованными коэффициентами, а второй имеет частотную характеристику El (ejto) e-^-W2.
Учитывая, что [е(и)|^^/2, легко найти границу для \EL (eJ“)l- Из равенства (5.113) следует, что
ИЛИИЛИ(N-3)/2|Яь(^“)|< 2 21е(")1(N-3)/2|Яь(^“)|< 2 21е(")1п=0п=0COSCOSN—12N—12(N-D/2^г1)|^4[1+2 2 lcos("®)l],71 = 1(N-D/2^г1)|^4[1+2 2 lcos("®)l],71 = 1(5.114)(5.115)(5.114)(5.115)
ИЛИ
ИЛИ
(N-3)/2
|Яь(^“)|< 2 21е(")1
(N-3)/2
|Яь(^“)|< 2 21е(")1
п=0
п=0
COS
COS
N—1
2
N—1
2
(N-D/2
^г1)|^4[1+2 2 lcos("®)l],71 = 1
(N-D/2
^г1)|^4[1+2 2 lcos("®)l],71 = 1
(5.114)
(5.115)
(5.114)
(5.115)
Эта граница является слишком грубой и на практике почти не используется. Если предположить, что ошибки, возникающие при квантовании отдельных коэффициентов, статистически независимы, то можно найти более приемлемую статистическую границу. Хотя для каждого конкретного фильтра коэффициенты квантуются один раз, после чего характеристика фильтра становится фиксированной, нижеприведенная граница дает возможность проектировщику оценить точность представления коффициентов, необходимую, для получения заданной характеристики фильтра, даже не зная Заранее значений самих коэффициентов. -
Исходя из формулы (5.113), выражение для El (eito) можно записать в виде
El (ejtD) = J 4е2 (и) cds2 [ ( А^Л^- и) со j -j- е2 (-—у1 ). (5.116) 71=0 '
При равномерном распределении е2 (и) = ^2/12, поэтому
.^~П/2
^(«^--^-[l + i 2 cos^an)]. (5.117)
71=1
Введем следующую весовую функцию:
(2V-D/2
^(“^ { 2дг_1 [1 + 4 2 cos2(®n) у2-(5.118)
71=1
Фиг. 5.40. Влияние квантования коэффициентов на частотную характеристи ку фильтра.
Тогда стандартное отклонение ошибки будет равно
<5Л19>
Ясно, что WN (0) = WN (л) = 1 и О^И^у (to)^l при всех N. Поэтому
Gel (ю) <у у —з— .(5.120)
lim WN (го)lim WN (го)0<(о<л.(5.121)0<(о<л.(5.121)11Нетрудно показать, что
lim WN (го)
lim WN (го)
0<(о<л.(5.121)
0<(о<л.(5.121)
1
1
Из фиг. 5.40, где изображены весовые функции WN (2nf) для N = 7 и N — 67, видно, насколько aEL (со) близко к границе, задаваемой формулой (5.120); при любых со величина aEL (со) отличается от этой границы не более чем в два раза.
Поскольку при любых со ошибка EL (eito) равна сумме независимых случайных величин, плотность распределения вероятностей которых равна нулю вне некоторого конечного интервала, то El (е^) ПРИ больших N является гауссовой случайной величиной. Таким образом, среднее значение и дисперсия ошибки EL ^е^ полностью определяют ее статистические свойства.
Чан и Рабинер экспериментально подтвердили справедливость вышеприведенной модели квантования коэффициентов для случая оптимальных фильтров нижних частот. Опираясь на эту модель и теоретические соотношения между параметрами фильтра с неквантованными коэффициентами, Чан и Рабинер сформулировали правило нахождения числа разрядов при расчете фильтра с заданными граничными частотами и уровнем пульсаций в полосах пропускания и непропускания.
Квантование коэффициентов при построении КИХ-фильтровв каскадной форме
Если КИХ-фильтр с линейной фазовой характеристикой строится в каскадной форме и его коэффициенты квантуются, то для сохранения линейности фазовой характеристики этот фильтр обычно приходится составлять из блоков четвертого порядка. Для такого фильтра несложно определить чувствительность положения нулей и формы частотной характеристики к изменению коэффициентов, однако общих статистических границ (подобных найденным в разд. 5.29 для прямой формы фильтров), которые описывали бы свойства каскадной формы, пока не найдено. Эксперименты показывают, что полосовые фильтры, выполненные в каскадной форме, весьма чувствительны к изменениям коэффициентов вблизи точки z = 1 и почти нечувствительны , к ним вблизи z = 0. Поэтому
После округления до 12 разрядов
• КаскаднаяПрямая
формаформа
Фиг. 5.41. Сопоставление частотных характеристик фильтров прямой и каскадной форм с квантованными и неквантованными коэффициентами (по Хермануи Шусслеру).
фильтры нижних частот каскадной формы весьма чувствительны к погрешностям коэффициентов в полосе пропускания, но слабо чувствительны к ним в полосе непропускания. На фиг. 5.41 в качестве примера приведены полученные Херманом и Шусслером частотные характеристики КИХ-фильтров нижних частот с линейной фазовой характеристикой, реализованных в каскадной и прямой форме с коэффициентами, округленными до 12 разрядов. Там же представлены характеристики фильтров с неквантованными коэффициентами. Для каскадной формы в начале полосы пропускания обе характеристики существенно различаются; однако в полосе непропускания они практически совпадают. -
Поскольку общие статистические границы для ошибок частотных характеристик каскадных фильтров не известны, для минимизации максимума взвешенной ошибки частотной характеристики было использовано несколько машинных программ оптимизации коэффициентов.
Колебания предельного цикла
При анализе шума округления в цифровых фильтрах предполагалось, что разность между соседними отсчетами входного сигнала велика по сравнению с шагом квантования. Это позволяло считать, что отсчеты шума округления некоррелированы как друг с другом, так и с отсчетами входной последовательности. Ясно, что во многих случаях (например, если входной сигнал постоянен
или равен нулю) такое предположение несправедливо. Рассмотрим в качестве примера разностное уравнение
у (п) = 0,95у (п— 1)4-я(п)(5.122)
и предположим, что входная последовательность я (п) = О (т. е. вход фильтра отключен), а начальное условие имеет вид У (—1) = 13. (Значения переменной у выражаются в единицах шага квантования Q и поэтому не могут быть дробными.) В приводимой ниже таблице сопоставляются точные значения у (п), рассчитанные, согласно уравнению (5.122), без использования округления, а также значения, получающиеся при расчетах с округлением.
п
у (п) точные
у (п) с округлением
-1
13,0'
13
0
12,35
12
1
11,7325
И
2
11,145875
10
3
10,58858125
10
4
10,05915219
10
Хотя точные значения у (п) экспоненциально стремятся к нулю, при использовании округления значения у (п) «затягиваются» на уровне, равном 10, и дальше уже не могут измениться. Рассмотренный пример иллюстрирует возникновение в рекурсивном цифровом фильтре эффекта предельного цикла при нулевом входном сигнале. Амплитудные интервалы, в которых возникают эффекты предельного цикла, Блэкман назвал мертвыми эонами. В рассмотренном примере при любом |у (—1)1^10 будет получаться, что у (п) = у (—1), п^О, если х (п) = 0. Таким образом, интервал [—10, 10] является мертвой зоной.
Джексон исследовал предельные циклы в системах первого и второго порядка, используя понятие «эффективных значений» коэффициентов фильтра, т. е. учитывая, что предельные циклы возникают только тогда, когда округление фактически приводит к появлению полюсов на единичной окружности. Так, для системы, описываемой разностным уравнением первого порядка
у^ = х (п) - [ау (п - 1)Г, (5.123)
где символ [ ]' обозначает операцию округления до ближайшего целого, а х (п) = 0 при п ^ 0, мертвой зоной, в которой могут существовать предельные циклы, является интервал [—к, А], при-
чем к равно наибольшему целому числу, удовлетворяющему неравенству
Из приведенного примера следует, что при отрицательных а отсчеты на выходе фильтра в режиме предельного цикла имеют постоянные амплитуду и знак. Если! же а >> 0, то отсчеты на выходе в режиме предельного цикла будут иметь постоянную амплитуду, но чередующийся знак. При всех значениях у (и) в пределах мертвой зоны эффективное значение множителя а равно ±1, т. ё. [ар (и — 1)]' = ±у (и — 1). Таким образом, разностному уравнению (5.123) соответствует эффективный полюс в точке z — ±1.
Для системы второго порядка, описываемой разностным уравнением
у (и) = а: (и) — [0^ (п — 1)]' — [02р (и — 2)]', (5.125) мертвой зоной, в которой могут возникать эффекты предельного цикла, является интервал [—к, А], где к — наибольшее целое, удовлетворяющее неравенству
0<р,<1. (5.126)
Формула (5.126) аналогична формуле (5.124), но а заменено на 02. При выполнении соотношения (5.126) полюсы фильтра наверняка попадают на единичную окружность, т. е. эффективное значение 02 равно 1,0. (Отметим, что при 02 >- 0 полюсы будут комплексно сопряженными, а фильтр — устойчивым.) Частота колебаний в режиме предельного цикла определяется главным образом значением 0Х, но зависит также и от того, как округление сказывается на величине произведения 0ху (п — 1) в формуле (5.125).
Из формулы (5.126) следует, что наименьшее значение 02, при котором еще образуется пара эффективных комплексно сопряженных полюсов равно 0,5. В этом случае к = 1. Следующее значение р2, для которого эффекты предельного цикла возникают при большем значении к, равно 0,75. В этом случае к = 1 или 2. При любом значении 02 существует только конечное число интервалов значений рп при которых могут возникать различные эффекты предельного цикла. Соответствующие области в плоскости (0Х, 02) для блока второго порядка, описываемого уравнением (5.125), показаны на фиг. 5.42. Область, в которой предельные циклы не возникают, отмечена штриховкой. Горизонтальные линии соответствуют минимальным значениям 02, при которых происходит изменение режима в мертвой зоне. Числа внутри каждой из областей обозначают максимальное значение амплитуды колебаний в режи-
*1,0
Фиг. 5.42. Зависимость амплитуды колебаний предельного цикла от коэффициентов фильтра (по Джексону).
ме предельного цикла, возможных в этой области плоскости (Pi,p2)- Предельные циклы, возникающие при Р2 < 0,5, будут рассмотрены ниже. ■
Выше были проанализированы эффекты предельного цикла в блоках второго порядка, соответствующие возникновению пары эффективных комплексно сопряженных полюсов. Предельные циклы в таких блоках могут существо?9™ п при появлении действительного эффективного полюса в точке z = ±1. В этом случае условием возникновения режима предельного цикла с выходной амплитудой, равной к, является следующее равенство:
1М]'±1МГ = ^. (5.127)
Для различных значений к нетрудно определить положение областей в плоскости (Р1т Р2), внутри которых выполняется условие (5.127). Эти области показаны на фиг. 5.42.
Изучение предельных циклов важно по двум причинам. В системах связи отключение сигнала может вызвать эффекты предельного цикла. Это весьма нежелательно, поскольку хотелось бы, чтобы при отсутствии входного сигнала на выходе канала ничего не было слышно. Поэтому при использовании цифровых фильтров в системах телефонии данной проблеме следует уделить достаточно серьезное внимание. Вторая причина заключается в том, что предельные циклы можно использовать для генерации периодических последовательностей. Колебания предельного цикла с нужными характеристиками можно использовать при цифровой обработке в качестве источника сигнале.
После выхода в свет работы Джексона, посвященной предельным циклам, уточнению границ для амплитуд и частот колебаний предельного цикла уделялось очень много внимания. Подробности можно найти в соответствующих публикациях.
ЛИТЕРАТУРА
Литература общего характера
Oppenheim А. V., Weinstein С. W., Effects of Finite Register Length in Digital Filters and the Fast Fourier Transform, Proc. IEEE, 60, No. 8, 957—976 (Aug. 1972); есть русский перевод: Оппенгейм, Вайнштейн, Влияние конечной длины регистра, при цифровой фильтрации и быстром преобразовании Фурье, ТИИЭР, т. 60, № 8, стр. 41—65 (1972).
Gold В., Rader С. М., Digital Processing of Signals, Ch. 4, McGraw-Hill, 1969; есть русский перевод: Голд Б., Рэйдер Ч., Цифровая обработка сигналов, изд-во «Советское радио», 1973.
Liu В., Effect of Finite Word Length on the Accuracy of Digital Filters — A Review, IEEE Trans. Circuit Theory, CT-18, 670—677 (Nov. 1971).
Bennett W. R., Spectra of Quantized Signals, Bell Syst. Tech. J., 27, 446— 472 (July 1948).
Rader С. M., Gold B., Effects of Parameter Quantization on the Poles of a Digital Filter, Proc. IEEE, 55, No. 5, 688—689 (May 1967); есть русский перевод: Рейдер, Голд,. Влияние квантования параметров на полюсы цифрового фильтра, ТИИЭР, 55, № 55, стр. 98—100 (1967).
Шум округления в рекурсивных структурах.
Случай фиксированной запятой
Knowles J. В., Edwards R., Effects of a Finite-Word-Length Computer in a Sampled-Data Feedback System, Proc. Inst. Elec. Eng., 112, 1197— 1207 (June 1965).
Gold B-, Rader С. M., Effects of Quantization Noise in Digital Filters, Proc. AFIPS 1966 Spring Joint Computer Conf., 28, 213—219 (1966).•
Jackson L. B., On the Interaction of Boundoff Noise and Dynamic Range in Digital Filters, Bell Syst. Tech. J., 49, 159—184 (Feb. 1970).
Jackson L. B., Roundoff Noise Analysis for Fixed-Point Digital Filters Realized in Cascade or Parallel Form, IEEE Trans. on Audio and Electroacoustics, AU-18, 107—122 (June 1970).
Шум округления в нерекурсивных структурах.
Случай фиксированной запятой
Chan D. S. К., Rabiner L. R., Theory of Roundoff Noise in Cascade Realizations of Finite Impulse Response Digital Filters, Bell Syst. Tech. J., 52, No. 3, 329—345 (March 1973).
Chan D. S. K., Rabiner L. R., An Algorithm for Minimizing Roundoff Noise in Cascade Realizations of Finite Impulse Response Digital Filters, Bell Syst. Tech. J., 52, No. 3, 347—385 (March 1973).
Chan D. S. K., Rabiner L. R., Analysis of Quantization Errors in the Direct Form for Finite Impulse Response Digital Filters, IEEE Trans, on Audio and Electroacoustics, AU-21, No. 4, 354—366 (Aug. 1973).
Шум округления в рекурсивных структурах.
Случай плавающей запятой
Sandberg I. W., Floating-Point Roundoff Accumulation in Digital Filter Realization, Bell Syst. Tech. J., 46, 1775—1791 (Oct. 1967).
Kaneko Т., Liu В., Roundoff Error of Floating-Point Digital Filters, Proc. 6th Annual Allerton Conf, on Circuit and System Theory, 219—227 (Oct. 1968).
Weinstein C., Oppenheim A. y., A Comparison of Roundoff Noise in Floating Point and Fixed Point Digital Filter Realizations, Proc. IEEE (Corresp.), 57, 1181—1183 (June 1969); есть русский перевод: Вайнштейн, Оппенгейм, Сравнение шумов округления цифровых фильтров при их реализации по методу с плавающей запятой и по методу с фиксированной запятой, ТИИЭР, т. 57, № 7, стр. 72—74 (1969).
Liu В., Kaneko Т., Error Analysis of Digital Filters with Floating-Point Arithmetic, Proc. IEEE, 57, 1735—1747 (Oct. 1969); есть русский перевод: Лиу, Канеко, Анализ погрешностей цифровых фильтров, реализуемых арифметическими операциями с плавающей запятой, ТИИЭР, т. 57, № 10, стр. 49—63 (1969).
Oppenheim А. V., Realization of Digital Filters Using Block Floating-Point Arithmetic, IEEE Trans, on Audio and Electroacoustics, AU-18, 130—136 (June 1970).
Колебания переполнения
Ebert P. M., Mazo J. E., Taylor M, G., Overflow Oscillations in Digital Filters, Bell Syst. Tech. J., 48, 3021—3030 (Nov. 1968).
Квантование коэффициентов в рекурсивных структурах
Kaiser J. F., Some Practical Considerations in the Realization od Linear Digital Filters, Proc. 3rd A nnual A llerton Conf, on Circuit and System Theory, 621—633 (1965).
Rader С. M., Gold B., Effects of Parameter Quantization on the Poles of a Digital Filter, Proc. IEEE (Corresp.), 55, 688—689 (May 1967).
Knowles J. B., Olcayto E. M., Coefficient Accuracy and Digital Filter Response, IEEE Trans. Circuit Theory, 15, No. 1, 31—41 (March 1968).
Avenhaus E., Schuessler H. W., On the Approximation Problem in the Design of Digital Filters with Limited Wordlength, Arch. Elek. Ubertragung, 24, 571-572 (1970).
Квантование коэффициентов в нерекурсивных структурах
Hermann О., Schuessler Н. W., On the Accuracy Problem in the Design of Nonrecursive Digital Filters, Arch. Elek. Ubertragung, 24, 525—526 (1970).
Chan D. S. K., Rabiner L. R., Analysis of Quantization Errors in the Direct Form for Finite Impulse Response Digital Filters, IEEE Trans, on Audio and Electroacoustics, AU-21, No. 4, 354—366 (Aug. 1973).
Weinstein C. W., Quantization Effects in Frequency Sampling Filters, NE REM Record, 22 (1968).
Предельные циклы в рекурсивных структурах
Blackman R. В., Linear Data-Smoothing and Prediction in Theory and Practice, Addison-Wesley Publ. Co., Reading, Mass., pp. 75—79 (1965).
Jackson L. B., An Analysis of Limit Cycles Due t6 Multiplication Rounding in Recursive Digital (Sub) Filters, Proc. 1th Annual Allerton Conf, on Circuit and System Theory, 69—78 (1969).■
Parker S. R., Hess S. F., Limit-Cycle Oscillations in Digital Filters, IEEE Trans. Circuit Theory, CT-18, 687—696 (Nov. 1971).
Sandberg I. W., A Theory Concerning Limit Cycles in Digital Filters, Proc. 1th Allerton Conf, on Circuit and System Theory, 63—67 (1969).
Brubaker T. A., Gowdy J. N., Limit Cycles in Digital Filters, IEEE Trans. Automatic Control, 17, No. 5, 675—677 (Oct. 1972).
Sandberg I. W., Kaiser J. F., A Bound on Limit Cycles in Fixed-Point Implementations of Digital Filters, IEEE Trans, on Audio and Electroacoustics, AU-20, No. 2, 110—112 (June 1972).
Глава 6СПЕКТРАЛЬНЫЙ АНАЛИЗИ БЫСТРОЕ ПРЕОБРАЗОВАНИЕ ФУРЬЕ
Введение
При обработке сигналов во многих случаях приходится измерять спектры. Так, в задачах распознавания речи спектральный анализ, как правило, предшествует дальнейшей специальной обработке. В системах сжатия полосы речевых сигналов спектральный анализ является обычно основной операцией. В гидроакустических системах для обнаружения надводных кораблей и подводных лодок требуется проводить сложный спектральный анализ. В радиолокационных системах для получения информации о скорости цели также приходится измерять спектр.
Следует иметь в виду, что понятие «спектральный анализ» включает в себя большое число различных измерений. В широком смысле его можно определить как «измерение, которое дает точные или приближенные значения z-преобразования дискретного сигнала для заданных значений z». Создание адекватной теории спектраль ного анализа затруднено тем обстоятельством, что на практик- все спектральные измерения проводятся на конечных временных интервалах, длина которых обычно определяется чисто интуитивно или на основе накопленного опыта. Например, «спектр» речевого сигнала очень сильно зависит от времени, изменяясь приблизительно со скоростью изменения параметров речевого тракта (около 10 раз за секунду). Несмотря на это, во многих прикладных задачах кратковременный спектр речевого сигнала является одной из наиболее важных характеристик.
Набор алгоритмов, называемых алгоритмами быстрого преобразования Фурье (БПФ), включает разнообразные методы уменьшения времени вычисления дискретного преобразования Фурье (ДПФ). Поскольку вычисление ДПФ является основной операцией в большинстве задач спектрального анализа, то использование БПФ в некоторых встречающихся на практике случаях, позволяющее ускорить вычисление ДПФ в 100 и более раз по сравнению с методом прямого вычисления ДПФ, имеет чрезвычайно важное значение и должно рассматриваться как неотъемлемая часть применения методов цифровой обработки сигналов для спектрального анализа. Поэтому данная глава начинается с теории БПФ, вклю-
чающей хорошо известные алгоритмы с основанием 2 и прореживанием по времени и по частоте. Далее будет показано, каким образом можно представить Б ПФ в виде единого алгоритма, имеющего много различных вариантов. Тот факт, что одномерный массив чисел можно выразить через двумерный массив более чем одним способом, объясняет многообразие алгоритмов Б ПФ. Отсюда следует, что математическая операция перехода из одномерного пространства в двумерное является основой всех алгоритмов БПФ. При таком едином подходе к алгоритму БПФ его различные варианты могут быть получены сравнительно простым способом. Многие из этих вариантов рассматриваются в гл. 10, посвященной аппаратурной реализации БПФ.
После рассмотрения основ БПФ обсуждается взаимосвязь между различными методами спектральных измерений: какая часть z-плоскости представляет интерес для различных частных случаев и как при этом следует проводить анализ; каково соотношение между спектральным анализом на основе ДПФ и с использованием гребенки цифровых фильтров; как можно «улучшить» качество спектрального анализа и какова взаимосвязь между спектральным анализом и ЛЧМ-фильтрацией.
Введение в алгоритмы БПФ с основанием 2
Несмотря на то что алгоритмы БПФ хорошо известны и широко используются, при первом ознакомлении с ними они по ряду причин достаточно трудны для понимания. Прежде всего читателю нужно усвоить много новых терминов. К тому же в литературе встречается несколько различных подходов к описанию алгоритмов БПФ, которых появилось очень много. Наконец, ввиду сложности операции перестановки данных ее проще всего понять на конкретных примерах.
ДПФ конечной последовательности {.г (п)}, 0 ^ п ^ N — 1, было определено в гл. 2 как
Х^к) = 2 x^e-H^Npik^ ^ = о, 1, ...,7V — 1,(6.1)
n=0
или в более удобной форме как
N- 1
Х^ = 2 ^(«) W^\(6.2)
72 = 0
где W = е-Я2л)/л-_ Легко показать, что Wnh является периодической последовательностью с периодом N, т. е.
pF(n+77!X)(k+LX)==w-n^ Z = 0? ±1, ... .(6.3)
Ниже будет показано, что периодичность 1Г"Л является одним из ключевых моментов Б ПФ. Часто периодичность Wnh подчеркивают тем, что вместо W записывают W^y.
Из соотношения (6.1) следует, что в случае, когда последовательность х (и) является комплексной, при прямом вычислении W-точечного ДПФ нужно выполнить (W — I)2 комплексных умножений и N (N — 1) комплексных сложений. Таким образом, для достаточно больших N (порядка 1000) прямое вычисление ДПФ требует выполнения чрезмерного количества вычислительных операций. Основная идея БПФ состоит в том, чтобы разбить исходную W-точечную последовательность на две более короткие последовательности, ДПФ которых могут быть скомбинированы таким образом, чтобы получилось ДПФ исходной W-точечной последовательности. Так, например, если N четное, а исходная W-точечная последовательность разбита на две (Л72)-точечные последовательности, то для вычисления искомого W-точечного ДПФ потребуется порядка (W/2)2-2 = W2/2 комплексных умножений, т. е. вдвое меньше по сравнению с прямым вычислением. Здесь множитель (W/2)2 дает число умножений, необходимое для прямого вычисления (W/2)-TO4e4Horo ДПФ, а множитель 2 соответствует двум ДПФ, которые должны быть вычислены. Эту операцию можно повторить, вычисляя вместо (W/2)-TO4e4Horo ДПФ два (vV/2))-точечных ДПФ (предполагая, что W/2 четное) и сокращая тем самым объем вычислений еще в два раза. Выигрыш в два раза является приближенным, поскольку не учитывается, каким образом из ДПФ меньшего размера образуется искомое W-точечное ДПФ.
Проиллюстрируем описанную методику для W-точечной последовательности {.г (п)}, считая, что W равно степени 2. Введем две (Л72)-точечные последовательности {^ (п)} и ^х^ (п^ из четных и нечетных членов х (и) соответственно, т. е.
Ж! (n) = z (2/г), n = 0, 1,1,
N<6-4>
^2(п) — (2^+1), n = 0, 1, ...,-2—1.
W-точечное ДПФ последовательности {ж (и)} можно записать как ^-l^-l
Х^= 2 х (п) wS + 2 xI^Wn-(6.5)
71 = 071=0
п четныеп нечетные
JV/2-12V/2-1
= 2 ж(2|г)И7*+ 2 x^n + ^W'g"-1-1*. (6.6) 71=0н=0
С учетом того, что
W^N = [е*2л/Ю]2 = 6Я2л/(^2)] = WN,2l(6.7)
перепишем выражение (6.6) в виде
Л72-1^2-1
(6.8)(6.8)(6.9)(6.9)хщ= 2 ^1 («)w%2 + wfc 2 x^wtrin—0n=0
(6.8)
(6.8)
(6.9)
(6.9)
X^ = XV^H W^X^
где ХД (А) и X2 (А*) равны (Х/2)-точечным ДПФ последовательностей хг (п) и ж2 (zi). Из формулы (6.9) следует, что Х-точечное ДПФ X (А) может быть разложено на два (Х/2)-точечных ДПФ, результаты которых объединяются согласно (6.9). Если бы (Х/2)-точеч- ные ДПФ вычислялись обычным способом, то для вычисления Х-точечного ДПФ потребовалось бы, очевидно, (7V/2 + TV) комплексных умножений. При больших N (когда 7V2/2 ^ .V) это позволяет сократить время вычисления на 50%.
Поскольку X (А) определено при 0 ^ k <Т N — 1, а Хг (А) и Хг (к) определены при 0 ^ А ^ Х/2 — 1, необходимо доопределить формулу (6.9) для А ^ NI2. Это определение достаточно 'очевидно и может быть записано следующим образом1):
X (А) =X (А) =ХДА^И^ХДА), 0<А<4ХДА^И^ХДА), 0<А<4(6.10)(6.10)
X (А) =
X (А) =
ХДА^И^ХДА), 0<А<4
ХДА^И^ХДА), 0<А<4
(6.10)
(6.10)
На фиг. 6.1 с помощью направленного графа2) представлена последовательность операций при выполнении восьмиточечного ДПФ с использованием двух четырехточечных преобразований. Входная последовательность х (zz) сначала разбивается на две последовательности хл ^ и z2 (п) из четных и нечетных членов х (zz), после чего рассчитываются их преобразования Хг (А) и Х2 (А). Затем в соответствии с формулой (6.10) (см. сноску 1) получают X (А).
J) Соотношение (6.10) является прямым следствием периодичности ДПФ. Заметим также, что W^^^ —- —И7^.. так что формулу (6.10) можно переписать в виде
,/у
да + И7^- У2 (/с). 0-< у - 1,
V (к — —) Wh_ ДД Д < к < N — 1
х1(О) = х(О) х1(1)=х(2) х,(2) = х(4) х1(3) = х(6) х2(0) = х(1) х2(1) = х(3) х2(2)=х(5) ^2 (^= ^^Ух1(О) = х(О) х1(1)=х(2) х,(2) = х(4) х1(3) = х(6) х2(0) = х(1) х2(1) = х(3) х2(2)=х(5) ^2 (^= ^^УФиг. 6.1. Вычисление восьмиточечного ДПФ через два четырехточечных ДПФ.Фиг. 6.1. Вычисление восьмиточечного ДПФ через два четырехточечных ДПФ.
х1(О) = х(О) х1(1)=х(2) х,(2) = х(4) х1(3) = х(6) х2(0) = х(1) х2(1) = х(3) х2(2)=х(5) ^2 (^= ^^У
х1(О) = х(О) х1(1)=х(2) х,(2) = х(4) х1(3) = х(6) х2(0) = х(1) х2(1) = х(3) х2(2)=х(5) ^2 (^= ^^У
Фиг. 6.1. Вычисление восьмиточечного ДПФ через два четырехточечных ДПФ.
Фиг. 6.1. Вычисление восьмиточечного ДПФ через два четырехточечных ДПФ.
Рассмотренная схема вычислений может быть использована для расчета А/2-точечных ДПФ в соответствии с формулами (6.9) и (6.10). Каждая из последовательностей хг (п) и х^ (п) разбивается на две последовательности, состоящие из четных и нечетных членов. Аналогично А/2-точечные ДПФ могут быть записаны как комбинации двух А/4-точечных ДПФ, т. е.
X^k^-A^HW^B^ (6.11) или
Хг (к) = А (к) 4- W^B (к), (6.12)
где 0 ^ к ^ А/2 — 1, А (к) и В (к) — N/4-точечные ДПФ соответственно четных и нечетных членов хг (п). На фиг. 6.2 показан результирующий направленный граф, в котором четырехточечные ДПФ из фиг. 6.1 рассчитываются согласно (6.12).
Процесс уменьшения размера ДПФ от L до Z72, где L равно степени 2, может быть продолжен до тех пор, пока не останутся только двухточечные ДПФ. Двухточечное ДПФ F (к), к = 0,1,
'1—ДвухточечноеДПФДвухточечноеДПФ'1—ДвухточечноеДПФДвухточечноеДПФФиг. 6.2. Вычисление восьмиточечного ДПФ через два четырехточечных ДПФ, которые в свою очередь вычисляются через четыре двухточечных ДПФ.Фиг. 6.2. Вычисление восьмиточечного ДПФ через два четырехточечных ДПФ, которые в свою очередь вычисляются через четыре двухточечных ДПФ.6(0) х2{1) х(3)Двухто чечное6(1)=х2(3)=х(7)ДПФ6(0) х2{1) х(3)Двухто чечное6(1)=х2(3)=х(7)ДПФЫ0 = 30,(3)=х(6) с(0) = х2(0)=х(1) с(1) = х2(2)=х(5)Ы0 = 30,(3)=х(6) с(0) = х2(0)=х(1) с(1) = х2(2)=х(5)Фиг. 6.3. ВосьмиточечноеФиг. 6.3. Восьмиточечное
'1—
Двухточечное
ДПФ
Двухточечное
ДПФ
'1—
Двухточечное
ДПФ
Двухточечное
ДПФ
Фиг. 6.2. Вычисление восьмиточечного ДПФ через два четырехточечных ДПФ, которые в свою очередь вычисляются через четыре двухточечных ДПФ.
Фиг. 6.2. Вычисление восьмиточечного ДПФ через два четырехточечных ДПФ, которые в свою очередь вычисляются через четыре двухточечных ДПФ.
6(0) х2{1) х(3)
Двухто чечное
6(1)=х2(3)=х(7)
ДПФ
6(0) х2{1) х(3)
Двухто чечное
6(1)=х2(3)=х(7)
ДПФ
Ы0 = 30,(3)=х(6) с(0) = х2(0)=х(1) с(1) = х2(2)=х(5)
Ы0 = 30,(3)=х(6) с(0) = х2(0)=х(1) с(1) = х2(2)=х(5)
Фиг. 6.3. Восьмиточечное
Фиг. 6.3. Восьмиточечное
а(О)=х,(О)=л(О) а(1)=х1(2)=х(4) Ь(0)=зс,(1)=х(2)
ДПФ, полученвое^последовательвым'прореживанием в 2 раза.
может быть рассчитано без использования умножений по формулам
(6.13)(6.13)^(0)=-/(0) + /(l)W",F(l) = /(0) + /(l) И7*.
(6.13)
(6.13)
Здесь f ^п), п = 0, 1, — преобразуемая двухточечная последовательность. Поскольку W^ = 1 и W* = —1, для вычислений по формулам (6.13) действительно не нужны операции умножения. Таким образом, восьмиточечное ДПФ (фиг. 6.1 и 6.2) в итоге сводится к алгоритму, описываемому направленным графом, представленным на фиг. 6.3.
Некоторые свойства алгоритма БПФс основанием 2 и прореживанием по времени
Анализ графа на фиг. 6.3 и процедуры последовательного сокращения вдвое размеров преобразований показывает, что на каждом этапе БПФ (т. е. при каждом сокращении размеров ДПФ) необходимо выполнить N/2 комплексных умножений. Поскольку общее количество этапов равно log2A\ то число комплексных умножений, необходимое для нахождения А^-точечного ДПФ, приблизительно равно N(2 \og2N. Слово приблизительно использовано по той причине, что умножения на ГГ^, И'^2, W^^ и ТУд^/4 в действительности сводятся просто к сложениям и вычитаниям комплексных чисел. Так, например, на фиг. 6.3 первый этап БПФ содержит только сложения и вычитания комплексных чисел. Даже на втором этапе используются только сложения и вычитания комплексных чисел. Фактически, как следует из направленного графа на фиг. 6.3, вместо ожидаемых 12 (т. е. 4 log28) достаточно выполнить всего два нетривиальных умножения. Однако для больших значений N фактическое число нетривиальных умножений хорошо аппроксимируется выражением jV/21og2 N.
Описанный выше алгоритм был назван алгоритмом с прореживанием по времени, поскольку на каждом этапе входная (т. е. временная) последовательность разделяется на две обрабатываемые последовательности меньшей длины, т. е. входная последовательность прореживается на каждом этапе. Другая форма алгоритма БПФ (с прореживанием по частоте) будет описана ниже, а сейчас целесообразно обсудить некоторые общие свойства алгоритмов БПФ. ‘
Базовая операция алгоритма с прореживанием по времени (так называемая „бабочка14) состоит в том, что два входных числа А и В объединяются для получения двух выходных чисел X и У следующим образом:
(6.14)(6.14)X = AAWhNB,Y = A-WkNB.
(6.14)
(6.14)
На фиг. 6.4 изображен направленный граф базовой операции (6.14). Внимательное рассмотрение направленного графа на фиг. 6.3 показывает, что каждый из этапов содержит Х'2 базовых
Фиг. 6.4. Базовая операция алгоритма Б ПФ.
операций. В случае когда множитель Wn — нетривиальный, для каждой базовой операции необходимо выполнить только одно умножение, поскольку величину BWn можно вычислить и запомнить. Таким образом, структура базовых операций такова, что для выполнения БПФ TV-точечной последовательности, размещенной в памяти, достаточно иметь лишь одну дополнительную ячейку памяти. Результаты всех промежуточных этапов БПФ можно размещать в те же ячейки памяти, где находились исходные данные. Поэтому для хранения и входной, и выходной последовательностей можно использовать один и тот же массив ячеек памяти. Алгоритм, в котором для размещения входной и выходной последовательностей используются одни и те же ячейки памяти, называется алгоритмом БПФ с замещением.
На фиг. 6.5 алгоритм БПФ с основанием 2 иллюстрируется несколько иначе. Все ДПФ являются двухточечными и не требуют
Фиг. 6.5. Типичное разложение для алгоритмов БПФ с основанием 2.
операций умножения. Однако при объединении двух (7У/2)-точеч- ных ДПФ в одно Лг-точечное ДПФ приходится выполнять около Л72 умножений. Из примера на фиг. 6.3 видно, что TV-точечное БПФ состоит из log2 N этапов, причем все операции умножения используются только при объединении результатов ДПФ. Поскольку эти умножения используются во всех алгоритмах БПФ, соответствующие множители получили специальное название поворачивающих множителей (иногда их называют фазовыми множителями или множителями вращения).
Перестановка данных и двоичная инверсия
Еще одной особенностью алгоритма с прореживанием по времени (как, впрочем, и большинства других алгоритмов БПФ) является необходимость такой перестановки элементов входной последовательности, чтобы выходная последовательность X (к) имела естественный (прямой) порядок расположения, т. е. к = 0, 1, ... ..., N — 1. В примере на фиг. 6.3 для этого требовался следующий порядок размещения входной последовательности: х (0), а (4), х (2), х (6), х (1), х (5), ж(3) и а: (7). Характер перестановки элементов входной последовательности может быть описан сравнительно просто. Ниже будет показано, что в случае, когда N является степенью 2, входная последовательность должна быть расположена в памяти в двоично-инверсном порядке для того, чтобы выходная последовательность получалась в прямом порядке. Двоично-инверсный порядок определяется следующим образом. Если записать порядковые номера элементов входной последовательности в двоичном коде, используя L двоичных разрядов, причем N = 2L, а затем инвертировать порядок следования разрядов, то получаемые при этом числа и будут номерами элементов входной последовательности после их перестановки. Так, для случая N = 8 = 23 прямой порядок номеров приведен в табл. 6.1 слева,
Таблица 6.1
Номер
Двоичное представление
Двоичная инверсия
Двоично-инверсный номер
0
ООО
000
0
1
001
100
4
2 .
010
010
2
3
ОН
но
6
4
100
001
1
5
101
101
5
6
но
011
3
7
111
111
7
Входной номер X в двоично-инверсном виде
разрядов
Фиг. 6.6» Блок-схема программы двоично-инверсного счетчика (предложенного Рейдером).
Естественный порядок
х(О)
Двоичноинверсный х(0) порядок
Перестановка данных с замещением.
Фиг. 6.7.
а двоично-инверсный порядок — справа. Таким образом, для двоичной инверсии входной последовательности необходим соответствующий алгоритм. На фиг. 6.6 показан легко реализуемый двоично-инверсный счетчик, предложенный Рейдером. Начиная с первого двоично-инвертируемого числа X (с прямым номером ООО в табл. 6.1), алгоритм позволяет формировать последовательно все остальные двоично-инверсные номера. Половина из общего количества двоично-инверсных номёров формируется с использованием лишь двух операций, поскольку только в половине случаев старший значащий разряд X будет равен 1. Аналогично четверть всех двоично-инверсных номеров формируется с помощью трех операций и т. д. Таким образом, этот алгоритм является весьма эффективным.
Из сказанного выше ясно, что перестановку входной последовательности можно произвести с замещением, меняя в парах местами числа с прямым и двоично-инверсным номерами и используя для этого лишь одну вспомогательную ячейку памяти. На фиг.6.7 показана схема перестановки данных, представленных в табл. 6.1.
Отметим еще одну особенность алгоритма БПФ, заключающуюся в том, что на всех этапах преобразования используются коэффициенты Wn, к = 0, 1, ..., N — 1. Существует несколько способов получения этих коэффициентов. Простейший способ — составление таблицы, к которой можно обращаться в процессе счета. Единственный недостаток этого способа состоит в том, что для хранения этих коэффициентов необходима дополнительная память примерно из N ячеек, так что при больших значениях N имеющийся объем памяти ЦВМ может оказаться недостаточным. Второй способ заключается в непосредственном вычислении коэффициентов Wn = cos 1(2л/Х)/с] —/ sin [(2л/Х)А:] с использованием каждый раз стандартных подпрограмм расчета синуса и косинуса. Этот способ связан с большими затратами времени, поскольку вычисление синуса и косинуса, как правило, достаточно продолжительно. Третий способ основан на применении простой рекуррентной формулы
(6.15)(6.15)И'Ти^ПИ'Ь
(6.15)
(6.15)
с начальным условием И^ = 1, так как степени W на каждом этапе БПФ меняются с постоянным шагом. Так, в примере на фиг. 6.3 на первом этапе используются коэффициенты W0 и W4, на втором — W0^ Ж2, W4 и И76, а на третьем — И^, к = 0, 1, ... ..., 7. Поэтому, чтобы иметь возможность на каждом из этапов использовать формулу (6.15), достаточно запомнить или вычислить только множители W4, W2 и W.
Программа расчета БПФ на ФОРТРАНе
Чтобы лучше усвоить основные идеи БПФ, полезно рассмотреть простую, составленную на ФОРТРАНе программу расчета БПФ с прореживанием по времени. Текст этой программы, заимствованный у Кули, Льюиса и Уэлча, приведен на фиг. 6.8. Входная
। SUBROUTINE FFT(A,M,N) COMPLEX A(N),U,W,T N = 2**M NV2 = N/2 NM1 = N - 1 J = 1 DO 7 I = 1,NM1 IF (I .GE. J) GO TO 5 T = A (J) A (J) = A (I) A(I) = T 5 К = NV2 .
6 IF(К .GE. J) GO TO 7 J = J - К К = K/2 GO TO 6
7 J = J ♦ К PI = 3.141592653589793 DO 20 L = 1,M LE = 2**L LE1 = LE/2 U = (1.0,0.)
W = CMPLX(COS(PI/LE1),SIN(PI/LE1)) DO 20 J = 1,LE1 DO 10 I = J,N,LE IP = I ♦ LE1 T = A (IP) ♦ U
■A (IP) = A (I) - T
Ю A(I) = A (I) ♦ T 20 U = U ♦ W
RETURN END
Фиг. 6.8. Составленная на ФОРТРАНе программа БПФ с основанием 2 при прореживании по времени, выполняемого с замещением (взята у Кули, Льюиса и Уэлча).
последовательность представляет собой массив А, размером до 1024 комплексных чисел. Фактический размер БПФ равен N = = 2м, причем М указывается в операторе обращения к подпрограмме. Все операторы от DO 7 1 = 1, NM1 до оператора с меткой 7 предназначены для выполнения двоично-инверсной перестановки элементов входного массива. Остальные операторы используются для вычисления непосредственно БПФ и образуют три вложенных цикла. С помощью первого (внешнего) цикла выполняется М этапов, другой цикл предназначен для выполнения базовых операций в пределах каждого этапа, а третий цикл (внутренний) необходим для вычисления степеней W, используемых при выполнении базовых операций в пределах одного этапа. Для вычисления степеней W используется рекуррентное соотношение (6.15), причем синусы и косинусы непосредственно вычисляются лишь для нахождения W по приращениям. По утверждению Кули, Льюиса и Уэлча, при таком подходе (в случае, когда N = 1024) требуется всего на 15% больше операций (типа комплексных сложений или умножений), чем при использовании таблицы, содержащей все коэффициенты Wk. Из фиг. 6.8 видно, насколько просто может быть запрограммирован алгоритм БПФ.
Прежде чем перейти к рассмотрению второго алгоритма БПФ, целесообразно еще раз отметить, что при использовании алгоритма БПФ требуется меньшее число операций, чем при прямом вычислении ДПФ (при условии, что N равно степени 2). При прямом вычислении число операций (комплексных умножений и сложений) примерно равно У2, тогда как при использовании БПФ оно близко к N log2 N. Обе эти величины сравниваются при значениях N от 2 до 2048 в табл. 6.2. При N ^ 1024 объем вычислений сокращает-
Таблица 6.2
N
N log2N
№/(N log2 N)
2
4
2
2,0
4
16
8
2,0
8
64
24
2,7
16
256
64
4,0
32
1024
160
6,4
64
4 096
384
10,7
128
16 384
896
18,3
256
65 536
1024
32,0
512
262 144
4 608
56,9
1024
1 048 576
10 240
102,4
2048
4 194 304
22 528
186,2
ся приблизительно на два порядка, что позволяет выполнять обработку сигналов, включающую вычисление ДПФ, в тех случаях, когда до появления БПФ она считалась неосуществимой.
Алгоритм БПФ с прореживанием по частоте
Другая распространенная форма алгоритма БПФ (при условии, что N равно степени 2) — так называемый алгоритм БПФ с прореживанием по частоте. В этом варианте алгоритма БПФ входная последовательность (ж (и)} разбивается на две последовательности, содержащие по TV/2 отсчетов каждая следующим образом: первая последовательность (жг (и)} состоит из первых (TV/2) отсчетов {ж (п)}, а вторая (ж2 (?г)} — из остальных (TV/2) отсчетов (ж (п) , т. е.
х^п^х^п),я = 0, 1, ..., -^ —1,
/ N\N(6Л6)
х2(п) = х +— j , п = 0, 1,1-
При таком разбиении TV-точечное ДПФ последовательности х (п} можно записать в виде
N/2-1^-l
Х№= 2 x^-)Wn+ 2 z^W^(6.17)
n=0n=N/2
N/2-iN/2-i
= 2 .сИН^Ч 2 я w w^Nm\(6.18)
71=071=0
Учитывая, что pf/^v^/a — g—juk^ получим
N/2 — i
Х(К) = 2 [^(«J+e-^H»)]^.(6.19)
71=0
Запишем выражения отдельно для четных и нечетных отсчетов ДПФ:
N/2—1
ЭД = 2 [^iW + ^WKlV^^ (6.20)
71=0
2V/2-1
= 2 UiW+^fn)]^,(6.21)
71=0
jV/2-1
X(2k + ^= 2 [»,(")—®®(”>J W'w5MH"1> =(6.22)
71=0
JV/2-1
= 2 {[^W-^tn)]^)^.(6.23)
n=0
Фиг. 6.9. Переход от восьмиточечного ДПФ к двум четырехточечным ДПФ при прореживании по частоте.Фиг. 6.9. Переход от восьмиточечного ДПФ к двум четырехточечным ДПФ при прореживании по частоте.f(o) f(O f(2) f(3) 9(0) дО) д(2) д(з)ЧетырехточечноеДПФА (- Л (4/у/о\л^о/ЧетырехточечноеДПФу/4\МО/Л (О/1А(/>f(o) f(O f(2) f(3) 9(0) дО) д(2) д(з)ЧетырехточечноеДПФА (- Л (4/у/о\л^о/ЧетырехточечноеДПФу/4\МО/Л (О/1А(/>
Фиг. 6.9. Переход от восьмиточечного ДПФ к двум четырехточечным ДПФ при прореживании по частоте.
Фиг. 6.9. Переход от восьмиточечного ДПФ к двум четырехточечным ДПФ при прореживании по частоте.
f(o) f(O f(2) f(3) 9(0) дО) д(2) д(з)
Четырехточечное
ДПФ
А (
- Л (4/
у/о\
л^о/
Четырехточечное
ДПФ
у/4\
МО/
Л (О/
1А(/>
f(o) f(O f(2) f(3) 9(0) дО) д(2) д(з)
Четырехточечное
ДПФ
А (
- Л (4/
у/о\
л^о/
Четырехточечное
ДПФ
у/4\
МО/
Л (О/
1А(/>
Из выражений (6.21) и (6.23) видно, что четные и нечетные отсчеты ДПФ можно получить из (у¥/2)-точечных ДПФ последовательностей /(в) и g (п), равных
N
/ (n) =^i(n)4-^2(«),я = 0, 1, . ..,"21,
пN(6-24)
g(n) = V^i («) — ^2 («)] WNl П=0, 1,1.
Таким образом, снова вычисление TV-точечного ДПФ удалось свести к вычислению двух (.¥/2)-точечных ДПФ. На фиг. 6.9 эта методика иллюстрируется для случая N = 8.
Описанную методику можно применить повторно и представить каждое из (7V/2)-точечных ДПФ в виде комбинации двух (7V/4)- точечных ДПФ. На фиг. 6.10 и 6.11 показан переход от четырехточечных ДПФ (фиг. 6.9) к двухточечным ДПФ с последующим прямым вычислением двухточечных ДПФ.
Сравнение алгоритмов, иллюстрированных на фиг. 6.3 и 6.11, позволяет выявить два очевидных различия между ними. Во-первых, при прореживании по времени порядок следования входных отсчетов двоично-инверсный, а выходных — прямой и наоборот при прореживании по частоте (фиг. 6.11). Однако это отличие кажущееся, поскольку в обоих алгоритмах порядок следования входных отсчетов может быть прямым, а выходных — двоичноинверсным и наоборот. Второе отличие заключается в несколько ином выполнении базовой операции (см. фиг. 6.12 и 6.4): при прореживании по частоте комплексное умножение выполняется после сложения — вычитания.
Фиг. 6.10. Переход от четырехточечных ДПФ на фиг. 6.9 к двухточечным ДПФ.
Двухточечное
ДПФ
Х(0)
Х(4)
Х(2)
Двух-
Х(1)
точечное
ДПФ
Х(5)
Двух-
х(з)
точечное
ДПФ
Х(7)
Х(6)
Фиг. 6.11. Полный направленный граф восьмиточечного ДПФ с замещением и прореживанием по частоте.
Фиг. 6.12. Базовая операция алгоритма БПФ с прореживанием по частоте.
Легко заметить и сходство между алгоритмами с прореживанием по времени и по частоте. В обоих случаях при вычислении ДПФ требуется около N log2 N операций, вычисления могут быть проведены с замещением и должно быть предусмотрено выполнение двоичной инверсии. В разд. 6.8 будет строго показано, почему эти, казалось бы, различные алгоритмы имеют такое сходство. Будет рассмотрен единый подход к БПФ, для которого алгоритмы с прореживанием по времени и по частоте оказываются частными случаями. С помощью такого подхода проанализирован также случай, когда N является составным целым числом, но не обязательно равным степени 2.
Вычисление обратного ДПФ с помощью алгоритмапрямого ДПФ
Прежде чем перейти к следующему разделу, покажем, как для вычисления обратного ДПФ можно без каких-либо изменений использовать алгоритм БПФ. Обратное ДПФ TV-точечной последовательности {X (А)}, к = 0, 1, ..., N — 1, определяется следующим образом:
N- 1
Ф»)=4 2 X^W-*.(6.25)
k=0
Взяв выражение, комплексно сопряженное с (6.25), и умножив его на N, получим
N- 1
Nx* W = 2 X* (к) wnh-(6.26)
k=0
Правая часть формулы (6.26) представляет собой ДПФ последовательности {X* (к)^ и может быть вычислена с использованием одного из описанных выше алгоритмов БПФ. Искомую последовательность ^х (п)} можно получить, взяв комплексно-сопряженное с (6.26) выражение и разделив его на N, т. е.
N — 1
к м = 4г [ 2 X* (к) И”-]*.(6.27)
" k=0
Таким образом, алгоритм БПФ обеспечивает вычисление и прямого, и обратного ДПФ.
Единый подход к алгоритмам БПФ
Существует много различных алгоритмов БПФ, однако оказывается, что все они могут быть получены с помощью последовательного применения единственной операции, а именно представления одномерного массива чисел двумерным. Этот единый подход и будет описан в настоящем разделе, но сначала рассмотрим некоторые вопросы терминологического характера.
При вычислении TV-точечного ДПФ TV-точечной последовательности целое TV может быть либо простым, либо составным числом (до сих пор считалось, что TV состоит из большого числа сомножителей и равно степени 2). Если TV простое, его нельзя разложить на произведение меньших целых чисел. В этом случае одномерный сигнал ж (0), х (1), ..., я; (TV — 1) невозможно^ представить в виде двумерного массива, поэтому для такого сигнала не существует алгоритма БПФ. В большинстве практических задач вполне допустимо искусственное удлинение обрабатываемой последовательности путем добавления нулей, приводящее к тому, что результирующий спектр представляет собой некоторую интерполяцию спектра неудлиненной последовательности.
Пусть, например, N = 60. Это число можно представить как произведение меньших чисел различным образом: 60 = 3 X 4 х 5 = ^4x3x5 = 5x4x3 = 12x5 = 2х2х5хЗ и т. д. В зависимости от порядка следования сомножителей и их общего количества могут быть получены различные формы алгоритма БПФ. Для характеристики разложения обычно используется понятие «основание». Понятие «смешанное основание» означает, что не все сомножители N одинаковы. Для N = 60 все формы алгоритма БПФ имеют смешанные основания. Если N можно представить в виде произведения одинаковых сомножителей г, то соответствующий алгоритм называют алгоритмом БПФ с основанием г. Например, если N = 64 = 2х2х2х2х2х2, то получаются рассмотренные в предыдущих разделах главы алгоритмы БПФ с основанием 2. Если же N записать как 64 = 8x8, то получится алгоритм БПФ с основанием 8.
Очень важно отметить, что разложение числа на множители можно выполнить различными способами. Так, N = 60 можно представить как 12 х 5, а затем 12—как 4 X 3. С другой стороны, можно было бы записать 60 = 3x20, далее 20 = 5x4 и 4 = = 2x2. Таким образом, для выявления общих закономерностей следует провести тщательный анализ свойств разложения очередного числа на два сомножителя. Возьмем в качестве примера снова N — 60 и запишем одно из возможных разложений обрабатывав-
мого массива в виде матрицы из (5x12) номеров отсчетов сигнала:
0123456789 10 11
12 1314151617181920212223
24 2526272829303132333435
36 3738394041424344454647
48 4950515253545556575859
Далее, поскольку столбцы содержат по 5 (т. е. простое число) отсчетов, они больше не могут быть разложены. Однако строки, состоящие из 12 отсчетов, можно представить в виде матриц размером (3x4). Например, первая строка будет иметь вид
0 123
4 567
8 9 10 И.
Остальные строки можно представить аналогично. Итак, теперь нужно установить, каким образом, оперируя с двумерным массивом, можно получить ДПФ исходного одномерного массива.
Для получения основного результата будем считать, что вход
ные отсчеты пронумерованы по строкам и по столбцам, поэтому
их номера могут
быть представлены следующими парами чисел:
0,0 0,1 0,2
0,3 0,4 0,5 0,6 0,7 0,8 0,9 0,10 0,11
1,0 1,1 1,2
1,3 1,4 1,5 1,6 1,7 1,8 1,9 1,10 1,11
2,0 2,1 2,2
2,3 2,4 2,5 2,6 2,7 2,8 2,9 2,10 2,11
3,0 3,1 3,2
3,3 3,4 3,5 3,6 3,7 3,8 3,9 3,10 3,11
4,0 4,1 4,2
4,3 4,4 4,5 4,6 4,7 4,8 4,9 4,10 4,11
Далее, пусть текущий номер столбца равен т (т = 0, 1, ..., 11), a Z (Z = 0, 1, ..., 4) — текущий номер строки. Если исходный номер отсчета обозначить через п (п = 0, 1, ..., 59), то
п = М1-\-тп1 (6.28)
где М—число столбцов. L—число строк (в данном примере М = 12, L = 5).
Допустим, что мы можем найти ДПФ двумерного массива с двойными номерами, тогда результат должен иметь вид двумерного массива с двойными номерами. Пусть и и Z — переменные исходного сигнала, а г и s — переменные двумерного ДПФ по столбцам и строкам, которые преобразуются в одну переменную следующим образом:
(6.29)(6.29)к — Lr -j— s.
(6.29)
(6.29)
Теперь коэффициенты одномерного ДПФ X (А) = X (s, г) можно выразить через преобразование массива х (п) = х (I, т), используя простую подстановку формул (6.28) и (6.29) в^выражение для ДПФ (6.2), что дает
М-1 L—1
X (k) = X (s, г) = 2 2 ^(^ ™) W(Ml+m)(Lr+8\(6.30)
тп=0 1=0
Разлагая JJz(Mz+m) (Lr+s) с учетом того, что ^миг — yy^ir = = 1, и располагая соответствующие переменные под знаками суммирования, преобразуем формулу (6.30) к следующему виду:
М-1L-1
Х(^ г)= 2 WLmrWm* 2 x(l, m)WMel. (6.31) 771=0Z=0
V —/
Q(s, 771)
Эта формула при правильной интерпретации содержит все необходимые сведения, позволяющие связать преобразование одномерного массива с преобразованием того же массива, представленного в виде двумерной матрицы. Заметим прежде всего, что внутренняя сумма представляет собой ДПФ zzi-ro столбца исходного массива с ядром преобразования WM. Таким образом, можно сформулировать первый шаг последовательности расчета X (/с):
Вычислить L-точечные ДПФ всех столбцов. Результат является функцией s и т, причем т, меняется от 0 до М — 1. Обозначим его через q (s, т) и перепишем формулу (6.31):
М-1
X(s, г) = 2 WLm,Wmsq (s, m).(6.32)
771 = 0
Отсюда следует, что второй шаг вычисления X (к) сводится к следующему:
Найти новый массив h (s, zn), умножая каждый элемент q (s, тп) на поворачиваюирш множитель Wms.
Теперь‘формула (6.32) принимает вид
М-1
X^s, г)= 2 ^(s, m)WLmT.(6.33)
771=0
Она представляет Л/-точечные ДПФ каждой из строк с номерами s. Поэтому последний шаг алгоритма заключается в следующем:
Вычислить Л/-точечные ДПФ всех строк матрицы h (s, zn) с ядром преобразования WL.
Описанная методика напоминает вычисление двумерного ДПФ, когда сначала вычисляются ДПФ строк, а затем столбцов, но шаг 2 отсутствует. Разделимость ядра преобразования с более высокой размерностью и является причиной того, что при расчете ДПФ с более высокой размерностью требуется меньше операций, чем при расчете одномерного ДПФ при одинаковом общем числе отсчетов.
Здесь важно отметить, что после введения поворачивающих множителей, т. е. после второго шага описанной выше методики, способы расчета двумерного ДПФ и одномерного ДПФ массива, представленного в виде двумерной матрицы, становятся эквива- летными, причем при каждом таком представлении для выполнения шага 2 требуется дополнительно до N умножений. Более подробно вопрос о времени вычисления будет рассмотрен ниже в этом разделе.
Следует отметить, что изменение порядка суммирования в формуле (6.30) на обратный дает
L-1М-1
X(s, г)= 2 WMl8 2 x(l, m)WmsWLTm,Z=0m=0 v>
шаг 1
шаг 2
шаг 3
так что порядок вычисления X (&) становится следующим:
Умножить отсчеты сигнала х (Z, тп) на поворачивающие множители Wms.
Вычислить М-точечные ДПФ всех строк.
Вычислить //-точечные ДПФ всех столбцов.
В целом методика вычисления преобразования идентична рассмотренной ранее, но отдельные операции выполняются в другом порядке: умножения на поворачивающие множители здесь предшествуют вычислению ДПФ строк, тогда как раньше они выполнялись после вычисления ДПФ столбцов. Эти отличия не только напоминают, во и действительно связаны с обсуждавшимся выше различием между алгоритмами БПФ с основанием 2 при прореживании по времени и по частоте.
Отметим еще одно важное свойство методики преобразования, вытекающее из формулы (6.30), в которой переменные m и г являются номерами столбцов, а I и s — номерами строк. При увеличении т на единицу номер отсчета исходного массива (Ml + тп) также возрастает на 1, тогда как при увеличении на 1 номера столбца преобразованного массива г аргумент X (s, г) возрастает на L. Это означает, что в результате преобразования номера строк и столбцов меняются местами. Последнее обстоятельство настолько важно, что для его иллюстрации приведем пример вычисления 15-точечного ДПФ с использованием разложения (3x5). Исходную матрицу сигнала можно записать следующим образом:
х (0) = х (0, 0) х (3) = х (0, 3) х (6) = х (1, 1)х (0) = х (0, 0) х (3) = х (0, 3) х (6) = х (1, 1)х (1) = х (0, 1) х (4) = х (0, 4) х(Т) = х(^ 2)х (1) = х (0, 1) х (4) = х (0, 4) х(Т) = х(^ 2)(2) = ж (0, 2) х(^ = х(\, 0) я(8) = я(1, 3)(2) = ж (0, 2) х(^ = х(\, 0) я(8) = я(1, 3)
х (0) = х (0, 0) х (3) = х (0, 3) х (6) = х (1, 1)
х (0) = х (0, 0) х (3) = х (0, 3) х (6) = х (1, 1)
х (1) = х (0, 1) х (4) = х (0, 4) х(Т) = х(^ 2)
х (1) = х (0, 1) х (4) = х (0, 4) х(Т) = х(^ 2)
(2) = ж (0, 2) х(^ = х(\, 0) я(8) = я(1, 3)
(2) = ж (0, 2) х(^ = х(\, 0) я(8) = я(1, 3)
х (9) = х (1, 4) х (10) = х (2, 0) х (11) =х (2, 1)
х (12) = х (2, 2) z(13) = .z(2, 3) z(14) = ,z(2, 4)
Результирующая матрица гармоник ДПФ будет иметь вид
Таблица 6.7
Х(0) = Х(0,0) X (3) = Х (0, 1) X (6) = Х (0, 2) Х(9) =^(0,3) Х(12) = Х (0,4) X (1) = Х (1, 0) X (4) = Х (1, 1) X (7) —X (1, 2) X (10) = Х (1,3) X (13) = Х (1, 4) X (2) = X (2, 0) X (5) = X (2, 1) X (8) = X (2, 2) X (И) = X (2, 3) X (14) = X (2, 4}
Если N = 30 = 5x6 = 5x2x3, то основную теорему разложения можно использовать дважды, начав с разложения (5x6), а затем выполнить шеститочечные ДПФ, используя для этого разложение (2 х 3). Этот случай целесообразно рассмотреть на конкретном примере. Другие N читатель может проанализировать самостоятельно. Начнем с нумерации 30 отсчетов исходной матрицы сигнала:
Матрица х(1, т)
0 = (0, 0)1 = (0,1)2 = (0, 2)3=(0,3)4=(0, 4)5=(0.5)
6 = (1, 0)7=(1,1)8 = (1, 2)9 = (1,3)10 = (1, 4)И = (1,5)
12 = (2, 0) 13=(2, 1) 14=(2, 2) 15 = (2, 3) 16 = (2, 4) 17=(2, 5) 18 = (3, 0)19 = (3,1)20 = (3, 2)21 = (3,3)22 = (3, 4)23 = (3,5)
24 = (4, 0)25 = (4,1)26 = (4, 2)27= (4,3)28 = (4, 4)29 = (4,5)
Теперь рассчитаем шесть пятиточечных ДПФ всех столбцов; умножив элементы полученной матрицы на поворачивающие множители, получим новую матрицу h (s, т):
Матрица
/7 (s, 777)
/7 (0, 0)
/Ц0, 1)
/7 (0, 2)
/7(0, 3)
А(0, 4)
/7 (0, 5)
/7(1, 0)
/Ц1, 1)
/Ц1, 2)
/Ц1, 3)
A(l, 4)
/7(1, 5)
/7(2, 0)
/Ц2, 1)
/7(2, 2)
/7(2, 3)
/г(2, 4)
/7(2, 5)
/7 (3, 0)
/7(3, 1)
/7(3, 2)
/7(3, 3)
А(3, 4)
/7(3, 5)
h (4, 0)
/7(4, 1)
/7(4, 2)
/Ц4, 3)
А(4, 4)
/^(4, 5)
Далее, вместо того чтобы непосредственно вычислять пять шеститочечных ДПФ, представим каждую строку, содержащую шесть элементов, в виде матрицы размером (2x3). Так, первые две строки матрицы h (.9, т) переписываются следующим образом: Строка 1
/7(0,0) /7(0,1) /7(0,2)
/7(0,3) /7(0,4) /7(0,5)
Строка 2
/Ц1, 0) /1(1,1) /1(1,2)
'/Ц1, 3) /г(1, 4) /1(1,5)
Таким образом, искомые шеститочечные ДПФ можно найти, вычисляя ДПФ столбцов, содержащих по два элемента, умножая результаты ДПФ на поворачивающие множители и затем рассчитывая ДПФ строк, содержащих по три элемента. Вычисление заканчивается, когда таким образом будут преобразованы все пять матриц размера (2x3).
Перечислим все операции, требуемые для выполнения 30-точечного ДПФ с использованием разложения (5x2x3):
6 пятиточечных преобразований;
30 умножений на поворачивающие множители;
15 двухточечных преобразований;
30 умножений на поворачивающие множители;
10 трехточечных преобразований.
Используя этот пример, можно рассчитать, сколько операций необходимо для общего случая N = PLM;
LM P-точечных преобразований;
LMP умножений на поворачивающие множители;
МР //-точечных преобразований;
LMP умножений на поворачивающие множители;
LP М-точечных преобразований.
Чтобы оценить уменьшение объема вычислений за счет использования алгоритма БПФ, рассмотрим несколько частных случаев. Прежде всего положим N = LM, где L и М — простые числа, большие 2. Из формулы (6.2) следует, что М-точечное ДПФ требует М2 «операций», состоящих из умножения и сложения в комплексной форме. Учитывая это, получим следующее общее число операций для разложения вида N = LM*.
С2 = ML + ЬМг-VLM^LM (L-VM-VL) = N^M4- L-A-1). (6.34)
Член LM учитывает количество умножений на поворачивающие множители, выполняемых между преобразованиями строк и столбцов (строго говоря, эти LM действий состоят только из комплексного умножения и поэтому требуют несколько меньше времени, чем вся «операция»). Ясно, что при выполнении У-точечного ДПФ самым громоздким прямым методом потребовалось бы У2 операций. Таким образом, с помощью формулы (6.34) можно оценить выигрыш во времени вычислений, характерный для преобразования с использованием разложения. Если, например, У = 55 (L = = 11, М = 5), то С2 относится к числу операций при прямом расчете ДПФ как 17:55. Очевидно, что с ростом У выигрыш увеличивается. Например, если У = 15, L = 5, М = 3, то С2 будет относиться к числу операций при прямом расчете ДПФ как 9:15.
Рассмотрим теперь случай, когда N можно разложить на три простых целых сомножителя, т. е. N = PML. Нетрудно показать, что в этом случае число операций равно
С3 = РгЬМ + PMU- + РЬМг + 2PLM = N (Р + L + Af + 2). (6.35)
Например, при Р = 3, L = 5, М = 7 С3 относится к числу операций при прямом расчете ДПФ как 17:105, т. е. достигнуто уменьшение числа операций почти на порядок. Чтобы оценить выигрыш в общем случае, изменим обозначения и положим N = NiN^N^...
.... Nj. Тогда
C, = jV(fjW-i).(6.36)
1=1
С помощью полученных формул можно достаточно точно определить величину выигрыша при условии, что все числа Nt простые (и не равные 2), так как только в этом случае общее число операций при Двуточечном преобразовании равно Nt. Если же числа Nt не являются простыми или Nt = 2, необходимо быть очень осторожными в оценках. Например, как было показано выше, при двухточечном ДПФ (т. е. Nt = 2) умножения вообще не используются. Это же справедливо и для Nt = 4. При Nt = 8 число умножений существенно меньше 64. В связи с этим при разложении N на такие сомножители, как 2, 4 или 8, полученные выше формулы непригодны. Рассмотрим, например, N, равное степени 2, скажем N = 27. Тогда член формулы (6.36), учитывающий двухточечные ДПФ, включает только комплексные сложения и вычитания, тогда как член (/ — 1) учитывает умножения на поворачивающие множители.В этом случае формула (6.36) становится весьма неудобной для оценок, поскольку приходится сопоставлять затраты времени на умножение и на сложение.
Чтобы получить направленный граф (подобный графам на фиг. 6.3 и 6.11) для самого общего случая разложения, необходимо расширить круг обозначений, введенных на фиг. 6.3 и 6.11. Это сделано на фиг. 6.13, где 30-точечный массив представлен в виде двумерного массива, содержащего 5 строк и 6 столбцов, со следующими элементами (числа обозначают номера элементов исходного массива):
012345
67891011
121314151617
181920212223
242526272829
На первом этапе Б ПФ выполняются 6 пятиточечных ДПФ, так что незачерненные кружки на фиг. 6.13 обозначают полные ДПФ,
Двухточгч- Треатсчвч- ноеДПФ ное ДПФ
Фиг. 6.13. Направленный граф 30-точечного БПФ, основанного на последовательных прореживаниях за счет представления одномерных массивов двумерными.
размер которых равенчислу линий, входящих в кружок и выходящих из него. Узлы направленного графа обозначают регистры, содержащие входные и выходные отсчеты ДПФ. Все выходные отсчеты ДПФ умножаются на поворачивающие множители; для обозначения этой операции введено 30 стрелок, около которых записаны значения коэффициентов W. Следующий этап состоит в вычислении ДПФ всех строк. Поскольку строки содержат по 6 элементов, каждая из них может быть представлена в виде матрицы с 2 строками и 3 столбцами. В примере, приведенном на фиг. 6.13, каж-
дая шеститочечная строка преобразуется с помощью: 1) трех двухточечных ДПФ; 2) умножений на поворачивающие множители; 3) двух трехточечных ДПФ.
Отметим также следующую особенность обозначения. Строго говоря, каждая линия, выходящая из незачерпенного кружка, должна иметь свою стрелку с коэффициентом W. Если, однако, учесть, что И70 = 1, то такой поворачивающий множитель можно опустить. Во всех приводимых направленных графах (в том числе и на фиг. 6.3 и 6.11) авторы по своему усмотрению решали, ввести или опустить W0. При нахождении поворачивающих множителей для второго этапа графа на фиг. 6.13 необходимо помнить, что для него коэффициент W равен W^, поэтому матрица поворачивающих множителей для каждой из прореживаемых строк исходной матрицы, содержащей 5 строк и 6 столбцов, имеет вид
И70 И70 W0
W° И75 1710
В заключение осталось рассмотреть характер перестановки данных на фиг. 6.13. Если бы весь массив из 30 отсчетов был преобразован в матрицу размером (5x6) (и никак иначе), то строки и столбцы матрицы результатов оказались бы просто переставленными относительно исходной матрицы. Так как в действительности каждая строка также прореживалась, то это привело к дополнительной перестановке результатов. Окончательный порядок следования результатов ДПФ показан на фиг. 6.13.
Алгоритмы БПФ с основанием 2
В настоящее время значительно чаще используются алгоритмы БПФ не со смешанным, а с фиксированным основанием. В последнем случае значительно проще проводить анализ, программировать и разрабатывать специализированные устройства. В принципе разницы между алгоритмами со смешанным и фиксированным основаниями нет. Действительно, если N = г™, где тп — целое, то сначала N представляется в виде произведения rXNlr, затем N/r представляется как rXNIr2, и т. д. Например, если N = 32 и г -= 2, то можно поступить следующим образом:
Пусть отсчеты 0 — 15 составляют первую строку матрицы размером (2x16), а отсчеты 16—31 составляют ее вторую строку. Начнем с выполнения двухточечных ДПФ всех 16 столбцов, как показано на фиг. 6.14, а результаты затем умножим на матрицу поворачивающих множителей, также содержащую 2 строки и 16 столбцов.
Пусть каждая строка, подлежащая преобразованию, представляется в виде матрицы, составленной из 2 строк и 8 столбцов. Вычислим по восемь ДПФ столбцов каждой из обеих матриц раз-
Фиг. 6.14. Направленный граф 32-точечного ЕПФ с замещением по основанию 2.
мером (2x8) и умножим их элементы на поворачивающие множители, рассчитываемые с помощью множителя ТУ2, матрица которых имеет размер (2x8). Полученный результат будет соответствовать второму этапу алгоритма, граф которого показан на фиг. 6.14.
Аналогично каждую из строк, содержащих по восемь элементов, представим в виде матрицы размером (2x4), а затем каждую из строк, содержащих по четыре элемента,— в виде матрицы (2x2), которая в данном случае является конечной целью.
В качестве упражнения читателю предлагается выполнить 32-точечное ДПФ с прореживанием по времени, используя двумерный подход (или какой-либо другой).
На этом заканчивается рассмотрение алгоритмов БПФ, проведенное с целью дальнейшего их использования главным образом
в задачах спектрального анализа. Поскольку применение ДПФ в последующих разделах этой главы было бы не совсем обосновано без хорошего понимания алгоритмов БПФ, последние изложены достаточно подробно, хотя, конечно, и не исчерпывающе. Дальнейшее изложение идей БПФ содержится в гл. 10, где будет описана аппаратурная реализация алгоритмов БПФ
Спектральный анализ в одной точкеz-плоскости
Прежде чем приступить к измерению спектра сигнала, необходимо выяснить, что представляет собой анализируемый сигнал и что именно нужно узнать о сигнале. В общем случае задачу спектрального анализа можно рассматривать как задачу вычисления 2-преобразования модифицированного сигнала в некоторой области на z-плоскости. На фиг. 6.15 показаны шесть возможных областей на z-плоскости, которые с точки зрения спектрального анализа сигнала могут представлять интерес. На фиг. 6.15, а, в и д эти области представляют собой совокупности точек на единичной окружности в z-плоскости. В трех остальных случаях измерения также проводятся в отдельных точках, которые, однако.
Фиг, 6.15. Несколько различных вариантов расположения спектральных отсчетов в z-плоскости.
не лежат на единичной окружности. Следует помнить, что теоретически спектр можно измерять в любой точке zx на 2-плоскости. Однако практически при таких измерениях нужно учитывать время вычисления и эффекты, обусловленные конечной длиной регистров памяти. С учетом сказанного обобщенный спектр сигнала х (п) можно определить как
Sn (zt) = х(п) + ж(и—1) z;1 -\-xlji — 2) z7a + .. .
.. . +ж(^г-^ + 1)2-(^-1)(6.37)
или
^n(zi)=2 ж(6.38)
т=п- N-V1
где N — число отсчетов, по которым находится оценка спектра.
Во многих приложениях, в частности когда спектр сигнала меняется во времени, приходится измерять Sn(zy) для последовательных значений п, т. е. значения 50 (zj, ST (zx), S2 (z^ и т. д. Такой способ измерений называют сколъзягидм спектральным измерением; оно обеспечивается за счет смещения на один отсчет вперед временного окна (содержащего N отсчетов) и повторения измерения. Анализ формул (6.37) и (6.38) показывает, что скользящее спектральное измерение в одной точке z = z^ эквивалентно фильтрации КИХ-фильтром с импульсной характеристикой вида
h(n) = z~nt 0^.n^.N — 1.(6.39)
На фиг. 6.16 изображена схема фильтра для вычисления прямой свертки, обеспечивающая спектральные измерения согласно формуле (6.37).
Фиг/6.16. КИХ-фильтр для скользящего спектрального анализа в одной точке zx.
Фиг. 6.17. Рекуррентный метод скользящего спектрального анализа.
Проанализировав выражения для двух последовательных спектральных измерений Sn-1 (z^ и Sn (z^, можно получить следующую рекуррентную формулу:
Sn (z^^z-^Sn-i (z^ + X (п) — z-Nx (n — N). (6.40)
Схема вычислений по формуле (6.40) изображена на фиг. 6.17. Отметим, что блоки, для обозначения которых на фиг. 6.16 и 6.17 использована буква z, представляют собой элементы задержки, тогда как величины, равные степеням z1? представляют коэффициенты умножителей (в общем случае они являются комплексными). Входные сигналы и промежуточные результаты фильтра также могут быть комплексными. Из фиг. 6.17 следует, что для обеспечения скользящих спектральных измерений сигнала в одной точке z = Zj достаточно выполнить всего два комплексных умножения на входной отсчет.
Спектральный анализ с применением БПФ
До сих пор рассматривалось спектральное измерение в одной точке на z-плоскости. Чтобы найти спектр сразу во многих точках, например zn z2, z3 и т. д., нужно повторять описанные выше вычисления для каждого нового значения z. На практике чаще всего представляет интерес поведение спектра в некоторой заданной довольно большой совокупности точек на z-плоскости. И в этом случае главная задача состоит в том, чтобы выполнить измерение спектра, используя минимальное количество операций. Поэтому метод, описанный в предыдущем разделе, в практических задачах спектрального анализа обычно не применяется, хотя его и можно использовать для иллюстрации основных свойств спектрального анализа.
В подавляющем большинстве приложений задача измерения спектра сводится к нахождению значений z-преобразования конечной реализации сигнала для большого числа точек, равномерно равпределенных по окружности единичного радиуса. Измерения такого типа соответствуют вычислению ДПФ конечной последовательности и обычно наиболее эффективно выполняются с приме-
нением описанных выше алгоритмов БПФ. Иногда желательно проводить измерения спектра, вычисляя значения z-преобразования последовательности в равноотстоящих точках, расположенных внутри единичной окружности. Так, на фиг. 6.15, г представлен случай, когда все точки равномерно распределены по окружности радиуса г. Такое преобразование также можно получить с помощью ДПФ. Выполняемое при этом измерение равно
2V-1
5[г^(2”№] = 2 YxlnV^e'^^, к = 0, 1, ...Л-1. n=0 v - ^.'
х(п)
(6.41)
Оно соответствует ДПФ последовательности
х (п) = х (ri) r*^(6.42)
поэтому в данном случае спектральный анализ сводится к предварительному уножению массива сигнала на г-п и последующему выполнению БПФ.
Некоторые характеристики спектральногоанализа
Двумя наиболее важными характеристиками спектрального анализа являются:
количество частот, на которых желательно измерить спектр;
«разрешающая способность» измерения спектра.
Для анализа обеих характеристик лучше всего использовать отмеченную выше эквивалентность между спектральным измерением и фильтрацией.
Чтобы показать, какие факторы влияют на параметры спектрального анализа, рассмотрим пример, представленный на фиг. 6.15, в, когда необходимо найти спектр сигнала в 16 точках, равномерно распределенных по единичной окружности. Пусть число N отсчетов сигнала, используемых при измерении спектра, равно 16. Спектральный анализ, удовлетворяющий этим условиям, может быть выполнен двумя эквивалентными способами: либо с помощью 16-точечного БПФ, либо с помощью гребенки из 16 фильтров. Импульсная характеристика к-го фильтра, обеспечивающего измерение спектра в точке zk = e^W, равна
h^n) = e-i<2”WN)i O^n^N— 1,(6.43)
так что ее z-преобразование имеет вид
Я (4 - 5= —J-^^..(6.44)
п=0
Фиг. 6.18. Гребенка фильтров, эквивалентная скользящему БПФ с размером, равным (а), бблыпим (б) и меньшим (в) требуемого числа спектральных отсчетов.
Вычислив значения Н (z) на единичной окружности, получим
Н ^) - rNWW") Д^^у- =(6.45)
= e-W-W2W^IN (to> /^(6.46)
На фиг. 6.18, а изображены графики функций fN (to , к) для случая, соответствующего фиг. 6.15, в, т. е. для 16 точек, равномерно распределенных на единичной окружности. Частотные характеристики фильтров с четными номерами к показаны на фиг. 6.18, а вверху, а с нечетными значениями к — на фиг. 6.18, а внизу. Чтобы избежать путаницы, для всех фильтров, за исключением 8-го, изображены лишь главные лепестки. Видно, что скользящее БПФ эквивалентно довольно грубому набору фильтров с относительно большими боковыми лепестками и существенным перекрытием между соседними фильтрами.
Предположим теперь, что число отсчетов сигнала L больше числа спектральных отсчетов N. Пусть, например, L — 32 в
N = 16. Самый простой способ выполнения таких спектральных измерений состоит в том, что вычисляется 32-точечное скользящее БПФ и просто отбрасываются измерения, соответствующие фильтрам, следующим через один. В результате получится набор фильтров с характеристиками, изображенными на фиг. 6.18, б.
Пусть N = 16, но имеется только L = 8 отсчетов сигнала. В этом случае спектр можно найти, добавив к L отсчетам сигнала N — L кулемах отсчетов, так чтобы общее число преобразуемых ■отсчетов равнялось количеству спектральных отсчетов, и затем вычислив L-точечное БПФ. Результирующие частотные характеристики фильтров для случая L = 8, N = 16 приведены на фиг. 6.18, в. Число каналов эквивалентной гребенки фильтров осталось прежним, но каждый фильтр стал шире. Таким образом, главное изменение частотной характеристики состоит в ухудшении разрешающей способности по частоте.
Метод выполнения анализа при L = 2N становится очевидным, если обратиться к направленному графу БПФ (см., например, фиг. 6.14). Видно, что выходные отсчеты с четными номерами располагаются в верхней половине графа. Это означает, что в алгоритме БПФ, предназначенном для получения только четных отсчетов спектра, достаточно лишь частично обработать все L отсчетов, чтобы получить верхнюю половину выходных отсчетов первого этапа БПФ. Как видно из фиг. 6.14, только эта половина отсчетов дает все четные коэффициенты ДПФ. Этот подход можно развивать дальше, отметив, например, что восемь верхних выходных коэффициентов дают каждый четвертый коэффициент ДПФ, причем их можно определить, выполнив половину операций на первом этапе, половину — на втором, а также восьмиточечное БПФ полученных на втором этапе восьми отсчетов. Пусть в общем случае число отсчетов сигнала L равно
L = NM, (6.47) где N — требуемое число спектральных отсчетов, а М — целое число, большее единицы. Искомое преобразование равно
N-i М-1
^W = S [2 х(п^тК)1е-^№^ £ = (), 1, ..., N—1. п=0 т=0
(6.48)
Из этой формулы следует, что фактически при вычислении спектра производится предварительное суммирование входных отсчетов, равноотстоящих друг от друга на N точек, после чего вычисляется ДПФ образованной новой последовательности. Смысл этой операции становится понятным, если вспомнить, что дискретизация в частотной области (ее и нужно было получить в данном случае) соответствует наложению во временной области, которое описывается формулой (6.48).
Соотношение между «скачущим» БПФи гребенкой фильтров
Выше было показано, что скользящее БПФ в точности эквивалентно анализу с использованием гребенки фильтров; поэтому возникает вопрос, какой из этих двух методов эффективнее с точки зрения объема вычислений. Не вдаваясь в детали, отметим, что при скользящем БПФ для каждого входного отсчета приходится вычислять полное БПФ, т. е. (2V72)log3 N базовых операций на отсчет. При анализе с помощью гребенки фильтров, состоящей из гребенчатого фильтра, к выходу которого подключена группа цифровых резонаторов (фиг 6.19), число комплексных умножений на отсчет равно N. Таким образом, в большинстве случаев, представляющих интерес, гребенка фильтров оказывается эффективнее скользящего БПФ, поскольку в последнем случае не используются возможности итеративного расчета ДПФ. Однако ниже будет показано, что при определенных условиях алгоритм БПФ может
Фиг. 6.19. Анализатор спектра в виде гребенки фильтров.
бпф4-» •. «Нет перекрытиябпф4-» •. «Нет перекрытия—впФг—впФгБПФ 4 +БПФ 4 +Перекрытие 2-1Перекрытие 2-11*4бЛФ2— I j
бпф4-» •. «Нет перекрытия
бпф4-» •. «Нет перекрытия
—впФг
—впФг
БПФ 4 +
БПФ 4 +
Перекрытие 2-1
Перекрытие 2-1
1 г—блфб'-Ц
Перекрытие 4-1 .Перекрытие 4-1 .Фиг. 6.20. Три примера «скачущих» БПФ.
Перекрытие 4-1 .
Перекрытие 4-1 .
оказаться эффективнее эквивалентной ему гребенки фильтров.
Для стандартного метода, позволяющего использовать БПФ для приближенного вычисления .текущего спектра, характерно то, что интервал вычисления БПФ не скользит, а «скачет». Несколько вариантов скачущего БПФ приведено на фиг. 6.20, где представлены три возможных способа размещения интервалов вычисления БПФ: с шагом, равным размеру БПФ, половине и четверти размера БПФ.
Ясно, что эффективность скачущего БПФ растет пропорционально величине «скачка», однако важно представить, как такой подход влияет на характер спектральных измерений. Отметим прежде всего, что скачущие измерения являются всего лишь отсчетами скользящих измерений. Следовательно, эквивалентный результат можно было бы получить, отбрасывая часть отсчетов на выходах гребенки фильтров. Эффекты такого прореживания можно проанализировать, используя стандартную трактовку наложения частот. На фиг. 6.21 приближенно представлены эффекты наложения частотных характеристик эквивалентных фильтров для трех случаев скачущего БПФ, приведенных на фиг. 6.20. Отметим, что при отсутствии перекрытия интервалов вычисления БПФ наблюдается значительное наложение частотных характеристик фильтров, что может привести к серьезным искажениям спектральных измерений. При перекрытии 2:1 и особенно 4:1 эффект наложения значительно ослабляется, хотя и остается довольно заметным. На практике для борьбы с наложениями используется метод взвешивания (он будет рассмотрен в следующем разделе), который позволяет уменьшить уровень боковых лепестков и тем самым ослабить эффекты наложения. В качестве приближенной оценки этого эффекта можно использовать уровень наложенного спектра (он изображен пунктирной линией) в пределах главного лепестка фильтра.
Фиг. 6.21. Эффекты наложения при спектральных измерениях с использованием скачущего БПФ или при прореживании выходных отсчетов гребенки фильтров.
— наложение на частотную характеристику 4-го фильтра'' при отсутствии перекрытия; В — наложение на частотную характеристику при перекрытии 2 : 1; В — наложение на частотную характеристику при перекрытии 4:1.
Использование окон при спектральном анализе
В разд. 6.10, а затем и в разд. 6.13 было показано, что измерение спектра (определяемое через z-преобразование) эквивалентно величине, получаемой на выходе одного фильтра (при спектральных измерениях в одной точке) или гребенки фильтров (при равномерном распределении спектральных отсчетов по единичной окружности). Согласно введенному определению, речь идет о вполне конкретном фильтре с заданным спектральным разрешением. Меняя число отводов фильтра (которое эквивалентно числу членов, используемых при расчете z-преобразования), можно изменять эф-
ж-жхш\
Частота
Фиг. 6.22. Анализатор спектра с двумя различными частотными разрешениями.
фективную полосу фильтра; однако до сих пор ничего не говорилось о том, каким образом можно изменить форму частотной характеристики фильтра, чтобы, например, подавить нежелательный шум и сигналы вне его полосы пропускания. Этот пробел восполняется путем введения весовой последовательности (окна) w^n^ на кото- рую^почленно умножается заданная последовательность, так что спектр становится равным
Sn^ = X^W^)-V
4~я (п— 1) w (1) z;14-... 4-я (п— 7V +1) w (N— 1) z^N-^ (6.49) или*
^n(zi) =2x^w^n— ?n) z“(n-m\(6.50)
m=n-2V+l
Формула (6.49) аналогична формуле (6.37), но входная последовательность взвешена. Чтобы получить эквивалентный фильтр, следует z~j на фиг. 6.16 заменить на w(J)z~i. Поскольку выбор окна w(n) произволен, результаты модифицированного спектрального измерения, согласно формуле (6.49) и обобщенной фильтрации, полностью эквивалентны.
С точки зрения вычислений использование окна наиболее удобно, когда выполняется полный спектральный анализ с применением БПФ. Если, как это практически часто бывает, все фильтры гребенки идентичны (только смещены по частоте), умножение отрезка сигнала на весовую функцию (всего требуется N умножений) позволяет сформировать нужную частотную характеристику фильтров. Обработка полученного произведения с помощью БПФ завершает спектральный анализ.
Если фильтры анализатора спектра должны обеспечить сразу два различных спектральных разрешения (фиг. 6.22), то, вероятно, проще всего дважды находить БПФ, используя различные окна. Существуют, однако, и другие приемы. Особенно интересен метод, основанный на эквивалентности между умножением во временной области и сверткой в частотной области. Так, например, умножение на весовую функцию можно заменить взвешенным суммированием нескольких соседних (по частоте) значений Sn (z).
Анализ окон был проведен в гл. 3. Там же были рассмотрены другие методы расчета фильтров, часто оказывающиеся более эффективными. Здесь важно отметить, что значение того^или иног» метода расчета фильтра определяется в значительной степени тем, как этот фильтр конкретно реализуется. Например, если нужно построить анализатор спектра, используя для этой цели гребенку КИХ-фильтров, реализуемых нерекурсивно, то можно рассчитать каждый из фильтров гребенки с применением любого критерия, и эффективность спектральных измерений с точки зрения объема вычислений при этом не ухудшится. Так, может оказаться, что лучше всего найти коэффициенты фильтра, используя аппроксимацию с равновеликими пульсациями. В случае применения КИХ-фильтров с рекурсивной схемой (такая гребенка фильтров показана на фиг. 6.19) наиболее подходящим оказывается метод частотной выборки, который сводится ко взвешенному суммированию выходных отсчетов нескольких соседних фильтров с тем, чтобы частотная характеристика имела достаточно хорошую форму. Но наибольший интерес с точки зрения реализации представляет схема спектральных измерений со скачущим БПФ. В этом случае наиболее эффективный метод формирования частотных характеристик эквивалентных фильтров состоит во взвешивании массива сигнала и последующем выполнении БПФ. Необходимо также отметить, что при разработке анализатора спектра на базе БПФ можно использовать суммирование взвешенных выходных отсчетов БПФ, что эквивалентно весовой обработке на входе, или же можно использовать и взвешивание во временной области, и сглаживание в частотной области, чтобы получить анализатор спектра с переменным разрешением.
Как будет показано в разд. 5 гл. 12, алгоритм БПФ может быть использован для приближенного построения гребенки БИХ- фильтров (типа фильтров Баттерворта, Бесселя или эллиптических). Трудность расчета такой гребенки состоит в том, что в качестве фильтра-прототипа всех фильтров гребенки, имеющих одинаковую полосу, должен быть использован один и тот же БИХ- фильтр нижних частот. В этом случае достаточно использовать идеи, изложенные в разд. 6.12 в сочетании с методом взвешивания, описанным в данном разделе. Предположим, например, что требуется по L = MN отсчетам сигнала найти N спектральных отсчетов. Если величина L настолько велика, что импульсная характеристика БИХ-фильтра, которая имеет бесконечную длину, может быть аппроксимирована конечной импульсной характеристикой длины L, то выполнение спектральных измерений сведется к взвешиванию входной последовательности с использованием этой аппроксимирующей L-точечной характеристики и расчету части коэффициентов БПФ по методике, описанной в разд. 6.12.
Измерение спектра в ограниченном сектореz-плоскости с использованием БПФ
Пусть заданы L отсчетов сигнала, и необходимо найти z-преоб- разование в точках, расположенных на дуге окружности в z- плоскости. Положим для определенности, что N = 64, а количество искомых спектральных отсчетов, положение которых показано на фиг 6.23, равно 16. В данном случае выражение для z- преобразования имеет следующий вид:
N-i
Х^=2х(п)1^, к = 0, 1, ..., 15,(6.51)
п=0
где
Zfe = r6i[0+(2nA/H)]f(6.52)
так что
N-1
X(zft) = 2 ix^r-^e-^e-i^^, к = 0, 1, ...» 15. (6.53) п=0
Из формулы (6.53) следует, что после предварительного умножения х (п^ на у-^е-^ задача расчета z-преобразования сводится к задаче спектральных измерений на дуге единичной окружности, которая изображена на фиг. 6.24.
Для эффективности расчета спектра методом БПФ точки z* следует перераспределить таким образом, чтобы они равномерно располагались на единичной окружности. Этого можно достичь, прореживая отсчеты сигнала и комбинируя затем получающиеся спектры. Перечислим последовательность выполняемых при этом операций:
Фиг. 6.23. Круговой сектор в х-плоскости.
Вычислить 16-точечное БПФ отсчетов сигнала с номерами 0, 4, 8, ..., 60, что дает Хо (/с).
Вычислить 16-точечное БПФ отсчетов с номерами 1,5, 9,... 61, что дает Хх (к).
Повторить то же для отсчетов 2, 6, 10, ..., 62 и 3, 7, 11, ..., 63, что дает Х2 (&) и Х3 (Л) соответственно.
Сложить коэффициенты БПФ по формуле
X (А) = Х„ (к) + W^X, (к) ++ И?2г$х2(&) + ^%(6),/с = 0, 1, ..., 15,где N = 64, WN = e-^n/N).
Фиг. 6.24. Преобразование контура, изображенного на фиг. 6.23, в дугу окружности с помощью предварительного умножения массива сигнала.Фиг. 6.24. Преобразование контура, изображенного на фиг. 6.23, в дугу окружности с помощью предварительного умножения массива сигнала.Отметим, что этот же результат можно получить иначе, вычислив 64-точечное БПФ и взяв первые 16 коэффициентов БПФ. В этом случае потребовалось бы выполнить (JV/2)log2JV =192 базовые операции, тогда как при использовании четырех 16-точечных преобразований их нужно было бы 128. Таким образом, в зависимости от параметров системы можно использовать по крайней мере два различных метода вычисления спектра вдоль дуги в z-плоскости, изображенной на фиг. 6.23.
Фиг. 6.24. Преобразование контура, изображенного на фиг. 6.23, в дугу окружности с помощью предварительного умножения массива сигнала.
Фиг. 6.24. Преобразование контура, изображенного на фиг. 6.23, в дугу окружности с помощью предварительного умножения массива сигнала.
В последующих разделах будут описаны два алгоритма расчета z-преобразования конечной последовательности вдоль определенного контура на z-плоскости. Один из них, называемый алгоритмом Блюстейна, дает способ вычисления ДПФ JV-точечной последовательности с помощью весовой обработки выходных отсчетов на выходе ЛЧМ-фильтра (его импульсная характеристика имеет вид колебания с линейной частотной модуляцией). Второй алгоритм, называемый z-преобразованием с использованием ЛЧМ-фильтрации, показывает, как z-преобразование конечной последовательности вдоль определенного контура на z-плоскости может быть выражено через свертку; следовательно, оно может быть получено методом быстрой свертки.
Алгоритм Блюстейна
Алгоритм БПФ позволяет существенно уменьшить время вычисления JV-точечного ДПФ лишь при условии, что число N имеет много сомножителей. Однако существуют и другие эффективные алгоритмы расчета ДПФ последовательностей, также требующие выполнения порядка N log N операций. К ним относится и алго-
ритм Блюстейна, применимый при любых N и основанный на цифровой фильтрации, эквивалентной вычислению ДПФ.
Рассмотрим цифровой фильтр с импульсной характеристикой к (ri) вида
О,О,h(n)=< eWN,h(n)=< eWN,О,О,71 < О, 0^71^2^ — 1, n>2N.71 < О, 0^71^2^ — 1, n>2N.(6.54)(6.54)
О,
О,
h(n)=< eWN,
h(n)=< eWN,
О,
О,
71 < О, 0^71^2^ — 1, n>2N.
71 < О, 0^71^2^ — 1, n>2N.
(6.54)
(6.54)
Фильтр с такой импульсной характеристикой обычно называют ЛЧМ-фильтром из-за его сходства с аналоговым фильтром, согласованным с ЛЧМ-сигналом. При подаче на его вход JV-точечной последовательности х (ri) [отсчеты х (тг) отличны от нуля только на интервале 0 ^ п ^ N — 1] выходная последовательность у (тг) на интервале N ^ п ^ 2N — 1 будет равна
N—i
yW= 2 x(r)h(n— г), N^n^2N~L (6.55) г=0.
Введя в эту формулу новую переменную к = п — JV, получим N-i
«№= 2 г(r)Л(fc+^-r) = г=0
N-1
= 2 xVVWNWN"r^. Q^k^N—i, (6.56) r=0
откуда
у (к) = вМьа/лпв7лЛ7 2 Vx^e^W^e-^/W.(6.57)
г=о уv,w(r)
Из формулы (6.57) следует, что выходная последовательность у (к) равна взвешенным (весовые коэффициенты равны е5як^Ке5пН) отсчетам ДПФ JV-точечной последовательности вида х (г) е^7-2^. Следовательно, чтобы получить JV-точечное ДПФ последовательности / (тг), необходимо в соответствии с (6.57) подать на вход фильтра последовательность х (ri^ = / (7i)e-jnn2/jV, а отсчеты выходной последовательности у (тг) с номерами JV тг ^ 2JV — 1 умножить на весовые коэффициентыe_^N. Все
эти операции, необходимые для вычисления JV-точечного ДПФ последовательности / (тг), представлены на фиг. 6.25. Для некого-
e-Me*yz ' > ■1 —* го (ri)F(k)=w(k+N)e-Me*yz ' > ■1 —* го (ri)F(k)=w(k+N)
e-Me*yz ' > ■1 —* го (ri)
F(k)=w(k+N)
e-Me*yz ' > ■1 —* го (ri)
F(k)=w(k+N)
Фиг. 6.25. Вычисление jV-точечного БПФ с помощью линейной фильтрации.
рых значений N (а именно если N равно квадрату целого числа) количество операций, используемых в цифровом фильтре, может быть пропорционально N1*5.
Основной смысл алгоритма Блюстейна состоит в том, что с его помощью показана возможность получения ДПФ последовательности посредством ее линейной фильтрации ЛЧМ-фильтром.
Алгоритм ^-преобразования с использованиемЛЧМ-фильтрации
Алгоритм z-преобразования с ЛЧМ-фильтрацией является эффективным алгоритмом вычисления z-преобразования конечной последовательности вдоль определенного контура на z-плоскости. Поскольку и единичная окружность является одним из возможных контуров, этот алгоритм может быть также использован для эффективного вычисления ДПФ последовательности, хотя в этом случае эффективность не будет столь же высокой, как для алгоритма БПФ. В то же время многие ограничения, характерные для БПФ, в том числе требование, чтобы число отсчетов последовательности А раскладывалось на множители, при использовании алгоритма z-преобразования с ЛЧМ-фильтрацией устраняются. Таким образом, этот алгоритм можно использовать для эффективного вычисления ДПФ последовательности и при простых; А.
Пусть заданная A-точечная последовательность {ж (п)}, 0 ^ ^ п ^ М — 1, имеет z-преобразование
N-i
X(z) = з »(»)f.(6.58)
п=0
ДПФ заданной последовательности X (к) по определению равно X (А) = X ^ |^(2л/^, /с = 0, 1, ..., А-1.(6.59)
Используя алгоритм z-преобразования с ЛЧМ-фильтрацией, можно найти z-преобразование в соответствии с формулой (6.58) вдоль контура более общего вида:
ak = AW\ & = 0, 1М-1.(6.60)
Здесь М — произвольное целое число (не обязательно равное А), а А и W — произвольные комплексные числа, равные
A = Aoej2”eo,(6.61)
W = ТУое^2яфо.(6.62)
На фиг. 6.26 изображен контур в z-плоскости, удовлетворяющий формуле (6.60), и графически представлены величины Ао, Wo, 0» и ф0.
Фиг. 6.26. Контур расчета ^-преобразования с ЛЧМ-фильтрацией в z-плоскости.
Как следует из фиг. 6.26 и формул (6.60)—(6.62), при Л = 1, М = N и W=-e-i2lt,N имеем zk = e-j2M/Nf т. е. точки вдоль контура будут соответствовать положениям спектральных отсчетов при вычислении TV-точечного ДПФ последовательности.
Постоянная И7® определяет скорость ухода контура внутрь окружности радиуса А 0 или наружу от нее. При И7® > 1 контур будет скручиваться, а при Wo <1 — раскручиваться. Несколько проще интерпретировать скручивание контура в z-плоскости, рассматривая эквивалентный контур в s-плоскости. Действительно, введя подстановку z = esT, получим z® = Л = е^1 или = s® = 1пЛ/Т = Oo + jcoo — 1пЛ®/Т+ 72л6о/Т. Далее, поскольку zk = eskT = AW'\ то sk = In (ЛW'^/T = In A IT + In (И^/Г = = s®— к In (И^/Т. На фиг. 6.27 в s-плоскости изображен контур, эквивалентный контуру, показанному на фиг. 6.26. Таким образом, спиралеобразные контуры в z-плоскости соответствуют прямым линиям в s-плоскости, причем скорость закручивания определяет угол наклона прямой в s-плоскости.
Покажем теперь, как эффективно рассчитывать z-преобразование последовательности, согласно формуле (6.58), вдоль контура (6.60). Обозначив через Хк искомые значения z-преобразования при z = zk, т. е.
N-t
хь= 3 i(n)2;n, (6.63) п=0
фиг. 6.27. Контур расчета z-преобразования с ЛЧМ-фильтрацией в s-плоскости.
и, учитывая формулу (6.60), находим
N-\
Xk = 2 x^A-nWuk, &= 0, 1, ..., Af — 1.(6.64)
п=0
Подстановка в формулу (6.64) выражения
(665)
дает
JV-1
Xh= 2 х (п) A-nW^+k2 ^k-n^2 =
п=0
= ^ [х (п) A^W71^2] (Wk2/2) w~(k~n)2/2(6.66)
n=0
ИЛИ
N-l
X„ = wk,i2 2 «(п^к-п),(6.67)
n=0
где
y(n^x^A-nWn2,\(6.68)
v^^W^2.(6.69)
Из формулы (6.67) видно, что значения Хк можно найти, рассчитав взвешенную сверку последовательностей у (п) и и (п); последнее можно эффективно провести, используя алгоритм быстрой свертки на основе БПФ. На фиг 6.28 приведены все основные операции алгоритма z-преобразования с ЛЧМ-фильтрацией.
®п
п-ОЛ ...,ЬН
Быстраясвертка
^п
л
к-0,1,2,...,M-i
AnWn%
Фиг. 6.28. Операции при выполнении z-преобразования с ЛЧМ-фильтрацией.
Прежде чем перейти к детальному описанию алгоритма z-преобразования с ЛЧМ-фильтрацией, полезно перечислить преимущества этого алгоритма по сравнению со стандартным алгоритмом БПФ:
N, число отсчетов входной последовательности, не обязательно должно быть равно М, числу точек, в которых рассчитывается преобразование.
Ни N, ни М могут не быть‘составными числами; фактически оба они могут быть простыми.
Угловое смещение точек zk может быть произвольным, так что и частотное разрешение может быть любым.
Контур не обязательно должен быть окружностью в z-плоскости. В гл. 12 будет показано, что использование спиралевидного контура в анализаторе речи дает некоторые преимущества.
Начальная точка контура в z-плоскости произвольна. Это свойство особенно полезно при анализе в узкой полосе частот, когда высокое частотное разрешение (п.З) сочетается с произвольной начальной частотой.
При А = 1, М = N, W = е-Я2я/ло z-преобразование с ЛЧМ-фильтрацией можно использовать для вычисления ДПФ даже при простых N.
Все операции алгоритма z-преобразования с ЛЧМ-фильтрацией выполняются в несколько следующих этапов, иллюстрируемых с помощью ряда простых графиков на фиг. 6.29:
Выбор L, наименьшего целого числа, большего или равного V.N -V М — 1), которое можно было бы использовать в обычном алгоритме БПФ. Величина L определяет размер преобразований, которые выполняются при расчете быстрой свертки в системе, показанной на фиг. 6.28.
Формирование L-точечной последовательности у (п) вида \ A^W^x^, /г —0, 1, ..., Л—1,
у№ = \ 0,n = N, Л + 1L—1.
Типичные последовательности х (п) и у (и) изображены на фиг. 6.29, а и б.
а
п
'ТГНШТТмт
1—
Фиг. 6.29. Последовательность выполнения алгоритма z-преобразования с ЛЧМ-фильтрацией.
Расчет L-точечного ДПФ последовательности у (п) с помощью обычного алгоритма БПФ; результаты расчета обозначаются через YT. На фиг. 6.29, в изображена типичная последовательность YT.
Формирование L-точечной последовательности v (п) по формуле
( W"^2,0^п<М — 1,
^(”)=< ^"(L"n)2/2, L-N-V-l^n<L,
( произвольно при других п.
На фиг. 6.29, гид изображены последовательности У/-1^ и и (п).
Расчет L-точечного ДПФ последовательности и (п), результаты которого обозначаются через УГ (фиг. 6.29, е).
Почленное умножение последовательностей Уг и Уг, что дает Gr = VrYr (фиг. 6.29, ж).
Расчет обратного ДПФ последовательности Gri результаты которого обозначаются через gk (фиг. 6.29, а).
Умножение gh на 1УА2/2, что дает Хк) т. е.
=к-0, 1,М-1.
Значения gk при к ^ М не имеют смысла и отбрасываются. Последовательность Хк изображена на фиг. 6.29, и.
Остается показать, что алгоритм z-преобразования с ЛЧМ- фильтрацией эффективнее прямого вычисления z-преобразования заданной последовательности. Для этого достаточно подсчитать число комплексных умножений, используемых при выполнении z-преобразования с ЛЧМ-фильтрацией. Подсчет дает следующие результаты:
Для формирования у (п) из х (и) (2-й этап) требуется N комплексных умножений. Последовательность A-nWn*/2 можно заранее записать в память либо генерировать в процессе счета, используя следующее рекуррентное соотношение:"
^-(n+DjyCn+DS/Z = ^д-^п^ypw^A"1.(6.70)
Действительно, если ввести
Сп^Л-”^272,(6.71)
D^WV^A4,(6.72)
то с учетом выражений (6.70) — (6.72)получимрекуррентные
соотношения
Pn+i = ZUy,(6.73)
CnH = CnDn(6.74)
с начальными условиями Со = 1, Do = ТР^2 Л J. Таким образом, если A"nW^*/2 генерируется с помощью рекуррентной формулы, то потребуется дополнительно 27V комплексных умножений.
Для L-точечного БПФ на этапе 3 требуется порядка Llog2L комплексных умножений.
Последовательность и (и) обычно заранее записывается в память, хотя может и генерироваться рекуррентно [аналогично (6.70)1, для чего потребуется 2М комплексных умножений.
При L-точечном ДПФ (этап 5) для вычисления Vr опять требуется порядка L \og2L комплексных умножений (впрочем, если z-преобразование с ЛЧМ-фильтрацией выполняется неоднократно с одними и теми же значениями М и N, эта последовательность может быть вычислена только один раз и затем храниться в памяти).
Для перемножения последовательностей Vr и YT (этап 6), необходимо L комплексных умножений.
В L-точечном БПФ для получения g^ опять требуется порядка L log2L комплексных умножений.
Чтобы получить М отсчетов Xh на выходе системы, требуется М комплексных умножений.
Из вышеизложенного видно, что основными операциями при вычислении z-преобразования с ЛЧМ-фильтрацией являются три (или иногда два) L-точечных БПФ, поэтому снова время вычисления будет пропорционально L log2L (напомним, что L ^- N-\-M— — 1), но только коэффициент пропорциональности будет в два- три раза больше, чем при БПФ. Таким образом, z-преобразование с ЛЧМ-фильтрацией оказывается эффективным алгоритмом расчета z-преобразования последовательности вдоль контура определенной формы в z-плоскости. Применения этого алгоритма рассмотрены Рабинером, Шафером и Рэйдером. (Недавно иа частного сообщения Харпера Уайтсайда стало известно, что этот алгоритм был также использован для выполнения ДПФ в системе, построенной на базе акустической линии задержки с поверхностной волной.)
Энергетический спектр случайных сигналов
При спектральных измерениях случайных последовательностей встречается ряд трудностей. Во-первых, обычно интерес представляет энергетический спектр (определение энергетического спектра еще не было дано). Во-вторых, ^измерения должны быть статистически устойчивыми в том смысле, что, какая бы оценка ни рассматривалась, при увеличении интервала измерения она должна сходиться к вполне конкретной величине. Простое и удобное уело-
вив сходимости сводится к тому, чтобы дисперсия оценки стремилась к нулю при увеличении интервала измерения. Известно, что при работе с энергетическим спектром весьма удобно пользоваться корреляционной функцией сигнала. В связи с этим в данном разделе будут кратко рассмотрены понятия корреляционной функции и энергетического спектра и связывающие их соотношения. Затем будут проанализированы с точки зрения эффективности вычислений два хорошо известных метода расчета энергетического спектра случайных сигналов.
До сих пор использовалось довольно общее определение спектра. Он определялся как значение z-преобразования в одной или ряде точек в z-плоскости. В связи с этим возникает следующий вопрос: можно ли энергетический спектр сигнала определить .в таком же общем виде? По-видимому, разумным подходом является следующий: если задана спектральная плотность мощности на некоторой кривой в z-плоскости (не обязательно на единичной окружности), то, интегрируя эту плотность вдоль кривой, можно получить общую мощность сигнала. Используя теорему Парсеваля, можно убедиться в том, что такой подход возможен. Так, для ограниченной случайной последовательности х (и), состоящей из N отсчетов, теорема Парсеваля записывается следующим образом:
^-l ^хЧп^^-^Х^Х^гНг. (6.75) п=0
Соотношение (6.75) является упрощенным вариантом теоремы о комплексной свертке. Если последовательность имеет конечную длину, то интегрирование может проводиться по любому контуру, охватывающему начало координат, поэтому спектральную плотность мощности SN ^ можно определить как величину, пропорциональную произведению X (z)X (1/z) на этом произвольном контуре, т. е.
^(z) ~ X ^ X (z-i).(6.76)
Из этого соотношения следует, что для определения спектральной плотности мощности в точке z = zx плоскости z необходимо вычислять значения z-преобразования заданного сигнала и при я = zn и при z = 1^. Например, если требуется измерить спектральную плотность на окружности радиуса г, необходимо вычислить значения z-преобразования последовательности и на этой окружности, и на окружности радиуса 1/г. При г = 1 оба эти значения z-преобразования становятся комплексно сопряженными, так что по существу в качестве спектральной плотности мощности измеряется величина |Х (ei®) |2.
Чтобы определить коэффициент пропорциональности в соотношении (6.76), воспользуемся статистическим методом. Запишем
^-l N-1
X(z)x(A)=2 2 х^х^г^.(6.77)
п=0 т=0
Найдем среднее значение от этого выражения
N-l N-1
E[x(z)X (4-)]= 2 2 Elx^x^z-^. (6.78) 71=0 771=0
Рассмотрим простейший пример анализа «белого» шума, для которого среднее значение произведения х ^х (тп) равно нулю всегда, за исключением случая п = тп, когда оно равно, предположим, К. Таким образом,
£[Х(г)Х(-|-)] = «ЛГ.(6.79)
Поскольку желательно, чтобы среднее значение сходилось к постоянной величине при увеличении N, спектральную плотность следует определить следующим образом:
N-l N-1
S„ (z) = + Х„ (z) Х„ (+ = 4" S 2 ^ W $ W г'”-"'. (6.80)
71=0 771=0
Например, при N = 5, согласно формуле (6.80), имеем
85 (z) = — [я: (0) х (0) z° 4- х (0) х (1) z'1 + х (0) х (2) z-2 + х (0) х (3) z-3 + + х (0) х (4) z~4 + х (1) х (0) z1 4- х (1) х (1) z° 4- x (1) x (2) z-1+ 4- x (1) x (3) z-2+ я:(1)я:(4)г~3 + з(2)я:(0)г24-$ (2)^(1) z14-
x ^ x (2) z°+ я:(2)я:(3)г~1 + я:(2)я:(4)г~2 + я:(3)з(0)г34-
+ з(3) 3(l)z24~ x (3) x (2) z1 4- x (3) x (3) z°+з (3) x (4) z-1+
x (4) x (0) z4-Vx (Д x (1) z3 4- x (4) x (2) z24~ x (4) x (3) z1-{-
ж (4) x (4) z0].(6.81)
Объединяя члены с одинаковыми степенями z, получаем
S5 (2) = 4 (z° 1^ (0)ж(0)4-я:(1)я:(1)4-я:(2)я:(2)4-я:(3)я:(3)4-я:(4)я:(4)]4-
4-(z14-z~1) [ж (0) ж (1)4-я (1)3(2) +я (2) я (3)4-я^
+ (z2 + г"2) Vx (0) х (2) + х (1) х (3) + х (2) з (4)] +
+ (z3 + Z"3) [я (0) X (3) + з (1) 3 (4)] + (z4 + z~4) Vx (0) X (4)]}.
(6.82)
Из выражений (6.81) и (6.82) легко получить формулу для произвольного N:
N-lN-1
8„№= 2 Я(т)(г”+«")-Я(0) =2Я„г”,(6.83)
ш—От— -(JV— 1)
где
N-i-m
Rm = 4r 2 х^х^т^-п), O^m^N — 1,(6.84)
п=0
и R (—т) A R (т). Выражение (6.84) определяет автокорреляционную функцию последовательности конечной длины х (п).
Из формулы (6.83) следует, что спектральная плотность мощности равна z-преобразованию автокорреляционной функции сигнала х (п). Хотя выше предполагалось, что случайный сигнал имеет конечную длительность, как правило, последовательность х (п) не ограничена. В этих случаях основная формула для вычисления автокорреляционной функции имеет вид
N-1
R (т) = Rx(m) = lim У х (п) x(n-V т), —оо«<тп<,оо. (6.85)
N-*oo ^„
n=0
На практике спектральная плотность мощности чаще всего вычисляется на единичной окружности. В этом случае формула (6.83) принимает вид
ОО
«(г)Ь^=ЗД = 2 В. W е"^»,(6.86)
т=—оо
т. е. Sx (f) равно преобразованию Фурье от Rx (т). Соответственно Rx (ш) может быть получена обратным преобразованием Фурье от Sx (f), т. е.
л
r. w=4г Is* v)ейя,т at ^-8Т>
-Л
Соотношения (6.86) и (6.87) можно обобщить на случай, когда желательно измерить взаимный энергетический спектр или функцию взаимной корреляции двух случайных колебаний х (и) и у (п):
N-1
RxyW^ ^m "дГ 2 ^(^)У(^ + ^)> — ОО<7П<ОО, (6.88) N^-ooп
п=0
ОО
$«,(/) = 2 Rx, («) e-i^-f,(6.89)
ТП=- ОО
Л
в« №=4г j s« W ^Мт at (6-90>
-л
сигнала
Метода
У<п)
х(п)
w(n)
х
w(n)
Использование БПФ для вычисления оценок спектральной плотности мощности
S$y М Обратное Энергетиче- БПФ ский спектр на L дискретных частотах
Rxy(m) _
Корреляционная функция, искаженная наложением частот
Фиг. 6.30. Два метода выполнения спектрального анализа.
Функцию взаимной корреляции измеряют в случаях, когда последовательности у (и) и х (п) связаны операциями фильтрации и задержки. Например, в радиолокационной системе у (и) может представлять собой отфильтрованный, зашумленный и задержанный зондирующий сигнал х (и). В таких случаях положение максимума взаимной корреляционной функции дает величину задержки входного сигнала.
Итак, выше было дано определение спектральной плотности мощности, установлена взаимосвязь между спектральной плотностью мощности и автокорреляционной функцией и показано, что средние значения этих оценок сходятся при больших N к некоторому определенному постоянному числу, по крайней мере в случае белого шума. Однако хорошо известно, что дисперсия оценки S n к^) будет сходиться к нулю лишь при выполнении дальнейшего усреднения. Существуют два хорошо известных метода измерения спектральной плотности шума с использованием БПФ, для которых удовлетворяются условия сходимости дисперсии к нулю. Пер- мый метод основан на вычислении корреляционной функции с помощью алгоритма БПФ, а второй состоит в усреднении последовательности непосредственных измерений спектральной плотности. На фиг. 6.30 иллюстрируются все этапы выполнения спектрального анализа этими методами.
В методе 1 БПФ используется непосредственно для вычисления оценок взаимной корреляционной1) функции Rxu {т) при L за-
г) Приведенные выше выражения легко обобщить на случай измерения автокорреляционной функции и энергетического спектра, воспользовавшись подстановкой у ^=х (и).
держках, где 2L — размер БПФ. При вычислении по значениям Rxy (m) спектральной плотности мощности Sxy (к) для конечного числа частот необходимо применять сглаживающее окно w (m), чтобы уменьшить нежелательные эффекты, связанные с конечной длиной выборки, поскольку вместо бесконечной корреляционной последовательности используются только L ее значений. С помощью L-точечного БПФ можно вычислить значения спектральной плотности мощности на L равноотстоящих частотах на единичной окружности.
В методе 2 алгоритм БПФ используется для непосредственного вычисления спектральной плотности мощности в отличие от первого- метода, в котором сначала вычисляется корреляционная функция. Поэтому каждая из последовательностей х (п) и у (п) до выполнения преобразования сглаживается с помощью окна w (и). Для последующего вычисления на основе спектральной плотности мощности корреляционной функции можно использовать алгоритм обратного БПФ. Так как спектральная плотность мощности была рассчитана только на L дискретных частотах (вместо бесконечного числа частот, что требуется при теоретическом рассмотрении), после обратного БПФ будет получена корреляционная функция, искаженная эффектом наложения.
Ниже будут рассмотрены вопросы практического применения методов 1 и 2, однако сначала покажем, как можно использовать ДПФ для выполнения корреляционного анализа. Рассмотрим периодические последовательности (с периодом в L отсчетов) хр (п) и Ур (п)> ДПФ’которых X (к) и Y (к) соответственно равны
L-1
X (к) = 2 Хр (г) e-^L^(6.91)
г=0'
И
L—1
Y (к) = 2 Ур (^е-^^.(6.92)
-s=0
Выше было показано, что умножение X (к) на Y (к) соответствует свертке периодических последовательностей хр (п) и ур (п), т. е.
X(k)Y(k)** ^ хр(т) ур^п — тп).(6.93)
т=0
Покажем теперь, что круговую свертку хр (п) и ур (п) можно элементарно найти следующим образом:
L-1
X (к) Y* (к)2 Ур (п) хр km + nV(6.94)
п=0
Для проверки соотношения (6.94) покажем, что обратное ДПФ произведения X (k)Y* (к) равно правой части (6.94). Используя
формулы (6.91) и (6.92), получим
L-1
ДПФ"1 [X (k) Y* (к)] = ~ 2 X (к) Y* (к) ^ ^!^тк =
h=0
L-1 L-1
= 42 [2 Яр (г) 6-i(2"/tM] х
h=0 r=0
L-1
x [ 2 ур (s)ei ^n,L^,ft]ej <2"/L) ^= " «=0
L-1L-1L-1
= 2 2 ^ W 8» W [4 2 e^lLWm-r+.) J = r=0 «=0h=0
6 (m-r+<)
L-1
= 2 Ур^р^-А-зЬ
что и требовалось доказать. [Заметим, что во всех приведенных выкладках последовательности хр (и) и ур (и) считаются действительными.]
Метод 1 — корреляционный.
На фиг. 6.31 иллюстрируется один из способов вычисления первых пяти отсчетов автокорреляционной функции заданной TV-точечной последовательности (TV = 20). Сама последовательность показана на фиг. 6.31 вверху. Первый блок чисел размером (9x5) соответствует круговой корреляции двух девятиточечных последовательностей, а именно х0х1хгх3х4х5х6хчх& и ХоХ^г^дХ^ООО. Пять из полученных отсчетов Ro (0), Ro (1), Ro (2), Ro (3), Ro (4) являются правильными; они показаны справа. Второй блок начинается с х5; аналогичная процедура вычисления дает отсчеты от Ri (0) до Rt (4). Чтобы найти результирующие значения первых пяти отсчетов автокорреляционной функции, необходимо просуммировать Rt (т) по i следующим образом:
з
2?(т) = |2 RiW» m = 0, 1, 2, 3, 4.(6.95}
Следующий шаг состоит в том, чтобы показать, как выполнять- вычисления с использованием алгоритма БПФ. Каждую из четырех круговых корреляционных функций девятиточечных последова—
•о *i *f “з *• *5 же "г *• хэ жю хп жи xts жм xis xie xi7 жю хш
<о xi "гС 10 ■«С О х0 ООО <00<о xi "гС 10 ■«С О х0 ООО <00■ э *4 о*1 *1 Ж41 *го xt хгО *0 *1■ э *4 о*1 *1 Ж41 *го xt хгО *0 *1ООО ООО4 О О м *4 о *» ХЭ *4ООО ООО4 О О м *4 о *» ХЭ *4Rq(O) ж Xq Кд ♦ X, Xj ♦ X у X g ♦ Xg X J ♦ 1| RqID’XqX, ♦ Xt*t* хгкэ * x3x4 ♦ g Ro<W*xo«f ♦ x, K9 ♦ Mg*4 ♦ X3X5 ♦ X Яд^-ХдХ,**, x4 ♦ x,x9 ♦ M3>i > X Ro<«l'xox4* XIX5 * X2X< * x3xr ♦ *Rq(O) ж Xq Кд ♦ X, Xj ♦ X у X g ♦ Xg X J ♦ 1| RqID’XqX, ♦ Xt*t* хгкэ * x3x4 ♦ g Ro<W*xo«f ♦ x, K9 ♦ Mg*4 ♦ X3X5 ♦ X Яд^-ХдХ,**, x4 ♦ x,x9 ♦ M3>i > X Ro<«l'xox4* XIX5 * X2X< * x3xr ♦ *
<о xi "г
С 10 ■«
С О х0 ООО <00
<о xi "г
С 10 ■«
С О х0 ООО <00
■ э *4 о
*1 *1 Ж4
1 *г
о xt хг
О *0 *1
■ э *4 о
*1 *1 Ж4
1 *г
о xt хг
О *0 *1
ООО ООО
4 О О м *4 о *» ХЭ *4
ООО ООО
4 О О м *4 о *» ХЭ *4
Rq(O) ж Xq Кд ♦ X, Xj ♦ X у X g ♦ Xg X J ♦ 1| RqID’XqX, ♦ Xt*t* хгкэ * x3x4 ♦ g Ro<W*xo«f ♦ x, K9 ♦ Mg*4 ♦ X3X5 ♦ X Яд^-ХдХ,**, x4 ♦ x,x9 ♦ M3>i > X Ro<«l'xox4* XIX5 * X2X< * x3xr ♦ *
Rq(O) ж Xq Кд ♦ X, Xj ♦ X у X g ♦ Xg X J ♦ 1| RqID’XqX, ♦ Xt*t* хгкэ * x3x4 ♦ g Ro<W*xo«f ♦ x, K9 ♦ Mg*4 ♦ X3X5 ♦ X Яд^-ХдХ,**, x4 ♦ x,x9 ♦ M3>i > X Ro<«l'xox4* XIX5 * X2X< * x3xr ♦ *
кд*•ж7*gж9ООО15*•хуXgKgОООХ9ж6Ху*gXg00Ок9egкухеООО О Мд Xg Кух10 *11 О хю О О о оО Окд*•ж7*gж9ООО15*•хуXgKgОООХ9ж6Ху*gXg00Ок9egкухеООО О Мд Xg Кух10 *11 О хю О О о оО Оо о о о о оKg Ох* Х|у Х|3 Хм О ООО «Л*12*13714ОООХЮ*11Х11ж13ХМОООхю*11*18*13х14ОООжюХИЖЦЖ1ЭХМо о о о о оKg Ох* Х|у Х|3 Хм О ООО «Л*12*13714ОООХЮ*11Х11ж13ХМОООхю*11*18*13х14ОООжюХИЖЦЖ1ЭХМRftOl'XgXg* XgXgRftOl'XgXg* XgXgRftlb x9x6 ♦ XgM7 ♦ XyXg ♦ x9xy ♦ x R|(2)" x9 Xy ♦ XgXg ♦ x7xe ♦ xgxt0* * Rt(3> »x5 Xg ♦XgXg « XyKt0 ♦ XgX1l ♦ к R|(4) « Xg Xg ♦ XgXio* xylft ♦ XgKjg ♦ XRg(O) ■ xl0X|6*x1l xlt ♦ x^x^ ♦ *iэM13 * X1 Rg(1 ) • KfgX|( ♦ X(| Xfg* X|2X13 * *13*14 ♦ *|< Rg(2) • K|0xi2*xM x13> xl2xl4 ♦ xl3x)9 ♦ К, Ry(3) ■ X|gX|} ♦Xy, xl4> XiyXig ♦ »ijM|B + Хц Rf(4) • K|0X|4^ X|t K|9+ K|2X|g ♦ *13*|f ♦ X|Rftlb x9x6 ♦ XgM7 ♦ XyXg ♦ x9xy ♦ x R|(2)" x9 Xy ♦ XgXg ♦ x7xe ♦ xgxt0* * Rt(3> »x5 Xg ♦XgXg « XyKt0 ♦ XgX1l ♦ к R|(4) « Xg Xg ♦ XgXio* xylft ♦ XgKjg ♦ XRg(O) ■ xl0X|6*x1l xlt ♦ x^x^ ♦ *iэM13 * X1 Rg(1 ) • KfgX|( ♦ X(| Xfg* X|2X13 * *13*14 ♦ *|< Rg(2) • K|0xi2*xM x13> xl2xl4 ♦ xl3x)9 ♦ К, Ry(3) ■ X|gX|} ♦Xy, xl4> XiyXig ♦ »ijM|B + Хц Rf(4) • K|0X|4^ X|t K|9+ K|2X|g ♦ *13*|f ♦ X|
кд*•ж7*gж9ОО
О15*•хуXgKgО
ООХ9ж6Ху*gXg
00Ок9egкухе
ООО О Мд Xg Ку
х10 *11 О хю О О о о
О О
кд*•ж7*gж9ОО
О15*•хуXgKgО
ООХ9ж6Ху*gXg
00Ок9egкухе
ООО О Мд Xg Ку
х10 *11 О хю О О о о
О О
о о о о о о
Kg О
х*
Х|у Х|3 Хм О ООО «Л*12*13714ООО
ХЮ*11Х11ж13ХМОО
Охю*11*18*13х14О
ООжюХИЖЦЖ1ЭХМ
о о о о о о
Kg О
х*
Х|у Х|3 Хм О ООО «Л*12*13714ООО
ХЮ*11Х11ж13ХМОО
Охю*11*18*13х14О
ООжюХИЖЦЖ1ЭХМ
RftOl'XgXg* XgXg
RftOl'XgXg* XgXg
Rftlb x9x6 ♦ XgM7 ♦ XyXg ♦ x9xy ♦ x R|(2)" x9 Xy ♦ XgXg ♦ x7xe ♦ xgxt0* * Rt(3> »x5 Xg ♦XgXg « XyKt0 ♦ XgX1l ♦ к R|(4) « Xg Xg ♦ XgXio* xylft ♦ XgKjg ♦ X
Rg(O) ■ xl0X|6*x1l xlt ♦ x^x^ ♦ *iэM13 * X1 Rg(1 ) • KfgX|( ♦ X(| Xfg* X|2X13 * *13*14 ♦ *|< Rg(2) • K|0xi2*xM x13> xl2xl4 ♦ xl3x)9 ♦ К, Ry(3) ■ X|gX|} ♦Xy, xl4> XiyXig ♦ »ijM|B + Хц Rf(4) • K|0X|4^ X|t K|9+ K|2X|g ♦ *13*|f ♦ X|
Rftlb x9x6 ♦ XgM7 ♦ XyXg ♦ x9xy ♦ x R|(2)" x9 Xy ♦ XgXg ♦ x7xe ♦ xgxt0* * Rt(3> »x5 Xg ♦XgXg « XyKt0 ♦ XgX1l ♦ к R|(4) « Xg Xg ♦ XgXio* xylft ♦ XgKjg ♦ X
Rg(O) ■ xl0X|6*x1l xlt ♦ x^x^ ♦ *iэM13 * X1 Rg(1 ) • KfgX|( ♦ X(| Xfg* X|2X13 * *13*14 ♦ *|< Rg(2) • K|0xi2*xM x13> xl2xl4 ♦ xl3x)9 ♦ К, Ry(3) ■ X|gX|} ♦Xy, xl4> XiyXig ♦ »ijM|B + Хц Rf(4) • K|0X|4^ X|t K|9+ K|2X|g ♦ *13*|f ♦ X|
х1$ х16 х17 ХШ ж1» О ООО °х15Ж1Хх1?ХИX|gОООООк15вх1бх,7х1ек1ЭОООООх19xl6X|7K|gXigО00ОО1цхцxjyx«gx,gх1$ х16 х17 ХШ ж1» О ООО °х15Ж1Хх1?ХИX|gОООООк15вх1бх,7х1ек1ЭОООООх19xl6X|7K|gXigО00ОО1цхцxjyx«gx,gRj(O) • XfgXig^K^Xjg ♦ ЖПХ|У ♦ *|gX|g ♦ KgR3(ll * Kj5X|6*X|gXiy>X|yXfg ♦ X|gKjgRg(2) = xl9Kl7*x|6X|g + XtrXj^R3II) 3 X|9K|g* XwXjgRj(4) • Х,9Х|ЭRj(O) • XfgXig^K^Xjg ♦ ЖПХ|У ♦ *|gX|g ♦ KgR3(ll * Kj5X|6*X|gXiy>X|yXfg ♦ X|gKjgRg(2) = xl9Kl7*x|6X|g + XtrXj^R3II) 3 X|9K|g* XwXjgRj(4) • Х,9Х|Э
х1$ х16 х17 ХШ ж1» О ООО °х15Ж1Хх1?ХИX|gООО
ООк15вх1бх,7х1ек1ЭОО
ОООх19xl6X|7K|gXigО
00ОО1цхцxjyx«gx,g
х1$ х16 х17 ХШ ж1» О ООО °х15Ж1Хх1?ХИX|gООО
ООк15вх1бх,7х1ек1ЭОО
ОООх19xl6X|7K|gXigО
00ОО1цхцxjyx«gx,g
Rj(O) • XfgXig^K^Xjg ♦ ЖПХ|У ♦ *|gX|g ♦ Kg
R3(ll * Kj5X|6*X|gXiy>X|yXfg ♦ X|gKjg
Rg(2) = xl9Kl7*x|6X|g + XtrXj^
R3II) 3 X|9K|g* XwXjg
Rj(4) • Х,9Х|Э
Rj(O) • XfgXig^K^Xjg ♦ ЖПХ|У ♦ *|gX|g ♦ Kg
R3(ll * Kj5X|6*X|gXiy>X|yXfg ♦ X|gKjg
Rg(2) = xl9Kl7*x|6X|g + XtrXj^
R3II) 3 X|9K|g* XwXjg
Rj(4) • Х,9Х|Э
Фиг. 6.31. Иллюстрация вычисления круговой корреляции.
тельностей можно вычислить с помощью ДПФ по следующей схеме:
Вычислить
U0 (к) = ДПФ {^o^i^a^s^^s^e^i^s} и
70(/с) = ДПФ {^o^i^s^OOOO}, иt (к) = ДПФ {z5Z6^7^9^10^11^12^13}, V\ (/с) = ДПФ {^s^e^y^gOOOO},
Е72 (fc) = ДПФ {^40^11^12^43^14^15^16^17^18}>
У2 ^ = ДПФ {a:ioa:ii.T12a:i3^i4OOOO},
Ua(k^ = ДПФ VxibXieXnX^x» ...}, 73 (к) = ДПФ {^iftXie^n^jsX^OOOO}.
Вычислить
X^k^Ui^vUk^* = 0, 1, 2, 3.
Вычислить
3
Хф)= 2 ХНА), к=о, 1, ...,8.
г=9
Вычислить
Я (тп)= ОДПФ{Х(&)}.
Первые пять отсчетов R (т) являются искомым результатом и также удовлетворяют соотношению
3R(m^ = 2 Ritjn).i=0
Описанная процедура эффективнее, чем предварительный расчет каждой из частичных корреляционных^ функций Rt (т) с помощью обратного ДПФ от Х{ (к) и последующее суммирование этих частичных корреляционных функций. В первом случае для каждого из показанных на фиг. 6.31 блоков чисел размером (9 X 5) рассчитываются два ДПФ, что дает Ut (к) и Vt (к), а одно «общее» ДПФ искомой корреляционной функции получается путем накопления частичных ДПФ. «Общая» корреляционная функция вычисляется посредством единственного обратного ДПФ от полученного путем накопления «полного» ДПФ. Следовательно, общее число выполняемых преобразований равно 2К + 1, где К — количество обрабатываемых блоков данных. Во втором случае, когда накапливаются частичные корреляционные функции, преобразование приходится выполнять ЗК раз.
Из описанной выше методики вычислений видно, что размер ДПФ должен приблизительно вдвое превышать требуемое число отсчетов корреляционной функции, а требуемое количество преобразований равно 2К + 1 (здесь К = NIM, причем N — общее число отсчетов сигнала, а М — требуемое число отсчетов корреляционной функции). Затем, дополнив R (т) нулями и выполнив единственное ДПФ, можно получить оценку энергетического спектра с произвольным частотным разрешением. Если R (тп) является хорошей оценкой корреляционной функции с малой дисперсией, то и преобразование от R (т) также будет достаточно хорошей оценкой спектра.
Для дальнейшего повышения эффективности вычислений можно использовать прием, предложенный Рэйдером, который отметил, что вычисляемые на первом этапе значения Ut (к) можно выразить через Vt (к) и Fi+1 (к). Для этого следует прежде всего несколько изменить характер показанного на фиг. 6.31 секционирования последовательности, предусмотрев, чтобы секции содержали четное число отсчетов, желательно кратное 2, и перекрытие секций в точности было равно 2:1. Эти условия вполне выполнимы, потому что для большинства алгоритмов Б ПФ требуется или желательно иметь секции именно такой длины, а обеспечение перекрытия, в точности равного 2:1, означает, что в данном случае размер преобразования возрастает на один отсчет, что приводит конечно, к незначительному ухудшению эффективности вычисле-
Xo x, X'2*3 x4 Xj Xg X7 ( Xg Xg Xto Хц Xl2 Х,з X14 X15 X16 X17 X,g X19
u0(n)
v0(n)
1
x0Xix2Xjx4X5-x6x7 1-
1■ - -"— -• ■1■• Unlk) Vq(k)
x0х,X2х^0000 ।
u, (n)
11
* x4 x5 x6 x7 *8 x9 X1O X11 1e
v1 (n)
11—► U^k) V, (k)
1 Хд x^ X6 x 0000 |
u2 (n)
1 Xg Xg X10 X,, X,2 X|3 x14 X,5
v2(n)
I1►U2(k) V2(k)
. Xg Xg x10 x„ 00 0 0 1‘
11.
u3(n)
11
■x12 X13 x,4 x,5 X16 x,7 x18 x19J,
v3 (n)
ЛЛ Л 1* U3(k)v3(k)
’XI2 x>3 *14 x>5 0000 I3
11
u4(n)
*4 (n)
11
0 0 0] u.<k>v:<k>
l x16 x17 х1в x19 0 000 1
Фиг. 6.32. Секционирование при вычислении оценок автокорреляционной функции.
450Глава 6
ний. На фиг. 6.32 изображена 20-точечная последовательность с отсчетами от х (0) до х (19), разделенная на пять секций, и показано, для каких секций рассчитывается круговая автокорреляция. Справа показаны эквивалентные БПФ-операции. Идея излагаемого метода, как уже было отмечено, состоит в том, что любой коэффициент ДПф Ut (к) можно представить в функции от Уг (к). Если, например,
Уз (к) = ДПФ {^is^is^i^isOOOO},
то
(- 1)Л V, (к) = ДПФ {0000ж|А^14ж„},
так как круговой сдвиг на NI2 при ДПФ эквивалентен умножению самого ДПФ на (—l)ft. Следовательно,
^2(fc) = V2(A) + (-l)‘V,(A).
В более общем виде
(6.96)(6.96)и1ф) = У1ф^(-^кУтф), 1 = 0, 1, 2, 3, и4ф = ¥4фу
(6.96)
(6.96)
Теперь, используя пару преобразований (6.93), описанную выше процедуру спектральных измерений можно изменить следующим образом:
Вычислить все 7f ф от 70 ф до У4 (к), где У4ф — ДПФ последовательностей, показанных на фиг. 6.32.
Вычислить
xt (к)=Vt (к) [У, (*)+(-1)‘ к,+1 №Ь причем
X4^ = V4(k)V*.(k).
Вычислить•
4
X (А) = 3 X, (А), к = 0, 1, ...,7.
г=0
Вычислить
R (иг) = ОДПФ {X фу
После определения R (иг) можно вычислить спектральные оценки, рассчитав ДПФ от R (иг). Важно отметить, что количество преобразований, которые в рассматриваемом методе составляют основу всех вычислений, удалось уменьшить до К, где К — количество секций.
Для того чтобы дисперсия оценки сходилась к нулю,нужно, чтобы аргумент иг функции корреляции R (иг) был значительно меньше интервала измерения. В результате оценка спектра вычисляется через преобразование усеченной последовательности R ф), а, как известно, усечение во временной области может вызвать чрезмерные пульсации в частотной области; в связи с этим приходится ис-
пользовать окна. Проиллюстрируем сказанное на примере. Пусть интервал измерения содержит 1024 отсчета и известно, что отсчеты R (т) малы при т > 16, причем требуется найти 64 спектраль- ,ные оценки на 64 частотах. Процедура вычислений состоит в следующем:1■
Разделить секцию из 1024 отсчетов на подсекции длиной по 32 отсчета.
Рассчитать 32-точечные Б ПФ этих подсекций с перекрытием 2:1, т. е. сдвигаясь каждый раз на 16 отсчетов.
Используя описанный выше метод, найти R (т) для т в пределах от 0 до 16.
Чтобы получить оценку спектра, умножить R (т) на соответствующее окно w (пг). Затем дополнить R (т) w (m) нулями на интервале от т = 16 до т = 63 и вычислить БПФ сформированного массива.
В общем случае, когда требуется вычислить L отсчетов корреляционной функции по N заданным отсчетам сигнала (N ^> L), рассматриваемый корреляционный метод спектральных измерений можно сформулировать следующим образом. Искомая функция взаимной корреляции имеет вид
N-1
^ху(т)= 3 x^y^n-Vm), m = 0, 1, ..., L—1.(6.97)
№=0
Простая методика вычисления по формуле (6.97) с использованием P-точечного БПФ (Р = 2L) представлена на фиг. 6.33. Из последовательности х (п) образуются подпоследовательности х^ (п) согласно правилу
Xi (п) =х^п+ (-^-) ij , n = 0, 1, ..., Р —1, i = 0, 1, ..., (6.98) а из последовательности у (п) формируются подпоследовательности уг (п) по нескодько иному правилу:
{
у[п+(т)^]* ^=0, 1,1,
i = 0,l,...,(6.99)
0,п = ^х ...,Р-1.
Для каждой пары P-точечных подпоследовательностей xt (п) и yt (п) вычисляется последовательность Wt (т), представляющая собой периодическую корреляцию xt (п) и уг (п). Она может быть записана в виде
Р/2-1
WiW= 2 ^ (^ + -^-) У (^ + -3- + ^) , m = 0, 1, -у w п=0
(6.100)
Фиг.6.33. Секционирование при вычислении функции взаимной корреляции.
Следует отметить, что только (Р/2 + 1) отсчетов вычисленной корреляционной последовательности удовлетворяют формуле (6.100); остальные (Р/2 — 1) отсчетов соответствуют ненужной периодической корреляции. Суммируя отдельные корреляционные последовательности, находим
г
zi (т) = 2 wi{m)=
3=0 г Р/2-1
= 2 2 х(п+т-)у (п+^т + т^=(6.Ю1)
j=0 п=0
(г+1)Р/2-1=2 ж (тг) у (п 4-тп) = Яху (т),(6.102)
п=0
что идентично искомому результату (6.97) для N = (i + 1)Р/2. Таким образом, корреляционные функции можно эффективно вычислять с использованием БПФ при любом числе задержек L.
Как указывалось выше, при вычислении спектральной плотности мощности по корреляционной последовательности с использованием окна w (тп) могут возникнуть трудности. Если ДПФ окна не является положительным, то существует вероятность того, что вычисленная спектральная плотность мощности будет отрицательной, что весьма нежелательно. Причина этого нежелательного результата состоит в том, что вычисленная спектральная плотность мощности равна круговой свертке преобразования окна и преобразования найденной корреляционной последовательности, поэтому, если преобразование окна не является положительным на всех частотах, существует вероятность того, что из-за флуктуационных ошибок оценок корреляционной функции результирующая свертка на некоторых частотах может дать отрицательные значения спектра мощности. Существуют, однако, окна, преобразования которых положительны на всех частотах, например треугольное окно. Именно такие окна и следует применять в тех случаях, когда другие окна приводят к нежелательному результату.
Еще одна трудность применения корреляционного метода встречается при оценке взаимной спектральной плотности по функции взаимной корреляции с использованием окна. Как видно из формулы (6.100), отсчеты функции корреляции здесь измеряются только при положительных значениях иг. При использовании этого метода для оценки автокорреляционной функции ее отсчеты при отрицательных иг получаются автоматически благодаря симметрии автокорреляционной функции. Однако для функции взаимной корреляции эта симметрия не существует. Таким образом, неясно, как использовать окна для сглаживания взаимно корреляционной последовательности при оценке взаимной спектральной плотности. Существует несколько возможных способов сглаживания; они иллюстрируются на фиг. 6.34. Трудность заключается в том, что весьма непросто придать физический смысл значению взаимно корреляционной функции при тп = 0, поскольку последняя зависит от задержки между х (п) и у (п). Так, если у (п) = х (п — Ne), то Rxy (m) будет иметь пик при m = No. И в этом случае можно было бы рассматривать точку m = No как некоторое начало координат Нху (тп). На фиг. 6.34 иллюстрируются три возможных способа взвешивания Rxy (тп) с использованием окна w (тп) до выполнения ДПФ, позволяющих получить оценки S*e (к), имеющие
Фиг. 6.34. Варианты окон для вычисления взаимного спектра по взаимной корреляции.
физический смысл. На фиг. 6.34, а окно (в данном примере треугольное) симметрично относительно точки т = Р/4, причем предполагается, что размер БПФ при вычислении Sxy (к) равен PI2. На фиг. 6.34, б размер БПФ также равен Р/2, но окно симметрично относительно точки т = 0, которой придается физический смысл начала координат. Вариант взвешивания, иллюстрируемый на фиг. 6.34, 5, по-видимому, наиболее разумный. Здесь оцениваются одновременно и Rxy (т), т=0, 1, ..., Р/2, и Rxy(jn) = = Rxy (—иг), т = 0, 1, ..., Р/2, причем Ryx (т) вычисляется точно так же, как и Rxy (т), но х (п) и у (п) меняются местами. В этом случае используется P-точечное БПФ и снова предполагается, что окно симметрично относительно точки(/п = 0. Конечно, время вычисления в третьем случае в два раза больше, чем в двух предыдущих, но часто эти затраты времени не имеют смысла. Более того, поскольку используется P-точечное БПФ, в третьем случае достигается более высокое разрешение оценки взаимной спектральной плотности по частоте.
На фиг. 6.35—6.37 иллюстрируется применение корреляционного метода для измерения автокорреляционной функции и спектральной плотности мощности окрашенного шума, а именно белого шума, пропущенного через КИХ-фильтр нижних частот с равновеликими пульсациями частотной характеристики и импульсной характеристикой, состоящей из 39 отсчетов. Автокорреляционная
Спектральная плотность, дБСпектральная плотность, дБ202016 384 отсчета16 384 отсчетаЗаданный ФНЧЗаданный ФНЧ202016384 отсчета 512 задержек16384 отсчета 512 задержек'40'40IIL_I - IIО 0,10,20,3 040,5Нормированная частотаIIL_I - IIО 0,10,20,3 040,5Нормированная частотафункция шума на выходе такого фильтра теоретически отлична от нуля только на интервале —38 ^ m ^ 38. В действительности измеренные значения функции автокорреляции вне этого интервала в точности не равны нулю, хотя и близки к нему. Аналогично идеальная функция спектральной плотности мощности шума на выходе фильтра нижних частот равна
Спектральная плотность, дБ
Спектральная плотность, дБ
20
20
16 384 отсчета
16 384 отсчета
Заданный ФНЧ
Заданный ФНЧ
20
20
16384 отсчета 512 задержек
16384 отсчета 512 задержек
'40
'40
IIL_I - II
О 0,10,20,3 040,5
Нормированная частота
IIL_I - II
О 0,10,20,3 040,5
Нормированная частота
5У (/) = Sx (/) | Н {е^) [2,
где Sx (/) = о$, а Н (^‘2л/) — частотная характеристика фильтра нижних частот. На . фиг. 6.35 изображено несколько графиков энергетического спектра (в логарифмическом масштабе) при различных значениях числа отсчетов А, по которым вычисляется корреляционная функция. Графики соответствуют значениям N = 128, 256, 1024, 4096 и 16384 соответствен. но, причем число задержек автокорреляционной функции равно 59. При получении оценки спектральной плотности мощности для взвешивания автокорреляционной функции использовалось окно Хэмминга. Чтобы получить достаточно хорошее частотное разрешение, автокорреляционная функция дополнялась нулями и выполнялось 1024-точечное БПФ. Графики для разных N показыва-
Фиг. 6.35. Спектральная плотность мощности шума на выходе фильтра нижних частот, полученная корреляционным методом (в логарифмическом масштабе).
О ОЛ 0,20,30,40.5Нормированная частотаО ОЛ 0,20,30,40.5Нормированная частота
О ОЛ 0,20,30,40.5
Нормированная частота
О ОЛ 0,20,30,40.5
Нормированная частота
ют, что функция lg Sti (/) быстро сходится к 1g \Н (е^2^)). Для сравнения на фиг. 6.35, е показана идеальная характеристика 1g \Н ^е^п1^ |. На фиг. 6.35, ж изображен график спектральной плотности мощности, полученный с помощью БПФ по 512 точкам автокорреляционной функции, взвешенной треугольным окном. Поскольку автокорреляционная функция при т > 38 представляет собой чисто случайную шумовую последовательность, полученная функция спектральной плотности будет совпадать с идеальной характеристикой фильтра 1g |77 (ез2я/)| с наложенным на нее шумом.
На фиг. 6.36 и 6.37 приведены аналогичные результаты прохождения шума через полосовой КИХ-фильтр с 15-точечной импульсной характеристикой и через КИХ-дифференци- атор с 27-точечной импульсной характеристикой соответственно. Очевидно, что корреляционный метод обеспечивает достаточно хорошую сходимость оценок, так что в рассмотренных простых примерах получаемые спектры мощости оказываются достаточно хорошей аппроксимацией теоретических спектров.
Метод 2—метод модифицированных периодограмм
Интуиция подсказывает, что достаточно хорошую оценку
Фиг. 6.36. Спектральная плотность мощности шума на выходе полосового фильтра, полученная корреляционным методом.
Спектральная платность, дБСпектральная платность, дБО 0,10,2 аз 0,40,5Нормированная частотаО 0,10,2 аз 0,40,5Нормированная частота
Спектральная платность, дБ
Спектральная платность, дБ
О 0,10,2 аз 0,40,5
Нормированная частота
О 0,10,2 аз 0,40,5
Нормированная частота
спектра можно получить, используя гребенку фильтров, какпо-
^ казано на фиг. 6.38.
' В соответствии с изложенным в разд. 6.13 гребенку фильтров можно реализовать с помощью скользящего БПФ. Если, кроме того, прореживать выходную последовательность у (и) 6 (фиг. 6.38), то при условии, что фильтры гребенки имеют достаточно узкие полосы, у (п) будет меняться сравнительно медленно. Однако использование в прореживания позволяет вместо скользящего БПФ воспользоваться скачущим БПФ; такая ‘процедура спектральных измерений носит название метода модифицированных периодограмм.
г Для иллюстрации применения этого метода рассмотрим сначала случай у (п) = х (п), т. е. нужно получить спектр мощности стационарного случайного процесса, представлен- д ного типичной последовательностью х (п). На фиг 6.39 показана такая последовательность х (п) и иллюстрируется способ ее разбиения на подпоследовательности хг(п) длиной по L отсчетов. Подпоследовательности жг(п) сдвинуты относительно друг друга на D отсчетов, причем в приведенном на фиг. 6.39 примере D = L/3, ^ так что хТ (п) связаны с х (п)
Фиг. 6.37. Спектральная плотность мощности шума на выходе дифференциатора, полученная корреляционным методом.
Фиг. 6.38. Один канал спектроанализатора для измерения шумов.Фиг. 6.38. Один канал спектроанализатора для измерения шумов.
Фиг. 6.38. Один канал спектроанализатора для измерения шумов.
Фиг. 6.38. Один канал спектроанализатора для измерения шумов.
соотношением
хТ (п) = х [п + (г— 1) D ], г = 1, 2, ..., К, (6.103)
где К — число подпоследовательностей, используемых для вычисления спектральной плотности мощности. Для каждой из взвешенных подпоследовательностей хг (п) рассчитываются коэффициенты Б ПФ, Хт (fc), по формуле
L-1
Хг (Л) = 2 хт (n) w ^ e-iW ^(6.104)
п=0
(6.105)(6.106)(6.107)(6.105)(6.106)(6.107)где w (л) — соответствующее окно. Величина 1Т (/д), называемая периодограммой, вычисляется по формуле где
(6.105)
(6.106)
(6.107)
(6.105)
(6.106)
(6.107)
к
fh = ——частоты ДПФ, а
L-1
U = 2 W2, (и) — энергия окна.
п=0
Оценка спектральной плотности мощности Sx (fa) находится по формуле кк
§х w 4 2 Ш)=^, 2 № да р. (6.Ю8)
Фиг. 6.39. Секционирование входной последовательности при вычислении спектральной плотности.Фиг. 6.39. Секционирование входной последовательности при вычислении спектральной плотности.
Фиг. 6.39. Секционирование входной последовательности при вычислении спектральной плотности.
Фиг. 6.39. Секционирование входной последовательности при вычислении спектральной плотности.
Таким образом, оценка спектральной плотности мощности равна среднему значению периодограмм отдельных подпоследовательностей. Уэлч показал, что математическое ожидание этой оценки описывается формулой
+ 0,5
EVMM= J H(nSxUk-ndf = H(n*Sxmi (6.109) -0,5
где■
Н (f) = [ W (е^) |2,(6.110)
£-1
И^зл/)^ 2 W(n)e-^n,(6.111)
n=0
a Sx (f) — истинная спектральная плотность мощности анализируемого процесса с отчетами х (п). Из формулы (6.109) следует, что математическое ожидание искомой оценки равно свертке истинной спектральной плотности мощности с квадратом модуля фурье- преобразования от последовательности окна. Кроме того, Уэлч показал, что в случае, когда последовательность х (п) формируется из реализации гауссовского случайного процесса, а функция Sx (f) является достаточно гладкой в диапазоне частот, где значения ДПФ окна достаточно велики, дисперсия оценки описывается формулой
К-1
Var(S,(f„)}-l^^[l + 2 2 ^+(7)],(6-112)
j=l
где
£-1
[ 2 “'№“'№ + 7®)12
Р (7) - ■ ”,(6.113)
[ 2 "’N2
6=0
В качестве иллюстрации применения формулы (6.112) рассмотрим случай D = L, для которого р (/) = 0 при 1 ^ / ^ К — 1. Для этого случая
Var'[3, (О =,(6.114)
где К = NIL. Теперь рассмотрим случай D = L/2, причем считаем, что используется треугольное окно, изображенное на фиг. 6.40. Для этого случая р (1) = 1/16 [см. формулу (6.113)1 и р (/) = 0 при / ^> 2. Следовательно,
Var2 [5, (/„)] =Var2 [5, (/„)] =(6.115)(6.115)[5 (/n)F / 17 \К' \ 16 / •
Var2 [5, (/„)] =
Var2 [5, (/„)] =
(6.115)
(6.115)
Фиг. 6.40. Треугольное окно.
Но К' = Nl(LI2) = 2К, поэтому соотношение (6.115) можно переписать в виде
Var* & (/„)] = ^-^ ( ^) = (^-) Var* [$х (/„)]. (6.116)
Итак, используя всего лишь сдвиг подпоследовательности на половину ширины окна, а не на полное окно, можно уменьшить дисперсию оценки почти в два раза (но за счет удвоения времени вычисления).
При вычислении взаимного спектра обе последовательности х (га) и у (га) разбиваются на подпоследовательности хг (п) и уг (п\ как показано на фиг. 6.39. Каждая из подпоследовательностей перед вычислением преобразований Хт (к) и Y, (к) взвешивается окном. Периодограмма в этом случае имеет вид
/г(/е) = ±Хг(1=)У‘(1=),(6.117)
где U определяется согласно формуле (6.107). Оценка ваимного спектра находится по формуле
кк
Фиг. 6.41. Спектральная плотность мощности шума на выходе фильтра нижних частот, полученная с помощью периодограмм.
2020ОО0,40,40,20,20,10,10,30,3Нормированная частотаНормированная частота5?^ -20О §-40I §--005?^ -20О §-40I §--00ОО0,50,5
20
20
О
О
0,4
0,4
0,2
0,2
0,1
0,1
0,3
0,3
Нормированная частота
Нормированная частота
5?
^ -20
О §-40
I §--00
5?
^ -20
О §-40
I §--00
О
О
0,5
0,5
16384 отсчета Окно Хэмминга
Фиг. 6.42. Спектральная плотность мощности шума на выходе полосовогофильтра, полученная с помощью периодограмм.
Снова можно показать, что математическое ожидание этой оценки равно свертке истинной взаимной спектральной плотности мощности с квадратом ДПФ от окна.
На фиг. 6.41—6.43 иллюстрируется практическое использование метода модифицированных периодограмм для оценки спектральной плотности мощности окрашенного шума применительно к трем примерам, приведенным ранее на фиг. 6.35 — 6.37. В каждом из этих примеров спектральная плотность оценивалась на 513 равноотстоящих частотах от / = 0 до / = 0,5, т. е. с исполь-
16384 отсчета Окно Хэмминга16384 отсчета Окно ХэммингаО 0,10,20,30,40,5О 0,10,20,30,40,5Нормированная частотаНормированная частотаФиг. 6.43. Спектральная плотность мощности шума на выходе дифференциатора, полученная с помощью периодограмм.Фиг. 6.43. Спектральная плотность мощности шума на выходе дифференциатора, полученная с помощью периодограмм.
16384 отсчета Окно Хэмминга
16384 отсчета Окно Хэмминга
О 0,10,20,30,40,5
О 0,10,20,30,40,5
Нормированная частота
Нормированная частота
Фиг. 6.43. Спектральная плотность мощности шума на выходе дифференциатора, полученная с помощью периодограмм.
Фиг. 6.43. Спектральная плотность мощности шума на выходе дифференциатора, полученная с помощью периодограмм.
зованием L-точечного БПФ (L = 1024). Для взвешивания входной последовательности применялось окно Хэмминга. С целью уменьшения дисперсии оценки при фиксированном числе входных отсчетов был использован сдвиг подпоследовательностей на D = 512 отсчетов. Общее число подпоследовательностей равно 32, т. е. всего обрабатывалось N = 16384 отсчетов. На фиг. 6.41 изображен энергетический спектр шума на выходе фильтра нижних частот (в логарифмическом масштабе), а на фиг. 6.42 и 6.43 — энергетические спектры шумовых последовательностей на выходах полосового фильтра и дифференциатора соответственно.
Выводы
Итак, для оценки энергетического спектра или корреляционных функций случайных процессов можно использовать два эффективных метода. В зависимости от конкретной задачи каждый из них может иметь преимущества относительно другого. Общим для обоих методов является то, что среднее значение оценки спектра сходится к определенной величине, а дисперсия оценки стремится к нулю, когда число обрабатываемых отсчетов стремится к бесконечности.
19. Свертка и корреляция с использованиемтеоретико-числовых преобразований г)
До сих пор вопросы свертки и корреляции теоретически и практически рассматривались только для данных, дискретизованных по времени. Квантованные данные (т. е. данные, дискретизованные, по амплитуде) также были рассмотрены в гл. 5, но при этом каждый отсчет представлялся в виде суммы истинной непрерывной величины и ошибки, а задача состояла в том, чтобы оценить ошибку или минимизировать ее. В данном разделе будет использован совершенно другой подход, а именно будут рассматриваться данные, которые могут принимать только квантованные (целые) значения. Будет изложен интересный метод вычисления сумм произведений сдвигаемых последовательностей (сверток и корреляций) таких чисел, позволяющий в некоторых случаях получить существенную экономию времени счета.
Мы были вынуждены бороться с эффектами округления и переполнения только потому, что при выполнении вычислений без устранения переполнений и без округлений часто нарушается основное требование любой строгой системы счисления, состоящее в том, чтобы в результате выполнения операций над числами получались числа только той же системы счисления. Предположим,
х) Этот раздел книги написан Ч. М. Райдером (Линкольновская лаборатория МТИ, Лексингтон, Массачусетс).
что суммируются два десятиразрядных двоичных целых числа при длине слова 10 разрядов. Правильный результат сложения может быть представлен только 11 разрядами. Таким образом, могут иметь место два случая. В первом из них старший разряд суммы равен нулю, и тогда сумма представляется, очевидно, 10-разряд- ным словом. Во втором случае старший разряд равен 1, так что результат не может быть размещен в имеющемся регистре. Этот случай называется переполнением. Для математика переполнение указывает на то, что при операции сложения нарушается условие замкнутости, если система возможных чисел включает только 10-разрядные целые числа. При умножении возникают еще большие проблемы подобного рода.
Чтобы удовлетворить условию замкнутости, и были введены операции округления и усечения. Фактически были изменены определения сложения и умножения, которые стали включать операции сдвига и округления. В результате условие замкнутости стало выполняться, однако равенство перестало быть точным.
Совершенно другой подход состоит в том, чтобы выполнять вычисления в соответствии с другими, модифицированными определениями сложения и умножения, которые удовлетворяли бы и условию замкнутости,' и условию точного равенства, но за счет допущения d «неправильных» промежуточных результатах. Если и конечный результат такой процедуры вычислений «неправильный», она не представляет интереса. Однако если правильный конечный результат гарантирован, тот факт, что промежуточные результаты были неверны, не имеет никакого значения. Хорошим примером подобного рода вычислений является суммирование знакопеременных целых чисел с использованием фиксированной запятой (в обратном или дополнительном кодах). Если заранее известно, что результирующая сумма может быть корректно представлена при заданной длине слова, любое переполнение в процессе счета можно не учитывать. Для этого примера справедлив новый подход; изучим его более детально для общего случая. Рассмотрим правила сложения и умножения по модулю М, где М — целое, называемое модулем.
Допустимыми числами при выполнении операций будут считаться числа 0, 1, 2, 3, 4, ..., М — 1. Два числа а и Ъ называются сравнимыми по модулю М, если их разность в точности кратна М; следовательно, понятия сравнимости и равенства не совпадают, за исключением случая, когда разность между а и Ъ меньше М. В последнем случае единственное число, кратное и меньшее М, может быть только нулем, поэтому а и Ъ должны быть равны. При сложении чисел с использованием слов /с-разрядной длины результат в случае переполнения отличается от «обычного» результата на величину, кратную 2ft. Следовательно, при условии, что М = 2А, результат сложения будет сравним по модулю М с обычной сумг
мой (содержащей больше чем к разрядов). По индукции конечный результат будет сравнимым с обычной суммой, несмотря на возможные многократные переполнения. Если же известно, что конечная обычная сумма представляется /с-разрядным числом, то, так как разность между двумя /с-разрядными числами меньше, чем 2ft, обычный и получаемый результаты должны быть не только сравнимыми по модулю 2ft, но и равными. Ниже будет показано, как, используя другие модули, этот принцип можно успешно применять при выполнении более сложных операций, чем простое суммирование.
Напомним основные свойства сравнений:
Переместительный закон: а + Ъ = Ъ + а; аЪ = Ъа.
Сочетательный закон: (а + Ь) + с = а 4- (5 -|- с); (ab)c = = а (be).'
Распределительный закон: а (Ь + с) = ab + ас.
Тождественность: а + 0 = а; а (1) = а.
Отрицание: для каждого а существует элемент (—а), такой, что а + (—я) = 0.
Замкнутость: оба числа, и (а + Ъ), и ab, являются допустимыми числами рассматриваемой системы счисления.
Аналогия: если а = b и с = d, то а-Ас = ЬА~йи ас = bd; если а = Ъ и Ъ = с, то а = с; если а = Ь, то b = а; ... .
Необходимо сделать два замечания. Во-первых, при выполнении вычислений по модулю М замкнутость сохраняется всегда, поскольку, если разрядность результата вычисления превышает длину слова, есть возможность, не изменяя результата, вычитать из него любое целое число модулей, так как при этом он остается сравнимым с исходным результатом арифметической операции. Во-вторых, несмотря на то что существует операция, обратная сложению, с помощью которой можно производить вычитание , нет гарантии, что существует операция, обратная умножению, так что деление не обеспечивается. Это положение справедливо и для целых чисел с обычной арифметикой. Однако в арифметике по модулю М все же имеется ряд взаимно обратных чисел. Так, если М = 14, то целое а = 2 не имеет обратного ему числа, но целые а = 3 и & = 5 являются взаимно обратными, поскольку 3-5 = = 15, что сравнимо с 1 по модулю 14.
Так как в дальнейшем будут использоваться и сравнения, и равенства, необходимо ввести соответствующие обозначения. Обозначим операцию сравнения как а = , а равенство обычным символом =. Если некоторая величина должна быть заменена на Другую, сравнимую с исходной и принадлежащую ряду 0, 1, 2,..., М — 1, будет использоваться символ ((•)), так что ((я)) = хА-тМ, где г — целое, и
0^((ж))<М.
Операция ((•)) называется приведением к остатку. Она используется для обеспечения замкнутости без нарушения сравнения при вычислениях с конечной длиной слова. Один из способов приведения к остатку состоит в делении числа на модуль и сохранении только остатка. Так, если М = 14, то ((36)) = 8, так как
14“ 14*
На практике применение этого способа приведения к остатку требует больших затрат времени; к счастью, существуют более простые приемы.
Нас интересует вычисление сверток и корреляций, но, как известно, корреляцию можно представить в виде свертки, поэтому ниже анализируется только вычисление свертки. Поскольку операции умножения и сложения будут рассматриваться по модулю М, имеет смысл говорить о свертке двух последовательностей по модулю М. Пусть при использовании обычной арифметики последовательность сп задается соотношением
сп = ап * &п.
При использовании в вычислениях операции ((•)) может быть получена последовательность dn, так что dn =сп. Для нас наибольший интерес представляют случаи, когда, вычислив dn, можно получить сп. Пусть наибольшее и наименьшее возможные значения сп равны си и Ср соответственно. Тогда, если М больше, чем (си—ср), может существовать только одно число, сравнимое с dn по модулю М, а именно сп. В этом случае вычисление dn фактически дает сп. Конечно, всегда есть возможность увеличить верхний предел значения свертки, выбрав модуль, превосходящий эту величину.
Покажем теперь, что между способами вычисления свертки с использованием Б ПФ и арифметики по модулю М существует полная аналогия, хотя это справедливо лишь для определенных значений модуля М. Чтобы продемонстрировать это утверждение, следует предварительно рассмотреть свойства показательной последовательности по модулю М.
Рассмотрим последовательность ((ап)). Для нее справедливо соотношение
(6.119) или
ап га-а^1 (mod МУ (6.120)
Последнее соотношение соответствует автомату с конечным числом состояний; величина а может принимать только М значений, так что ((ап)) должна периодически повторяться через самое большее (Л/ — 1) значений п (случай а = 0 приводит к его собственной последовательности со значительно более коротким периодом).
Эта периодичность может быть либо абсолютной, либо с установлением в начале. Приведем два примера:
М = 8, а = 2.
а° = 1, а1 = 2, а2 = 4, а3 = 0, а” = 0 при п > 2; периодичность с установлением в начале.
М = 9, а = 2.
а° = 1, а1 = 2, а2 = 4, а3 = 8, а4 = 7, а5 = 5, а® = 1, а” s sb ап-в; периодичность абсолютная.
Второй пример значительно интереснее. Из свойств показательной последовательности следует, что произведение аУ и а®~р сравнимо с 1, и, следовательно, они являются взаимно обратными числами, несмотря на отсутствие в общем случае в арифметике по модулю М операции, обратной умножению. В обычной арифметике с целыми числами подобной ситуации не возникает, поэтому здесь нет аналогии с ДПФ, выполняемым с применением обычной арифметики в целых числах. Второй пример представляет по крайней мере один случай такого выбора модуля и вида степенной последовательности, при котором последовательность обладает свойством периодичности, аналогичным свойству WN = 1 в поле комплексных чисел. Чтобы не искать наугад подобные случаи, сформулируем соответствующую теорему:
Теорема. Величины р и q являются взаимно обратными по модулю М, если р и М являются взаимно простыми. Доказательство.
Поскольку возможно М значений q, составим следующий набор уравнений:
р-0 = ?
р-1 = ?
р-2 = ?
р-(М — 1) = ?
Существуют две возможности: либо в одном из этих М уравнений вместо вопросительного знака стоит 1 (означающая, что уравнение соответствует правильному значению q, обратному р), либо 1 нет ни в одном из уравнений. В последнем случае, поскольку имеется М уравнений, а величин справа может быть только М — 1 (не больше), должна наблюдаться повторяемость. Пусть повторяемость будет при q = а и q = Ь. Положим, что а > Ь, и запишем
илиилиp-a = p-b (mod М)
или
или
р (а — Ь) = 0 (mod М).
Следовательно, М является делителем р (а — by Далее, а — Ъ меньше М и поэтому не может содержать все сомножители М. Однако, согласно условию, р не имеет общих сомножителей с М. Следовательно, вторая из возможностей приводит к противоречию и становится ясно, что pq может быть сравнимо с 1 по модулю М, если только р и М не имеют общих сомножителей. В то же время было показано, что если р не имеет общих сомножителей с М, то в записанных выше уравнениях не может быть повторений, поэтому в одном из них вместо вопросительного знака должна быть 1. Таким образом, доказаны и необходимое, и достаточное условия теоремы.
Из приведенной теоремы непосредственно следует, что произвольное число х, взаимно простое с М, позволяет сформировать степенную последовательность ((жп)) с периодом, меньшим или равным (М — 1), для всех членов которой существуют обратные им числа по модулю М или, что .еще важнее, период последовательности ((яп)) можно связать с модулем М. Конечно, эта последовательность может содержать лишь члены, взаимно простые с М (поскольку само число х является взаимно простым с М, что согласуется с главным условием периодичности). Количество целых чисел, меньших М и взаимно простых с М, является функцией М и обозначается как ф (М). Ясно, что оно дает максимально возможный период последовательности ((яп)). Обозначим действительный период последовательности через N. С математической точки зрения это означает, что х имеет порядок N по модулю М1). Эйлер доказал следующую интересную теорему:
((х^м)^ = 1. (6.121) Докажем ее методом, аналогичным доказательству предыдущей теоремы. Для этого представим, что записаны все целые т^ меньшие М и взаимно простые с М, и умножим каждое из них на х по модулю М. Поскольку все произведения должны отличаться друг от друга и быть взаимно простыми с М, они будут представлять собой переставленные значения исходного набора rt. Перемножим все члены исходного набора и полученных произведений:
ф(М) Ф(М)
П ((№,))-( П re) (mod ЛО. (6.122) 1 = 1 1=1
Сократив на произведение гь находим, что жф(М) сравнимо с 1, что и требовалось доказать. Таким образом, получен очень важный результат: период N последовательности ((#”)) должен быть делителем ф (М).
х) То есть $N а 1 (mod Af) и период последовательности ((хп)) равен ^.— Прим. ред.
Часто в качестве модуля выбирают простое число Р. Ло определению ф (Р) = Р — 1, и любое целое, меньшее Р, является взаимно простым с Р, так что
(modP).(6.123)
Этот результат известен как теорема Ферма. Практически все вопросы теории чисел так или иначе связаны с работами Ферма; ниже мы еще неоднократно будем к ним обращаться.
Изучение свойств последовательности ((жп)) несколько увело нас в сторону от интересующего вопроса об аналогии между операциями вычисления свертки методом Б ПФ и с использованием арифметики по модулю М. Чтобы установить ее, проведем сначала аналогию с алгоритмом БПФ и, следовательно, с ДПФ. Определим теоретико-числовое преобразование последовательности из N целых чисел хп по мудулю М как некоторую другую последовательность из N целых чисел Xhl рассчитываемых согласно следующей формуле:
N- 1
Х,-((2 «„«"*)).(6.124)
71=0
где а — целое число, взаимно простое с М и имеющее порядок N. Формула (6.124) аналогична ДПФ, но в качестве W = ехр (/2лЛ¥) здесь используется целое число а, N-я степень которого сравнима с 1, и, кроме того, все вычисления проводятся по модулю М. Напомним, что при выводе алгоритма БПФ использовался тот факт, что WN = 1. Поэтому и теоретико-числовое преобразование может быть вычислено с применением аналогичного алгоритма, но с заменой умножений на степени W в БПФ умножениями на степени а. Как и в случае ДПФ, для существования стандартных алгоритмов БПФ N должно быть составным целым числом. Однако в отличие от ДПФ сами теоретико-числовые преобразования не применяются. Ниже они будут использованы лишь для вычисления сверток и корреляций. Правда, при этом придется перемножать соответствующие коэффициенты теоретико-числовых преобразований двух последовательностей, например хп и hn. Для получения круговой свертки исходных последовательностей используется обратное преобразование от последовательности этих произведений. Таким образом, придется определить и обратное теоретико-числовое преобразование. По аналогии с ДПФ оно должно иметь вид
N—1
хт = ^-‘ 2 X*®—-)).(6.125)
h=0
Отрицательный знак в показателе степени а в преобразовании (6.125) имеет определенный смысл, поскольку было показано, что члены периодической степенной последовательности имеют
обратные им числа. При записи преобразования (6.125) были сделаны два предположения. Первое касается существования числа W"1, обратного числу N. Известно, что оно существует, если N и М не имеют общих сомножителей. Второе предположение состоит в том, что преобразование (6.125) действительно является обратным теоретико-числовым преобразованием. Чтобы показать это, подставим формулу (6.124) в (6.125) и получим таким образом еще одно соотношение между N, М и а. Итак,
N-l N-1
zm = ((^* 2 2 z„a"*a-«»)).(6.126)
Д=0 п=0
Меняя порядок суммирования, находим
N-l N-1
z„ = (( S ^ 2 jV-iah—->»)).(6.127)
п=0 д=о
Можно показать, что оба эти ^выражения являются взаимно обратными. Для этого убедимся, что
если i = 0 (mod TV), при других г.если i = 0 (mod TV), при других г.(6.128)(6.128)^-l
если i = 0 (mod TV), при других г.
если i = 0 (mod TV), при других г.
(6.128)
(6.128)
((2«е)Мб(1),
h=0
При i = 0 (mod TV) имеем а1 = l(mod ТИ), так что равенство (6.128) легко доказывается. Если же г ^ 0 (mod TV), то умножая на 1 — аг, получим
N-1(((!—«*) 2 «’*)) = ?к=0 '
Все смежные члены суммы взаимно уничтожаются, остаются первый и последний, равные ((1 — а^к)), которые также взаимно уничтожаются. Следовательно,
N-1
(((1 —а1) 2 а^)) = 0.(6.129)
h=0
Отсюда можно легко получить нужный результат, если не учитывать необходимости делить обе части равенства (6.129) на 1 — а\ (деление как операция не определено). Сократить на множитель 1 — аг можно только при условии, что существует обратное ему число, и только при этом формула (6.125) действительно представляет обратное теоретико-числовое преобразование. Сформулированное условие, заключающееся в том, что число 1— а1 не должно иметь общих сомножителей с М для г = 1, 2, ..., N — 1, и является последним ограничением.
Подведем итог вышеизложенному.
Теоретико-числовое преобразование последовательности из N отсчетов определяется следующим образом:
Xk = ^ xna^Y
п=0
где модуль М и длина последовательности N не имеют общих сомножителей, N является делителем ф (Л/), а выбирается так, чтобы оно имело порядок N и было взаимно простым с М.
Обратное теоретико-числовое преобразование последовательности из N отсчетов определяется следующим образом:
k=0
где (1 — ak) является взаимно простым с М для всех к, за исключением тех, которые сравнимы с 0 по модулю N.
Все эти условия можно сформулировать в более сжатой форме следующим образом (без доказательства). Преобразование будет обеспечивать вычисление круговой свертки при а, имеющем порядок, равный Nтогда и только тогда, когда Р — 1 делится на N, причем Р — любой из простых сомножителей М.
Доказательство теоремы о свертке для теоретико-числового преобразования очевидно. Математические выкладки будут такими же, как и для ДПФ; читатель может проделать их самостоятельно в качестве упражнения. Поэтому будем считать доказанным, что, вычислив обратное преобразование от произведения теоретико-числовых преобразований, можно получить результат, сравнимый с круговой сверткой исходных последовательностей. Если число N составное, для вычисления прямого и обратного преобразований можно использовать алгоритм БПФ и таким образом очень быстро получить результат, сравнимый с круговой сверткой последовательностей целых чисел.
Здесь, по-видимому, имеет смысл привести практический пример. Чтобы продемонстрировать математическую сторону, а не эффективность вычислений, рассмотрим простейший случай: найдем четырехточечную круговую свертку последовательности 1, 2, О, 0 саму с собой. Выберем модуль М = 17 и a = 4. Величина N, естественно, равна 4, а а, как легко убедиться, имеет порядок N по модулю М. N-1 равно 13. Перепишем для удобства все степени а: а0 = 1, а1 = 4, а2 = 16, а3 = 13.
Прямое преобразование с применением БПФ:
Исходная последовательность1200
После двоичной инверсии1020
После первого этапа вычислений (после сложений
и вычитаний)1122
После второго этапа вычислений391610
В итоге получено преобразование исходной последовательности. Возведем его коэффициенты в квадрат по модулю 17:
Преобразование от свертки913115
При обратном преобразовании умножаем на N~^ = 13, изменяем знак в показателе степени1) и выполняем преобразование аналогично предыдущему:
Преобразование, умноженное на 13
15
16
13
8
После изменения знака показателя степени
15
8
13
16
После двоичной инверсии
15
13
8
16
После первого этапа вычислений
11
2
7
9
После второго этапа вычислений
1
4
4
0
Итак, получен результат круговой свертки исходной последовательности с ней самой. Поскольку максимальное значение истинного результата равно 4, сравнимость полученных значений по модулю 17 обеспечивает равенство. Заметим, что в процессе вычислений все результаты записывались по модулю 17 с приведением к остатку всякий раз, когда результат вычисления выходил за пределы, от 0 до 16.
Рассмотрим теперь практические аспекты нового метода. Свертки, полученные с использованием теоретико-числового преобразования, в отличие от обычного метода с применением БПФ являются точными. Поскольку числа по модулю М образуют конечное множество, ни на одном из этапов вычислений приближения не вводились. Действительно, при наличии ошибки даже в одном, самом младшем разряде результат был бы совершенно неверным. К счастью, данная система счисления не требует ни округления, ни усечения даже при самых сложных вычислениях. В практических применениях интерес представляет скорее не сравнимость результатов, а их равенство, поэтому значения свертки должны быть ограничены тем или иным способом, чтобы можно было заменить сравнимость на равенство. Если, например, каждая' из двух 64-точечных последовательностей представлена 10-разрядными числами, для точного представления результата необходим 26-разрядный регистр. Таким образом, вычисления с использованием теоретикочислового преобразования потребуют использования модуля М» превышающего 226. Было предложено несколько способов совместного использования меньших модулей, но при этом возникают другие трудности.
Еще одна особенность использования теоретико-числового преобразования состоит в необходимости часто выполнять операции приведения к остатку, чтобы избежать представления промежуточных результатов словами с большим числом разрядов. В самом
!) Как и в случае ДПФ, одну и ту же программу можно использовать для вычисления и прямого, и обратного преобразований.
деле, фактически после каждой операции необходимо выполнить приведение к остатку. Для этой цели, как было отмечено выше, можно использовать деление числа на модуль и сохранение лишь остатка, однако деление требует больших затрат времени и его стараются избегать, особенно при выполнении совместно со сложением. В действительности, поскольку нам нужен только остаток, выполнять деление нет необходимости. Методы определения остатка зависят от конкретного М, причем простейшие с точки зрения нахождения остатка, но в то же время наиболее важные модули1) имеют вид М = 2" ± 1.
Арифметика по модулю 2" — 1 известна достаточно хорошо. Все величины представляются g разрядами. Результаты арифметических действий (суммы и произведения), для которых потребуется больше чем g разрядов, могут быть легко приведены к остаткам, если учесть, что 2? сравнимо с 1 по модулю 2 — 1, так что при сложении разряд переноса с весом 2^ просто добавляется к младшему значащему разряду. Такой перенос называют циклическим, а соответствующую систему счисления — арифметикой с представлением чисел в обратном коде. При умножении получается более одного дополнительного разряда сверх исходных g разрядов. Первый дополнительный разряд имеет вес, сравнимый с 1, последующие разряды имеют веса, сравнимые с 2, 4 и т. д. Следовательно, дополнительные разряды произведения сверх младших g значащих разрядов образуют двоичное число, которое можно добавить к двоичному числу, состоящему из младших g значащих разрядов произведения. Например, при g = 8, М = = 255 произведение ab = 258 = 100000010 можно разложить на два слова: 00000001 и 00000010, сложение которых дает 00000011 = = 3.
Проводимые в настоящее время исследования различных М в виде 2’ — 1 позволили найти несколько интересных модулей, но ни один из них не представляет такого интереса, как модуль вида М = 2^ +1.
Арифметика по модулю 2^ + 1 изучена менее детально. Для представления всех возможных величин здесь требуется sr 4-1 разрядов. Это представление в какой-то мере неэффективно, поскольку только для одного числа, а именно для 2^, старший значащий разряд равен не нулю, а единице. Но если не учитывать неэффективность использования разрядов, то между данной и рассмотренной выше арифметиками можно обнаружить сходство. Разряд с весом, равным 2?, представляет величину, сравнимую с —1 по модулю М. Следовательно, вместо циклического переноса для сложения нужно производить циклический перенос для вычитания. В этом и состоит отличие от предыдущего случая, но при
этом, помимо обеспечения циклического переноса, не требуется какое-либо дополнительное оборудование. При умножении произведение имеет обычно больше чем g разрядов. Если разложить произведение на два слова, одно из которых представлено младшими разрядами, а другое — остальными разрядами, то второе слово следует вычесть из первого. Например, при g = 8, М =257 произведение ab = 258 = 100000010 раскладывается, как и прежде, на 00000001 и 00000010, т. е. на 1 и 2, и разность между ними равна 2 — 1 = 1. Таким образом, приведение к остатку при модуле М = 2" +1 выполняется почти так же просто, как при модуле 2" — 1. Не следует забывать, что в данном случае есть одна величина 2?, которая представляется g 4-1 разрядами. Чтобы вычисления выполнялись без ошибки, необходимо принять две меры предосторожности. Во-первых, следует учитывать особый случай, когда результат сравним с —1. Если (снова для М = 257) получен результат 100000000, то его разложение, составленное из старших разрядов, дает 4-1, а разложение из младших разрядов дает 0. Циклическое вычитание дря этого случая дает —1, т. е. результат правильный, но его нельзя представить восьмиразрядным словом. Вторую предосторожность необходимо соблюдать при умножении в том случае, когда численное значение слова, образованного старшими разрядами, превысит численное значение слова из младших разрядов, так что при вычитании получается отрицательный результат. В этом случае к отрицательной величине необходимо добавить М с тем, чтобы результат находился в диапазоне от 0 до М — 1. Конечно, при таком сложении нельзя забывать и о первой предосторожности.
Упомянем также и правило изменения знака числа: нужно инвертировать g разрядов и добавить число 4-2 (снова используя циклическое вычитание).
Общепризнано, что эта арифметика несколько более сложная, чем обычно используемая система сложений и умножений. С другой стороны, здесь нет необходимости в делении для приведения к остатку, поскольку деление заменяется значительно более простой операцией. Таким образом, среди возможных модулей М = = 2^ 4- 1 будем искать такие g, которые приводят к преобразованиям со свойствами, представляющими для нас интерес, не забывая об ограничивающих соотношениях, связывающих М, N и а. Простейшим из ограничений является случай простых М. Можно поставить вопрос: при каких значениях g модуль М = 28 4- 1 является простым? Ответ хотя и неполный, но зато удивительно простой, состоит в следующем. Пусть g будет нечетным, скажем g = 2г 4- 1. Тогда М = 2*4Г 4-1 и, следовательно, М = 0 (mod 3). Это означает, что М делится на 3, т. е. число М не является простым1). Исследование четных значений g равносильно рас-
4 Кроме М = 3.
смотрению модулей М = 4Л+ 1. Теперь, если h нечетное, М будет делиться на 5, поскольку 4 в —1 (mod 5). Следовательно, М не является простым *). Случай четных h соответствует модулю М = = 16 4- 1. Здесь, если I нечетное, М имеет сомножитель 17.
Методом итераций можно показать, что только те значения М могут быть простыми, у которых g являются степенью двойки. Заметим, что последнее утверждение не доказано; показано лишь, что М является составным, если g имеет какой-либо нечетный сомножитель. Первыми несколькими членами последовательности простых модулей являются М = 3, М = 5, М = 17, М = 257, М = 65537. Ферма предположил, но не смог доказать, что все числа вида 2”* -|- 1 являются простыми. На самом же деле число 232 4- 1 является составным и имеет сомножитель 641, а все последующие числа Ферма тоже, по-видимому, являются составными. Целые числа вида 22”1 4- 1, как простые, так и составные, называются числами Ферма. Другое важное для нас свойство известно из работ Лукаса, еще одного известного специалиста в области теории чисел, который показал, что любой простой сомножитель р числа Ферма должен иметь вид р = 2т+2А; 4- 1. Последнее означает, что когда модуль равен числу Ферма, должно существовать теоретико-числовое преобразование для любого N, равного степени двойки и не превышающего 2т+2, если число Ферма составное, а также для любого N, равного степени двойки и меньшего чем М, если число Ферма простое. Такие размеры преобразований позволяют использовать алгоритмы, подобные простейшим алгоритмам Б ПФ с основанием два.
Одно интереснейшее свойство преобразования по модулю М, равному числу Ферма, выявляется при анализе возможных значений а. Поскольку 28 = —1 (mod М), то 2^ =l(mod44). Из простых соображений ясно, что никакая меньшая, чем 2g, положительная степень двойки не может быть порядком числа 2 по модулю М. В самом деле, для М = 22т 4- 1 при а = 2 и N = = 2m+1 все необходимые условия действительно удовлетворяются. Преобразование для этого необычного случая будет иметь ВИД2)
-71=0
Обратное преобразование равно
N-1 а» = ((2* 3 h=0
где
Пример, т = 3, 2™ = 8, М = 257, N = 16, t = 12. Этот особый случай преобразования по модулю чисел Ферма называют числовым преобразованием Ферма. Отметим, что как в прямом, так и в обратном преобразовании используются только умножения на степень двойки. Последнее справедливо и для вычислений числовых преобразований Ферма с помощью алгоритма БПФ. Кроме того, важно, что умножение на степень двойки, достаточно простое в обычно используемой системе счисления с представлением чисел в дополнительном коде, оказывается довольно простым и в системе счисления по модулю чисел Ферма: число сдвигают влево на количество разрядов, равное степени двойки, и затем вычитают слово, образованное старшими разрядами, из слова, образованного младшими разрядами. Поскольку первое из этих слов имеет после сдвига вид ООбОхххх (рассматривается улучай сдвига восьмиразрядного слова на четыре разряда), а второе имеет вид ууууОООО, то вычитание становится чрезвычайно простым и требует меньшего числа логических операций, чем, например, в обычном полном сумматоре. Оно выполняется следующим образом:
у у у у хх X X— 1+1
т. е. к младшему значащему разряду представленного в обратном коде слова, сдвинутого за рязрядную сетку, добавляется +1, а к последнему младшему значащему разряду сдвинутого исходного слова добавляется —1. Заметим, что перенос, связанный с добавлением + 1, будет компенсировать —1, тогда как циклическое вычитание, связанное с добавлением —1, приводит к добавлению еще одной единицы в младший значащий разряд слова.
Ко времени написания книги этап логического проектирования арифметического устройства для выполнения числового преобразования Ферма еще не был завершен, но само преобразование было запрограммировано на ЦВМ IBM 360. Оказалось, что с помощью этого преобразования свертки можно вычислять примерно в три раза быстрее, чем с использованием обычного алгоритма БПФ. Причинами сокращения времени вычисления являются следующие:
Числовое преобразование Ферма выполняется без умножений, поэтому для расчета TV-точечной свертки требуется всего N умножений. Общее число сложений и вычитаний равно 27V log2TV; кроме того, требуется выполнить N log2TV «умножений» на степень двойки.
Используются операции только над действительными числами, что обеспечивает выигрыш во времени преобразования в два раза по сравнению с обычным алгоритмом БПФ.;
Числовое преобразование Ферма позволяет вычислить точное значение свертки; при этом нет необходимости использовать арифметику с плавающей запятой, делать проверки на переполнение или принимать какие-либо другие меры предосторожности.
Следует, однако, рассмотреть и недостатки нового метода. Один из них связан с ограничениями, накладываемыми на выбор модуля, размера преобразования и величины а, что сильно сужает круг применений. Тот факт, что получаемый результат здесь всегда точный, вынуждает использовать большие модули и, следовательно, оперировать на протяжении всего вычисления преобразования словами большой длины. При аппаратурной реализации стоимость памяти может намного превзойти стоимость умножителей, так что почти полное исключение умножений может все- таки не скомпенсировать увеличения стоимости памяти. В то же время при цифровой обработке сигналов почти никогда не требуется получать абсолютно точный результат.
Другой фактор, способствующий увеличению длины слова, связан с тем, что для чисел Ферма и а = 2 размер круговой свертки может быть равен только 2m+1. Последнее означает, что длина слова должна быть примерно такой же, как и размер самой свертки. В результате для сверток, обычно представляющих интерес, требуемая длина слова составляет сотни разрядов, что совершенно нереально в настоящее время. Ниже будут кратко рассмотрены возможности некоторого смягчения этого ограничения.
На практике в расчет приходится принимать и другие соображения. При обработке сигналов на ЦВМ нет необходимости сводить к минимуму число умножений, если ЦВМ имеет встроенный быстродействующий умножитель. В то же время при всей простоте операций по модулю чисел Ферма для их выполнения требуются несколько команд программы. Более того, возможности программирования операции приведения к остатку существенно зависят от длины слова машины. Читатель может в этом убедиться, написав программу приведения к остатку по модулю F = 232 4- 1 для ЦВМ с длиной слова, равной 12, 16, 18, 24 и 32 разряда, используя аналогичные наборы команд для каждой из ЦВМ. Кроме того, хотя циклический перенос разрядов в слове может показаться более простой операцией, чем умножение, с точки зрения времени выполнения эта операция может оказаться далеко не элементарной, особенно если речь идет об очень простой вычислительной машине, в которой, как правило, за один такт выполняется сдвиг только на один разряд.
Ограничение, связанное с размером свертки, можно смягчить двумя способами. Во-первых, заметим, что N можно удвоить, если
в качестве а использовать величину, имеющую порядок 2т+2 (mod М^. Агарвал и Баррас показали, что величина а, задаваемая формулой '
a = 2c-2d, где с = 3.2т"2 и d = 2m’2, (6.130) имеет порядок 2т+2 по модулю М = 22”1 + 1. Легко показать, что a2 = 2(mod М), так что, как и прежде, четные степени а являются степенями двойки. В то же время нечетные степени а не сравнимы с 1, поэтому порядок а будет вдвое превышать порядок числа 2 по модулю М. Умножение на степени числа а, задаваемого формулой (6.130), ненамного сложнее умножения на степени двойки, поскольку а состоит из двух степеней двойки. В то же время оно проще обычного умножения, причем самое важное то, что оно используется либо только на первом, либо на последнем (но не на обоих) из log ^N этапов алгоритма быстрого числового преобразования по модулю чисел Ферма, поскольку только на этих этапах могут встретиться нечетные степени а.
Значительно более существеннре смягчение ограничения размера преобразования может быть достигнуто несколько более дорогой ценой за счет того, что любую одномерную свертку можно вычислить, используя "алгоритмы свертки двумерных последовательностей. Это, казалось бы, абстрактное утверждение в действительности основано на том, что обычная свертка может быть вычислена методами расчета круговой свертки. Для этого обрабатываемые данные представляются в виде таких двумерных массивов с дополнением нулями и повторением части данных там, где это необходимо, чтобы результат вычисления двумерной свертки совпадал с искомыми значениями одномерной свертки. Читатель может убедиться, что следующую одномерную круговую свертку: ^д, 6, с, d, в1 f, g, h, i, у, /с, I, 77i, п, pf q"^ * (А, В, С, Df Е, F, G,
Н, I, I, К, L, М, N, Р, (?)
можно найти, вычислив круговую двумерную свертку двух сле
дующих двумерных массивов:
'тира b се / gJ 7 ^'тира b се / gJ 7 ^q а Ъ с d е / g h i у к I т п рq а Ъ с d е / g h i у к I т п рd h I qd h I qf А В C D 0 0 0 0ЛE F G Я *0 0 0 0 II J К L 0 0 0 0 |^AP<?0000jf А В C D 0 0 0 0ЛE F G Я *0 0 0 0 II J К L 0 0 0 0 |^AP<?0000j
'тира b се / g
J 7 ^
'тира b се / g
J 7 ^
q а Ъ с d е / g h i у к I т п р
q а Ъ с d е / g h i у к I т п р
d h I q
d h I q
f А В C D 0 0 0 0Л
E F G Я *0 0 0 0 I
I J К L 0 0 0 0 |
^AP<?0000j
f А В C D 0 0 0 0Л
E F G Я *0 0 0 0 I
I J К L 0 0 0 0 |
^AP<?0000j
Заметим, что половина результатов дает правильный ответ, а остальные результаты — неверный. Применение двумерной свертки для вычисления одномерной свертки дает возможность использовать двумерное числовое преобразование Ферма. В результате если в одномерном случае модуль ограничивал размер последовательности N точками, то в двумерном случае появляется возможность обрабатывать последовательности из (1/2)№ отсчетов, если,
конечно, не возникает проблем, связанных с точностью представления результатов.
Рассмотрев достоинства и недостатки числового преобразования Ферма, можно остановиться на том, в каких задачах применение нового преобразования представляется целесообразным. Такие задачи должны иметь следующие характеристики: 1) последовательности должны быть достаточно короткими (суммируется около 50 произведений сдвинутых членов); 2) существует необходимость в высокой точности; 3) умножение является значительно более дорогостоящей операцией по сравнению со сложением.
Рассмотрим два возможных применения нового преобразования. Первое относится к оценке спектров (одновременно большого количества) широкополосных сигналов. Из теории спектрального анализа известно, что число сдвигов при расчете корреляционной функции может составлять лишь долю от полного количества обрабатываемых отсчетов. В разд. 6.18 был рассмотрен алгоритм вычисления автокорреляционной функции, основанный на суммировании в частотной области. Но подобное суммирование можно выполнить и в области чисел Ферма. Используя такую методику и применяя 32-разрядные слова, можно рассчитать 65 значений автокорреляционной функции при N = 128 для такого количества исходных отсчетов, которое ограничено лишь однозначным представлением чисел в пределах выбранного модуля. При длине слова в 10 разрядов (включая знак) таким способом можно обработать 2000 отсчетов. Помимо сложений, при расчете коэффициентов преобразований Ферма и накоплении достаточно выполнить лишь одно умножение на каждый входной отсчет вместо 65 умножений при обычном методе вычисления корреляции. Естественно, что получаемый при этом результат будет точным, что в данном случае может быть даже более важным, чем в большинстве других. (Следует отметить, что описанное в данном разделе теоретико-числовое преобразование в равной степени применимо к числам как без знака, так и со знаком.)
Рассмотрим второе возможное применение теоретико-числового преобразования, относящееся к двумерной КИХ-фильтрации. Речь пойдет^об обработке многоэлементного изображения с использованием произвольной импульсной характеристики размером LxL. Если L имеет величину порядка 5-?20, применение БПФ для вычисления свертки будет неэффективным, хотя и более выгодным, чем в одномерном случае. Однако числовое преобразование Ферма будет весьма эффективным. Для импульсной характеристики указанных размеров в отличие от фильтрации прямым методом число умножений сокращается примерно на два порядка за счет увеличения числа сложений, которое темне менее обычно даже меньше, чем в прямом методе. Таким образом, можно ожидать, что числовое преобразование Ферма вскоре будет использо-
ваться для линейной фильтрации изображений.
Алгоритмы обработки в конечных математических структурах, аналогичные алгоритмам быстрого преобразования Фурье, представляют интересную область исследований, и их применения, несомненно, не ограничиваются лишь вычислением сверток. Как было показано, существует принципиально новый подход к организации вычислений с характерными для него взаимосвязями между разрядностью слова, модулем, величиной а, допустимой неоднозначностью значений результатов и т. д. Возможности этого нового подхода, первоначально казавшегося весьма многообещающим, оказались сильно ограниченными. Можно ожидать, что дальнейшие исследования позволят найти другие математические структуры, которые будут обладать многими достоинствами и в то же время будут целиком или в значительной степени свободны от недостатков структур, рассмотренных в данном разделе. Однако не менее важно и то, что был разработан еще один метод быстрой свертки, о котором мы и не подозревали до тех пор, пока не был исследован аналог обычного метода быстрой свертки в другой системе счисления.
ЛИТЕРАТУРА
Алгоритмы БПФ
Cooley J. W., Tukey J. W., An Algorithm for the Machine Computation of Complex Fourier Series, Math. Comp., 19, 297—301 (April 1965).
Bergland G. D., A Guided Tour of the Fast Fourier Transform, IEEE Spectrum, 6, No. 7, 41—52 (1969); есть русский перевод: Бергланд Дж. Д., Руководство к быстрому преобразованию Фурье, Зарубежная радиоэлектроника, № 3 (1971).
Cochran W. Т., Cooley J. W., Favin D. L., Helms H. D., Kaenel R. A., Lang W. W., Maling G. C., Nelson D. E., Rader С. M., Welch P. D., What is the Fast Fourier Transform, IEEE Trans, on Audio and Electroacoustics, 15, No. 2, 45—55 (June 1967); есть русский перевод: Кокрен У. и др., Что такое быстрое преобразование Фурье?, ТИИЭР, 55, № 10 (1967). '
Cooley J. W., Lewis Р., Welch Р. D., The Finite Fourier Transform, IEEE Trans, on Audio and Electroacoustics, 17, No. 2, 77—86 (1969).
Cooley J. W-, Lewis P., Welch P. D., Historical Notes on the Fast Fourier Transform, IEEE Trans, on Audio and Electroacoustics, 15, No. 2, 76—79 (June 1967); есть русский перевод: Кули, Льюис, Уэлч, Исторические замечания относительно быстрого преобразования Фурье, ТИИЭР, 55, № 10 (1967).
Singleton R. С., A Method for Computing the Fast Fourier Transform with Auxiliary Memory and Limited High Speed Storage, IEEE Trans, on Audio and Electroacoustics, 15, No. 2, 91—98 (June 1967).
Cooley J. W., Lewis P., Welch P. D., The Fast Fourier Transform Algorithm: Programming Considerations in the Calculation of Sine, Cosine, and Laplace Transforms, J. Sound Vib., 12, No. 3, 315—337 (1970).
Singleton R. C., An Algorithm for Computing the Mixed Radix Fast Fourier Transform, IEEE Trans, on Audio and Electroacoustics, 17, No. 2, 93—103 (June 1969).
Pease М. С., An Adaptation of the Fast Fourier Transform for Parallel Processing, J. Assn. Comp. Mach,., 15, No. 2, 252—264 (April 1968).
Rader С. M., Discrete Fourier Transforms When the Number of Data Samples is Prime, Proc. IEEE, 56, No. 6, 1107—1108 (June 1968).
Cooley J. W., Lewis P., Welch P. D., The Fast Fourier Transform and Its Applications, IEEE Trans. Education, 12, 27—34 (March 1969).
Gold B., Rader С. M., Digital Processing of Signals, McGraw-Hill, N.Y., 1969; есть русский перевод: Голд Б., Райдер Ч., Цифровая обработка сигналов, изд-во «Советское радио», 1973.
Bluestein L. I., A Linear Filtering Approach to the Computation of Discrete Fourier Transform, IEEE Trans, on Audio and Electroacoustics, 18, No. 4, 451—456 (1970).
Rabiner L. R., Schafer R. W., Rader С. M., The Chirp z-Transform Algorithm and Its Application, Bell Syst. Tech. J., 48, No. 5, 1249—1292 (May— June 1969).
Методы статистического спектрального анализа
Jenkins G. М., Watts D. G., Spectral Analysis and Its Applications, Holden-Day, Inc., Pub., San Francisco, Calif., 1968; есть русский перевод: Дженкинс Г., Ватте Д., Спектральный анализ и его приложения, изд-во «Мир», 1971.
Welch Р. D., The Use of the FFT for Estimation of Power Spectra: A Method Based on Averaging Over Short, Modified Periodgrams, IEEE Trans, on Audio and Electroacoustics, 15, No. 2, 70—73 (1967).
Cooley J. W., Lewis P., Welch P. D., The Use of the Fast Fourier Transform Algorithm for the Estimation of Spectra and Cross Spectra, Proc, of the 1969 Polytechnic Inst, of Brooklyn Symp. on Computer Processing In Communications, 5—20 (1969).
Cooley J. W., Lewis P., Welch P. D., The Application of the Fast Fourier Transform Algorithm to the Estimation of Spectra and Cross-Spectra, J. Sound Vib., 12, 339—352 (1970).
Rader С. M., An Improved Algorithm for High Speed Autocorrelation with Applications to Spectral Estimation, IEEE Trans, on Audio and Electroacoustics, 18, No. 4, 439—442 (1970).
Теоретико-числовые преобразования и свертка
Pollard J. М., The Fast Fourier Transform in a Finite Field, Mathematics of Computation, 25, No. 114, 365—374 (April 1971).
Rader С. M., Discrete Convolution Via Mersenne Transforms, IEEE Train, on Computers, C-21, No. 12, 1269—1273 (Dec. 1972).
Agarwal R. C., Burrus C. S., Fast One-Dimensional Convolution by Multidimensional Techniques, IEEE Trans, on Acoustics, Speech, and Signal Processing, ASSP-22, No. 1, 1—10 (Feb. 1974).
Agarwal R. C., Burrus C. S., Fast Convolution Using Fermat Number Transforms with Applications to Digital Filtering, IEEE Trans, on Acoustics, Speech, and Signal Processing, ASSP-22, No. 2, 87—97 (April 1974).
ПРИЛОЖЕНИЕ
УСЛОВНЫЕ ОБОЗНАЧЕНИЯ ДЛЯ БПФ
Различные авторы использовали самые разнообразные условные обозначения в публикациях, посвященных алгоритмам БПФ. Так, Кули и Тьюки [1] использовали алгебраическую систему обо-
Фиг. А.6.1. Старое обозначение базовой операции алгоритма Б ПФ с основанием 2 и прореживанием по времени.
Фиг. А.6.2. Улучшенное обозначение базовой операции алгоритма Б ПФ с основанием 2 и прореживанием по времени.
Фиг. А.6.3. Новое обозначение ба-зовой операции алгоритма Б ПФ соснованием 2 и прореживанием повремени.
Фиг. А.6.4. Новое обозначение базовой операции алгоритма Б ПФ с основанием 2 и прореживанием по частоте.
Фиг. А.6.5. Направленный граф четырехточечного Б ПФ с прореживанием по времени в старой системе обозначений.
Фиг. А.6.6. Направленный графчетырехточечного Б ПФ с прорежи-ванием по времени в новой системеобозначений.
значений; некоторые авторы пользовались матричным обозначением. По-видимому, наиболее распространенным способом описания Б ПФ является представление его с помощью направленных графов (впервые использованных Райдером и Стокхэмом). Ниже будет проведено сравнение обозначений, используемых в данной книге, и обозначений, принятых при представлении алгоритмов в виде направленных графов. Обе системы обозначений нетрудно усвоить, и в зависимости от конкретных условий можно использовать любую из них, не испытывая при этом никаких неудобств.
В направленных графах точка суммирования представляется узлом, а умножение — стрелкой, так что базовую операцию алгоритма с основанием 2 и прореживанием по времени можно изобразить так, как это сделано на фиг. А.6.1. При построении направленного графа полного алгоритма БПФ этот граф не совсем удобен; его можно заменить другим, изображенным на фиг. А.6.2. Последний лучше использовать для представления полного алгоритма БПФ, однако при пользовании им может показаться, что на одну базовую операцию вместо одного приходятся два умножения в комплексной форме.
Для обозначения элементарного ДПФ в книге использован специальный символ. Так, например, базовая операция для алгоритма БПФ с прореживанием по времени показана на фиг. А.6.3, а для алгоритма БПФ с прореживанием по частоте — на фиг. А.6.4. На фиг. А.6.5 и А.6.6 изображен направленный граф четырехточечного алгоритма БПФ с прореживанием по времени с использованием обеих систем обозначений. Читатель сам должен решить, какое из них предпочтительнее. Отметим лишь существенные отличия между ними:
Первый способ (фиг. А.6.5) обычно применяется при изображении направленных графов, хорошо известен и очень широко используется.
Первый способ можно использовать и для графического описания работы цифровых фильтров.
Все общие и важные теоремы о свойствах направленных графов применимы и к графам алгоритмов БПФ.
При втором способе (фиг. А.6.6) используется в два раза меньше линий при основании 2 (и в г раз меньше линий при основании г).
Второй способ легко использовать при построении графа алгоритма БПФ со смешанным основанием.
Для второго способа число символов умножителей равно фактическому числу умножений в алгоритме БПФ с основанием 2.
Глава 7
ВВЕДЕНИЕ В ТЕОРИЮДВУМЕРНОЙ ОБРАБОТКИ СИГНАЛОВ
Введение
Существует множество сигналов, которые в принципе являются двумерными и обрабатывать которые необходимо именно двумерными методами. К ним относятся различные изображения, получаемые, например, при метеосъемках и аэрофотосъемках, рентгеновские снимки, сделанные в медицинских целях, сейсмограммы, результаты гравиметрических и магнитных измерений, а также снимки, получаемые с помощью электронного микроскопа и ис пользуемые для анализа пространственной структуры сложных биологических молекул. Хотя двумерные сигналы и можно обрабатывать с помощью одномерных систем, в целом предпочтительнее использовать двумерные системы. Многие основополагающие идеи одномерной обработки легко обобщаются на случай двумерной обработки. В то же время некоторые весьма важные понятия, относящиеся к одномерным системам, нельзя непосредственно использовать для двумерных систем. Целью данной главы является изучение основных идей и методов двумерной обработки сигналов, а также иллюстрация их применения на примере двумерной фильтрации.
Двумерные сигналы
Пусть х (nYl тг2) является двумерной последовательностью, причем пл и п3 — целые переменные. Как и в одномерном случае, обозначение х (пъ п.^ часто соответствует дискретизованному непрерывному двумерному сигналу х (s, О, т. е
Х^Ц. n^=X\nJv n2T2)=x(s, t)\3=aiTu t=ntT,- (7.1)
Двумерную последовательность графически представить довольно сложно, поэтому в данной главе по мере необходимости буду! использоваться пространственные изображения. Например, последовательность х (7in и2), О <С ип п.? ^ оо, можно изобразить так, как показано на фиг. 7.1, причем значения х («ь п2) задаются высотой отрезков, исходящих из точек с координатами (ип п^).
Фиг. 7.2. Двумерный цифровой еди-ничный импульс.Фиг. 7.2. Двумерный цифровой еди-ничный импульс.Фиг. 7.1. Пространственное изображение двумерного сигнала х (rty, п^.Фиг. 7.1. Пространственное изображение двумерного сигнала х (rty, п^.Фиг. 7.4. Двумерная экспоненциальная последовательность.Фиг. 7.4. Двумерная экспоненциальная последовательность.Фиг. 7.3. Двумерный цифровой еди-ничный скачок.Фиг. 7.3. Двумерный цифровой еди-ничный скачок.
Фиг. 7.2. Двумерный цифровой еди-ничный импульс.
Фиг. 7.2. Двумерный цифровой еди-ничный импульс.
Фиг. 7.1. Пространственное изображение двумерного сигнала х (rty, п^.
Фиг. 7.1. Пространственное изображение двумерного сигнала х (rty, п^.
Фиг. 7.4. Двумерная экспоненциальная последовательность.
Фиг. 7.4. Двумерная экспоненциальная последовательность.
Фиг. 7.3. Двумерный цифровой еди-ничный скачок.
Фиг. 7.3. Двумерный цифровой еди-ничный скачок.
Несколько важных двумерных последовательностей изображе пы на фиг. 7.2—7.4. К ним относятся:
Цифровой единичный импульс (или единичный отсчет')
( 1 при Пх = пг = Ц~
uQ(nv п2) = 1(7.2'
при других п, п^.
Цифровой единичный скачок
и_х (nt, п^ =и_х (nt, п^ =1, nti п^О, О, nt или и2<<0.1, nti п^О, О, nt или и2<<0.(7.3)(7.3)
и_х (nt, п^ =
и_х (nt, п^ =
1, nti п^О, О, nt или и2<<0.
1, nti п^О, О, nt или и2<<0.
(7.3)
(7.3)
(7.4)(7.4)(7.5)(7.5)
(7.4)
(7.4)
(7.5)
(7.5)
Экспоненциальная последовательность
[anpans пх,п^>0,
(^1,^2)iА А
'(0, Пх илип2<0.
Комплексная синусоида
^(^1, ^2) = е^®»^®*”*),— оо^Пх, тг2^оо.
Как было показано выше, двумерный единичный скачок связан с двумерным единичным импульсом соотношением
пп
22 М^ы ^г)-(7.6)
7Л1=-оо тп2=-оо
Двумерные системы
Основная теорема о свертке для линейных систем с постоянными параметрами остается в силе и для двумерных систем. Это означает, что если на вход ЛПП-системы с импульсной характеристикой h (п-^ п^ поступает последовательность х (пъ п2), то последовательность у (п^, п^ на выходе системы можно найти следующим образом:
y(nt, n^=x^ n^th^n^ п^ =(7.7)
ОООО
= 22 &(mn т^х^ — т^ п^—т^ =(7.Я)
7щ=-оо 7И2—-сю
ОООО
= 22 х^п^ т^И^ — т^ п^-т^.(7.9)
mt=—оо т2=— оо
В большинстве случаев (за исключением простейших) использовать эти формулы весьма непросто. Чтобы показать это, рассмотрим следующий пример:
Пример 1. Дана ЛПП-система с импульсной характеристикой
h, (п^ п^ = аП1 п^ — оо ^ nb и2 ^ оо.
Входная последовательность имеет вид
[ 1, О^^, я2^2, л: (и,, н2) = 1 а
4I 0 при других и15 и2.
Необходимо найти последовательность у (их, и2) на выходе системы.
Решение. Используя формулы (7.8) и (7.9), получим
22
уkp-ii н^ — 2 2 a(,ll-mi)
7М1=0 ТМ2=0
Вычисление суммы в правой части осложняется тем, что член дт^ нельзя представить произведением вида а (Шх)Р (ш2). Таким образом, при нахождении у (nt1 п^ двумерную сумму приходится вычислять непосредственным сложением всех ее членов. Чтобы
закончить рассмотрение примера, выполним это суммирование:
у (пь иг) = ап'п» + ап^п*~ ^ + ап* (п«-2)_|_
-f- a ("«-D ni-|- а^»-1) (”t-i)_|_ а(п,-1) (п,-2) _|_
_|_ a(ni-2) n»_|_ a(n,-2) (п,-1) _|_ а(тц-2) (71,-2).
Сложность вычисления свертки даже в простых случаях дает некоторое представление о тех трудностях, с которыми приходится сталкиваться при работе с двумерными системами.
Физическая реализуемость. Разделимость.
Устойчивость
Двумерный фильтр называют физически реализуемым, если его импульсная характеристика удовлетворяет условию
/г. (пь п2) = 0, иь пг С 0.(7.10)
Фильтр называют разделимым, если его импульсную характеристику можно представить в виде произведения двух одномерных функций, т. е.
(пь n2) = g (тг^ / (п2).(7.11)
Если условие (7.11) не выполняется, фильтр называют неразделимым. Достоинством разделимых фильтров является то, что для них двумерную свертку (7.8) можно вычислить путем последовательного нахождения одномерных сверток. Это нетрудно показать, переписав соотношение (7.8) в виде
^(ni, п^= 22 gWHm^^iH — nH, п2 — т^=(7.12)
mj—-оо 772t= —оо
= 2 £(™i)[ 2 Цт^тц- пц, п2 — т^= (7.13) mt= —ооmt=-oo
ОО
= 2 gt^a^ — mt, п^,(7.14)
m,=— оо
где а (нх — пц., п^ — последовательность одномерных сверток, получаемых в процессе нахождения сумм в квадратных скобках формулы (7.13), которые соответствуют фиксированным mv Из формулы (7.14) следует, что выходную последовательность у (пг, и2) можно получить, двукратно выполняя операции одномерной свертки.
Легко понять, что если разделимыми являются как импульсная характеристика h, (п^ п^, так и входная последовательность (пь п^, то и выходная последовательность у (п^ п^ также будет разделимой. В этом случае с учетом соотношений (7.8) и (7.11)
получим
у^Ч?пЛ=\ 2 gWb^n^—m^AY 2 /(m2) с (/z2—/??2)]= (7.15) mi = ~ooт2—— оо
= a(«i)P(^2),(7.16)
где
х (nt1 п^ = b (п^ с (тг2).(7.17)
Двумерные фильтры являются устойчивыми (для них все элементы выходной последовательности будут ограничены, если были ограничены все элементы входной последовательности) тогда и только тогда, когда их импульсные характеристики удовлетворяют условию
ОООО
22 |Мпь я2)|<оо.(7.18)
711= — °0 711= —сю
Можно показать, что, как и в одномерном случае, условие устой чивости (7.18) является и необходимым, и достаточным.
Одна из трудностей, связанных с использованием условия устойчивости (7.18), заключается в сложности нахождения суммы при произвольных h (пъ пЛ- В связи с этим желательны и даже необходимы другие методы количественной оценки устойчивости^ которые будут рассмотрены в последующих разделах данной главы.
Двумерные разностные уравнения
Как и в одномерном случае, двумерный ЛПП-фильтр обычно можно описать линейным разностным уравнением с постоянными коэффициентами, которое связывает входную и выходную последовательности. Для физически реализуемого фильтра такое разностное уравнение в самом общем случае имеет вид
Mt Mt
22 ami, т, У (^1^i, W2 TTl^ =
7П1=0 ms=0
= 2 2 Р<1, 1г Ж (П1^1» ПЧ ^),(7.19)
Zi=o г2=о
причем набор ПОСТОЯННЫХ коэффициентов ^т^тЛ И Wzi, Z2} определяет конкретный фильтр. Для полного описания фильтра необходимо задать также набор начальных условий. Уравнение (7.19) можно записать в виде рекуррентного соотношения. Для этого текущий выходной отсчет у (п1п пЛ следует выразить через предшествующие выходные и входные отсчеты и текущий входной
отсчет. Такое рекуррентное соотношение (при а0,0 = 1) имее^ вид
У(”1, И2) = 2 2— П^—Ц —
;,= о /,= 0
Mi Mt
—22 ^ти m2y(nt — т^ п^ — т^.(7.20}
ТП1=О mt=0
(mt и mt¥=0 одновременно)
В качестве примера рассмотрим фильтр, описываемый разност ным уравнением
у(пь п^ = х (nv w2) + ali0^(Wi —1, п^А-сцдуДтц — 1, n2—1) (7.21). с начальными условиями
Г ^<0,
УМн, п2) = 0 при <(7.22}
I ^2
Если на вход фильтра поступает единичный импульс, то выходная последовательность будет равна
(«i.o) при | 0^П1<оо? (7>23> 0при других г*!, м2.
Результат (7.23) легко проверить, проведя непосредственный вычисления у (пг, п^ при нескольких значениях (jt,^ п2) с помошью формул (7.21) и (7.22):
У (0, 0^=хф, 0) = 1, у(1, О) = а1>оу(О, 0) = а1>0, У (2, O) = aboi/(1, О) = (а1.о)2, У(0, 1) = 0, уД, l^at.ty^O, 0) = а1Л, У(0, 2) = 0, У(1, 2) = 0,
У (2, l) = aL0z/(l, l) + aL1i/(l, 0) = 2а1г6а1л, у(3, l) = a1)Oz/(2, 1) + а1Л1/(2, 0) = 3 (а110)2 а1Л. Методы решения двумерных разностных уравнений относительно обеих переменных аналогичны методам решения одномер ных уравнений и рассматриваться не будут.
Частотные методы
При анализе двумерных ЛПП-систем крайне важную роль игра ют двумерные синусоидальные сигналы, поскольку, как и в одномерном случае, они являются собственными функциями систем
Так, если на вход двумерной системы поступает синусоидальный сигнал
ОО Пл ОО ,
(7.24)
ОО ^2 ^S^ ОО ,
то, согласно теореме о свертке, выходная последовательность будет равна
у («р и2) = 22 М^Ч’ т^ eito^nx-m^eito^n*-m^ ==(7.25)
тх= — оо mt=— оо
= езй)1П1езю*п* ^2 /Цп^, тй) e"^toxmi е-*^*™* = (7.26)
771,= —oo 77lt= —ОО
= x(nln п^Н^®^ &®*).(7.27)
Здесь функция Н(е^х, е3®»)1 представляет собой частотную характеристику двумерной системы, которая имеет вид двумерного ряда Фурье
- Н (е3®*, е^) = 22 h,^ Tn^e-i^e-w^ (7.28)
7И1=—оо 77l2=— оо
так что коэффициенты фильтра h, (пХ1 п^) можно вычислить по известной формуле
л л
h(nXl w2) = 4^2 j j H (e^x, e3'®*) e3®inie3®*”i cZtot d^ (7.29)
-Л -Л
Частотная характеристика H (е^®х, е^®») обладает несколькими интересными свойствами. Ясно, что она периодична по обеим осям, т. е.
Н (е^®1, e^)^H[e^®x+l'2n\ е№'+т-2п'>],_ co^Z, т^оо. (7.30)
Если отсчеты импульсной характеристики принимают только действительные значения, то частотная характеристика будет удовлетворять следующему условию:
Н (е^х, ei®*) = Н* (е~з®х, е-3®*).(7.31)
Это означает, что поведение частотной характеристики Н (е^®^ ei®*) при 0 ^ о»! ^ л, 0 ^ со2 ^ л, т. е. в первом квадранте, полностью определяет ее поведение в третьем квадранте (и наоборот).
Продемонстрируем применение формулы (7.29) на двух важных примерах:
Фиг. 7.5. Частотная характеристика идеального двумерного фильтра нижних частот с прямоугольной областью пропускания.
Пример^2. Найти коэффициенты Фурье А (пх, п^ для фильтра с частотной характеристикой
Гf —a^Oj^a,
Ж^, е5<».)= < 1 п₽и |
I 0 при других (02,
т. е. Н {е^1, е^») = 1 в пределах заштрихованного прямоугольника на фиг. 7.5.
Решение. Согласно равенству (7.29), находим
'sin (anj) 1 Г sin (bn^' - HHj J L ЛП2'sin (anj) 1 Г sin (bn^' - HHj J L ЛП2Ъ 'а
'sin (anj) 1 Г sin (bn^' - HHj J L ЛП2
'sin (anj) 1 Г sin (bn^' - HHj J L ЛП2
/i («1, «2) = 4~5 j ^ ejtolTXieito2n= dtox dto2 = — b —a
Из данного примера видно, что если частотную характеристику можно представить в виде произведения двух членов, один из которых зависит только от «ч, а другой — только от (о2, то импульсная характеристика h (пх, п^ также будет равна произведению двух функций, одна из которых зависит только от пХ1 а вторая — только от п^.
Пример 3. Найти коэффициенты Фурье для фильтра с частотной характеристикой
И (е^, е^ = ■И (е^, е^ = ■(о! + о)КЖ(о! + о)КЖ(01+ «2(01+ «2Н\Н\
И (е^, е^ = ■
И (е^, е^ = ■
(о! + о)КЖ
(о! + о)КЖ
(01+ «2
(01+ «2
Н\
Н\
т. е. Н (е^1, е^) = 1 в заштрихованном круге на фиг. 7.6.
Решение. Легко заметить, что Н (ejt°i, eito^ обладает круговой симметрией, т. е. Н^01, е^) = / (K^i + ®D- Можно показать,
Фиг. 7.6. Частотная характеристика идеального двумерного фильтра нижних частот с круговой областью пропускания.
чти при этом и коэффициенты Фурье также обладают круговой симметрией, т. е. A (nx, п^ = g (]/и, + пХ).
Следовательно, проще всего найти А (.п^ п^^ предварительно вычислив А (п^ 0) и заменив пх на V пХ + «а* Итак,
Я"/«2-0)?R
h (nv 0) = ~ f е^а^ dtoi Г (2(00 = 7^ t eitol,ni2VR2 — ^ do)x, ' 17 74л2 J1 J 24л2 Jr 1
-R-/fi^|-R
Введя подстановку
юг = R sin ф,
откуда
dtoT = R cos ф dtp,
получим
n/2
A (nt, 0) = 7^-2 f 2R2 cos2 фв^flnisin <p dtp =#
-n/2
Здесь Jt (x) — функция Бесселя первого порядка. Таким образом,
A(nt,A(nt,RJt (RVnl-^nj)2л Vn^-p п^
A(nt,
A(nt,
Двумерное z-преобразование
Полезным средством представления последовательности х (пх, п.г) является ее двумерное z-преобразование, записываемое следую щим образом:
(zii z2)— 22(^1» ^2) zi *z2 2-(7.32)
7Ц=-00 nz=-OO
Сумма (7.32) определена в некоторой области сходимости, т. е. для некоторого интервала значений zt и z2. Часто бывает очень трудно найти область сходимости этой суммы, т. е. положение всех особых точек функции X (zn z3). К этому вопросу мы вернем ся позднее при рассмотрении методов расчета двумерных фильтров.
Обратное z-преобразование определяется следующим образом:
Х<П" ^=-(2^Х<П" ^=-(2^<^) ^) X (zt, z2) z?'"^'1 dzt dz2, (7.33) Ci C2
Х<П" ^=-(2^
Х<П" ^=-(2^
где Сг и C2 — некоторые замкнутые контуры интегрирования в плоскостях гг и z2.
Чтобы проиллюстрировать применение формулы (7.32) для вычисления двумерного z-преобразования, рассмотрим последовательность
х (п^ п2)х (п^ п2)( К^ио^п^ — п^, /г1? п2>0.
х (п^ п2)
х (п^ п2)
[ 0,nt или /г2^0.
Ее z-преобразование равно
ОООО
X(zn z2) = 22 к^и^гц — п.^ zrniZ2/l2 =
7Ц=- ОО П2= - ОО
2 ^ * (2122>* — l — ^iz^1’
nt=0
причем оно сходится, если
IWI<1.
Конечные последовательности
Существует класс двумерных последовательностэй, z-преобразования которых сходятся в плоскостях zr и z2 везде, за исключе нием, быть может, точек zT = 0, z2 = 0 или zx — оо, z2 = оо. К этому классу относятся последовательности конечной длины, все элементы которых ограничены. Сходимость z-преобразования обеспечивается тем, что пределы суммирования в (7.32) конечны, а все слагаемые х (пу, и2) ограничены, так что и произведения х (пъ n2)z~niz-n^ при конечных значениях z3 и z2 также будут ограничены. То, что z-преобразование конечных последовательностей сходится во всех точках плоскостей zx и z2, гарантирует устойчивость двумерных фильтров с импульсной характеристикой в виде конечной последовательности.
Свертка последовательностей
Нетрудно показать, что если последовательность у (пп тг2) равна двумерной свертке входной последовательности х (л^ тг2) с импульсной характеристикой h (nTl п2), то ее z-преобразование У (zlf z2) равно произведению z-преобразований свертываемых последовательностей X (zb z2) и Н (zn z2). Таким образом, справедливы следующие важные соотношения:
^(nt, тг2) ^Х (zn z2),(7.34)
hin^ п^ Н (zt, z2),(7.35)
z/(«i, и2) = ж(п1, n2)*&(nt,n^,(7.36)
У (zt, z2) = X(zt, z2)-H(zt,z2).(7.37)
В качестве упражнения читателю предлагается доказать справедливость соотношения (7.37). Итак, при помощи формулы (7.37) отклик у (и^ п2) можно найти, вычислив обратное z-преобразование от произведения z-преобразований входной последовательности z (ni, пг) и импульсной характеристики h (пх, п2). Приведем простой пример, иллюстрирующий применение этого метода:
Пример 4. На вход двумерного ЛПП-фильтра поступает последовательность
я^, п^ = Lnxu0 (п, — и2), О^пр тг2^оо.
Импульсная характеристика фильтра равна
7г (ии п^ = Kniu0 (nt— п2), О^п,, и2<оо.
Найти выходную последовательность фильтра у (zilf п2).
Решение. Найдем сначала z-преобразования последовательностей х п^ и h п2):
ОО
X (zt, Z2) = 2 L Xz^ *Z2 *= (1 — £Z-1 2-l) ’|Z1Z2|>^,
711=0
oo
h^, Z2)= 2 K^r^-- <t_L^r l^l>^.
7li=0
Используя соотношение (7.37), получим
у 7 х 1LKL-K) KKK-L)
^1’ ^2У(1-Lzri2-I)(l — Kz^42^— i — Lzi^ l-KzpZa1*
Обратное z-преобразование можно найти по таблицам. Оно равно
У(МЬ n2)=(j~^) РП1Щ («! —П2)+ (^^) КПхи0(пх — П^.
Двумерное ДПФ
Завершая общее описание двумерных сигналов и систем, рассмотрим коротко двумерное ДПФ и эффективный способ его вычисления с помощью одномерного БПФ.
Двумерный периодический сигнал удовлетворяет условию хр («1, п2) = Хр (nt + т^^ 14 + пчК^,(7.38)
где Nx — период по первой координате, N г — период по второй координате, а тпх и т2 — произвольные целые числа. Индекс р в формуле (7.38) указывает, что сигнал периодичен. Как и в одномерном случае, двумерный периодический сигнал можно представить линейной комбинацией конечного числа комплексных экспонент, причем Nx и N^ кратны их периодам, т. е.
ЛГ1- 1 n2-i
ХПГ- 5 У ХрУц,1^Юп1К'№1\=дап1!^^^ (7.39) hi=0 й2=0
Коэффициенты Фурье Хр (кх, k2)t представляют амплитуду составляющей хр (пХ1 тг2) при о^ = (2л/Лг1)/г1, го2 = (2л/Агг)^2- Значения коэффициентов Хр (кх, к^) легко найти, вычислив значения двумерного z-преобразования на одном периоде последовательности хр (пХ1 п^ на частотах (Oj и <о2, что дает
Хр (kt, k^=x (zt, Z2) |Zi=ej(2n/M)hi, г2=еЛ2л/#2)Ь2 =(7.40)
2Vt-l 2V2-1
= 2 2 x (n^,
711 = 0 n2=0
(7.41)
Соотношение (7.39) называют двумерным обратным дискретным преобразованием Фурье, а (7.41) — двумерным дискретным преобразованием Фурье.
Рассмотрим некоторые свойства преобразований (7.39) и (7.41). Одно из важных свойств связано с возможностью вычисления двумерных преобразований (7.39) и (7.41) с помощью последовательности одномерных ДПФ, а другое — с обобщением преобразований (7.39) и (7.41) на сигналы конечной длины. Первое свойство можно показать, переписав преобразование (7.41) в виде
Nt-1N2-l
Хр(<к11кг) = 2 г^^Ч 2 хр(пх, п^е-э^вмЦ. <7.42) 7?1=0п2=0
При изменении пх от 0 до Nx — 1 суммы в квадратных скобках образуют Nx одномерных ДПФ. Обозначив результат каждого из одномерных ДПФ через gp (пх, к^., перепишем соотношение (7.41)
виде
%„(&„ *,) = 2 e-^N.w,^^ ^р(7.43)
П1=0
Полученное соотношение снова представляет собой N2 одномерных ДПФ, соответствующих изменению к2 от 0 до N2 — 1. Вышеизложенное легко обобщить на случай обратного ДПФ.
Второе свойство, заключающееся в том, что ДПФ полностью представляет последовательность конечной длины х (п^ п^, легко проверить, если в формулах (7.39) и (7.41) положить значения гр ^пХ1 п^ равными нулю вне области 0 ^ пг ^ Nt — 1,0 < п2 С ^ /У.2 — 1. Такие последовательности будем называть последовательностями конечной длины и обозначать через г (пг, тг2). Хотт последовательность х (щ, п2) уже не является периодической, ее значения совпадают на одном периоде со значениями ее периодического эквивалента, так что ДПФ и обратное ДПФ дают возмож ность просто и точно найти коэффициенты Фурье последовательности конечной длины. Главное различие между х (nv га2) и периодической последовательностью хр (пг, п2) состоит в том, что преобразование Фурье от х (пъ п2) является непрерывной функцией частот <ог и (о2, тогда как спектр периодической последовательности хр (щ, тг2) состоит из линий, расположенных на кратных частотах.
Выше рассматривалось применение прямого и обратного ДПФ для фильтрации одномерных сигналов. Они могут быть использованы и в двумерном случае. По-видимому, метод быстрой свертки, основанный на алгоритме БПФ, является наиболее важным средством выполнения двумерной фильтрации.
Расчет двумерных фильтров
Двумерный цифровой фильтр описывается двумерным z-npe- лбразованием
Р 9
2 2 аичХ3
Н (21, ^ = ^V— ’<7-44>
2 2 ^иг1z2 ’ 1=0 3=1
где atj и Ьи — постоянные, а 600 = 1. Разностное уравнении 4 ч кого фильтра имеет вид
Р q
'/ (^t, и-^= 2 2 atjX^nx — i, п2 — ]) — i=0 j=0
р q
— 2 2 6иУ(и1 —i> П2 — Л, 0 = t =^= / = 0, 0 ^ nv ^ ОО , i=0 j=0
.0^тг2^оо,(7.45)
Vp.-q) (0,-q)
Фиг. 7.7. Область задания набора начальных условий, необходимых для решения двумерного разностного уравнения.
причем предполагается, что номера (пь п^ в процессе счета возрастают, т. е. фильтр является физически реализуемым. Из уравнения (7.45) видно, что для определения отклика фильтра при пъ п2 0 необходимо иметь набор начальных условий. Область задания этого набора показана на фиг. 7.7 штриховкой.
БИХ-фильтры
При проектировании фильтров с импульсными характеристиками бесконечной длины необходимо выбрать коэффициенты а^, Ьц таким образом, чтобы характеристика получающегося фильтра аппроксимировала заданную характеристику фильтра, а сам фильтр был бы устойчивым. Обеспечение обоих условий связано с большими трудностями, так что простой методики расчета БИХ-фильтров пока не существует. Прежде чем перейти к изучению конкретных методов расчета двумерных БИХ-фильтров, целесообразно обсудить причины возникающих трудностей. С точки зрения проектирования фильтров важным свойством одномерных z-преобразований является возможность представления многочленов высоких степеней в виде произведения многочленов более низких степеней. Так, полином
Р (z) = z4 + atz3 + a2z2 + a3z -ф- a4(7-46)
можно разложить на множители, что дает
Р № = (z- Р.) (z - Рг) (z - Рз) (Z - Pi). (7.47)
Важность этого разложения трудно переоценить. Оно дает возможность проектировщику проверить устойчивость фильтров высокого порядка с помощью простых критериев, использующих полиномы более низкого порядка. Кроме того, оно дает удобный способ построения фильтров путем последовательного соединения фильтров более низкого порядка, что существенно уменьшает
трудности, связанные с чувствительностью к неточностям коэффициентов, которые характерны для фильтров с передаточными функциями, являющимися полиномами высоких степеней.
Для двумерных полиномов описанное выше свойство не сохраняется, так что в общем случае двумерный полином Р (zn z2) нельзя представить в виде произведения простых многочленов более низких степеней. Главным следствием этого свойства двумерных полиномов является то, что, за исключением простейших случаевт практически невозможно проверить устойчивость двумерных БИХ- фильтров. Более того, из этого свойства следует, что неустойчивый фильтр нельзя сделать устойчивым, включив последовательно с ним соответствующий всепропускающий фильтр. И наконец, оно- означает, что двумерные БИХ-фильтры нельзя построить путем последовательного соединения фильтров более низкого порядка. Таким образом, даже если удастся рассчитать устойчивый БИХ- фильтр высокого порядка, найти подходящую схему его реализации будет весьма непросто.
В последующих разделах описаны возможности проверки устойчивости БИХ-фильтров методами прямого вычисления.
Устойчивость БИХ-фильтров
Для проверки устойчивости БИХ-фильтров по двумерному z-преобразованию их импульсных характеристик было предложено несколько методов. Однако на практике их применение часто связано с трудностями и занимает много времени. Приводимая ниже теорема Шенкса представляет один из методов проверки устойчивости БИХ-фильтров.
Первая теорема устойчивости. Физически реализуемый БИХ-фильтр с z-преобразованием импульсной характеристики Н (zn z2) = A (zn z<^!B (zn z2) устойчив тогда и только тогда, когда В (zlt z2) 56 0 при любых zx и z2, для которых I zj > 1 и | z2| > 1.
До казатея ъство. П усть
ОО ОО
н^, ^= ^7 л - 2 2 h<n" ^ гх”^"1- ому
П1=0 п2=0
Для того чтобы фильтр с импульсной характеристикой /? ^nv п^ был устойчивым, необходимо и достаточно, чтобы
2 2 | ^ (^t, тг2) | С оо.(7.49)
711=0 п2=0
Следовательно, требуется показать, что условие (7.49) выполняется тогда и только тогда, когда функция Н (zn z2)
аналитична в области
D {(zf, z2): |zj > 1 и | z2| > 1}.(7.50)
Для доказательства достаточности заметим, что если Н (zt, z2) аналитична в области 2),то всегда можно отыскать число е >• 0, такое, что Н (zn z2) аналитична в области
A = {(zi, z2): | zt | > 1 — e и | z21 > 1 — e),(7.51)
откуда следует, что сумма
2^z^1 z-^
711 Ml
является в области Dx абсолютно сходящейся, так что
2 lMnn п2)|<оо. nt п2
Для доказательства необходимости условия (7.49) заметим, что если
2 I (ип иг) | < °°,
711 М2
то по условию сходимости сумма
2 п^ <ПхчП1
711 71,
сходится в области D абсолютно, откуда следует, что функция Н (zn z2) является в области D аналитической.
Применение данной теоремы в практических ситуациях сопря ■ жено с трудностями. Для проверки устойчивости необходимо единичный круг из плоскости zt (т. е. область dL = zt1 I zx | ^ 1) отобразить на плоскость z2, решив неявное уравнение В (zlf z2) = 0 относительно переменной z2. При этом фильтр будет устойчивым тогда и только тогда, когда отображение области dt на плоскость z2 не пересекается с единичным кругом на плоскости z2.
Итак, использование данного критерия устойчивости требует решения уравнения В (zn z2) = 0 относительно z2 для большого набора значений zx = zx (0 ^ | zx | ^ 1), что на практике почти всегда затруднительно (за исключением простейших случаев). В качестве примера использования сформулированного критерия устойчивости рассмотрим фильтр, имеющий z-прегобразование импульсной характеристики вида
Я(21’= в чу
jvjvЕдиничная окружностьЕдиничная окружностьПлоскость z,Плоскость z,Отображение единичной окружности из плоскости -z2Отображение единичной окружности из плоскости -z2ии
jv
jv
Единичная окружность
Единичная окружность
Плоскость z,
Плоскость z,
Отображение единичной окружности из плоскости -z2
Отображение единичной окружности из плоскости -z2
и
и
Фиг. 7.8. Контуры равных значений модулей корней z2 уравнения В (zlt z2) = 0 в функции комплексной переменной zx (по Шенксу).
где
В (Zi, z2) = 1 — 0,8г^ — ^бЗбг^1 + l,272z;1z'1 4-0,8z'2 —O^^z^z”2.
Подставив zr = zx, получим квадратное уравнение с комплексными коэффициентами относительно z^1:
В (zv z2) = (1 - 0,8z>) + (- 1,635 + 1,272z^) z"1 + (0,8- 0,64z>) z2\
Это уравнение легко решается, после чего по вышеприведенной теореме проверяется устойчивость фильтра. На фиг. 7.8 изображены контуры постоянных значений модулей корней уравнения z2 в функции значений комплексной величины zx = и + 7^- Пример взят из работы Шенкса. Контуры, для которых |z2| -< 1, не приведены, поэтому заштрихованная область является отображением (соответствующим уравнению В (zu г^ = 0] внешней (по отношению к единичной окружности) части плоскости z2 на плоскость гг. Так как заштрихованная область выходит за пределы единичного круга, то фильтр будет неустойчивым.
Существует упрощенный вариант рассмотренного критерия устойчивости (он получен Хуангом), требующий значительно мень-
шего объема вычислений. Его можно сформулировать в виде следующей теоремы:
Вторая теорема устойчивости. Физически реализуемый фильтр, имеющий z-преобразование импульсной характеристики вида Н (z15 z2) = Л (zx, z2)/B(zx, z2), где А и В — полиномы, устойчив тогда и только тогда, когда:
Отображение области dx = (zx : | Zj | = 1) на плоскость z2, согласно уравнению В (zx, z2) = 0, целиком лежит внутри области d2 = (z2 : |z2| ^ 1).
Соотношение В (z15 z2) = 0 не отображает ни одной точки из области dx = (zx : lzx) ^ 1) в точку z2 = 0.
Доказательство теоремы здесь не приводится. Следствия из нее очевидны. Согласно этой теореме, достаточно рассмотреть отображение В (zx, z2) = 0 только для окружности |zx| = 1 и, кроме того, решить уравнение В (zx, 0) = 0, чтобы определить, имеет ли оно корни с модулем, превышающим единицу.
Существуют и другие, еще более совершенные методы проверки выполнения сформулированных выше критериев устойчивости фильтров, но здесь они рассматриваться не будут. Поскольку (если не на практике, то по крайней мере теоретически) устойчивость двумерного фильтра может быть проверена, то более важными вопросами являются следующие: как найти коэффициенты заведомо устойчивого фильтра с заданной частотной характеристикой и каким образом превратить неустойчивый фильтр в устойчивый, не исказив при этом его амплитудной характеристики? Ответов на эти вопросы в большинстве случаев нет.
Частичное решение второго вопроса, связанного со стабилизацией неустойчивых фильтров, было получено Шенксом. Пусть И (zx, z2) = MB (z1? z2) — передаточная функция неустойчивого льтра. Чтобы получить аппроксимацию Н (zx, z2) этой функции, соответствующую устойчивому фильтру, найдем сначала полином С (z15 z2), аппроксимирующий функцию MB (zx, z2) с минимальной среднеквадратической ошибкой и имеющий вид
а Ъ
C^z^ 2 2 Ti2^z;ntz;n\(7.52)
«1=0 n2=0
где а и b — целые положительные числа. Допустим, что
В (Zj, z2) С (z15 z2) = 1 + d^z^ -(- dQXz2x + dxxzv 1z21 + . . . .(7.53)
Тогда из всех полиномов порядка (а, Ь) полином С (zx, z2) будет аппроксимировать функцию MB (zn z2) с минимальной среднеквадратической ошибкой, если сумма
а Ъ
2 2 dhi?(7.54)
1=0 ;=0
Фиг. 7.9. Амплитудные характеристики неустойчивого фильтра ( и его устойчивой аппроксимации (), полученной методом двойного
обращения (по Шенксу).
будет минимальна. Теперь найдем многочлен В kzXl z^, аппроксимирующий функцию МС (zn z2) с минимальной среднеквадратической ошибкой. Согласно Шенксу, фильтр с передаточной функцией
Й (zy, z2) —Й (zy, z2) —11S(zb z2)S(zb z2)(7.55)(7.55)
Й (zy, z2) —
Й (zy, z2) —
1
1
S(zb z2)
S(zb z2)
(7.55)
(7.55)
является устойчивым, причем его амплитудная характеристика приблизительно совпадает с характеристикой исходного фильтра. На фиг. 7.9 в качестве примера изображены полученные Шенксом амплитудные характеристики неустойчивого фильтра и фильтра, «стабилизированного» методом двойного обращения с использованием критерия минимума среднеквадратической ошибки. Контуры постоянного уровня амплитудных характеристик В и В, показанные на рисунке, отличаются весьма незначительно друг от друга.
КИХ-фильтры
Для двумерных КИХ-фильтров ществует, так как их импульсные по амплитуде, и по длительности, Nx и jV2 условие устойчивостиДля двумерных КИХ-фильтров ществует, так как их импульсные по амплитуде, и по длительности, Nx и jV2 условие устойчивостипроблемы устойчивости не су- характеристики ограничены и так что при любых конечныхпроблемы устойчивости не су- характеристики ограничены и так что при любых конечных
Для двумерных КИХ-фильтров ществует, так как их импульсные по амплитуде, и по длительности, Nx и jV2 условие устойчивости
Для двумерных КИХ-фильтров ществует, так как их импульсные по амплитуде, и по длительности, Nx и jV2 условие устойчивости
проблемы устойчивости не су- характеристики ограничены и так что при любых конечных
проблемы устойчивости не су- характеристики ограничены и так что при любых конечных
Ni-l ^2-l
(7.56)(7.56)2 2 1Мпи И2)|<оо711=0 Т12=0
(7.56)
(7.56)
всегда выполняется. (Импульсные характеристики КИХ-фильтров отличны от нуля в прямоугольнике 0 ^ n2 ^ ^ — 1, 0 ^ п2
<2 N2 — 1.) Из неравенства (7.56) следует, что многие методыпроектирования одномерных фильтров часто можно обобщить на
двумерный случай, внеся в них соответствующие изменения. В последующих разделах данной главы будут описаны (и проиллюстрированы примерами) метод взвешивания, метод частотной выборки и метод расчета оптимального фильтра.
Будем считать, что частотные характеристики фильтров имеют круговую симметрию, т. е.
Н ^h, е^^ Н ^2пУ^). (7.57)
Такие фильтры находят применение во многих практических задачах, например при обработке изображений, когда обе пространственные частоты равноценны. Легко показать, что, располагая отсчеты импульсной характеристики в виде прямоугольной сетки, добиться точной круговой симметрии невозможно. Причина заключается в периодичности Н (^'2я^, е^«) по двумя осям, т. е.
Н [е52л(/1+т1)1 ej2n(f2+m2)} _ Ц (^2яЛ} е52Ы2} (7.58)
(772^ и 7/2-2 — произвольные целые числа), что противоречит условию (7.57). На практике, однако, удается получить достаточно хорошее приближение к условию круговой симметрии (7.57).
Двумерные весовые функции (окна)
Метод весовых функций распространяется на двумерный случай непосредственно. Заданная частотная характеристика D (е^'2л^, езЗлЦ (обычно при определенных ограничениях можно считать, что она обладает круговой симметрией) разлагается в двумерный ряд Фурье
D^e^s d2^^ = §2 ^^^(7.59)
Щ=—ОО Н2—— ОО
в результате чего невзвешенная импульсная характеристика & (иь пй) определяется следующим образом:
0,5 0,5
А(Я1,я2) = j f Z) (ej2nS ej2n'=) ^'2яи*^(7.60)
-0,5 -0,5
Чтобы сделать пределы суммирования в разложении (7.59) конечными и вместе с тем улучшить сходимость усеченного ряда в точках разрыва характеристики D ^2п\ ез^^, умножим коэффициенты ряда Фурье на весовую последовательность w (nv тг2) конечной длины. При этом аппроксимация частотной характерис-
тики D (ei^i, е^”^ будет иметь вид
Ь (^2я\ ei^^ =
[(Nt-l)/2][(N2-l)/2]
=22(nh n^ e”i2nni#ie-^nn2f2i (7.61)
n1=-[(Ni-i)/2] n2=-[(N2-l)/2]
где
^(«i, n2) = h(n11 n^w^n^ n^.(7.62)
Нетрудно показать, что характеристики D (e^2nfi, е^”^ и D (е^2я/‘, е^2к^ связаны соотношением
D ^2ЛУ ^2я/=) = D (^2яА, ^2я/2) * jy ^nh, ei2nf^,(7.63)
где знак * обозначает круговую свертку, а jy ^2n^i, ё^2п^) =
[(N.-D/2]ЩУ2-1)/2]
=22 w е"^2яП1/1е-^2лП2^,(7.64)
П!=-[(^-1)/2] n2=-[(N2-l)/2]
т. е. W(e?2”fl, е^2я/г) является преобразованием Фурье от весовой последовательности w (п^ п^- Соотношение (7.63) показывает, что- частотная характеристика фильтра равна свертке заданной частотной характеристики с преобразованием Фурье от весовой последовательности.
Расчет фильтра методом. весовых функций сводится к выбору такой весовой функции w (пь п^, чтобы ее преобразование Фурьа W ^2Л\ ез^г) обладало следующими свойствами:
Оно должно быть близко к функции с круговой симметрией.
Объем под главным лепестком должен быть большим.
Объем под боковыми лепестками должен быть небольшим.
Хуанг показал, что достаточно хорошие двумерные весовые функции, удовлетворяющие перечисленным условиям, можно сформировать из соответствующих одномерных весовых функций с помощью формулы
w<nYl п^ = и-\Уп^п^.(7.65)
Здесь w — подходящее одномерное (непрерывное) окно, дискретизированное в соответствующих точках. Таким образом, с помощью- формулы (7.65) можно найти двумерные аппроксимации прямоугольного окна, окон Хэмминга, Кайзера и др., обладающие круговой симметрией.
Пример расчета фильтра нижних частотметодом взвешивания
В данном разделе будет приведен простой пример расчета фильтра нижних частот с круговой симметрией и использованием прямоугольного окна и окна Кайзера с параметром р = 5 (этот параметр^был введен в разд. 3.11).
Фиг. 7.10. Двумерное прямоугольное окно с круговой симметрией и его 'амплитудный спектр.
Фиг. 7.11. Произведение прямоугольного окна с круговой симметрией на импульсную характеристику идеального фильтра нижних частот.Фиг. 7.11. Произведение прямоугольного окна с круговой симметрией на импульсную характеристику идеального фильтра нижних частот.
Фиг. 7.11. Произведение прямоугольного окна с круговой симметрией на импульсную характеристику идеального фильтра нижних частот.
Фиг. 7.11. Произведение прямоугольного окна с круговой симметрией на импульсную характеристику идеального фильтра нижних частот.
Рассмотрим частотную характеристику фильтра нижних частот с круговой симметрией, имеющую вид
1,00,01,00,0при VIX + /'2^0,4, при других Л, /2.при VIX + /'2^0,4, при других Л, /2.(7.66)(7.66)
1,0
0,0
1,0
0,0
при VIX + /'2^0,4, при других Л, /2.
при VIX + /'2^0,4, при других Л, /2.
(7.66)
(7.66)
Используя формулу (7.60), получим
К (п^К (п^п^ =п^ =0,8л/! (0,8л V«in-»!)0,8л/! (0,8л V«in-»!)V «1+^2V «1+^2— ОО— ОО«1«1ОО,ОО,
К (п^
К (п^
п^ =
п^ =
0,8л/! (0,8л V«in-»!)
0,8л/! (0,8л V«in-»!)
V «1+^2
V «1+^2
— ОО
— ОО
«1
«1
ОО,
ОО,
(7.67)(7.67)— ОО <4 Л7 2 <4 ОО
(7.67)
(7.67)
что согласуется с результатами примера 3, приведенного в разд.7.6. [Здесь .1^ (ж) — функция Бесселя первого порядка.I Для усечения ряда Фурье применим двумерное прямоугольное окно, т. е. последовательность, задаваемую соотношением
w (и^ и2) =w (и^ и2) =(7.68)(7.68)1 при У7г'14-и;;^14,, 0 при Vri\-Vriy> 14.
w (и^ и2) =
w (и^ и2) =
(7.68)
(7.68)
Пространственное изображение этого окна представлено на фиг. 7.10, а, а его фурье-преобразование W(ej2Jty е^л/,) — На фиг. 7.10, б, где хорошо видны большие выбросы. На фиг. 7.11 представлено произведение h (пг, n.^-w (п^ и2), используемое в качестве импульсной характеристики двумерного фильтра. На фиг. 7.12, а и б представлена частотная характеристика этого фильтра в линейном и логарифмическом масштабе, причем вблизи области, где идеальная характеристика (7.66) имеет разрыв, ясно видны большие выбросы и пульсации.
Фиг. 7.12. Амплитудная характеристика двумерного фильтра нижних частот, рассчитанного с использованием прямоугольного окна, в линейном и логарифмическом масштабе.
Фиг. 7.13. Двумерное окно Кайзера и его амплитудный спектр.
Применяя более удачные весовые функции, можно значительно снизить уровень выбросов и пульсаций в амплитудной характеристике фильтра. Это видно из фиг. 7.13—7.15, где использовано двумерное окно Кайзера, определяемое формулой
ю ( Пг)=w^^Wili. (7.69)
Здесь р = 5,0, а 10 (х) — функция Бесселя нулевого порядка. Пространственное изображение окна приведено на фиг. 7.13, а, а соответствующая ему двумерная амплитудная характеристика —
Фиг. 7.14. Амплитудная характеристика фильтра нижних частот, рассчитанного с использованием окна Кайзера, в линейном и логарифмическом масштабе.
Фиг. 7.15. Контуры равных уровней фильтра нижних частот, рассчитанного с использованием окна Кайзера.
на фиг. 7.13, б. Видно, что по сравнению с прямоугольным окном объем под боковыми лепестками стал значительно меньше. На фиг. 7.14, а, б приведена в линейном и логарифмическом масштабе амплитудная характеристика фильтра нижних частот, рассчитанного с использованием окна Кайзера, а на фиг. 7.15 изображены контуры равных уровней этой характеристики в области 0 ^ ^ /г < 0,5; 0 ^ /2 ^ 0,5. Видно, что форма амплитудной характеристики улучшается по сравнению со случаем прямоугольного окна (фиг. 7.12) весьма существенно, а характеристика с высокой степенью точности обладает круговой симметрией.
Фильтры с частотной выборкой
Расчет двумерных фильтров методом частотной выборки основан на приведенных выше формулах прямого и обратного двумерного ДПФ. Рассмотрим фильтр с импульсной характеристикой конечной длины h (nv заданной в прямоугольнике 0 ^ ^ ^ ^ Nx — 1, 0 ^ пх ^ Я2 — 1, z-преобразование которой равно
Ni-l Na-1
Я(2Ь г2) = 2 2 h(nx, n^z7nXn*‘n,=0 n2=0
Вычисляя значения правой части (7.70) для дискретного набора частот
«о», = fc, (-^ ) , ^ = 0,1Л\-1,(7.71)
™».= ^(-^), ^2 = 0, 1, .... Я,-1.(7.72)
получим ДПФ импульсной характеристики фильтра
Ni-l ЛГ2-1
й№Л) = 2 2 Л(П1,пг)ехр{-/2л(^ + ^.)}.(7.73)
711=0 п2=0
Нетрудно найти и обратное ДПФ:
А (по п2) =
Ni-l n2-i
= S 2 ^№^-2)ехр{/2л(^+'^)}.(7.74)
hi=0 А 2= 0
Подставив выражение (7.74) в преобразование (7.70), получим следующую интерполяционную формулу для расчета частотной характеристики фильтра в произвольной точке:
Н(^ю*, e^) =
Ni~l N2-lNi-l N,-l
= 23 {-^ 2 2 H^,^) exp [/2л (-^-4
(7.75)(7.75)1--^)]} exp[ —/(со^ + со^)].
(7.75)
(7.75)
Изменив порядок суммирования и просуммировав по пТ и п21 получим
Ni-l N,-l
Н(е>а-,е>“>)= 2 2 Я^УА^Л,®,,»,),(7.76)
h,=o h2=0
где
Л (Z4, k2, (Of, co2) —Л (Z4, k2, (Of, co2) —111 — ехр( — jNttot>1 — ехр( — jNttot>N^ \1 — ехр{/ [2л (Ai/^) — со,]} f^_lzz2£Plzii^2W2)__ \ И —ехр{/ [2л ^fN^ — со2]}/ ’N^ \1 — ехр{/ [2л (Ai/^) — со,]} f^_lzz2£Plzii^2W2)__ \ И —ехр{/ [2л ^fN^ — со2]}/ ’(7.77)(7.77)
Л (Z4, k2, (Of, co2) —
Л (Z4, k2, (Of, co2) —
1
1
1 — ехр( — jNttot>
1 — ехр( — jNttot>
N^ \1 — ехр{/ [2л (Ai/^) — со,]} f^_lzz2£Plzii^2W2)__ \ И —ехр{/ [2л ^fN^ — со2]}/ ’
N^ \1 — ехр{/ [2л (Ai/^) — со,]} f^_lzz2£Plzii^2W2)__ \ И —ехр{/ [2л ^fN^ — со2]}/ ’
(7.77)
(7.77)
При расчете двумерных фильтров методом частотной выборки формула (7.76) является основной. Из этой формулы видно, что частотная характеристика фильтра, рассматриваемая как непрерывная функция частоты, представляет собой линейную комбинацию сдвинутых интерполирующих функций A (k12 k2l (o1? со?), умноженных на коэффициенты ДПФ Я (Zcx, к2\ Совокупность этих коэффициентов называют частотной выборкой, так как они дают
значения частотной характеристики фильтра в равноотстоящих по обеим частотным осям точках. При расчете фильтров методом частотной выборки большей части частотных отсчетов придают определенные значения, зависящие от вида аппроксимируемой частотной характеристики. Остальные, не задаваемые отсчеты являются свободными переменными, которые оптимизируются согласно выбранному критерию минимизации.
Для частного случая расчета методом частотной выборки фильтров с линейной фазовой характеристикой формулы (7.76) и (7.77) можно преобразовать, используя свойство симметрии коэффициентов ДПФ, описываемое соотношениями вида
Н (^, к^ = \Н {^ к^ |(7.78)
причем
| II (к„ kJ I = IН (k„ N2 - kJ I IН (N, - к„ kJ I,(7.79)
в№, у=0(4,)+ем(7.80)
в И =в И =гдегде^-^(^9^)- *2 = 0,1NV,^-^(^9^)- *2 = 0,1NV,W2-lW2-l^12^12NU = \ м ,I 2NU = \ м ,I 2N22N22NV = \ м , I w2 —1NV = \ м , I w2 —1(7.82)ta = WK+lN*-l,если Nt четное,(7.83)если N\ нечетное,если N2 четное,(7.84)если N2 нечетное.(7.82)ta = WK+lN*-l,если Nt четное,(7.83)если N\ нечетное,если N2 четное,(7.84)если N2 нечетное.
в И =
в И =
где
где
^-^(^9^)- *2 = 0,1NV,
^-^(^9^)- *2 = 0,1NV,
W2-l
W2-l
^12
^12
NU = \ м ,I 2
NU = \ м ,I 2
N22
N22
NV = \ м , I w2 —1
NV = \ м , I w2 —1
(7.82)
ta = WK+lN*-l,
если Nt четное,
(7.83)
если N\ нечетное,
если N2 четное,
(7.84)
если N2 нечетное.
(7.82)
ta = WK+lN*-l,
если Nt четное,
(7.83)
если N\ нечетное,
если N2 четное,
(7.84)
если N2 нечетное.
Если Nt или N2 четные, то должны выполняться дополнительные ограничения
е(*„^.)=0(-ф.,4г)=о,(7.85)
Н (ъ \ = Н (кА =0Н (ъ \ = Н (кА =0(7.86)(7.86)
Н (ъ \ = Н (кА =0
Н (ъ \ = Н (кА =0
(7.86)
(7.86)
Учитывая записанные выше условия, преобразуем формулы (7.76) и (7.77) к следующему виду (после довольно длинных выкладок):
И (^tol, ^ю*) =
Г .Г /Nt-Ц . /^-hll 1
= ехр {J )X
X £Я(0, 0)а(ш„ Л',)а(ы2, W2) +
NU
+ 2 |tf(fc„0)|a(to2, W2)P(to„ fc„ W,) + hi=l
NV
+ 2 I ^ (^’ ^2) Ia (^i* -^i) P (w2* к».. ^2) + hl—i
+ 2 2 1я №’ у 1 p (“«' k*- Wi) p(®«> ^ ^>1 • (7-87> hi=l hg—l
где
a (<o, TV) = ^^L,(7.88)
v 7 sin (co/2) ’K '
к дтх _sin[(co/2 — як/N) TV] sin [(co/2+лй/TV) TV] /7 on\
p (to, k, H) - sin(o/2_nA/JV) + sin (0)/2+—yjvj- •<7-89>
{
-41—1, если TV, четное,
Vn<7'90)
—~— , если Nt нечетное,
— 1, если четное,
N -1<7'91>
—— , если N% нечетное.
Внешне громоздкая формула (7.87) состоит в основном из суммы простых интерполирующих функций, смещенных по частотам в соответствии со значениями кг и к2. Эта формула (без учета стоящих в начале формулы множителей с линейным изменением фазы) и является основным расчетным соотношением при проектировании фильтров методом частотной выборки.
На фиг. 7.16 показано расположение областей частот на плоскости («!, (о2), характерное для двумерного фильтра нижних час-
Фиг. 7.16. Частотные области, характерные для фильтра нижних частот с круговой симметрией.
(7.92)(7.93)(7.94)(7.92)(7.93)(7.94)
(7.92)
(7.93)
(7.94)
(7.92)
(7.93)
(7.94)
тот с круговой симметрией. В области пропускания
р (cot, со2) Х^ЧХ)172^#!- Для переходной области
Ri < р («п со2) < /?2, а для области ненропускания
р (о^, 0)2) > /?2.
Частоты, на которых рассчитывается ДПФ (на них берется частотная выборка), образуют в плоскости («!, о2) сетку из (^i X N2) точек, как показано на фиг. 7.17 для ^ = TV2 = 9. Чтобы рассчитать методом частотной выборки фильтр, аппроксимирующий идеальный фильтр нижних частот с характеристикой
Н (^Ю1, е^®2) =
1, p(tot, «зХТ?!,
О, р(Ю1, О2)^/?2
(7.95)
имеющей круговую симметрию, необходимо частотные отсчеты, попадающие в область пропускания, взять равными единице, а отсчеты, лежащие в области непропускания, приравнять нулю. Значения отсчетов, находящихся в переходной области, являются свободными переменными, которые следует выбрать согласно критерию минимизации.
Для упрощения уравнений и выкладок, связанных с минимизацией, будут использованы следующие предположения. Во-первых, будем считать, что N^ и N^ — равные нечетные числа. Во-вторых, допустим, что
Я (/с15 к^ Я (/с2, к^, (7.96) т. е. что частотная характеристика фильтра симметрична относительно биссектрис углов, образованных осями координат. При расчете фильтров с круговой симметрией такое предположение является правомерным, так как в идеальном случае, когда ошибка аппроксимации равна нулю, условие (7.96) выполняется. И наконец, предположим, что член с линейной фазой в формуле (7.87) можно не учитывать.
В рамках сделанных предположений формулу (7.87) можно упростить, записав ее в виде
м
Я (ej% е^ = Яфикс ((ot, со2) + 2 ТтНт (W1, со2), (7.97) т= 1
где НфИКС (to!, to2) описывает вклад, вносимый фиксированными единичными коэффициентами ДПФ; Тт равно значению т-го коэффициента ДПФ, попавшего в переходную область; М — общее число таких коэффициентов, а Нт (tov м2) — интерполяционная функция, связанная с m-м коэффициентом в переходной области. Теперь расчетные соотношения можно записать в виде
1 — аб^Я (^“ц ^“*)^1-j-аб при р^, ю2)^Я1,(7.98)
— б^Я (^“s ^“2)^б ПРИ Р (toi> ^^-^г»(7.99)
где 6 — максимальная ошибка аппроксимации в области непро- пускания, а аб (где а — некоторая постоянная) — максимальная ошибка аппроксимации в области пропускания. Задача расчета фильтра заключается в таком выборе коэффициентов в переходной полосе, чтобы величина 6 была минимальной.
Нетрудно видеть, что эта задача представляет собой задачу линейного программирования с системой линейных неравенств типа (7.98) и (7.99), составленных для ряда точек, достаточно часто расположенных в области пропускания и в области непропускания. Запишем неравенства в явной форме:
м
2j ^т^т (®1» to2) —-аб^1 ЯфИКС (to^, to2),
мпри всех (7.100)
- 2 ^„(«„^-аб^-Ц-Яф^е^,,^) <ю>-^для
р(0)1, to2)<
м
2 ^m^m (®1» ®г)^^ Нфикс (ft>i, to2),
тм^при всех (7.101)
- 2 Т„нт^ ^-ь^н^^^ ^<“2О^’для
р (toj, to2) ^ Я2.
Таким образом, критерий минимизации свелся к такому выбору значений (Тъ Тг, ..., Т^, при которых обеспечивается минимум 6.
Двумерные фильтры нижних частотс частотной выборкой
Для иллюстрации метода частотной выборки на фиг. 7.18 и 7.19 изображены в линейном и логарифмическом масштабе амплитудные характеристики двух фильтров нижних частот, рассчитанных этим методом. Фильтры имеют следующие параметры: в обоих случаях N\ — N^ = N = 25. На фиг. 7.18 Rx — 5л/12,5; Я2 = = 7л/12,5, а на фиг. 7.19 Rx = Зл/12,5; Я2 = 6л/12,5. Для обоих
Фиг. 7.18. Амплитудные характеристики фильтра нижних частот, рассчитанного методом частотной выборки, в линейном (а) и логарифмическом (б) масштабе.
Фиг. 7.19. Амплитудные характеристики другого фильтра нижних частот, рассчитанного методом частотной выборки, в линейном и логарифмическом масштабе.
Фиг. 7.20. Взаимосвязь между ослаблением в полосе непропускания и уровнем пульсаций в полосе пропускания при расчете фильтров нижних частот методом частотной выборки.
фильтров а = 1000, т. е. к уровню пульсаций амплитудной характеристики в области пропускания жестких требований не предъявлялось. Минимальное ослабление в области непропускания составляет для первого фильтра (фиг. 7.18) 41,8 дБ, а для второго (фиг. 7.19) 69,9 дБ.
На фиг. 7.20 показано, каким образом изменение коэффициента а (равного отношению амплитуд пульсаций в областях пропускания и непропускания) влияет на уровень пульсаций в области пропускания и на величину ослабления в области непропускания. Интересно отметить, что при изменении а от 50 до 5 амплитуда пульсаций в области пропускания уменьшается в шесть раз, тогда как ослабление в области непропускания изменяется всего на 0,8 дБ. В связи с этим величину а целесообразно выбирать в максимальной близости от излома кривой на фиг. 7.20.
Наконец, на фиг. 7.21 и 7.22 представлены амплитудная характеристика и контуры ее постоянных уровней в области пропускания и в переходной области для фильтра нижних частот с пара-
а
6
Фиг. 7.21. Амплитудная характеристика в линейном (а) и логарифмичес-ком (б) масштабе двумерного фильтра нижних частот, рассчитанного методомчастотной выборки, с фиксацией выборки в области пропускания.
Фиг. 7.22. Контуры равных уровней амплитудной характеристики, изображенной на фиг. 7.21.
метрами, приведенными на фиг. 7.20, причем а = 1. Из фиг. 7.22 видно, что (по крайней мере при а = 1) характеристика с достаточно хорошей точностью обладает требуемой круговой симметрией.
Расчет оптимальных (в минимаксном смысле)двумерных фильтров
Двумерные КИХ-фильтры, подобно одномерным, можно рассчитать так, чтобы они были оптимальными по Чебышеву, т. е. обеспечивали бы минимаксную ошибку аппроксимации. В этом случае все отсчеты импульсной характеристики фильтра, или, что
а
6
Фиг. 7.23. Амплитудная характеристика в линейном (а) и логарифми-ческом (б) масштабе оптимального (в минимаксном смысле) двумерногофильтра нижних частот.
a; R = 1,5"л/4,5; Вг = Зл/4,5; Ni = Na=9. б: пульсация в полосе пропускания 0,08;минимальное ослабление 32,5 дБ.
то же самое, все коэффициенты ее ДПФ, считаются неизвестными и рассчитываются с использованием методики оптимизации. Для вычисления коэффициентов фильтра можно использовать методы линейного программирования. Другие методы, также обеспечивавшие чебышевскую аппроксимацию при расчете одномерных фильтров, здесь непригодны, так как обобщенную теорему Чебышева (см. разд. 3.26) непосредственно использовать для двумерного случая нельзя. (В разд. 7.20 будет рассмотрена методика
Фиг. 7.24. Контуры равных уровней амплитудной характеристики, изображенной на фиг. 7.23.
преобразования оптимальных одномерных фильтров в двумерные, которые часто также оказываются оптимальными.)
Прямой расчет оптимальных двумерных фильтров осложняется тем, что число переменных и количество ограничений, на них накладываемых, весьма велико. Так, для расчета фильтра с импульсной характеристикой размером (9x9) отсчетов могут потребоваться тысячи ограничений и до 21 переменной, так что время решения задачи оптимизации на ЦВМ с достаточно высоким быстродействием составит около часа. В связи с этим наибольший размер импульсной характеристики оптима льног о двумерного фильтра, рас- считанного прямым методом, составляет (9 х 9) отсчетов. На фиг.7.23 представлена в линейном и логарифмическом масштабе амплитудная характеристика такого оптимального фильтра, а на фиг. 7.24
изображены контуры равных уровней этой характеристики. Из приведенных кривых видно, что пульсации ошибки апроксима- ции амплитудной характеристики, как и для одномерных фильтров, являются равновеликими. В то же время из фиг. 7.24 видно, что в области пропускания и в переходной области характеристика, как это и требуется, имеет приблизительно круговую симметрию. В области непропускания линии постоянного уровня уже не являются окружностями. Это объясняется тем, что отсчеты импульсной характеристики образуют прямоугольную сетку.
Частотное преобразование одномерныхфильтров в двумерные
Как упоминалось выше, сложность расчета двумерных фильтров затрудняет проектирование фильтров с характеристиками, хорошо аппроксимирующими заданные, особенно если речь идет о фильтрах достаточно высокого порядка. В данном разделе описана такая методика отображения оптимальных одномерных КИХ-фильтров в двумерные КИХ-фильтры, при которой во многих случаях критерий оптимальности будет удовлетворяться и для двумерного фильтра.
Если записать частотную характеристику двумерного КИХ-фильтра с линейной фазовой характеристикой в виде Я(е^2я/*, е^2яУг) = е-^^1-1)/2^1*^2-1)/2^ X
(JVi-D/2 (^2- 1)/2
X 22 а (пц ^2) cos (2л/1п1) cos (2л/2п2) (7.102)
«1=0«2=0
(здесь предполагается, что N\ и W2 нечетные), то действительную функцию Н (е^'2я/*, е^2я/*) можно выразить как
Н ^e^s ei2ltf^ =
= Н (е52я\ ^2я^)е?2я{[(^1-1)/2]/1+[(2У2-1)/2]/,} =(7.103)
(^i-l)/2 (^-i)/2
-22a (Rb n2) cos (2л/1п1) cos (2л/2н2), (7.104) «1=0«2=0
где коэффициенты {a (n^ n^ связаны с импульсной характеристикой фильтра {/? ^nv тг2)} соотношениями
/Л1 / ^1 —-^2—\
а(0, 0) = /Ц—Ь—, —^—) ,
а (0, п2) = 2h (—2 ’ —1Н^г)» l^^^—^,
а (^!, 0) = 2h ( ^у- 1- -
.^2 —1 \. ., Nt — 1
ь^1»2«
I 1<4— n,
a(jiv n^ = 4h ( — y~1- + n1,
^2-1 . \ J2
2+, SN !
ll<«,< 22 .
В гл. 3 было показано, что КИХ-фильтр с линейной фазовой характеристикой и импульсной характеристикой длиной в N отсчетов имеет частотную характеристику
G ^^^ = е-52л[^-п/2]/ G(7.105)
(-ZV—1)/2
G (е^л/) = ^ 6 (n) cos (2л/и) =(7.106)
п=0
(7V-D/2
- 2 b (и) [cos (2л/)]п.(7.107)
п=0
В формуле (7.106) частотная характеристика представлена в виде тригонометрического полинома от /, а в формуле (7.107) — в виде алгебраического полинома от cos (2л/). Введя (по Макклеллану) подстановку
cos (2л/) = A cos (2n/i) + В cos (2л/2) + С cos (Зл/^ cos (2л/2) + 5, (7.108)
выражение (7.107) можно преобразовать следующим образом:
(2V-D/2
2 6 (n) [cos (2л/)]п->
п=0
(Nx-D/2 (^-1)/2 ~
->22 а (пг, n2) [cos (гл/^Г1 [cos (2л/2)]Пг-^- (7.109)
пг=0 п,=0
(2Vi-l)/2 ((2Vs-l)/2
-22 aknv> ^2) cos (2л/1и1) cos (2л/2п2).(7.110)
m=o n2=o
Сумма (7.110) является искомым выражением для частотной характеристики КИХ-фильтров с линейной фазой [см. (7.103)1. Положив
А—В=С= -5 = 0,5(7.111)
и решив уравнение (7.108) относительно /2, получим следующее отображающее соотношение:
/ — 1 лтррлв Г Cos (2л/) + 0,5 - о, 5 cos (2Я/0 1/7 4 4 9\
— 2л arCC0S0,54-0,5 cos (2лЛ)
Фиг. 7.25. Частотное преобразование одномерных фильтров в двумерные (по Макклеллану).
На фиг. 7.25 показано, каким образом диапазон 0 ^ / ^ 0,5 с помощью соотношения (7.112) отображается на плоскость (Д, /2). Для каждого значения / на плоскости (Д, /2) проведена линия, вдоль которой значения получаемой в результате преобразования двумерной частотной характеристики постоянны и равны величине одномерной частотной характеристики на той же частоте /. При изменении / получается семейство кривых (см. фиг. 7.25), полностью описывающих частотную характеристику двумерного фильтра, рассчитываемого методом частотного преобразования. Из фиг. 7.25 следует, что линии равных уровней близки к окружностям, т. е. данный метод пригоден для расчета фильтров с круговой симметрией.
Для иллюстрации описанного метода на фиг. 7.26—7.28 приведены амплитудные характеристики и контуры равных уровней для фильтра нижних частот и полосового фильтра с круговой симметрией. Амплитудная характеристика, приведенная на фиг. 7.26,
Фиг. 7.26. Частотная характеристика фильтра нижних частот с импульсной характеристикой размером (9 X 9) (по Макклеллану).
Фиг. 7.27. Сопоставление контуров равных уровнен амплитудных характеристик двух фильтров нижних частот, рассчитанных различными методами (по Макклеллану).
Фиг. 7.28. Частотная характеристика полосового фильтра с импульсной характеристикой размером (31 X 31) (по Макклеллану).
относится к фильтру нижних частот с круговой симметрией, граничными частотами областей пропускания и непропускания, соответственно равными 0,1666 и 0,3333, и импульсной характеристикой размером (9 х 9). На фиг. 7.27 для сравнения показано расположение границ областей пропускания и непропускания для фильтра фиг. 7.26 и для фильтра, рассчитанного методами линейного программирования. Видно, что эти границы несколько отличаются друг от друга. Однако со всех других точек зрения (т. е. по уровню пульсаций в полосах непропускания и пропускания) эти фильтры оказываются эквивалентными.
На фиг. 7,28 изображена амплитудная характеристика полосового фильтра с импульсной характеристикой размером (31 X 31) и с круговой симметрией. Важным преимуществом метода частотного преобразования по сравнению со стандартными методами проектирования двумерных фильтров является то, что они позволяют сравнительно просто рассчитывать фильтры с длинными импульсными характеристиками, так как задачу аппроксимации достаточно решить для одномерной характеристики. Более того, можно показать, что при использовании преобразования (7.108), где переменные удовлетворяют условию (7.111), получаемый двумерный фильтр будет оптимальным в минимаксном смысле. Таким образом, метод частотного преобразования является, по-видимому, наиболее полезным методом расчета двумерных фильтров и может быть использован для широкого круга задач.
Фиг. 7.30, Та же фотография после фильтрации нижних частот.
Фиг. 7.31. Та же фотография послефильтрации верхних частот.
7.21. Примеры обработки изображений
В данном разделе приведены два примера использования двумерной обработки сигналов. Первый пример является стандартным; он иллюстрирует, как влияет на изображение фильтрация с подавлением верхних и нижних частот. Второй пример иллюстрирует применение нелинейной обработки для улучшения качества изображения.
На фиг. 7.29—7.31 приведены исходная фотография и результаты ее обработки фильтрами нижних и верхних частот (фотографии были любезно предоставлены проф. Леоном Хармоном и Аланом Стрельцовым из университета Case Western В eserve). Фильтр нижних частот был рассчитан методом частотной выборки с использованием частотного преобразования и имел импульсную характеристику размером (128 х 128), причем нормированные значения обеих частот среза были близки к 0,04. Фильтр верхних частот был дополняющим по отношению к фильтру нижних частот. Фотографии были представлены сеткой из 384 х 384 четырехраз-
Фиг. 7.32. Исходная фотография.
‘Риг. 7.33. Спектр логарифма от преобразования изображения, приведенного на фиг. 7.32, после его обработки отбеливающим фильтром.
рядных отсчетов. После обработки фильтром нижних частот изображение (фиг. 7.30) сохраняет большую часть информации, содержащейся в исходной фотографии, однако в нем отсутствуют контрастные детали в тех местах, где яркость исходной фотографии резко изменяется. Наоборот, после обработки фильтром верхних частот (фиг. 7.31) изображение сохраняет контрастные детали, но информация, соответствующая участкам постоянной яркости, в нем отсутствует.
Из последующих фотографий видно, насколько можно улучшить изображение с помощью нелинейной обработки (фотографии были любезно предоставлены проф. Томасом Стокхэмом из Университета штата Юта). На фиг. 7.32 приведена исходная фотография мужчины, работающего в помещении. На фиг. 7.33 представлен спектральный состав логарифма преобразования Фурье той же фотографии после обработки ее отбеливающим фильтром. Хорошо заметны высокочастотные составляющие логарифма преобразования Фурье. На фиг. 7.34 показаны результаты обработки фотогра-
Фиг. 7.34. Улучшенное изображение, полученное в результате нелинейной обработки фотографии фиг. 7.32,
фии с помощью мультипликативной системы, служащей для устранения теней и повышения освещенности изображения. Качество изображения значительно повысилось. Мультипликативная система, использовавшаяся при обработке, является гомоморфной. Системы такого типа будут рассмотрены в гл. 12 в разделе, посвященном нелинейной обработке речи.
ЛИТЕРАТУРА
Treitel S., Shanks J. L., Frasier C. W., Some Aspects of Fan Filtering, Geophysics, 32, No. 5, 789—800 (Oct. 1967).
Shanks J. L., Two Planar Digital Filtering Algorithms, Proc, Sth Ann. Princeton Conf, on Information Sciences and Systems, 48—53 (March 1971).
Shanks J. L-, Treitel S., Justice J. H., Stability and Synthesis of Two- Dimensional Recursive Filters, IEEE Trans, on Audio and Electroacoustics, AU-20, No. 2, 115—128 (June, 1972).
Huang T. S-, Stability of Two-Dimensional Recursive Filters, IEEE Trans, on Audie and Electroacoustics, AU-20, No. 2, 158—1^3 (June 1972).
Andrews Н., Tescher A., Kruger R., Image Processing by Digital Computer, IEEE Spectrum, 9, No. 7, 20—32 (July 1972).
Hu J. V., Rabiner L. R., Design Techniques for Two-Dimensional Digital Filters, IEEE Trans, on Audio and Electroacoustics, AU-20, No. 4, 249— 257 (Oct. 1972).
Huang T. S., Two-Dimensional Windows, IEEE Trans, on Audio and Electroacoustics, AU-20, No. 1, 88—89 (March 1972).
Anderson B. D., Jury E. L, Stability Test for Two-Dimensional Recursive Filters, IEEE Trans, on Audio and Electroacoustics, AU-21, No. 4, 366— 372 (Aug. 1973).
McClellan J. H., Parks T. W., Equiripple Approximation of Fan Filters, Geophysics, 37, No. 4, 573—583 (Aug. 1972).
McClellan J. H., On the Design of One-Dimensional and Two-Dimensional FIR Digital Filters, Ph. D. Thesis, Rice Institute, Houston, Texas, April 1973.
Oppenheim A. V-, Schafer R. W-, Stockham T. G., Nonlinear Filtering of Multiplied and Convoled Signals, Proc. IEEE, Vol. 56, 1264—1291 (Aug. 1968); есть русский перевод: Оппенхейм, Шефер, Стокхэм мл., Нелинейная фильтрация сигналов, представленных в виде произведения и свертки, ТИИЭР, т. 56, № 8, стр. 5—46 (1968).
Глава 8
ВВЕДЕНИЕ
В ЦИФРОВУЮ ТЕХНИКУ
Введение
Прежде чем приступить к дальнейшему изложению материала книги, напомним, что основное ее назначение — помочь инженеру в формулировании, разработке и практическом осуществлении алгоритмов цифровой обработки сигналов. Под осуществлением алгоритма обычно подразумевается либо программирование алгоритма для конкретной универсальной вычислительной машины, либо построение специализированного цифрового устройства. Не исключено также, что для реализации некоторых алгоритмов потребуется разработать новую универсальную вычислительную машину и соответствующие программы.
В принципе между составлением программы и проектированием аппаратуры много общего; в то же время любой разработчик знает о существенных различиях между ними. Их объединяет то, что универсальная ЦВМ представляет собой в конечном счете цифровое устройство; в то же время специализированное цифровое устройство можно рассматривать как вычислительную машину с запаянной программой (предназначенной для управления цифровым устройством). Таким образом, в любом случае речь идет о вычислительных машинах, реализующих заданные алгоритмы с помощью программ. Мы надеемся, что эта важная аналогия поможет читателю при ознакомлении с( материалом нескольких последующих глав, в которых рассматриваются применения цифровых методов.
С другой стороны, проектирование аппаратуры требует изучения совершенно нового языка, большого количества новых представлений, а также массы «маленьких хитростей», совершенно не нужных программисту. К сожалению, нельзя указать более короткого пути для освоения цифровой техники. Поэтому в последующих разделах будет сделана попытка лишь дать читателю «прочувствовать» основные принципы построения специализированных устройств цифровой обработки сигналов. Необходимо помнить, что, хотя приводимые примеры основаны на современном уровне развития технологии производства компонентов, технология продолжает развиваться быстрыми темпами, и подчас самым неожиданным образом. Однако нас гораздо больше будут интересовать, ска-
жем, алгоритмы умножения, чем физика работы кремниевых приборов, подобно тому как вот уже многие годы мы пользуемся уравнениями Максвелла, не задумываясь о технологии производства электронных ламп.
Некоторые вопросы проектирования аппаратурыцифровой обработки сигналов
Так как авторам приходилось заниматься исследовательскими работами и разработкой аппаратуры, а не вопросами производства, то материал настоящего раздела будет изложен с позиций разработчика, для которого процесс проектирования состоит из четырех этапов:
выбора логической серии или серий;
выбора конструкции;
разработки структуры системы;
моделирования всей разрабатываемой системы или ее части для выбора необходимых параметров.
Выбор логической серии аналогичен выбору новой ЦВМ при ее покупке: в обоих случаях почти невозможно дать однозначный ответ, их может быть несколько, причем каждый будет иметь свои преимущества. Приведем конкретный пример. В Линкольновской лаборатории проводилась опытная разработка цифрового синтезатора частот; идея была нова, затраты времени и средств казались вполне допустимыми и был инженер — энтузиаст этого проекта. Он не был знаком с самыми быстродействующими логическими элементами, поэтому, хотя казалось весьма заманчивым разработать сверхбыстродействующее устройство, было решено применить хорошо известные интегральные схемы транзисторно-транзисторной логики (ИС ТТЛ) с умеренным быстродействием.
Приведем еще один пример. Большой процессор для цифровой обработки радиолокационных сигналов было решено построить на самых быстродействующих компонентах. Заказчик рассматривал этот проект как этап развития систем, работающих с еще большей скоростью, и как важный шаг в приобретении навыков конструирования быстродействующих схем. Решению поставленных задач способствовало относительно хорошее финансирование.
В телефонии для селекции сигналов приходится использовать весьма большое количество фильтров. Поэтому в данном и в других аналогичных случаях, когда речь идет о крупносерийном производстве, следует разрабатывать устройства только на интегральных схемах. Переход от макета, собранного на имеющихся в наличии компонентах, к макету в интегральном исполнении может происходить постепенно.
Фиг. 8.1.Фиг. 8.1.Печатная плата цифровогоПечатная плата цифровогосинтезатора частот.синтезатора частот.
Фиг. 8.1.
Фиг. 8.1.
Печатная плата цифрового
Печатная плата цифрового
синтезатора частот.
синтезатора частот.
Различные серии логических элементов имеют неодинаковые электрические параметры (питающие напряжения, уровни сигнала, входное и выходное сопротивления, температурные зависимости), поэтому обычно они несовместимы между собой. Часто эту трудность преодолевают с помощью соответствующие согласующих устройств. Иногда оказывается целесообразным совместное применение в одной разработке нескольких логических серий.
Например, один из блоков системы может иметь невысокое быстродействие, тогда как для остальных блоков требуется быстродействующая логика. В этом случае следует проанализировать возможность построения медленного блока на микросхемах с высоким уровнем интеграции и малой потребляемой мощностью. Опыт, однако, показывает, что инженеры, проектируя систему обработки сигналов, чаще всего ориентируются на какую-либо одну серию логических элементов.
После выбора серии логических элементов с определенными быстродействием и потребляемой мощностью можно перейти к рассмотрению конструктивных особенностей проектируемой системы. Речь пойдет о выборе размеров и конструкции плат, межэлементном монтаже, о расположении земляной и питающей шин, контрольных точек и т. д. Пример конструкции, использующей технологию печатного монтажа, показан на фиг. 8.1. После вытравливания с двух сторон платы остаются проводящие участки. Одним из недостатков этой конструкции является то, что трудно исправлять ошибки, поэтому чертеж платы приходится выполнять с особой тщательностью. Тем не менее при серийном производстве печатные платы оказываются экономически выгодными, так как их легко копировать фотоспособом.
Пример другой техники монтажа — накруткой — показан на фиг. 8.2. Здесь иллюстрируется конструкция небольшого, но довольно сложного устройства, построенного на интегральных схемах эмиттерно-связанной логики (ЭСЛ) с временем задержки 2 нс. Видны две платы для монтажа интегральных схем, одна из которых откинута, чтобы показать монтаж, источник питания справа, систему охлаждения и часть жгута, соединяющего обе платы. Часть платы со стороны монтажа в увеличенном виде показана на фиг. 8.3. Ясно, что изготовление такой платы требует либо непомерного ручного труда, либо очень сложной машины. На практике при монтаже и настройке таких плат обычно совмещают ручной труд с использованием автомата. Несмотря на сложность, монтаж накруткой более гибок, поэтому при изготовлении единичных образцов цифровых устройств затраты времени оказываются меньшими по сравнению со случаем применения печатного монтажа. К тому же монтажные ошибки легко можно исправить.
На фиг. 8.3 видно большое количество дискретных компонентов (резисторов и емкостей). Они нужны главным образом для того, чтобы устранить помехи и дополнительные задержки распространения. Когда транзисторные схемы переключаются за время менее 1 нс, монтаж накруткой становится непригодным и нужно переходить на технологию печатных полосковых линий.
После выбора логической серии и конструкции системы (если речь идет о макете) можно приступить к разработке структуры системы. Например, конструкция и потребляемая мощность бор-
Фиг* 8.2* Конструкция с монтажом накруткой.
тового процессора будут иными, чем в наземном варианте. Некоторые ограничения (на размеры, вес, потребляемую мощность) накладываются условиями рыночного сбыта. Но даже и без учета этих объективных ограничений профессиональный разработчик ■стремится найти изящное решение, которое потребовало бы минимального количества компонентов, имело бы конструкцию, удобную для настройки и доработки и, главное, надежную. Известно, что стремление к совершенству часто противоречит срокам разработки и запросам потребителей. Наконец отметим, что проектирование цифровой аппаратуры, как и инженерная деятельность вообще, основано на интуитивном учете большого числа довольно неопределенных факторов. В этом смысле проектирование напоминает гуманитарные науки, такие, как психология и социология. Отличие, по-нашему мнению, состоит в следующем: после выполнения интуитивной части работы, связанной с выбором логической серии, конструкции и архитектуры системы, а также
Фиг. 8.3. Плата со стороны монтажа, выполненного накруткой (крупный план).
^некоторыми вопросами, обсуждаемыми ниже, остальная работа планируется достаточно четко, так что основное внимание следует обратить на учет многочисленных деталей, тщательное составление графика работ и выбор важных ориентиров на пути завершения разработки. Стоимость и производительность большинства систем цифровой обработки сигналов во многом зависят от того, насколько правильно выбраны разрядность регистров, система счисления и организация памяти. Разрядность регистров систем типа цифровых фильтров и процессоров Б ПФ проще всего оценить путем их
Фиг. 8.4. Последовательность рассмотрения элементов систем в процессе создания алгоритмов обработки сигналов.
моделирования на ЦВМ. Как производительность, так и сложность систем зависят от характеристик арифметического устройства (представление чисел с фиксированной или плавающей запятой, контроль переполнения, основание системы счисления). С помощью программы моделирования можно подобрать большое количество параметров системы как до ее разработки и конструирования, так и во время конструирования, но в меньшей степени.
Помимо моделирования, целесообразно также разработать и собрать некоторые блоки. Это даст возможность оценить быстродействие, количество корпусов интегральных схем, стоимость и затраты времени. Сведения о компонентах берутся из справочников, а логическое проектирование выполняется с использованием булевой алгебры. Многие неопытные разработчики придают слишком большое значение логическим уравнениям, подобно тому как начинающие программисты уделяют слишком большое внимание отдельным командам программы. По нашему мнению, эти этапы не являются решающими при проектировании и создании системы цифровой обработки сигналов.
На фиг. 8.4 схематично показана последовательность анализа элементов схем, блоков и систем (вместе с указанием источников
используемой информации), предшествующего разработке алгоритмов. Эта схема в принципе справедлива применительно к любой цифровой системе, поэтому имеет смысл кратко рассмотреть основные особенности алгоритмов цифровой обработки сигналов.
При разработке этих алгоритмов очень важным фактором является скорость вычислений. При достаточной скорости можно работать в реальном времени, уменьшить параллелизм системы (и, как следствие, упростить ее), сэкономить машинное время универсальных ЦВМ, повысить степень мультиплексирования. Из-за стремления к увеличению быстродействия транзисторно-транзисторная логика (ТТЛ) и эмиттерно-связанная логика (ЭСЛ) представляют больший интерес, чем резистивно-транзисторная логика (РТЛ).
Основными арифметическими операциями при цифровой обработке сигналов являются умножение и сложение. Для многих аппаратурных или программных реализаций алгоритмов обработки сигналов особенно важна разработка быстродействующих компактных и недорогих умножителей.
Булева алгебра.
Примеры простых логических цепей
При разработке цифровых устройств универсальным языком для их описания служит двоичная арифметика, использующая булеву алгебру. Таким образом, любой алгоритм можно представить системой булевых уравнений. Справочные данные для логических интегральных схем всегда содержат логические соотношения, связывающие вход микросхемы с ее выходом. Системы обозначений не во всех справочниках одинаковые, поэтому здесь произвольно выбрана одна из самых распространенных.
Любая двоичная функция может быть выражена через элементарные функции И, ИЛИ и НЕ. Пусть х и у — две двоичные переменные, а и — двоичная функция от х и у. Тогда если и = 1, только когда х = 1 и у = 1, то и определяется как функция И от х и у и записывается в виде
и = ху.(8.1)
Полную картину функциональной зависимости между ж, у и и дает также следующая таблица истинности*.
хуи
ООО
О1О(Т.И.1)
1ОО
111
Таблица истинности показывает, чему равно и для каждой из возможных комбинаций х и у. Формула (8.1) и таблица (Т.И.1) полностью эквивалентны. Очень часто алгебраические выражения типа (8.1) получают из таблицы истинности, а затем упрощают их, используя правила алгебры логики.
Если и = 1, когда либо х = 1 либо у = 1, то и называется функцией ИЛИ от х и у и записывается следующим образом:
и = х-\-у.(8.2)
Можно образовать и более сложные функции. Пусть, например, хх, х2 и хд — двоичные переменные и
и = ххх2 + х3.(8.3)
Из этой формулы следует, что если и хг = 1 и х2 = 1 или х3 = 1, то и = 1. Попробуйте в качестве упражнения составить таблицы истинности, соответствующие соотношениям (8.2) и (8.3).
Введение отрицаний придает действиям с булевыми функциями большую гибкость. Отрицание х, обозначаемое как х, равно единице, если х — 0, и наоборот. Уравнения
и = ху, и = х-\-у(8.4)
описывают функции, называемые И—НЕ и ИЛИ—НЕ. Операция неравнозначности (называемая иначе сложением по модулю 2) определяется как
и~ ху + ху — х ф у.(8.5)
Пять булевых функций ИЛИ, ИЛИ—НЕ, И, И—НЕ и неравнозначность составляют основу более сложных логических выражений. На фиг. 8.5 представлены условные обозначения, которые
И-НЕИЛИ-НЕ
Фиг. 8.5. Примеры булевых функций
Фиг. 8.6. Функция неравнозначности, выраженная через функции И и ИЛИ.
будут использоваться в дальнейшем при составлении логических блок-схем, соответствующих или булевым уравнениям, или таблицам истинности (маленькие кружки здесь и ниже обозначают отрицание).
На фиг. 8.6 показан пример реализации функции неравнозначности на основе вентилей И и ИЛИ. Существенно, что для этого требуются два уровня вентилей, поэтому следует ожидать, что время переключения в этом случае будет больше, чем для четырех элементарных функций, показанных на фиг. 8.5. Время переключения является определяющей характеристикой логического элемента. Для серийно выпускаемых интегральных схем (ИС) различают два вида задержек — номинальную и максимальную. Эти задержки зависят также от температуры и нагрузки (количества входов ИС, подключенных к выходу схемы). Увеличение нагрузки усложняет работу схемы и увеличивает задержку распространения. Различают два вида нагрузочной способности — по постоянному и переменному току. Ограничение на нагрузочную способность по переменному току связано с тем, что каждый из входов интегральной схемы имеет некоторую паразитную емкость, поэтому при подключении к данной схеме большого количества входов емкостная нагрузка вызовет замедление процесса переключения. С другой стороны, нагрузка по постоянному току вызывает изменение переходной характеристики транзисторов, уменьшая логический перепад и ухудшая таким образом помехоустойчивость схемы.
В качестве упражнения предлагаем читателю следующие задания.
Составьте пирамидальную схему контроля четности восьми двоичных разрядов, вырабатывающую логическую единицу в четном случае и нуль в нечетном.
Составьте схему восьмиканального селектора, который в зависимости от входного трехразрядного кода выбирает одну из восьми входных линий.
Определите наибольшее из двух трехразрядных чисел. Считается, что устройство оперирует только с положительными числами, такими, например, как 010 = 2 и 111 = 7.
Фиг. 8.7. Входные и выходныеФиг. 8.7. Входные и выходныесигналы одноразрядного сумматора.сигналы одноразрядного сумматора.
Фиг. 8.7. Входные и выходные
Фиг. 8.7. Входные и выходные
сигналы одноразрядного сумматора.
сигналы одноразрядного сумматора.
Одна из наиболее часто используемых булевых функций при цифровой обработке сигналов формируется с помощью одноразрядного сумматора (фиг. 8.7), имеющего три входа (два для слагаемых и один для переноса) и два выхода — суммы и переноса (в бо
лее совершенных схемах и их дополнений). Взаимосвязь между
входами и выходами
может
быть задана
следующей таблицей
истинности:
а b
свх
Арифмети
СВЫХ$
ческая
сумма
00
0
0
00
00
1
1
01
01
0
1
01
01
1
2
10(Т.И.2)
10
0
1
01
10
1
2
10
1 1
0
2
10
1 1
1
3
1 1
Логические уравнения
полностью определены этой таблицей,
поэтому непосредственно по ней можно составить булевы выражения для свых и s в функции а, 6 и свх. Конкретный пример серийно выпускаемой интегральной схемы, выполняющей рассматриваемую функцию, показан на фиг. 8.8. Предлагаем читателю следующие упражнения:
Составьте таблицу истинности и запишите логические уравнения для одноразрядного вычитателя, работающего в дополнительном коде.
На фиг. 8.9 показан четырехразрядный сумматор. Необходимо оценить время «установления» сумматора, т. е. в предположении, что в нулевой момент времени на все входы подаются ло-
Фиг. 8.8. Логическая схема одноразрядного сумматора фирмы Motorola.
Фиг. 8.9. Четырехразрядный сумматор.
гические уровни, определить, когда логические уровни всех сумм и переносов станут достаточно стабильными, чтобы их можно было использовать в качестве входных сигналов для других логических элементов системы. Чтобы решить эту задачу, необходимо знать время распространения от каждого входа до любого выхода. Пусть т (аг—>- sf) = т (6;-*- S,) = 10 нс, т (сг-^ sf) = 15 нс, т (а{—>сг+1) = т (5i~*- ci+1) = 20 нс и т (сг->- ci+1) = 5 нс. Определите для этих значений наибольшее время распространения.
Параллельный сумматор, состоящий из восьми одноразрядных сумматоров, параметры которого приведены в предыдущем примере, имеет недостаточное быстродействие. Рассмотрите несколько схем ускорения переноса, попытайтесь составить их логические уравнения и обоснуйте выбор наилучшей из них. Предполагается, что задержка распространения базового логического элемента равна 3 нс.
Для схемы, приведенной на фиг. 8.8, напишите логические уравнения для5гиСг+1; покажите, что St и Ci+1 также можно представить в виде
St = Ai ф Bi ф Ci,Ci+1 = AiBi + (Ai®Bi)Ci.
Основные типы интегральных логических схем
Как уже отмечалось, проектирование аппаратуры в некотором смысле напоминает программирование. Программист пытается реализовать алгоритм, используя набор команд данной универсальной ЦВМ. Аналогично разработчик обычно проектирует аппаратуру, реализующую тот или иной алгоритм, используя булевы уравнения с учетом специфики выбранной серии логических элементов. Основное различие между этими двумя направлениями состоит в следующем: программист может считать свою систему команд «идеальной» в том смысле, что каждая из них выполняется точно; логическая схема также будет «идеальной»
при условии, что конструирование проведено грамотно, помехи малы, температурная проблема решена и т. д. Поэтому разработчик аппаратуры вынужден иметь гораздо больше дополнительных сведений о логических схемах, чем программист об освоенной им системе команд. В этом разделе рассмотрены основные существующие в настоящее время типы логических схем и их классификация; приведены некоторые спецификации выпускаемых промышленностью логических схем и показано, насколько важны для разработчика эти сведения.
Прежде всего, логические интегральные схемы подразделяются на биполярные и униполярные. Биполярные ИС представляют собой обычные транзисторные схемы, использующие оба типа проводимости (электронную и дырочную), тогда как униполярные основаны на полевом эффекте,заключающемся в том, что напряжение затвора управляет протекающим в любом направлении между истоком и стоком потоком зарядов одного знака. Внутри каждого из основных классов ИС проводится более детальная классификация. Она будет рассмотрена ниже, а сейчас лишь отметим, что униполярные устройства до сих пор представляются наиболее подходящими для схем с высоким уровнем интеграции, низкой потребляемой мощностью и умеренным быстродействием, тогда как большинство биполярных схем позволяет достичь очень высокого быстродействия, но при большей рассеиваемой мощности и меньшем уровне интеграции. Например, при существующем уровне технологии МДП (металл—диэлектрик—полупроводник) на одном кристалле можно разместить довольно сложный цифровой фильтр; плотность размещения компонентов униполярных схем на один-два порядка выше, чем биполярных. Биполярные схемы классифицируют путем сравнения режимов транзисторных цепей: транзисторы в процессе переключения либо заходят в ту область переходной характеристики, где наблюдается насыщение (насыщенная логика), либо они всегда работают на линейном участке (ненасыщенная логика). Рассмотрим сначала два типа насыщенных ИС, а затем один тип ненасыщенных ИС. На фиг. 8.10 показан вентиль с четырьмя входами резистивно-транзисторной логики (РТЛ). Если четыре входных уровня хг, х2, х3 и х^ низкие (нулевые), то все транзисторы закрыты, через R^ ток не течет и поэтому напряжение на выходе у равно У. Если же на любом из входов напряжение возрастает до достаточно высокого уровня, начинает течь ток и напряжение на выходе падает. Таким образом, переключающая схема, показанная на фиг. 8.10, имеет булеву функцию вида
i/ = ^2^4, (8-6)
т. е. у = 1 тогда и только тогда, когда все xt = 0.
Фиг. 8.10. Принципиальная схема и условное обозначение вентиля НЕ—И с четырьмя входами (по Гаррету).
а — принципиальная схема; б — условное обозначение.
■оу=х1х2х3х4
Б этом примере предполагалось, что высокому уровню напряжения соответствует логическая единица, а низкому — логический нуль. Но чему равны эти напряжения, каковы значения потребляемой мощности, какие типы транзисторов использовать и как выбрать номиналы резисторов? Все эти характеристики, а также возможности технологии по обеспечению достаточно точных значений параметров будут определять быстродействие, надежность, помехоустойчивость и т. д. Сведения такого рода можно получить из каталогов. Например, на фиг. 8.11 показана передаточная характеристика схемы РТЛ. В этих схемах применяются транзисторы с большим коэффициентом усиления 0, поэтому относительно небольшое изменение входного уровня приводит к насыщению. Из фиг. 8.11 отчетливо видно, почему эта транзисторная схема ведет себя как переключатель, и становится понятным, какой смысл имеет термин шасшценная логика». Следует также обратить внимание на характер изменения передаточной характеристики этой схемы по постоянному току при увеличении нагрузки
Фиг. 8.11. Передаточная характеристика по напряжению для схемы РТЛ (по Гаррету).
Фиг. 8.12. Передаточная характеристика схемы РТЛ с нагрузкой, равной пяти (по Гаррету).
от единицы (фиг. 8.11) до пяти (фиг. 8.12). Видно, что вентиль, нагруженный на пять других вентилей, имеет несколько худший режим переключения по сравнению с менее нагруженным вентилем из-за уменьшения перепада напряжения примерно на 30%.
Фиг. 8.13. Упрощенная схема ТТЛ и ее условное обозначение (по Гаррету).
В конце концов слишком большое увеличение нагрузки настолько ухудшит характеристику, что работоспособность нарушится.
На фиг. 8.13 показан упрощенный вариант схемы транзисторно-транзисторной логики (ТТЛ). Если xv хг, х^ или х4 имеют низкий (нулевой) уровень, то ток течет через Rx и транзистор Ти поэтому Тзакрыт и на выходе образуется высокое (единичное) напряжение. Следовательно, логическое уравнение имеет вид
у = Хух^хь или у = ХуХ^х^(8.7)
Отметим, что транзистор Тх многоэмиттерный. Приведенная схема отличается от промышленных, но с ее помощью легче понять процессы переключения и объяснить номенклатуру ТТЛ. Входы в схеме ТТЛ объединяются через транзисторы в отличие от РТЛ, где для этого служат резисторы. В еще одной разновидности схем — диодно-транзисторной логики (ДТЛ)—входы объединяются через диоды. По многим причинам, слишком специфичным, чтобы обсуждать их здесь, схема ТТЛ — самая быстродействующая и наиболее универсальная из трех перечисленных. Номинальное значение времени переключения обычной схемы ТТЛ равно 10— 12 нс. Быстродействующие ТТЛ срабатывают за 6 нс, а ТТЛ с диодами Шоттки (ТТЛ ДШ) — за 4 нс, и их применение также экономически выгодно.
Схемы ТТЛ, ДТЛ и РТЛ относятся к семейству насыщенной логики. Для увеличения быстродействия необходимо некоторые
VM = -1,175BVM = -1,175B300 <R,300 <R,бО 118 кОмбО 118 кОмо¥сс=3емляо¥сс=3емля-о ИЛИ-НЕ= =A+B+C+D-о ИЛИ-НЕ= =A+B+C+D1,5 > к Ом > 1~О^£ == -5,2В (НОМ)1,5 > к Ом > 1~О^£ == -5,2В (НОМ)ЛоЛоЛоЛоОД+5+С+ПoA+B+0+DОД+5+С+ПoA+B+0+D
VM = -1,175B
VM = -1,175B
300 <R,
300 <R,
б
О 118 кОм
б
О 118 кОм
о¥сс=3емля
о¥сс=3емля
-о ИЛИ-НЕ= =A+B+C+D
-о ИЛИ-НЕ= =A+B+C+D
1,5 > к Ом > 1~О^£ =
= -5,2В (НОМ)
1,5 > к Ом > 1~О^£ =
= -5,2В (НОМ)
Ло
Ло
Ло
Ло
ОД+5+С+П
oA+B+0+D
ОД+5+С+П
oA+B+0+D
Фиг. 8.14. Схема ЭСЛ и ее обозначение (по Гаррету).
транзисторы удерживать в линейной части их передаточных характеристик. Это устраняет емкостные эффекты, обусловленные зарядом обедненного слоя в режиме насыщения. Ненасыщенный режим соответствует режиму класса А; ток в цепи течет все время, и поэтому рассеивается повышенная мощность. Интегральные схемы, обладающие таким свойством, относятся к эмиттерно-связанной логике (ЭСЛ), так как эмиттеры их входных транзисторов объединены (фиг. 8.14).
Схема на фиг. 8.14 состоит из четырех частей: входной цепи, дифференциального усилителя, цепи смещения и эмиттерного повторителя. Входная цепь имеет высокое входное сопротивление, а эмиттерный повторитель обеспечивает низкое выходное сопротивление; благодаря этому достигается большая нагрузочная способность по постоянному току. С помощью цепи смещения в дифференциальном усилителе устанавливается порог переключения тока. Два диода в цепи смещения компенсируют изменения уровня напряжения, вызванные вариациями температуры эмиттерных переходов транзисторов дифференциального усилителя. Кроме того, дифференциальный усилитель эффективно подавляет высшие гармоники переходного процесса. Таким образом, основное вни-
Фиг. 8.15. Зависимость потребляемой мощности от частоты переключения для насыщенной (ТТЛ) и ненасыщенной (ЭСЛ) логических схем.
мание при разработке схем ЭСЛ было направлено на обеспечение устойчивой работы на высоких частотах.
Выше уже отмечалось, что поскольку схема ЭСЛ работает на линейном участке характеристики транзистора, то она рассеивает большую мощность (по сравнению со схемами типа ТТЛ). Отметим еще одну особенность схемы. Поскольку ЭСЛ линейна, рассеиваемая мощность не зависит от скорости переключения. Что касается ТТЛ, то ток в ней течет только во время переключения. Поэтому, чем выше скорость переключения, тем большую часть составляет это время, так что рассеиваемая мощность возрастает при увеличении скорости переключения. Это отчетливо видно из кривых на фиг. 8.15, где показаны зависимости рассеиваемой мощности от скорости переключения для ТТЛ- и ЭСЛ- вентилей.
Хотя в настоящее время более популярны ТТЛ ИС, в процессе создания высокопроизводительных сложных систем стали постепенно выявляться преимущества ЭСЛ ИС. Можно ожидать, что в дальнейшем при цифровой обработке сигналов, где важную роль играет быстродействие, ЭСЛ будут успешно конкурировать с ТТЛ.
Для быстродействующих логических схем большое значение имеет выбор конструкции. При этом приходится учитывать временные задержки в соединительных проводах, искажения формы импульса, вызываемые эффектом длинных линий даже в срав-
Металл
Напряжение затвора
Напряжение истока
Напряжение стока
Подложка п-типа
Движение потока зарядов
Слой двуокиси кремния
Фиг. 8.16. Упрощенный эскиз МДП-транзистора.
нительно коротких проводниках на высоких частотах, увеличение перекрестных искажений между соседними проводами и температурные ограничения, связанные с большой рассеиваемой мощностью. Особое внимание следует обратить на системы распределения синхронизации и питающих напряжений, а также на тепловой режим (теплоотвод и грамотный монтаж, обеспечивающий равномерное распределение потока воздуха). Хорошие результаты дает применение многослойных печатных плат, которые позволяют создать надежные земляные шины, уменьшить трудности, связанные с разводкой, достичь высокой плотности монтажа и минимизировать задержки.
Перейдем к рассмотрению униполярных приборов. Они также построены на транзисторах, но основаны на другом принципе. В униполярных приборах используется полевой эффект, который состоит в том, что поток зарядов между двумя полупроводниками управляется изменением напряжения на металлическом «затворе». На фиг. 8.16 приведен эскиз прибора. Видно, что затвор изолирован от полупроводников слоем двуокиси кремния. Из-за наличия металлического затвора, слоя изолирующего окисла и (кремниевых) полупроводников эти приборы были названы МОП (металл— окисел—полупроводник)1).
На фиг. 8.16 показан один из вариантов построения такого прибора; на кремниевой подложке n-типа путем диффузии создаются две области />-типа, соответствующие истоку и стоку. За-
г) В отечественной литературе принято название МДП (металл — диэлектрик — полупроводник), которое и будет использоваться в дальнейшем.— Прим, перев.
Память
МДП
Биполярные ТТЛ
1000-4000 бит
200-400 нс
64-1000 бит
30-100 нс
Логика
2000 вентилей
1 мкс
50 вентилей
2 нс
Фиг. 8.17. Современные возможности интегральных схем (по Раффллу). тем наносится изолирующий слой окиси кремния, на котором располагается затвор—металлический управляющий элемент (обычно алюминиевый). К двум p-областям подводятся металлические контакты. Достаточно большое отрицательное напряжение, приложенное к затвору, вызовет инверсию в кремнии н-типа за счет притягивания дырок к поверхности затвора; в результате этого эффекта весь образец будет вести себя как простой полупроводник р-типа, и между двумя областями p-типа будет течь ток. Прибор имеет ярко выраженные ключевые свойства благодаря узкому порогу между состояниями наличия полного тока и отсутствия его.
В настоящее время серийно выпускаются уже несколько типов МДП-приборов, однако дальнейшие исследования обещают невиданные результаты. Поэтому на фиг. 8.17, где сделана попытка сопоставить преимущества и недостатки различных технологий, учитывается лишь уровень современного производства. Сравним униполярную (МДП) и биполярную технологии. Таблица соответствует уровню технологии 1973 г. Схемы МДП достигли намного большей степени интеграции, тогда как биполярные — много большего быстродействия. Несомненно, что МДП-схемы более предпочтительны для построения больших интегральных схем (БИС), что объясняется простотой технологического процесса, меньшими размерами и более низкой мощностью рассеивания МДП-транзис- торов. Использование БИС в свою очередь сильно упрощает проблему монтажа.
Из таблицы на фиг. 8.17 видно, что при построении быстродействующих устройств цифровой обработки лучший компромисс между быстродействием и сложностью достигается для биполярных схем. Заманчиво, однако, сознавать, что существующий уровень МДП-технологии позволяет построить достаточно сложный цифровой фильтр целиком на одном кристалле! По-видимому, в настоящее время основным применением МДП-технологии в цифровой обработке сигналов является память на регистрах сдвига; для четырехфазных устройств достигнуто быстродействие 20 МГц.
Типы логических-ИС
РТЛ
ДТЛ
ТТЛ
эсл
МДП
МДП ДТ
Выходное сопротивление
Килоомы
Килоомы
10—17 Ом
6—15 Ом
Килоомы
Килоомы
Нагрузочная способность
5
8
10
10—25
20
50
Рассеиваемая мощность на вентиль, мВт
2,5—12
8—12
12—22
40—55
0,2—10
1
(на 1 МГц)
Помехоустойчивость
Средняя
Хорошая
Очень хорошая
Хорошая
Средняя
Очень хорошая
Уровень собственных помех
Низкий— средний
Средний
Высокий— средний
Низкий— средний '
Средний
Низкий— средний
Задержка переключения вентиля, нс
12-25
30
6—12
1-4
300
70
Тактовая частота триггера, МГц
2,5—8
12-30
15—60
60—400
2
5
Универсальность
Хорошая
Средняя
Очень хорошая
Хорошая
Низкая, но улучшается
Низкая, но улучшается
Сравнение основных типов логических интегральных схем (из статьи Гаррета)
Таблица 8.1
Введение в цифровую технику
Как станет ясно в гл. 9, цифровой фильтр можно построить, используя в качестве памяти регистры сдвига.
В заключение приведем отредактированную табл. 8.1, взятую из статьи Гаррета, посвященной основным типам логических схем. Пользуясь ею, подведем итоги раздела. Во-первых, только схемы ТТЛ, ЭСЛ и МДП представляют в настоящее время интерес для цифровой обработки сигналов. Хотя схемы МДП ДТ (дополняющие МДП-транзисторы, см. последний столбец таблицы) не рассматривались, из таблицы следует, что они имеют определенные преимущества перед обычными схемами МДП. В настоящее время наиболее популярны схемы ТТЛ, которые обладают большой универсальностью, достаточным быстродействием и хорошо освоены разработчиками аппаратуры. С другой стороны, быстро завоевывают признание ЭСЛ-схемы. По-видимому, именно они лучше всего подходят для применений в области цифровой обработки сигналов. Несомненно, что в процессе ее развития будут широко использоваться логические схемы трех указанных типов.
Серийные логические ИС: вентили,коммутаторы и дешифраторы, триггеры, арифметическиеи запоминающие устройства
После создания очередной серии логических схем важно, чтобы она нашла широкое применение в цифровых устройствах. Даже когда новая серия намного превосходит существующие, это может произойти через несколько лет. По этой причине целесообразно начать выпуск с сокращенной номенклатуры, а затем, если схемы станут популярными и окажутся перспективными, постепенно расширять ее. К тому времени, когда серия станет общепризнанной, она должна быть самостоятельной, т. е. формировать все многообразие логических функций. Что касается биполярных устройств, то в настоящее время здесь имеется большой выбор различных вентилей и триггеров, существуют полезные с высоким уровнем интеграции арифметические устройства и элементы памяти, совместимые с существующей логикой. Для осуществления управления более высокого уровня целесообразно иметь также дешифраторы и коммутаторы в интегральном исполнении, примеры которых будут даны в этом разделе. Возможно, читателя удивит кажущийся произвол в выборе примеров. Следует не забывать специфики конструкции корпуса ИС. Чаще всего используются пластмассовый корпус с 16 выводами или плоский металлокерамический корпус (также с ограниченным числом выводов). Для схем с высоким уровнем интеграции, когда 16 выводов не хватает, могут использоваться корпуса с 24 выводами. Так как 3 вывода предназначены для питания схемы, то на сигналы остается (для корпуса с 16 выводами) 13 выводов. Легко убедиться в том, что для некото-
Фиг. 8.18. Примеры различных логических функций промышленных интегральных схем.Фиг. 8.18. Примеры различных логических функций промышленных интегральных схем.
Фиг. 8.18. Примеры различных логических функций промышленных интегральных схем.
Фиг. 8.18. Примеры различных логических функций промышленных интегральных схем.
рых типичных логических схем, показанных на фиг. 8.18, суммарное число входов и выходов всегда равно 12 или 13.
К числу важных правил)булевой алгебры относится следующее: используя элементы ИЛИ—НЕ и И, а также И—НЕ и ИЛИ, можно получить одни и те же логические функции.Например,на фиг. 8.19 сверху показан вентиль ИЛИ—НЕ с тремя входами, который может быть заменен вентилем И с тремя инверсными входами (на фиг. 8.19 внизу). В справочниках первый из этих вентилей (ИЛИ—НЕ) называется схемой положительной логики, а второй (И) — схемой отрицательной логики, так как в последнем случае логическая функция на самом деле выполняется над отрицаниями входных сигналов. Составим для этих схем таблицы истинности [см. (Т. И. 3)] и запишем соответствующие им булевы уравнения, которые иллюстрируют различные варианты построения вентилей:
Фиг. 8.19. Схема ИЛИ — НЕ с тремя входами и эквивалентная ей трехвходовая схема И—НЕ.Фиг. 8.19. Схема ИЛИ — НЕ с тремя входами и эквивалентная ей трехвходовая схема И—НЕ.
Фиг. 8.19. Схема ИЛИ — НЕ с тремя входами и эквивалентная ей трехвходовая схема И—НЕ.
Фиг. 8.19. Схема ИЛИ — НЕ с тремя входами и эквивалентная ей трехвходовая схема И—НЕ.
Положительная логикаОтрицательная логика
И И—НЕ ИЛИ ИЛИ—НЕ
и х у иху иху u-^x-Vy u-Y-x-Y-y иху иху U-^-X-Vy U-V-X-Vy
00001011010
00101100110
0100110011О
0 110110011О
1000110011О
10 10110011о
110 011О011о
111101001 О 1
(Т.И.З)
Из (Т. И. 3) имеем
иху ^u^-x-Vy.
иху ^u-Y-x-V-y,(8.8)
иху = и + х + у,
иху = и-^- X-Y-y.
Таким образом, функция И от заданных переменных равна отрицанию функции ИЛИ от отрицаний этих переменных, и наоборот.
Существует множество вариантов реализации заданной системы с помощью основных логических вентилей, показанных на фиг. 8.18 и 8.19. Любую систему можно спроектировать, располагая сравнительно небольшой номенклатурой ИС. Однако лишь при наличии многофункциональных схем, схем с большой нагрузочной способностью и схем, реализующих специальные функции в одном корпусе (например, сумматора), можно рассчитывать на уменьшение размеров и увеличение быстродействия системы. В качестве упражнения попытайтесь, используя логические цепи, приведенные на фиг. 8.18, составить логическую схему обнаружения нулевого состояния 16-разрядного параллельного регистра.
В качестве примера интегральной схемы с арифметическими функциями рассмотрим быстродействующее четырехразрядное арифметико-логическое устройство (АЛУ) МС10181, разработанное фирмой Motorola. Схема содержит 62 вентиля, т. е. несколько больше, чем говорилось выше, но она размещена в пластмассовом корпусе с 24 выводами, который занимает значительно большую площадь по сравнению с корпусом с 16 выводами. МС10181 реа-
Фиг. 8.20. Входные и выходные сигналы четырехразрядного АЛУ МС10181.
лизует функцию (Fo, FTl F2, F3) от двух четырехразрядных переменных (Л 0, Ау, Л 2, Л3) и \Вй1 В^ В2, В3). В дополнение к 12 перечисленным 3 вывода отведены под питание (фиг. 8.20). Кроме того, вводится четырехразрядный управляющий код (So,‘Въ 8г, S3), определяющий вид функции; это означает, что данное АЛУ может формировать до 16 различных функций от двух входных четырехразрядных слов. Выводы Gg, Pg и Сп+4 связаны с операцией переноса. При обычном сложении с последовательным переносом на вход Сп подается сигнал переноса в младший разряд, а с выхода Сп+4 снимается перенос из старшего четвертого разряда. Выводы Gg и Р§ предназначены для подключения дополнительной схемы формирования ускоренного переноса. Еще один управляющий вход М определяет, работает схема как арифметическое или логическое устройство. Список функций, реализуемых микросхемой МС10181, содержится в таблице на фиг. 8.21. Так как М относится к управляющим разрядам, то всего возможны 32 функции: 16 логических и 16 арифметических (они приведены во втором и третьем столбцах соответственно).
8з
S2
S1
So
Логическая функция
Арифметическая операция
0
0
0
0
F = A
F — A минус 1
0
0
0
1
F — A-VB
F — A плюс (Л-J-5)
0
0
1
0
F = AB
F = A плюс (Л-j-В)
0
0
1
1
F— 0
F — 2A
0
1
0
0
F = A-B
F = (A-B) минус 1
0
1
0
1
F = B
Р = (Л-В) плюс (Л-f-Z?)
0
1
1
0
F-A®B
F = A плюс В
0
1
1
1
F — AB
F — A плюс (Л-В)
1
0
0
0
F^A-\B
F — (A-B) минус 1
1
0
0
1
F = AQB
F = A минус В минус 1
1
0
1
0
F — B
F — ^A-B^ плюс (Л+5)
1
0
1
1
F = A-B
F = ^A-B^ плюс А
1
1
0
0
F = 1
F = минус 1 (дополнительный код)
1
1
0
1
F = A-VB
^ = (Л4-5) плюс 0
1
1
1
0
F = A-\-B
F-—^A-’rB') плюс 0
1
1
1
1
F^A
F = A плюс 0
■Фиг. 8.21. Управляющие функции арифметического элемента МС10181 фирмы Motorola.
Логическое ИЛИ обозначено знаком +, а слова плюс и минус относятся к арифметическим операциям. Таким образом, видно, что ИС МС10181 может выполнять много булевых операций (поразрядных) типа И, ИЛИ и неравнозначность, а также 16 вариантов обычного сложения. Поэтому при использовании МС10181 для построения ЦВМ не нужно предусматривать отдельные схемы, реализующие, например, операции И и арифметическое сложение, достаточно лишь подать на МС10181 соответствующий управляющий код. По-видимому, этот подход, заключающийся в использовании одной многофункциональной интегральной схемы, весьма полезен при создании универсальных ЦВМ. С другой стороны, применение ИС МС10181 в специализированных устройствах не целесообразно, поскольку многие из выполняемых ею функций могут не потребоваться.
Серийно выпускаемые ИС снабжаются, помимо функциональной схемы (фиг. 8.22), таблицами условий испытания ИС по постоянному току и задержек распространения. Таблицы задержек характеризуют возможности микросхемы и помогают оценить быст-
S352S35213»15»13»15»51 17»SO 14»51 17»SO 14»АО 21°АО 21°3 F13 F1В1В1А1А118»18»7 F27 F2В2В2А2А216»16»6 F36 F3взвзАЗ 10»АЗ 10»5 Сп^5 Сп^°4 Gg°4 Gg°8 PG°8 PGООСп 22»М 23»—ОСп 22»М 23»—О
S3
52
S3
52
13»
15»
13»
15»
51 17»
SO 14»
51 17»
SO 14»
АО 21°
АО 21°
3 F1
3 F1
В1
В1
А1
А1
18»
18»
7 F2
7 F2
В2
В2
А2
А2
16»
16»
6 F3
6 F3
вз
вз
АЗ 10»
АЗ 10»
5 Сп^
5 Сп^
°4 Gg
°4 Gg
°8 PG
°8 PG
О
О
Сп 22»
М 23»—О
Сп 22»
М 23»—О
Фиг. 8.22. Функциональная схема четырехразрядного АЛУ МС10181фирмы Motorola.
родействие устройств типа многоразрядных сумматоров или умножителей, собранных на ИС МС10181.
Перейдем к рассмотрению триггеров. Прежде чем приступить к описанию серийно выпускаемых триггеров, введем определение триггера, исходя из булевой алгебры. На фиг. 8.23 показаны два вентиля ИЛИ—НЕ с перекрестным соединением выходов со входами. Таблица слева описывает функцию ИЛИ—НЕ, а таблица внизу— работу всей схемы1). При подаче логической единицы на вход R (Reset — установка нуля) на выходе Q устанавливается нуль независимо от первоначального состояния схемы, а при подаче единицы на вход S (Set — установка единицы) устанавливается Q = 1. При подаче R = S = 0 триггер сохраняет перво-
*) Здесь и ниже Qn обозначает состояние выхода Q до подачи сигналов на входы схемы, a (?п+1 — после подачи сигналов.— Прим. ред.
1 О О
S
R
Qn
Qn*!
0 0
0 0
1
1
1
1
0 0
1 1
0 0
1
1
0
1 0
1
0
1
0
1
0
1 0 0
1 Неопределенность Неопределенность
Фиг. 8.23. Схема соединения двух вентилей ИЛИ — НЕ для получения триггера.
начальное состояние; таким образом, его можно рассматривать как одноразрядный элемент памяти. Одновременная подача на входы R и S единицы запрещена, так как логический результат этой операции не определен.
Важным применением триггеров является использование их в двоичных счетчиках. При этом триггеры постоянно должны быть готовы к переключению, т. е. к изменению своего состояния при каждом поступлении сигнала на синхронизирующий вход. Триггер, обладающий таким свойством, вместе с соответствующей таблицей состояний представлен на фиг. 8.24. Серийно выпускаемые триггеры такого типа называются /^-триггерами. Два входных вентиля —трехвходовые схемы И, два других — аналогичны описанным выше (см. фиг. 8.23). Учтем, что R = 1 и S = 1 — сигналы установки выхода Q в нулевое и единичное состояния соответственно. Тогда если при подаче, например, сигнала J = 1 окажется, что Q = 1, то на выходе схемы И образуется 5 = 1 (третий вход схем И — синхронизирующий), что приведет к переключению триггера в состояние Q = 1. С другой стороны, если триггер уже находился в этом состоянии, оба вентиля будут закрыты, и значение ^ = 1 будет сохраняться. Таким образом,
входы J и К действуют как установочные, подобно входам R и S в предыдущей схеме. Однако при подаче единичных сигналов на входы J и К одновременно триггер перебросится из одного состояния в другое, как это следует из двух нижних строк таблицы. Отметим, что в отличие от входных уровней R, S, J и К сигнал синхронизации может быть относительно коротким. Поэтому при необходимости /Х-триггер можно использовать для синхронизации поступающих данных.
Существуют и другие типы триггеров, например триггер- защелка, в который при подаче сигнала синхронизации заносится внешняя информация. В одном корпусе могут размещаться один, два, четыре и даже восемь триггеров. Представляет интерес способ компоновки интегральной схемы из нескольких триггеров, заключающийся в том, что предусматривается параллельная запись и последовательное считывание (или наоборот). С расширением области применения ИС возникла небходимость разработки дополнительных схем, реализующих в одном корпусе некоторые достаточно сложные логические функции. К их числу относится представленная на фиг. 8.25 схема восьмиканального коммутатора данных МС10164, с помощью которого к выходу подключается любой из восьми входных сигналов Х0д-Х7 в соответствии с трех-
Таблица истинности
Разрешение
Адресные входы
Z
С
В
А
0
0
0
0
хо
0
0
0
1
XI
0
0
1
0
Х2
0
0
1
/
ХЗ
0
1
0
0
Х4
0
/
0
/
Х5
0
/
/
0
Х6
0
/
/
/
Х7
1
0
0
0
0
0-любое
Фиг. 8.25. Восьмиканальный коммутатор фирмы Motorola, ^рас = 3,5 нс (ном) (с входов на выход).
разрядным кодом АВС. Особенно целесообразно применение таких схем в устройствах многоканальной обработки, где приходится поочередно подключать к сумматору или к какому-либо
Положительная логика
другому арифметическому устройству один или два из многих регистров. В качестве упражнения предлагаем читателю построить на базе двух ИС МС10164 коммутатор на 16 каналов.
Другой весьма полезный модуль МС10162, представляющий собой дешифратор трехразрядного кода АВС, показан на фиг. 8.26. В зависимости от входного кода только на каком-либо одном из восьми выходов возникает логическая единица. Как будет видно ниже, схема применяется для адресации запоминающего устройства с произвольной выборкой.
Запоминающие устройства являются одними из самых дорогих элементов цифровой аппаратуры, поэтому они имеют для разработчиков особенно важное значение. Опыт показывает, что устройства цифровой обработки сигналов не являются в этом смысле исключением. В настоящее время происходят серьезные изменения в технологии ЗУ, которые приводят к постепенной замене в новых ЦВМ оперативной памяти на ферритовых сердечниках интегральной полупроводниковой памятью. Топология ИС памяти отличается высокой геометрической регулярностью, что позволяет достичь большего, чем у других логических элементов, уровня интеграции. Уже сейчас выпускаются быстродействующие ЗУ с произвольной выборкой на биполярных транзисторах емкостью 256 бит в корпусе, а в ближайшее время ожидается появление ЗУ емкостью 1024 бит. В то же время емкость менее быстродействующих МДП ЗУ на регистрах сдвига скоро достигнет 4096 бит в корпусе.
Запоминающие устройства подразделяются на статические и динамические. Информация в статических ЗУ сохраняется все время, пока есть питание, в динамических ЗУ ее требуется периодически обновлять. Биполярные ЗУ относятся к статическим, память на МДП-транзисторах бывает как статической, так и динамической. Кроме того, запоминающие устройства могут быть классифицированы по возможности записи (т. е. по возможности изменения информации ЗУ). Различают постоянное запоминающее устройство (ПЗУ), из которого информацию можно только считывать, но нельзя записывать; программируемое ПЗУ (ППЗУ), в которое запись производится заказчиком только один раз; полупостоянное ЗУ, у которого^скорость записи значительно ниже скорости считывания, и обычное ЗУ с примерно одинаковой продолжительностью записи и считывания. Организация доступа к ячейкам памяти может быть случайной или последовательной. В первом случае следующие друг за другом адреса могут быть произвольными (поэтому память со случайным доступом правильнее называть памятью с произвольным доступом). ЗУ с последовательным доступом по*своей организации аналогичны дискам, барабанам или линиям задержки, у которых соседние ячейки памяти опрашиваются последовательно одна за другой.
Чтобы понять работу ЗУ спроизвольной выборкой, рассмотрим схему на 16 разрядов, приведенную на фиг. 8.27. Память организована в виде матрицы 4 х 4^(каждый разряд представляет собой
2-разрядный адрес2-разрядный адресзаписи таллазаписи талла(РЗ) (ВК)(РЗ) (ВК)Фиг. 8.27. Блок-схема элемента памяти на 16 бит.Фиг. 8.27. Блок-схема элемента памяти на 16 бит.
2-разрядный адрес
2-разрядный адрес
записи талла
записи талла
(РЗ) (ВК)
(РЗ) (ВК)
Фиг. 8.27. Блок-схема элемента памяти на 16 бит.
Фиг. 8.27. Блок-схема элемента памяти на 16 бит.
триггер на транзисторах). Чтобы выбрать любой из 16 разрядов, требуется четырехразрядный адрес. Адресное слово разделено на два полуслова: одно для строк, а другое для столбцов. Для дешифровки полуслов используется схема, подобная приведенной на фиг. 8.26, в результате чего возбуждается одна из четырех выходных шин каждого дешифратора. Выбираемый разряд находится в месте пересечения возбужденных шин по строке и столбцу. Кроме четырех адресных разрядов, имеются входная и выходная шины (2?вх, ^вых), по которым в зависимости от режима, определяемого сигналом на шине разрешения записи (РЗ), осуществляется либо запись новых данных, либо чтение информации из выбранного разряда. Наконец, имеется шина управления выбором кристалла (ВК), позволяющая объединять кристаллы для построения памяти большей емкости. В рассматриваемом примере кристалл предназначен для запоминания 16 одноразрядных слов. Для увеличения длины слова до п разрядов требуется п таких кристаллов, управляемых одними и теми же шинами адреса и сигналами РЗ и ВК. Увеличение емкости памяти требует новой схемы, пример которой дан на фиг. 8.28. Она представляет собой ЗУ на 64 одноразрядных слова. ШиныDbx,jDвых и РЗ всех кристаллов соединены между собой. Теперь разряды адреса разбиваются на три группы, соответствующие шинам строк, столбцов и ВК каждого из кристаллов (см. фиг. 8.28). Таким образом осуществляется выбор единственного разряда одного из четырех кристаллов. Добавление по одному кристаллу по горизонтали приводит к увели-
Фиг. 8.28. Память емкостью 64 одноразрядных слова на основе 16-разрядных кристаллов памяти.
чению длины слова на 1 разряд, а по вертикали — к увеличению количества слов (в рассматриваемом примере до 16 слов).
Умножители
Настоящий раздел посвящен умножителям, играющим особенно важную роль в устройствах цифровой обработки сигналов. С точки зрения принципа действия умножители можно разделить на многотактные и матричные. В обоих случаях произведение является результатом последовательных сложений с той лишь разницей, что достаточный параллелизм матричных умножителей позволяет обойтись без запоминания промежуточных результатов. Сначала кратко рассмотрим применяемые в умножителях системы счисле-
Фиг. 8.29. Блок-схема умножения на основе сложения и сдвига.
ния, а затем опишем различные алгоритмы многотактного и матричного умножения. Более полный анализ систем счисления содержится в пятой главе.
При анализе систем счисления было описано представление чисел в прямом (с использованием знака и величины), обратном и дополнительном кодах. Сравнение двух последних систем счисления показало, что дополнительный код больше подходит для выполнения высокоскоростных операций, поэтому в дальнейшем будут рассматриваться только прямой и дополнительный коды. Перемножение чисел в прямом коде несколько проще, чем в дополнительном, поэтому сначала будут рассмотрены способы умножения положительных чисел. Однако больше внимания будет уделено
методам умножения чисел в дополнительном коде, так как сложение двух чисел в прямом коде менее удобно, чем в дополнительном.
На фиг. 8.29 изображена схема простого умножителя пяти
разрядного числа на четырехразрядное, использующего сложения и сдвиги. Если соответствующее значение у из правого столбца равно 1, то в этом устройстве последовательно накапливаются следующие слагаемые:
^4*3^2^1^0 Уо
Х^Х3Х^ХуXqУу
Х^Х3хгХуXqу2
х^ х3хаХуXqУз
При у = 0 на сумматор с выхода вентилей поступают нули. После логического умножения и накопления очередной строки сумма сдвигается на один разряд вправо, чтобы обеспечить в соответствии с требованием алгоритма добавление следующей строки в более старшие разряды. По команде тактового импульса 1 (см. наверху) разряды у последовательно поступают на вентили И и обеспечивают подачу на вход сумматора либо числа х либо нуля. После окончания цикла сложения по команде тактового импульса 2 результат суммирования заносится в триггерный регистр накопителя и затем после завершения процесса установления сдвигается на один разряд вправо. Этот умножитель достаточно простой, но и медленный. Поскольку в сумматоре отсутствует схема ускорения переноса, операция накопления завершается лишь после того, как сигнал переноса пройдет через весь сумматор. Наибольшее значение времени установления для «-разрядного сумматора примерно равно (« — 1) тп + тс + тр, где тп и тс — соответственно время распространения переноса и время образования суммы в одноразрядном сумматоре, тр — время установления регистра сдвига у. Если «-разрядное число умножается на «/-разрядное, то общее время умножения будет приблизительно равно «г (« — 1) тп + ттс + тр.
Приведенная на фиг. 8.29 схема отражает тот важный с аппаратурной точки зрения факт, что в умножителях, основанных на сложении и сдвиге, разряды у хранятся в последовательном сдвиговом регистре. В гл. 9 будет показано, что представление данных в виде последовательного потока положительно влияет на структуру цифрового фильтра и приводит к снижению стоимости его памяти.
Рассмотрим теперь, каким образом следует модифицировать этот умножитель для работы с числами разного знака, заданными в дополнительном коде. Напомним сначала формулы для представления и перемножения чисел в дополнительном коде. Значение числа X, представленного в дополнительном коде, равно
Х=-2”^+"2 2^m=-2"j-„ + 2n-‘zB.1+ ...+2Ч, (8.9) m—0
где хт — разряды дополнительного кодака хп — знаковый разряд, причем сумма понимается в арифметическом, а не логическом смысле. В качестве упражнения предлагаем читателю, используя уравнение (8.9), составить алгоритм перевода числа в дополнительном коде из положительного в отрицательное.
Из формулы (8.9) можно получить арифметическое выражение для произведения XY двух чисел в дополнительном коде, когда
X и У соответственно (n + 1)- и (т + 1) -разрядные числа:
т-1n-1т-1 n-1
ХУ = 2"^„ут-2^„ 2 2;У,—2"у„ 2 2^»+ 2 2 ^у^.3=0k=03=0 к=0
•(8.10)
Первый и четвертый члены в правой части (8.10) — положительные числа, второй и третий — отрицательные. Четвертый член равен окончательному результату в случае перемножения положительных чисел, который получается при последовательных сложениях в схеме на фиг. 8.29. Из равенства (8.10) видно, что если жп или ут равны единице, то суммы должны как складываться, так и вычитаться. Модификация логической структуры умножителя, основанного на сложении и сдвиге, учитывающая знаковые разряды, известна под названием алгоритма Бута. Чтобы попять этот алгоритм, представим число У в следующем виде:
тп-1
У = (-/„-,-у„) 2™ + 2 ^Цу>-1-У1к -/-1 = 0.(8.11)
j=0
Итак, при последовательном умножении множимого (X) на разряды множителя (У) операции будут производиться над последовательными строками, составленными из разрядов X, по следующим правилам:
Если у]_х = у,, то накапливается не множимое, а нулевая строка.
Если Уз_г = 1, a yj = 0, то множимое добавляется в накопитель.
Если yj_T = 0, а у, = 1, то множимое вычитается из накопителя.
В качестве примера читателю предлагается, используя алгоритм Бута, умножить X — —6 на У = —27 и, кроме того, модифицировать схему на фиг. 8.29 для реализации этого алгоритма.
Скорость выполнения алгоритма Бута можно увеличить в два раза, сдвигая множитель сразу на два разряда и анализируя одновременно три соседних разряда, чтобы определить характер накопления множимого; этот вариант также рекомендуется для самостоятельной проработки.
Самые быстрые умножители состоят из двумерной матрицы одноразрядных сумматоров и называются матричными умножителями. В отличие от многотактного умножителя (фиг. 8.29) матричный умножитель представляет собой законченную логическую схему без элементов памяти, поэтому результат умножения образуется после подачи сомножителей за время, равное времени установления схемы. Существует много различных вариантов построения матрицы, причем они могут быть достаточно хорошо классифи-
Фиг. 8.30. Матричный умножитель положительных чисел (д^жда^л) и кУЧ Уб У 5 У4УзУгУ1УоУ
цированы по методам соединения сумматоров и обработки отрицательных чисел. На фиг. 8.30 показан пример не слишком быстродействующего матричного умножителя, оперирующего с положительными числами. Каждый кружок обозначает одноразрядный сумматор. Видно, что каждая строка сумматоров представляет собой многоразрядный сумматор с распространением переноса. Она формирует частичную сумму и передает ее последующей строке. Чтобы оценить время установления в таком умножителе, учтем, что разряд результата рч образуется спустя время, равное т задержкам суммирования и п задержкам переноса, а разряд /?13 — на и задержек переноса позже. Таким образом, общее время установления т0 равно
т0 = 2итп+ ттс. (8.12)
Эта величина значительно меньше, чем для схемы на фиг. 8.29. Если обеспечить распространение сигналов переноса по диагонали (фиг. 8.31),то суммарную задержку можно уменьшить. В этом случае безразлично, на какую строку поступает перенос от предыдущего столбца. Схемы, показанные на фиг. 8.30 и 8.31, дают одно и то же произведение, однако последняя имеет преимущество, поскольку сигналы переноса и сумм, распространяющиеся от сумматоров в младших разрядах, одновременно поступят на сумматоры в более старших разрядах. Это так называемая схема с сохранением
Фиг. 8.31. Структура матричного умножителя, более быстродействующего по сравнению со схемой, изображенной на фиг. 8.30.
переноса, которая применяется не только для матричных умножителей. Например, сигнал на выходе р8 в столбце 8 появится спустя время, равное пяти задержкам суммирования или восьми задержкам переноса, в зависимости от того, какой отрезок времени длиннее. Если они равны, то временем суммирования можно пренебречь. Поэтому для последней строки сумматоров нужно учитывать суммарное время переноса. Таким образом, если 8тп<^5тс, то в наихудших условиях находится выход р13, задержка образования которого равна 12тп. В противном случае время умножения будет равно 5тс + 5тп. Итак,
' [(т—1) +(«—!)] тп при ттп>(п — 1)тс, т0 = ,хп (8.13)
(и— 1) (тп + тс) при ттп<^п — 1)тс.
При использовании одноразрядных сумматоров, у которых тс значительно больше, чем тп,нужна схема умножителя с минимальным числом последовательно выполняемых сложений. Идея построения такого умножителя с матрицей сумматоров, организованной в виде «дерева», иллюстрируется на фиг. 8.32. Он предназначен для умножения «-разрядного множимого на 16-разрядный множитель. Каждый из кружков обозначает «-разрядный сумматор. При такой организации время суммирования будет лишь учетве-
ряться. Общее количество сумматоров остается прежним, побольше строк сумматоров работает теперь параллельно. Блок-схема умножителя такого типа с разрядностью, равной, как и раньше, (6 X 8), в котором сигналы переноса распространяются вдоль строк, показана на фиг. 8.33. Суммирование в каждой строке сумматоров происходит за время формирования переноса, равное (и — 1) тп. Поскольку таких уровней суммирования четыре, общее время умножения равно 4 (и — 1) тп. Таким образом, если тс не очень велико, эффективность данной схемы ниже, чем приведенной на фиг. 8.31.
Возможно, что наибольшего быстродействия можно достичь, сочетая идеи древовидного соединения и диагонального распространения переносов. Соответствующая структурная схема приведена на фиг. 8.34. Так как эта структура обладает, по-видимому, наибольшим быстродействием из рассмотренных выше матричных схем, возникает вопрос о целесообразности рассмотрения других матричных структур. Ответ на этот вопрос может быть получен только в процессе проектирования системы на основе конкретных интегральных схем. Обычно ИС разрабатываются и выпускаются в расчете на самые разнообразные применения. Поэтому при создании матричного умножителя разработчик должен выбрать наиболее подходящие ИС из числа имеющихся. В качестве примера рассмотрим выпущенную в 1971 г. интересную ИС МС10181, которая пред-
Фиг. 8.33. Древовидный матричный умножитель размером (6 X 8).
Фиг. 8.34. Матричный умножитель с диагональным распространением переноса и древовидной организацией суммирования.
ставляет собой четырехразрядный сумматор с ускоренным переносом. На ее основе можно построить диагональную (как на фиг. 8.31) или горизонтальную (как на фиг. 8.30 и 8.33) структуры. Хотя схема, приведенная на фиг. 8.31, и оказывается более быстродействующей, для формирования частичных произведений xj • ук требуются дополнительные корпусы. В схеме с горизонтальным распространением переносов эти корпусы не нужны, поскольку каждый управляющий разряд можно логически умножить сразу на четыре входных разряда. Итак, выбор «наилучшей» схемы определяется характеристиками используемых микросхем и компромиссом между быстродействием и стоимостью умножителя.
Рассмотрим умножение чисел, представленных в дополнительном коде, пользуясь основной формулой (8.9). Сущность этой формулы состоит в следующем: каждый разряд, за исключением знакового, принимает арифметические значения 0 или 1, а знаковый — значения 0 или —1. При таком подходе, выполняя суммирование согласно формуле (8.9), всегда будем получать правильный результат. .
Одноразрядный сумматор может быть описан подобно тому, как это делалось ранее, с помощью логических уравнений или таблицы истинности. Если каждый из трех входных разрядов принимает (арифметические) значения 0 или 1, то двухразрядный выход может иметь значения 0, 1, 2 или 3. При реализации этой функции значения 0 или 2 приписываются разряду переноса, а значения 0 или 1 — разряду суммы; оба эти разряда описывают выход сумматора. Таблица истинности (Т. И. 4) дает состояния выходных разрядов сумматора — суммы D (младший разряд) и переноса Е — в зависимости от состояния входов Л, В и С. Ясно, что совершенно необязательно обозначать два возможных состояния выходных разрядов либо нулем, либо единицей; для этого можно использовать + или —, 0 или 2, 0 или 100 и т. д. Система обозначений, интуитивно принятая в таблице истинности (Т. И. 4), фактически соответствует двоичному представлению выхода сумматора:
А
0
в
0
с
0
D
0
Е Арифметическая
0
сумма 0
0
0
1
1
0
1
0
1
0
1
0
1I
(Т.П.4)
0
1
1
0
2
2
1
0
0
1
0
1
[(IV) получается из (I)
1
0
1
0
2
2
изменением знака]
1
1
0
0
2
2
1
1
1
1
2
3
А, В, С — входы; D — сумма (булева); Е — перенос (арифметическая сумма минус булева сумма). Эту систему обозначений можно обобщить на случай арифметического суммирования и положительных и отрицательных чисел. Рассмотрим, например, трехвходовую схему, у которой один из входных сигналов принимает значения — 1 или 0, а два других — значения 0 или 1. В этом случае сумма по-прежнему принимает четыре возможных значения — 1, 0, +1, 4-2 и может быть представлена двухразрядным числом с младшим разрядом, равным 0 или —1, и старшим, равным О или 2.
Снова из таблицы истинности такой логической схемы (Т. И. 5) следует, что результат сложения в сумматоре, рассматриваемый как арифметическая сумма двух выходов, соответствует также арифметической сумме всех трех входов. Аналогично можно рассмотреть еще два случая с таблицами истинности (Т. И. 6) и (Т. И.7).
Воспользовавшись введенной системой обозначений и располагая интегральными схемами, способными суммировать отрицательные числа, можно построить матричный умножитель чисел в дополнительном коде, основанный на последовательных сложениях. Пример такого умножителя, в котором использованы три типа интегральных схем, — обычные сумматоры, описываемые таблицей истинности (Т. И. 4), а также сумматоры, соответствующие (Т. И. 6) и (Т. И. 7), — показан на фиг. 8.35.
Фиг. 8.35. Матричный умножитель чисел в дополнительном коде разме. ром (6 X 5).
А В С
D
Е
Арифметическая сумма
ООО
0
0
0
0 0 1
-1
2
1
0 1 0
— 1
2
1
0 1 1
0
2
2(II) (Т.Н. 5)
-10 0
-1
0
-1
— 1 0 1
0
0
0
-110
0
0
0
-1 1 1
— 1
2
1
А ВС
’ D
Е
Арифметическая
сумма
00 0
0
0
0
00 1
1
0
1
0—10
1
-2
-1
0-1 1
0
0
0(III) (Т.И.6)
-10 0
1
-2
-1
-10 1
0
0
0
-1-1 0
0
— 2
-2
-1-1 1
1
-2
-1
Сравнение различных
Структура
Тип основной интегральной схемы
Быстрая трапецеидальная (фиг. 8.35)
Древовидная
»
Многотактная с одновременным сдвигом на два разряда
То же
» »
Специальный двухразрядный сумматор
Серийный четырехразрядный сумматор
То же
Серийная матрица (2 X 4)
Специальный двухразрядный сумматор
Серийный двухразрядный сумматор
То же
Авторы благодарны П. Бленкенщипу и А. Хантуну за разрешение использовать эту
Введение в
цифровую технику
579
А
В
с
• D
Е
Арифметическая сумма
0
0
0
0
0
0
0
0
-1
1 —
2
— 1
0
-1
0
1 -
2
— 1
(Т.И.7)
0
— 1
— 1
0 -
2
-2(V)
1
0
0
1
0
1
1
0
— 1
0
0
0
1
-1
0
0
0
0
1
— 1
-1
1 -
2
— 1
В табл. 8.2 даны некоторые оценки, рассчитанные для различных вариантов построения умножителей. Здесь приведены оценки времени умножения и требуемого числа корпусов интегральных схем с 16 выводами для трех умножителей чисел в дополнительном коде. Поскольку серийно выпускаемый четырехразрядный сумматор имеет 24 вывода, рассчитывалось эквивалентное количество ИС с 16 выводами; во всех остальных случаях использовались только корпусы с 16 выводами. Анализ этой таблицы позволяет сделать несколько интересных замечаний. Из первой строки видно, что специально разрабатываемые ИС (они будут описаны в разд. 8.8) имеют заметные преимущества перед серийными. Из сопоставления строк 2 и 3 (а также 6 и 7) можно
умножителей
Таблица 8.2
Тип логики
Время умножения, нс
Количество корпусов
16x12
16x8
|9X9
16х 12
16x8
9x9
эсл
32
28
22
112
82
45
эсл
62
48
40
160
120
85
ТТЛ
155
100
85
160
120
85
ТТЛ
261
195
135
80
58
30
эсл
130
120
100
40
36
25
эсл
210
140
116
40
36
25
ТТЛ
450
300
250
40
36
25
таблицу, основанную на результатах их исследований.
оценить увеличение быстродействия умножителя при замене ИС ТТЛ на более быстродействующие ИС ЭЛС; оно возросло более чем в два раза. Влияние структуры умножителя как на его быстродействие, так и на количество корпусов можно проследить, обратившись к строкам 1 и 5; несколько неожиданно, что наилучший компромисс между быстродействием и числом корпусов достигается при построении матричных умножителей. Одной из причин является чрезвычайно простое управление матричным умножителем по сравнению с многотактным (строки 5, 6, 7). Интересно также отметить, что с точки зрения общего количества корпусов двухразрядный сумматор с 16 выводами (строка 1) оказывается выгоднее использовать, чем четырехразрядный сумматор с 24 выводами (строка 2 или 3). Таким образом, в некоторых структурах, когда кристалл размещается в корпусе больших размеров, увеличение уровня интеграции может оказаться даже вредным.
Делители и устройства с плавающей запятой
В системах цифровой обработки сигналов, как и в других вычислительных системах, основной упор делается на достижение быстродействия одних и тех же узлов. Самыми важными из них, несомненно, являются сумматоры и умножители, рассмотренные в предыдущих разделах. Перейдем теперь к изложению методов построения быстродействующих делителей, а также сумматоров с плавающей запятой. Дело в том, что алгоритмы цифровой фильтрации и БПФ используются в задачах все большей сложности, поэтому возникает необходимость представлять себе, как производятся операции, отличные от сложения и умножения. Оказывается, что для построения всех устройств, рассматриваемых в настоящем разделе, можно с успехом использовать идею нетактируемых матриц, достигая при этом большого быстродействия при умеренных размерах устройства. Можно ожидать, что уже в ближайшем будущем прогресс технологии производства интегральных схем лишь подтвердит справедливость этих утверждений.
1. Четырехквадрантный матричный делитель
Рассмотрим четырехквадрантный делитель, составленный из комбинационной матрицы суммирующих и вычитающих логических элементов. Будем считать, что на вход схемы поступают 24-разрядное делимое (числитель) и 12-разрядный делитель (знаменатель), оба в дополнительном коде, а на выходе образуются 12-разрядные частное и остаток. Можно рассматривать случаи, когда делитель и делимое являются произвольными целыми или дробными числами или константами. Будем считать, что входные числа — правильные дроби с запятой, расположенной непосред-
ственно правее знакового разряда; это будет учтено при построении логики индикации переполнения.
В основу работы матричной схемы положен метод деления без восстановления остатка. С целью упрощения описания этого метода примем сначала, что делимое и делитель — положительные правильные дроби, причем делитель больше делимого или равен ему. При этих условиях частное также будет, очевидно, положительной правильной дробью. Для получения первого значащего разряда частного вычисляется частичное делимое как разность между делимым и пробным делителем, равным половине фактического. Если частичное делимое положительно, то в качестве разряда частного принимается единица. Если же оно отрицательно, т. е. если пробный делитель «не умещается» в делимом, то искомый разряд равен нулю. При обычном делении (с восстановлением остатка) в этом случае нужно сложить пробный делитель с частичным делимым для восстановления исходного делимого и попытаться вычесть новый пробный делитель. При делении без восстановления остатка используется тот факт, что каждый последующий пробный делитель в два раза меньше предыдущего. Поэтому сложение пробного делителя (т. е. операция восстановления) с последующим вычитанием его половины всегда будет совпадать с простым добавлением половины пробного делителя. Таким образом, если первый значащий разряд частного равен 1, то предыдущее значение пробного делителя делится пополам и затем вычитается из частичного делимого для получения следующего разряда частного. Если же первый разряд частного равен нулю, то пробный делитель делится пополам и затем добавляется к частичному делимому для получения следующего разряда частного. Эта процедура продолжается до тех пор, пока не будет получено требуемое количество разрядов частного. Преимущества этого алгоритма отчетливо выявляются при реализации его в виде нетактируемой матрицы. В нем нет обратных связей и шагов «назад», процесс протекает без всяких условий от начала и до конца.
Практическая реализация этого алгоритма для четырехквадрантного случая (когда приходится учитывать все возможные комбинации знаков делителя и делимого) требует некоторых дополнительных манипуляций. Основой матричного деления является последовательность этапов сложения и вычитания. На каждом этапе в зависимости от знаков частичного Делимого и самого делителя производится либо сложение, либо вычитание соответствующего делителя из соответствующего частичного делимого. На матрицу может поступать любая комбинация знаков делителя и делимого, но в конце при определенных комбинациях необходима коррекция разрядов частного.
На верхней большей части блок-схемы рассматриваемого алгоритма (фиг. 8.36) представлена процедура получения разрядов
Фит. 8.36. Последовательность получения четырех разрядов частногос использованием алгоритма без восстановления остатка.
частного, а на нижней части показан процесс заключительной коррекции. Вычисление разрядов частного на каждом этапе производится по следующим правилам:
Если текущее частичное делимое положительно, в соответствующий разряд частного записывается 1. В противном случае записывается 0.
Если делитель и текущее частичное делимое имеют одинаковые знаки, следующий пробный делитель нужно вычесть.
Если делитель и текущее частичное делимое имеют разные знаки, следующий пробный делитель следует добавить.
Из приведенных выше правил вытекают два интересных следствия. Во-первых, если делимое положительно, то независимо От знака делителя частное будет правильным. Во-вторых, если Делимое отрицательно, то независимо от знака делителя будет цолучен обратный код частного. Правильное значение частного в дополнительном коде получается после дополнительной коррекции, основанной на учете знаков операндов. Предположим, например, что делитель положительный, а делимое отрицательное. В этом Случае отрицательное частное будет получено в обратном коде. Поэтому для перехода к дополнительному коду к результату необходимо добавить 1. Предположим теперь, что и делитель и делимое отрицательны. Ясно, что частное должно быть положительным. Но ответ будет получен в обратном коде, поэтому небходима простая инверсия разрядов частного. Во всех случаях коррекцию результата можно производить с помощью дополнительного этапа сложения (вычитания) на выходе матрицы. Лишь в одном случае коррекция не нужна — когда и делитель и делимое положительные. Коррекция осуществляется по следующим правилам.
Если и делитель и делимое положительные, присвоить знаковому разряду частного значение 0 и ничего не делать со значащими разрядами.
Если и делитель и делимое отрицательные, присвоить знаковому разряду частного значение 0 и проинвертироватъ значащие разряды.
Если делитель положительный, а делимое отрицательное, присвоить знаковому разряду значение 1 и добавить 1 в младший разряд частного.
Если делитель отрицательный, а делимое положительное, присвоить знаковому разряду значение 1, проинвертироватъ значащие разряды частного и добавить к нему 1.
В приципе при TV-разрядном делителе (включая знаковый разряд) для представления всех сумм и разностей в матричной схеме достаточно ^N + 1) разрядов. Разность (или сумма) между любым частичным делимым и его пробным делителем также может быть представлена не более чем N разрядами (включая знак). Таким образом, для рассматриваемого случая (фиг. 8.36) оба разряда,
Перепол-нение
n8
r<zd
^D4N6D3N5D2N4Dt
41
lz ^2 St
Si Выч.
A3 B3 Аг Ba Ai Bi Ct Сумматор-вычитатель Сум
А4 В4 А3 В3 А3 В2 А} В} ^ Со Сумматор-еычитатехь с
S3 Sa
S4 S3 Sa
A4 B4 A3 B3 A2 B2 A1 Bi q> Co Сумматор-вычитатель Сум
S4 S3 S2 Si
Si But
Q4 Q3 Q2 Of R4 R3 R2 Rf
Фиг. 8.37. Матричный делитель размером (4 X 8) без сохранения остатка с индикацией переполнения и заключительной знаковой коррекцией (по Бланкеншипу).
Числитель — 8 разрядов, знаменатель — 4 разряда, частное — 4 разряда, остаток — 4 разряда.
12-й и 13-й, отведенные во всех частичных делимых под знаковые, обязательно будут одинаковыми. В противном случае выдается сигнал переполнения. С точки зрения дробных операндов этот сигнал означает, что делимое по величине больше делителя. Такой режим запрещен, так как в этом случае частное превысит 1 и его, следовательно, нельзя представить правильной дробью, у которой все значащие разряды находятся справа от запятой. Это обстоятельство и фиксируется сигналом переполнения.
Частичное делимое, определяющее младший разряд частного [т. е. результат последнего этапа сложения (вычитания)], следует рассматривать как остаток. Он представляет собой 12-разряд- ное число (11 разрядов и знак) и следующим образом связан с другими операндами:
Делимое= (Частное) х (Делитель) 4-Остаток.
Используя это соотношение, можно с большей точностью вычислить частное, взяв больше разрядов делимого. В действитель-
ности получение уточненного частного — довольно сложная операция, для выполнения которой необходимо знание величины остатка и его знака.
На фиг. 8.37 показан пример построения устройства для деления восьмиразрядного делимого на четырехразрядный делитель с четырехразрядными частным и остатком на выходе. Простым наращиванием его можно довести до 24/12 разрядов. Представленные на схеме сумматоры-вычитатели могут быть построены на основе двухнаносекундной четырехразрядной ИС ЭСЛ типаМС10181 (арифметико-логическое устройство). Эта ИС в зависимости от управляющего сигнала может быть запрограммирована или на сложение, или на вычитание. Вычитание осуществляется путем изменения знака числа на входе В с последующим суммированием. Фактически для выполнения этой операции требуется проинверти- ровать разряды Ви добавить единицу. Инверсия внутри ИС предусмотрена, но для добавления единицы необходимо во время вычитания подать сигнал на вход Свх (вход переноса в младший разряд).
В соответствии со сделанными ранее выводами следует ожидать, что для выполнения всех сложений (вычитаний) потребуется пять разрядов, так как делитель имеет четыре разряда. Однако можно показать, что (W + 1)-й разряд легко получить, используя выход переноса W-ro разряда и немного изменив правила. Сформулируем коротко эти упрощенные правила:
Первый этап. Если знаки делителя и делимого не совпадают, следует производить сложение, если совпадают — вычитание.
Все последующие этапы. Если выходной сигнал переноса (Свых) N-ro разряда предыдущего сумматора-вычитателя равен 1, нужно записать 1 в разряд частного. Кроме того, если выходной сигнал переноса отличается от знакового разряда делителя, то на данном этапе следует произвести вычитание, а в противном случае — сложение.
Переполнение. Если на любом этапе выходной сигнал переноса N-ro разряда совпадает с выходным сигналом суммы этого же N-ro разряда, сформировать сигнал переполнения.
Заключительная коррекция. Это правило удобнее всего сформулировать в виде следующей таблицы:
Знак делителя
Знак делимого (S^)
Коррекция частного
Знак частного
<SQ>
Сложение
Вычитание
Вход переноса ^вх^
+
+
Отсутствует
+
V
—
Q+1
—
V
V
+
<2 + 1
—
V
V
—
—
Q
+
V
Логические уравнения имеют вид
Sq = Свх = SN ф SDl
ВЫЧ = 5Д,
СЛОЖ = SD.
В соответствии с этими уравнениями в рассматриваемой схеме осуществляется управление на этапе заключительной коррекции. Отметим, что входное число А в схеме коррекции всегда равно нулю.
' Схема 24/12-разрядного делителя состоит из 12 12-разрядных каскадов. На первых 11 формируются разряды частного, на последнем выполняется коррекция. Каждый каскад состоит из трех ИС МС10181, включенных по схеме образования ускоренного переноса на 9 разрядов. Таким образом, всего требуется 36 корпусов МС10181. На каждом каскаде все небходимые разряды частичного делимого образуются за 13 нс, поэтому вся операция деления занимает 12 х 13 = 156 нс. Количество корпусов, необходимых для управления и индикации переполнения, а также для распределения данных, незначительно. Следовательно, этот делитель требует меньшего количества корпусов, чем умножитель двенадцатиразрядных чисел, построенный на той же логической серии.
Цифровые устройства с плавающей запятой
Весьма часто динамический диапазон разрабатываемых систем имеет важное значение. Его можно значительно расширить, используя представление чисел с плавающей запятой. Это представление обычно применяется в задачах обработки больших числовых массивов, например при обращении матриц большого размера и при решении задач линейного программирования, т. е. когда значения чисел, получающихся в процессе вычислений, могут меняться в широких пределах.
Есть все основания для того, чтобы использовать представление чисел с плавающей запятой при создании цифровых фильтров и блоков БПФ. Рекурсивные цифровые фильтры с полюсами, расположенными вблизи единичной окружности, обладают большим усилением на частотах вблизи полюсов, поэтому уровень выходного сигнала может сильно меняться в зависимости от входной частоты. На каждом этапе БПФ уровень сигнала может увеличиться вдвое, поэтому при TV-точечном БПФ возможно усиление в 2x°s^N — N раз.
Использование плавающей запятой при фильтрации и БПФ, по-видимому, не создает дополнительных трудностей, связанных с округлением, но часто улучшает работу устройств. Однако при этом; приходится использовать больший объем оборудования.
Во многих универсальных ЦВМ операции с плавающей запятой реализуются не аппаратурными, а программными средствами, что приводит к удлинению программ и увеличению времени их выполнения. Алгоритмы работы устройств умножения и сложения с плавающей запятой сложнее, чем аналогичные алгоритмы с фиксированной запятой.
При умножении с плавающей запятой производится суммирование порядков сомножителей и умножение с фиксированной запятой их мантисс. Поскольку величина мантиссы (в десятичной системе) больше или равна 0,5, но меньше 1, то произведение двух мантисс заключено между 0,25 и 1. Это означает, что произведение будет либо выровнено по левому разряду1), либо смещено на один разряд. В качестве упражнения составьте схему четырехразрядного устройства сложения порядков для умножителя с плавающей запятой.
При сложении с плавающей запятой необходимо выполнить следующие операции:
Определить, какой из двух порядков больше.
Из большего порядка вычесть меньший.
Полученную разность использовать для сдвига вправо мантиссы с меньшим порядком.
Сложить обе мантиссы.
Определить количество старших разрядов суммы, состоящих из одних нулей (или единиц).
Произвести выравнивание суммы по левому разряду и вычесть из большего порядка найденное количество одинаковых старших разрядов.
■ Очевидно, что устройство, выполняющее перечисленные операции, значительно сложнее сумматора с фиксированной запятой. Кроме того, данный алгоритм является довольно медленным, поскольку приходится выполнять последовательность операций, требующих принятия решения. По этой причине, несмотря на преимущества вычислений с плавающей запятой по сравнению с вычислениями с фиксированной запятой, выбор между ними часто неочевиден.
Основным узлом сумматора, в котором выполняются операции 3 и 6, является устройство сдвига на произвольное число разрядов. Проще всего эти операции выполнить с помощью последовательного регистра сдвига й счетчика числа сдвигов, однако затрачиваемое . при этом время довольно значительно. Другой
х) При выравнивании по левому разряду мантиссу сдвигают влево настолько, насколько это возможно без переполнения. Синонимом термина «выравнивание по левому разряду» является нормализация. Если считать, что мантисса представляет собой правильную десятичную дробь со знаком, 10 после выравнивания по левому разряду десятичная запятая оказывается непосредственно справа от знакового разряда. .
Управляющие разряды
(Направление сдвига
Нет сдвига
Сдвиг на 4
Сдвиг на 2
Сдвиг на 6
Сдвиг на 1
Сдвиг на 5
Сдвиг на 3
Сдвиг на 7
Фиг. 8.38. Матричная схема сдвига на 0—8 разрядов.
Фиг. 8.39. Схема подсчета количества сдвигов влево, необходимых для нормализации (по Бланкеншипу).
метод состоит в разработке логической матрицы, в которой предусмотрены все сдвиги. Он позволяет достичь большого быстродействия, но требует большего объема оборудования, чем при построении матричного умножителя. Компромиссное решение
LS2 LS1
S1S2S3 S4
Фиг. 8.40. Преобразователь количества единичных выходов в четырехразрядное двоичное число (по Бланкеншипу).
показано на фиг. 8.38. Каждая точка представляет собой управляемый переключатель, с помощью которого входная линия подключается к одной из двух выходных линий. В данной схеме восемь различных сдвигов обеспечиваются тремя уровнями переключателей; в общем случае для TV-разрядной сдвигающей цепи необходимо обеспечить log2 N уровней переключения.
Для выполнения пятой операции при сложении с плавающей запятой необходимо иметь логическую схему подсчета количества одинаковых старших разрядов. На фиг. 8.39 и 8.40 показаны схемы, предназначенные для решения этой задачи для случая 12-разрядного числа. Первая схема (фиг. 8.39) преобразует 11 входных разрядов в 10 выходных. Количество единичных выходов определяется количеством сдвигов влево, необходимых для нормализации входного числа. Вторая схема (фиг. 8.40) составлена из полных сумматоров и выполняет операцию подсчета количества единичных выходов первой схемы.
Пример: проектирование быстродействующегоматричного умножителя
Серийно выпускаемые интегральные схемы рассчитаны на многоцелевое применение, поэтому построение на их основе цифровых систем, как правило, малоэффективно. В связи с этим целесообразно рассмотреть практический пример разработки специализированных микросхем, в которых были бы учтены конкретные требования проектируемой системы. Это позволит также проследить Доказанную на фиг. 8.4 иерархию принципиальных схем, логических функций^ микросхем и систем.
Рассмотрим построение быстродействующего умножителя. В разд. 8.6 было показано, что из известных схем наибольшее быстродействие обеспечивают матричные структуры, причем среди них самой быстродействующей является схема, изображенная на фиг. 8.35. Отметим, однако, что она содержит три различные логические ячейки, так что приходится разрабатывать три различные микросхемы в разном оформлении. Эту трудность удалось преодолеть, разработав одну микросхему, из которой все три модификации получаются путем незначительного изменения межсоединений. Кроме того, в кристалле были использованы два соединительных металлизированных слоя, причем для изменения межсоединений модифицировался только верхний слой.
В качестве основной микросхемы был принят двухразрядный сумматор. Наиболее важным параметром сумматора в системах рассматриваемого типа является задержка распространения переноса через два разряда. Поэтому при разработке микросхемы особое внимание было уделено минимизации этого параметра.
После того как сформулированы требования к интегральной схеме, ее разработка производится в следующей последовательности:
Составление принципиальной схемы.
Разработка трафаретов.
Изготовление и испытание ИС.
'У
Фиг. 8.41. Схема двухразрядного сумматора L101 (но Пезарису).
Фиг. 8.42. Изменения межсоединений во втором слое металлизации, требуемые для перехода от основного двухразрядного сумматора к модификациям L101, L102 и L103 (по Пезарису).
Полная принципиальная схема двухразрядного сумматора показана на фиг. 8.41. Читателю нет необходимости детально разбираться в схеме, однако следует обратить внимание на пунктирные линии, а также на фиг. 8.42, где показано, как одна и та же схема преобразуется в три модификации (L101, L102 и L103) двухразряд- яого сумматора, которые необходимы для построения матрицы, приведенной на фиг. 8.35. С точки зрения изготовления важно, что все изменения межсоединений производятся только на втором металлизированном слое.
Трафареты для всех трех ИС изготавливались вручную, так как машинные методы изготовления трафаретов тогда еще не обладали достаточной гибкостью. Здесь уместно сделать несколько замечаний по поводу изготовления трафаретов. Качество изготовления ИС зависит от того, насколько идентичны рисунок слоя
J^gs^
21L(71L) »^CC
31L(81L)01
411(91$IN1
42L(92L)»
IN2 43L(93L)°
INS
12L(51L)o
^ Rs :
2,(ft кОм
14L(53Uo
Vrr
$4
Q?
К подложке
• Rz
*375
Ов
Rt 350
IN1,IN2,IN3,0I,0N, REf aRE2>Vee,< Vcc
o11L(61L>
ON
—о 13L(52L)
Rs №2
1,6 кОм
Vcc-OB
Vee=-5,2B
Фиг, 8.43. Принципиальная схема и общий вид ЭСЛ-кристалла (по Пеза-рису).
кристалла и его фотография, причем при переходе от принципиальной схемы к рисунку слоев весьма существенную помощь может оказать вычислительная машина. В качестве примера на фиг. 8.43 показан увеличенный кристалл ИС ЭСЛ, ниже которого изображена его принципиальная схема. Здесь видны области,
Фиг. 8.44. Изготовление маски с помощью ЦВМ типа ТХ-2 и соответствующей программы, взаимодействующей с графическим терминалом.
соответствующие транзисторам и резисторам. Например, в левом нижнем углу расположены три транзистора Qx, Q^ и ^3 и вывод их общего коллектора. Резисторам соответствуют длинные дорожки, заканчивающиеся выводами.
Фиг. 8.44 иллюстрирует процесс взаимодействия с машиной, позволяющий изготовить очень точный рисунок. С него может быть получена фотография, используемая в дальнейшем в качестве маски для различных диффузионных процессов. На фиг. 8.45 показан кристалл L101. Наконец, на фиг. 8.46 приведена фотография полного матричного умножителя размером 17 X17, использующего специально разработанные интегральные схемы и выполненного на обычной четырехслойной печатной плате. Время умножения равно 40 нс.
Фиг. 8 46. Матричный умножитель размером 17 X 17 разрядов с быстродействием 40 нс (по Пезарису).Фиг. 8 46. Матричный умножитель размером 17 X 17 разрядов с быстродействием 40 нс (по Пезарису).Фиг. 8.45. ■ копченный кристалл L101 (по Пезарису).Фиг. 8.45. ■ копченный кристалл L101 (по Пезарису).
Фиг. 8 46. Матричный умножитель размером 17 X 17 разрядов с быстродействием 40 нс (по Пезарису).
Фиг. 8 46. Матричный умножитель размером 17 X 17 разрядов с быстродействием 40 нс (по Пезарису).
Фиг. 8.45. ■ копченный кристалл L101 (по Пезарису).
Фиг. 8.45. ■ копченный кристалл L101 (по Пезарису).
Заключение
Настоящая глава по своему содержанию несколько отличается от всех предшествующих глав книги. До сих пор основное внимание уделялось изложению основ теории и методов проектирования цифровых фильтров и анализаторов спектра. Кроме того, предыдущие главы имеют достаточно высокий научный уровень, тогда как данная глава носит вводный характер. Возможно, что инженерам, хорошо знакомым с цифровой техникой, материал этой главы покажется достаточно элементарным и далеко не полным введением в эту область. Тем не менее мы убеждены, что такая глава необходима в качестве связующего звена между предыдущими главами теоретического характера и последующими главами, имеющими практическую направленность. Наш опыт свидетельствует о том, что разработчик должен быть достаточно сведущ в вопросах, связанных с достижением высокого быстродействия, однако найти соответствующую публикацию, в которой были бы изложены все эти вопросы, мы не смогли. Это объясняет то внимание, которое было уделено здесь интегральным схемам ЭСЛ и матричным умножителям. Другие методы умножения более подробно изложены во многих книгах.
ЛИТЕРАТУРА
Garret L. S., Integrated Circuit Digital Logic Families, Parts I—III, IEEE Spectrum, (Oct.— Dec. 1970).
Hnatek E. R., A User’s Handbook of Integrated Circuits, Wiley, N.Y., 1973.
MECL Integrated Circuits Data Book, Motorola, Nov. 1972.
MECL System Design Handbook, Motorola, Oct. 1971.
Pezaris S., A 40 Nanosecond 17 X 17 Array Multiplier, IEEE Trans, on Computers, C-20, 442—447, No. 4 (April 1971).
Blankenship P., Gold B., McHugh P., Weinstein C., Design Study of the Advanced Signal Processor, Lincoln Lab. Technical Note, April 1972.
Глава 9
СПЕЦИАЛИЗИРОВАННЫЕ УСТРОЙСТВАДЛЯ ЦИФРОВОЙ ФИЛЬТРАЦИИИ ГЕНЕРАЦИИ СИГНАЛОВ
Введение
В предыдущих главах основное внимание уделялось программ ной реализации алгоритмов цифровой обработки сигналов. В данной, а также в двух последующих главах будут рассмотрены специализированные цифровые устройства, предназначенные для ускоренного выполнения алгоритмов обработки и для построения систем обработки в реальном масштабе времени.
Выше уже были рассмотрены основные составные части цифровых устройств, включая цепи задержки, сумматоры, умножители, универсальные элементы памяти, а также различные типы серийно выпускаемых логических интегральных схем; проанализировано взаимоотношение между их быстродействием, стоимостью и потребляемой мощностью. Важную роль в достижении максимума отношения качества системы к ее стоимости играют методы распараллелирования, временного разделения и поточной обработки. Прежде всего в данной главе будут рассмотрены различные способы построения цифровых фильтров, в том числе прямая и каскадная формы КИХ-фильтров, прямая, каскадная и параллельная формы БИХ-фильтров. После этого будет приведено несколько практических примеров построения цифровых специализированных систем, включая реализацию цифровых фильтров. В заключение будут описаны цифровой синтезатор частот и цифровой генератор шума.
9 2. Аппаратурное построение КИХ-фильтрапрямой формы
Рассмотрим способы построения КИХ-фильтра прямой формы, схематично изображенного на фиг. 9.1. Найдем прежде всего основную схему управления, пригодную для построения фильтров с различным уровнем параллелизма, причем параллелизм будет заключаться не только в увеличении количества арифметических устройств, но и в параллельной работе блоков памяти.
На фиг. 9.2 изображена простая блок-схема построения КИХ-фильтра прямой'х формы (см. фиг. 9.1) из единственного
|^£W
Фиг. 9.1. Прямая форма КИХ-фильтрэ.
f) Очистить R
Регистр накап- г ливающего ctpu-Y матора
ар С/ °г «з о#
Значение R
Ogxtn-e)Ogxtn-e)O5x(n-6)+a5x(n-5)O5x(n-6)+a5x(n-5)a6x(n-6)+a5x(n-5)+a4x(n-4)a6x(n-6)+a5x(n-5)+a4x(n-4)6Ц a^n-m)m-36К amx(n-m) m-26£ amx(n-m)m=16У. amx(n-m)=y(n) m=06Ц a^n-m)m-36К amx(n-m) m-26£ amx(n-m)m=16У. amx(n-m)=y(n) m=0
Ogxtn-e)
Ogxtn-e)
O5x(n-6)+a5x(n-5)
O5x(n-6)+a5x(n-5)
a6x(n-6)+a5x(n-5)+a4x(n-4)
a6x(n-6)+a5x(n-5)+a4x(n-4)
6
Ц a^n-m)
m-3
6
К amx(n-m) m-2
6
£ amx(n-m)
m=1
6
У. amx(n-m)=y(n) m=0
6
Ц a^n-m)
m-3
6
К amx(n-m) m-2
6
£ amx(n-m)
m=1
6
У. amx(n-m)=y(n) m=0
a6x(n-6)*R-^-R
-И i(n) Ы^-?)Мл^2Л^£^"^
J) ОдО^П-б^К —^R
-Цт(п 5*}4| х(п) Н[ж(п-0^{ж(п^)|Я ж(п-^Я>| а^п-4^-1
a4s(n-4)+R^R
-»| х(п-4)Н х(п-5) Н я^пГЫ х(п-0 ^ ж(и-г)|4д^П~^
agX(n-3)+R-* R
->(£^^*(^^^>[$^^}*|^x^p[£^^|l|z^^-l
a2x(n-2)*R -*R
ж(п-2)^ х(п-3) |->|х(п-4ЯЦ жбь^Ы ®бл)ТН х(п-1)Н
a^n-l)+R^R
^afn-Ql^^-^j^^^^^Hjf^^^-^H ж(п) F
aox(ri)+R -i- R
Фиг. 9.2. Блок-схема, последовательность оэработки и промежуточные ре-зультаты для прямой формы КИХ-фильтра.
Фиг. 9.3, Построение КИХ-фильтра с использованием алгоритма Бута, арифметического устройства (содержащего умножитель и сумматор), регистра сдвига для хранения промежуточных результатов и ПЗУ коэффициентов. Важным моментом является характер управления регистром сдвига. Каждый выходной отсчет вычисляется путем накопления последовательных произведений, образующихся на выходе умножителя в процессе кругового сдвига регистра. Новый входной отсчет х (тг) вводится в регистр одновременно с выталкиванием с противоположного конца регистра отсчета х (тг — 6), сопровождающимся вычислением произведения ав • х (п — 6). При каждой итерации, как это видно из схемы вычислений на фиг. 9.2, производится круговой сдвиг регистра на один отсчет. После вычисления значения у (п) оно выводится; одновременно с этим очищается накопитель, после чего начинается следующий главный цикл.
Заметим, что структура памяти на сдвиговом регистре, используемой в схеме на фиг. 9.2, еще не была определена. Прежде всего необходимо выяснить, на каких микросхемах ее можно собирать. Оказывается, что для этой цели хорошо подходят большие интегральные схемы с МДП-регистрами сдвига. В настоящее время на одном кристалле могут размещаться несколько тысяч последовательно соединенных разрядов памяти. Поэтому для многих КИХ-фильтров вся память нужного объема размещается в одном корпусе, но при условии, что данные вводятся и подаются на арифметическое устройство последовательно. Конечно, было бы интересно построить КИХ-фильтр прямой формы
с использованием именно такой памяти, состоящей из малого числа элементов. Простейшая схема подобного типа приведена на фиг. 9.3. В этой схеме каждое произведение получается с помощью последовательности логических умножений коэффициента на разряды перемножаемого отсчета [в данном случае х (п — 6)] и суммирования этих произведений. Все отсчеты в схеме на фиг. 9.3 хранятся в последовательном виде, хотя это показано только для отсчета х (п — 6).
Следует напомнить, что при выполнении умножения, основанного на сдвигах и сложениях, вид алгоритма зависит от знаков сомножителей. Так, при использовании прямого кода сложение будет обычным, а знак произведения будет определяться знаками отсчета и коэффициента. При умножении с использованием сдвигов и сложений этот подход довольно эффективен; однако заключительное накопление всех произведений при этом усложняется, так как для сложения чисел в прямом коде необходимы сумматор-вычитатель и соответствующее управление, которое обеспечило бы вычитание меньшего числа из большего. Накопление упрощается при использовании вместо прямого кода дополнительного.
Отсчеты и коэффициенты также могут храниться в дополнительном, а не в прямом коде. Это означает, что необходимо специальное управление первым сумматором (фиг. 9.3). Удобнее всего для этого использовать алгоритм Бута (он был рассмотрен в гл. 8), в котором анализ двух соседних разрядов позволяет решить, что следует выполнить — сложение или вычитание.
Параллелизм при построении КИХ-фильтровпрямой формы
Если входные отсчеты представлены 6-разрядными числами, для вычисления выходного отсчета приходится выполнить N умножений и предполагается, что время сдвига регистра на один разряд т равно времени сложения, то максимальная скорость обработки данных R, которая может быть достигнута с помощью схемы, рассмотренной в разд. 9.2 (см., например, фиг. 9.3), равна 1/(7V6t). Так, если т = 100 нс, N = 16 и b = 16, то
Д = 456^00- = 39 062,5 Гц.
Для увеличения 7? можно использовать различные способы параллелизма, касающиеся как работы памяти, так и выполнения арифметических операций. Используя два или более регистра сдвига, можно пропорционально увеличить скорость обработки; аналогичного результата можно достичь, используя два или более арифметических устройства. Рассмотрим все эти варианты, чтобы вы-
2) У^атх(п-т)-^-АУ1,^ атх(п-т)-^ AV2
25
С х(п-2)
з
^2 атх(п-т)-^АУ 1
1
6
23 dm®(n-m) АУ2
4
С х(п-1) ■> х(п-2) +| х(п) —^ L] х(п-4) -> х(п-5) -Цх(п-З) 3
4) 52 атх(п-т)—^АУ1В АУ2 нет изменений
о
5) Выход -АУ1 +АУ2
Фиг. 9.4. Блок-схема, последовательность обработки и промежуточные результаты для КИХ-фильтра с двумя параллельно работающими АУ.
яснить, какое дополнительное управление необходимо и какими должны быть арифметические устройства.
На фиг. 9.4 представлены все необходимые элементы и связи между ними для системы, содержащей два параллельно работающих арифметических устройства. Там же показана последовательность вычислений и размещение данных в регистре сдвига после выполнения очередной операции умножение — накопление.
По сравнению со схемой, содержащей одно АУ (она была приведена на фиг. 9.3), данная схема обеспечивает вдвое большую скорость обработки при условии, что схемы АУ1 и АУ2 такие же, как у арифметического устройства на фиг. 9.3. Рассмотренный метод параллелизма легко обобщить на любое число арифметических устройств, однако не следует забывать, что высокий уровень интеграции сохранится только в том случае, если каждая из частей регистра сдвига является достаточно многоразрядной. Так, при построении фильтра 20-го порядка с 16-разрядными отсчетами и одним АУ требуется 320-разрядный кристалл. При построении такого же фильтра с двумя АУ необходимо иметь регистр сдвига с отводом, что при-современной номенклатуре микросхем потребует использования двух корпусов, хотя не исключено, что такие регистры сдвига с отводами вполне могут быть изготовлены специально.
Каскадная форма КИХ-фильтра
Схема, приведенная на фиг. 9.4, может быть использована и для построения КИХ-фильтров каскадной формы. На фиг. 9.5
в качестве примера изображен трехкаскадный фильтр, причем каждый из блоков представляет собой фильтр четвертого порядка. На фиг. 9.6 показано, как строится такой фильтр с использованием одного АУ и одного последовательного регистра сдвига в качестве памяти промежуточных результатов. Здесь требуется сохранять выходные отсчеты каждого из блоков и вводить их в соответствующие моменты времени в регистр сдвига. Характер размещения промежуточных результатов в регистре сдвига для 12 последовательных тактов обработки показан на фиг. 9.7а, а программа, по которой работают все устройства фильтра, — на фиг. 9.76. Видно, что отсчеты а: (и — 4), н (и — 4) и и (и — 4) выводятся из памяти, а вместо них вводятся три новых отсчета.
Фильтр, изображенный на фиг. 9.5, легко может быть построен с использованием параллельно работающих арифметических устройств, причем здесь возможны два простых подхода. Первый из них состоит в том, что для каждого из блоков четвертого порядка
Фиг. 9.6. Построение каскадной формы КИХ-фильтра с использованием единственного АУ.
используется свое АУ, так что весь фильтр будет содержать три АУ, как показано на фиг. 9.8. Из приведенной там же программы работы фильтра видно, что во всех трех АУ расчет последовательных частичных сумм произведений производится до тех пор, пока в каждом из них не будет сформирована сумма всех четырех произведений. На пятом такте в первомАУ заканчивается вычисление и (п^ на вход поступает новый отсчет х (м) и все регистры сдвигаются. Получаемое значение и (п) используется в качестве входного для следующего блока и может быть добавлено к результату второго АУ и т. д. Таким образом, при использовании трех последовательно включенных арифметических устройств для завершения вычислений необходимы три дополнительных такта.
В качестве упражнения читателю предлагается разработать схему каскадного КИХ-фильтра с четырьмя АУ и уровнем параллелизма, достаточным для завершения вычислении в каждом из блоков за один цикл.
Г "1
!I
ll
1 ’“ “1
II
Г'1
1)
Г"1
11
11
11
I ' i
V (п- 1)
v(n-2)
v(n-3)
v(n-4)
u(n-1)
u(n-2)
u(n-3)
u(n-4)
x(n-1)
x(n-2)
x(n-3)
x(n-4)
1)
——
vtn-1 )
vtn-2)
v(n-3)
v(n-4)
u(n-1)
u(n-2)
u(n-3)
u(n-4)
x(n-1 )
x(n-2)
x(n- 3)
2)
х(п-З)
—
v( n -1)
vtn-2)
v(n-3)
v(n-4)
utn- 1)
u(n-2)
u(n-3)
u(n-4)
x(n-1)
x(n-2)
3)
х( п-2)
x(n-3)
—
vtn-1)
v(n-2)
v(n-3)
vtn-4)
u(n- 1)
u(n-2)
u(n-3)
u(n-4)
x(n-1)
4)
х(п - 1)
x(n- 2)
x(n- 3)
—
vtn- 1 )
v(n-2)
v(n-3)
y(n-4)
u(n-1)
u(n-2)
u(n-3)
u(n- 4)
5)
Х( п)
x(n- 1)
x(n-2)
x(n- 3)
—
vtn-1)
v(n-2)
v(n-3)
v(n-4)
u(n- 1)
u(n-2l
utn- 3)
6)
и(п-З)
x(n)
x(n-11
x(n-2)
xtn-3)
—
vtn- 1)
v(n-2)
vln-3)
v( n- 4)
u(n- 1)
u(n-2)
7)
и(п-2)
u(n-3)
x(n)
x(n-1)
x(n- 2)
x(n-3)
—
v(n -1)
v(n-2)
v (n-3)
v(n-4)
utn-1)
8)
u(п- 1)
u(n-2)
u(n-3)
x(n)
x(n - 1)
x(n-2)
x(n-3)
—
v(n- 1)
v(n- 2)
vtn- 3)
vtn- 4)
9)
u(n)
u( n- 1)
u(n-2)
utn- 3)
xln)
x(n-U
x(n-2)
x(n-3)
—
vtn-1)
v(n-2)
vtn - 3)
10)
v (n- 3)
utn)
u(n-1)
u|n-2)
u(n-3)
x( n)
x(n- 1)
x(n-2)
x(n-3)
—
v(n- 1)
v(n-2)
И)
v(n-2)
v(n-3)
u (n)
u(n-1 )
u(n-2)
u(n-3)
k (n)
x(n- 1)
x(n-2)
x(n-3)
—
win-1)
12)
v(n- 1)
v(n-2)
v(n-3)
utn)
utn-1)
u (n-2)
u(n-3)
x(n)
x(n-1)
x(n-2)
x(n-3)
—
13)
vtn)
v(n-1)
vtn-2)
v(n-3)
utn)
u(n-1)
u|n-2)
u(n-3)
x(n)
x(n- 1)
x(n-2)
x(n-3)
Фиг. 9.7а. Последовательные состояния памяти для;|каскадной формы КИХ-фильтра.
Глава 9
1)
с4х(п-4)—► Накопитель
2)
с4х(п-4) + с3х(п-з)—► Накопитель
3)
4
2 cmx(n-m)—► Накопитель
m = 2
4
4)
2 cmx(n-m)—►Накопитель
m = i
4
5)
и (п) = cmx(n-m) : Ввести х(п) в ЗУ: т = 0
Ввести u(n) во входной, регистр: ь4 и (п - 4) —►Накопитель
6)
ь4 и(п-4) + ь3и(п-з) —►Накопитель
7)
4
2 ьт и (п-т)—►Накопитель
т=2
4
8)
X ьт и (п - т)—► Накопитель
т = 1
4
9)
v(n) = 2 ьти(п-т) : Ввести и(п) в ЗУ:
т = 0
Ввести v(n) во входной регистр ; о4 v (п - 4) —►Накопитель
10)
04 v (л -4) + а3 V(п- 3) —► Накопитель
И)
4
2 о т v (п - т)— Накопитель
т -2
4
12)
2 omv(n-m)—►Накопитель
т= 1
4
13)
у(п)= 2 omv(n-m) : Выход у(п) т = о
Ввести v(n) в ЗУ: Ввести х(п) во входной регистр
Фиг. 9.76. Программа работы каскадной формы КИХ-фильтра.
^z(n-i)\z(n-2)\z(n-3)\iB(r^2 ^|и^^|й^^[й^^[й^^: ^У(п4)Мп-2)^и(л-$убМ?1:
Вход
*АУ1
U(n)
*АУ2
и(п)
*1 И(п)
Программа
1) Вычислить x(n-4)c4,u(n-4)b4,v(n-4)a4 и вытолкнуть из регистров х(п-4),и(п-4),и(п-4) Cx3x(n-0lx(№-2)lz(n-3)l\Х\и(п-!)\и(п-2^и(тЗ)\VX^v(mO\vfa-2)tv(n-3A
2)Вычислить^x(n-i)с^, £u(n-i)bi, £v(n~i)ai и осуществить круговой сдвиг во всех блоках f^^J^^^Jx^|и?и-5Я><1и(п-/)|и(п-гХ[ЙЫ)Ё><^£^^
3)Bbi4UCAumb^x(n-i)Ci,^u(n-i)bL Xv(n-i)ai и осуществить круговой сдвиг во всех блоках
№ЕП^1ЙЯВ12Е11
{v^^v^^^^^v^^
4^ Вычислить £х^)с,,Хи(п-1)Ь1,Еи(пч) а, и осуществить круговой сдвиг ео всех блоках w
{хбьЗЦхб^^^ju(n4)lu(h-2Mufa-3£^^
4 5) Вычислить ибб=Гх(п-1)с; и ввести x(n) в первый блок
Г х(п)\а*п-0\х(П-2)Ус(тЗН
6) Вычислить v^^u(rH)bi и ввести и(п) во второй блок | и(п) | и<п-1Ди(п-2)\и(п-зА
7)ВычиалитьуГп)^и(п1)а1 и ввести и(п) в третий блок
• 1=0
\v(n-1^v(n-2^v(n-3XX\
1 v<n)\v(h-d\vOi-^o(n^
Фиг. 9.8. Построение каскадного КИХ-фильтра с использованием трех АУ.
9.5. Прямая форма КИХ-фильтра с высоким уровнемпараллелизма
Как уже было отмечено, основная структура фильтра с регистром сдвига в качестве ЗУ позволяет использовать параллелизм и при выполнении арифметических операций, и при работе памяти. Возникает вопрос, какого предельного уровня параллелизма можно достичь в схемах подобного типа. Прежде чем ответить па этот вопрос, рассмотрим систему с достаточно очевидным параллелизмом, а именно систему N-ro порядка с N арифметическими устройствами. В такой системе, изображенной на фиг. 9.9, для каждого из входных отсчетов используется отдельный умножитель. Заметим, что в этом случае не требуется кругового сдвига памяти, так как регистр используется лишь как обычная линия задержки с отводами. Отметим также, что необходимость иметь отводы сводит на нет преимущества современной БИС-технологии. Как и во всех предыдущих примерах, отсчеты в регистре сдвига могут храниться как в последовательном, так и в параллельном виде.
••• -Цх(п-ГМ)
х(п-1)—r*| х(п-2) I*] х(п-^ -т*
Возможно введение буферных регистров
Фиг. 9.9. Блок-схема КИХ-фильтра N-ro порядка с N параллельно работающими АУ.
Далее, кроме N умножителей, необходимо иметь столько же сумматоров. Считая, что время умножения согласовано со временем сдвига регистра из одного состояния в другое, приходим к выводу, что необходимо иметь дополнительное время для накопления произведений. Это дополнительное время может не потребоваться, если в точках схемы, отмеченных на фиг. 9.9, ввести буферные регистры, что приводит к организации отработки в поточной форме. Если предположить, что общее время накопления в точности равно времени умножения, то выходная последовательность будет дополнительно задержана на один отсчет. Приведенная на фиг. 9.9 схема — не единственная, позволяющая для построения параллельного КИХ-фильтра TV-го порядка использовать N арифметических устройств. Другая возможная схема показана на фиг. 9.10.
х(п)х(п)Фиг. 9.10. Еще одна схема построения КИХ-фильтра.Фиг. 9.10. Еще одна схема построения КИХ-фильтра.
х(п)
х(п)
Фиг. 9.10. Еще одна схема построения КИХ-фильтра.
Фиг. 9.10. Еще одна схема построения КИХ-фильтра.
Эта схема описывается следующими уравнениями:
хг (и) = аол? (п— 1) + «i^ (и),
хг (п) = Xi (и — 1) + а^х (п) = аох (и — 2) + агх (и — 1) + а^х (и),
з
Хз^п^ х2(п — 1) + а3ж(и)= J агж(?г —3 + t), г=0
4
у (п) = х3'(п— 1) + а4л:(п)= 2 ^(n —4-Н).
<=0
Видно, что, как и раньше, результат равен свертке, хотя индексы и оказались переставленными. К обычной форме можно перейти, положив Ьо = а3, Ьг = л2, &2 = av b3 = а0. На фиг. 9.11 показана простая схема построения фильтра, приведенного на фиг. 9.10.
Из схемы на фиг. 9.11 вытекает простой способ аппаратурного построения фильтра при условии, что отсчеты х {ri} поступают на умножители в последовательной форме и поразрядно умножаются на коэффициенты. В этом случае произведения могут формироваться последовательно, что позволяет применить последова-
Фчг. 9.11. Блок-схема КИХ-фильтра.
тельные сумматоры. Таким образом, по мере того как отсчеты х1 (п) поразрядно выталкиваются из регистра в сумматор, в этот же регистр в последовательной форме вводится результат суммирования значения ^^ (и) с произведением а^х (и).
Прямая форма построения БИХ-фильтров
До сих пор рассматривались структуры, соответствующие КИХ-фильтрам. Для перехода к БИХ-фильтрам в эти структуры необходимо ввести лишь незначительные изменения. В качестве примера рассмотрим построение фильтра, содержащего только полюсы, используя форму БИХ-фильтра, приведенную на фиг. 9.12. Считается, что коэффициенты используются при вычислениях в параллельной форме, тогда как промежуточные результаты хранятся в памяти, как и в случае КИХ-фильтров, в последовательной форме. Разностное уравнение изображенного на фиг. 9.12 БИХ- фильтра, содержащего только полюсы, имеет вид
12
у W = 2 у кп~ D <ч+Ьх ^,
э=1
причем коэффициенты aj и b считаются известными»
Промежуточные результаты у (п — /) и входные отсчеты х ^ поступают на вентили в последовательной форме. При умножении у (и — 12) на 0^2 значение у (п — 12) поразрядно выдается с выхода регистра сдвига. При выполнении оставшихся 11 умножений, начиная с у (и — 11) ап и кончая у (п — 1) av содержимое регистра сдвигается по кругу. Таким образом, перед поступлением на
Фиг. 9.12. Прямая форма построения БИХ-фильтра.
От АУК АУ
Фиг. 9.13. Состояние памяти БИХ-фильтра непосредственно перед вводом входного отсчета х (п).
вход регистра х (и) его состояние имеет вид, представленный на фиг. 9.13.
Пока вычисляется произведение b-х (п)^ отсчет у (и) на вход регистра не подается, поэтому круговой сдвиг регистра не производится. Заключительный цикл включает ввод накопленного значения у (п) в регистр сдвига, ввод нового значения х (и), а также очистку накопителя непосредственно перед началом следующего цикла.
Типичное значение частоты дискретизации равно 8 кГц, что соответствует интервалу между отсчетами, равному 125 мкс. Если считать, что промежуточные результаты представляются 16-разрядными числами, то общее количество сдвигов регистра на один разряд оказывается равным 16 х 14 = 224, т. е. период следования тактовых импульсов должен быть равен 125/224 мкс (0,55 мкс). Итак, информация в регистре сдвига должна циркулировать с частотой 2 Мбит/с; с такой же частотой должно производиться сложение в сумматоре. Такая частота вполне достижима при использовании микросхем с умеренным быстродействием, так что подобные фильтры вполне можно разработать в виде большой интегральной схемы.
Каскадная форма БИХ-фильтров
На фиг. 9.14 изображен каскадный БИХ-фильтр, построенный из трех последовательно соединенных блоков второго порядка, каждый из которых имеет по два полюса и по два нуля. Все блоки второго порядка построены на основе прямой канонической формы, т. е. с использованием минимума элементов задержки. Простая блок-схема построения такого фильтра с использованием двух арифметических устройств, а также последовательность выполнения вычислений (т. е. управление) представлены на фиг. 9.15. Эта блок- схема аналогична рассмотренным выше в том смысле, что, как и ранее, память строится на последовательных регистрах сдвига, а умножитель использует сложения и сдвиги, обрабатывая последовательно поступающие разряды промежуточных результатов.
и (п)=а, и (гН)+а2 и(п-2)+х0(п)
.xl(n)=b0u(n)vblu(n-/)+b2u(n-2)
Фиг. 9.14. Каскадная форма БИХ-фильтра, состоящая из трех последова-- тельно соединенных блоков второго порядка.
Удобство системы из двух АУ заключается в независимом вычислении для каждого из блоков второго порядка частичных сумм в цепях прямой и обратной связи. Поскольку вычисления в цепи обратной связи должны быть завершены до того, как величины и ^n)t v (п) и w (п) потребуются для вычислений в цепи прямой связи, то вслед за двумя циклами сдвига промежуточных результатов в обоих АУ последовательно выполняются две вспомогательные операции: одна для формирования недостающего отсчета для цепи прямой связи, а другая для формирования входного отсчета следующего каскада.
В приведенной на фиг. 9.15 последовательности вычислений отмечено, когда регистры сдвигаются и когда сдвигов не должно быть. Видно, что для фильтра шестого порядка в общей сложности требуется семь сдвигов, а также шесть интервалов времени, на которых сдвиги не производятся. Масштабирование (т. е. простой сдвиг отсчетов) х0 (п), хг (п) и ж2 (я) также может потребоваться, когда эти отсчеты вводятся в процессе вычислений в АУ1.
■ -9.8. Мультиплексирование
Как правило, реальные системы оказываются сложнее рассмотренных в предыдущих разделах. Сравнительно часто используется набор КИХ-фильтров или БИХ-фильтров, причем каждый из фильтров может быть построен в параллельной или каскадной форме. Чем большее количество фильтров приходится мультиплексировать, тем, по-видимому, выгоднее использовать цифровые методы фильтрации, так как благодаря достижениям в области создания последовательных ЗУ большой интеграции эти ЗУ легко можно приспособить для запоминания промежуточных результатов. Следует, однако, с осторожностью относиться к созданию многофункциональной системы путем использования общих запоминающих и арифметических устройств, поскольку при этом будет заметно усложняться управление.
u(n-1) u(n-2)u(n-1) u(n-2)w(n-1) \w(n-2) ~v(n-1) I u(n-2)
u(n-1) u(n-2)
u(n-1) u(n-2)
АУ1АУ1Коэффициен-Коэффициен-u(n), v(n), w(n) | Полюсыu(n), v(n), w(n) | ПолюсыuWuWАУ2АУ2-*yW-*yWНулиНули
АУ1
АУ1
Коэффициен-
Коэффициен-
u(n), v(n), w(n) | Полюсы
u(n), v(n), w(n) | Полюсы
uW
uW
АУ2
АУ2
-*yW
-*yW
Нули
Нули
0 a2u(n-2),b2u(n-2)
ю(п-1)
w(n-2)
v(n-D
V(n-2)
u(n-1)
a,u (n-i)-v аги(п-2), btu(n-l) *Ьги(п-2)
и (п-1)
и>(п-1)
w(n-2)
v(n-1)
V(n-2)
u(n)=OfU(n-1)+u2u(n-2)+xo(n)He вводить сдвигом из AVI
ос, (n) =^b, u(n-i)He вводить сдвигом из АУ2
i-0
c2v (п-2), c^v (п-2). Ввести х,(п) в буфер х, ввести сдвигом и(п) изАУ1
U(n)
u(n-o ><C
W(n-1)
W(n-2)
v(n-1)
2
Ectv(n-i), i=f
2 tdiV(n-i) 1=1
v(n-1)
u(n) u(n-1)
w(n-1)
w(n-2)
vW^CjUfa-fi+xrfn)Не сдвигать АУ1
t=o'
x2(n)=£div(n-i)АУ2
1=0
e2w(n-2), f2w(n-2). Ввести х2 в буфер, ввести сдвигом и(п) из АУ1
v(n)
v(n-f)
u(n)
u(n-D. 2x^_
w(n-1)
е^(п-1)+е2ю(п-2), f1w(n-i)*f2w(n-2)
w(n-1)
v(n)
V(n-1)
U(n)
U(n-1)
//) Вычислить w(n)=е, w(n-1)+е2 w(n-2) *х2 (п)
w(n)
w(n-1)
V(n)
v(n-1)
u(n)
u(n-1)
12) Вычислить y(n)=^ftw(n-l) 1-0
Заключительный сдвиг
Фиг. 9.15. Построение каскадного БИХ-фильтра с использованием двух АУ.
Фиг. 9.16. К иллюстрации мультиплексирования.
Фиг. 9.17. Блок-схема КИХ-фильтра с мультиплексированием.
Пример того, как с помощью мультиплексирования можно построить три независимых КИХ-фильтра, используя только одно арифметическое устройство, приведен на фиг. 9.16—9.18. На фиг. 9.16 показаны три независимых входа хТ (п), х2 (и) и х3 (и) и три независимых выхода уг (тг), у^тг) и у3 (п). Там же приведены все коэффициенты фильтров. На фиг. 9.17 изображена
| ^ (п-1) 1ж/л-2)11, (п-3) | ж, (п-4) | х2 (п!) | х2 (п-2) | х2 (п-3)) х2 (п-4) | х3 (Ж) | х3 (п-2)\х3 (п-3) | х3(п-4',
О Вычислить с4х3(п-4), сдвинуть циклическую память (ЦП) вправо на один отсчет и ввести х3(п) в буферный регистр, х3(п-4) выталкивается из регистра.
результирующее состояние ЦП:
Xf(n-I) ^(п-гЦх^п-З^хУп^х^п-Щх^п-г^х^п-З^х^п-л^х^пнЦх^п-г)^
Сдвинуть циклически ЦП еще на 3 отсчета и вычислить промежуточный результат Га х,(пч) Результирующее состояние ЦП:J Д
х3(п-1) х3(п-2) х3(п-3)х3(п-1) х3(п-2) х3(п-3)Xf(n-1)\Xf(n-2) х1(п-3)\х1(п-4)\х2(п-1) хг(п-2)\х2(п-3) хг(п-4)
х3(п-1) х3(п-2) х3(п-3)
х3(п-1) х3(п-2) х3(п-3)
Добавить х3(п) к промежуточному результату, что дает y3(n)=£ctx3(n-i)
Очистить АУ,вывести у3(п), вычислить Ь4х2(п-4), сдвинуть ЦП вправо на один отсчет, ввести х3(п) в ЦП и вытолкнуть х2(п-4) из ЦП. Ввести х2(п) в буфер.
Результирующее состояние ЦП:
х3(п)
х3(п-1)
х3(п-2)
Хз(п-З)
Xf(n-1)
xt(n-2)
it (п-3)
х,(п-4)\х2(п-1)
x2(n-2)
x2(n-3)
5) Повторить этапы 2,3 и4, что даету,(п). Состояние ЦП станет следующим:
х5(п)х5(п)| х2(п) \х2(п-1)\х2(п-2)\х2(п-3)
х5(п)
х5(п)
Повторить этапы 2иЗ, что дает yt (п).
Состояние ЦП станет следующим:
хЦп-1) Xf(n-2) х,(п-3) х2(п) \х2(п-1) х2(п-2)\х2(п-ЗД х3(пГ х3(п-1) х3(п-2) х3(п-3)
Заключительный этап.Ввести xt(n) и вытолкнуть правый ненужный отсчет. Заменив п на (п-1) .вернуться к исходному состоянию, предшествующему начали следующей итерации.
Фиг. 9.18. Последовательность вычислений в фильтре о мультиплексированием.
упрощенная блок-схема реализации всех трех фильтров, основанная на переключении входных сигналов и их независимой обработке в арифметическом устройстве. Распределитель обеспечивает выдачу каждого выходного отсчета в соответствующий канал. На фиг. 9.18 представлены последовательность выполнения вычислений и состояния памяти в процессе этих вычислений.
Приведенный на фиг. 9.16—9.18 пример не является единственно возможным типом мультиплексирования для цифровых устройств. Второй тип мультиплексирования имеет место при параллельном спектральном анализе, когда один и тот же входной сигнал одновременно обрабатывается с помощью набора различных фильтров. Основное внимание должно быть уделено суммарной скорости обработки данных, определяемой общим количеством фильтров, реализуемых путем мультиплексирования. До тех пор пока скорость обработки согласуется с быстродействием применяемых микросхем, система может быть построена с использованием мультиплексирования.
В последующих разделах будут рассмотрены несколько практических цифровых систем, построенных на основе мультиплексирования, что обеспечило преимущество цифровых методов обработки.
Цифровой приемник клавишно-тональноговызова
В качестве хорошей иллюстрации использования на практике цифровых устройств можно привести полностью цифровой приемник клавишно-тонального вызова, разработанный и сконструированный в фирме Bell, который был описан Джексоном, Кайзером и Макдональдом. На фиг. 9.19 приведена блок-схема части приемника, в которой используется мультиплексирование, а на фиг. 9.20 изображена полная схема цифрового приемника клавишно-тонального вызова, включающая как фильтры с мультиплек-
ВыходВыходФиг. 9.19. Блок-схема части цифрового приемника клавишно-тонального вызова, в которой используется мультиплексирование (по Джексону, Кайзеру и Макдональду).Фиг. 9.19. Блок-схема части цифрового приемника клавишно-тонального вызова, в которой используется мультиплексирование (по Джексону, Кайзеру и Макдональду).
Выход
Выход
Фиг. 9.19. Блок-схема части цифрового приемника клавишно-тонального вызова, в которой используется мультиплексирование (по Джексону, Кайзеру и Макдональду).
Фиг. 9.19. Блок-схема части цифрового приемника клавишно-тонального вызова, в которой используется мультиплексирование (по Джексону, Кайзеру и Макдональду).
Фиг. 9.20. Цифровой приемник клавишно-тонального вызова, содержащий фильтры с мультиплексированием и нелинейные элементы (по Джексону, Кайзеру и Макдональду).
сированием, так и элементы нелинейной обработки. Базовое арифметическое устройство, на основе которого строится каскадный БИХ-фильтр, состоит из четырех умножителей и двух трехвходовых сумматоров. Коэффициенты фильтра хранятся в ПЗУ, а промежуточные результаты — в линии задержки на регистре сдвига. Блок-схема приемника (фиг. 9.20) включает фильтры верхних частот (ФВЧ) третьего порядка, режекторные фильтры (РФ) шестого порядка, полосовые фильтры (ПФ) второго порядка и фильтры нижних частот (ФНЧ) первого порядка. Все эти фильтры построены на основе мультиплексирования, как показано на фиг. 9.19. Для нелинейной обработки в приемнике клавишнотонального вызова используются ограничители (ОГР), однополу- периодные выпрямители (ОПВ) и пороговые устройства (ПУ). Все нелинейные элементы также являются цифровыми.
Группы по восемь однотипных элементов, обведенных пунктирными прямоугольниками, реализуются совместно с помощью мультиплексирования, так что коэффициент мультиплексирования равен восьми. Итак, для выполнения операций линейной фильтрации требуются две схемы с мультиплексированием блоков второго порядка и одна схема с мультиплексированием блоков первого порядка. Перечислим основные параметры приемника клавишно-тонального вызова:
Частота дискретизации —10 кГц
Количество разрядов АЦП — 7
Разрядность слов—10
Разрядность коэффициентов фильтров—6 (правильные дроби) Коэффициент мультиплексирования — 8
Таким образом, результирующая скорость обработки данных, которая определяется произведением частоты дискретизации, числа разрядов промежуточных результатов и коэффициента мультиплексирования, оказывается равной 800 кбит/с. В общей сложности для построения приемника клавишно-тонального вызова потребовались 40 последовательных сумматоров и память на регистрах сдвига емкостью 400 бит.
Цифровой преобразователь временного разделения каналов в частотное разделение каналов
Другой наглядный пример практического использования устройства цифровой фильтрации в крупной системе — преобразование временного разделения каналов в частотное разделение каналов,— описан Фрини и др. В телефонии при передаче сообщений используется чаще всего либо частотное, либо временное разделение каналов, поэтому существует необходимость преобразования одного вида разделения в другой. На фиг. 9.21 в качестве примера показано преобразование набора из 12 речевых сообщений, передаваемых с временном разделением, каждое из которых дискретизуется с частотой 8 кГц; преобразование заключается в размещении спектров каналов в отведенные для них участки
Фиг. 9.21. Преобразование 12 звуковых каналов в один канал с частотным разделением.Фиг. 9.21. Преобразование 12 звуковых каналов в один канал с частотным разделением.
Фиг. 9.21. Преобразование 12 звуковых каналов в один канал с частотным разделением.
Фиг. 9.21. Преобразование 12 звуковых каналов в один канал с частотным разделением.
общей полосы и передаче сообщения в режиме частотного разделения каналов. В расматриваемом случае для этого выбран диапазон от 56 до 112 кГц. Каждому из 12 речевых сигналов в системе с частотным разделением отведен свой участок спектра шириной в одну боковую полосу. На каждый канал отводится всего 4 кГц, так что для передачи всех 12 каналов требуется полоса 48 кГц. Смещение частоты на 56 кГц введено для того, чтобы устранить перекрестные искажения между каналами. Таким образом, преобразование временного разделения каналов в частотное заключается в однополосном гетеродинировании, цель которого — перенести спектр на соответствующую частоту.
Чтобы избежать перекрестных искажений (т. е. помех) между соседними каналами, каждый сигнал должен быть отфильтрован в полосе 4 кГц с сильным подавлением вне этой полосы. При построении полностью цифрового устройства встречаются специфические трудности, связанные с тем, что после дискретизации спектр речевого сообщения становится периодическим и располагается на всей частотной оси. Вследствие этого обычные методы гетеродинирования здесь непригодны. Еще одна трудность возникает при попытке снизить быстродействие системы, чтобы по возможности не использовать слишком быстродействующие арифметические устройства. Если бы не эти трудности, построение преобразователя было бы достаточно простым, поскольку оно сводилось бы к пропусканию каждого дискретизованного речевого колебания через соответствующий полосовой фильтр. При таком подходе частота дискретизации должна превышать 100 кГц (точнее, она должна быть равна 112 кГц), что требует использования дорогостоящего оборудования. Чтобы преодолеть перечисленные трудности, Фрини и др. предложили схему, в которой большая часть вычислений выполняется с низкой частотой (16 кГп) и лишь для оставшихся вычислений требуется частота 112 кГц.
Блок-схема преобразования временного разделения каналов в частотное, предложенная Фрини и др., приведена на фиг. 9.22, а вид спектров сигналов в различных точках схемы показан на фиг. 9.23. Спектр исходного сигнала (л), изображенный на фиг. 9.23, а, является периодическим с периодом 8 кГц. После квадратурной модуляции сигнала частотой 2 кГц (соо = 4000 л) косинусная и синусная компоненты будут иметь спектры, изображенные на фиг. 9.23, бид соответственно. (Отметим, что все сигналы могут быть комплексными, а изображение их спектров является чисто иллюстративным.) Частотная характеристика БИХ- фильтров нижних частот с полосой 2 кГц, работающих с частотой 16 кГц, показана на фиг. 9.23, в. Спектры на выходах этих фильтров имеют вид кривых, изображенных на фиг. 9.23, г и е. В последующих каскадах системы частота дискретизации увеличивается в семь раз, т. е. берется равной 112 кГц, поэтому на каждый из от-
Фиг. 9.22. Блок-схема преобразования временного разделения каналов в частотное (по Фрини, Кибурцу, Майну и Тьюксбери).
Фиг. 9.23. Спектральные преобразования при переходе от временного разделения каналов к частотному.
счетов, следующих с частотой 16 кГц, приходится шесть нулевых; дополненная нулями последовательность пропускается через интерполирующий КИХ-фильтр нижних частот, характеристика которого изображена на фиг. 9.23, ж. Следует отметить, что так как каждые шесть из семи входных отсчетов КИХ-фильтра равны нулю, то общее количество умножений на выходной отсчет может быть уменьшено в семь раз. Таким образом, для реализации фильтра с импульсной характеристикой, содержащей 21 выборку (N = 21), требуется выполнить лишь три умножения на входной отсчет. Заключительная квадратурная модуляция используется для сдвига спектра сигнала в нужную полосу в сторону верхних частот, как показано на фиг. 9.23, з и и. Сложение квадратурных сигналов в выходном сумматоре позволяет выделить одну боковую спектральную полосу, изображенную на фиг. 9.23, к. Требуемый сигнал с частотным разделением каналов получается в результате суммирования всех 12 сигналов.
Необходимо отметить, что качество работы данной схемы зависит от того, насколько точно удается устранить путем вычитания сигналов нежелательные наложения спектров. Операции такого рода особенно успешно выполняются с помощью цифровых устройств. Другим удачным приемом, используемым в этой системе, является совместное использование БИХ-фильтра нижних частот с тактом 16 кГц и интерполирующего КИХ-фильтра нижних частот с тактом 112 кГц. Ясно, что всю фильтрацию можно было бы выполнить с тактовой частотой 112 кГц, но такой подход нецелесообразен из-за необходимости выполнять дополнительно большой объем вычислений.
Перечислим некоторые особенности построения фильтров. Порядок БИХ-фильтров нижних частот равен 9, разрядность коэффициентов равна 8, а разрядность промежуточных результатов — 22. Интерполирующие КИХ-фильтры нижних частот имеют 12-й порядок, 10-разрядные коэффициенты и 18-разрядные промежуточные результаты. Более детальные данные по этим фильтрам можно найти в статье Фрини и др.
Арифметические устройства, использованные в данной системе, аналогичны устройствам, описанным Джексоном и др. применительно к БИХ-фильтру приемника клавишно-тонального вызова, рассмотренного в разд. 9.9; модуляторы, сумматоры и КИХ-фильтры построены по сравнительно простым схемам.
Расчленение цифровых фильтров на составные частипри построении их на интегральных микросхемах
При построении системы, в которой используются специализированные цифровые устройства, важную роль обычно играет ее стоимость, которая зависит от уровня интеграции применяемых
интегральных микросхем и от их быстродействия. Хайтли рассмотрел методику расчленения схем применительно к построению на существующих микросхемах гребенки из 24 цифровых БИХ- фильтров четвертого порядка. Под расчленением подразумевается такое разделение памяти и арифметических устройств всей цифровой системы на небольшие функционально законченные блоки, которое делает возможным построение их с применением больших интегральных схем.
Рассмотренная Хайтли система содержала 24 канала, каждый из которых представлял собой рекурсивный БИХ-фильтр четвертого порядка (все фильтры были составлены из последовательно соединенных блоков второго порядка). Частота следования отсчетов на входах всех 24 каналов была взята равной 32 кГц, хотя входной речевой сигнал был дискретизован с частотой 8 кГц. Переход с помощью интерполяции от 8 кГц к 32 кГц был осуществлен для того, чтобы в качестве преобразователя код — аналог можно было использовать недорогой двоичный масштабный умножитель (дельта-модулятор). Разрядность промежуточных результатов фильтров была равна 16, а коэффициентов фильтра — 12. Таким образом, для запоминания всех промежуточных результатов потребовалась память объемом 16 х 24 х 4 = 1536 разрядов. В каждом из мультиплексируемых блоков второго порядка используются четыре умножителя, так что общее число разрядов каждого из таких блоков равно 4 х 12 = 48.
Используемые интегральные микросхемы имели быстродействие 25 мГц. Хайтли расчленил систему следующим образом:
Память: 128 разрядов на корпус->-12 корпусов
Умножители: 4 разряда на корпус-*■12 корпусов
Трехвходовые сумматоры: всего 2->- 2 корпуса
Детекторы переполнения: всего 4->- 2 корпуса
Преобразователи в дополнительный код: всего 4->- 2 корпуса Устройство управления: всего 1->-10 корпусов
Отсюда получаем, что при современном уровне технологии БИС для построения гребенки из 24 цифровых фильтров требуются 40 корпусов. По оценке Хайтли, к концу 70-х годов продолжающийся прогресс БИС-технологии позволит создать такую же систему всего на 12—14 корпусах, причем ее быстродействие будет вдвое больше, а потребляемая мощность — вдвое меньше.
Специализированный цифровой синтезатор частот
Большое внимание уделяется решению задачи синтеза синусоидальных колебаний с частотами, задаваемыми с высокой точностью. Разработано множество различных приборов, однако к моменту написания данной книги все серийно выпускаемые приборы
(кроме одного) были построены с использованием традиционных аналоговых методов, когда сигнал опорного кварцевого генератора подается на систему смесителей и фильтров для получения большого количества частот. Вначале данного раздела будут рассмотрены принципы прямого цифрового синтеза синусоидальных колебаний, а затем будет описана одна из конструкций синтезатора.
Возможны три цифровых метода получения синусоид: с использованием таблицы, путем рекурсии, а также путем сочетания обращения к таблице с вычислениями. Рассмотрим сначала проиллюстрированный на фиг. 9.24 чисто табличный метод.
Количество разрядов адресного регистра обращения к таблице синусов может превышать величину log2 М (здесь М — размер таблицы синусов), которая необходима для вызова любого отсчета таблицы. Делов том, что наименьшее приращение адреса определяет минимально возможное значение синтезируемой частоты. Например, таблица синусов может содержать М = 1024 отсчета, тогда как регистр адреса может иметь 20 разрядов. Это означает, что если приращение адреса равно единице, то 1024 раза подряд будет выбираться один и тот же отсчет синуса, после чего произойдет переход к следующему отсчету и т. д. При таких малых приращениях адреса получаемая цифровая синусоида будет очень неточной, а возникающие при этом искажения в спектре трудно устранить с помощью фильтра нижних частот.
Описанная ситуация представлена на фиг. 9.25. Для получения идеальной синусоиды необходимо, чтобы спектр искажений, обусловленных цифровым методом формирования синусоиды, располагался выше частоты среза /с аналогового фильтра нижних частот.
Выходная синусоида с частотой f0Выходная синусоида с частотой f0Фиг. 9.24. Цифровой синтезатор частот.Фиг. 9.24. Цифровой синтезатор частот.
Выходная синусоида с частотой f0
Выходная синусоида с частотой f0
Фиг. 9.24. Цифровой синтезатор частот.
Фиг. 9.24. Цифровой синтезатор частот.
Наибольшая
' Спектр искажений, вызываемых:
а) ограниченностью размера таблицы;
б) цифро-аналоговым преобразователем;
б) конечной разрядностью
Фиг. 9.25. Шумы цифрового синтезатора частот.
Вместо выбора отсчетов синусоиды из таблицы их можно рассчитывать с помощью простой рекурсивной формулы. Действительно, пусть х (п) — комплексная экспонента вида exp [/ (^nnk/NT^. Тогда устройство, работающее согласно формуле
ж(п) = ехр (/-^-) ж(п —1),(9.1)
будет генерировать требуемую комплексную экспоненту, причем ее действительная часть будет косинусоидой, а мнимая — синусоидой частоты / = klNT. При таком подходе, если не принимать во внимание эффекты квантования, можно получить идеальную цифровую синусоиду без обращения к таблице, как показано на фиг. 9.26. Система начинает работу при поступлении внешнего единичного импульса. Изменение частоты достигается путем изменения значения к в показателе степени коэффициента умножителя,
epnW
Фиг. 9.26. Цифровой рекурсивный синтез частот.
причем предусматривается также восстановление фазы при приходе внешнего импульса или использование последнего выходного отсчета в качестве нового начального условия.
К настоящему времени синтезаторы частот рассматриваемого типа еще не построены, поскольку существует опасение, что в такой системе будут накапливаться нежелательные шумы квантования. С другой стороны, из теории предельных циклов следует, что устойчивые колебания всегда будут иметь место, однако неясно, будут ли они пригодны для получения чисто синусоидальных аналоговых колебаний. Еще одной причиной, препятствовавшей созданию устройства рассматриваемого типа, является неравномерность сетки частот, связанная с квантованием коэффициентов.
Единственный метод, на основе которого было построено цифровое устройство1), заключается в использовании гибридной схемы, содержащей как опрашиваемую таблицу, так и умножитель. Перечислим основные характеристики этого устройства: количество различных частот — 215;
диапазон частот — 409,6 кГц;
шаг изменения частоты (и, следовательно, минимальная частота) — 12,5 Гц;
уровень чистоты спектра сигнала (определяемый как отношение мощности на заданной частоте к мощности в полосе 100 Гц на любом другом участке диапазона) равен 70 дБ.
Алгоритм работы устройства основан на простых тригонометрических формулах
sin (ж + у) =sin х cos у + cos х sin у,
cos (ж -f- у) = cos ж cos у — sin х sin у ‘(9*2)
что соответствует рекурсии комплексной экспоненты, описанной ранее. Отличие состоит в том, что значения х и у выбираются из таблиц, поэтому в такой системе будет отсутствовать рекурсивный шум квантования (или эффекты предельного цикла). Чтобы обеспечить перечисленные выше характеристики устройства, было принято, что х меняется с грубым шагом (это дает 28 различных частот), а у — с мелким шагом (что дает 215 различных частот), причем значения у используются для расчета путем интерполяции промежуточных значений в соответствии с формулой (9.2). Дополнительная возможность состоит в том, что достаточно запоминать значения синуса или косинуса только на четверти периода, поэтому можно обойтись двумя блоками памяти по 64 слова каждый. Полная блок-схема цифрового синтезатора частот приведена на фиг. 9.27.
х) Речь идет о лабораторном макете. Первый серийный цифровой синтезатор модели 5100, выпускаемый фирмой ROCKLAND с 1975 г., основан на первом методе, см. патент США 3735269.— Прим, перев.
Фиг. 9.27. Блок-схема цифрового синтезатора частот (по Тирни).
По 11 разрядов в каждом из 64 16-разрядных слов отведено в памяти под отсчеты, следующие с грубым шагом. Значения cosy, необходимые для перехода к мелкому шагу, с точностью до 14
бит могут быть заменены единицей, а для представления значений sin у при таких малых значениях аргумента у достаточно пяти разрядов. Таким образом, для вычисления выходного отсчета достаточно выполнить два умножения 5-разрядного числа на 8-разряд- ные и два сложения 12-разрядных чисел.
Методы генерации псевдослучайных чисел
Хотя в литературе описано много различных методов генерации последовательностей чисел с равномерным законом распределения, ниже будут коротко рассмотрены только три из них. Один из наиболее старых и распространенных методов, так называемый конгруэнтный метод, состоит в том, что очередное случайное число х (п) получают из предыдущего числа х (п — 1) с использованием следующего правила:
ж (я) = [А-х (zi — l)](modp), (9.3) где р — большое простое число, а Л — соответствующим образом выбранная константа. При определенных значениях А по этому правилу в случайном порядке генерируются целые числа в интервале от 1 до (р — 1), причем их последовательность периодически повторяется. Преимуществами данного метода являются его простота и возможность использования в процессе вычислений памяти малого объема. Однако ему свойственна низкая скорость генерации, так как при каждой итерации приходится выполнить одно умножение (и обычно деление); кроме того, для этого метода характерна большая чувствительность к значениям Аир.
На фиг. 9.28 иллюстрируется еще один распространенный метод генерации случайных последовательностей. Предполагается,
Фиг. 9.28. Метод генерации равномерно распределенных случайных чисел.
что в к регистрах памяти содержатся предварительно записанные случайные числа в диапазоне от —V2 до V2 (их можно взять из таблицы случайных чисел). Новое случайное число х (тг) генерируется по правилу
х (и) = [х (п— 1) +
+ ж(п — Zc)] (mod-|-) , (9.4) причем выполнение операции по модулю V2 пояснено на фиг. 9.28 внизу: если результат сложения больше 1/2, из него вычитается единица; если же результат меньше —V2, к нему добавляется единица. Поэтому х ^ будет всег-
Фиг. 9.29. Пояснение заворачи-Фиг. 9.29. Пояснение заворачи-вания при переполнениях, ис пользуемого для генерации рав номерно распределенных случай ных чисел.вания при переполнениях, ис пользуемого для генерации рав номерно распределенных случай ных чисел.да находиться в пределах от —V2 до V2. Из фиг. 9.29 видно, что если, как и предполагалось, случайные величины х (п —
Фиг. 9.29. Пояснение заворачи-
Фиг. 9.29. Пояснение заворачи-
вания при переполнениях, ис пользуемого для генерации рав номерно распределенных случай ных чисел.
вания при переполнениях, ис пользуемого для генерации рав номерно распределенных случай ных чисел.
—1) и х (п — к) равномерно рас
пределены на одном и том же интервале (—V2, V2), то и случайная величина х (тг) также будет распределена равномерно на том же
интервале, так что именно в результате взятия значения суммы по модулю V2 треугольное распределение, получающееся после суммирования двух равномерно распределенных величин, опять преобразуется к равномерному. Это означает, что если использовать представление чисел в дополнительном коде, то при условии, что максимально возможное машинное число равно V2, вычисления с использованием формулы (9.4) можно выполнить, просто складывая числа в дополнительном коде и не учитывая переполнений. Итак, преимущество рассматриваемого метода состоит в том, что все вычисления в пределах итерации сводятся к одному сложению. Кроме того, для хранения чисел от х (п — 1)дож (тг — к) обычно требуется порядка 50 регистров. Измерения статистических свойств образуемых таким методом псевдослучайных последовательностей показывают, что их распределения близки к равномерному, причем их энергетический спектр тоже почти равномерный, т. е. генерируемый шум близок к белому. Таким образом, рассмотренный генератор можно с успехом использовать для цифровой обработки сигналов.
Третий метод получения случайных чисел иллюстрируется на фиг. 9.30. Формирование очередного //-разрядного случайного
Фиг. 9.30. Блок-схема генератора псевдослучайных чисел с равномерным
распределением.
Фиг. 9.31. Гистограмма генератора случайных чисел с равномерным распределением. (Количество слагаемых = 1, размер выборки = 49 984, среднее = 5,16, дисперсия = 18 909,97.)
числа х (п) осуществляется на основе двух предшествующих отсчетов х (п — 1) и х (п — 2) по следующему правилу:
(9-5)(9-5)х (п) — Гр [я (п — 1) + х (п — 2)},
(9-5)
(9-5)
причем символ Тр [•] обозначает циклический сдвиг вправо на Р разрядов, а сложение является поразрядным и выполняется по модулю 2.
В схеме на фиг. 9.30 принято, что Р = 1. Данному алгоритму свойственны высокие быстродействие и эффективность. Единственная выполняемая здесь операция — //-разрядное сложение по модулю 2, а объем памяти ограничен двумя L-разрядными словами для хранения х(п— 1) и х (п— 2). Показано, что при определенных значениях L распределение генерируемых чисел приблизительно равномерное, а спектральная плотность соответствует белому шуму. Например, при L — 19 период последовательности будет равен 14942265, т. е. примерно 1500 с при частоте дискретизации 10 кГц. Благодаря своей простоте данный генератор был построен в виде специализированного цифрового устройства с£ = 19. На фиг. 9.31 приведена гистограмма, полученная приблизительно по 50 000 выходным отсчетам, которые были пронормированы таким образом, что оказались лежащими в диапазоне (—32 768, 32 767). Пунктиром показано теоретическое значение частоты повторения, соответствующее равномерному распределению (ее значения на краях диапазона несколько меньше, чем в остальной его части, что свидетельствует о меньшей вероятности генерации чисел вблизи краев диапазона). В целом равномерное распределение аппроксимируется достаточно хорошо.
Методы генерации гауссовых случайных чисел
Методы генерации случайных чисел, описанные в предыдущем разделе, позволяют получить последовательности только с равномерным распределением. Однако довольно часто требуются последовательности псевдослучайных чисел с гауссовым распределением. По-видимому, проще всего для их генерации воспользоваться центральной предельной теоремой, согласно которой распределение суммы N одинаково распределенных независимых случайных величин стремится к нормальному, когда N стремится к бесконечности. Поэтому последовательность независимых равномерно распределенных чисел {ж (и)} можно преобразовать в последовательность чисел с гауссовым распределением {г/ (и)}, используя следующее правило:
N-1
У^ = 4гТ1ж^—^- (9*6> г=0
Здесь N должно быть достаточно большим. Во всех встречающихся на практике случаях достаточно хорошее приближение к гауссову распределению обеспечивается при N порядка 10. Это видно из фиг. 9.32, где представлена измеренная гистограмма, причем
Фиг. 9.32. Гистограмма генератора чисел с нормальным распределением (Количество слагаемых = 12, размер выборки =49 984, среднее = —33,69, дисперсия = 4262,36.)
случайные числа формировались по схеме фиг. 9.30 (L = 19) при N = 12. Видно, что экспериментальные результаты хорошо согласуются с теоретической кривой, соответствующей нормальному распределению.
Одна из разновидностей рассматриваемого метода, предложенная Райдером, состоит в том, что последовательность из L независимых равномерно распределенных случайных величин преобразуется с помощью матрицы Адамара в новую последовательность из L некоррелированных случайных величин с гауссовым распределением. Каждая из L гауссовых величин была получена путем суммирования (вычитания) L чисел с равномерным распределением. Поэтому при L > 16 наблюдалось достаточно хорошее приближение к нормальному распределению. Такой подход весьма эффективен, поскольку по L величинам с равномерным распределением сразу получаются L нормальных случайных величин, а не L/N, как при использовании формулы (9.6). Правда, выходные отсчеты уже не будут независимыми, хотя с помощью простой модификации можно добиться того, что они станут почти независимыми.
Существует прямой метод преобразования пары равномерно распределенных случайных величин в пару нормальных случайных величин. Если обозначить последовательность равномерно распределенных на интервале (0, 1) случайных величин через ^х (и)} и определить у (и) как
у (п) = ]/2о21п[1/я:(и)],(9.7)
то у (и) будет иметь релеевское распределение, т. е.
^W = -^-exp(^-).(9.8)
Если затем сформировать две новые случайные величины iv (и) и w (и + 1 ^согласно формулам
щ (и) = у (и) cos [2ля: (и +1)],(9.9)
и? (и4-1) = у (n)sin [2лж(п-{-1)],(9.10)
то обе новые величины будут иметь нормальное распределение с нулевым средним и дисперсией, равной о2. Более того, to (и) и to (и + 1) оказываются при этом некоррелированными, что для нормальных величин эквивалентно их независимости. Хотя описанный метод и дает на практике хорошие результаты, он связан с довольно большими затратами времени, поскольку приходится вычислять логарифмы, квадратные корни, синусы и косинусы, так что для генерации большого массива нормальных случайных величин его стараются не использовать.'
ЛИТЕРАТУРА
Jackson L. В., Kaiser J. F., McDonald Н. S., An Approach to the Implementation of Digital Filters, IEEE Trans, on Audio and Electroacoustics, 16, No. 3, 413—421 (Sept. 1968).
Hightlcy J. D., Partitioning of Digital Filters for Integrated-Circuit Realization, IEEE Trans, on Communication Tech., COM-19, 1059—1063 (Dec. 1971).
Freeny S. L., Kieburtz R. B., Mina К. V., Tewksbury S. K., Design of Digital Filters for an All Digital Frequency Division Multiplex-Time Division Multiplex Translator, IEEE Trans. Circuit Theory, CT-18, 702 — 711 (Nov. 1971).
Freeny S. L., Kieburtz R. B., Mina К. V., Tewksbury S. K., Systems Analysis of a TDM-FDM Translator/Digital А-Type Channel Bank, IEEE Trans, on Communication Tech., COM-19, 1050—1059 (Dec. 1971).
Kurth C. F., SSB/FDM Utilizing TDM Digital Filters, IEEE Trans, on Communication Tech., COM-19, 1, 63—70 (Feb. 1971).
Tierney J., Rader С. M., Gold B., A Digital Frequency Synthesizer,*/A A A
Trans, on Audio and Electroacoustics, 19, No. 1, 48—58 (1971); есть русский перевод: Тирней Дж., Рэйдер Ч., Голд Б., Цифровой синтезатор частот, Зарубежная радиоэлектроника, № 3, 57—73 (1972).
Perry J. L., Schafer R. W., Rabiner L. R., A Digital Hardware Realization of a Random Number Generator, IEEE Trans, on Audio and Electroacoustics, AU-20, No. 4, 236—240 (Oct. 1972).
Green B. F., Smith J. E., Klem L., Empirical Tests of an Additive Random Number Generator, J. Assn Computer Machinery, 6, No. 4, 527—537 (Oct. 1959).
MacLaren M. D., Marsaglia G., Uniform Random Number Generators, J. Assn. Computer Machinery, 12, 83—89 (1965).
Rader С. M., Rabiner L. R., Schafer R. W., A Fast Method of Generating Digital Random Numbers, Bell. Syst. Tech. J., 49, 2303—2310 (Nov. 1970).
Rader С. M., A New Method of Generating Gaussian Random Variables by Computer, Lincoln Laboratory Technical Note, 1969-49, 1969.
Глава 10
СПЕЦИАЛИЗИРОВАННЫЕ УСТРОЙСТВАДЛЯ ВЫПОЛНЕНИЯ БПФ
Введение
В гл. 6 было приведено весьма подробное описание алгоритмов БПФ как необходимая предпосылка к изложению методов цифрового спектрального анализа. Данная глава посвящена способам практического осуществления алгоритмов БПФ. Чтобы обеспечить возможность выбора наиболее экономичной схемы, в отдельных случаях будет рассмотрено много различных структур БПФ. В связи с этим в начале настоящей главы дан еще более полный обзор алгоритмов БПФ, чем в гл. 6.
В ряде специальных приложений более предпочтительными могут оказаться алгоритмы БПФ с основанием, отличным от 2. Поэтому значительное внимание уделяется, в частности, алгоритмам с основанием 4, позволяющим уменьшить объем оборудования (по сравнению с алгоритмами по основанию 2). Системы с основанием 4 будут рассмотрены довольно подробно. Они будут также сопоставлены с системами, использующими основание 2.
В системах с очень высоким быстродействием (например, в высокоточных радиолокаторах) приходится использовать поточную схему БПФ. В этой главе будут рассмотрены системы такого типа, а также системы, использующие при выполнении БПФ другие виды параллелизма.
Обзор теоретических основ БПФ
Как уже отмечалось в гл. 6, БПФ можно выполнять по схемам с замещением и без замещения. В первом случае результаты всех ДПФ, которые используются при выполнении БПФ, засылаются в те же регистры, откуда были взяты исходные числа. Например, в 16-точечном БПФ (фиг. 10.1) при выполнении на первом этапе двухточечного ДПФ, обозначенного верхним незачерненным кружком, используется содержимое нулевого и восьмого регистров. Обозначим эти числа через /0 [= х (0)] и fx [= х (8)]. Результатами двухточечного ДПФ являются Fo и Fx, причем Fo заносится в регистр на место /0, a Ft замещает fv
Фиг. 10.1. АлгоритмФиг. 10.1. Алгоритм16-точечного Б ПФ с замещением,16-точечного Б ПФ с замещением,прямым порядкомпрямым порядкомотсчетов на входе и двоично-инверсным на выходе.отсчетов на входе и двоично-инверсным на выходе.
Фиг. 10.1. Алгоритм
Фиг. 10.1. Алгоритм
16-точечного Б ПФ с замещением,
16-точечного Б ПФ с замещением,
прямым порядком
прямым порядком
отсчетов на входе и двоично-инверсным на выходе.
отсчетов на входе и двоично-инверсным на выходе.
В алгоритме с замещением выходные гармоники всегда оказываются переставленными. Для БПФ с основанием 2 (фиг. 10.1) эта перестановка соответствует двоичной инверсии номеров гармоник. В разд. 10.3 будет рассмотрен характер перестановки гармоник при использовании более высоких оснований.
Как было показано в гл. 6, в алгоритмах БПФ могут использоваться прореживание по времени и прореживание по частоте. При прореживании по времени умножение на поворачивающие множители предшествует выполнению в вершинах графа двухточечных ДПФ, а при прореживании по частоте оно выполняется вслед за ДПФ. На фиг. 10.1 показаны два набора поворачивающих множителей, один из которых используется при прореживании по временила другой — по частоте. Стрелки с числами возле них соответствуют умножению на WR. где к — число, записанное около стрелки. Данная структура может быть использована также в случае, когда исходные отсчеты расположены в двоично-инверс-
Фиг/ 10.2. Алгоритм БПФ с замещением, двоично-инверсным порядком отсчетов на входе и прямым на выходе (для прореживания по времени множители расположены слева от вершин графа, для прореживания по частоте — справа).■
ном порядке. При этом выходные гармоники будут размещаться в нормальном порядке.
На фиг. 10.2 изображена другая схема алгоритма с теми же свойствами. Здесь также показаны варианты прореживания по частоте и по времени.
Если не будет оговорено особо, то будем считать, что регистры на схемах нумеруются сверху вниз и их номера на схемах не приводятся. Числа, указанные на фиг. 10.1 и 10.2 на входах и выходах, представляют собой номера входных отсчетов и выходных гармоник.
Алгоритм 16-точечного БПФ с основанием 2 и постоянной структурой на всех этапах показан на фиг. 10.3. Здесь результаты базовой операции не возвращаются в те регистры, откуда были взяты исходные числа, поэтому этот алгоритм относится к алгоритмам без замещения. На всех этапах характер нумерации не меняется,
Фиг. 10.3. Алгоритм 16-точечного БПФ по основанию 2 с постоянной структурой, без замещения, с нормальным порядком отсчетов на входе и и двоично-инверсным на выходе (показаны множители для прореживания по времени и по частоте).
Фиг. 10.4. Алгоритм 16-точечного БПФ по основанию 2 с постоянной структурой, без замещения, с двоичной инверсией на входе и прямым порядком на выходе.
что позволяет в некоторых случаях упростить программы или аппаратуру. Входные отсчеты располагаются в нормальном порядке, а выходные гармоники — в двоично-инверсном. Вообще справедливо следующее правило: при работе с замещением необходимо N
Фиг. 10.5. Алгоритм 16-точечного БПФ по основанию 2 с прореживанием по времени, без замещения, с нормальным порядком на входе и выходе.
комплексных регистров, при работе без замещения— 2N комплексных регистров. На фиг. 10.4 представлен алгоритм с постоянной структурой, в котором входные отсчеты располагаются в двоичноинверсном порядке, а выходные гармоники — в прямом. Поворачивающие множители для вариантов прореживания по времени и по частоте можно найти из схемы алгоритма фиг. 10.3, рассматривая ее от выхода к входу и поменяв направления всех стрелок. На фиг. 10.5 представлен алгоритм, в котором за счет работы без замещения удается избежать двоичной инверсии выходных гармоник. Здесь показан только вариант прореживания по времени. Вариант прореживания по частоте нетрудно получить, переместив стрелки за вершины графа.
На фиг. 10.6 представлена разновидность алгоритма БПФ, позволяющая использовать преимущества сверхоперативного запоминающего устройства. Особенности аппаратурной реализации этой структуры будут рассмотрены позднее; отметим лишь, что вершины графа можно объединить в пары и выполнять сразу по две базовые операции над четырьмя отсчетами, так что для этих отсчетов будут проведены сразу два этапа Б ПФ,и только после этого будут аналогично обрабатываться следующие четыре отсчета. Допустим, например,что отсчеты 0 и 8 поступают в нулевую вершину нулевого этапа БПФ, а отсчеты 4 и 12 — в четвертую вершину того же этапа. После выполнения этих двух базовых операций перейдем к вершинам 0 и 4 первого этапа и убедимся, что для них все исходные числа снова размещаются в тех же четырех регистрах с номерами 0, 4, 8 и 12. Содержимое регистров 1, 5, 9 и 13 можно также пропустить сразу через два этапа БПФ. Таким образом,если арифмети-
Фиг. 10.6. Алгоритм 16-точечного БПФ по основанию 2 с совместным выполнением двух этапов над четырьмя отсчетами без промежуточных обращений к ЗУ. Входные отсчеты — в прямом порядке, выходные — переставлены (но не в двоично-инверсионном порядке).Фиг. 10.6. Алгоритм 16-точечного БПФ по основанию 2 с совместным выполнением двух этапов над четырьмя отсчетами без промежуточных обращений к ЗУ. Входные отсчеты — в прямом порядке, выходные — переставлены (но не в двоично-инверсионном порядке).2233гг55666 — 66 — 68811 — 1311 — 13141415151213121314 — 71 — 89—85—1014 — 71 — 89—85—10910 11910 11О —О 8 — 1 4—2 12 — 3О —О 8 — 1 4—2 12 — 313 — 113—1213 — 113—127—1415 — 157—1415 — 1510 — 510 — 512121313141444
Фиг. 10.6. Алгоритм 16-точечного БПФ по основанию 2 с совместным выполнением двух этапов над четырьмя отсчетами без промежуточных обращений к ЗУ. Входные отсчеты — в прямом порядке, выходные — переставлены (но не в двоично-инверсионном порядке).
Фиг. 10.6. Алгоритм 16-точечного БПФ по основанию 2 с совместным выполнением двух этапов над четырьмя отсчетами без промежуточных обращений к ЗУ. Входные отсчеты — в прямом порядке, выходные — переставлены (но не в двоично-инверсионном порядке).
2
2
3
3
г
г
5
5
6
6
6 — 6
6 — 6
8
8
11 — 13
11 — 13
14
14
15
15
12
13
12
13
14 — 7
1 — 8
9—8
5—10
14 — 7
1 — 8
9—8
5—10
9
10 11
9
10 11
О —О 8 — 1 4—2 12 — 3
О —О 8 — 1 4—2 12 — 3
13 — 11
3—12
13 — 11
3—12
7—14
15 — 15
7—14
15 — 15
10 — 5
10 — 5
12
12
13
13
14
14
4
4
Фпг. 10.7. Алгоритм БПФ с прореживанием по частоте и совместным выпол-нением двух этапов, устраняющий двоичную инверсию на выходе.
ческое устройство способно обрабатывать не два, а сразу четыре отсчета, то необходимое число циклов обращения к памяти может быть сокращено в два раза.Данную структур уможно рассматривать как алгоритм с замещением, в котором выполняются сразу два этапа, поэтому порядок результатов будет двоично-инверсным.
1
9
1
5
1
3
2
3
2
to
2
6
4
6
4
5
3
11 .
_^_3
7—*.
5
7 _,
.6
1
4
12
8
12
8
18
8
9
5
13
9
13
9
И
10
11
6
14
10
14
12
14 '
12
13
7
15
11
15
13
15
14 15
Фиг 10.8. Алгоритм с совместным выполнением двух этапов, допускающим двукратное распараллеливание.
На фиг. 10.7 показано, как можно избежать двоичной инверсии. В этом алгоритме 16-точечного БПФ первые два этапа выполняются также, каки в алгоритме на фиг. 10.1, т. е. как обычные операции с замещением. Затем четверки отсчетов вводятся в арифметическое устройство, где выполняются две базовые операции, после чего их результаты переставляются, как показано для двух последних этапов алгоритма.Заметим, что в данном случае регистры пронумерованы. Это сделано для того, чтобы проиллюстрировать характер нумерации. Так как нумерация регистров на выходе является двоично-инверсной, то выходные гармоники будут располагаться в нормальном порядке. (Действительно, в обычном алгоритме с замещением нумерация регистров не изменяется и порядок следования результатов является двоично-инверсным.)
На фиг. 10.8 представлен еще один алгоритм с одновременным выполнением двух базовых операций, который отличается от алгоритма фиг. 10.7. Здесь регистры ЗУ организованы так, чтобы можно было считывать (или записывать) одновременно по два комплексных слова.Так, например, отсчеты 0 и 8 считываются для выполнения базовой операции параллельно, за счет чего удается сэкономить один цикл обращения к памяти. В расположенной справа таблице показана желательная группировка отсчетов
на различных этапах Б ПФ. Чтобы осуществить ее и обеспечить параллельную работу, необходимо одновременно поменять местами четыре совместно обрабатываемых отсчета. Например, отсчеты 0, 8 и 4, 12 переставляются, а затем обрабатываются пары отсчетов 0. 4 и 8, 12. Снова напомним, что регистры на схеме пронумерованы. Конечные результаты (правая колонка чисел) показывают, что выходные гармоники переставлены, причем перестановка является результатом инверсии и матричной перестановки, получающейся при заполнении матрицы размером (8 х 2) по строкам с последующим чтением ее по столбцам.
Нумерация при БПФ. Двоичная инверсия и разрядная
инверсия для алгоритмов БПФ с постоянным основанием
Начнем с очень простого примера, иллюстрирующего, каким образом выходные гармоники БПФ с замещением оказываются переставленными, в результате чего X (к) размещается, вообще говоря, не в к-м регистре, хотя отсчет х (к) находился в нем. Пусть задана четырехточечная последовательность х (п). Ее ДПФ равно
X (0) = х (0) + х (1) 4-х (2) +ж (3) = х (0) + х (1) + х (2) 4-я (3),
X (1) — х (0) 4-х (1) W14-х (2) W2 4-х (3) Ж3 =
= х(0)+/я(1) — я (2) — jx(3),
X (2) = х (0) + х (1) W2 + х (2) Ж4 + х^ W>=x ^}-х (1)+(2)-я (3),
X (3) = х (0) + х (1) Ж3 + х (2) W® + х (3) W9 =
= х (0) — зх (1) — х (2) + зх (3).
Выполним эти вычисления с помощью четырехточечного БПФ по схеме, изображенной на фиг. 10.9. Заметим, что X (1) и X (2)
Х(0) +Х(1) + X (2) + Х(3) =Х(О)
• х(0) + х(2) -х(1) — х(3)=Х(2) Х(1)+ х(3)
Х(0)-Х(2)
ЛХ(0) + jx(l) -х(2) - jx(3)-X(l)
х(0) - jx(l) -х(2) +jx(3)=X(3)
Фиг. 10.9. Алгоритм четырехточечного БПФ по основанию 2 с прореживанием по частоте и с замещением.
О 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15О 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15МатричнаяпМатричная перестановкаперестановкаи(2*2) элементов _ 8(8 х 2) элементов08 ^ 04/^ 40 8024 1281212080 12 10_ 46 -— И219234 128 Ю102104 56 1412 142 10^ 266311_ 6 7 ;► Ии ;6 1410J4_ 144128 919 15151310 1119135 1391361412 133 11 5 7И571514 155 139 113 11^ 37137 1513 157 1511153Матричная117перестановка15 Двоичная(А *2) элементовинверсия"МатричнаяпМатричная перестановкаперестановкаи(2*2) элементов _ 8(8 х 2) элементов08 ^ 04/^ 40 8024 1281212080 12 10_ 46 -— И219234 128 Ю102104 56 1412 142 10^ 266311_ 6 7 ;► Ии ;6 1410J4_ 144128 919 15151310 1119135 1391361412 133 11 5 7И571514 155 139 113 11^ 37137 1513 157 1511153Матричная117перестановка15 Двоичная(А *2) элементовинверсия"
О 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
О 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Матричнаяп
Матричная перестановка
перестановкаи
(2*2) элементов _ 8
(8 х 2) элементов
08 ^ 0
4/^ 4
0 802
4 128
1212
0
8
0 1
2 10_ 46
-— И
2
1
9
23
4 128 Ю
10
2
10
4 5
6 1412 14
2 10^ 2
66
3
11
_ 6 7 ;
► Ии ;
6 1410
J4_ 14
4
12
8 9
19 1
51
5
13
10 11
1913
5 139
13
6
14
12 13
3 11 5 7
И
5
7
15
14 15
5 139 11
3 11^ 3
713
7 1513 15
7 1511
153
Матричная
11
7
перестановка
15 Двоичная
(А *2) элементов
инверсия"
Матричнаяп
Матричная перестановка
перестановкаи
(2*2) элементов _ 8
(8 х 2) элементов
08 ^ 0
4/^ 4
0 802
4 128
1212
0
8
0 1
2 10_ 46
-— И
2
1
9
23
4 128 Ю
10
2
10
4 5
6 1412 14
2 10^ 2
66
3
11
_ 6 7 ;
► Ии ;
6 1410
J4_ 14
4
12
8 9
19 1
51
5
13
10 11
1913
5 139
13
6
14
12 13
3 11 5 7
И
5
7
15
14 15
5 139 11
3 11^ 3
713
7 1513 15
7 1511
153
Матричная
11
7
перестановка
15 Двоичная
(А *2) элементов
инверсия"
Фиг. 10.10. Иллюстрация двоичной инверсии для 16-точечного БПФ с помощью последовательности матричных перестановок.
поменялись местами, т. е. гармоники оказались переставленными. Такую перестановку, характерную для БПФ, можно объяснить, используя описанную в гл. 6 возможность выполнения одномерного ДПФ по схеме двумерного ДПФ. Существенно, что результат преобразования имеет матричную перестановку. Если рассматривать алгоритм БПФ как последовательность прореживаний (путем представления одномерных массивов двумерными), то перестановку гармоник можно рассматривать как результат выполнения последовательности матричных перестановок в массивах уменьшающихся размеров, как показано на фиг. 10.10 для 16-точечного БПФ.
Оказывается, что в алгоритмах БПФс постоянным основанием порядок следования гармоник достаточно просто определяется порядком следования входных отсчетов. Правило определения порядка на выходе, которое будет сначала просто сформулировано, а затем и доказано, известно под названием двоичной инверсии для БПФ с основанием 2 или (в общем случае) разрядной инверсии для основания г, причем номера отсчетов в последнем случае записываются в r-ичной системе счисления. Так, если при БПФ с основанием 2 отсчет / (и) находится в n-м регистре, причем п представляется двоичным числом вида Х5Х4Х3Х2Х1ХО (т. е. 6-разрядным адресом, в котором xj равны нулю или единице), то выходная гармоника F (п) окажется в регистре с адресом ЯоЯ^Жз^зЯ^я^, для которого расположение двоичных разрядов оказывается инверсным. Все сказанное справедливо и для БПФ с основанием 4, когда xj представляют собой четверичные цифры, принимающие
значения О, 1, 2 или 3; для алгоритмов с основанием 8 Xj будут восьмеричными цифрами.
Для доказательства разрядной инверсии используем простое численное соотношение, описывающее связь между положением элементов двумерного массива до и после матричной перестановки. Рассмотрим матрицу
От2тОт2тт +1т +1т-^2т-^2... т — 1... 2т — 1... т — 1... 2т — 1
От2т
От2т
т +1
т +1
т-^2
т-^2
... т — 1
... 2т — 1
... т — 1
... 2т — 1
N — 1,N — 1,(р—1) w
N — 1,
N — 1,
состоящую из р строк и т столбцов и содержащую N = тр элементов. Если каждый элемент матрицы умножить на р по модулю (А — 1), то результат будет представлять уже упоминавшуюся выше матричную перестановку. Таким образом, преобразованная матрица имеет вид
Ор 2р... (т— 1) р
1 р + 1 2р + 1 ... (т — 1)р+1
2.
Р— 1Р— 1N-V
Р— 1
Р— 1
Заметим далее, что если р = 2, то умножение двоичного числа на 2 по модулю (А — 1) эквивалентно круговому сдвигу разрядов по часовой стрелке на одну позицию. Аналогично умножение на 4 по модулю (А — 1) эквивалентно круговому сдвигу по часовой стрелке на две позиции или на один четверичный разряд. В общем случае умножение на г по модулю ^N — 1) соответствует круговому сдвигу по часовой стрелке на один r-ичный разряд.
Рассмотрим, что произойдет при выполнении в r-ичном числе определенной последовательности таких круговых сдвигов на r-ичный разряд. Пусть исходное число имеет вид
Х^Х^Х^Х 2Х^Х у.
Сдвинем по кругу все шесть разрядов:
zyi zyi zyi zyi zy* /у»
Сдвинем по кругу пять старших разрядов:
zyi zyi zyi zy* zy* zy*
^^3^^2^*,l^t, О'*'4*^5 •
Сдвинем по кругу четыре старших разряда:
/у* /у /у /у /у /у
*^vL^vL ^иСЗхА/^^е
Сдвинем по кругу три старших разряда:
zyi /у /у /у /у /у *\*0*^*а/3*^5»
Сдвинем по кругу два старших разряда:
ж0ж1ж2ж3а:4а,,5.
Теперь остается доказать, что при БПФ с основанием г перестановку гармоник можно описать инверсией разрядов. Начнем с представления исходного массива в виде матрицы размером [(№) х г]. Этапу 1 соответствует матричная перестановка всего массива. После нее каждый из г столбцов (размером по N/г) также следует представить матрицей размером [(Л7г2) х г]. Преобразование каждой из этих матриц связано с круговым сдвигом всех разрядов, за исключением младшего. Аналогично при переходе от этапа к этапу будет сдвигаться все меньшее число старших разрядов. Поясним сказанное на примерах. Рассмотрим 16-точечное ДПФ по основанию 2 с прямым порядком следования исходных отсчетов. Выберем алгоритм с прореживанием по частоте и будем выполнять по строкам двухточечные ДПФ. Порядок размещения результатов будет описываться круговым смещением разрядов на этапе 1 и соответствовать матричной перестановке исходного массива. Подчеркнем, что адрес каждого регистра заменяется на новый, получаемый на этапе 1 описанного выше процесса разрядной инверсии. Но каждый из столбцов, используемых на этапе 1 разрядной инверсии, представляется матрицей из (4 X 2) элементов, так что их адреса изменяются в соответствии с этапом 2 процесса разрядной инверсии. Рассматривая, наконец, каждый столбец этапа 2 инверсии как матрицу из (2 х 2) элементов, получаем перестановку выходных результатов, действительно являющуюся двоичной инверсией. Важно не забывать, что адреса регистров соответствуют геометрическому положению чисел и считаются в процессе преобразования неизменными. Так, например, после выполнения всего алгоритма в регистре 14 находится седьмая гармоника, в регистре 5 — десятая и т. д.
Алгоритм с основанием 4
Если число N является степенью 4, то его можно записать как (N/4) X 4; аналогично N/4 = (W/16) X 4 и т. д. В результате элементы исходного одномерного массива можно расположить таким образом, чтобы элементарные операции представляли собой четырехточечные ДПФ. Простой пример для N = 16 показан
Фиг. 10.11. 16-точечное Б ПФ с основанием 4.
Фиг. 10.12. 16-точечное БПФ по основанию 4 с прореживанием по частоте, прямым порядком на входе и четверично-инверсным на выходе.
на фиг. 10.11. Для этого случая достаточно одного прореживания, осуществляемого путем представления одномерного массива матрицей размером (4 X 4). Выполняемые операции можно представить схемой (фиг. 10.12), аналогичной схемам БПФ с основанием 2. На фиг. 10.12 использованы обозначения, уже описанные в гл. 6, т. е. вершины (незачерненные кружки) представляют /Г-точечные ДПФ, где К равно числу линий, входящих в вершину и выходящих
Фиг. 10.13. 16-точечное БПФ по основанию 4 с прореживанием по времени и с замещением, нормальным порядком на входе и четверично-инверсным на выходе.
из нее. Таким образом, на фиг. 10.12 эти кружки представляют четырех точечные Д ПФ, а умножения на поворачивающие множители изображены, как и на схемах БПФ с основанием 2, стрелками. Ячейки памяти также представлены точками и пронумерованы сверху вниз, причем номера регистров не приводятся.
По аналогии с БПФ по основанию 2 возможны варианты БПФ по основанию 4 с прореживанием по частоте и по времени. Первый вариант представлен на фиг. 10.12, а второй — на фиг. 10.13.
Интересно сравнить количество арифметических операций, выполняемых в схемах фиг. 10.12 и 10.13 и в любой из 16-точечных структур с основанием 2, приведенных на фиг. 10.1 —10.8. Во втором случае используются 10 нетривиальных комплексных умножений (тривиальными являются умножения на ±1 или на ±7"). Аналогичный подсчет для БПФ с основанием 4 дает восемь таких умножений. Таким образом, уже отсюда видно, что эффективность различных структур БПФ с одинаковыми конечными результатами неодинакова. Но решение вопроса о том, выгодно ли применение алгоритма БПФ с основанием 4, зависит в каждом конкретном случае от большого числа факторов и здесь не рассматривается.
На фиг. 10.14 изображена схема алгоритма БПФ с основанием 4 для массива из 64 отсчетов. Чтобы понять, каким образом в этом алгоритме осуществляется прореживание, будем считать, что первые 16 отсчетов образуют первую строку матрицы из 16 столбцов и 4 строк, следующие 16 отсчетов составляют вторую строку и
Фиг. 10.14. 64-точечное БПФ по основанию 4 с прореживанием по частоте, нормальным порядком на входе и четверично-инверсным на выходе.
т. д. На первом этапе алгоритма фиг. 10.14 выполняется 16 четырехточечных ДПФ от элементов каждого столбца. Затем производятся повороты, причем показатели экспонент поворачивающих множителей указаны перед обозначением ячеек памяти второго этапа. Затем все четыре строки прореживаются путем формирования из них матриц размером (4 X 4) и преобразуются по схеме 16-точечного БПФ с основанием 4, но с другими поворачивающими множителями.
Алгоритм фиг. 10.14 можно рассматривать как вариант БПФ с прореживанием по частоте, так как повороты производятся
после ДПФ. Можно построить и алгоритм с прореживанием по времени, но для этого придется переходить от матриц меньшего размера к более крупным матрицам. Читателю, вероятно, интересно самому найти значения поворачивающих множителей для варианта алгоритма фиг. 10.14 с прореживанием по времени. Как получить нужный результат, исходя из повторяющейся процедуры сведения матрицы к четырехточечным ДПФ?
Сопоставление объема вычисленийпри использовании оснований 2, 4 и 8
Алгоритмы БПФ с основаниями 4 и 8 представляют и теоретический, и практический интерес, так как они позволяют получить выигрыш (по сравнению с алгоритмом по основанию 2) как при аппаратурной, так и при программной реализации БПФ. Покажем это качественно, выбрав N = 64 и подсчитав число комплексных умножений, необходимых для выполнения БПФ с основаниями 2, 4 и 8.
Для БПФ с основанием 2 и прореживанием по времени на первом этапе используются умножения только на ТУ0 = 1, т. е. фактически умножений нет. На втором этапе фигурируют поворачивающие множители ТУ0 и ТУ16 = /, т. е. умножений снова нет. На третьем этапе в половине из общего числа операций, равного NI2, выполняются комплексные умножения и т. д. В результате число комплексных умножений, выполняемых при TV-точечном БПФ с основанием 2, можно записать в виде
м _N%2n—1_ А п дго\N, .
2z । 2П 2 (l^22)2L 12-14 1 •
71=1
(10.1) Упрощая формулу (10.1), получим
MN =log2 N—L N-V 2.(10.2)
При TV = 64 из формулы (10.2) следует, что MN ==98. Заметим, что эта формула верна также при TV = 2 и TV = 4, когда MN = 0. Формула (10.2) справедлива, если TV равно степени двойки.
Формулу, аналогичную (10.2), можно вывести и для БПФ с основанием 4, но в данном случае проще подсчитать количество умножений, используемых в алгоритме фиг. 10.14. На первом этапе при выполнении поворотов требуются 44 умножения, на втором — 32, а на третьем они не используются. Всего получается 76 умножений — заметно меньше по сравнению с предыдущим случаем.
В алгоритмах с основаниями 2 и 4 операция вычисления ДПФ не содержит умножений, т. е. все умножения являются
Фиг. 10.15. 64-точечное БПФ по основанию 8 с прореживанием повремени и с замещением.
поворачивающими. При более высоких основаниях ситуация меняется. В частности, для восьмиточечного ДПФ, выполняемого методом БПФ, в соответствии с формулой (10.2) требуются два умножения (на числа вида ±а и ±/а). Таким образом, в алгоритме БПФ с основанием 8 умножения фигурируют при выполнении и ДПФ, и поворотов. На фиг. 10.15 представлен алгоритм 64-точечного БПФ с основанием 8. Он включает 16 восьмиточечных ДПФ (незачерненные кружки на фиг. 10.15), требующих 32 умножений, а также 48 нетривиальных умножений на поворачивающие множители, так что всего выполняется 32 + 48 = 80 умножений.)
Поэтому представляется, что основание 4 является в некотором смысле «оптимальным» по крайней мере для 64-точечных БПФ. Эту «оптимальность», конечно, не следует понимать буквально и использовать всегда только основание 4. Скорее она означает, что при разработке любой достаточно большой системы необходимо проанализировать возможность применения всех трех оснований.
Эффекты квантования в алгоритмах БПФ
При составлении программ (или при аппаратурной реализации БПФ) необходимо учитывать эффекты, связанные с представлением обрабатываемых чисел и коэффициентов с ограниченной точностью. К таким эффектам относятся шумы округления при усечении результатов умножений, погрешности масштабирования промежуточных результатов с целью устранения возможных переполнений, а также погрешности преобразования, связанные с конечной точностью представления коэффициентов Wh. Уэлч и ряд других авторов подробно проанализировали влияние шума округления и масштабирования для алгоритмов БПФ по основанию 2 с прореживанием по времени и по частоте при условии, что все арифметические операции выполняются с фиксированной или плавающей запятой. Вопрос, связанный с точностью представления коэффициентов, не рассматривался столь подробно, поэтому ниже будут приведены лишь качественные результаты. Сначала будут рассмотрены вопросы реализации алгоритмов БПФ с основанием 2 при выполнении арифметических операций с фиксированной запятой.
Если последовательность {ж (тг)} из N отсчетов имеет коэффициенты ДПФ {X (А:)}, то, согласно теореме Парсеваля,
N-lN-i
2 ^(^=^ S пир,(ю.з)
n=0k=0
т. е. средняя мощность выходных гармоник в N раз превышает среднюю мощность исходной последовательности. Следовательно, значения ДПФ последовательности будут, вообще говоря, существенно превышать значения самой последовательности. Поэтому при использовании арифметики с фиксированной запятой необходимо во избежание переполнений ввести масштабирование. Чтобы показать, как могут возникать переполнения, рассмотрим базовую операцию на m-м этапе БПФ с прореживанием по времени. Пусть /т (0 и fm (/) — входные числа базовой операции, а /т+1 (0 и /m+i (/) — выходные числа, причем И^ — поворачи-
вающий множитель. Тогда
/т+1 (0 = /т (0 + Wpfm (/),
Из формулы (10.4) видно, что при переходе от этапа к этапу модули чисел, вообще говоря, увеличиваются, поэтому их нужно масштабировать сдвигом вправо. Нетрудно показать, что от этапа к этапу максимальное значение модуля комплексных чисел не убывает и, как видно из соотношения (10.4), удовлетворяет неравенству
max{|/m(i)|, |/„(7)|}<max(|/m+1(i)|, |/m+1(7)|}<
<2max{|/m(i)|,|/„(7)|}.(10.5)
Следовательно, уровень сигнала на каждом этапе увеличивается не быстрее, чем на один двоичный разряд.
Учитывая вышеизложенное, можно предложить три метода масштабирования:■
Сдвиг вправо на один разряд на каждом этапе. Если |/0 (01 ^
V2 для любых г и числа сдвигаются на разряд вправо после каждого этапа итерации (кроме последнего), то переполнения не произойдет.
Контроль последовательности, гарантирующий выполнение условия |/т (01 <^ V2 для всех I. На каждом этапе БПФ вычисляется массив fm (0> и если хотя бы один отсчет массива превысит по модулю V2, весь массив масштабируется сдвигом вправо на разряд.
Проверка на переполнение. При этом исходная последовательность масштабируется так, чтобы |Re {/0 (0}| и |1ш {/0 (0}| были меньше единицы (а не V2, как в двух предыдущих методах). Если в ходе базовой операции фиксируется переполнение, то все числа последовательности, включая результаты уже выполненных на данном этапе (без переполнения) базовых операций, сдвигаются на разряд вправо, после чего итерация продолжается с той базовой операции, где произошло переполнение. На каждом этапе может произойти более чем одно переполнение, но не больше двух.
Первый метод связан с наименьшими затратами времени и наиболее прост для программирования. Однако он дает наименьшую точность, так как масштабирование на каждом этапе приводит к ненужному ухудшению точности в случаях, когда его можно было не производить. Второй метод требует больших затрат времени (поскольку на каждом этапе приходится вычислять модули всех чисел массива), и в то же время он не слишком точный, так как весь массив всегда масштабируется таким образом, чтобы модули всех его элементов не превышали V2, поэтому один разряд памяти
данных не используется. Третий метод является самым точным, но здесь приходится повторно обрабатывать всю последовательность всякий раз, когда обнаруживается переполнение.
Уэлч разработал довольно простую методику расчета граничных значений уровня шума округления, возникающего при БПФ. Наличие шума округления обусловлено двумя факторами:
Появлением погрешности при округлении произведения Wpfm кЙ в формулах (10.4). Если Wp и /т (/) представлены Ь-раз- рядными числами (т. е. действительная и мнимая части Wp и fm ki) содержат по b разрядов), то после округления каждого из четырех действительных произведений, входящих в Wpfm (J), до Ь-разряд- ного числа получается ошибка, равномерно распределенная на интервале (—2“ь/2, 2~ь/2) и имеющая нулевое среднее и дисперсию, равную 2-2Ь/12.
Сдвигом суммы на один разряд вправо, если при сложении происходит переполнение. Если младший разряд, при сдвиге выходящий за пределы регистра, равен нулю, то ошибки не будет. Если же он равен единице, то в зависимости от знака числа возникает ошибка величиной ±2~ь. Дисперсия этой ошибки равна 2“2d/2.
Верхнюю границу1) отношения среднеквадратического значения шума округления к среднеквадратическому значению выходных гармоник можно получить, предположив, что переполнение происходит на каждом этапе, так что числа каждый раз приходится масштабировать. Если fh ki) — отсчеты, получаемые на /с-м этапе, то D kfy) — их дисперсия, определяемая как
N-1
О(/») = т2 °№У)Ь(Ю.6)
3=0
причем
n —2Ь
Р(/о) = ^~=6Д2,(Ю.7)
где А2 = 2-2Ь/12, так что 6А2 = 2~2ь/2. Равенство (10.7) получается в предположении, что на первом же этапе может произойти переполнение, поэтому в числах нулевого этапа (т. е. в исходных отсчетах) один младший разряд отбрасывается. На первом этапе базовая операция содержит умножения только на ±1, поэтому шум округления произведений отсутствует.
На втором этапе, согласно предположению, также может произойти переполнение, поэтому массив /х (/) нужно предварительно
х) Следует отметить, что определяемая ниже верхняя граница представляет собой математическое ожидание искомого отношения, поэтому в экспериментальных измерениях она может быть превышена.
промасштабировать. Следовательно, дисперсия Д будет равна
D (Л) = 2D ^^ + (4 X 6А2) = 36А2,(10.8)
причем множитель 4 отражает тот факт, что ошибка при усечении выходных чисел на первом этапе будет вдвое больше ошибки, обусловленной усечением выходных чисел на нулевом этапе, поэтому дисперсия возрастает в четыре раза.
На втором этапе алгоритма БПФ с прореживанием по времени выполняются умножения только на ±1 и ±7, поэтому ошибка, связанная с округлением произведений, опять будет равна нулю. Итак, в предположении, что числа /2 также масштабируются, получим следующую формулу для дисперсии ошибки на втором этапе БПФ:
D (/2) = 2D (/,) 4- (42 х 6А2) = 168Д2,(10.9)
причем множитель 42 указывает на удвоение ошибки усечения при переходе от первого этапа ко второму.
На всех последующих этапах в большинстве базовых операций выполняются нетривиальные умножения. Так, на третьем этапе половина базовых операций содержит такие умножения, на четвертом этапе — три четверти и т. д. Согласно формулам (10.4), общее выражение для действительной части результата базовой операции, выполняемой на т-м этапе, имеет вид
Re [fm+i (01 = Re [fm (01 + Re Vfm (7)1 Re (VFP) — Im \fm (/)] Im (Ж).
(10.10)
Аналогичное выражение можно записать и для мнимой части. Для тех базовых операций, где умножение на Wp не является тривиальным, дисперсия результата fm+i (включая шум округления всех произведений и шум усечения при масштабировании) имеет вид
D (f^) = D (/„) + D (IV”) {Re2 [/„(/)) + Im2 [/„ (;))} +
+ {Re2 (IV”) + Im2 (IV”)) D (/„) + D (^,) + D (е"+1), (10.11) где слагаемое D (e^) учитывает дисперсию ш ма округления на т-м этапе, а член D (е“+1) — дисперсию шума, связанную с масштабированием на этом же этапе. Как уже отмечалось, оба эти члена равны
D (ео« ) = 4тА2
n/мЛ(Ю.12)
^(^iH4ХбА2.V 7
Третье слагаемое суммы (10.11) содержит произведение квадрата модуля Wp и D (fm). Поскольку IH^I = 1, это слагаемое совпадает с первым членом суммы. Второе слагаемое равно произведению
D (VP3) на среднее значение квадрата модуля переменных, преобразуемых на тп-м этапе. Дисперсия Wp равна А2 (поскольку Wp представляется b-разрядным числом с погрешностью). Чтобы определить средний квадрат модуля переменных, обрабатываемых на тп-м этапе, нужно знать величину К, представляющую собой средний квадрат модуля исходного массива чисел, равный
N-1к=Тйп=^^\#«т\2.(10.13)
Учитывая, что среднее значение квадрата модуля увеличивается от этапа к этапу вдвое, получим, что на выходе тп-го этапа оно будет равно 2™ К. Тогда дисперсия /m+i становится равной
D(fnl+1) = 2D(fm) + 2mKA«+4”-W + (4”'« X 6№)t (10.14) если во всех базовых операциях тп-го этапа выполняются нетривиальные умножения. Если же ввести а — долю базовых операций с нетривиальными умножениями (O^a^l), — то второе и третье слагаемые суммы (10.14) следует умножить на а. Так, если a = 0 (как это имеет место на первом и втором этапах), то равенство (10.14) переходит в (10.8) (при ш = 0) или в (10.9) (при т = 1). Если принять, что a = V2 на третьем этапе и a = 1 на всех последующих этапах, причем номер последнего этапа равен М, то, согласно формулам (10.7)—(10.14), получим
D Um) - 2м (№) + 2м-1 (4 X 6А2) 4- ... + 2 (4м-1 х 6А2) +
+ 2м-2ХА2+(М-3) 2м-1ХА2 +
2м~4 (43А2) + 2м"4 (44А2) + ... + (4МА2) =
= (1,5) 2м+2А2(1 + 2+ ... +2м-1) +
+ (М- 2,5) 2м" ^А2^ 2м+2А2 +
+ 2м+4(1 + 2+ ... +2М-4)^
22м+зд2 + (М _ 2,5) 2м ~ ^А2 + 2м+2Л2.(10.15)
Поскольку среднее значение квадратов модулей элементов выходного массива 0т U)^ равно 2м К, то средний квадрат их действительных (или мнимых) частей равен 2мК/2. Таким образом, оценкой отношения среднеквадратических значений (СИЗ) шума и сигнала на выходе (в пределе при больших М) является величина
СКЗ ошибки ~ 2(ЛГ+3)/2д _2(М+3)/22-ь (0 3)_
СКЗ сигнала д/^2 СКЗ входного сигнала
=0.3 VS 2-" 1/8 (10л6)
СКЗ входного сигнала *4
Итак, верхняя граница отношения ошибки к выходному сигналу возрастает как VN^ т. е. по V2 разряда на этап.
Формулу, аналогичную (10.16), можно получить и для нижней границы отношения ошибки к сигналу ,если предположить, что переполнений вообще не происходит, так что ошибки усечения, связанные с масштабированием, отсутствуют. Следовательно, вплоть до третьего этапа ошибка вообще не возникает. Проведя аналогичный анализ, получим следующую формулу для дисперсии выходных отсчетов fM:
D(fM) = 2м"2ХД2+(М- 3) 2M"vK^-V 2М~*№ +
+ 2м'5А2+2м-6А2+ ... -|-А2 « (М —2,5) 2М“ ^А2-^
(10.17)
Таким образом, при большом числе этапов М нижняя граница отношения среднеквадратических значений ошибки и сигнала на выходе имеет вид
(10.18)(10.18)СКЗ ошибки .. А 9
(10.18)
(10.18)
СКЗ выходного сигнала v’°
Рассмотренная модель возникновения ошибок была экспериментально подтверждена Уэлчем на многочисленных примерах. На фиг. 10.16 показано, как изменяется отношение среднеквадратических значений ошибки и сигнала на выходе, когда на вход
вь
Теоретическаяверхняя граница
1020 40 60 100 200 А001000 2000 А000
N
Фиг. 10.16. Сравнение расчетной верхней границы уровня шума при БПФи экспериментальных результатов (по Уэлчу).
поступают случайные числа с нулевым средним, равномерно рас- гределенные на интервале (—1, 1), причем разрядность чисел равна 17. В этом случае VК/2, = 0,58. Как видно из графика, теоретическая верхняя граница хорошо согласуется с экспериментальными данными, хотя ее наклон несколько больше, чем в эксперименте. Нижняя граница [см. формулу (10.18)1 не приведена, так как она является слишком оптимистичной и малопригодна для практики.
Хотя выше был рассмотрен вариант алгоритма БПФ с прореживанием по времени, переход к другим вариантам несложен, и оценки верхней и нижней границ отношения среднеквадратических значений ошибки и сигнала, описываемые формулами (10.16) и (10.18), справедливы и для них. Таким образом, при разработке систем БПФ с фиксированной запятой можно руководствоваться формулой (10.16). Зная максимальный размер преобразуемого массива JV и требуемое отношение среднеквадратических значений ошибки и выходного сигнала, можно выбрать длину слова b так, чтобы обеспечить требуемую точность.
В анализе, проведенном выше, рассматривались ошибки, связанные с округлением произведений и масштабированием, которое используется, чтобы избежать переполнений. При вычислении БПФ существует еще один источник погрешностей, обусловленный неточным представлением значений поворачивающих множителей Wp. Хотя полный анализ этого эффекта еще не проводился, Вайнштейн, используя предположение о случайном характере погрешностей представления коэффициентов, получил простое выражение для отношения среднеквадратических значений ошибки и сигнала на выходе
_^Е= (!2^j 2"2b.(10.19) 4 2 i'<”>i!]
Здесь b — число разрядов, используемых для представления коэффициентов. Из формулы (10.19) видно, что дисперсия ошибки с ростом N увеличивается весьма медленно. И хотя эта формула весьма приближенная, экспериментальные измерения подтверждают основной вывод о том, что дисперсия ошибки действительно с ростом N увеличивается очень медленно. На фиг. 10.17 приведены результаты, полученные Вайнштейном для случаев выполнения арифметических операций с фиксированной и плавающей запятой. Основное следствие из приведенных результатов заключается в том, что фиксированная длина слова (достаточно большая, чтобы обеспечить заданную точность представления коэффициентов) может использоваться для широкого диапазона значений N. Поэтому аппа-
Фиг. 10.17. Сравнение предельного значения расчетной ошибки, связанной с квантованием коэффициентов БПФ, и экспериментальных результатов (по Вайнштейну).
— теория (фиксированная запятая); О эксперимент (фиксированная запятая); 0 эксперимент (плавающая запятая).
ратуру или программы БПФ можно применять при решении широкого круга задач, для которых значения N могут отличаться на несколько порядков.
Особенности аппаратурной реализацииБПФ с основанием 2
Перейдем теперь к вопросам аппаратурной реализации БПФ. Следует отметить, что между быстродействием и гибкостью устройства существует известное противоречие. То, что вычислительная машина А может выполнить БПФ в 10 раз быстрее вычислительной машины В, вовсе не означает, что она лучше, так как повышение скорости выполнения БПФ путем специализации структуры машины может привести к уменьшению скорости выполнения других алгоритмов, а общие характеристики машины при этом
Фиг. 10.18. Упрощенная
блок-схема устройства БПФ.
значительно ухудшаются. Рассмотрим в качестве примера блок- схему устройства, предназначенного для выполнения алгоритмов с основанием 2, и будем пока считать, что оно содержит не более одного ЗУ с произвольным доступом и одного арифметического устройства (АУ), а также устройство управления (фиг. 10.18). Арифметические действия, выполняемые в ходе базовой операции, включая умножение на поворачивающий множитель Wp, можно записать в комплексной или действительной форме следующим образом:
ЫН.Й+П.®, 11т+1 (0 ~ fm (0 Н~ 1т (/), /т+1 (/) = МЧт(/ЖЫН.Й+П.®, 11т+1 (0 ~ fm (0 Н~ 1т (/), /т+1 (/) = МЧт(/ЖКомплексная форма записи
ЫН.Й+П.®, 1
1т+1 (0 ~ fm (0 Н~ 1т (/), /т+1 (/) = МЧт(/Ж
ЫН.Й+П.®, 1
1т+1 (0 ~ fm (0 Н~ 1т (/), /т+1 (/) = МЧт(/Ж
прореживание по времени; (10.20)
прореживание по частоте. (10.21)
Отметим, что формулы (10.20) совпадают с (10.4) и приведены здесь для удобства.
Упрощенная комплексная форма
Чтобы показать последовательность выполнения алгоритма БПФ на вычислительной машине, избавимся в формулах (10.20) и (10.21) от различных индексов. Введем обозначения
/m+i (0 — А , /т (i) А,/т+1 (/) С\ fm (/) = С.
Тогда соотношения (10.20) и (10.21) можно записать в виде
А^А+И^С, 1
С* — A—WPC J прореживание по времени; (10.22)
A'^A-VC, С' = (А-С) W^
прореживание по частоте.
(10.23)
Действительная форма
Числа А, А*, С и С* в общем случае являются комплексными. Выразим их через действительные и мнимые части. Пусть А =
— а + ]b1 А = а' -V ]Ь , С — с -\- jd, с' = с* -\- jd'.
Тогда
а — а 4-с cos-~—“Sin-rf-, с' = а — с cos ^ -г d sin b' = Ъ + c sin ^^ + dcos d* = b — c sin ^^ — d cos
a* -= a-V c, b* ^b-yd, c' ^^a—c^ cos^ + (6 — d) sin^, d’ = (a — c) sin ^Д — (b — d) cos ^,
Исходя из блок-схемы фиг. 10.18 и приведенных формул, например из формулы (10.24), можно определить число машинных циклов, необходимых для выполнения базовой операции БПФ с прореживанием по времени. Предположим, что одно слово, хранящееся в ЗУ, содержит только действительную (или мнимую) часть комплексного числа, а в АУ имеется только один умножитель и один сумматор действительных чисел. Тогда для расчетов по формулам (10.24) потребуются шесть циклов обращения к ЗУ для вызова а, Ь, с, d, cos (2лр/У) и sin (2лр/У) и еще четыре цикла для записи результатов a', b', с', d*. Кроме того, нужно будет выполнить четыре умножения и шесть сложений (или вычитаний). В число дополнительных операций, не фигурирующих в формулах типа (10.24), входят в основном вспомогательные циклы обращения к ЗУ и действия над адресами. Так как эти операции тесно связаны со структурой ЦВМ, то в данном разделе они рассматриваться не будут. Отметим, между прочим, что с вычислительной точки зрения нет принципиального различия между вариантами БПФ с прореживанием по частоте и по времени.
Теперь можно перейти к более сложной модификации основной блок-схемы. Представим себе ЦВМ, в которой каждое слово со-
N ’
2лр
2лр
"N" ’
j прореживание по времени;
прореживаниепо частоте.
(10.24)
(10.25)
стоит из двух частей, причем одна из них используется для хранения действительной части комплексного числа, а другая — для хранения мнимой части того же числа. Представим также, что в АУ имеются два умножителя и два сумматора. Тогда при соответствующем управлении число машинных циклов можно сократить вдвое. .
Если ЦВМ позволяет за один машинный цикл обрабатывать комплексное число, то полное число циклов можно сократить еще больше. Из формул (10.22), (10.23) видно, что нужно выполнить всего два комплексных сложения и одно комплексное умножение. Три возможных варианта блок-схемы, приведенной на фиг. 10.18, сопоставлены в табл. 10.1. В последнем столбце приводится сум-
Таблица 10.1
Количество циклов
Обращение к памяти
Сложение
Умножение
Всего
ЗУ с одиночными словами, сумматор и умножитель действительных чисел
10
6
4 (X 3)
28
ЗУ с двойными словами, два сумматора и два умножителя действительных чисел
5
3
2 (ХЗ)
14
ЗУ с комплексными словами, сумматор и умножитель комплексных чисел
5
2
1(ХЗ)
10
марное число циклов, причем циклам обращения к ЗУ и циклам сложения придается единичный вес, а циклам умножения — тройной.
Оптимальная аппаратурная реализацияалгоритма БПФ с основанием 2
Теперь логично перейти к рассмотрению возможности перекрытия циклов обращения к памяти и циклов выполнения арифметических операций, так как эти действия выполняются различными устройствами. Отметим сначала, что при правильной адресации коэффициенты cos (2лр/А) и sin (2л/?/А) не нужно извлекать из памяти в АУ для каждой базовой операции, поскольку они могут быть одинаковыми на протяжении нескольких циклов АУ. Следовательно, в верхней строке табл. 10.1 можно убрать два цикла обращения к памяти, а в двух нижних — по одному. Для систем, указанных во второй и третьей строках таблицы, нужно
Чтение ЧтениеЗапись Запись
, А , С , Базовая операция, А' , С' ,ЧтениеЧтениеЗапись Запись
Л I Базовая операция ^А^С^:ЧтениеЧтение
, А х С Базовая операция..
Фиг. 10.19. Временные диаграммы для «оптимальной» системы с основанием 2.
обеспечить временное перекрытие четырех циклов обращения к ЗУ с работой АУ. «Оптимальная» временная диаграмма для такого режима работы приведена на фиг. 10.19.
Комплексные слова А и С вводятся в АУ; после выполнения половины вычислений в АУ вводятся числа для следующей базовой операции (предполагается, что для этого в АУ имеются специальные буферные регистры). После окончания первой базовой операции ее результаты возвращаются в ЗУ и сразу же начинается следующая базовая операция. Из диаграммы видно, что в такой «согласованной» системе длительность базовой операции должна быть равна четырем циклам обращения к ЗУ. Поскольку и ЗУ и АУ работают без пауз, данную структурную схему можно считать «оптимальной». То, что принятый способ синхронизации наилучшим образом обеспечивает согласование ЗУ и АУ, следует из того, что при уменьшении быстродействия одного из этих устройств общее быстродействие системы понизится, тогда как увеличение быстродействия только одного из них не приведет к повышению быстродействия всей системы.
Для оценки возможного быстродействия данной оптимальной схемы рассмотрим случай, когда N = 1024, а цикл обращения к ЗУ составляет т = 100 нс. Полное время, затрачиваемое на выполнение БПФ по 1024вотсчетам, будет равно 4т (A/2)log2A^ 2 мс. Для обеспечения согласования между АУ и ЗУ необходимо, чтобы время выполнения базовой’операции составляло 4т = 400 нс. Современный уровень технологии ИС вполне обеспечивает такое быстродействие.
Л Сравнение оптимальной схемы с другими схемами, приведенными в табл. 10.1, показывает, что при переходе от простейшего варианта одной и той же схемы к наиболее совершенному число циклов удается сократить от 28 до 4. Напомним, что время, затрачиваемое на вызов команд, не учитывалось. Если программа будет храниться в том же ЗУ, что и числа, то время выполнения БПФ значительно возрастет. Однако во многих современных ЦВМ имеется несколько блоков памяти с многоканальным доступом, что позволяет совмещать во времени обработку данных с подготовкой команд. Кроме того, не рассматривались дополнительные опера-
ции, используемые во всех алгоритмах БПФ. Они обеспечивают изменение коэффициентов и переход от этапа к этапу. Опыт показывает, что на все эти дополнительные операции (включая еще не упоминавшиеся операции ввода—вывода) тратится 20—70% от общего времени работы.
Ускорение выполнения БПФ методамипараллельной обработки
Параллельная обработка может ускорить выполнение БПФ, как и других машинных алгоритмов. Вся последующая часть главы будет посвящена рассмотрению методов параллельной обработки, которые можно использовать для повышения эффективности алгоритмов БПФ. В настоящем разделе сделана попытка выделить некоторые общие методы, однако необходимо иметь в виду, что в любом алгоритме БПФ могут встретиться самые разнообразные сочетания нескольких видов параллелизма. Перечислим их:
Одновременное выполнение арифметических операций, обращений к ЗУ и операций над командами. На фиг. 10.19 (уже представляющей пример данного вида параллелизма) в явной форме показано временное перекрытие обращений к памяти и арифметических вычислений. Поскольку здесь не отведено время для адресации ЗУ и для выполнения команд управления, то эти операции также нужно выполнять параллельно с основными вычислениями.
Добавление ЗУ небольшого объема с большим быстродействием. В системе с одним арифметическим устройством можно без чрезмерных затрат использовать весьма быстродействующее АУ, однако увеличение быстродействия ЗУ является дорогостоящей операцией. Ниже будет показано, что сочетание двух ЗУ с разным быстродействием может оказаться недорогим способом увеличения быстродействия всей системы.
Применение алгоритмов с более высокими основаниями. При основании 2 базовая операция включает одно комплексное умножение и два комплексных сложения, а при основании 4 — три комплексных умножения и восемь комплексных сложений. Несложно построить аппаратуру, реализующую алгоритм с основанием 4 таким образом, чтобы все три умножения выполнялись одновременно. При этом быстродействие системы возрастет в четыре раза. Этот подход справедлив и для алгоритмов с более высокими основаниями, хотя сомнительно, что при основаниях, превышающих 8, затраты на дополнительное распараллеливание будут оправданы.
Поточное выполнение БПФ. Эта интересная специализированная структура, содержащая logr7V арифметических устройств (где г — основание алгоритма) и пригодная для построения си-
стем с очень большим быстродействием, будет детально рассмотрена в разд. 10.12 и 10.13.
Сверхпараллелизм. Для систем со сверхбольшим быстродействием эффективная структурная схема может содержать (N/2) log2 N параллельно работающих арифметических устройств. Это означает, что все преобразование реализуется в одной матричной схеме. Даже при умеренных размерах преобразования N для этого потребуется очень большой объем оборудования, однако, по крайней мере в радиолокации, такие устройства рассматриваются вполне серьезно.
Таким образом, замечательное свойство симметрии алгоритма БПФ дает возможность разработать множество структурных схем с самыми разнообразными уровнями параллелизма. Изучению этих схем и посвящены последующие разделы главы.
Выполнение БПФ с использованиемсверхоперативной памяти
Во многих случаях применение ЗУ большого объема, по быстродействию согласующегося с АУ, обходится слишком дорого. Так, в разд. 10.6 (см. фиг. 10.19) было показано, что для ЗУ, оперирующего с комплексными числами, наилучшее согласование получается, если длительность цикла обращения к памяти т и время выполнения базовой операции относятся как 1:4. В настоящее время вполне реально создание АУ, в котором базовая операция
Фиг. 10.20. Применение сверхоперативного ЗУ для ускорения БПФ.
выполнялась бы за 400 нс, однако ЗУ с циклом обращения, равным 100 нс, будет стоить весьма дорого, особенно при большом объеме ЗУ (скажем, порядка 16 000 слов). В то же время, добавив к вычислительному устройству небольшое сверхоперативное ЗУ, можно без больших затрат существенно повысить скорость обработки. Одна из возможных схем такого типа приведена на фиг. 10.20.
Чтобы несколько упростить анализ, будем считать, что М = = ^У N (фиг. 10.20). Если объем сверхоперативного ЗУ равен УN, то половину всех этапов БПФ, число которых равно log2 У, можно выполнить, вообще не обращаясь к основному ЗУ. Так, если N = 16, то из основного ЗУ можно взять пары отсчетов 0 и 8, 4 и 12, выполнить над этими парами отсчетов базовые операции и, по-прежнему оперируя только с числами, находящимися в сверхоперативном ЗУ, перейти к выполнению базовых операций второго этапа над парами отсчетов 0 и 4, 8 и 12. Затем можно выбрать отсчеты 1 и 9, 5 и 13 и повторить вычисления. Таким образом, для выполнения двух этапов БПФ над 16 отсчетами потре буется одно считывание из основного ЗУ и одна запись в него. Без использования сверхоперативного ЗУ понадобилось бы проделать то же самое дважды. В табл. 10.2 сравнивается число обра-
Таблица 10.2
N
Со сверхоперативным ЗУ
Без сверхоперативного ЗУ
16
32
128
64
256
768
256
1024
4 096
1024
6 144
20 480
4096
24 576
98 304
щений к основному ЗУ для различных N при отсутствии и наличии сверхоперативного ЗУ объемом в 16 слов (что соответствует М = 32, если нужно, чтобы операции, связанные с вычислениями и вводом-выводом, перекрывались во времени). Читателю предлагается следующее интересное задание. Пусть Ть=100 нс. Предложите комбинацию магнитного ЗУ и ЗУ на интегральных микросхемах, обеспечивающую эффективное выполнение ДПФ массивов размером от 256 до 16 384 точек. Для некоторых типичных значений быстродействия магнитного ЗУ (например, 1 мкс и 0,5 мкс) оцените зависимость характеристик устройства от объема сверхоперативного ЗУ.
На фиг. 10.6 приведен пример структуры алгоритма БПФ (для N = 16 и М = 8), соответствующего аппаратурной реализации с помощью системы фиг. 10.20. Использование сверхоперативного ЗУ является полезным компромиссным решением задачи увеличения скорости выполнения БПФ без использования дорогостоящих быстродействующих ЗУ большого объема.
Параллельные структуры для алгоритмов БПФс основаниями 2 и 4, использующие ЗУ с произвольным доступом
В данном разделе рассматриваются вычислительные структуры, в которых используется параллелизм со следующими отличительными особенностями:
Обращения к памяти и вычислительные операции полностью совмещаются во времени. Такая структура является согласованной в том смысле, что при ее проектировании и на ЗУ, и на АУ накладываются одинаковые ограничения.
Числа хранятся в ЗУ с произвольным доступом, слова которого состоят из г комплексных чисел, где г — основание алгоритма БПФ, не изменяющееся в процессе счета.
Алгоритм с основанием 2, соответствующий такой структуре, иллюстрируется на фиг. 10.8. Блок-схема аппаратурной реализации этого алгоритма и соответствующие временные диаграммы представлены на фиг. 10.21. ЗУ с произвольным доступом состоит из А/2 регистров, каждый из которых рассчитан на два комплексных числа. Номера регистров ЗУ соответствуют их адресам. Чтобы система была согласованной, нужно, чтобы циклы считывания следовали друг за другом без пауз. Поэтому последовательные циклы считывания должны перекрываться с циклами вычислительных операций. Более того, поскольку запись результатов возможна лишь после завершения по крайней мере двух циклов вычислений, из временной диаграммы (фиг. 10.21) видно, что записи должны предшествовать четыре последовательных цикла считывания. Отсюда следует, что АУ должно иметь поточную схему с тем, чтобы выполнение второй базовой операции начиналось до завершения первой.
Если АУ не успевает выполнить свои функции за два цикла обращения к ЗУ, можно применить схему с более продолжительной поточной обработкой, занимающей шесть циклов обращения к ЗУ, причем схема по-прежнему остается согласованной. Временные диаграммы ее работы приведены на фиг. 10.22. Такая схема представляет собой расширенный вариант схемы фиг. 10.21, а, содержащий шесть буферных регистров, включенных между шестью элементарными арифметическими устройствами. Если вычисления могут выполняться быстрее, некоторые из элементарных АУ фактически будут отсутствовать. Они будут обеспечивать лишь соединение соседних буферных регистров.
N2JLN2JLДва комплексныхчисла
N2JL
N2JL
ПЗУПЗУГТГТ25П25ПАУ1 ♦АУ1 ♦АУ2АУ2~24~]~24~]ааЧтениеО Счет 0 Запись О।11।181 V-L11Чтение 9 Счет 9ЧтениеО Счет 0 Запись О।11।181 V-L11Чтение 9 Счет 9Чтение 2Счет 2 Запись 2Запись 9Чтение ИСчет 11 |Время6Чтение 2Счет 2 Запись 2Запись 9Чтение ИСчет 11 |Время6Фиг. 10.21. Блок-схема и временные диаграммы устройства БПФ с основа-нием 2 и регистрами двойной длины.Фиг. 10.21. Блок-схема и временные диаграммы устройства БПФ с основа-нием 2 и регистрами двойной длины.Чтениеоt——।1—, 1Чтениеоt——।1—, 1СчетеСчете99в1эв1эЗапись ОН I1Запись ОН I18 , 11I198 , 11I192Ю2Юз , Чтение 11з , Чтение 11зСчет 11зСчет 1123, Запись 1123, Запись 11ЗУ с произ-вольнымдоступом
ПЗУ
ПЗУ
ГТ
ГТ
25П
25П
АУ1 ♦
АУ1 ♦
АУ2
АУ2
~24~]
~24~]
а
а
ЧтениеО Счет 0 Запись О
।11।1
81 V-L
11
Чтение 9 Счет 9
ЧтениеО Счет 0 Запись О
।11।1
81 V-L
11
Чтение 9 Счет 9
Чтение 2Счет 2 Запись 2
Запись 9Чтение ИСчет 11 |
Время
6
Чтение 2Счет 2 Запись 2
Запись 9Чтение ИСчет 11 |
Время
6
Фиг. 10.21. Блок-схема и временные диаграммы устройства БПФ с основа-нием 2 и регистрами двойной длины.
Фиг. 10.21. Блок-схема и временные диаграммы устройства БПФ с основа-нием 2 и регистрами двойной длины.
Чтениеоt——।1—
, 1
Чтениеоt——।1—
, 1
Счете
Счете
9
9
в
1
э
в
1
э
Запись О
Н I1
Запись О
Н I1
8 , 1
1
I1
9
8 , 1
1
I1
9
2
Ю
2
Ю
з , Чтение 11
з , Чтение 11
з
Счет 11
з
Счет 11
2
3
, Запись 11
2
3
, Запись 11
Фиг. 10,22. Другой вариант временных диаграмм для схемы фиг. 10.21.
Предлагаем читателю^самому разработать структурную схему и построить временные диаграммы для случая, когда одно АУ работает совместно с двумя ЗУ с произвольным доступом.
ЧтениеОЧтениеОСчет ОСчет О4 ,44 ,4Запись 0।1Запись 0।11212
ЧтениеО
ЧтениеО
Счет О
Счет О
4 ,4
4 ,4
Запись 0
।1
Запись 0
।1
12
12
1
5
L^9Чтение 13Счет 13L^9Чтение 13Счет 13ЗаписЫЗi1ЗаписЫЗi1
L^9
Чтение 13Счет 13
L^9
Чтение 13Счет 13
ЗаписЫЗ
i1
ЗаписЫЗ
i1
Временные диаграммы
Фиг. 10.23. Блок-схема параллельного устройства с основанием 4 и соответствующие временные диаграммы.
На фиг. 10.23 изображены блок-схема реализации алгоритма БПФ с основанием 4 и ее временные диаграммы. Время счета здесь равно четырем циклам обращения к памяти; сначала выполняются подряд восемь циклов чтения из ЗУ, а за ними следуют восемь циклов записи. Вычисления, проводимые поточным методом, завершаются матричной перестановкой (4 х 4) результатов, выполняемой с помощью четырех регистров, показанных на фиг. 10.23, причем каждый из регистров содержит результат базовой операции алгоритма БПФ с основанием 4.
Метод использования параллелизма, представленный в данном разделе, основан главным образом на идее согласования длительности обращения к памяти и продолжительности выполнения базовой операции. Предполагалось, что используется алгоритм с постоянным основанием и что при основании г создается г-кратный параллелизм. Алгоритм с основанием г состоит из logTN этапов. На каждом из них ко всем Nir регистрам приходится обращаться дважды — для считывания входных чисел базовой операции и для записи ее результатов. Таким образом, количество циклов обращения к памяти, затрачиваемых на выполнение БПФ, составляет
Cr = ^log,W, (10.26)
так что на один входной отсчет приходится
^. = 2.108, N (10.27)
циклов. Соотношение (10.27) определяет наибольшую частоту дискретизации, при которой возможна обработка в реальном времени, если известна длительность выполнения базовой операции или цикла обращения к памяти. Например, если N = 1024 и г = 2, то CT!N = 10; таким образом, при длительности выполнения базовой операции в 100 нс можно обрабатывать сигнал, дискретизуемый с частотой 1 МГц.
Общие вопросы построения поточных схем БПФ
Если еще раз обратиться к схемам фиг. 10.1—10.8, то можно заметить, что, хотя они и описывают многие свойства алгоритма, последовательность выполнения базовых операций во времени все еще остается неопределенной. В самом деле, существует много различных последовательностей, которые приводят к одинаковым результатам. Так, на первом этапе алгоритма фиг. 10.1 пары отсчетов 0и8,1и9ит. д. можно обрабатывать в любом порядке. Это же справедливо и для остальных этапов. Достоинством некоторых вариантов последовательностей выполнения операций может оказаться легкость аппаратурной реализации или программирова-
ния, но сама структура алгоритма принципиальных ограничений не вносит. Так, для перехода ко второму этапу вовсе не обязательно, чтобы первый этап был завершен. Действительно, если в начале первого этапа обрабатываются отсчеты 0 и 8, а затем 4 и 12, то после этого уже можно начать выполнение второго этапа.
Отметим также, что сами алгоритмы не накладывают никаких ограничений на уровень параллелизма при аппаратурной реализации БПФ. Однако при аппаратурной реализаации БПФ уровень параллелизма накладывает определенные ограничения на последовательность выполнений базовых операций. В последующих разделах будет рассмотрен особый класс схем с параллельным выполнением операций, называемых поточными схемами БПФ, для которых уровень параллелизма равен log,. N. При построении поточной схемы БПФ с основанием г используются logr N арифметических устройств, параллельно выполняющих базовые операции.
Чтобы проиллюстрировать уровень параллелизма в поточной схеме БПФ, рассмотрим в качестве примера БПФ с основанием 2 массива из 1024 отсчетов, которое выполняется за 10 этапов. В большинстве универсальных ЦВМ имеется только одно устройство умножения. В поточной схеме БПФ для выполнения базовых операций может быть использовано 10 независимых арифметических устройств, что соответствует 40 умножителям действительных чисел (так как каждая базовая операция включает комплексное умножение, состоящее из четырех действительных умножений). Таким образом, если предположить, что эффективность поточной схемы БПФ совпадает с эффективностью универсальной ЦВМ, запрограммированной на выполнение алгоритма БПФ, то скорость выполнения БПФ в поточном устройстве будет в 40 раз больше, чем в универсальной ЦВМ. Оказалось, что в поточной схеме БПФ аппаратура используется в 2—20 раз эффективнее, чем при выполнении БПФ на любой из известных универсальных ЦВМ. Таким образом, в поточной схеме алгоритм БПФ выполняется на 2—3 порядка быстрее. Из-за большой эффективности и относительной простоты управления поточные схемы БПФ представляются сейчас наиболее перспективными при построении специализированных высокопроизводительных процессоров БПФ.
Поточные схемы БПФ с основанием 2
Рассмотрим сначала, как, имея log2 N параллельно работающих арифметических устройств, наиболее эффективно реализовать алгоритмы БПФ, аналогичные приведенному на фиг. 10.1. Количественной мерой эффективности может служить доля времени, в течение которого АУ заняты выполнением базовых операций.
ЗУ коэффициентов
Фиг. 10.24. Поточная схема выполнения первого этапа БПФ.
Предположим пока, что отсчеты сигнала я (0), х (1) и т. д. поступают на вход последовательно. Для этого случая на фиг. 10.24 приведена очень простая блок-схема выполнения первого этапа алгоритма БПФ, соответствующего, например, схеме на фиг. 10.1. Первые восемь отсчетов х (0) — х (7) вводятся в восьмикаскадную схему задержки z~8. Следующие восемь отсчетов подаются на второй вход системы. Если длительность базовой операции в точности равна интервалу дискретизации, то весь первый этап БПФ будет выполнен за восемь таких интервалов, следующих после момента переключения. Результаты первого этапа [обозначим их через хг (^)1 будут появляться на выходе блока базовой операции парами. Поскольку коэффициенты Wp изменяются от отсчета к отсчету, ЗУ коэффициентов должно выдавать их с частотой поступления отсчетов сигнала. Из фиг. 10.1 видно, что на втором этапе структурная форма первого этапа повторяется дважды. Следовательно, на втором этапе необходимо использовать устройство, обрабатывающее отсчеты ^ (п) {п = 0, 1, , . ., 7 } и хг (п){п = 8,9,.. . . ..,15}, аналогично тому, как обрабатывались отсчеты х (п) {п = 0, 1, . . ., 15}. Соответствующая блок-схема изображена на фиг. 10.25. С помощью задержек и переключений частично обработанные отсчеты выстраиваются так, как это требуется в алгоритме фиг. 10.1. Временное разнесение между отсчетами, обрабатываемыми совместно, составляет восемь интервалов дискретизации на первом этапе и четыре — на втором. Полная поточная схема 16-точечного БПФ изображена на фиг. 10.26. Анализируя эту схему, можно заметить определенную симметрию и, экстраполируя, получить поточные схемы БПФ для больших N. Сделаем несколько замечаний относительно схемы фиг. 10.26.
От этапа к этапу задержка отсчетов уменьшается вдвое.
-*^?—-F— Прямо
Накрест
GО 1 2 3 8 9 10 11• • • х2(п)
Н4 5 6 7 12 13 14 15
Фиг. 10.25. Поточная схема выполнения двух первых этапов 16-точечного Б ПФ по основанию 2 с прореживанием по частоте.
Арифметические устройства на всех приведенных схемах заняты только половину времени.
Частота переключений 'от этапа к этапу увеличивается вдвое.
Период синхронизации системы равен, очевидно, интервалу дискретизации.
Отсчеты на выходе появляются во времени в двоично-инверсном порядке.
Для доказательства последнего положения отметим, что номера на фиг. 10.26 совпадают с (необозначенными) номерами регистров в схеме на фиг. 10.1. Так как в схеме фиг. 10.1 выходная последовательность расположена в двоично-инверсном порядке, то и в схеме фиг. 10.26 будет такой же порядок. Короче говоря, данная схема представляет собой один из возможных вариантов аппаратурной реализации алгоритма фиг. 10.1. Поэтому преобразование, выполняемое в этой схеме, обладает всеми свойствами указанного алгоритма и, кроме того, имеет специфические временные характеристики, не указанные на фиг. 10.1. Последнее замечание можно подтвердить тем, что в поточной схеме БПФ имеются два выхода, на которых одновременно появляются две гармоники спектра. Важно отметить, что числа, приведенные в последних двух строках фиг. 10.26, фактически представляют собой двоично-инверсные номера выходных гармоник.
Доказательство положения 2 является довольно сложным, так как время работы арифметических устройств зависит от метода ввода данных в процессор. Потребуем, например, чтобы данные
А 0 12 3 4 5 6 7 8 9 10 1112 13 14 15• • • х (п)В8 12 34 5 6 7• • • X1 (n)Са 9 ю и12 13 14 15D0 12 34 5 6 7Е8 9 10 1112 13 14 15SWfD*F,E»Gd*f,e*gПрямо накрест| 0*6,E*FF0 1X38 9 10 11G4 5 6 71213 14 15Н0 12 38 9 Ю 11‘ ‘ ’ *2 II4 5 6 712 13 14 15А 0 12 3 4 5 6 7 8 9 10 1112 13 14 15• • • х (п)В8 12 34 5 6 7• • • X1 (n)Са 9 ю и12 13 14 15D0 12 34 5 6 7Е8 9 10 1112 13 14 15SWfD*F,E»Gd*f,e*gПрямо накрест| 0*6,E*FF0 1X38 9 10 11G4 5 6 71213 14 15Н0 12 38 9 Ю 11‘ ‘ ’ *2 II4 5 6 712 13 14 15sw2J кsw3L Мsw2J кsw3L МПрямо1 I || НакрестО 1 4 5 8 9 1213 • • • Х3 (п)2 3 6 7 10 11 14 15Прямо| Г~| Г~1 Г~1 I НакрестПрямо1 I || НакрестО 1 4 5 8 9 1213 • • • Х3 (п)2 3 6 7 10 11 14 15Прямо| Г~| Г~1 Г~1 I НакрестО 2 4 6 8 10 12 14 • • • х4 (п)=Х (к)О 2 4 6 8 10 12 14 • • • х4 (п)=Х (к)1 3 5 7 9 11 13151 3 5 7 9 11 1315Фиг. 10.26. Полная поточная схема выполнения 16-точечного БПФ по осно-ванию 2 с прореживанием по частоте.Фиг. 10.26. Полная поточная схема выполнения 16-точечного БПФ по осно-ванию 2 с прореживанием по частоте.Входные массивы в реальном времени1111-й массив N 2-й массивВходные массивы в реальном времени1111-й массив N 2-й массивВкл.Вкл.Вкл.Вкл.Ы_2Ы_2।^L1 выкл. ।^^—।3N„„4 jВКЛ.( Выкл (ВКЛ.j8 ।5*5:1 ВЫКЛ. I5*5^—15N16।^L1 выкл. ।^^—।3N„„4 jВКЛ.( Выкл (ВКЛ.j8 ।5*5:1 ВЫКЛ. I5*5^—15N161-я базовая операция2-я базовая операция3-я базовая операция4-я базовая операция1-я базовая операция2-я базовая операция3-я базовая операция4-я базовая операция
А 0 1
2 3 4 5 6 7 8 9 10 11
12 13 14 15
• • • х (п)
В
8 12 3
4 5 6 7
• • • X
1 (n)
С
а 9 ю и
12 13 14 15
D
0 12 3
4 5 6 7
Е
8 9 10 11
12 13 14 15
SWf
D*F,E»G
d*f,e*g
Прямо накрест
| 0*6,E*F
F
0 1X3
8 9 10 11
G
4 5 6 7
1213 14 15
Н
0 12 3
8 9 Ю 11
‘ ‘ ’ *2 I
I
4 5 6 7
12 13 14 15
А 0 1
2 3 4 5 6 7 8 9 10 11
12 13 14 15
• • • х (п)
В
8 12 3
4 5 6 7
• • • X
1 (n)
С
а 9 ю и
12 13 14 15
D
0 12 3
4 5 6 7
Е
8 9 10 11
12 13 14 15
SWf
D*F,E»G
d*f,e*g
Прямо накрест
| 0*6,E*F
F
0 1X3
8 9 10 11
G
4 5 6 7
1213 14 15
Н
0 12 3
8 9 Ю 11
‘ ‘ ’ *2 I
I
4 5 6 7
12 13 14 15
sw2
J к
sw3
L М
sw2
J к
sw3
L М
Прямо
1 I || Накрест
О 1 4 5 8 9 1213 • • • Х3 (п)
2 3 6 7 10 11 14 15
Прямо
| Г~| Г~1 Г~1 I Накрест
Прямо
1 I || Накрест
О 1 4 5 8 9 1213 • • • Х3 (п)
2 3 6 7 10 11 14 15
Прямо
| Г~| Г~1 Г~1 I Накрест
О 2 4 6 8 10 12 14 • • • х4 (п)=Х (к)
О 2 4 6 8 10 12 14 • • • х4 (п)=Х (к)
1 3 5 7 9 11 1315
1 3 5 7 9 11 1315
Фиг. 10.26. Полная поточная схема выполнения 16-точечного БПФ по осно-ванию 2 с прореживанием по частоте.
Фиг. 10.26. Полная поточная схема выполнения 16-точечного БПФ по осно-ванию 2 с прореживанием по частоте.
Входные массивы в реальном времени111
1-й массив N 2-й массив
Входные массивы в реальном времени111
1-й массив N 2-й массив
Вкл.
Вкл.
Вкл.
Вкл.
Ы_
2
Ы_
2
।^L1 выкл. ।^^—।
3N„„
4 jВКЛ.( Выкл (ВКЛ.j
8 ।5*5:1 ВЫКЛ. I5*5^—
15N
16
।^L1 выкл. ।^^—।
3N„„
4 jВКЛ.( Выкл (ВКЛ.j
8 ।5*5:1 ВЫКЛ. I5*5^—
15N
16
1-я базовая операция
2-я базовая операция
3-я базовая операция
4-я базовая операция
1-я базовая операция
2-я базовая операция
3-я базовая операция
4-я базовая операция
Фиг. 10.27. Временные диаграммы работы арифметических устройств приобработке последовательных массивов.
® Занести в регистры ^ Занести, в регистры 2^ 0*N-1N+2N-1
1-й этап массива 1-й этап массиваВходы cud.
' O^N-Г 14
2-й этап массива2-й этап массива
O^N-fN^2N-14
3-й этап массива 3-й этап массива
' Т-йГ-1 ~~N^2N~F
Входы aub 4-й этап массива 4-й этап массива
0-*N-1 ~N*2N-1
Входной буфер
Фиг. 10.28. Включение входного буферного накопителя, позволяющего обрабатывать последовательные массивы в реальном времени со 100%-ной эффективностью.
обрабатывались в виде смежных массивов в реальном времени (фиг. 10.27). Согласно схемам/ представленным на фиг. 10.24 —■ 10.26, обработка не может быть начата до тех пор, пока в процессор не поступит половина всех обрабатываемых отсчетов. После этого первый этап завершается за последующие Л72 циклов. Затем выполнение базовых операций первого этапа прекращается до тех пор, пока первые А72 отсчетов следующего массива не заполнят схему задержки z-8. В остальных АУ происходит то же самое, но с некоторым запаздыванием. Следовательно, эффективность поточного процессора равна 50%, так как каждое из АУ простаивает точно половину времени. На фиг. 10.28 показано, каким образом с помощью входной буферной памяти эффективность процессора может быть доведена до 100%. После полного накопления первого массива отсчеты с выходов а и Ъ начинают одновременно поступать в процессор. Из-за наличия двух параллельных линий ввода тактовая частота процессора может быть в два раза меньше частоты дискретизации входного сигнала. Таким образом, первый этап БПФ завершается как раз к тому моменту, когда следующий массив уже поступил в буфер и полностью готов к обработке. Остальные этапы БПФ выполняются аналогично, но с запаздыванием, характерным для поточных схем. Преимуществом этого эффективного метода является возможность понижения тактовой частоты процессора в два раза или же возможность об-
ООI
О
О
I -—f
ЛI
2N
2
г~8г~8Фиг. 10.29. Входная часть устройства обработки в реальном времени перекрывающихся массивов.Фиг. 10.29. Входная часть устройства обработки в реальном времени перекрывающихся массивов.
г~8
г~8
Фиг. 10.29. Входная часть устройства обработки в реальном времени перекрывающихся массивов.
Фиг. 10.29. Входная часть устройства обработки в реальном времени перекрывающихся массивов.
работки данных, следующих с удвоенной частотой, если используется система фиг. 10.26. Все это достигается введением входного буферного накопителя и соответствующей коммутации.
В интересном частном случае обработки в реальном времени, когда обрабатываемые массивы наполовину перекрываются (фиг. 10.29), входная линия просто подключается и к устройству задержки z-8, и к первому АУ. Как и в предыдущем случае (фиг. 10.28), эффективность системы будет равна 100%, так как все АУ будут работать без перерывов. Данный частный случай хорошо согласуется с алгоритмом вычисления свертки методом БПФ и поэтому является весьма полезным.
В заключение несколько уточним замечания, сделанные ранее относительно схемы фиг. 10.26. Замечание 1 в целом справедливо, но изменения, связанные с накоплением входных отсчетов, повлияют на способ создания задержки на первом этапе. Например, в схеме фиг. 10.28 эта задержка создается с помощью входного буферного накопителя. Замечание 2 может не выполняться, так как существуют схемы с полной загрузкой АУ (см. фиг. 10.28, 10.29). Замечание 3 справедливо для всех этапов, за исключением, возможно, первого, причем тактовая частота процессора может быть понижена (см. схему на фиг. 10.28) по сравнению с частотой дискретизации. Во всех рассмотренных выше схемах выходные гармоники следуют в двоично-инверсном порядке и рассчитываются согласно алгоритму фиг. 10.1. Существуют и другие варианты алгоритма БПФ с основанием 2, для которых также можно построить поточные схемы БПФ, но к настоящему времени они представляются не столь изящными и более громоздкими.
Отметим также, что при анализе схемы фиг. 10.26 специального времени для выполнения арифметических операций отведено не было. Учет этого времени никак не повлияет на общую структуру схемы, но приведет к замедлению работы процессора на число так-
тов, необходимых для выполнения базовой операции. Если это число больше 1, то и сами АУ должны строиться по поточной схеме.
Поточная схема БПФ с основанием 4
Основываясь на алгоритме фиг. 10.14, можно разработать поточную схему для выполнения 64-точечного БПФ с основанием 4. Рассмотрим сначала случай обработки единственного массива из 64 отсчетов, следующих в нормальном порядке. Оказывается, что поточная схема с основанием 4 является в этом случае весьма неэффективной, так как арифметические устройства будут заняты только четверть всего времени. Тем не менее данный пример позволяет проанализировать всю интересующую нас структуру, так как многие выводы будут справедливы и для систем со 100 %-ной эффективностью. Достижение такой эффективности фактически связано с решением задачи накопления входных отсчетов в буферном ЗУ, рассматриваемой ниже применительно к различным вариантам ввода обрабатываемых данных. На фиг. 10.30 представлена блок-схема поточного процессора БПФ с основанием 4. В целом она аналогична схеме, соответствующей основанию 2, но все основные блоки (АУ, схемы задержки и коммутаторы) рассчитаны на выполнение алгоритма БПФ с основанием 4. Так, в АУ выполняются не два комплексных сложения и одно комплексное умножение, как при основании 2, а восемь комплексных сложений и три комплексных умножения. Коммутатор имеет четыре входа и четыре выхода, причем в трех из четырех линий передачи данных имеются элементы задержки.
На фиг. 10.31 показано, каким образом входная последовательность х (0), х (1), ..., х (63) распределяется между четырьмя входами первого АУ. Исходные отсчеты изображаются отрезками вверху. Через каждые 16 тактов коммутатор переходит в следующее положение, поэтому последовательные группы из 16 отсчетов поступают в АУ с неодинаковыми задержками. Начиная с 48-го такта, отсчеты х (0), х (16), х (32) и х (48) одновременно появляются~на
Фпг. 10.30. Поточная схема выполнения 64-точечного БПФ с основанием 4.
О *—• 1 • • 2е • 3» •
Х(16)...
° V 1
2 • • 3 • •
х(32) ...
0 \ *
1 \
2 • •
3 • •
|Х(48) ...
Входная
' последовательность
0 V
Положения
переключателя
3 • •
Время
,х(0)...
xHSlj
x(3i)! Отсчеты
^(зг) •••
х(47) на входах АУ
। первого эшила
,х(48) •••
х(63).
ДУ
х(п)
Переключатель
Фиг. 10.31. Разделение массива из 64 отсчетов на 4 подмассива по 16 отсчетов при выполнении базовой операции с основанием 4.
входе первого АУ, а после 63-го такта операции первого этапа алгоритма фиг. 10.14 заканчиваются. Отметим, что АУ было занято только в течение 16 тактов из 64.
Выполнение остальных операций алгоритма можно проследить с помощью фиг. 10.32. Каждая из четырех параллельно обрабатываемых последовательностей проходит через все АУ. Отметим, что во всех коммутаторах переключения производятся по одинаковому графику. Проще всего это проследить на примере коммутатора С, для которого показаны положения всех переключателей. «Цикл переключения» фактически представляет собой последовательность из четырех различных состояний коммутатора. Эта последовательность периодична. Начальный и конечный участки графика легко отождествить с основной последовательностью из четырех состояний, заметив, что из-за краевых эффектов некоторые состояния коммутатора не используются. Работа коммутатора В в действительности описывается тем же графиком, только в данном частном случае краевые эффекты преобладают. Отсюда можно заключить, что в установившемся режиме, когда АУ работают без пауз, все коммутаторы повторяют цикл переключений, изображенный для коммутатора С, но каждый последующий коммутатор переключается в четыре раза чаще предыдущего.
Отметим также, что отсчеты на выходе появляются во времени в том же порядке, в каком они поступали на вход, а это означает,
О 1 2
3 416
5
17
618
7
19
О 1 2
3
16 4
17
5
18 6
19
7
10
11
12
13
14
15
22
23
24
25
26
27
28
29
30
31
34
35
36
37
38
39
40
41
42
43
48
49
50
51
52
53
54
55
34
35
48
49
50
51
22
23
36
57
38
39
52
53
54
55
10
11
24
25
26
27
40
41
42
43
12
13
14
15
28
29
30
31
45
57
45
44
56
8
20
32
56
44
9
21
33
32 20 8
33
21 9
46
58
47
59
60
61 62
63
Отсчеты на входах переключателя В
О — 1» •
3
О 1 2 3
3
О 1 2 3
58
46
59
47
60
61 62
63
Отсчеты на выходах
переклю- чателяВ
Отсчеты на входах переключателя С
Отсчеты на выходах переключателя С
О 4 8 12
15913
2 6
10
14
3
7
11
15
16
20
24
28
17
21
25
29
18
22
26
30
19
23
27
31
32
36
40
44
33
37
41
45
34
38
42
46
35 39
43 47
48
52
56
60
49
53
57
61
50
54
51
55
58,59
62
63
Отсчеты на входах а выходах
АУ 2
0
О
1
4
4
1
2
5
8
3 6
9
12
16
7
10
13
17
20
11
14
16
21
24
15
19
22
25
28
32
23
26
29
33
36
27
30
34
37
40
31
35
38
41
44
48
39
42
45
49
52
43
46
50
53
51
54
56 57
47
60
55
58
61
59
62 63
8
5
2
12
9
6
3
16 13
10 7
20
17
14
11
24
21
18
15
28
25
22
19
32
29
26
23
36
33
30
27
40
37
34
31
44
41
38
35
48
45
42
39
52
49
46
43
56
53
50
47
GO
57
54
51
61 58 55
62
59 63
._, Период
^переключении^
Выходные отсчеты
О1
2 3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 41
42
43
44
45
46
47
46
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
Фиг. 10.32. Временные диаграммы и работа переключателей в поточном блоке 64-точечного Б ПФ с основанием 4 (см. фиг. 10.14).
что по частоте гармоники будут расположены в четверично-инверсном порядке (см. разд. 10.3).
Порядок переключений при выполнении БПФ четырех перекрывающихся массивов показан на фиг. 10.33. В установившемся режиме одна и та же последовательность отсчетов, поступающая в реальном времени, всегда подается на все четыре линии системы. Чтобы избежать краевых эффектов, первые три подпоследовательности подключаются постепенно. Но по достижении установившегося режима коммутатор А фактически становится не нужен, так как входная последовательность постоянно подается на все четыре линии системы. Если же для удобства потребовать, чтобы коммутатор А переключался стандартным образом (согласно
|< 1- БПФ Н1Н।1111
|f Ы1Ф £ 1|।111
||1-1-БПФЗН1*1111
|111*к БПФ 4-11*111
11I1к1-БПФ5Ч1*11
|х(0)[Х(16)|х(32)|Х(48)|х(64)|Х(80)|х(96)|Х(112)| X (128)|
Д16) •••|х(32)-**|х(48)***| отсчеты на ,х(32) • • •_1х(48) • • • (x(64) • • •, входе ДУ1 |Х(48)**«|Х(64)«*-|х(80)*-*|
Фиг. 10.33. Одновременное выполнение четырех БПФ в поточном блокеБ ПФ с основанием 4.
БПФ1
Г БПФ 2Г БПФ 2х(п)-х(п)-х(О)... ^Об)х(О)... ^Об)гг Б П Ф 3IГхСзгБ^-Ддвк-^дх^^гг Б П Ф 3IГхСзгБ^-Ддвк-^дх^^БПФ 4БПФ 4Положение переключателяПоложение переключателяа^ ы^иа. СД32| di*Mа^ ы^иа. СД32| di*Mх(31),х(48) x(47)jx(64)Х(63),х(80)х(31),х(48) x(47)jx(64)Х(63),х(80)Х(47)2163).х(79)Х(95)Х(47)2163).х(79)Х(95)„Растянутые сигналы на входе ДУ 1„Растянутые сигналы на входе ДУ 1Входной буферныйВходной буферныйПереключательПереключательФиг. 10.34. Вариант входной части устройства, позволяющий получить 100%-ную эффективность при двукратном перекрытии сигналов.Фиг. 10.34. Вариант входной части устройства, позволяющий получить 100%-ную эффективность при двукратном перекрытии сигналов.
Г БПФ 2
Г БПФ 2
х(п)-
х(п)-
х(О)... ^Об)
х(О)... ^Об)
гг Б П Ф 3
IГ
хСзгБ^-Ддвк-^дх^^
гг Б П Ф 3
IГ
хСзгБ^-Ддвк-^дх^^
БПФ 4
БПФ 4
Положение переключателя
Положение переключателя
а^ ы^иа. СД32| di*M
а^ ы^иа. СД32| di*M
х(31),х(48) x(47)jx(64)
Х(63),х(80)
х(31),х(48) x(47)jx(64)
Х(63),х(80)
Х(47)2163).х(79)Х(95)
Х(47)2163).х(79)Х(95)
„Растянутые сигналы на входе ДУ 1
„Растянутые сигналы на входе ДУ 1
Входной буферный
Входной буферный
Переключатель
Переключатель
Фиг. 10.34. Вариант входной части устройства, позволяющий получить 100%-ную эффективность при двукратном перекрытии сигналов.
Фиг. 10.34. Вариант входной части устройства, позволяющий получить 100%-ную эффективность при двукратном перекрытии сигналов.
фиг. 10.32), то обработка с перекрытием будет обеспечиваться, если входную последовательность подавать сразу на все четыре входа коммутатора А. Представляется естественным, что система с основанием 4 имеет 100%-ную эффективность при выполнении БПФ массивов с четырехкратным перекрытием, однако неясно, можно ли сохранить эту эффективность при обработке в реальном времени массивов с двукратным перекрытием. На этот вопрос можно ответить утвердительно, но входные буферный накопитель и коммутатор должны быть при этом несколько видоизменены. Соответствующая схема приведена на фиг. 10.34. ЗУ, использовавшееся при выполнении первого этапа в схеме фиг. 10.30, заменено здесь блоком памяти объемом ЗА/2 с одним входом и шестью выходами. В течение первых 64 тактов первые N отсчетов последовательно поступают во входной буферный накопитель, но не обрабатываются. Начиная с отсчета с номером 64, коммутатор устанавливается так, что верхние четыре выхода буферного накопителя подключаются к АУ1, и с них с частотой, в два раза меньшей частоты следования входных отсчетов, начинают поступать данные для обработки. Таким образом, пока на 32-тактном интервале времени в буферный накопитель вводятся два новых подмассива, четыре уже накопленных подмассива считываются в АУ1. Сле-
ПереключательПереключатель
Переключатель
Переключатель
;Основная последовательность переключений;Основная последовательность переключений
;Основная последовательность переключений
;Основная последовательность переключений
«—Повторениеапоследовательности
Фиг. 10.35. Входная часть поточной схемы БПФ с основанием 4 для обра-ботки четырех независимых сигналов.
довательно, 100%-ная эффективность поддерживается за счет двукратного «растягивания» сигнала. Вообще следует ожидать, что по сравнению со случаем четырехкратного перекрытия здесь за единицу времени можно осуществить вдвое больше операций по обработке сигнала. В качестве упражнения предлагаем составить схему буферного накопителя для случая, когда обрабатываемые массивы перекрываются только на N/4 отсчетах, т. е. первый массив содержит отсчеты с 0-го по (N — 1)-й, второй — отсчеты с 37V/4-ro по (7N/4 — 1)-й и т. д., так что выполнение каждого нового БПФ по N отсчетам начинается через 37V/4 тактов.
С помощью поточной схемы БПФ с основанием 4 можно найти БПФ четырех различных сигналов: хх (п), хг (п), х3 (и) и х4 (п). Для этого последовательность переключений коммутатора на первом этапе должна быть такой же, как у коммутатора на следующем этапе. Соответствующая блок-схема приведена на фиг. 10.35. Заметим, что входные последовательности задерживаются относительно друг друга на 2V/4 отсчетов. Начиная с четвертого интервала длиной в N14 отсчетов, режим переключений устанавливается и повторяется через каждые N отсчетов. До известной степени обработка четырех независимых сигналов является для поточной системы с основанием 4 наиболее естественным режимом, потому что графики переключений во всех коммутаторах (включая и первый) становятся одинаковыми с той лишь разницей, что каждый последующий коммутатор переключается в четыре раза чаще.
Сравнение поточных схем БПФ с основаниями 2 и 4
Выше уже было показано, что для выполнения БПФ одинакового размера при основании 4 требуется меньше умножителей, чем при основании 2. Исследуем этот вопрос для частного случая поточной схемы БПФ. При данном N в схеме с основанием 2 проводится log2 N этапов, а в схеме с основанием 4 —log^ этапов. В первом случае этапов вдвое больше, но на каждом из них нужно использовать по два комплексных сумматора и по одному комплексному умножителю, тогда как для каждого этапа второй схемы требуются восемь комплексных сумматоров и три умножителя. Таким образом,
Число умножителей при основании 4 3у Число умножителей при основании 22 1
Число сумматоров при основании 42 с Число сумматоров при основании 2
Из вышеизложенного может показаться, что схема с основанием 2 лучше, однако проведенное сравнение некорректно, так как при указанных отношениях схема с основанием 4 позволяет обработать вдвое больше данных. Если пронормировать гу и гс так, что-
бы они относились к одинаковой пропускной способности, то получим
- /\3
гу I нормированное ry I = -г-,
гс =1.
Отсюда видно, что в схеме с основанием 4 для обработки такого же потока данных требуется меньше умножителей. Отметим, однако, что здесь не сравнивались числа элементов, необходимых для управления работой обеих схем.
Структуры БПФ с повышенным уровнемпараллелизма
Выше было принято, что эффективность схемы БПФ равна 100%, если все ее арифметические устройства выполняют базовые операции без перерывов. В рассмотренных поточных структурах эффективность можно довести до 100% с помощью входного буферного накопителя, согласованного с конкретными обрабатываемыми сигналами. В отличие от этих схем универсальные ЦВМ, работа которых основана на последовательном выполнении операций, будут обычно иметь существенно меньшую эффективность. В данном разделе будут описаны схемы БПФ, также обеспечивающие 100%-ную эффективность, но при более высоком уровне параллелизма, чем в рассмотренных ранее схемах.
Естественным обобщением поточных схем БПФ с основаниями 2 и 4 являются схемы с основанием г. Для данного г (например, г = 8) всегда можно построить поточную схему, как показано на фиг. 10.36. Схема имеет г линий передачи данных, в которые по обе стороны от АУ включено по (г — 1) схем задержки [см. фиг. 10.36, 61. Арифметическое устройство предназначено для выполнения r-точечного ДПФ с последующим умножением на (г — 1) поворачивающих множителей. Сравним теперь три поточных схемы БПФ с основаниями 2, 4 и 8. Если тактовая частота во всех случаях одинакова, то схема с более высоким основанием сможет обработать больше данных, так как в поточной схеме
Таблица 10.3
N
Основание 2
Основание 4
Основание 8
число умножений
число сложений
ЧИСЛО умножений
число сложений
число умножений
число сложений
64
16
32
24
60
44
118
4096
40
68
60
126
116
144
аКоэффициенты
Фиг. 10.36. Поточная блок-схема выполнения 1-го и Л-го этапов БПФ с основанием г.
БПФ с основанием г данные обрабатываются сразу по г линиям. В табл. 10.3 для некоторых частных случаев сопоставлены уровни параллелизма в схемах с основаниями 2, 4 и 8. Здесь указано фактическое количество умножителей и сумматоров действительных чисел. Комплексное умножение, например, эквивалентно четырем умножениям и двум сложениям действительных чисел. Напомним также, что при основании 4 схема в принципе может обеспечить вдвое большее быстродействие, чем при основании 2, а при основании 8 — вдвое большее, чем при основании 4 (если только тактовая частота во всех случаях одинакова). (Это означает, что АУ схемы с основанием 8 должно обеспечить выполнение восьмиточечного ДПФ и семи умножений на поворачивающие множи-
тели за то же время, за которое АУ схемы с основанием 4 выполняют четырехточечное ДПФ и три поворота, а АУ схемы с основанием 2 — двухточечное ДПФ и один поворот.)
Для расширения возможностей системы было бы желательно увеличить уровень параллелизма, введя в нее не log2 У, и даже не log ГУ, а У/2 параллельно работающих АУ. Эффективный алгоритм для такой схемы, представляющий 16-точечное Б ПФ с постоянной структурой, иллюстрируется на фиг. 10.3. Преимуществом данной схемы является малое число переключений, необходимое при пересылке чисел из АУ в регистры памяти и обратно. Каждое АУ принимает данные из двух (комплексных) регистров и засылает результаты в два других регистра. Эти взаимосвязи на всех этапах БПФ остаются постоянными. Результаты обработки будут получены в двоично-инверсном порядке, но за счет введения двух дополнительных соединений на каждое АУ перестановку можно устранить.
Вероятно, наиболее быстрый и экономичный метод введения коэффициентов заключается в том, чтобы хранить их в определенной последовательности в каждом из АУ. Так, для алгоритма фиг. 10.3 в АУ7 используются коэффциенты РР, W6, W^ и W0. В любом АУ для хранения коэффициентов требуется не более log27V регистров, поэтому для всех У/2 АУ потребуется (y/2)log2y или меньше регистров. Хотя эта величина существенно превышает необходимое число коэффициентов, равное У/2, важно исключить операцию распределения коэффициентов из центрального ЗУ по арифметическим устройствам.
Чтобы оценить быстродействие рассматриваемой системы, представим, что базовая операция выполняется за т секунд. Тогда для выполнения всего БПФ потребуется т log2y секунд.
Имея полный набор из (N/2)log2y АУ, можно увеличить быстродействие еще в log2y раз, если использовать поточную схему для реализации алгоритма фиг. 10.3. Тогда каждый из неза- черненных кружков будет соответствовать целому АУ, а каждая точка — регистру. Такая структура является предельной, так как матрица АУ и поточная организация обработки обеспечивают получение результатов БПФ с тактовой частотой.
В такой схеме в каждом из АУ хранится только один коэффициент, причем часто он равен ±1 или ±7, так что,умножитель в таком АУ просто не нужен. С помощью формулы (10.2) можно рассчитать, сколько умножителей фактически требуется для получения У-точечного БПФ. В табл. 10.4 приведено это количество умножителей Mn при разных N для матричной схемы выполнения БПФ по основанию 2 с поточной обработкой и предельным уровнем параллелизма.
Если необходимо выполнять БПФ при больших N (например, при N = 4096), то использование схем, описанных в пп. 2 и 3,
Таблица 10.4
N
2
4
8
16
32
64
Mn
и
0
2
10
34
98
потребует огромного количества оборудования, а именно 2048 арифметических устройств в первом случае и 21 502 — во втором. С другой стороны, в поточной схеме с основанием 2 используются 12 АУ. По количеству используемой аппаратуры схема поточного БПФ с основанием 8 (А = 4096) эквивалентна 48 АУ схемы с основанием 2. Существует еще одна структура, занимающая промежуточное положение между системой с основанием 2 и предельной системой. В ней используется специально организованный блок памяти, с помощью которого входной массив представляется в виде двумерной матрицы и обрабатывается сначала по строкам, а затем по столбцам. При N = 4096, например, матрица имеет размер (64x64), так что в системе параллельно работают 32 АУ и уровень параллелизма почти втрое больше, чем в поточной системе с основанием 2.
Требуемое двумерное ЗУ можно построить на серийно выпускаемых микросхемах памяти. Принцип его построения иллюстрируется на фиг. 10.37 для матрицы из (4x4) элементов. Если входные отсчеты имеют номера 0—15, как показано на фиг. 10.37, а, то весь массив можно разместить в четырех микросхемах ЗУ (каждая из которых содержит по четыре слова) согласно фиг. 10.37, б. При необходимости прочитать (или записать) /-ю строку или /-й столбец все четыре требуемые для этого адреса можно найти в приведенной на фиг. 10.37, б специальной таблице; цифры в скобках указывают номера считываемых отсчетов, пронумерованных согласно фиг. 10.37, а. Заметим, что при считывании строк для последовательных микросхем ЗУадреса увеличиваются на единицу, а при считывании столбцов они одинаковы. Отметим также, что последовательным строкам соответствуют одни и те же наборы адресов, отличающиеся только круговой перестановкой.
Строка (или столбец) считывается параллельно и через пакетный переключатель поступает в блок обработки, состоящий из четырех АУ. Пакетный переключатель коммутируется по схеме кругового переключателя и служит для того, чтобы режим работы АУ не зависел от номера обрабатываемой строки или столбца. Например, при считывании нулевой строки [см. фиг. 10.37, б] отсчет 0 поступает в АУ0, отсчет 1 — в АУ1, отсчет 2 — в АУ2, отсчет 3 — в АУЗ. При считывании первой строки отсчет 4 (считываемый из микросхемы I) поступает в АУ0, отсчет 5 (микросхе-
0 12 3 Столбцы Строки
О0123
14567
2891011
312131415
Микросхема 00\13107Строка 0о (0)13(7)22 (10)31 (13)Столбец 00 (0)11 (13)22 (10)33 (7)Микросхема 00\13107Строка 0о (0)13(7)22 (10)31 (13)Столбец 00 (0)11 (13)22 (10)33 (7)Микросхема I^1икросхема11Микросхема Ш4\1 \14\118 5|2 15|/2|9|б|3|1 (1)2 (2)3 (3)0 (4)1 (5)2 (6)3 (11)0 (8)1 (9)2 (14)3 (15)0 (12)0 (4)0 (8)0 (12)1 (D1 (5)1 (9)2 (14)2 (2)2 (6)3 (11)3 (15)3 (3)6Микросхема I^1икросхема11Микросхема Ш4\1 \14\118 5|2 15|/2|9|б|3|1 (1)2 (2)3 (3)0 (4)1 (5)2 (6)3 (11)0 (8)1 (9)2 (14)3 (15)0 (12)0 (4)0 (8)0 (12)1 (D1 (5)1 (9)2 (14)2 (2)2 (6)3 (11)3 (15)3 (3)6
Микросхема 0
0\13
10
7
Строка 0
о (0)
1
3
(7)
2
2 (
10)
3
1 (13)
Столбец 0
0 (
0)
1
1 (13)
2
2 (10)
3
3 (7)
Микросхема 0
0\13
10
7
Строка 0
о (0)
1
3
(7)
2
2 (
10)
3
1 (13)
Столбец 0
0 (
0)
1
1 (13)
2
2 (10)
3
3 (7)
Микросхема I^
1икросхема11Микросхема Ш
4\1 \14\11
8 5|2 15|/2|9|б|3|
1 (1)
2 (2)3 (3)
0 (4)
1 (5)2 (6)
3 (11)
0 (8)1 (9)
2 (14)
3 (15)0 (12)
0 (4)
0 (8)0 (12)
1 (D
1 (5)1 (9)
2 (14)
2 (2)2 (6)
3 (11)
3 (15)3 (3)
6
Микросхема I^
1икросхема11Микросхема Ш
4\1 \14\11
8 5|2 15|/2|9|б|3|
1 (1)
2 (2)3 (3)
0 (4)
1 (5)2 (6)
3 (11)
0 (8)1 (9)
2 (14)
3 (15)0 (12)
0 (4)
0 (8)0 (12)
1 (D
1 (5)1 (9)
2 (14)
2 (2)2 (6)
3 (11)
3 (15)3 (3)
6
Фиг. 10.37. Размещение отсчетов в микросхемах памяти для матрицы разме-ром (4 X 4).
ма II ) — в АУ1, отчет 6 (микросхема III) — в АУ2, отсчет 7 (микросхема IV) — в АУЗ. На фиг. 10.38 приведена таблица необходимых соединений. Число, стоящее в у-м столбце, указывает, какая микросхема подключается к у-му АУ. Переход от одной строки ЗУ к другой (или от одного столбца к другому) осуществляется с помощью пакетного переключателя. Отметим, что соединения в пакетном переключателе одинаковы для строки и столбца ЗУ с одинаковыми номерами.
Конкретные схемы построения процессора могут быть самыми различными, начиная со схем реализации любого из алгоритмов БПФ и кончая матричными поточными схемами.
Общие принципы построения специализированныхпроцессоров БПФ
В настоящем разделе рассматриваются вопросы, связанные
с выбором исходных параметров и разработкой специализирован-
ного устройства для выполнения
БПФ
(процессора БПФ). Су-
Фиг.
Строка
Столбец
10.38. Взаимосвязи
0 0 1 И 1 I 11 III 2 II III 0 3 III 0 I 0 0 I II 1 I II III 2 II III 0 3 III 0 I
арифметических устройств
ш 0 I п ш 0 I и
и микросхем памяти.
ществует много различных вариантов алгоритма Б ПФ, поэтому важнейшая задача проектирования заключается в выборе основания алгоритма, варианта прореживания (по времени или по частоте), способа размещения промежуточных результатов (с замещением или без него) и т. д. Однако правильное решение может быть принято лишь после более глубокого анализа, связанного с выбором микросхем, степени параллелизма, структуры памяти, т. е. с такими характеристиками, которые в свою очередь зависят от быстродействия, размеров и гибкости проектируемого устройства, — от параметров, определяемых в конечном счете назначением устройства.
Невозможно перечислить все системы, в которых может быть использован процессор Б ПФ, поэтому ограничимся одним типичным примером. В радиолокаторах часто используются согласованные фильтры. К наиболее важным характеристикам таких фильтров относятся: 1) гибкость, выражающаяся в возможности изменения передаточной функции фильтра; 2) быстродействие, так как полоса обрабытываемого сигнала на практике может составлять несколько мегагерц. Кроме того, важную роль играет величина произведения полосы сигнала на его длительность, в конечном счете определяющая размер Б ПФ. В таких случаях можно применять КИХ-фильтр на основе алгоритма Б ПФ, предусмотрев возможность ввода-вывода в реальном времени.
В приведенном примере, а также в аналогичных случаях быстродействие процессора БПФ определяется требованиями к быстродействию всей системы. Так, при использовании БПФ для вычисления свертки процессор БПФ должен работать в четыре раза быстрее, чем такой же процессор в системе спектрального анализа последовательных массивов. Аналогично при обработке перекрывающихся массивов быстродействие процессора БПФ должно быть пропорционально как степени перекрытия, так и полосе сигнала.
Другое часто встречающееся применение процессора БПФ — введение его в состав периферийного оборудования универсальной ЦВМ. Существуют по меньшей мере две причины, оправдывающие подключение таких приставок:
Если вычислительная система проводит главным образом спектральный анализ, то введение приставки позволяет сэкономить машинное время и, следовательно, денежные средства.
Существуют системы, в которых обработку желательно выполнять в реальном времени, причем основным препятствием этому является недостаточно быстрое вычисление БПФ.
В первом случае обеспечение определенного быстродействия не столь важно, как легкость программирования, умеренная стоимость приставки и согласующих устройств, а также гибкость процессора БПФ.
НNи
1 !2,3,4 _I2.3.4 .. 3 1 4 ->1 !2,3,4 _I2.3.4 .. 3 1 4 ->5-ч5-ч66661н2-^-81н2-^-86 I 7- ♦ 8 I 9 16 I 7- ♦ 8 I 9 1ВремяВремя, 5 ,, 5 ,1 6 6 6 6 6 2 2 7 7 7 73 3 3 8 8 8 4 4 4 4 9 95 5 5 5 5 10 1.23456 2 3 4 5 6 73 4 5 6 7 84 5 6 7 8 91 6 6 6 6 6 2 2 7 7 7 73 3 3 8 8 8 4 4 4 4 9 95 5 5 5 5 10 1.23456 2 3 4 5 6 73 4 5 6 7 84 5 6 7 8 9Фиг. 10.39. Структура памяти для БПФ, выполняемого в реальном времени с четырехкратным перекрытием. (Каждый столбец показывает расположение входных подмассивов в блоках ЗУ на последовательных интервалах времени.)Фиг. 10.39. Структура памяти для БПФ, выполняемого в реальном времени с четырехкратным перекрытием. (Каждый столбец показывает расположение входных подмассивов в блоках ЗУ на последовательных интервалах времени.)
1 !2,3,4 _
I2.3.4 .
. 3 1 4 ->
1 !2,3,4 _
I2.3.4 .
. 3 1 4 ->
5-ч
5-ч
6
6
6
6
1н
2-^-8
1н
2-^-8
6 I 7- ♦ 8 I 9 1
6 I 7- ♦ 8 I 9 1
Время
Время
, 5 ,
, 5 ,
1 6 6 6 6 6 2 2 7 7 7 7
3 3 3 8 8 8 4 4 4 4 9 9
5 5 5 5 5 10 1.23456 2 3 4 5 6 7
3 4 5 6 7 8
4 5 6 7 8 9
1 6 6 6 6 6 2 2 7 7 7 7
3 3 3 8 8 8 4 4 4 4 9 9
5 5 5 5 5 10 1.23456 2 3 4 5 6 7
3 4 5 6 7 8
4 5 6 7 8 9
Фиг. 10.39. Структура памяти для БПФ, выполняемого в реальном времени с четырехкратным перекрытием. (Каждый столбец показывает расположение входных подмассивов в блоках ЗУ на последовательных интервалах времени.)
Фиг. 10.39. Структура памяти для БПФ, выполняемого в реальном времени с четырехкратным перекрытием. (Каждый столбец показывает расположение входных подмассивов в блоках ЗУ на последовательных интервалах времени.)
БПФ перекрывающихся массивов на основе ЗУс произвольным доступом
Во многих приложениях желательно выполнять БПФ перекрывающихся массивов. Выше было показано, как эта задача решается в поточной схеме БПФ. Если разделить массив, для которого выполняется БПФ, скажем, на четыре подмассива, то время выполнения БПФ должно быть равно времени поступления очередных 7V/4 отсчетов. Алгоритм обработки перекрывающихся массивов с использованием ЗУ с произвольным доступом иллюстрируется на фиг. 10.39. Предположим, что ЗУ разделено на девять равных блоков объемом по Л74 слов каждый. Пока пятый подмассив вводится в ЗУ, четыре предыдущих подмассива пересылаются в четыре нижних блока ЗУ (с 6-го по 9-й), откуда и поступают на выполнение БПФ. Для работы в реальном времени необходимо, чтобы общее время пересылки и вычисления БПФ равнялось времени ввода подмассива из JV/4 отсчетов. Пока шестой подмассив вводится в блок 1 ЗУ (при этом уже ненужный первый подмассив стирается), подмассивы 2 — 5 пересылаются в блоки 6—9 ЗУ для выполнения следующего БПФ. Далее обработка проводится аналогично; расположение последовательных подмассивов в ЗУ указано в соответствующих столбцах на фиг. 10.39.
Свертка в реальном времени методом БПФс использованием одного АУ и ЗУ с произвольным доступом
Предположим, что для исследования влияния фильтрации на речевые сигналы нужно создать макет КИХ-фильтра, работающего в реальном времени. В этом случае речевой сигнал следует дискретизовать с частотой 20 кГц, а отсчеты представлять 9—10-раз- рядными числами. Используя критерии расчета фильтров, рассмотренные в гл. 3, можно оценить длину импульсной характеристики; допустим, что достаточна характеристика из 128 отсчетов. Эта величина соответствует 442 базовым операциям на каждое БПФ или 442/128 « 3,45 базовым операциям на интервал дискретизации. Как будет показано ниже, при вычислении свертки с применением БПФ потребуется в четыре раза большее быстродействие, поэтому за один 50-микросекундный интервал дискретизации нужно будет выполнять 13,8 базовых операций (т. е. на каждую базовую операцию отводится 3,62 мкс).
Из приведенных оценок видно, что в данном случае не потребуется устройство с параллельным выполнением базовых операций, так как величина 3,62 мкс представляется достаточно большой даже для логических серий с умеренным быстродействием. Тем не менее разработчик может рассмотреть много различных вариантов. Если, например, он хочет использовать микросхемы с низким быстродействием, то ему, возможно, придется строить комбинационную матрицу из четырех умножителей и шести сумматоров. При использовании более быстродействующих микросхем (например, серии ТТЛ) можно ограничиться только одним матричным умножителем (со временем умножения 0,5 мкс), а базовая операция будет выполняться путем последовательных обращений к этому умножителю. При переходе к микросхемам с еще большим быстродействием становится возможным применение умножителя, использующего сложения и сдвиги. При этом экономятся микросхемы, но зато потребляется большая мощность и усложняется работа проектировщика, возможно не имевшего ранее дела со столь быстродействующими сериями.
Допустим, что для фильтрации методом БПФ подходит система, в которой коэффициенты фильтра и отсчеты представлены числами в дополнительном коде с фиксированной запятой, имеющими соответственно 8 и 16 разрядов. Допустим также, что система обеспечивает быстродействие, оцененное выше. Далее необходимо определить структуру всего устройства: 1) выбрать тип АУ, 2) выбрать тип ЗУ, 3) разработать алгоритм обращения к ЗУ, 4) разработать методику прерываний для обеспечения ввода и вывода, 5) построить детальные временные диаграммы для всевозможный операций. Указанные этапы проектирования системы должны быть проработаны достаточно подробно, чтобы на их основе
Ввод 0-255Ввод 0-255I I•+*—Повторение—I I•+*—Повторение—Ввод ВводВвод {256— 511 ! 76 8 -1023 '1280-1535 I 512-767 1024-1279 0-255 1Ввод ВводВвод {256— 511 ! 76 8 -1023 '1280-1535 I 512-767 1024-1279 0-255 1Повторение —Повторение —Счет । Счет | Счет 0-511 • 512-1023'1024-1535Счет । Счет | Счет 0-511 • 512-1023'1024-1535-Повторение—-Повторение—
Ввод 0-255
Ввод 0-255
I
I•+*—Повторение—
I
I•+*—Повторение—
Ввод ВводВвод {
256— 511 ! 76 8 -1023 '1280-1535 I 512-767 1024-1279 0-255 1
Ввод ВводВвод {
256— 511 ! 76 8 -1023 '1280-1535 I 512-767 1024-1279 0-255 1
Повторение —
Повторение —
Счет । Счет | Счет 0-511 • 512-1023'1024-1535
Счет । Счет | Счет 0-511 • 512-1023'1024-1535
-Повторение—
-Повторение—
1 Вывод I Вывод । Вывод
I 256-511 I 768-10231/280-1535
Фиг. 10.40. Блок-схема и временная диаграмма свертывателя, использующего БПФ.
(с учетом выбранных серий микросхем) можно было создать полную принципиальную схему устройства. Опираясь на эту схему, можно перейти к разработке печатных плат и стоек, сформулировать требования к сигналам и решать множество других конструкторских задач.
Работа системы описывается временными диаграммами двух типов. Диаграммы первого типа задают распределение времени для процесса вычисления свертки в целом (т. е. между двумя БПФ и умножением на частотную характеристику фильтра), а временные диаграммы второго типа более детально преставляют взаимосвязи между отдельными тактами работы АУ и ЗУ. Для составле-
ния диаграмм первого типа можно не конкретизировать структуру АУ или ЗУ и ограничиться упрощенной блок-схемой (фиг. 10.40).
Рассмотрим для определенности проектирование КИХ-фильт- ра с импульсной характеристикой длиной в 256 отсчетов. Для вычисления свертки методом БПФ необходимо выполнить последовательно два 512-точечных БПФ и взять половину выходных отсчетов. Общая временная диаграмма начинается с ввода 256 комплексных отсчетов в ячейки ЗУ с адресами от 0 до 255. Длительность этой операции, представляющая собой базовый интервал работы устройства, используется в качестве единицы отсчета для всех временных диаграмм (фиг. 10.40). На следующем интервале отсчеты 256—511 вводятся не только в ячейки ЗУ с адресами 256—511, но и в ячейки 512—768. После этого можно приступить к вычислению свертки, включающему 512-точечное БПФ, умножение всех гармоник на отсчеты частотной характеристики фильтра и обратное БПФЛДля работы в реальном времени необходимо, чтобы все эти вычисления длились не более одного базового интервала. Начиная с четвертого интервала, ввод, вывод и вычисления производятся параллельно, причем каждой из этих операций соответствует временной цикл продолжительностью в три базовых интервала (на фиг. 10.40 эти циклы помечены римскими цифрами). ЗУ коэффициентов работает параллельно с АУ и ЗУ данных. Если коэффициенты БПФ и фильтра постоянны, их можно хранить в постоянном ЗУ (ПЗУ). Однако если коэффициенты желательно изменять, то нужно, чтобы ЗУ коэффициентов обеспечивало возможность записи (из ЦВМ, с перфоленты, перфокарт, с машинки и т. д.), причем частота записи в принципе может быть невысокой.
Интересно отметить, что при свертке 512-точечных реализаций (не в реальном времени) методом БПФ с замещением в обычной универсальной ЦВМ используется всего 512 (комплексных) регистров, но при переходе к работе в реальном времени это число утраивается. Кроме того, возникает вопрос, можно ли, не изменяя блок-схемы фиг. 10.40, использовать это же устройство в качестве фильтра, импульсная характеристика которого короче 256 отсчетов. Ответить на этот вопрос можно утвердительно. Действительно, выбрав соответствующие значения отсчетов частотной характеристики фильтра, можно получить импульсную характеристику любой длины, не превышающей 256. Следует, однако, учесть, что это утверждение справедливо лишь в случае, когда можно пренебречь влиянием конечной длины регистров ЗУ коэффициентов. .
Поточный свертыватель с тактовойчастотой 10 МГц
Рассмотрим радиолокатор, в котором эхо-сигналы необходимо обрабатывать в полосе 10 МГц с помощью фильтра, согласованного с разнообразными зондирующими сигналами (типа ЛЧМ-сигналов, равномерных или неравномерных пачек импульсов и т. д.). Для обеспечения требуемой гибкости фильтра нужно предусмотреть возможность простого изменения его частотной характеристики. Допустим, что максимальная длительность сигнала составляет около 100 мкс, так что произведение полосы сигнала на его длительность равно 1000. Это означает, что если фильтр построен, например, на основе многоотводной цифровой линии задержки, то число отводов должно быть равно 1000, причем каждые 100 нс нужно выполнять 1000 комплексных умножений. Решить эту задачу при использовании современных микросхем вряд ли удастся. По видимому, это тот случай, когда построение цифровой системы можно осуществить, только вычисляя свертку методом Б ПФ. С учетом предыдущего примера можно сделать вывод, что при вычислении свертки с использованием БПФ нужно за 102,4 мкс выполнить два 2048-точечных преобразования. Общее число базовых операций, выполняемых за это время, равно 2048 х 11, т. е. 22 528, так что каждые 100 нс приходится выполнять 22 базовые операции. Только недавно появились устройства, способные выполнить комплексное умножение за 100 нс, поэтому в данном случае потребуется 22 таких устройства, т. е. ровно столько, сколько необходимо при построении поточной схемы БПФ, описанной в разд. 10.10. Блок-схема свертывателя и его временные диаграммы приведены на фиг. 10.41. Свертыватель содержит два поточных блока БПФ и блок формирования частотной характеристики согласованного фильтра. Все три блока работают параллельно. Поскольку при поточной обработке можно одновременно выполнять два БПФ, целесообразно ввести двукратное перекрытие сигналов, что полностью согласуется с режимом работы поточной схемы и позволяет довести эффективность системы до 100%. Для каждого массива из 2048 отсчетов на двух выходах первого поточного блока БПФ появляются две последовательности сигналов. На двух выходах второго поточного блока БПФ появляются «правильная» половина отфильтрованного массива и «неправильная» (первая) половина следующего массива свертки. Таким образом, отфильтрованный сигнал формируется в реальном времени по методу перекрытия с накоплением из половины выходных отсчетов.
Для обеспечения необходимого быстродействия в поточном блоке БПФ эффективно используются 2 log2TV параллельно работающих арифметических устройств. В предыдущем примере использовалось одно только АУ. Целесообразно попытаться найти
Входной сигналВходной сигналВыход первого поточного блокаВыход первого поточного блокаВыход второго поточного блокаВыход второго поточного блокаФиг. 10.41. Блок-схема свертывателя, использующего БПФ.Фиг. 10.41. Блок-схема свертывателя, использующего БПФ.ВремяВремя
Входной сигнал
Входной сигнал
Выход первого поточного блока
Выход первого поточного блока
Выход второго поточного блока
Выход второго поточного блока
Фиг. 10.41. Блок-схема свертывателя, использующего БПФ.
Фиг. 10.41. Блок-схема свертывателя, использующего БПФ.
Время
Время
наилучшие виды параллелизма для промежуточных случаев. Один из подходов состоит в сохранении поточного способа обработки, но при сокращении числа АУ. Уменьшим, например, полосу входного сигнала от 10 до 0,8 МГц. Заменим в обоих поточных блоках БПФ И АУ буферными регистрами, которые будут поочередно подключаться к одному быстродействующему АУ. Таким образом, при использовании только двух АУ (по одному на каждый поточный блок БПФ) работоспособность всего устройства сохранится, но теперь базовые операции всех этапов поточного блока будут
Единичный интервал=МЕдиничный интервал=МПример 1Пример 1ВхоЗ 1-го БПФВхоЗ 1-го БПФВход буферного накопителяВхоЗ 1-го БПФ ВхоЗ 2-го БПФ Выход фильтра ВхоЗ буферного накопителяВход буферного накопителяВхоЗ 1-го БПФ ВхоЗ 2-го БПФ Выход фильтра ВхоЗ буферного накопителяПример 2Пример 2ВхоЗ 2-го БПФВхоЗ 2-го БПФВыход фильтраВыход фильтраФиг. 10.42. Относительные эффективности при различных размерах БПФ.Фиг. 10.42. Относительные эффективности при различных размерах БПФ.
Единичный интервал=М
Единичный интервал=М
Пример 1
Пример 1
ВхоЗ 1-го БПФ
ВхоЗ 1-го БПФ
Вход буферного накопителя
ВхоЗ 1-го БПФ ВхоЗ 2-го БПФ Выход фильтра ВхоЗ буферного накопителя
Вход буферного накопителя
ВхоЗ 1-го БПФ ВхоЗ 2-го БПФ Выход фильтра ВхоЗ буферного накопителя
Пример 2
Пример 2
ВхоЗ 2-го БПФ
ВхоЗ 2-го БПФ
Выход фильтра
Выход фильтра
Фиг. 10.42. Относительные эффективности при различных размерах БПФ.
Фиг. 10.42. Относительные эффективности при различных размерах БПФ.
выполняться с помощью одного и того же АУ. Если же необходимо обрабатывать сигнал с полосой 3,2 МГц, для каждого из поточных блоков БПФ придется использовать по 4 АУ, три из которых будут обслуживать по три этапа БПФ и одно — два этапа. Таким образом, поточная схема обработки сохраняет высокую эффективность в широком диапазоне тактовых частот.
После выбора основных характеристик системы можно перейти к более детальному проектированию. В системе фиг. 10.41, например, могут использоваться до 5 ЗУ. К ним относятся:
ЗУ, входящие в состав поточных блоков БПФ;
ЗУ для хранения коэффициентов, используемых в поточных схемах;
ЗУ частотной характеристики фильтра;
входной буферный накопитель;
выходной буферный накопитель.
Кроме трго, нужно выбрать систему счисления, используемую в АУ, разрядность ячеек памяти, а также методику масштабирования и предотвращения переполнений.■
Свертка методами БПФ не обязательно выполняется при двукратном перекрытии. Действительно, увеличивая размер БПФ, можно повысить эффективность свертывателя. Это обусловлено тем, что при вычислении свертки методом БПФ объем бесполезной информации зависит как от длины свертываемых последовательностей, так и от размера БПФ.
Данное положение проиллюстрировано тремя примерами (фиг. 10.42). Предположим, что во всех случаях длина импульсной характеристики равна N (что соответствует единичному отрезку на фиг. 10.42), но размер БПФ в первом примере равен 2А, во втором — 47V, а в третьем — 8N.
Как уже было показано, в первом случае для получения N полезных отсчетов после выполнения каждой пары преобразований (размером по 2N отсчетов) приходится обрасывать половину конечных результатов (см. четвертую строку первого примера). Во втором примере (при размере преобразований по 47V) остается 3N полезных отсчетов. Это означает, что для выполнения 47У-точечного БПФ можно отвести время, пропорциональное 3N. Аналогично в третьем примере для 8А-точечного преобразования можно отвести время, пропорциональное 7N. Таким образом, в примерах 1, 2 и 3 относительные эффективности вычислений равны 1:2, 3:4 и 7:8. В системах с очень большим быстродействием увеличение размера преобразования с 27V до 87V может привести к существенному упрощению аппаратуры.
ЛИТЕРАТУРА
Bergland G. D., Fast Fourier Transform Hardware Implementations — An Overview, IEEE Trans, on Audio and Electroacoustics, AU-17, 104—108 (June 1969).
Groginsky H. L., Works G. A., A Pipeline Fast Fourier Transform, IEEE Trans, on Computers, C-19, 1015—1019 (Nov. 1970).
Klahn R., Shively R. R., Gomez E., Gilmartin M. J., The Time-Saver: FFT Hardware, Electronics, 92—97 (June 1968); есть русский перевод: Клан, Шайвли, Гомец, Гилмартин, Специализированный процессор для быстрого решения задач гармонического анализа, Электроника, т. 41, № 13 (1968).
Pease М. С., An Adaptation of the Fast Fourier Transform for Parallel Processing, J ACM, 15, 252—264 (April 1968).
Shively R. R., A Digital Processor to Generate Spectra in Real Time, IEEE Trans, on Computers, C-17, 485—491 (May 1968).
Bergland G. D., Wilson D. E., An FFT Alorithm for a Global Highly- Parallel Processor, IEEE Trans, on Audio and Electroacoustics, AU-17, 125—127 (June 1969).
Bergland G. D., Fast Fourier Transform Hardware Implementations — A Survey, IEEE Trans, on Audio and Electroacoustics, AU-17, 109—119 (June 1969).
Theilheimer F., A Matrix Version of the Fast Fourier Transform, IEEE Trans, on Audio and Electroacoustics, AU-17, No. 2, 158—161 (June 1969).
O’Leary G. C., Nonrecursive Digital Filtering Using Cascade Fast Fourier Transformers, IEEE Trans, on Audio and Electroacoustics, AU-18, No. 2, 177—183 (June 1970).
Ю. Veenkant R. L., A Serial Minded FFT, IEEE Trans, on Audio and Electroacoustics, AU-20, No. 3, 180—184 (Aug 1972).
Gold B., Bially T., Parallelism in Fast Fourier Transform Hardware, IEEE Trans, on Audio and Electroacoustics, AU-21, No. 1, 5—16 (Feb. 1973).
Эффекты, возникающие при БПФ вследствие конечной разрядности чисел
Oppenheim А. V., Weinstein С. J., Effects of Finite Register Length in Digital Filtering and the Fast Fourier Transform, Proc. IEEE, 60, No. 8, 957—976 (Aug. 1972); есть русский перевод: Оппенгейм, Вайнштейн, Влияние конечной длины регистра при цифровой фильтрации и быстром преобразовании Фурье, ТИИЭР, т. 60, № 8, стр. 41—65 (1969).
Welch Р. D., A Fixed-Point Fast Fourier Transform Error Analysis, IEEE Trans. Audio and Electroacoustics, AU-17, No. 2, 151 —157 (June 1969).
Weinstein C. J., Roundoff Noise in Floating Point Fast Fourier Tranform Computation, IEEE Trans, on Audio and Electroacoustics, AU-17, No. 3, 209—215 (Sept. 1969).
Kaneko T., Liu B., Accumulation of Round-Off Errors in Fast Fourier Transforms, J. Assn. Comp. Mach., 17, No. 4, 637—654 (Oct. 1970).
Глава 11
УНИВЕРСАЛЬНЫЕ УСТРОЙСТВАВ СИСТЕМАХ ОБРАБОТКИ СИГНАЛОВ
Введение
При решении любой конкретной задачи специализированная аппаратура всегда эффективнее универсальных ЦВМ. Однако требуемая в очень многих случаях гибкость вычислительных средств проще всего обеспечивается с помощью универсальных ЦВМ. Именно таким специальным приложениям и посвящена настоящая глава. В ней рассматриваются вопросы проектирования универсальных устройств, предназначенных для исследования методов обработки сигналов при анализе речи, в радиолокации, гидролокации, сейсмологии и технике связи. Дело в том, что в перечисленных областях такие устройства оказываются эффективнее больших вычислительных машин, обслуживающих в режиме разделения времени все увеличивающееся число экспериментаторов. Основным назначением этих устройств является создание соответствующих алгоритмов путем моделирования разрабатываемых специализированных устройств.
В настоящее время вычислительная техника все еще продолжает стремительно развиваться. Целесообразность той или иной структуры вычислительной машины в значительной степени зависит от характеристик существующих компонентов. Так, например, когда основным видом запоминающих устройств ЦВМ были кубы памяти на магнитных сердечниках, полупроводники только начинали заменять радиолампы в арифметических устройствах, так что даже обыкновенный триггер был громоздким и дорогим. При этом внешняя (относительно куба) память была весьма дорогостоящей, и проектировщики старались уменьшить ее объем. Однако позднее, когда память на сердечниках все еще доминировала, но триггеры и арифметические устройства стали недорогими устройствами с большими функциональными возможностями, начали широко применяться общие регистры и сверхоперативные ЗУ. Появление микросхем со средним уровнем интеграции привело к быстрому внедрению принципов параллельной обработки, многие из которых и в настоящее время не являются бесспорными. Быстрый прогресс в области создания новых компонентов стимулировал
появление множества идей, но пока эти компоненты не нашли широкого применения. .
В данной главе сначала в качестве примера рассматривается универсальная ЦВМ и обсуждаются возможности ее применения для обработки сигналов. После этого описываются различные методы увеличения скорости обработки сигналов на универсальной ЦВМ. В качестве примеров структуры универсальных ЦВМ, предназначенных для обработки сигналов, и применения их в соответствующих системах в конце главы подробно рассматриваются два быстродействующих цифровых процессора для анализа сигналов — FDP (Fast Digital Processor) и LSP2 (Lincoln Signal Processor 2).
Специализированные и универсальныевычислительные машины
Реализация алгоритмов обработки сигналов цифровыми средствами предполагает использование либо универсальной, либо специализированной вычислительной машины. Различие между ними всегда было (и сейчас остается) довольно неопределенным, поэтому имеет смысл обсудить оба эти термина.
Под универсальностью подразумевается гибкость, программируемость, возможность решения различных задач. Эти качества необходимы весьма часто, и за них мы готовы расплачиваться деньгами, временем, габаритами, потребляемой мощностью и т.д. Однако во многих случаях оказалось лучше купить и запрограммировать серийную ЦВМ потому, что она справляется с поставленной задачей, уже выпускается промышленностью и, кроме того, дешевле, чем разработка и изготовление даже сравнительно несложного цифрового блока. Можно привести по крайней мере один пример, когда явно справедливо обратное, а именно когда требования к быстродействию столь велики, что для выполнения обработки необходимы специализированные структуры. По-ви- димому, наиболее очевидное различие между универсальной и специализированной вычислительными системами заключается в том, что для любого алгоритма, запрограммированного на универсальной ЦВМ, можно построить специализированное устройство, с помощью которого этот алгоритм выполняется быстрее. Действительно, при реализации заданного алгоритма в специализированном устройстве часто удается эффективно использовать методы параллельной обработки. В универсальных ЦВМ параллелизм в принципе также возможен и иногда действительно вводился, но опыт показал, что в этом случае он оказывается не столь эффективным, усложняет программирование и затрудняет взаимодействие отдельных частей ЦВМ. Нам представляется, что вообще при построении гибких ЦВМ, предназначенных для широкого кру-
га алгоритмов, последовательная структура оказывается более подходящей. Таким образом, при проектировании самых разнообразных цифровых устройств, от вычислительных систем общего назначения или систем, ориентированных на ограниченный круг задач (например, в радиолокации), и до узкоспециализированных бортовых устройств, приходится находить наилучшее соотношение между быстродействием и гибкостью.
Способы описания вычислительных машин
Любую вычислительную машину, как специализированную, так и универсальную, можно описать, задав: 1) отдельные вычислительные блоки, такие, как сумматоры, умножители и логические цепи; 2) структуру памяти; 3) все связи между блоками памяти и вычислительными блоками; 4) последовательность операций; 5) соединения с устройствами, рассматриваемыми как внешние по отношению к вычислительной машине. Специализированные вычислительные машины предназначены для выполнения ограниченного числа алгоритмов, в каждом из которых используется фиксированная последовательность операций. Универсальные ЦВМ имеют программу, сохраняемую в одном или нескольких блоках памяти, причем каждая «строчка» программы представляет собой команду, непосредственно выполняемую машиной, а весь алго-
Фиг. 11.1. Структурная схема упрощенной универсальной вычислительной машины.
ритм представляется программистом в виде последовательности таких команд.
Центральным элементом упрощенной универсальной ЦВМ (фиг. 11.1) является запоминающее устройство (ЗУ) с произвольным доступом. В нем хранятся и обрабатываемые данные, и программа. В рассматриваемой упрощенной схеме команда состоит из кода операции (КОП) и адреса. В машине имеется один индексный регистр, содержимое которого можно (по желанию) добавлять к адресной части команды, формируя тем самым истинный адрес ячейки памяти. Арифметическое устройство ЦВМ состоит из сумматора и накапливающего регистра. Линии со стрелками представляют собой возможные линии связи. Число линий связи является важным фактором, определяющим стоимость ЦВМ. Для каждой из них должна быть предусмотрена схема коммутации. С помощью этих схем устройство управления подключает линии, необходимые для выполнения текущей команды. В данном разделе не рассматривается, каким образом информация (программа и данные) была введена в память. Эта операция зависит от вида системы ввода — вывода, описываемой в последующих разделах главы.
Рассмотрим некоторые типичные команды ЦВМ, а затем попробуем составить программу вычисления скользящей суммы — одного из простейших алгоритмов обработки сигналов:
Название команды
Описание
1. Load Y
Передать содержимое регистра памяти Y в нако
(загрузить Y)
питель.
2. Store Y
Передать содержимое накопителя в регистр памя
(запомнить Y)
ти Y.
3. Add Y
К величине, уже содержащейся в накопителе, до
(сложить Y)
бавить содержимое регистра памяти Y; результат оставить в накопителе.
4. Sub Y
То же, но выполняемым действием является вы
(вычесть Y)
читание.
5. JNX Y
Если содержимое индексного регистра X меньше
(перейти по X в Y)
нуля, то перейти к выполнению команды, хранящейся в регистре памяти Y; в противном случае перейти к следующей команде. В обоих случаях после перехода увеличить X на 1.
6. YIXY
Занести число из адресной части выполняемой ко
(занести в X из Y)
манды в индексный регистр X.
7. Clear Y (очистить Y)
Записать нуль в регистр памяти Y.
8. Halt (стоп)
Фиг. 11.2. Блок-схема алгоритма вычисления скользящей суммы.Фиг. 11.2. Блок-схема алгоритма вычисления скользящей суммы.Фиг. 11.3. Блок-схема рекурсивного алгоритма вычисления скользящей суммы.Фиг. 11.3. Блок-схема рекурсивного алгоритма вычисления скользящей суммы.
Фиг. 11.2. Блок-схема алгоритма вычисления скользящей суммы.
Фиг. 11.2. Блок-схема алгоритма вычисления скользящей суммы.
Фиг. 11.3. Блок-схема рекурсивного алгоритма вычисления скользящей суммы.
Фиг. 11.3. Блок-схема рекурсивного алгоритма вычисления скользящей суммы.
Программа вычисления скользящей суммы
Скользящей суммой называют величину к-1
(11.1)(11.1)У (и) = 2^Т1 — ТПУ
(11.1)
(11.1)
m=0
Для увеличения скорости вычисления скользящей суммы (при А^З) целесообразно представить ее рекурсивной формулой
у(п)=у(п—1)4~л: (п)—2 (п— к). (11.2)
На фиг. 11.2 представлена схема вычисления у (п) путем простого суммирования чисел на выходах цепочки цифровых элементов задержки. На фиг. 11.3 показана другая схема реализации того же алгоритма, составленная из последовательно соединенных трансверсального фильтра и однополюсного рекурсивного фильтра. В табл. 11.1 приведен формат данных, удобный для реализации алгоритма (11.2) с помощью упрощенной универсальной вычислительной машины.
Чтобы не усложнять программу дополнительными операциями, учитывающими краевые эффекты, массив данных 2 (0) — 2 (999) дополняется с обеих сторон нулевыми отсчетами, число которых на
Таблица 11.1
Формат входных данных для программы вычисления скользящей суммы
DATA-
*0
0
0
DATA+ 26-
>x (0)
я (1)
DATA+1025-
>x (999)
0
0
0
DATA+1051-
*0
YN-
>0
единицу меньше количества слагаемых в сумме. Здесь для определенности взято к = 26. Метки, расположенные слева от стрелок в табл. 11.1, обозначают адреса, используемые в приводимой ниже программе вычисления скользящей суммы:
Пояснения
YIX CLEAR LOOP -> ADDXSUBXSTORE, JNX HALTYIX CLEAR LOOP -> ADDXSUBXSTORE, JNX HALT—1025YNDATA+1051DATA+ 1025YN+1025LOOP—1025YNDATA+1051DATA+ 1025YN+1025LOOPЗанести число —1025 в регистр X Занести нуль в регистр YN Прибавить ж(п) к у(п — 1) Сформировать в накопителе ж (п) — х (п — А) + у (п — 1) Запомнить у (п)
YIX CLEAR LOOP -> ADDX
SUBX
STORE, JNX HALT
YIX CLEAR LOOP -> ADDX
SUBX
STORE, JNX HALT
—1025
YN
DATA+1051
DATA+ 1025
YN+1025
LOOP
—1025
YN
DATA+1051
DATA+ 1025
YN+1025
LOOP
Повторить в цикле 1024 раза Стоп
Из приведенной программы видно, что для обработки каждого входного отсчета приходится выполнять четыре команды. Естественно, что время обработки зависит от быстродействия узлов ЦВМ. Для удобства предположим, что цикл обращения к памяти равен 100 нс. Каждая из первых трех команд программного цикла требует не менее двух циклов обращения к памяти: одного при вызове команды, другого при ее исполнении. Таким образом, полное время, необходимое для обработки одного отсчета, равно 600 нс плюс время выполнения условного перехода (JNX) и время выполнения арифметических операций, включить которое в цикл обращения к памяти затруднительно. В итоге получается около 1 мкс на каждый входной отсчет.
Особенности ввода — вывода при обработкев реальном времени
При обработке сигналов на ЦВМ в реальном времени возникает много дополнительных трудностей. В рассматриваемом в разд.И.4 примере обработки не в реальном времени предполагалось, что обрабатываемый массив из 1000 отсчетов уже содержится в памяти ЦВМ, а результаты просто накапливаются в памяти. При такой обработке можно представить себе две совершенно независимые программы: одна для ввода массива из 1000 отсчетов, а вторая для вывода накопленных результатов в некоторое внешнее устройство. Очевидно, что время, затрачиваемое на выполнение этих программ, следует добавить ко времени счета, но никаких трудностей и усложнений в программе при этом не возникает. Однако при обработке в реальном времени взаимодействие между программами ввода — вывода и счета усложняется, и это часто приводит к заметному снижению быстродействия.
Для иллюстрации возникающих трудностей представим себе элементарную систему ввода — вывода, добавленную к основной схеме вычислительной машины, показанной на фиг. 11.1. Она содержит дополнительный регистр В, соединенный как с блоком памяти, так и с внешними устройствами. При выполнении команд ВВОД и ВЫВОД в регистр В начинает поступать информация (по команде ВВОД — от внешнего устройства). При этом вычисления прерываются до окончания приема данных в регистр В или выдачи их из регистра. После этого ЦВМ переходит к выполнению следующей команды, причем приведение входных и выходных данных к нужному формату осуществляется программным путем. Очевидно, что приведенная простейшая система ввода — вывода (как и вся элементарная вычислительная машина) малопригодна для практических целей, так как не позволяет автоматизировать прерывания или совместить выполнение программ счета и ввода— вывода. Однако с ее помощью можно оценить усложнение программы и дополнительные затраты времени при переходе к обработке в реальном времени.
х (О)
— х (6)
х (6)
х (6)
х(6)
х (6)
х (6)
— х (12) . . •
х (1)
X (1 )
— х(7)
х (7)
х (7)
х (7)
х (7)
х (7)
х (2)
х (2)
х (2)
—► х(8)
х(8)
х (8)
х (8)
х(8)•••
х (3)
х (3)
х (3)
х (3)
—- х (9)
х(9)
х (9
х (9)
х (4)
х (4)
х (4)
х (4)
х (4)
—• х(Ю)
х (10)
х (10)
-► х (5)
х(5)
х (5)
х (5)
.х(5)
х(5)
— х(11)
х (11)
Фиг. 11.4. Пример формата размещения данных в ЗУ для программы вычисления скользящей суммы в реальном времени (к = 6).
Покажем, как наличие простой системы ввода — вывода влияет па вычисление скользящей суммы. Пусть последовательность входных чисел циркулирует в памяти ЦВМ согласно фиг. 11.4. Вычисления проводятся следующим образом. Каждый новый отсчет, поступающий из регистра В, принимается за х (п) и сначала запоминается в промежуточном регистре TEMP. Метка на схеме размещения данных в ЗУ (фиг. 11.4) соответствует отсчету х (п — к) (для упрощения пояснений, относящихся к нашей простой системе ввода—вывода, к на фиг. 11.4 уменьшено до 6), причем ЗУ содержит ровно к регистров. Сначала вычисляется разность х (ri) — х (и — к), затем к ней добавляется значение у (п — 1), находившееся в другом промежуточном регистре YN, а результат засылается в тот же регистр YN. В конце цикла отсчет х ^п— к) заменяется на х (п), индекс увеличивается на единицу и выполняется команда ВЫВОД.
Ниже приведена программа вычисления скользящей суммы в реальном времени (снова принято к = 26):
YIX
CLEAR
—25
YN
Занести —25 в индексный регистр
INPUT
STORE В
TEMP
Занести содержимое регистра ввода — вывода
3. SUB,
XN + 25
[т. е. очередной отсчет х (и)] в промежуточный регистр
Вычесть х (п — &) из х (п)
4. ADD
YN
Добавить у(п—1), что дает у (и)
5. STORE
YN
Запомнить у (п) в регистре YN, чтобы ис
6. LOAD
TEMP
пользовать в следующей операции
7. STORE,
XN + 25
8. JNX
10.
9. YIX
—25
Восстановить исходное состояние индексного
регистра.
К). LOAD В YNПередать значение у (п) в регистр ввода —
вывода
И. OUTPUT
JMP 1.
Чтобы оценить быстродействие данной программы, положим, что при выполнении команды ВВОД машина ожидает появления синхросигнала от устройства ввода, затем выполняются команды 1 —11, после чего работа ЦВМ прерывается до поступления синхросигнала от устройства вывода. Для увеличения быстродействия необходимо подобрать вполне определенную задержку между входным и выходным синхросигналами. Это означает, что при изменении программы задержку придется перестраивать. Если оба синхросигнала не имеют фазовой синхронизации, то максимальную скорость поступления данных придется уменьшить, чтобы учесть возможное удлинение остановок при выполнении команд ВВОД и ВЫВОД. Но даже при наличии синхронизации программа обработки в реальном времени выполняется примерно вдвое медленнее, чем программа обработки в произвольном масштабе времени.
Методы увеличения быстродействиявычислительной машины
Для увеличения быстродействия вычислительных машин используется множество вариантов небольшого количества основных принципов. Ряд методов связан с использованием блоков сверхоперативной памяти, обычно представляющих собой ЗУ небольшой емкости, но весьма быстродействующие, определенным образом вводимые в структуру ЦВМ. Идея здесь в том, что при составлении программы следует предусмотреть выполнение большинства медленных операций с применением сверхоперативного ЗУ (если это возможно). Другой ряд методов увеличения быстродействия ЦВМ связан с распараллеливанием арифметических операций. Эта идея имеет много разновидностей, поскольку вся конструкция ЦВМ зависит от степени параллелизма. Кроме того, распараллеливание управления, ввода — вывода и арифметических операций дает возможность уменьшить число машинных циклов, необходимых для выполнения данного алгоритма. К рассматриваемому типу распараллеливания относится перекрытие командных циклов с циклами поступления информации и с выполнением микропрограмм. Другой вид распараллеливания, при котором операции выполняются последовательно на одном потоке, называется поточной обработкой. Каждый новый отсчет начинает обрабатываться сразу же после окончания первой операции над предыдущим отсчетом, т. е. быстродействие системы значительно повышается.
Перечисленные идеи основаны на использовании в определенных блоках ЦВМ схемных элементов с соответствующими быстродействием и стоимостью. Согласование быстродействия элементов со структурой вычислительной машины является непременным условием правильного проектирования.
Сверхоперативные ЗУ
Существует несколько способов использования сверхоперативной памяти в составе ЦВМ:
В качестве логической части арифметического устройства (АУ).
В качестве устройства ввода—вывода.
В качестве основного ЗУ ЦВМ в сочетании с менее быстродействующим ЗУ большего объема, используемым для ввода— вывода.
Логическое объединение ее с оперативной памятью ЦВМ и выделение для нее некоторой части адресного поля.
В современных быстродействующих ЦВМ сверхоперативная память чаще используется в составе АУ. Типичными примерами таких ЦВМ являются CSP-30, содержащая 32 «сверхоперативных» регистра, а также МЕТА-4 и LX-1, имеющие по 16 регистров. Малые ЦВМ серии Nova имеют четыре, а PDP-11 — восемь регистров. Такие элементы памяти обычно называют общими регистрами, поскольку их можно использовать в различных целях: при выполнении арифметических операций, для ввода — вывода и индексации. .
Второй из перечисленных способов использования сверхоперативных ЗУ применяется только в непрограммируемых внешних устройствах типа специализированных фурье-процессоров, рассмотренных в гл. 10. В таких системах основная ЦВМ может устанавливать специальное устройство управления в режим выполнения с большой скоростью некоторых определенных операций. Числа передаются из основной памяти в сверхоперативную, обрабатываются с помощью специализированного АУ, а результат возвращается в основную память для дальнейшей обработки или контроля.
Если объем сверхоперативной памяти достаточно велик, может оказаться целесообразным объединение основных устройств ЦВМ вокруг этой памяти. В данном случае память большего объема используется в основном как буфер аналогично магнитным барабанам, а вся работа выполняется с помощью сверхоперативной памяти. Хотя такая система и должна иметь быстродействующие устройства управления и АУ, однако структурно она ближе к универсальной высокопроизводительной вычислительной машине для обработки сигналов.
Можно, наконец, объединить быстрое и медленное ЗУ в единую логическую структуру. Для обеспечения ее эффективности необходимо, чтобы устройство управления различало, какая из областей памяти участвует в вычислениях, и соответственно изменяло частоту синхронизации. Кроме того, по-прежнему и арифметическое, и управляющее устройства должны иметь достаточно высокое быстродействие.
Необходимо отметить, что каждому из приведенных выше методов свойствен компромисс между функциональными возможностями и затратами на его реализацию. Различные методы можно также применять совместно. В данной главе будет показано, как эти возможности используются в различных ЦВМ.
Распараллеливание арифметических операций
Не вызывает сомнения, что, удвоив объем вычислительного оборудования, можно увеличить быстродействие системы, однако на практике реализовать потенциальные возможности такого распараллеливания совсем непросто. Давно известным, но весьма эффективным методом введения (при необходимости) распараллеливания арифметики является байтовая организация регистров ЦВМ. Так, ЦВМ Линкольновской лаборатории ТХ-2 оперирует с 36-разрядными числами, составленными из четырех байтов длиной по девять разрядов каждый. Арифметическое устройство также имеет байтовую структуру, так что с помощью одной команды можно перемножить, например, пару 36-разрядных чисел, две пары 18-разрядных или 4 пары 9-разрядных. Используя програм- ные хитрости, в такой структуре можно существенно повысить скорость обработки, если только допустимо применение малоразрядных чисел. .
Увеличения степени параллелизма можно достичь, используя несколько арифметических устройств, каждое из которых оперирует с полноразрядными числами. Примером такой системы является быстродействующий цифровой процессор (FDP — Fast Digital Processor) Линкольновской лаборатории, содержащий четыре 18-разрядных АУ и два 18-разрядных ЗУ. При таком распараллеливании программирование, позволяющее использовать возможности машины, значительно усложняется. Основная трудность состоит в необходимости начальной установки блоков и в сложности вывода результатов. Перед началом совместной работы все АУ должны быть установлены в исходное состояние, а это требует времени. Результаты параллельных вычислений нужно записать в соответствующие места, на что также уходит время. Дополнительные трудности возникают, если различные АУ должны быть взаимосвязаны. Число возможных связей между п арифметическими устройствами растет как п!, поэтому число управляющих
От памяти МОт памяти МК памяти МК памяти МФиг. 11.5. Арифметическое устройство для обработки комплексных чисел.Фиг. 11.5. Арифметическое устройство для обработки комплексных чисел.цепей, если не ограничивать эти связи, может выйти из-под контроля. Вынужденные ограничения в числе взаимосвязей превращают обмен данными в продолжительную и сложную процедуру.
От памяти М
От памяти М
К памяти М
К памяти М
Фиг. 11.5. Арифметическое устройство для обработки комплексных чисел.
Фиг. 11.5. Арифметическое устройство для обработки комплексных чисел.
ПрограммаПрограммаИнтерпретацияИнтерпретацияM^RtR{ X R2 ~> R4M-^RiRi4-R4-*■ R3Rj — R4 —>- R4R3->MR4->MM^RtR{ X R2 ~> R4M-^RiRi4-R4-*■ R3Rj — R4 —>- R4R3->MR4->MCW^R^A-*RtA* = A^CW^-^ R3C'^A — CWh Запомнить A'Запомнить 0*CW^R^A-*RtA* = A^CW^-^ R3C'^A — CWh Запомнить A'Запомнить 0*Приведем несколько примеров систем с параллельной арифметикой, предназначенных для эффективного выполнения алгоритмов БПФ. Поскольку эти алгоритмы оперируют с комплексными числами, рассмотрим, каким образом «комплексное» АУ (фиг. 11.5) позволяет увеличить скорость вычислений. Предположим, что регистры Rb R2, R$ и R4 имеют двойную длину (т. е. предназначены для комплексных чисел), а сумматор и умножитель оперируют с комплексными числами. Ниже приведена программа выполнения базовой операции БПФ А'= = А + CW\ С =А — CW\ причем предполагается, что перед началом вычислений в регистре R2 содержится число’ТУ^:
Программа
Программа
Интерпретация
Интерпретация
M^Rt
R{ X R2 ~> R4
M-^Ri
Ri4-R4-*■ R3
Rj — R4 —>- R4
R3->M
R4->M
M^Rt
R{ X R2 ~> R4
M-^Ri
Ri4-R4-*■ R3
Rj — R4 —>- R4
R3->M
R4->M
CW^R^
A-*Rt
A* = A^CW^-^ R3
C'^A — CWh Запомнить A'
Запомнить 0*
CW^R^
A-*Rt
A* = A^CW^-^ R3
C'^A — CWh Запомнить A'
Запомнить 0*
В программу включены операции обмена с памятью и арифметические операции, используемые в варианте алгоритма БПФ с основанием 2 и прореживанием по времени. Операции над индексами здесь опущены; для их выполнения могут понадобиться, скажем, две дополнительные команды или же их можно выполнять параллельно с вычислениями и обращениями к памяти.
За счет дополнительного усложнения устройства управления количество команд в цикле можно уменьшить, совмещая обращение к памяти с арифметическими операциями:
ПрограммаПрограммаИ нтерпретация
Программа
Программа
M^BtM^BtRiXR2->R4Ri + R4->R3R1-R4-^R4RiXR2->R4Ri + R4->R3R1-R4-^R4M-^RtM-^RtR2-*MR2-*MR4-+MR4-+MC-^RtC^ —R4 Л-^RtA' = A + CWh-*R3С* = Л — tW^-^Ri, запомнить A'Запомнить C'C-^RtC^ —R4 Л-^RtA' = A + CWh-*R3С* = Л — tW^-^Ri, запомнить A'Запомнить C'
M^Bt
M^Bt
RiXR2->R4
Ri + R4->R3
R1-R4-^R4
RiXR2->R4
Ri + R4->R3
R1-R4-^R4
M-^Rt
M-^Rt
R2-*M
R2-*M
R4-+M
R4-+M
C-^Rt
C^ —R4 Л-^Rt
A' = A + CWh-*R3
С* = Л — tW^-^Ri, запомнить A'
Запомнить C'
C-^Rt
C^ —R4 Л-^Rt
A' = A + CWh-*R3
С* = Л — tW^-^Ri, запомнить A'
Запомнить C'
Отметим, что для такого сокращения не требуются логические усложнения структур АУ и ЗУ. Так, при выполнении команды 2 не возникает аппаратурных трудностей, связанных с использованием регистра Rx как для передачи чисел в умножитель, так и для приема их из памяти. Последнее возможно, поскольку между выходными и входными сигналами триггеров регистра всегда существует задержка.
Комплексное АУ (фиг. 11.5) содержит четыре умножителя (действительных чисел) и четыре сумматора (два для выполнения комплексного умножения и два для комплексного сложения). Вполне уместно спросить: целесообразно ли такое усложнение аппаратуры для ускорения выполнения базовой операции БПФ? Для сравнения на фиг. 11.6 показано АУ, содержащее два сумматора, два умножителя и те же восемь регистров.
Упражнение. Предполагая, что в схеме фиг. 11.6 арифметические операции и обращения к памяти могут выполняться па-
Фиг. 11.6. Арифметическое устройство с восемью регистрами.
раллельно, определите число команд, необходимых для вычисления одной базовой операции Б ПФ с основанием 2 и прореживанием во времени. Запишите эту программу.
Параллельная работа ЗУ, АУ,устройств управления и вызова команд
Каждая исполняемая команда управляет совокупностью вентилей и триггеров, в результате чего в ЦВМ выполняется определенная последовательность операций. Многие из этих операций могут выполняться одновременно, причем логический ход программы не будет нарушаться. За выигрыш в быстродействии, получающийся при этом, приходится расплачиваться усложнением устройства управления. Так, операции перехода, занесения в память и сложения можно было бы совместить в одной команде. Логических прерываний в работе при этом происходить не будет, но длина кода команды становится весьма большой. В качестве примера предположим, что адреса чисел и команд содержат по 12 разрядов, а коды операций — по шесть разрядов. В итоге длина кода команды, содержащей три кода операций и два адреса, должна быть равна 42 двоичным разрядам.
Дополнительное распараллеливание (которое можно также рассматривать как поточную обработку) получается при параллельной работе ЗУ команд и ЗУ чисел, так что выполнение очередной команды может быть начато до завершения предыдущей. При этом возникает опасность, что две команды могут потребовать от одного и того же устройства выполнения различных действий. Другая опасность состоит в том, что некоторая условная команда (например, условный переход) может быть выполнена неправильно, так как к началу ее выполнения еще не была закончена предыдущая команда, которая может изменить условие перехода.
Существует несколько методов, позволяющих избежать таких ошибок. Один из них — введение блокирующей цепи, обнаруживающей ситуации, ведущие к ошибкам, и соответственно задерживающей вызов и исполнение последующих команд. Второй метод — аккуратная проработка и синхронизация последовательности операций для каждой команды и введение определенных правил программирования. Этот метод будет продемонстрирован в разд. 11.10 при рассмотрении FDP.
Быстродействующий цифровой процессор(FDP) Линкольновской лаборатории
Причиной создания FDP послужили исследования в области сжатия речевых сигналов, проводившиеся в Линкольновской лаборатории. К этому времени стало ясно, что перед созданием реаль-
ной системы с вокодером (см. гл. 12) весьма полезно промоделировать работу систему на ЦВМ. Основным недостатком машинного моделирования была невозможность проведения обработки в реальном времени. Мнение человека, воспринимающего информацию при прослушивании речи или при наблюдении за индикаторами радио- или гидролокатора, во многом зависит от условий получения этой информации. Если система не была испытана в реальных условиях, нельзя получить оценку качества ее работы, которую оператор мог бы дать, опираясь на свою интуицию.
Предполагалось, что при использовании идеи сверхоперативной памяти и быстродействующих микросхем эмиттерно-связанной логики можно достичь примерно десятикратного увеличения быстродействия. Однако для моделирования системы обработки речи в реальном времени требовалось повышение быстродействия еще на порядок (цифры относятся к использовавшейся в то время мини-ЭВМ типа Univac 1219). Это означало, что необходимо было использовать все возможности увеличения быстродействия:
распараллеливание арифметики;
распараллеливание обращения к памяти;
перекрытие операций с числами и подготовка к исполнению команд;
использование многоцелевых команд;
параллельное управление адресацией, памятью и вычислениями;
умножение в отдельном функциональном блоке.
Полная структурная схема FDP изображена на фиг. 11.7. Следует отметить некоторые ее особенности:
Наличие двух ЗУ с независимой адресацией, выполненных на интегральных схемах. Цикл памяти составляет 150 нс, а объем— по 4096 слов (регистров). Роль основной памяти играет оперативная память мини-ЦВМ Univac 1219.
Наличие четырех АУ с независимым управлением, каждое из которых содержит сумматор, умножитель в виде независимого функционального блока и три программируемых регистра.
ЗУ для хранения программ (объемом 512 слов) способно выдавать 36-разрядные команды через интервалы 150 нс.
Пятое арифметическое устройство (с меньшими возможностями) ИАУ (индексное АУ) предназначено для обслуживания индексных регистров. Связь между ним и четырьмя большими АУ обеспечивается через ЗУ данных Мд и Мц, а также через регистр F.'
Адресация осуществляется согласно фиг. 11.8. Команды с обращением к ЗУ Мд и Mb должны исходить из ЗУ Мс (левого), а команды с обращением к Мс — из ЗУ Мс (правого). Четыре разряда левого регистра команд 1ВА используются для адресации в ЗУ MD, из которого извлекаются базовые адреса для ЗУ Мд и Мв*
1212
Фиг. 11.7. Общая блок-схема горизонтального размера ЗУ,
процессора FDP (длина слов показана вдоль а число слов — вдоль вертикального размера ЗУ).
Фиг. 11.8. Адресация в процессоре FDP.
Эти базовые адреса уточняются с помощью индексных ЗУ Хд и Хв соответственно.
При обращении к ЗУ Мс адрес образуется с помощью восьмиразрядного адреса Y, хранящегося в индексном регистре IRb. Для некоторых команд перехода к адресу Y добавляется содержимое регистра Xq. Хотя чтение из всех трех индексных ЗУ может выполняться независимо, при записи в ЗУ адреса обращения к ним должны быть одинаковыми. Таким образом, с точки зрения программиста в FDP имеется одно индексное запоминающее устройство X, к которому с целью модификации адресов Мв и Мс можно обращаться с помощью трех адресов, содержащихся в двойной команде.
Структурные схемы арифметическихустройств
Структура и связи одного из четырех одинаковых арифметических устройств FDP представлены на фиг. 11.9. Регистры I, Q и R являются программно-управляемыми. Арифметическое устройство АУ1 соединено с АУ2 и АУ4; АУ2 — с АУЗ и АУ1; АУЗ — с АУ4 и АУ2; АУ4 — с АУ1 и АУЗ. Таким образом, все арифметические устройства соединены в кольцо с п = 4 и Rn+1 = = R1. Регистр Rn можно рассматривать как накопитель, поскольку в него поступают результаты как сложения, так и умножения.
Отметим существенные особенности АУ:
К ЗУ данных
Фиг. 11.9. Линии связи в процессоре FDP.
Каждое АУ можно программировать независимо от других АУ и параллельно им. Так, с помощью одной 18-разрядной ко- команды можно выполнить в АУ1 умножение, в АУ2 передачу иэ регистра I2 в регистр R2 и т. д.
Команда умножения является в сущности командой передачи, согласно которой содержимое регистров 1П и Q” передается в соответствующие им регистры умножителя, а программируемые
Фиг. 11.10. Программно-управляемые линии связи всех четырех АУ в процессоре FDP.
регистры In, Qn и R” освобождаются, вследствие чего во время умножения п-е АУ может выполнять другие команды. Время умножения в существующем FDP (включая начальную команду MUL) равно длительности исполнения четырех команд. Таким образом, каждый умножитель является как бы специальным дополнительным устройством к соответствующему АУ и не вызывает прерывания его работы до окончания умножения. На фиг. 11.10 показано управление линиями связи всех четырех АУ.
Синхронизация
На фиг. 11.11 представлена диаграмма синхронизации команд.. Время выполнения каждой команды равно 400 нс, но за счет одновременного выполнения нескольких команд эффективное время выполнения команды равно 150 нс. В любой момент времени выполняются те или иные действия, относящиеся к трем различным последовательным командам. Команда выполняется в три этапа:
Вызов команды (из ЗУ Мс).
Декодирование команды, операции с индексными регистрами, принятие решений о переходах.
Пересылки, обращения к памяти, арифметические и логические операции.
На каждом интервале длительностью 150 нс выполняются операции всех трех этапов, но относящиеся, конечно, к трем разным последовательным командам. Поскольку команды вызываются через каждые 150 нс, эффективное быстродействие определяется именно этой величиной, хотя фактическое время выполнения каждой команды равно 400 нс (для выполнения некоторых специальных
Вызов очередной командыВызов очередной командыВызов следующей командыВызов следующей командыДешифровка, операции; .с индексами и регистр рами, подготовка к ^Дешифровка, операции; .с индексами и регистр рами, подготовка к ^Дешифровка предыдущей команды ит.д.Дешифровка предыдущей команды ит.д.Пересылки ит.д. для предыдущей командыПересылки ит.д. для предыдущей командыФиг. 11.11. Временная диаграмма выполнения команд в процессоре FDP-Фиг. 11.11. Временная диаграмма выполнения команд в процессоре FDP-
Вызов очередной команды
Вызов очередной команды
Вызов следующей команды
Вызов следующей команды
Дешифровка, операции; .с индексами и регистр рами, подготовка к ^
Дешифровка, операции; .с индексами и регистр рами, подготовка к ^
Дешифровка предыдущей команды ит.д.
Дешифровка предыдущей команды ит.д.
Пересылки ит.д. для предыдущей команды
Пересылки ит.д. для предыдущей команды
Фиг. 11.11. Временная диаграмма выполнения команд в процессоре FDP-
Фиг. 11.11. Временная диаграмма выполнения команд в процессоре FDP-
команд требуется больше 400 нс, но основной интервал синхронизации не меняется).
Вследствие рассмотренного временного перекрытия операции типа перехода, синхронизируемые таким же образом, могут изменить последовательность выполнения команд только после вызова команды, следующей непосредственно за командой перехода. Для повышения эффективности эта последующая команда не прерывается, а выполняется до конца, и поэтому переход к новым адресам в Мс начинается через одну команду после команды перехода. Таким образом, команда перехода, завершающая некоторый цикл, должна быть в этом цикле не последней, а предпоследней.
Команды типа пропуска (SKIP) отменяют исполнение следующей за ними команды, так что время, затрачиваемое на операции с этой последующей командой, не зависит от результата выполнения команды пропуска. Специальная команда (находящаяся в левой половине кода двойной команды) пропуска при переходе SOJ (skip on jump), не связанная с обращением к ЗУ, означает, что если правая половина команды соответствует переходу, то при выполнении перехода последующая команда отменяется. Таким образом, команда SOJ в сочетании с командой перехода выполняется как обычная команда перехода, но при этом затрачивается 300 нс, если переход происходит, и 150 нс, если перехода не происходит.
Обзор методов увеличения быстродействия,использованных в FDP
Перечислим методы, использованные в FDP' для ускорения обработки:
Параллельная работа ЗУ данных Ма и Mb позволяет вдвое сократить число циклов обращения к памяти. Так, во внутреннем цикле БПФ в арифметическое устройство, выполняющее базовую операцию БПФ, необходимо ввести два комплексных числа и затем вывести в ЗУ два комплексных результата. В FDP для этого используются четыре цикла обращения к памяти, тогда как без распараллеливания ЗУ потребовалось бы восемь циклов.
Поточное выполнение команд позволяет вызывать их через каждые 150 нс. Все команды (кроме умножения) полностью выполняются за 400 нс, т. е. поточная обработка приводит к 8/3-крат- ному увеличению быстродействия. При проектировании FDP было принято, что поточная обработка используется для всех команд. Это облегчает определение времени выполнения любых программ. С помощью дополнительных аппаратурных связей можно было бы проводить обработку поточным способом только для определенных последовательностей команд и видов данных. Недостаток такого подхода заключается в усложнении расчета
Пересылки, вычисления, обращения кЗУ
Пересылки, вычисления, управление
-18 разрядов
18 разрядов
Правая половина, команды
36-разрядный код команды
Фиг. 11.12. Допустимые сочетания команд.
времени выполнения программы, что затрудняет программирование задач обработки в реальном времени.
Применение многоцелевых команд сокращает необходимое число тактов, так как некоторые команды, например команды обращения к памяти и условного перехода, можно вызывать и выполнять одновременно. Понятно, что выполнение команды условного перехода определяется результатами предыдущих команд, но не зависит от команды, выполняемой одновременно с ней. На фиг. 11.12 приведены допустимые сочетания операций, задаваемых левой и правой половинами 36-разрядного слова кода команды.
Четырехкратное распараллеливание арифметики также уменьшает число тактов, хотя в этом случае в отличие от других перечисленных методов ускорения процессора дать количественную оценку увеличения быстродействия довольно трудно. Такую оценку можно получить непосредственным расчетом, составив программы для типичного алгоритма и рассчитав время их выполнения в предположении, что используются одно, два или четыре АУ.
В качестве простейшего примера рассмотрим задачу суммирования N чисел. Допустим сначала, что имеются всего одно ЗУ и одно АУ, причем регистр R очищен. Программа в этом случае имеет вид
Мд-> I BACK -> МА -> I NO-OPМд-> I BACK -> МА -> I NO-OPNO-OP *)NO-OP *)JNX BACKJNX BACKI + R R HALTI + R R HALT
Мд-> I BACK -> МА -> I NO-OP
Мд-> I BACK -> МА -> I NO-OP
NO-OP *)
NO-OP *)
JNX BACK
JNX BACK
I + R R HALT
I + R R HALT
Символ JNX означает условный переход (и добавление к индексу единицы), если в индексном регистре X содержится отрицательное число; в противном случае переход не выполняется. Главная особенность этой несложной программы состоит в том, что третья строка выполняется раньше команды условного перехода, записанной во второй строке. Таким образом, внутренний цикл содержит две команды и выполняется за 300 нс.
Предположим теперь, что имеются два ЗУ (МА и Мв) и два АУ (АУ1 и АУ2), причем регистры Rj и R2 очищены. Пусть, кроме того, суммируемый массив разделен на две половины, содержащие по А/2 чисел и хранящиеся в ЗУ Мд и Мв. Программа имеет вид
МА -> 11, Мв ~> I2 ; NO-OP
BACK-> МА-> In Мв->12 ; JNX БАСК
NO-OP; Ы-Ri -> R,, I2 + R2 R2
HALT
Внутренний цикл снова состоит из двух команд, но, поскольку АУ1 и АУ2 работают параллельно, число его повторений умень шается вдвое; после окончания цикла рассчитывается сумма Rj + + R2. Таким образом, удвоение числа арифметических и запоминающих устройств почти вдвое увеличивает быстродействие.
Мд-
* Ii,
Мв -
*I2
>
Мд-
> 1з,
MB -
> I4
MA-
> II,
Mb —
> I2
>
BACK -
> Мд-
> Is,
MB—
> I4
>
M. -
>11,
MB —
> I2
NO-OPNO-OPПри наличии четырех АУ программа имеет вид
NO-OP
NO-OP
NO-OP
Rn + Li ~> Bn для всех п
JNX BACK
Bn + In "> Bn
HALT
Примечательно, что внутренний цикл по-прежнему состоит из двух команд, т. е. программа выполняется вдвое быстрее предыдущей и в четыре раза быстрее программы для одного АУ. Эти простые примеры подтверждают, что способ задания команд, принятый в FDP, позволяет эффективно использовать возможности параллельной арифметики FDP.
Во всех приведенных программах опущены команды адресации памяти и установки нужных значений индексов. Однако в дан ном элементарном случае никаких дополнительных команд не требуется.
Выполнение быстрого преобразованияФурье с помощью FDP
При проектировании FDP одной из главных задач было обеспечение наибольшей универсальности машины и одновременно мак симальной ее приспособленности к выполнению алгоритма БПФ Полезно рассмотреть, какие операции составляют внутренний цикл БПФ, а также выяснить, насколько компактной получается программа на языке программирования, принятом в FDP. Предположим сначала, что коэффициенты хранятся в регистрах Q. Тогда для ввода чисел в АУ и вывода результатов в ЗУ необходимы два цикла чтения и два цикла записи, т. е. всего четыре команды обращения к памяти. Для выполнения всех четырех умножений достаточно одной команды, но длится умножение три (двойных) такта. Необходимо также выполнить шесть сложений — два при комплексном умножении и четыре при сложении двух пар комплексных чисел. Для этого нужны еще две команды. Кроме того, пришлось ввести три команды для индексации, одну команду условного перехода и одну для проверки переполнения. Объединим эти данные в таблицу.
Тип команды
Количество команд
Обращение к памяти
Умножение
Сложение
Индексация
Условный переход
Проверка на переполнение
4
6
2
3
1
1
Всего
17
Оказывается, что внутренний цикл на языке FDP можно записать в восьми строках (без проверки на переполнение достаточно пяти строк), т. е. в виде 16 команд. Это представляется невозможным, так как в таблице перечислено 17 команд, или 8,5 строк. Но если вспомнить, что умножитель имеет свои регистры и умножение происходит в отдельном блоке, так что арифметические устройства в это время могут выполнять другие действия, то становится понятным, что одновременно с выполнением одной базовой операции БПФ возможно исполнение некоторых команд последующей базовой операции.
Насколько в структурах типа FDP можно ускорить выполнение базовой операции? Мы видим, что при этом необходимы четыре обращения к памяти (два для считывания и два для записи). Следовательно, FDP всего вдвое уступает в быстродействии специализированным устройствам, построенным на тех же элементах и имеющим аналогичную структуру. Ниже (при рассмотрении LSP2) будет показано, что можно создать как специализированные, так и универсальные вычислительные устройства с большим быстродействием.
Для обработки сигналов может быть использована также программа рекурсивной цифровой фильтрации. FDP, являющийся программируемым вычислительным устройством, позволяет выполнить обработку по любому подобному алгоритму. В качестве оценки среднего числа команд, необходимых для моделирования цифрового резонатора с двумя полюсами, можно принять восемь команд (или 1,2 мкс). Интересно отметить, что расчеты, связанные с моделированием фильтра связанной формы, занимают не больше времени, чем для фильтров прямой или канонической формы, хотя для первой требуется двое больше умножений. Объясняется это тем, что все четыре умножителя могут работать одновременно.
Подпрограммы для действий с плавающей запятой
FDP оперирует 18-разрядными числами с фиксированной запятой, но позволяет также выполнять действия над числами, имеющими плавающую запятую. В последнем случае сложение занимает около 6,5 мкс, изменение знака — 1,5 мкс, умножение — около 2,0 мкс, деление — около 10 мкс. Эти величины приблизительные, так как продолжительность операции зависит от значений обрабатываемых чисел.
Под обрабатываемые массивы в FDP отводятся два блока памяти МА и Мв объемом по 4096 слов каждый. Отсюда следует, что БПФ массива, содержащего более 2048 точек, нельзя выполнить без обращения к большей памяти. Роль этой дополнительной памяти большего объема играет ЗУ Ml, подключенное к каналу ввода— вывода FDP. Рассмотрим, как выполняется БПФ с использованием
Повторить l раз
Фиг. 11.13. Вычисление БПФ большого массива с использованием магнитного ЗУ большого объема в составе FDP.
ЗУ Мь. В гл. 6 было показано, что если представить данные в виде двумерной матрицы размером L X М, причем N = LM, то БПФ всего массива можно получить, найдя БПФ отдельных строк, перемножив все коэффициенты на поворачивающие множители и выполнив затем БПФ столбцов. Поскольку поворачивающих множителей N, их следует хранить в Ml вместе с обрабатываемым массивом и при считывании очередной строки данных в ЗУ FDP вместе о ней должна передаваться и соответствующая строка поворачивающих множителей. После поворота эта строка пересылается обратно в Ml. Таким образом, для обработки (включая повороты всех строк матрицы) требуется 3N циклов обращения к памяти Ml. Как видно из фиг. 11.13, еще 2N циклов потребуется для вычисления БПФ столбцов и пересылки результатов в память Ml. Полагая, что поворот занимает столько же времени, что и выполнение базовой операции, и обозначая это время через ть, а время, затрачиваемое на обмен информацией между FDP и Ml, — через Т™, получим следующее выражение для времени выполнения БПФ всего массива:
^ ~ —^-(log2 Л^ + 2) + (11.3)
Если, например, N = 65 536 = 216 и ть = 1,2 мкс, то Т = 0,87 с, причем большую часть этого времени занимает выполнение базовых операций, необходимых в любом случае. Время, затрачиваемое только на выполнение (У/2) log2 N базовых опера-
ций (если весь массив данных помещается в ЗУ FDP), составляет Т = 0,629 с. Отсюда можно было бы сделать вывод, что ограничение объема быстродействующей памяти FDP не слишком замедляет вычисление БПФ больших массивов, когда массивы хранятся в большом ЗУ с произвольным доступом, подключенном к FDP в качестве устройства ввода—вывода. С таким заключением не следует, однако, спешить. Заметим, что если время Тт обращения к внешней памяти Ml слишком велико, так что bNTm превышает первое слагаемое суммы (11.3), то Тт становится ограничивающим фактором. В FDP Тт может составлять, например, 1,6 или 3,2 мкс (в зависимости от режима работы). При Тт = 1,6 мкс и N = — 65 536 время обмена 5NTm = 0,52 с, т. е. меньше времени счета и не играет существенной роли. При Тт = 3,2 мкс, однако, ЫУТт = 1,04 с, т. е. именно оно ограничивает скорость обработки.
"Упражнение. Пусть объем памяти FDP равен 1024 числам и необходимо выполнить 1024-точечное БПФ, используя Ml- Считая, что ть = 1,2 мкс, хт = 0,5 мкс и Тт = 3,2 мкс, определите время обработки. Сравните результат со временем вычисления БПФ того же массива в FDP при большем объеме быстродействующей памяти.
Упражнение. Несколько более сложным вариантом предыдущей задачи является выполнение БПФ большого объема в реальном времени. Попытайтесь перечислить основные действия (и определить длительность их выполнения), необходимые для такой обработки. Составьте блок-схему программы. В результате должна получиться система с одним входом и одним выходом, причем отсчеты сигнала последовательно поступают на вход, а отсчеты спектра последовательно появляются на выходе в реальном времени. Оцените максимальную скорость поступления данных, при которой FDP еще справляется с обработкой.
Обзор особенностей FDP. связанныхс распараллеливанием
В FDP действия над командами, арифметические операции и обращения к памяти выполняются параллельно. В связи с этим пришлось изменить некоторые стандартные команды ЦВМ, а также ввести несколько новых команд. Выше уже упоминались затруднения при выполнении команд перехода, вызванные поточным исполнением команд. В качестве выхода из положения было решено переходить к выполнению команды, следующей за командой перехода, не дожидаясь окончания проверки условия перехода. Такая схема вполне допустима при наличии в тексте программы одиночных (изолированных) команд перехода. Если же встречаются цепочки переходов, то зависимость получаемых результатов от входных
(обрабатываемых) данных настолько сложна, что программисту будет трудно разобраться в работе машины. Для решения проблемы было предложено ввести команду «пропуск при переходе» SOJ (skip on jump), записываемую в левых 18 разрядах, если в правых 18 разрядах записана команда перехода. При этом, хотя проверка условия выполнения перехода еще не закончена, последующая команда вызывается, но пока не исполняется. Следовательно, сохраняется возможность отмены этой команды, если в результате проверки условия перехода выяснится, что переход необходим. Таким образом, за счет команды SOJ переход в FDP становится аналогичным переходу в обычной ЦВМ, но при этом приходится терять 150 нс на вызов отменяемой команды.
В большинстве ЦВМ переходы соответствуют различным арифметическим условиям: в накопителе находится нулевое или отрицательное число, произошло переполнение и т. д. Поскольку в FDP используются четыре арифметических устройства, то ситуация усложняется. Эта трудность преодолевается соответствующим выбором формата команды:
6 8
Переход по арифметическому условиюПереход по арифметическому условиюЕ,Е,
Переход по арифметическому условию
Переход по арифметическому условию
Е,
Е,
Четыре разряда справа определяют, какое АУ является управляющим. Если какое-либо из Ег равно 1, то переход произойдет, когда в соответствующем арифметическом устройстве АУг будет выполнено условие перехода. Если несколько Ег равно 1, то переход происходит согласно логической функции ИЛИ. Так, если El = Е2 = Е3 = Е4 = 1, то( переход по команде JPR (jump if R is positive — переход при положительном R) произойдет, если хотя бы в одном из четырех регистров R окажется положительное число.
Другим методом обработки условий перехода в FDP является использование команды блокировки NUL (nullify). При параллельной работе четырех АУ может потребоваться, чтобы каждое АУ работало по своей программе, зависящей от получаемых результатов (данных). Команда NUL позволяет заблокировать любую совокупность АУ, в результате чего состояния этих АУ не будут изменяться, даже если на них будут поступать соответствующие команды. Код команды NUL имеет следующий формат:
63332
NULАУ1АУ2АУЗАУ4
Для каждого АУ возможны восемь условий блокировки:
ООО не блокировать
001 блокировать, если R = 0
010 блокировать, если R -A 0
011
блокировать, если R )
> 0
100
блокировать, если R 2
9=0
101
блокировать, если R <
С о
110
блокировать, если R s
S0
111
блокировать
В дополнение к команде NUL имеется команда ACT (activity) снятия блокировки с АУ, по условию или безусловно отменяющая блокировку АУ. Обе команды — NUL и ACT — исполняются с задержкой на время выполнения одной команды, что позволяет выполнить в АУ две команды после проверки условия выполнения команды NUL и одну после проверки условия выполнения команды ACT.
Еще одна трудность связана с разделением памяти на ЗУ программы и ЗУ чисел, а также с наличием синхронного поточного обращения к ЗУ Мс. Такое обращение может привести к сбоям, если разрешается как считывание, так и запись в Мс. Если же запись не разрешается, то программы нельзя изменять, а это весьма неудобно. Например, программы БПФ и обратного БПФ отличаются лишь пятью или шестью командами. Кроме того, программа может быть большой и не помещаться в 512 ячейках, имеющихся в Мс. Поэтому, чтобы скорость обработки существенно не изменялась, излишек текста программы следует хранить в ЗУ Мд и Мв, предусмотрев возможность быстрого считывания из этих ЗУ в Мс. В FDP это обеспечивается командой пересылки массива, при выполнении которой управление передается специальному устройству, единственной задачей которого является пересылка команд из ЗУ МА и Мв в ЗУ Мс. Число пересылаемых команд и их размещение в ЗУ задаются кодом команды пересылки массивов.
При описании FDP уже отмечалось, что процессор оперирует с 18-разрядными словами. Следует, однако, помнить, что полная длина слова команды равна 36 разрядам, а так как к ЗУ Мд и Мв можно обращаться для записи или считывания одновременно, то в распоряжении программиста имеются и 36-разрядные числа. Более того, наличие четырех АУ позволяет формировать и обрабатывать 72-разрядные числа. Предусматривая все эти варианты, проектировщики постарались обеспечить в FDP широкие возможности для программного изменения точности вычислений. Для этого используется команда объединения LNK (link). С ее помощью можно разряд переноса передать из АУп+1 в АУП, а с применением команд сдвига — перемещать числа из АУп+1 в АУП и обратно. Например,команда LNK используется для сложения 36-разрядных чисел. Первыми складываются младшие 18 разрядов, а затем — старшие. Если в команде LNK все четыре определяющих разряда — единицы, то все 72 разряда в четырех регистрах R можно сдвинуть (по кольцу) вправо или влево на один разряд, используя только одну 18-разрядную команду.
Процессор Линкольновской лаборатории LSP2 (Lincoln Signal Processor 2) для обработки сигналов
Разработка FDP в значительной мере была экспериментом, позволившим накопить опыт применения параллелизма при обработке сигналов. В целом эту разработку можно считать успешной и полезной,так как она доказала, что подобное сочетание гибкости и быстродействия в среднем более выгодно, чем высокое быстродействие без гибкости или гибкость без быстродействия.Кроме того, приобретенный опыт позволяет разрабатывать и более эффективные системы обработки сигналов. Чтобы показать это, рассмотрим сначала структуру FDP. Во-первых, следует отметить, что в FDP, как и в большинстве универсальных ЦВМ, много времени расходуется на обращение к памяти, индексацию и переходы. Во-вторых, для эффективного использования четырех параллельных АУ приходится с большими затратами времени составлять весьма сложные программы. (Накопление библиотеки стандартных программ впоследствии ускорит процесс программирования.) В-третьих, FDP построен на базе ЭСЛ-микросхем с невысокой степенью ищ теграции, быстродействие которых примерно вдвое ниже, чем у современных улучшенных ЭСЛ-микросхем. Предварительный анализ показал, что можно построить процессор большей мощности, более дешевый и компактный и проще программируемый, чем FDP. В-четвертых, при проектировании FDP много внимания уделялось упрощению системы ввода—вывода, которая, однако, оказалась неудобной для работы в реальном времени. В-пятых, объем памяти FDP ограничен архитектурой процессора. В-шестых, структура FDP малопригодна для обработки чисел с плавающей запятой, а также для выполнения программ численного анализа, требующих высокой точности.
При разработке процессора LSP2 была сделана попытка за счет использования более современных элементов устранить некоторые из перечисленных недостатков. Общая структурная схема процессора изображена на фиг. 11.14. Основой схемы является распределительная система, содержащая три шины. К ней подключены быстродействующее ЗУ небольшой емкости Mr, различные функциональные блоки и ЗУ большого объема Ms, связанное с внешними устройствами и ЗУ программы Мр.
Перечислим некоторые соображения, определившие структуру LSP2:
Быстродействующее ЗУ Mr вводится для того, чтобы освободить многие операции с индексами и обращения к памяти от вычислений, необходимых для этих операций. Для пояснения введем сначала формат команды обращения к ЗУ Mr:
КОП
А
В
D
Она содержит адреса А, В и D трех полей памяти Mr, а также код КОП, определяющий нужный функциональный блок. По этой команде из двух полей ЗУ MR, обозначен-
Вызоб
Чтение из MR
Вызов
Сложение
Чтение из MR
Сложение
ДЗапись е MR
Вызов
Чтение из MR
„ ^Запись
Сложение ]eMR
Фиг. 11.15. Временная последовательность выполнения операций в процессоре LSP2.
ных через А и В, извлекаются два числа и по шинам А и В передаются на входы выбранного функционального блока. Результат (умножения, сложения и т. д.) поступает на шину D и записывается в ЗУ Mr по адресу D. Все это происходит за один командный цикл, длительность которого (в зависимости от исполняемой операции) составляет от 60 до 150 нс. На фиг. 11.15 схематично показано, как осуществляется управление при выполнении команд. Для примера рассмотрены три последовательных сложения. После вызова команды, занимающего 60 нс, за 30 нс числа извлекаются из памяти Mr и подаются на шины А и В. Для обеспечения такого быстродействия память MR содержит два независимых ЗУ для адресов А и В, обращение к которым происходит одновременно. Вслед за этим производится собственно сложение, занимающее 20 нс. Результат операции возвращается в Mr не сразу: сначала он заносится во вспомогательный регистр, а записывается в Mr во время выполнения следующей команды. Такой прием позволяет сэкономить время, уходящее на запись в Mr. Трудностей с условными переходами не возникает, поскольку результат
Универсальные устройства в системах обработки сигналов 725 сложения имеется во вспомогательном регистре, из которого поступают данные, требующиеся при вызове условного перехода.
Преимущества использования быстродействующей оперативной памяти Мв обусловлены тем, что с ее помощью можно обрабатывать значительные числовые массивы без обращения к основному ЗУ и даже без индексации. Хорошим подтверждением этому служит выполнение БПФ небольшого объема. Допустим, что Mr содержит 64 слова и нужно выполнить 32-точечное БПФ. После занесения всех 32 чисел в Mr программа БПФ может быть выполнена полностью без обращений к Mg и без переходов. Можно показать, что в этом случае БПФ вычисляется в LSP2 почти в шесть раз быстрее, чем в FDP. С учетом того, что LSP2 гораздо проще (но работает почти вдвое быстрее), такое улучшение архитектуры системы следует считать значительным шагом вперед.
Введение функциональных блоков связано с успехами в области создания быстродействующих микросхем. Это позволило ввести в процессор больше элементов, используемых только для арифметических операций, и не загружать их реализацией множества других функций. На первый взгляд такой подход кажется менее экономичным, но экономия на схемах управления, упрощение структуры и увеличение модульности процессора оправдывают его. Например, при наличии функционального блока с двумя умножителями для выполнения базовой операции БПФ требуется шесть команд. Если же имеется блок умножения комплексных чисел, то для получения того же результата достаточно трех команд. Аналогично нетрудно ввести и другие специализированные функциональные блоки. Так, некоторые образцы LSP2, предназначенные для ускорения решения некоторых частных задач, могут иметь специализированные блоки деления или извлечения квадратного корня. В большинстве ЦВМ добавление специализированных функциональных блоков связано с расходами на переходные (согласующие) устройства. В LSP2 такие блоки являются просто сменными узлами.
В LSP2 основным ЗУ является Mg. В зависимости от размеров машины адрес может состоять из 12 или 16 разрядов. С помощью специального переключения предусмотрено увеличение разрядности адресов с 12 до 16. Адресация ЗУ Mg может быть прямой в соответствии с кодом команды либо косвенной с учетом регистров Mr. Это означает, что Mr играет сразу две роли: служит памятью для обрабатываемых чисел и запоминает индексы, т. е. для этих действий не требуется параллельно работающих блоков. Но это также означает, что вычисления и операции с индексами нельзя проводить одновременно, как в FDP, поэтому для LSP2 могут потребоваться дополнительные команды. Однако в силу принципиально последовательной логики работы LSP2 программирование для него должно быть более простым.
Связь машины с внешними устройствами осуществляется через память Мд. ЗУ имеет две входные и две выходные линии передачи данных, а также шесть управляющих (командных) линий, соединяющих его с другими устройствами. Поскольку многие операции выполняются с помощью Mr без привлечения Мд, а вводом и выводом управляют два отдельных устройства, LSP2 может весьма эффективно работать в реальном времени. Имеется в виду, что обе части программы (как вычислительная, так и осуществляющая ввод—вывод) выполняются без потерь времени. В частности, в LSP2 имеются возможности приоритетного прерывания и прямого доступа к ЗУ Мд, что позволяет объединять несколько процессоров для параллельной, причем весьма эффективной работы.
В настоящее время система LSP2 находится в стадии разработки и, чтобы оценить ее характеристики, необходимо накопить опыт работы с ней. Этот краткий обзор приведен здесь потому, что разработка LSP2 является естественным следствием опыта, накопленного при работе с FDP, а также продолжающегося развития техники быстродействующих микросхем.
Лабораторная вычислительная системадля цифровой обработки сигналов
В настоящей главе в основном рассматривались способы ускорения обработки сигналов с помощью универсального оборудования (фактически быстродействующей ЦВМ, работающей с большими числовыми массивами), которое подключается к лабораторной универсальной мини-ЦВМ. Обычно большая часть вычислений производится в быстродействующем процессоре, а на мини-ЦВМ с ее периферийным оборудованием возлагается задача обеспечения ввода—вывода всевозможных сигналов. В данном разделе рассматривается с точки зрения возможностей ввода—вывода лабораторная система, основанная на мини-ЦВМ.
На фиг. 11.16 представлена блок-схема вычислительного комплекса отдела акустики фирмы Bell Laboratories, скомпонованного на базе мини-ЦВМ типа Honeywell DDP-516. Эта вычислительная машина выполнена на интегральных схемах, имеет цикл обращения к памяти 0,96 мкс и оперирует с 16-разрядными словами. Объем ее оперативной памяти на магнитных сердечниках равен 16К. Имеются аппаратурные средства для умножения и деления, мультиплексный канал управления (МК) с 16 подканалами передачи данных (с быстродействием по 0,25 МГц), а также канал прямого доступа к памяти (КПДП) с пропускной способностью до 1 МГц. Математическое обеспечение машины включает транслятор с языка ФОРТРАН IV, Ассемблер (автокод), библиотеку стандартных программ, вводимую извне перемещаемую программу-загрузчик и различные вспомогательные программы типа программы отладки.
Пульт управления -кнопки и пере-ключатели
№?hi
Печатающее устройство
Устройство ввода с перфокарт
Каналы ввода данных с телефонных линий
150 Sum/cCF^
2Кбит/с
_ ._ .тосчитыва-./ Адресуемые ющее устроу^^фф входные регистры _/<й^<р°\</<
/W5
160 кП<, мт
15разрядовАЦП
HONEYWELLDDP 516
16 К слов по16разрядов Цикл ЗУ 0,96 мкс Умножение-деление 12 уровней прерывания 1 канал прямого доступа к ЗУ (1 мкс) 16 подканалов мультиплексного канала (4мкс)
кпдлз Г
ж/
М~разрядные данные
Световой карандаш
Диск, 800 К слов
Устройство отображения с шаговой разверткой
ооооо
III III III
Тклетайп
К другой ЦВМВПР-516АдресуемыеJ^C^S>\ выходныеЛ^^^д^^^оегистры
Синхрони-
.г.,™ затор2
(период и дание интер- (период и каналы) валовдреры- каналы)
Синхронизатор 1
Синхронизатор 3(за-
ван\
Коммутатор
40 аналоговых входов
4 аналоговых выхода
АКУСТИЧЕСКАЯ
КАБИНА
Синхрогенератор с программным управлением, периоды от 1 до 2” мкс
200 к.Щ, ЧАП 15 разрядов
Коммутатор
ЛИГ г
16 аналоговых выходов
Фиг. 11.16. Вычислительная система для цифровой обработки сигналов.
Опыт показал, что при использовании мини-ЦВМ весьма желательно дополнить ее базовый комплект различными периферийными устройствами. В рассматриваемой системе к мини-ЦВМ подключены:
Два диска емкостью по 394К слов с фиксированными головками, временем доступа не более 33 мс и частотой обмена ~180 тыс. слов/с.
Четыре независимых канала преобразования цифровых сигналов в аналоговые с программным изменением частоты синхронизации в пределах от 0 до 180 кГц.
15-разрядный аналого-цифровой преобразователь (АЦП) с частотой дискретизации 180 кГц и 40-канальный коммутатор с предельной частотой 100 кГп.
Устройство отображения с шаговой разверткой, управляемое с диска. Оно оказалось почти незаменимым при визуальном исследовании колебаний, спектров и т. д.
Устройство ввода с перфокарт и выдачи на перфокарты (для исправления программ вне ЦВМ) с быстродействием 300 карт/мин.
Печатающее устройство для распечатки результатов и отладочного материала.
Накопитель на магнитной ленте для хранения больших программ и массивов чисел.
Устройство считывания с перфолент для ввода программ, поставляемых изготовителем Машины.
Операционная система — дисковая; она хранится на диске в защищенной от записи зоне объемом 48 К слов. Резидентная программа-загрузчик объемом в 15 слов, прошитая на магнитных сердечниках, обеспечивает удобный доступ к программам, хранящимся на диске. Весьма сложная система графического отображения позволяет использовать кинескоп с шаговой разверткой для отображения текста, колебаний и различной графической информации. Графические изображения результатов на бумаге могут быть получены через центральный процессор после предварительного вывода данных из оперативной памяти на магнитную ленту.
Как уже отмечалось, для эффективного использования быстродействующего процессора (подобного описанным в данной главе) необходимо иметь хорошую систему ввода—вывода, обеспечивающую отладку и работу с программами. В этом отношении разнообразные периферийные устройства, перечисленные выше, оказались весьма полезными.
ЛИТЕРАТУРА
Gold В., Lebow I. L., McHugh Р. G., Rader С. М., The FDP, A Fast Programmable Signal Processor, IEEE Trans, on Computers, C-20, 33—38 (Jan. 1971).
Hornbuckle G. D., Ancona E. I., The LX-1 Microprocessor and its Application to Real-Time Signal Processing, IEEE Trans, on Computers (Aug. 1970).
Gschwind H. W., Design of Digital Computers, Springer-Verlag, Austria, 1967, pp. 235—243.
Blankenship P., Gold B., McHugh P., Weinstein C. J., Design Study of the Advanced Signal Processor, Lincoln Lab. Tech. Note, 1972-17, 1972.
ГЛАВА 12
ЦИФРОВАЯ ОБРАБОТКАРЕЧЕВЫХ СИГНАЛОВ
Введение
Одной из наиболее важных областей применения цифровых методов является обработка речевых сигналов. Фактически значительная часть теоретических результатов, составляющих основу цифровых методов обработки сигналов, была получена исследователями, изучавшими речевые сигналы. Ниже мы увидим, что цифровая обработка использовалась для решения широкого круга вопросов, включая спектральный анализ, полосные вокодеры, гомоморфные системы обработки, синтезаторы речи, системы линейного прогнозирования и системы голосового управления вычислительными машинами. В данной главе достаточно подробно рассмотрено несколько типичных речевых систем, при создании которых важную роль сыграла цифровая обработка. В главу включены примеры как аппаратурной, так и программной реализации систем обработки речи. Прежде чем перейти к конкретным примерам, будет дан обстоятельный обзор моделей образования речи.
Модель образования речи
На фиг. 12.1. изображена схема, описывающая механизм образования речи в человеческом организме. При разговоре грудная клетка расширяется и сжимается, прокачивая поток воздуха из легких по трахее через голосовую щель. Если голосовые связки напряжены, как при образовании звонких звуков типа гласных, то они вибрируют подобно релаксационному генератору и модулируют поток воздуха, превращая его в короткие импульсы (порции). Если голосовые связки расслаблены, воздух свободно проходит через голосовую щель, не подвергаясь модуляции. Воздушный поток проходит через глоточную полость мимо основания языка и в зависимости от положения мягкого нёба — через ротовую и (или) носовую полости. Поток воздуха выходит наружу через рот или нос (или обоими путями) и воспринимается как речь. В случае глухих звуков, таких, как s в слове snow или р в слове pit, голосовые связки расслаблены. При этом возможны два
Мускульная сила
Фиг. 12.1. Схема механизма образования речи (по Фланагану).
режима: либо образуется турбулентный поток, когда воздух проходит через сужение в голосовом тракте (как при образовании звука s), либо возникает короткий взрывной процесс, вызванный повышенным давлением воздуха за точкой перекрытия голосового тракта (как в звуке р). При изменении положения артикуляторов {губ, языка, челюсти, мягкого нёба) во время произнесения непрерывной речи форма отдельных полостей голосового тракта существенно меняется. На рентгеновском снимке (фиг. 12.2) голосового тракта мужчины показано положение некоторых артикуляторов и пунктиром обведены контуры отдельных полостей.
Голосовой тракт человека представляет собой неоднородную акустическую трубку, простирающуюся от голосовой щели до губ. У взрослого мужчины она имеет длину около 17 см и частота
Фиг. 12.2. Рентгеновский снимок голосового тракта мужчины (по Фланагану).
1 — язык; 2 — рот; з — ноздри; J — мягкое небо; 5 — надгортанный хрящ; 6 — кольцеобразный хрящ; ? — голосовая щель; 8 — трахея.
ее первого (четвертьволнового) резонанса равна
(12.1)(12.1)„1с1 34000 см/с
(12.1)
(12.1)
F^—— = -—— = 500 Гц.
14 Z417 см
Площадь поперечного сечения акустической трубки неодинакова и зависит от положения артикуляторов, изменяясь от 0 до 20 см2. Голосовой тракт имеет некоторые устойчивые виды резонансных колебаний, называемые формантами, которые существенно зависят от расположения артикуляторов. Профили голосового тракта для некоторых гласных и типичные для них значения частот первых трех формант (в Гц) схематически представлены на фиг. 12.3. Спектры этих гласных показаны на фиг. 12.4. Они содержат отчетливые резонансы. Полезно отметить, что при восприятии звуков на слух основную роль играют только первые три форманты.
Форматные частоты
Машинописный символ гласного звука
Символ по системе IPA
Типичное слово
Ft
f»
F3
1Y
!
(beet)
270
2290
3010
1
I
(bit)
390
1990
2550
Е
ъ
(bet)
530
1840
2480
АЕ
ЭВ
(bat)
660
1720
2410
ин
Л
(but)
520
1190
2390
А
а
(hot)
730
1090
2440
OW
J
(bought)
570
840
2410
и
и
(food)
440
1020
2240
ОО
у
(boot)
300
870
2240
ER.
3"
(bird)
490
1350
1690
U (FOOT)U (FOOT)I (IT)I (IT)G ( FATHER)G ( FATHER)U (boot)U (boot)0(ALL)0(ALL)e(met)e(met)0 (obey)0 (obey)5 (BIRD)5 (BIRD)
U (FOOT)
U (FOOT)
I (IT)
I (IT)
G ( FATHER)
G ( FATHER)
U (boot)
U (boot)
0(ALL)
0(ALL)
e(met)
e(met)
0 (obey)
0 (obey)
5 (BIRD)
5 (BIRD)
Фиг. 12.3. Схематические профили голосового тракта и таблица формантныхчастот для некоторых гласных (по Фланагану).
Относительный уровень, иБОтносительный уровень, иБФиг. 12.4. Спектры некоторых гласных (по Фланагану).Фиг. 12.4. Спектры некоторых гласных (по Фланагану).
Относительный уровень, иБ
Относительный уровень, иБ
Фиг. 12.4. Спектры некоторых гласных (по Фланагану).
Фиг. 12.4. Спектры некоторых гласных (по Фланагану).
хотя высшие форманты и необходимы для обеспечения качества звучания. На этом факте основана работа нескольких систем сжатия полосы речевого сигнала, которые будут рассмотрены ниже.
Как уже упоминалось, существуют три основных механизма возбуждения голосового тракта. Для звонких звуков источник находится в голосовой щели и состоит из широкополосных квази- периодических порций воздуха, формируемых колеблющимися голосовыми связками. Для глухих звуков типа s источник находится в точке сужения голосового тракта и является турбулентным квазислучайным воздушным потоком. И наконец, для глухих звуков типа р (как в слове pop) источник расположен в точке перекрытия голосового тракта и образуется под действем скачка давления за точкой перекрытия тракта.
Предположение о независимости вида источника возбуждения и характеристик голосового тракта является основным почти для всех систем обработки речи. Именно эта независимость источника и тракта и позволяет ввести передаточную функцию голосового тракта и рассматривать его возбуждение любым из трех источников.
Фиг. 12.5. Цифровая модель образования речи (по Шаферу).
В большинстве случаев это предположение вполне допустимо. Однако в некоторых случаях (например, для глухих взрывных звуков, таких, как р в слове pot) оно неверно, и основная модель образования речи становится непригодной. В большей части данной главы будем считать, что предположение о независимости источника и тракта справедливо. В этом случае можно построить простую цифровую модель образования речи (фиг. 12.5). Источниками возбуждения служат генератор импульсов с внешней синхронизацией с периодом основного тона, а также генератор случайных чисел. Генератор импульсов через каждые No отсчетов вырабатывает импульс, соответствующий очередной порции воздуха. Интервал между импульсами называется периодом основного тона. Он равен величине, обратной частоте следования порций воздуха или частоте колебания голосовых связок. Выходная последовательность генератора случайных чисел имитирует и квазислучайный турбулентный поток, и спад давления при образовании глухих звуков.
Каждый из источников (или оба) может быть соединен со входом линейного цифрового фильтра с переменными параметрами, моделирующего голосовой тракт. При этом коэффициенты фильтра отражают свойства голосового тракта в зависимости от времени при непрерывной речи. В среднем через каждые 10 мс коэффициенты фильтра изменяются, отражая тем самым изменение состояния голосового тракта.
Регулировка усиления, введенная между источниками и фильтром, позволяет управлять громкостью выходного сигнала. Последовательность на выходе фильтра эквивалентна речевому сигналу, дискретизованному с соответствующей частотой.
Для управления такой моделью необходимо знать зависимость соответствующих параметров (частоты основного тона, положения переключателя, громкости и коэффициентов фильтра) от времени. Основной задачей почти всех систем анализа речи является оценка параметров модели по реальной речи. Задача большинства систем синтеза речи состоит в том, чтобы, используя эти параметры, полученные некоторым способом, образовать искусственный речевой сигнал, неотличимый на слух от настоящей речи. В системах анализа—синтеза эти две задачи решаются совместно с общей целью увеличения эффективности (т. е. понижения частоты дискретизации в системе синтеза до величины, меньшей, чем при обычном представлении речевых сигналов) и гибкости (т. е. возможности изменять речь некоторым желаемым образом путем управления параметрами модели). В последующих разделах этой главы обсуждаются различные аспекты нескольких систем, разработанных с учетом этих соображений.
Кратковременный спектральный анализ
Преобразование Фурье последовательности х (пТ), —оо «<п«< «< оо, определяется ^<ак
Х1е^ = 2 х (пТ) е-^^.(12.2)
71=-ОО
Как было показано в гл. 6, для нестационарных сигналов типа речевых сигналов преобразование Фурье не имеет смысла, так как спектр речи изменяется во времени. Более полезной характеристикой распределения энергии речевого сигнала является преобразование Фурье на коротком интервале, определяемое как
Х(и,пГ) = 2 x(rT)h(nT-rT)e-^Tl. (12.3) 7= — оо’
Равенство (12.3) можно рассматривать как фурье-преобразование речевого сигнала на бесконечном интервале, если выделить вблизи момента времени пТ участок конечной длины с помощью весовой функции («временного окна») вида 1г (пТ) (фиг. 12.6). Используя свертку, равенство (12.3) можно записать иначе:
Х(ю, nT) = \x(nT)e~^nT}*h (пТ).(12.4)
Левую часть равенства (12.3) можно представить в виде
X (to, пТ^ = a (to, пТ^ — jb (to, пТ\(12-5)
Фиг. 12.6. Представление кратковременного спектрального анализа.Фиг. 12.6. Представление кратковременного спектрального анализа.
Фиг. 12.6. Представление кратковременного спектрального анализа.
Фиг. 12.6. Представление кратковременного спектрального анализа.
где a (со, пТ) и Ъ (со, пТ^ — действительная и мнимая части кратковременного фурье-преобразования, равные
а(со, пТ) = 2 x^rT^HtjiT— г 71) cos cor 71,(12.6а)
Т—-ОО
Ь(<о, пТ) = 2 x(rT)h(nT — rT) sin югТ.(12.66)
г= — оо
Из этих формул вытекает простой способ измерения кратковременных преобразований, который иллюстрируется на фиг. 12.7. Обычно Н (&®т), преобразование Фурье от К (пТ), выбирают таким образом, чтобы аппроксимировать идеальный фильтр нижних частот с частотой среза оос, показанный на фиг. 12.8. Тогда X (со, п Г) соответствует энергии речевого колебания на частоте со в момент времени пТ. Точнее, энергия измеряется в полосе частот от со — сос ДО СО + (0с.
В большинстве систем для спектрального анализа речи кратковременное преобразование желательно измерять на Nчастотах, которые обычно располагаются в полосе 0^ соТ1 ^ 2л равномерно. С этой целью описанные выше измерения проводятся для каждой из N частот. Если h (пТ) является импульсной характеристикой
Анализ
х(пТ)х(пТ)sin (а)кпТ)sin (а)кпТ)Фиг. 12.7. Простой метод анализа речевого сигнала, основанный на кратковременном спектральном анализе.Фиг. 12.7. Простой метод анализа речевого сигнала, основанный на кратковременном спектральном анализе.■^а(шк,пТ)■^а(шк,пТ)^Ь(ык,пТ)^Ь(ык,пТ)
х(пТ)
х(пТ)
sin (а)кпТ)
sin (а)кпТ)
Фиг. 12.7. Простой метод анализа речевого сигнала, основанный на кратковременном спектральном анализе.
Фиг. 12.7. Простой метод анализа речевого сигнала, основанный на кратковременном спектральном анализе.
■^а(шк,пТ)
■^а(шк,пТ)
^Ь(ык,пТ)
^Ь(ык,пТ)
Н(е^т)
1
—U)cU)GU)
Фиг. 12.8. Идеальный фильтр нижних частот для кратковременногоспектрального анализа.
КИХ-фильтра, а частоты распределены равномерно, одновременные измерения могут быть выполнены весьма эффективно с применением алгоритма Б ПФ. Чтобы показать это, положим, что И (пТ) отлично от нуля при 0 ^ п ^ М — 1 и что центральные частоты анализа (Од равны
«>k = ^k,k=0, 1^-l.(12.7)
Тогда (12.3) можно переписать следующим образом:
X(tok1nT)= 2 х(цТ^НпТ-тТ^е"^тТ =(12.8а)
г=п-М+1
;[М/^+1 n — mN
= 22 х(гТ)ЦпТ-гГ)е75фьтТ, (12.86)
т=0г=п-(тп+1)2У+1
где [Af/W] означает целую часть от MIN. Положив I = = п — mN — г
получим
X ((Од, пТ) =
[M/N1+1 ^-l
=22 х^пТ-тТ — mNT)h(lT +
7П=01=0
+ mNT) е^1~п+т^т9(12.9)
Подстановка (Од из (12.7) дает
N—l ^MfNHi
Х(сод, пТ^ = е-^«№п 2 [ 2 х^пТ-ТГ-
Z=0m=0
— mNT) h (IT+ mNT) e^NW\.(12.10)
Здесь e?2nm заменено единицей. Формулу (12.10) можно переписать в виде
Х(юд, nT^ = e-^lN^ 2 g(l, n^e^/N)!^(12.11)
1=0
ДПФ
х(пТ-П) h(rT)х(пТ-П) h(rT)x(nT-rT-NT) h(rT+NT)x(nT-rT-NT) h(rT+NT)Фиг. 12.9. Формирование g (г, п) из х (п7") и /г (пТ").Фиг. 12.9. Формирование g (г, п) из х (п7") и /г (пТ").где
х(пТ-П) h(rT)
х(пТ-П) h(rT)
x(nT-rT-NT) h(rT+NT)
x(nT-rT-NT) h(rT+NT)
Фиг. 12.9. Формирование g (г, п) из х (п7") и /г (пТ").
Фиг. 12.9. Формирование g (г, п) из х (п7") и /г (пТ").
[M/2VJ+1
g^n^=2 х^пТ_1Т-
m=0
— mNT)h(lT + mNT). (12.12)
Соотношение (12.11) показывает, что X (toh, пТ) можно получить, перемножив последовательность e-i ^n/N'ihn и ДПФ последовательности g (Z, п\ На фиг. 12.9 иллюстрируется процесс почленного получения последовательности g (г, п) из исходных последовательностей х (гТ) и К (гТу
Таким образом, кратковременный фурье-анализ речевых сигналов может быть выполнен либо непосредственно с использованием гребенки цифровых фильтров, либо косвенно с применением БПФ.
Система анализа — синтеза речи,основанная на кратковременном спектральном анализе
Фиг. 12.10. Схема системы анализа — синтеза, основанной'на кратковременном спектральном анализе.Фиг. 12.10. Схема системы анализа — синтеза, основанной'на кратковременном спектральном анализе.Принципы измерения спектра на коротком временном интервале (текущего спектра) могут быть положены в основу системы анализа-синтеза речи. Основная идея заключается в измерении сиг-
Фиг. 12.10. Схема системы анализа — синтеза, основанной'на кратковременном спектральном анализе.
Фиг. 12.10. Схема системы анализа — синтеза, основанной'на кратковременном спектральном анализе.
ejo)knTejo)knTе^кпТе^кпТФиг. 12.11. Обработка, выполняемая в k-м канале.Фиг. 12.11. Обработка, выполняемая в k-м канале.
ejo)knT
ejo)knT
е^кпТ
е^кпТ
Фиг. 12.11. Обработка, выполняемая в k-м канале.
Фиг. 12.11. Обработка, выполняемая в k-м канале.
налов на выходах гребенки из М полосовых фильтров и восстановлении речи по этим М сигналам. В упрощенной схеме такой системы (фиг. 12.10) входным речевым сигналом является ж (мГ), а синтезированным колебанием!/ (пТу М полосовых фильтров имеют импульсные характеристики hk (пТ), к = 1, 2, ..., М. Последовательности на выходах полосовых фильтров обозначены через ук (пТ), к = 1, 2, ..., М. Если рассматривать только импульсные характеристики полосовых фильтров вида
hk (пТ) = к (пТ) cos (tohniy (12.13)
где h (пТ) — импульсная характеристика фильтра нижних частот (т. е. импульсная характеристика полосовых фильтров равна про- модулированной импульсной характеристике фильтра нижних частот), то последовательности на выходах полосовых фильтров будут равны
ук(пТ) = 2 xirT^h^nT— rT) cos [coft (пТ — гТу = (12.14) Т= — ОО
= Ке[?“^тХ(юк, иГ)]. (12.15)
Здесь X (ioh, пТ) определены формулой (12.3). Таким образом, каждый канал этой системы может быть построен по схеме, приведенной на фиг. 12.11. Поскольку в X ((щ, пТ) можно выделить действительную и мнимую части [см. (12.5)1, то равенство (12.15) приводится к виду
yh (пТ) = a (tohl пТ) cos (шкпТ^-у b (wh, пТ) sin (акпТу (12.16) Соответствующая схема представлена на фиг. 12.12. Пунктирными линиями отмечены точки передачи и приема, если система предназначена для сжатия полосы речевого сигнала. Сплошные линии, заключенные между пунктирными,обозначают канал связи (считается, что он не вносит ошибок). Чтобы добиться сужения полосы, передаваемые параметры a (tok, пТ^ и b (ю^, пТ^ следует квантовать и дискретизовать с меньшей частотой, чем при передаче речевых сигналов. Дальнейшее обсуждение этого вопроса содержится в разд. 12.6.
Фиг. 12.12. Обработка, выполняемая в /с-м канале при использовании действительных чисел.
Особенности анализа речи
Качество представления речи рассматриваемой системой зависит от того, насколько полно гребенка из М фильтров представляет спектр речевого сигнала. Простой способ оценки качества состоит в определении импульсной характеристики всей системы и анализе ее преобразования Фурье. Если обозначить импульсную характеристику гребенки фильтров через К (пТ^ то
мм
2 М^Л^М^Л 2j cos^nT1). (12.17) h=lh=l
Обозначив сумму косинусов в (12.17) через d (пТ), т. е.
м
d(nT) = 2 cos ((ОдиТ),(12.18)
h=l получим
h^nT = KWd(jiT^(12.19)
т. е. импульсная характеристика гребенки фильтров равна произведению импульсной характеристики ФНЧ-прототипа и функции, зависящей только от числа фильтров М и их центральных частот
(Од.~
Чтобы понять насколько хорошо h{nT) аппроксимирует единичный импульс (возможно, с некоторой задержкой), можно проанализировать либо саму характеристику И^пТ^, либо ее преобразование Фурье. В частном случае равномерного расположения фильтров гребенки по частоте, когда
(Од = Асо/с(12.20)
(Део постоянно), d (пТ) можно найти, вычислив сумму (12.18) м
d(nr) = -*-[ 2 ейдшпт-!^(12.21)
h=-M
a (пт) = 1a (пт) = 1sinsinм-Y^м-Y^sin [(Дсо/2) пТ\sin [(Дсо/2) пТ\\(йпТ\(йпТ(12.22)(12.22)
a (пт) = 1
a (пт) = 1
sin
sin
м-Y^
м-Y^
sin [(Дсо/2) пТ\
sin [(Дсо/2) пТ\
\(йпТ
\(йпТ
(12.22)
(12.22)
Если Део = Ял! NT, где N — целое, то последовательность d (пТ) периодична с периодом в N отсчетов. Если же отношение 2л/До)7’ не равно целому числу, то последовательность d (пТ) непериодична, но имеет пики, следующие через NT секунд.
Особенно интересен случай, когда N— целое и нечетное (аналогичные результаты можно получить для четных N), а М — — (N — 1)/2. Поскольку Дю = 2nlNT, то ясно, что этот случай соответствует измерению кратковременного преобразования Фурье на частотах, расположенных равномерно в диапазоне 0< ш<; п/Т. Если в гребенку фильтров ввести также канал с центром на нулевой частоте, то можно показать, что]
d (пТ) =d (пТ) ='sin (лм)sin (лп/ДГ)'sin (лм)sin (лп/ДГ)N, п = 0, i N, + 27V, ..., О при других п.N, п = 0, i N, + 27V, ..., О при других п.(12.23)(12.23)
d (пТ) =
d (пТ) =
'sin (лм)sin (лп/ДГ)
'sin (лм)sin (лп/ДГ)
N, п = 0, i N, + 27V, ..., О при других п.
N, п = 0, i N, + 27V, ..., О при других п.
(12.23)
(12.23)
Итак, в рассматриваемых условиях d (пТ) представляет собой периодическую последовательность импульсов с периодом NT, обратно пропорциональным разнесению каналов по частоте. Поскольку h (пТ) = И (пТ) d (пТ), то ясно, что импульсная характеристика всей гребенки фильтров также является последовательностью импульсов. А так как идеальная импульсная характеристика — это одиночный задержанный импульс, то импульсную характеристику ФНЧ-прототипа h, (пТ) следует выбирать так, чтобы в последовательности d (пТ) остался только один импульс. Зафиксируем Т и N, при этом разнесение частот фильтров До будет фиксировано. Тогда если выбрать импульсную характеристику фильтра-прототипа очень короткой, длиной менее 2N, то суммарная импульсная характеристика будет такой, как показано на фиг. 12.13, а. Здесь же пунктиром изображена импульсная характеристика ФНЧ-прототипа, служащая временным окном для входного сигнала. Она совмещена с последовательностью импульсов, представляющей импульсную характеристику гребенки фильтров. В данном случае эта последовательность состоит лишь из одного импульса. Однако подобные короткие импульсные характеристики Н (пТ) соответствуют довольно широкой полосе ФНЧ, не обеспечивающей нужного частотного разрешения. Если же применять более узкополосные фильтры, то длительность импульсной характеристики гребенки фильтров пропорционально
Фиг. 12.13. Компромисс между разрешением по времени и разрешением по частоте.
увеличится (фиг. 12.13, б), причем она будет состоять из нескольких импульсов, и в синтезированном речевом сигнале появится реверберация. Таким образом, условие хорошего частотного разрешения (т. е. узкие полосы фильтров) вступает в противоречие с условием отсутствия реверберации. Существует, однако, способ, позволяющий (по крайней мере теоретически) в точности согласовать выходной сигнал со входным. Он иллюстрируется на фиг. 12.13, в. Здесь используется более широкополосный фильтр, но принято, что значения h (пТ) в точках, кратных перио-
ду N, должны равняться нулю. В этом случае суммарная импульсная характеристика состоит из единственного импульса, задержанного на 2N. Таким образом, выходной сигнал представляет собой задержанную масштабированную копию входного сигнала. Форму соответствующего временного окна можно рассчитать. Итак, с помощью кратковременного фурье-преобразования теоретически можно представить речевой сигнал без искажений.
Во многих практических системах неудобно выбирать параметры так, чтобы суммарная импульсная хакатеристика изображалась кривой фиг. 12.13, в. Однако уравнения анализа и синтеза можно изменить таким образом, чтобы улучшить характеристику системы, даже если оптимальные характеристики при этом не достигаются. Этот подход иллюстрируется на фиг. 12.14 на примере системы анализа—синтеза, содержащей 39 каналов, размещенных через 100 Гц. Частота дискретизации равна 10 кГц. Пунктирной линией на фиг. 12.14, а слева представлена импульсная характеристика ФНЧ h (пТ') (фильтра Бесселя шестого порядка), а сплошной — суммарная импульсная характеристика h (пТ). Последняя кривая иллюстрирует импульсно-периодический характер последовательности d (пТ) в случае, когда не все каналы анализа используются при синтезе. Видно, что, кроме основного импульса при t = 10 мс, имеется заметное эхо при t = 20 мс [период d (пТ} составляет 10 мс]. На суммарной частотной характеристике эхо проявляется в виде пульсаций модуля и фазы [фиг. 12.14, б и в, слева], а на слух — как реверберация в синтезированном выходном сигнале. Рассмотренный пример, а также то, что h (пТ>) является произведением d (пТ') и h (пТ), указывают на два пути улучшения суммарной характеристики гребенки фильтров. Как уже отмечалось, при заданном разнесении каналов можно расширить полосу ФНЧ, сократив таким образом длительность h (пТ). Согласно фиг. 12.14, а (слева), это приведет к увеличению амплитуды первого импульса и уменьшению второго. Однако в этом случае приходится идти на ухудшение частотного разрешения. Другой подход основан на том, что если d (пТ) может быть сдвинуто вправо относительно h (пТ} (т. е. относительно пунктирной кривой), то амплитуда основного импульса увеличится, а эхо станет меньше. В то же время импульс последовательности d (пТ) в точке пТ = 0, который был полностью подавлен множителем h (пТ), при сдвиге вправо будет увеличиваться по амплитуде (фиг. 12.14, а, график справа). Поэтому при заданном частотном разрешении существует оптимальная задержка d (пТ') относительно h (пТ), при которой h, (пТ) состоит из большого центрального импульса и двух одинаковых малых импульсов слева и справа от него. Можно показать, что при этом условии для заданного частотного разрешения обеспечиваются минимальные пульсации модуля и фазы.
0,3
а
0,2
<0,1
6
/ / / / /
/
I О
-Нг—^
1020
Время, мс
30
-0,1 L 0
i/vvvwvvvvvvvvVVVVV^
1111111
б
1 1
02000400
Частота, Гц
Частота, Гцчастота, Гц
Фиг. 12.14. Импульсные и частотные характеристики двух гребенок фильтров.
Задержку d (пТ) относительно h (пТ) можно ввести как при анализе, так и при синтезе речи. Если формулы (12.6а) и (12.66) записать в виде
а(шк,пГ) = 2 h (пТ- тТ^х^тТ) cos Vtoh (гТ-пйТ^,(12.24}
г=-оо;
b(toM пТ) = 2 h (пТ--rT)x (rT) sin V^(rT— тгаЛЬ (12.25) Г= —ОО
где па = п0 — выбранная задержка в числе отчетов, и использовать для синтеза речи соотношение (12.16), то фактическая импульсная характеристика ^-го канала будет иметь вид
hk (пТ) = h (пТ) cos [toA (пТ — «о?1)],(12.26)
а суммарная импульсная характеристика будет равна
К (пТ) = h (пТ) d (пТ — п0Ту\(12.27)
Ту же импульсную характеристику канала можно получить иначе, строя систему анализа на основе формул (12.6а) и (12.66) и заменяя равенство (12.16) соотношением
Ун (nT) = d(a)h, пТ) cos [toA (пТ —«сЛЛ-
-V-b^, пТ) sin [uk(nT— ИсТ1)],(12.28)
где пс = п0« Третья возможность состоит в использовании для анализа формул (12.24) и (12.25), а для синтеза — равенства (12.28), если па + пс = пв. Программа проектирования системы обеспечивает такой выбор параметров, что импульсная и частотная характеристики системы соответствуют кривым, приведенным в правой части фиг. 12.14.
Система анализа — синтеза
Основываясь на теоретических предпосылках разд. 12.5 можно промоделировать и исследовать всю систему анализа— синтеза. Она состоит из М однотипных каналов. Обработку, выполняемую в /с-м канале (фиг. 12.15), обычно разделяют на три операции: анализ, сокращение объема информации и синтез. Блок анализа выполняет алгоритмы, описанные в разд. 12.5, вычисляя в каждом канале сигналы а (ыь., пТ) и b (соА1 пТ\ Для уменьшения объема информации (т. е. для сжатия спектра) эти сигналы нужно дискретизовать с пониженной частотой (т. е. через 1\ с) и квантовать по меньшему числу уровней. Эти функции выполняют дискретизатор и квантователь в блоке сжатия спектра.
соь[шк(пТ*паТ)] |
• Сокращение объема
I информации
Анализ
Синтез
Фиг. 12.15. Полная схема системы анализа — синтеза, включая дискретизацию и квантование.
Подходящие значения 1\ и числа уровней квантования определяются из экспериментов по разборчивости речи. Блок синтеза аналогичен рассмотренному в разд. 12.5, за исключением интерполирующих ФНЧ, предназначенных для интерполяции принятых значений а (со^, пТ) и b (юй, пТ) к новому периоду дискретизации Т2, отличному от Т^ периода дискретизации при анализе.
Фиг. 12.16. Сравнение спектрограмм естественного и синтезированного высказываний.
Эксперимент по моделированию системы анализа—синтеза подробно описан Шафером и Рабинером. Отметим лишь, что удовлетворительное качество речи получается при скорости передачи информации 15 000 бит/с, что примерно в четыре раза меньше, чем в системе с импульсно-кодовой модуляцией (ИКМ) при частоте дискретизации 8 кГц и семиразрядном логарифмическом кодировании. Если параметры спектра не квантованы по уровню, то спектрограммы исходного и синтезированного речевого сигналов (фиг. 12.16) трудно отличить.
Полосный вокодер
Полосный вокодер — это система анализа — синтеза речи, основанная на знании механизмов ее образования и восприятия. В частности, в полосном вокодере используется нечувствительность органов слуха к фазе сигнала и воспроизводится только кратковременный энергетический спектр речевого сигнала (это эквивалентно использованию амплитуды кратковременного фурье- преобразования без учета его фазы). Огибающая спектра речи измеряется с помощью гребенки полосовых фильтров, причем предполагается, что ее форма определяется характеристикой фильтра, образованного голосовым трактом. Источник возбуждения считается шумовым или импульсным квазипериодическим. (Таким образом, в вокодере непосредственно используется модель образования речи с независимыми источником возбуждения и голосовым трактом.) Существуют различные методы восстановления речи на основе измеренных параметров. В данном разделе описано несколько схем вокодера и рассмотрены факторы, влияющие на выбор их конструктивных параметров.
В типичном полосном вокодере (фиг. 12.17) исходный речевой сигнал х (п?) анализируется гребенкой полосовых фильтров (выданном случае их 16), неравномерно перекрывающих диапазон, существенный для восприятия речи (обычно от 0 до 3 кГц). Особенности проектирования этих фильтров будут рассмотрены ниже. Колебания на выходах полосовых фильтров детектируются и проходят через ФНЧ, выходные сигналы которых ук (п) в той или иной степени представляют огибающую спектра речи. Параметры, характеризующие источник возбуждения, получаются с помощью обнаружителя тон—шум, определяющего, является ли звук звонким (голосовые связки вибрируют) или глухим. В первом случае выделитель основного тона определяет основную частоту вибрации связок Fo.
Шестнадцать канальных сигналов, сигнал тон—шум и значение высоты основного тона кодируются и передаются по каналу связи к приемнику. Предположим, что передача происходит без ошибок. Тогда задача приемника сводится к восстановлению речи
Фиг. 12.17. Блок-схема типичного полосного вокодера.
на основе переданных параметров. Источником возбуждения служит либо генератор импульсов, частота которого синхронизируется сигналом FOl либо генератор шума. В зависимости от сигнала тон—шум один из них подключается к гребенке фильтров, идентичных фильтрам анализатора, и возбуждает их. Продетекти- рованные сигналы огибающей спектра используются для модуляции колебаний на выходах соответствующих полосовых фильтров, за счет чего создается звуковая мощность в каждой из частотных полос. Синтезированный речевой сигнал получается после суммирования всех промодулированных полосовых колебаний.
Одним из назначений вокодеров является передача речи удовлетворительного качества при малой скорости передачи информации. Во многих работах рассматривалось, какой должна быть скорость передачи, необходимая для полного представления параметров, используемых в полосном вокодере. Хотя в вокодерах различных типов требуется разная скорость, было показано, что для большинства из них она лежит в пределах от 2400 до 9600 бит/с. Вообще качество речи монотонно зависит от скорости передачи.
Так, лучше всего вокодеры звучат при скорости 9600 бит/с, а при 2400 бит/с речь для большинства слушателей становится почти неразборчивой.
Анализаторы вокодеров.Особенности обработки сигналов
Измерение спектра речи с помощью гребенки фильтров осложняется тем, что речь напоминает либо шум, либо периодическое колебание, основная частота которого может меняться в широких пределах. Дополнительные затруднения связаны с нестационар- ностью речи. Исходя из статических частотных характеристик, можно предположить, что фильтры с крутыми скатами дадут наилучшие оценки спектра. На практике оказывается, что такие фильтры имеют сравнительно длинные импульсные характеристики. Поэтому их использование приводит к временному смазыванию быстрых изменений спектра и, как уже обсуждалось, к появлению реверберации в синтезированном речевом сигнале. Для иллюстрации этого явления рассмотрим импульсные и частотные характеристики (фиг. 12.18) фильтра Баттерворта восьмого порядка с частотой среза 100 Гц, эллиптического фильтра с переходным отношением 0,5 и фильтра Бесселя. Частотные характеристики фильтра Баттерворта и’эллиптического фильтра имеют более крутые скаты, чем характеристики фильтра Бесселя, однако длина их импульсных характеристик составляет почти 50 мс, а у фильтра Бесселя — менее 20 мс. Поэтому из трех рассмотренных только фильтр Бесселя может быть использован в полосном вокодере.
Временные искажения второго вида появляются, когда полосовые фильтры имеют неравные временные задержки, например если разные каналы имеют неодинаковые полосы. На практике полосы высокочастотных каналов делают более широкими, чтобы
Частота, Гц
Фит. 12.18. Импульсные и частотные характеристики фильтров нижних частот Баттерворта, эллиптического и Бесселя (по Голдену).
приблизить зависимость разрешения от частоты к характеристикам человеческого уха. Например, в низкочастотных каналах имеет смысл применять полосы шириной около 125 Гц, тогда как в наиболее высокочастотном канале часто используют полосу около 400 Гц. Существует несколько способов выравнивания задержек в фильтрах с неодинаковыми полосами. Простой метод состоит в увеличении порядка фильтра пропорционально его полосе; при этом особое внимание уделяется модулю и фазе частотной характеристики в области перекрытия с соседними каналами, чтобы сохранить суммарную частотную характеристику гребенки фильтров. Следует отметить, что при неравных полосах в более высокочастотные фильтры обязательно попадет несколько гармоник основного тона речевого сигнала. Вследствие этого в синтезированном сигнале появляются искажения, которые, как оказалось, слушатели почти не замечают.
При разработке ФНЧ анализатора учитываются следующие соображения. ФНЧ должен обеспечить надежное подавление на частотах от 50 Гц (наименьшей основной частоте мужского голоса) и выше, чтобы устранить все компоненты речевого сигнала на выходе детектора. Поскольку речевой спектр меняется медленно, частота среза ФНЧ не должна превышать 25 Гц. Для устранения реверберации импульсная характеристика фильтра не должна иметь «звона». Отсюда ясно, что условия проектирования ФНЧ весьма сложные. Обычно применяют фильтры, имеющие приблизительно линейную фазовую характеристику, например фильтры Бесселя или БИХ-фильтры Лернера, хотя КИХ-фильтры с линейной фазовой характеристикой тоже можно использовать.
Синтезаторы вокодеров.Особенности обработки сигналов
Методика расчета элементов синтезатора достаточно проста. Как уже обсуждалось, полосовые фильтры синтезатора в большинстве случаев идентичны фильтрам анализатора. Часто, однако, вместо стандартной схемы канального синтезатора применяют другой вариант, называемый каналом с выравниванием спектра (фиг. 12.19). Перед модуляторами включены жесткие (двухуровневые) ограничители, на выходе которых образуется сигнал типа меандра, принимающий в зависимости от знака входного сигнала, значения -|-1 или —1. Эти прямоугольные колебания постоянной мощности поступают на входы модуляторов.
В установившемся режиме сигнал возбуждения тонового (звонкого) звука создает набор «меандров» с частотами, близкими к гармоникам основного тона. Таким образом, поведение канала с выравниванием спектра должно совпадать с поведением стандартного канала, если через первый полосовой фильтр проходит только
Спектральный сигнал
Фиг. 12.19. Сопоставление стандартной и модифицированной схем канального синтезатора вокодера.
одна гармоника, поскольку третья и высшие гармоники, образующиеся при жестком ограничении, отфильтровываются выходным полосовым фильтром. Однако эти две схемы дают разное звучание даже при высокой основной частоте, когда в каждый фильтр попадает заведомо только одна гармоника.
Для объяснения этого явного несоответствия следует учесть, что спектр источника звука в гортани не постоянен, а флуктуирует во времени. Эти флуктуации вызваны как изменением сечения гортани, так и непостоянством частоты вибрации голосовых связок. Анализатор вокодера выделяет только частоту, но не форму колебаний голосовых связок. Тот факт, что выравнивание спектра существенно влияет на качество синтезированной речи, означает, что флуктуации спектра речи по крайней мере отчасти вызваны различием формы соседних звуковых импульсов, образующихся в гортани.
Быстрые флуктуации спектра, вызванные изменением частоты повторения импульсов возбуждения, можно исследовать количественно, вычисляя энергетический спектр трех импульсов (фиг. 12.20). Расчет дает
G^^ ^у^ [3+ 4 cos (Ato) cos ^ (12.29) Если т/Г <^ 1 (т. е. ширина импульса мала по сравнению с расстоянием между импульсами), то sin2 (а>т/2)/(а>т/2)2 «1 в рассматриваемом диапазоне частот. Спектры G (to) для А = 0иА=0,1Г изображены на фиг. 12.21.
9(t)9(t)оо
9(t)
9(t)
о
о
Фиг. 12.20. Импульсы возбуждающего сигнала для тоновой речи.
Если приведенные рассуждения справедливы, то флуктуации спектра, вызванные нестабильностью основного тона, проявятся как при спектральном анализе, так и при выделении высоты основного тона. Выравнивание спектра эффективно устраняет (в случае, если в каждый фильтр попадает не более одной гармоники) флуктуации спектра, связанные с нестабильностью сигнала возбуждения.
Если основная частота мала, так что в фильтры попадают по нескольку гармоник, то схема выравнивания спектра не будет полностью сглаживать спектр возбуждения.Это связано со спецификой ограничения суммы двух гармоник: более слабая из них подавляется. Рассмотренные трудности можно в значительной степени преодолеть, заменив ограничитель системой автоматической регулировки усиления (АРУ), изображенной на фиг. 12.22. В этой системе задержанный узкополосный сигнал делится на собственную среднюю интенсивность. Задержка т в ФНЧ согласована с задержкой сигнала. Если т стремится к нулю, сигнал на выходе делится на собственный модуль, т. е. в предельном случае система АРУ переходит в двухуровневый ограничитель. При умеренных задержках (порядка 10 мс) спектральные искажения весьма малы,
Фиг. 12.21. Спектры двух различных импульсных последовательностей.Фиг. 12.21. Спектры двух различных импульсных последовательностей.
Фиг. 12.21. Спектры двух различных импульсных последовательностей.
Фиг. 12.21. Спектры двух различных импульсных последовательностей.
Фиг. 12.22. Автоматическая регулировка усиления в вокодере.
даже если присутствует не одна гармоника.Короче говоря,выравнивание спектра методом АРУ сохраняет амплитудные соотношения в полосе фильтра и устраняет флуктуации спектра при переходе от фильтра к фильтру. Поскольку при этом не возникает (или почти не возникает) третьей гармоники, можно вообще не применять выходной полосовой фильтр в каждом канале.
Другие схемы вокодеров
Различными авторами были предложены и подробно изучены многие другие варианты анализаторов и синтезаторов для полосных вокодеров. Читатель может ознакомиться с устройством конкретных систем по многочисленным подробным публикациям.
Выделение высоты основного тонаи обнаружение тон — шум
В заключительной части раздела о канальных вокодерах следует упомянуть задачи выделения высоты основного тона и обнаружения тон — шум, т. е. различения звонких и глухих звуков. Существует очень много алгоритмов измерения периода основного тона. Для иллюстрации рассмотрим весьма эффективный алгоритм, основанный на обработке во временной области и использующий параллельную обработку. Обе рассматриваемые задачи по сути являются сочетанием обработки сигналов и распознавания образов. Но, поскольку выделители высоты основного тона входят во многие системы обработки речи, целесообразно рассмотреть их здесь. В разд. 12.12 в связи с гомоморфной обработкой речи рассмотрен совершенно другой алгоритм выделения высоты тона.
3
Шесть элементарных измерителей периода основного тона (И ОТ)
Фиг. 12.23. Блок-схема алгоритма оценки периода основного тона.
Фиг. 12.24. Измерения, используемые при оценке периода основного тона.
Блок-схема алгоритма оценки высоты тона приведена на фиг. 12.23. Алгоритм удобно разделить на четыре операции, связанные с обработкой или с принятием решения:
низкочастотная фильтрация речевого сигнала;
образование шести функций по экстремумам отфильтрованного сигнала;
получение на основе значений вышеупомянутых функций шести оценок высоты тона в шести одинаковых измерителях;
принятие окончательного решения на основе оценок элементарных измерителей высоты тона.
Основное назначение ФНЧ состоит в подавлении высших гармоник речевого сигнала. С этой задачей хорошо справляются фильтры НЧ с частотой среза около 600 Гц.
При выполнении второй операции для всех экстремумов отфильтрованного колебания формируются импульсы различной амплитуды (фиг. 12.24). Импульсы с амплитудами тг1 т2 и т3 формируются для каждого максимума, а импульсы с амплитудами т^ тп5 и тп6 — для каждого минимума. Амплитуды тг и тп4 совпадают со значениями максимума и минимума соответственно, т5 и т2 отсчитываются от максимума до минимума и от минимума до максимума, а тп3 и пг6 — от максимума до предыдудщего максимума и от минимума до предыдущего минимума. Из полученных импульсов образуют однополярные последовательности, причем если рассматриваемый максимум (или минимум) меньше предыдущего, то тп3 (или т6) полагают равными нулю. Поясним причину использования именно такой совокупности импульсов на примере рассмотрения двух предельных случаев (фиг. 12.25) Если в сигнале присутствует только основная частота (графики слева), то измерения тп3 и тп6 неверны, но измерения тпТ1 тп21 тп4 и пг5 обеспечивают измерение периода. Если же сигнал содержит сильную вторую гармонику и более слабую первую (фиг. 12.25 справа), то правильными являются измерения тп3 и пг6, а все остальные — ошибочными. И хотя в данном случае четыре из шести измерений содержат ошибку, при окончательном вычислении, как будет показано, с большой вероятностью получается правильный результат.
Шесть импульсных последовательностей поступают на входы шести одинаковых измерителей периода. Работу измерителя поясняет фиг. 12.26. По существу каждый измеритель является пиковым детектором с управляемой цепью разряда. После приема каждого импульса следует интервал запирания (в течение которого детектор не принимает импульсов), а за ним — интервал экспоненциального разряда детектора. Если на этом втором интервале приходит импульс, превышающий напряжение в цепи разряда, то он детектируется и процесс запирания и разряда повторяется. Постоянная времени разряда и время запирания детектора
Фиг. 12.25. Оценка периода основного тона в двух предельных случаях.Фиг. 12.25. Оценка периода основного тона в двух предельных случаях.
Фиг. 12.25. Оценка периода основного тона в двух предельных случаях.
Фиг. 12.25. Оценка периода основного тона в двух предельных случаях.
изменяются в зависимости от сглаженной оценки периода основного тона Рср, полученной этим же детектором. Величина Рср определяется итерацией
^ср Н =^ср Н =РСр(« В Ь^нов2РСр(« В Ь^нов2(12.30)(12.30)
^ср Н =
^ср Н =
РСр(« В Ь^нов2
РСр(« В Ь^нов2
(12.30)
(12.30)
< I< IПеременный экспоненциальный разрядПеременный экспоненциальный разряд
< I
< I
Переменный экспоненциальный разряд
Переменный экспоненциальный разряд
Здесь Рнов — последняя (текущая) оценка периода, Рср (и) — текущая сглаженная оценка периода, а Рср (и — 1) — предшествующая сглаженная оценка. При каждом детектировании находится новая оценка Рср согласно формуле (12.30). Чтобы избежать крайних значений времени запирания и постоянной
Переменное время запирания т
Время
Фиг, 12.26. Работа элементарных измерителей периода основного тона.
времени разряда, величина Рср ограничивается пределами 4 и 10 мс. В этих пределах зависимости времени запирания т и постоянной времени разряда р от Рср задаются соотношениями
т = 0,4Р„„ ₽=-^-. (12.31)
Окончательно период основного тона определяется в блоке 4 (фиг. 12.23), который можно рассматривать как специализированную вычислительную машину с памятью, арифметическим устройством и устройством управления всеми поступающими сигналами. В каждый момент времени t0 оценка периода основного тона производится следующим образом:
Образуется матрица оценок периода (размером 6x6 элементов). Столбцы матрицы соответствуют отдельным измерителям, а строки — оценкам периода. В первых трех строках содержатся последние три оценки периода. Четвертая строка равна сумме первой и второй строк, пятая — сумме второй и третьей строк, а шестая — сумме всех трех первых строк. Образование матрицы иллюстрирует фиг. 12.27.
Структура последних трех строк определяется тем, что иногда в отдельных измерителях определяется период'второй или третьей гармоник основного тона, и правильными оказываются оценки, содержащиеся в трех последних строках, а не последние три измерения периода, находящиеся в первых строках.
Каждый элемент первой строки сравнивается со всеми остальными 35 элементами матрицы, и подсчитывается число совпадений (точное определение совпадения дано ниже). Оценка PiT (z = 1, 2, 3, 4, 5, 6), имеющая наибольшее число совпадений, выбирается в качестве окончательной.
Теперь следует дать определение совпадению. Во-первых, при принятии решения о совпадении двух оценок представляется более целесообразным рассматривать их отношение, а не разность. При этом измерять отношение можно достаточно приближенно, что позволяет избежать операции деления. Во-вторых, часто последовательные измерения весьма заметно отличаются, поэтому полезно ввести несколько пороговых величин для определения совпадений и при вычислении оценки периода выбирать ту из них, которая дает наиболее разумный ответ. С учетом вышеизложенного опишем теперь операции, выполняемые в блоке 4 (фиг. 12.23).
На фиг. 12.28 приведены значения ширины шестнадцати окон совпадения. Как показано на фиг. 12.27, окончательная оценка периода основного тона выбирается только из последних оценок, даваемых шестью измерителями. Чтобы определить ее, каждая из шести последних оценок сравнивается с остальными 35 числами, содержащимися в матрице. Такое сравнение повторяется четыре раза для каждого столбца таблицы фиг. 12.28. Из каждого столбца
Рц
Pzi
Р31
Рм
Psi
Рб1
Pl2
Р22
Рз2
Paz
Р52
Рб2
Pf3
P23
РЗЗ
Раз
Р53
Рез
Р\А
PzA
РзА
Paa
PSA
РбА
Р)5
P25
P35
Pas
Р55
Рб5
Р)6
Ргб
Рзе
Раб
PSG
Рбб
Оценки периода
Фиг. 12.27. Методика формирования матрицы оценок периода основноготона.
в соответствии с величиной анализируемой оценки выбирают ширину окна. Например, если эта оценка составляет 4 мс, то совпадение имеет место, если разница между сравниваемыми интервалами не превышает ±200 мкс (при частоте дискретизации 10 кГц). Когда число совпадений подсчитано, из него вычитают смещение,
Ширина окна совпадения/ЮО мкс
Фиг. 12.28. Таблица ширины окна совпадений.
равное 1. Измерение повторяют для второго столбца таблицы. Ширина окна в этом случае больше, и вероятность совпадения увеличивается, но для компенсации из числа совпадений вычитают смещение, равное 2, и т. д. После выполнения этих действий для всех четырех столбцов таблицы получаются четыре числа, наибольшее из которых принимают за число совпадений для данной оценки
Частота,ГцЧастота,ГцВремя, мсВремя, мсФиг. 12.29. Сравнение частоты основного тона синтезированной речи с оценками, полученными с использованием алгоритма выделения основного тона.Фиг. 12.29. Сравнение частоты основного тона синтезированной речи с оценками, полученными с использованием алгоритма выделения основного тона.
Частота,Гц
Частота,Гц
Время, мс
Время, мс
Фиг. 12.29. Сравнение частоты основного тона синтезированной речи с оценками, полученными с использованием алгоритма выделения основного тона.
Фиг. 12.29. Сравнение частоты основного тона синтезированной речи с оценками, полученными с использованием алгоритма выделения основного тона.
периода основного тона. Вся процедура повторяется для каждой из пяти остальных текущих оценок, и в качестве окончательной оценки берут ту из шести, у которой число совпадений после вычитания смещения наибольшее. В ходе этих вычислений необходимо выполнить (6 X 4 X 35) проверок совпадения (сравнений модуля разности с фиксированным числом). Повторение всего процесса через каждые 5 мс позволяет отслеживать даже быстрые изменения периода основного тона.
Чтобы показать типичные результаты, обеспечиваемые рассмотренным алгоритмом, на фиг. 12.29 вместе с оценками периода основного тона изображены его истинные значения, использовавшиеся при синтезе высказывания, выбранного в качестве примера. Ясно, что в данном случае алгоритм дает очень хорошие результаты.
Обнаружитель тон — шум
Рассмотренный алгоритм оценки периода основного тона нетрудно приспособить к различению звонких и глухих звуков. Если звук глухой, то число совпадений, определяемое отдельными детекторами, будет небольшим. Величину порога можно найти экспериментально. Кроме того, если энергия сигнала на выходе ФНЧ в выделителе основного тона оказывается ниже некоторого порога, это явно указывает на глухой звук либо на молчание. Сочетая результаты измерений энергии с функциями от числа совпадений, можно создать алгоритм различения тона и шума, т. е. звонких и глухих звуков. Этот вопрос подробно рассмотрен Гоулдом.
Гомоморфная обработка речи
Термин гомоморфная обработка обычно применяют к классу систем, подчиняющихся обобщенному принципу суперпозиции, определяемому следующим образом. Если хг (п) и х^ (п) — входные последовательности, а уТ (п) и р2 (га) — соответствующие выходные последовательности системы, т. е.
Ух (га) = ф [^ („)],(12.32)
Уз (га) = ф [х2 (га)],
ас — произвольный скаляр, то система является гомоморфной, если справедливы соотношения
Ф [xt (п) Ахй (га)] *= ф [xi (га)] □ ф [z2 (га)],(12.33)
ф\с^х^п^==сО)У^.(12.34)
Здесь Д, □, 0 и О обозначают некоторые неконкретизированные математические операции типа умножения, сложения и свертки.
Фиг. 12.30. Система гомоморфной обработки.
Важность рассматриваемого способа обработки определяется тем, что операция ф, выполняемая гомоморфной системой, может быть реализована в виде последовательности операций (фиг. 12.30). Системы Л 0 и Яд1 взаимно обратны. Система L является линейной системой с постоянными параметрами, т. е. это просто фильтр. Таким образом, используя разложение, показанное на фиг.12.30, можно обрабатывать последовательность на выходе системы Л 0 стандартными методами,, т. е. сравнительно просто. Вид систем Ло и Лд1 легко определяется из ф, как это будет видно на примере анализа речи.
Как обсуждалось ранее, речевой сигнал моделируется путем свертки трех компонент: последовательности импульсов, представляющих основной тон, импульса возбуждения и импульсной характеристики голосового тракта. (В модели следует также учесть и характеристики излучения рта, но их обычно рассматривают вместе с импульсом возбуждения.) Обозначая через р (п) последовательность импульсов основного тона, через е (п) — импульс возбуждения, через и (п) — импульсную характеристику голосового тракта и, наконец, через w (ji) — весовую функцию («окно») конечной длительности, служащую для выделения участков речевого сигнала, получим
х (и) = [р (п) * е (и) * и (n)] w (тг).(12.35)
Поскольку гг(п) обычно меняется медленно то соотношение (12.35) можно приближенно записать как
х (n) « [p(n) w (п) * е ^ * и (п)],(12.36)
х(п)« р (п) • е (п) * и (п),(12.37)
т. е. выразить х (п) в виде свертки трех последовательностей. Свертка легко приводится к суммированию, если воспользоваться преобразованием Фурье от (12.37) (что дает произведение) и прологарифмировать результат. Полученное колебание можно пропустить через ЛПП-систему и обработать каждую составляющую ж (и) некоторым желаемым образом. Для восстановления обработанного колебания обратная система А д1 должна выполнить потенцирование (т. е. операцию, обратную логарифмированию) и обратное преобразование Фурье. Гомоморфная система обработки речи изображена на фиг. 12.31.
АоLА01
Фиг. 12.31. Система гомоморфной обработки речи (по Оппенгейму, Шаферу и Стокхэму).
Для обработки речи применительно к конкретным задачам использовалось несколько вариантов рассматриваемой системы. Один из них (фиг. 12.32) применялся, например, для оценки параметров передаточной функции голосового тракта и функции возбуждения. При этом сигналом возбуждения считалась свертка р (п)*е (и), а импульсной характеристикой голосового тракта и (п). Таким образом, х (п) является просто дискретной сверткой
х (п) — и (n)*s (п), (12.38)
где s (м) — сигнал возбуждения. Здесь х (п^ — сигнал в точке А (фиг. 12.32). Дискретное преобразование Фурье от х (п^ дает сигнал в точке В, равный произведению ДПФ от м (и) и s (и). В следующем блоке определяется логарифм модуля полученной последовательности, причем сигнал в точке С равен сумме логарифмов модулей ДПФ от s (п) и и (п). Нетрудно видеть, что в последующих блоках (обратное ДПФ, взвешивание и еще одно ДПФ) выполняется линейная фильтрация сигнала в точке С. По причинам, которые станут ясны ниже, фильтрация выполняется в области преобразований Фурье как мультипликативная операция. Поскольку обратное ДПФ линейно, сигнал в точке D (называемый кепстром сигнала в точке Л) равен сумме кепстров функции возбуждения и импульсной характеристики голосового тракта.
Можно показать, что кепстр в точке D позволяет разделить эффекты возбуждения и характеристики голосового тракта. Действительно, сигнал возбуждения можно рассматривать как квазиперио- дическую импульсную последовательность с преобразованием Фурье, близким к линейчатому, причем спектральные линии рас-
Фиг. 12.32. Гомоморфная обработка речи (по Оппенгейму, Шаферу и Стокхэму).
Время, мсВремя, мсВремя, мсВремя, мсЧастота, кГцЧастота, кГцФиг. 12.33. Гомоморфный анализ тоновой и шумовой речи.Фиг. 12.33. Гомоморфный анализ тоновой и шумовой речи.
Время, мс
Время, мс
Время, мс
Время, мс
Частота, кГц
Частота, кГц
Фиг. 12.33. Гомоморфный анализ тоновой и шумовой речи.
Фиг. 12.33. Гомоморфный анализ тоновой и шумовой речи.
положены на гармониках частоты основного тона. Вычисление логарифма модуля не меняет линейчатого характера спектра функции возбуждения. Обратное ДПФ дает новую квазипериоди- ческую последовательность импульсов с интервалами между импульсами, равными периоду основной частоты. Таким образом, кепстр сигнала возбуждения должен состоять из импульсов, расположенных вблизи п — О, Т, 2Т, .. ., где Т — период основного тона. Импульсная характеристика голосового тракта обычно представляет собой последовательность, отличную от нуля на интервале 20-4-30 мс. Как было показано выше, ее преобразование Фурье является медленно изменяющейся функцией частоты. После вычисления логарифма модуля и обратного ДПФ получается последовательность из небольшого числа ненулевых отсчетов, которое обычно меньше, чем число отсчетов на периоде основного тона. Можно показать, что кепстр последовательности, убывающей по закону 1/п, убывает как 1/п2. Таким образом, с помощью кепстра можно отделить информацию о функции возбуждения от информации об импульсной характеристике голосового тракта.
Рассмотренный способ обработки был опробован на звонких и глухих звуках (фиг. 12.33). На верхних графиках показаны типичные колебания в точках Л — Е для тоновой речи, а на нижних — для шумовой. Кривая на верхнем левом графике соот-
ветствует последовательности, содержащей звонкие звуки и взвешенной с помощью окна Хэмминга. Анализируемый отрезок содержал примерно три периода основного тона. Волнистая кривая на правом верхнем графике представляет логарифм модуля преобразования последовательности и состоит из быстр оизменяю- щейся периодической компоненты (соответствующей возбуждению) и медленно изменяющейся составляющей, отражающей характеристики голосового тракта. На верхнем среднем графике приведен соответствующий кепстр. Высокий пик на 9 мс отражает период основного тона. Начальный участок представляет собой кепстр импульсной характеристики голосового тракта. Устраняя информацию о возбуждении путем умножения кепстра на весовую функцию с максимумом в начале координат и выполняя дискретное преобразование Фурье, получим плавную кривую (фиг. 12.33, справа вверху). Для определения частот основных формант, характерных для данного состояния голосового тракта, можно использовать эффективный алгоритм, основанный на анализе максимумов спектра в точке Е.
Колебание, возбуждающее глухие звуки, ближе к случайному процессу, чем к квазипериодической импульсной последовательности. График колебания в точке А изображен слева внизу (фиг. 12.33), где отчетливо виден случайный характер колебания. График логарифма модуля ДПФ (быстро изменяющаяся кривая) приведен справа внизу, и его также можно представить линейной комбинацией случайной компоненты, связанной с источником возбуждения, и медленно изменяющейся компоненты, характеризующей голосовой тракт. Кепстр рассматриваемого колебания приведен на среднем графике. Он не содержит высоких пиков, что указывает на глухой характер звука. Взвешивание кепстра и ДПФ дают медленно изменяющуюся кривую на правом нижнем графике. Она представляет собой частотную характеристику голосового тракта. Обычно спектр глухого звука описывают нулями и полюсами. Дальнейшее обсуждение этого вопроса содержится в разд. 12.15.
Таким образом, рассмотренная система (фиг. 12.32) позволяет разделить компоненты, образующие речевой сигнал, даже если они объединены сверткой.
Гомоморфный вокодер
Рассмотренную выше систему анализа нетрудно объединить с системой синтеза (фиг. 12.34) и получить полную систему кодирования речи. В ней частотная характеристика голосового тракта не преобразуется в нули и полюсы или в частоты формант, а сохраняется и поступает на систему, выполняющую операции, обратные относительно ранее выполненных нелинейных операций.
Фиг. 12.34. Блок-схема гомоморфного вокодера (по Оппенгейму).
Фиг. 12.35. Сравнение спектрограмм естественного высказывания и синтезированной в гомоморфном вокодере речи (по Оппенгейму).
Такая обратная система состоит из нелинейности с экспоненциальной характеристикой (компенсирующей логарифмирование) и блока, выполняющего обратное ДПФ (компенсирующего ДПФ). На выходе системы получается и (п) — оценка импульсной характеристики голосового тракта. Период возбуждения (полученный из анализа кепстра) используется для формирования либо квази- периодической, либо случайной последовательности импульсов s (п), заменяющей истинный сигнал возбуждения s (п). Для получения синтезированной речи образуют свертку последовательностей s (п) и и (п). Сравнение на фиг. 12.35 спектрограмм (по Оппенгейму) исходного высказывания и синтезированного, полученного при гомоморфной обработке, показывает весьма близкое их сходство.
Формантный синтез
В исследованиях речи одной из наиболее важных задач является синтез речевого сигнала на основе некоторых параметров сигнала возбуждения. Синтез речи применяется в нескольких видах систем речевого общения ЭВМ с человеком, и знакомство с ними существенно проясняет основные механизмы образования и восприятия речи. Одним из основных наборов упомянутых выше параметров является набор значений частот основных формант, заданных в функции времени. Ниже будет показано, каким образом такое представление речи обеспечивает значительную гибкость и эффективность в разнообразных применениях искусственной речи. В настоящем разделе рассмотрены некоторые задачи обработки сигналов, связанные с синтезом речи по данным о ее формантах. Предполагается, что для получения этих данных из реализаций естественной речи используется система анализа, подобная, например, рассмотренной в разд. 12.14.
Блок-схема универсального формантного синтезатора (фиг. 12.36), аналогичного применяемому в нескольких системах речевого общения ЭВМ с человеком, содержит два источника возбуждения: генератор импульсов с внешней синхронизацией (источник звонких звуков), вырабатывающий единичные импульсы с частотой основного тона (т. е. через каждые Р отсчетов), и генератор псевдослучайных чисел с равномерным распределением (источник глухих звуков), играющий роль генератора белого шума.
В синтезаторе имеются две основные ветви обработки сигналов. Верхняя состоит из амплитудного модулятора (Лт) и цифрового фильтра с переменными параметрами, образованного цепочкой из L перестраиваемых резонаторов (полюсов). Передаточная
Фиг. 12.36. Упрощенная
блок-схема формантного синтезатора.
функция этого фильтра (в
стационарном режиме) равна
LЯт(г)=П к=1LЯт(г)=П к=1
L
Ят(г)=П к=1
L
Ят(г)=П к=1
(12.39)(12.39)Н — ехр (— а^Т) 2 cos (Ь^Т) + ехр (— 2адГ) 11 — ехр (— а^Т) 2 cos (b^T) z-1 + ехр (— 2а^Т)г-23
(12.39)
(12.39)
где ак и bh — ширина полосы и центральная частота k-ro резонатора в радианах, а Т — период дискретизации. Типичная схема расположения полюсов в z-плоскости для гласной (Л = 5) изображена на фиг. 12.37. Хотя управлять можно и шириной полосы, и центральными частотами всех полюсов, обычно подстраивают только три нижние центральные частоты. Поэтому блок перестраиваемых резонаторов (фиг. 12.36) имеет три управляющих входа (Ег, F^, F3\ Эта управляемая резонансная система позволяет
Фиг. 12.37. Расположение полюсов для типичной гласной
Фиг. 12.38. Расположение полюсов, описывающих функцию возбуждения.
Фиг. 12.39. Расположение нулей и полюсов для типичного шумового звука.
учесть влияние временного изменения формы голосового тракта на спектр речевого сигнала.
Следует также учесть форму импульсов возбуждения и характеристики излучения звука изо рта (или носа) в воздух. Для этого предназначена неперестраиваемая схема компенсации с передаточной функцией вида
о ( X _ [1 —ехр(- аГ)1 [1 + ехр( —67)] И 9 40) [1 —exp( — a7)z-ij [1 + ехр( —67)2-1] ‘ ' * '
Схема реализует два полюса, расположенных на действительной оси (один в правой, а другой в левой половине z-плоскости), и аппроксимирует выбранную передаточную функцию. Положение полюсов в z-плоскости показано на фиг. 12.38.
Нижняя ветвь схемы синтезатора (фиг. 12.36) состоит из модулятора Лш, регулирующего дисперсию шума, и второго цифрового фильтра с переменными параметрами, образованного последовательно соединенными блоками с нулем и полюсом. Передаточная функция фильтра равна
и / \ 1^1 (1) ^2 (z)/лп /л\
(z) - Н, ^ ^l) '
где
Hv (z) — 1 — 2е'оГ cos фТ^ z"1 + e-2arz-2 и
Я2 (z) = 1 — 2е'сГcos (d Л z’1 + е-зсТг-г.
Здесь а, Ь, с и d — значения ширины полосы и центральных частот блоков с перестраиваемыми полюсом и нулем, измеренные в радианах. Ширину полос обычно не изменяют, а регулируют
Фиг. 12.40. Блок-схема аппаратурной части синтезатора.
только центральные частоты, поэтому фильтр (фиг. 12.36) имеет два управляющих входа Fn и FH. Типичное для глухого звука расположение нулей и полюсов показано на фиг. 12.39. Выходное колебание проходит через фильтр компенсации спектра и создает на выходе всей системы глухой звук.
Следует отметить, что передаточные функции (12.39)—(12.41) всех фильтров синтезатора на нулевой частоте равны единице независимо от значений ширины полосы и центральной частоты управляемых блоков. Это необходимо для того, чтобы коэффициент передачи голосового тракта на нулевой частоте равнялся единице, что достигается за счет использования отдельно откалиброванных резонаторов.
Рассмотренная схема синтезатора не позволяет получить некоторые звуки, желательные в многоцелевом синтезаторе. Например, в нем нет средств для получения носовых согласных звуков п и т, звонких фрикативных звуков z (как в слове zoo), zh (azure), v (very) и th (there). При синтезе носовых согласных последовательно с перестраиваемым резонатором (фиг. 12.36) следует включить цепь с управляемыми нулем и полюсом. Для качественного синтеза звонких фрикативных звуков необходимо ввести цепь, модулирующую выход генератора шума сигналом из канала тоновых (звонких) звуков. Кроме того, для расширения возможностей синтезатора следует ввести цепи, позволяющие для имитации шепота возбуждать канал тоновых звуков шумовым сигналом.
Существует более гибкая схема синтезатора (фиг. 12.40), решающая эти задачи. Она была промоделирована на ЦВМ, а также построена в виде специализированного устройства. Синтезатор получает переменные управляющие параметры (обозначенные как внешние входы в каждый из блоков обработки сигнала) синхронно, т. е. изменяет сразу все параметры в начале каждого периода основного тона. В этот момент энергия, запасенная в каждом из фильтров, минимальна, что уменьшает нежелательные эффекты, вызываемые резкими изменениями управляющих параметров. Управляющие параметры поступают в синтезатор из управляющей ЦВМ типа Honeywell DDP-516.
Рассматриваемый синтезатор в сущности аналогичен рассмотренному выше, хотя и отличается от него в деталях. В частности, верхний канал обработки сигналов содержит шесть цифровых фильтров с двумя полюсами каждый [в формуле (12.39) L = 61 и один фильтр с двумя нулями, причем полосы и центральные частоты каждого фильтра перестраиваются. Шестой двухполюсный фильтр и фильтр с двумя нулями введены для образования носовых звуков. При синтезе неносовых звуков они компенсируют друг друга (в цифровых системах легко достичь точной компенсации полюса нулем). Четыре двухполюсных фильтра (или пять при неносовых звуках) формируют изменяющуюся во времени передаточную функцию голосового тракта Нт (%), а последний фильтр с двумя полюсами обеспечивает желаемую функцию компенсации спектра S (z).
Канал глухих звуков состоит из двух двухполюсных фильтров и одного фильтра с двумя нулями. Полосы и центральные частоты каждого из них также устанавливаются извне. Два разнотипных фильтра формируют Нш (z), а второй двухполюсный фильтр задает S (z) и используется для компенсации спектра. Гибкость синтезатора увеличивается также за счет того, что функции компенсации спектра при синтезе звонких и глухих звуков могут отличаться, так как соответствующие цепи включены в разные каналы синтезатора независимо.
Цепь возбуждения звонких фрикативныхзвуков
Цепь возбуждения звонких фрикативных звуков соединяет некоторую точку канала тоновых звуков с каналом шумовых (глухих) звуков. Она используется для моделирования образования глухой составляющей звонких фрикативных звуков. Основные цепи, необходимые для синтеза звонкого фрикативного звука, изображены на фиг. 12.41. Глухой сигнал возбуждения формируется следующим образом. Импульсы основного тона возбуждают резонатор, настроенный на частоту первой форманты звонкой составляющей фрикативного звука. Характеристика
ляющая звонких фрикативных звуков
Фиг. 12.41. Цепь возбуждения звонких фрикативных звуков.
резонатора в первом приближении аппроксимирует спектр объемной скорости воздушной струи на участке от голосовой щели до точки сужения голосового тракта. Из выходного сигнала резонатора вычитается пороговый уровень (ИПор), и результат выпрямляется однополупериодным выпрямителем. Эти операции моделируют известное физическое явление, состоящее в том, что турбулентность не возникает, пока объемная скорость струи не превысит порогового значения.
Выпрямленное колебание модулирует шум, поступающий с генератора шума. При этом образуется сигнал возбуждения глухой составляющей фрикативного звука, синхронный с основным тоном. Полученный сигнал проходит через фрикативную цепь (в нижнем канале синтезатора), что дает глухую составляющую звука. Звонкая составляющая образуется при возбуждении формантной цепи обычным образом. Спектрограммы синтезированного и естественного звонких фрикативных звуков \ah\ и |z| приведены на фиг. 12.42. Тщательный анализ спектрограмм позволяет заметить как в естественной, так и в синтезированной речи эффекты модуляции, синхронной с основным тоном.
Фиг. 12.42. Спектрограмма синтезированного и естественного звонких фрикативных звуков.
Генератор случайных чисел
Для образования псевдослучайных чисел, служащих источником возбуждения глухих звуков, можно применить любой из множества существующих алгоритмов. При построении специализированной системы для генерации случайных чисел используется 16-разрядная последовательность максимальной длины на сдвиговом регистре. В данном алгоритме очередной случайный двоичный разряд образуется сложением по модулю 2 всех 16 предыдущих разрядов, после чего все разряды сдвигаются на один. При этом разряд, образованный 16 тактов назад, теряется, а новый вводится в сдвиговый регистр.
Формула образования нового разряда имеет вид
Xn = Xn_t ф Хп_а ф ... ф Хп_(5 ф Хп_16, п= 1, 2, 3, ..., (12.42)
где X равно 0 или 1, причем единице физически соответствует положительный возбуждающий импульс, а нулю — отрицательный. Таким образом, выходная последовательность является случайной последовательностью положительных и отрицательных импульсов с гладким спектром.
Цифровая обработка в формантном синтезаторе
Основным принципом, используемым при построении цифровых синтезаторов, является разделение времени, т. е. реализация всех фильтров с двумя полюсами или нулями с помощью одного арифметического устройства. Для получения очередного отсчета на выходе двухполюсного фильтра, например, требуется выполнить два сложения, два вычитания и два умножения. Современные быстродействующие интегральные схемы позволяют выполнить за время между отсчетами (100 мкс при частоте выборок 10 кГц) в 25 раз больше арифметических действий. Поэтому идея разделения времени применительно к синтезаторам оказывается вполне реальной. Если ввести память для коэффициентов фильтров и выходных отсчетов, то при соответствующем управлении одно арифметическое устройство может обслужить весь синтезатор.
В логической блок-схеме цифрового синтезатора (фиг. 12.43) арифметическое устройство состоит из трех входов ого сумматора, блока задержки на регистре сдвига (для запоминания промежуточных результатов), схемы вычитания и умножителя. Емкость регистра сдвига равна 480 двоичным разрядам (20 чисел по 24 разряда в каждом). Еще один регистр сдвига на 320 разрядов используется для запоминания коэффициентов цифровых фильтров (20 коэффициентов по 16 разрядов в каждом). Данное арифмети-
Фиг. 12.43. Логическая блок-схема аппаратурной части синтезатора.
ческое устройство позволяет за интервал порядка 3,9 мкс выполнить одновременно сложение, вычитание и умножение. Следовательно, выполнение операций, соответствующих одному фильтру, занимает 7,8 мкс, а всем 10 фильтрам — около 78 мкс. Поэтому синтезатор может работать при частотах отсчетов вплоть до 12,8 кГц.
Остальные элементы блок-схемы работают следующим образом. Сигналы управления синтезатором поступают на его вход из вычислительной машины. Вспомогательная память передает значения периода основного тона и коэффициентов усиления в регистр сдвига, в генераторы импульсов и шума, а также на вход устройства многоканального уплотнения. Генераторы импульсов и шума вырабатывают сигнал возбуждения, который через устройство уплотнения поступает в арифметическое устройство. Накопитель складывает звонкую и глухую составляющие и возвращает старшие 16 разрядов в вычислительную машину, преобразуя одновременно 12 старших разрядов в аналоговую форму. Переключения и временная последовательность выполнения операций синхронизированы извне. Таким образом, частота отсчетов легко изменяется без каких-либо регулировок в самом синтезаторе.
Линейное прогнозирование речи
Формантные анализ и синтез основаны на том, что получение речи хорошо моделируется возбуждением цепочки цифровых линейных фильтров второго порядка с переменными параметрами (формантных резонаторов) с помощью квазипериодической последовательности импульсов или шумового сигнала. При этом основная трудность заключается во введении найденных формант в соответствующие блоки второго порядка. При синтезе одних звуков форманты, по-видимому, исчезают. При синтезе других звуков, наоборот, могут возникать дополнительные форманты. При большом количестве перечисленных ошибок синтезированная речь быстро становится неразборчивой или, в лучшем случае, имеет недопустимо низкое качество. В длинных фразах такие ошибки нередки.
Чтобы устранить эти трудности, основную модель образования речи следует несколько изменить (фиг. 12.44). L отдельных систем второго порядка формантной модели объединяют в одну линейную систему р-го порядка (где р 2L\ В ней задаются одновременно передаточная функция голосового тракта, форма возбуждающих импульсов и характеристики излучения звуков. На вход системы поступает или последовательность единичных отсчетов, или квазислучайная последовательность 6 (п). Передаточная функция фильтра имеет вид
Н= (12.43)
' '6 (z)Рх *
к=1
ЗвонкаяЗвонкаяГлухаяГлухаяР2 ак sn-kКМР2 ак sn-kКМБлок линейного прогнозирования с переменными параметрами (р-го порядка)
Звонкая
Звонкая
Глухая
Глухая
Р
2 ак sn-k
КМ
Р
2 ак sn-k
КМ
ппФиг. 12.44. Модель формирования речи с помощью линейного прогнозиро-вания (по Аталу и Ханауэру).
п
п
Выделение периода основного тона и обнаружение тон—шум осуществляются, как в любой другой системе, с помощью рассмотренного выше измерителя основного тона или каким-либо другим методом. Коэффициенты прогнозирующего фильтра {аА, k = 1, 2, ..., р^ определяются методом наименьших квадратов. Разностное уравнение, описывающее систему, имеет вид
р
s(n) = 2 аь8 (я — к) + 6 (я).(12.44)
h=l
Для звонких звуков все отсчеты 6 (п), за исключением тех, с которых начинаются периоды основного тона, равны нулю. Поэтому везде, кроме этих ненулевых точек,
Гр
s(n) = 2 ausln — kY(12.45)
h=l
Итак, в принципе, если модель является верной, отсчеты речи s (п) можно в точности предсказать, используя равенство (12.45). Однако модель описывает речь не полностью, поэтому можно определить ошибку между s (и), истинным значением n-го отсчета, и s (п), его значением, предсказанным с помощью равенства (12.45). Пусть Е (п) — ошибка, т. е.
Е(тГ)=8 (п)— s(n) = s(n)— 2 ahs (п — к).(12.46)
h=l
Коэффициенты прогнозирующего фильтра выбирают так, чтобы обеспечить минимум среднеквадратической ошибки предсказания (Е2 (п)), усредненной по всем п.
Выражение для среднеквадратической ошибки можно записать в виде
ООр
(12.47;(12.47;<Ег^ = 2 Ь(п) — 2 ahs(n — k^2.»=ik=i
(12.47;
(12.47;
Чтобы определить коэффициенты прогнозирующего фильтра, продифференцируем правую часть суммы (12.47) по aj, j = 1,2,..., р, и, приравняв производные нулю, получим систему уравнений
рОООО
2^2 S (и —/с) s(«—;)= 2 S(n)s(n—j),; = 1, 2, .. .,р.
к=1П=171-= 1
(12.48)
В матричной форме она записывается следующим образом:
Фа = ф,(12.49)
где~
ОО <Pij= 2 s (” — z) s^n — /),(12.50)
71=1 причем ф; = Фор(12.51)
Основной тонОсновной тонПараметры блока прогнозирования а^Параметры блока прогнозирования а^Фиг. 12.45. Синтезатор речи с линейным прогнозированием (по Аталу и и Ханау эру).Фиг. 12.45. Синтезатор речи с линейным прогнозированием (по Аталу и и Ханау эру).
Основной тон
Основной тон
Параметры блока прогнозирования а^
Параметры блока прогнозирования а^
Фиг. 12.45. Синтезатор речи с линейным прогнозированием (по Аталу и и Ханау эру).
Фиг. 12.45. Синтезатор речи с линейным прогнозированием (по Аталу и и Ханау эру).
Таким образом, Ф является автокорреляционной матрицей, а ф — вектором автокорреляции. Поскольку матрица Ф симметричная и положительно определенная, то для решения системы (12.48) можно применить известные эффективные методы. Поэтому анализ при линейном прогнозировании достаточно прост.
Для высококачественного представления естественного речевого сигнала используют систему синтеза, схема которой изображена на фиг. 12.45. Рассмотрим ее отличия от схемы формантного синтезатора, описанного в предыдущем разделе. Наиболее важное из них состоит в использовании единственного рекурсивного фильтра р-го порядка вместо цепочки фильтров второго порядка. При стационарном речевом сигнале, например при продолжительном звучании гласной, обе схемы полностью эквивалентны. В случае нестационарного сигнала (т. е. в большей части речи) они не эквивалентны. Для формантного синтезатора важно, что-
Фиг. 12.46. Сравнение спектрограмм естественного и синтезированного высказываний (по Аталу и Ханау эру).
бы каждый из резонаторов соответствовал своей форманте, так как иначе синтезатор сбивается. Этого не требуется при линейном прогнозировании, так как все форманты синтезируются одним рекурсивным фильтром. Другое важное отличие состоит в том, что амплитуда импульсов основного тона, как и амплитуда белого шума, подстраивается с помощью усилителя G таким образом, чтобы получить нужное среднеквадратическое значение отсчетов синтезированной речи. Обычно такой подстройки при синтезе речи не производят.
Спектрограммы на фиг. 12.46 показывают, насколько хорошо действует система с линейным прогнозированием. Вверху приведена спектрограмма синтезированной речи, а внизу — естественной. Различить их весьма трудно.
Система речевого ответадля вычислительной машины
Как уже отмечалось, параметрическое представление речи (с помощью основного тона и формант) применительно к системам речевого ответа для ЦВМ имеет два важных достоинства. Во-первых, так как частота изменения формант сравнима с частотой перемещения элементов голосового тракта, то скорость передачи отсчетов, представляющих параметры, может быть низкой. Следовательно, представление речи формантами является экономичным способом хранения речевой информации в цифровом виде. Вторым преимуществом формантного представления речи является присущая ему гибкость. Поскольку смысловая информация содержится в формантах, а мелодическая (т. е. интонация, темп речи и т. д.) — в периоде основного тона и временном распределении речи, то формантное представление позволяет разделить, «что именно сказано» и «как сказано». Эта гибкость и экономичность позволили построить простую систему речевого ответа для ЦВМ, в которой отдельные звуковые элементы с использованием сглаживания дают связную речь.
Блок-схема системы для синтеза связной речи на основе списка слов, закодированных формантами, приведена на фиг. 12.47. Отдельные слова (или фразы), произнесенные человеком, подвергаются формантному анализу. Через каждые 10 мс определяются частоты трех формант (F\, Fz, F3), амплитуды звонкой и глухой составляющихЦЛт, Лш), период основного тона (Р), а также расположение нуля и полюса (Рт, F^, служащих для имитации глухих звуков. Эти управляющие параметры сглаживаются с помощью цифрового фильтра, моделируемого на ЦВМ, повторно дискретизуются с частотой, определяемой теоремой о дискретизации сигналов с ограниченным спектром (обычно 33 1/3 Гц), квантуются и заносятся в память, образуя справочную библиотеку. Типичная
тона
Фиг. 12.47. Блок-схема системы речевого ответа.
скорость заполнения памяти для хранения управляющих параметров составляет 700 бит/с, если значения периода основного тона сохраняются. Однако чаще всего значения периода не запоминаются, а вычисляются с помощью специальной программы составления речи. Тогда скорость заполнения памяти равна 533 1/3 бит/с. В табл. 12.1 показано, из чего складывается эта скорость. Данные, приведенные в таблице, были получены путем экспериментального исследования влияния сглаживания и квантования на восприятие синтезированной речи.
Таблица 12.1
Кодирование формантных параметров
Число бит
Частота дискрети-
Скорость заполнения
Параметр
на параметр
зации параметров. Гц
памяти, бит/с
Fl или Fn
3
33 1/3
100
F^ или FH
4
33 1/3
133 1/3
3
33 1/3
100
р
5
33 1/3
166 2/3
Лг или Лш
3
33 1/3
100
VjU
1
100
100
Всего
Для периода основного тона
700
166 2/3
Скорость заполнения памяти при синтезе с вычислением периода основного тона533 1/3
Как указано в табл. 12.1, каждые 10 мс определяется, какой произносится звук: звонкий или глухой и результат ViU представляется одноразрядным двоичным числом. Поэтому каждый из заносимых в память наборов параметров может быть отнесен либо только к звонкому, либо к] глухому звуку. Следует отметить, что частота поступления наборов управляющих параметров (33 1/3 Гц) втрое ниже частоты следования отсчетов сигнала V/U.
Слова и фразы, представленные формантами, легко приспособить для использования в программе синтеза речи. Слова можно удлинить или укоротить; форманты легко изменить; можно ввести закон изменения основного тона, отличающийся от исходного. Таким образом, характеристики речевого тракта представлены в форме, достаточно гибкой для согласования с временной синхронизацией и высотой основного тона, задаваемыми программой составления речи.
В нижней части фиг. 12.47 показано, каким образом система составляет синтезированное сообщение, сочетая слова и фразы из справочной библиотеки. Во-первых, программа-ответчик для составления каждого конкретного ответа запрашивает последовательность слов. С помощью программы составления речи получаются (с использованием вспомогательной программы) данные о распределении времени в ответной фразе в виде значений продолжительности каждого слова, а затем последовательно извлекаются параметры слов. Слова корректируются так, чтобы их длина соот-
The number is
836
4 ^
•» .№6=* -
6,52,02*3
Время, c
Zp 2,5 '
Время, c
Синтезированная речь
- <246
Фиг. 12.48. Спектрограммы телефонного номера, произнесенного человеком
п синтезатором речи.
ветствовала выбранной длине слов. После этого осуществляются сглаживание и интерполяция значений формантных параметров, если конец некоторого слова и начало следующего содержат звонкие звуки. Для этого используется алгоритм интерполяции, имитирующий переход формант от слова к слову в естественной речи. Наконец, для всего ответа получается закон изменения частоты основного тона. Все вычисленные параметры передаются в специализированный цифровой синтезатор речи. Непрерывный синтезированный речевой сигнал получается с помощью цифро-аналогового преобразователя.
Описанная система речевого ответа была использована для голосового воспроизведения телефонных номеров и соединений по устному запросу с помощью вычислительной машины. Из сравнения спектрограмм типичного телефонного номера, произнесенного человеком и машиной (фиг. 12.48), видно, что моменты произнесения звуков и значения формант довольно хорошо согласуются.
Заключение
Материалы настоящей главы позволяют проследить, насколько тесно цифровая обработка сигналов и исследования речевых сигналов связаны друг с другом. Фактически только после появления вычислительных машин, предназначенных для обработки сигна-
лов, и развития соответствующих алгоритмов удалось практически решить большинство задач анализа и синтеза речи. Следует еще раз отметить, что конкретные задачи, рассмотренные в данной главе, являются лишь типичными примерами из области исследования речи и никоим образом не претендуют на полное описание большого числа работ, проводимых в этой области. Более того, рассмотренные конкретные системы не обязательно являются оптимальными для решения соответствующих задач. Их выбор прежде всего объясняется знакомством авторов книги с основными принципами построения этих систем, а также тем, что все они связаны с применением цифровых методов обработки сигналов.
ЛИТЕРАТУРА
Литература общего характера
Flanagan J. L., Speech Analysis, Synthesis and Perception, 2nd ed., SpringerVerlag, N.Y., 1972; есть русский перевод: Фланаган Дж. Л., Анализ, синтез и восприятие речи, изд-во «Связь», 1968.
Schafer R. W., A Survey of Digital Speech Processing Techniques, IEEE Trans, on Audio and Electroacoustics, AU-20, No. 4, 28—35 (March 1972).
Flanagan J. L., Coker С. H., Rabiner L. R., Schafer R. W., Umeda N., Synthetic Voices for Computers, IEEE Spectrum, 7, No. 10, 22—45 (1970).
Кратковременный спектральный анализ
Flanagan J. L., Golden R. M., Phase Vocoder, Bell Syst. Tech. J., 45, 1493— 1509 (1966).
Schafer R. W., Rabiner L. R., Design of Digital Filter Banks for Speech Analysis, Bell Syst. Tech. J., 50, No. 10, 3097—3115 (Dec. 1971).
Schafer R. W., Rabiner L. R., Design and Simulation of a Speech AnalysisSynthesis System Based on Short-Time Fourier Analysis, IEEE Trans, on Audio and Electroacoustics, AU-21, 165—174 (June 1973).
Полосные вокодеры
Schroeder M. R., Vocoders: Analysis and Synthesis of Speech, Proc. IEEE, 54, 720—734 (1966); есть русский перевод: Шредер, Вокодеры: анализ и синтез речи, ТИИЭР, т. 54, № 5, стр. 5—29 (1966).
Gold В., Rader С. М., Systems for Compressing the Bandwidth of Speech, IEEE Trans, on Audio and Electroacoustics, AU-15, No. 3, 131 —135 (Sept. 1967).
Golden R., Vocoder Filter Design: Practical Considerations, J. Acoust. Soc. Am., 43, 803—810 (April 1968).
Gold B., Rader С. M., The Channel Vocoder, IEEE Trans, on Audio and Electroacoustics, AU-15, No. 4, 148—160 (Dec. 1967).
Выделение основного тона
Gold В., Computer Program for Pitch Extraction, J. Acoust. Soc. Am., 34, 916-921 (1962).
Gold B., Description of a Computer Program for Pitch Detection, Proc. Int. Cong. Acoustics, 4th, Copenhagen, Paper G34, 1962.
Gold B., Note on Buzz — Hiss Detection, J. Acoust. Soc. Am., 36, 1659— 1661 (1964).
Gold В., Rabiner L. R., Parallel Processing Techniques for Estimating Pitch Periods of Speech in the Time Domain, J. Acoust. Soc. Am., 46, No. 2, 442—449 (Aug. 1969).
Noll A. M., Cepstral Pitch Determination, J. Acoust. Soc. Am., 41, 293— 309 (1967).
Гомоморфная обработка речи
Oppenheim A. V., Schafer R. W., Stockham T. G., Nonlinear Filtering of Multiplied and Convolved Signals, Proc. IEEE, 56, 1264—1291 (1968); есть русский перевод: Оппенхейм, Шефер, Стокхэм мл., Нелинейная фильтрация сигналов, представленных в виде произведения и свертки, ТИИЭР, т. 56, № 8, стр. 5—46 (1968).
Oppenheim А. V., Schafer R. W., Homomorphic Analysis of Speech, IEEE Trans, on Audio and Electroacoustics, AU-16, 221 — 226 (1968).
Oppenheim A. V., Speech Analysis-Synthesis System Based on Homomorphic Filtering, J. Acoust. Soc. Am., 45, 459—462 (1969).
Schafer R. W., Rabiner L. R., System for Automatic Analysis of Voiced Speech, J. Acoust. Soc. Am., 47, Part 2, 634—648 (1970).
Формантные синтезаторы
Rabiner L. R., Digital-Formant Synthesizer for Speech Synthesis Studies, J. Acoust. Soc. Am., 43, 822—828 (1968).
Gold B., Rabiner L. R., Analysis of Digital and Analog Formant Synthesizers, IEEE Trans, on Audio and Electroacoustics, AU-16, 81—94 (March 1968).
Rabiner L. R., Jackson L. B., Schafer R. W., Coker С. H., Digital Hardware for Speech Synthesis, IEEE Trans, on Communication Tech., COM-19, 1016— 1020 (1971).
Линейное прогнозирование речи
Atal В. S., Hanauer S. L., Speech Analysis and Synthesis by Linear Prediction of the Speech Wave, J. Acoust. Soc. Am., 50, 637—655 (1971).
Itakura F., Saito S., An Analysis — Synthesis Telephony System Based on Maximum Likelihood Method, Electronics and Communication in Japan, 53A, 36-43 (1970).
Makhoul J. I., Wolf J. J., Linear Prediction and the Spectral Analysis of Speech, Bott, Beranek, and Newman Report 2304, Aug. 1972.
Markel J. D., Gray A. H., Jr., Wakita H., Linear Prediction of SpeechTheory and Practice, Speech Communication Research Lab. Monograph No. 10, Sept. 1973.
Системы речевого ответа для ЦВМ
Rabiner L. R., Schafer R. W., Flanagan J. L-, Computer Synthesis of Speech by Concatenation of Formant-Coded Words, Bell Syst. Tech. J., 50, No. 5, 1541 — 1558 (May—June 1971).
Flanagan J. L., Rabiner L. R., Schafer R. W., Denman J., Wiring Telephone Apparatus from Computer-Generated Speech, Bell Syst. Tech. J., 51, No. 2, 391—397 (Feb. 1972)..
Глава 13
ПРИМЕНЕНИЯ ЦИФРОВОЙ ОБРАБОТКИВ РАДИОЛОКАЦИИ
Вводные замечания о принципах радиолокациии ее применениях
Настоящая глава посвящена лишь небольшому вопросу радиолокации, а именно последним достижениям в области обработки сигналов, связанным с внедрением цифровых методов. Известно, что развитие техники ЦВМ привело к значительному усовершенствованию алгоритмов радиолокационного сопровождения. Кроме того, сочетание ЦВМ и антенных решеток с электронным сканированием луча позволило усовершенствовать методы выбора излучаемых радиолокационных сигналов. Можно ожидать, что в недалеком будущем операции фильтрации и порогового обнаружения в радиолокаторах будут выполняться с помощью быстродействующих цифровых устройств. Несколько известных нам радиолокационных систем уже содержат (или в них вводятся) цифровые устройства для обработки сигналов. Несомненно, что такие устройства обладают значительно большей гибкостью, чем соответствующие им аналоговые устройства.
Применения радиолокации. Во время второй мировой войны англичане использовали радиолокаторы для обнаружения приближающихся неприятельских бомбардировщиков. Начиная с 50-х годов появились управляемые зенитные ракеты, для которых понадобились малогабаритные и надежные радиолокаторы наведения. Одновременно для защиты от межконтинентальных бомбардировщиков была создана глобальная система ПВО «SAGE» (semiautomatic ground environment). Эта огромная система была первой в своем роде благодаря сочетанию новейшей радиолокационной и вычислительной техники, систем связи и отображения информации. Но когда система вошла в строй, угрозой номер один стали уже не самолеты, а межконтинентальные баллистические ракеты. Перед радиолокационной техникой встала задача обнаружения небольших, но крайне опасных целей на больших дальностях и в сложных условиях ограниченного времени. Можно много спорить о стратегическом значении проделанной работы, однако несомненно, что она в значительной мере способствовала техническому прогрессу. Тем временем радиолокаторы нашли применение в таких разнообразных областях, как управление полетами,
метеорология, точная картография земной поверхности и радиолокационная астрономия (картографирование Луны). Ниже дан краткий обзор некоторых из этих приложений.
В крупных аэропортах системы управления полетами представляют собой большие электронные комплексы, обслуживаемые высококвалифицированными специалистами. «Мозг» системы находится в помещении со множеством индикаторов отображения информации. За каждым индикатором работает оператор, который знает расписание и трассы полетов и поддерживает связь с экипажами самолетов и другими операторами. На индикаторы поступает информация от радиолокаторов и радиоответчиков1), причем у оператора имеется много возможностей для редактирования изображений на индикаторах.
В типичном аэродромном радиолокаторе антенна вращается механически, совершая полный оборот за 4 4- 12 с. Разрешение по азимуту составляет 1—2°, а в вертикальной плоскости антенна имеет веерную диаграмму шириной от 30 до 45°. Итак, когда самолет попадает в луч, эхо-сигнал представляет собой пачку отраженных импульсов, следующих с периодом повторения излучаемых импульсов, причем следующая пачка от той же цели появляется только через период вращения антенны. Основываясь на этой информации, система должна сопровождать в своей зоне (обычно 65 км) до нескольких сотен самолетов и отображать их положение для оператора, который может сопоставлять и использовать все эти сведения.
Во время войны во Вьетнаме важной задачей было обнаружение транспортных магистралей противника. Технически эта задача сводится к обнаружению людей и техники среди густой растительности, т. е. она относится к классу задач, связанных с обнаружением искомых объектов на фоне мощных мешающих отражений. Другими разновидностями той же задачи являются наблюдение за перемещениями самолетов на земле, поиск людей, затерянных в лесу, охрана объектов (например, авиабаз).
Главной особенностью этих задач является наличие мощных отражений от местных предметов, превышающих полезный эхо- сигнал на 80—100 дБ. Единственным известным способом обнаружения столь слабых сигналов на фоне сильных мешающих
0 В масштабах коммерческого воздушного флота радиоответчики вытеснили радиолокаторы из систем сопровождения. Все коммерческие самолеты США имеют на борту радиопередатчик, отвечающий на кодированный запросный сигнал. Поэтому сигнал, возвращающийся к запросчику и подлежащий обработке, имеет значительно большую мощность, чем в радиолокаторе. Многие частные самолеты в настоящее время еще не имеют ответчиков, и их сопровождение производится с помощью радиолокаторов или обычной речевой радиосвязи. Поэтому в ближайшие 20 лет радиолокаторы останутся в системах управления полетами, но в дальнейшем они вряд ли будут использоваться.
отражений является использование эффекта Доплера, позволяющего измерить сдвиг частоты сигнала, отраженного от движущейся цели.
Вероятно, наиболее сложной задачей радиолокации является дальнее обнаружение баллистических ракет с последующим сопровождением множественных целей, во время которого необходимо различить боеголовки, ловушки, обломки ракеты-носителя и пассивные отражатели. В режиме обнаружения часть пространства многократно обследуется с применением согласованной фильтрации, что позволяет обеспечить большую дальность обнаружения и хорошее разрешение по дальности. В режиме сопровождения различие в скоростях используется как средство для выделения главных целей. Последняя стадия различения требует анализа траектории ракеты и здесь не рассматривается.
Условия работы радиолокаторов. Главной проблемой для большинства радиолокаторов является наличие мешающего фона, проявляющегося различным образом. В любом случае перед разработкой радиолокатора необходимо глубоко исследовать эту проблему. Например, если антенна аэродромной РЛС не направлена вертикально вверх, в ее диаграмму будут попадать местные предметы, и отражения от них подавят эхо-сигналы от самолетов, находящихся вблизи аэродрома. Тучи также создают мешающий фон, затрудняющий сопровождение самолетов в плохую погоду. Даже стаи птиц создают фон. Отражения от облаков и стай, хотя и не столь мощные, как отражения от местных предметов, имеют доплеровскую составляющую, затрудняющую выделение движущихся целей.
Обнаружение объектов, движущихся по Земле, сильно затруднено наличием отражений от почвы, а обнаружение объектов, движущихся в лесах, дополнительно осложняется наличием в мешающих отражениях доплеровского сдвига, вызванного движением листвы под ветром. «Дискреты», т. е. сильные отражения от больших местных предметов, таких, как водонапорные башни, обычно не слишком опасны, поскольку оператор запоминает «радиолокационную карту» окружающей местности.
Входя в атмосферу, управляемая ракета подвергается большим перепадам температур. Вскоре после старта боеголовка отделяется от ракеты-носителя, и, поскольку полет происходит за пределами атмосферы, они летят рядом. При снижении ракета-носитель разрушается, и обломки видны на индикаторе как движущиеся цели. Кроме того, боеголовка может нести специальные средства маскировки, такие, как ловушки (незаряженные объекты, имитирующие боеголовку) и пассивные отражатели (множество небольших, но сильно отражающих диполей).
Состав и параметры радиолокационной системы
Основными узлами радиолокатора являются антенна, система управления и устройство обработки сигналов. К антенне подключены передатчик с модулятором и приемно-усилительная аппаратура. Система управления является «мозгом» всей радиолокационной станции. Она определяет ориентацию антенны и вид излучаемых сигналов, сопровождает важные цели и управляет системой отображения. Главными традиционными функциями устройства обработки сигналов являются согласованная фильтрация и устранение бесполезной информации путем порогового обнаружения. Ключевым моментом при разработке радиолокационной системы является выбор сигналов. Они могут быть самыми разнообразными, начиная от простых импульсных последовательностей и до сложных широкополосных сигналов с линейной частотной модуляцией (ЛЧМ-сигналов), пачек простых или ЛЧМ- импульсов, пачек импульсов с переменным периодом повторения или многофазных кодовых последовательностей.
Основные узлы современной радиолокационной системы показаны на фиг. 13.1. Отметим, что система управления контролирует работу всех устройств РЛС. От нее, в частности, идет линия управления к антенной системе. Если антенна имеет электронное сканирование диаграммой, то система управления может задавать положение луча для каждого импульса, а также решать,
ЦВМ системы управления
Фиг. 13.1. Блок-схема современной радиолокационной системы.
следует ли использовать моноимпульсную информацию) для повышения углового разрешения. Система управления также определяет форму излучаемого сигнала и приводит в соответствие ему параметры согласованного фильтра. Если круг задач системы управления оказывается слишком большим, ее функции могут выполнять несколько вычислительных машин (фиг. 13.1).
Прежде чем перейти к рассмотрению методов обработки сигналов, необходимо разъяснить некоторые термины, а также напомнить о ряде простых, но важных физических явлений. Короче говоря, следует рассмотреть основные параметры радиолокаторов.
Апертура антенны и длина волны
Ширина диаграммы направленности антенны описывается формулой
(13.1)
где Ъ — ширина диаграммы, X — длина волны, a D — размер антенны. Если раскрыв антенны симметричен, как, например, в параболических рефлекторах, то величина & и в горизонтальном (азимутальном), и в вертикальном (угломестном) направлениях одинакова); при этом луч имеет игольчатую форму. Во многих случаях (например, при управлении полетами) для ускорения обзора требуется антенна с веерной диаграммой. Такая антенна имеет большой раскрыв в горизонтальном направлении и малый — в вертикальном, что дает узкую диаграмму направленно- ности поДазимуту и широкую — по углу места.
Дальность и разрешение по дальности
Максимальная однозначно измеряемая дальность /?макс равна
-^макс = ~2~ » (13.2)
где с — скорость света (« 3 • 108 м/с), Т — период повторения импульсов. Если, например, Т = 10" с, то 7?макс = 150 км. Если Т уменьшается, то отражения от целей, дальность которых
больше /?макс, будут приняты после излучения следующего импульса и измерения дальности станут неоднозначными. Конечно, шумы приемника и мешающий фон могут ограничить предел дальности, на которой цель обнаруживается с достаточно большой вероятностью, до величины, много меньшей чем /?макс.
Разрешение по дальности ^R характеризует способность радиолокатора разделять отражения от двух целей, расположенных близко друг от друга. Если излучаемый сигнал — монохроматический радиоимпульс, то минимальное значение kR определяется длительностью пульса р. Это означает, что сигналы, отраженные от двух целей, попадающих в диаграмму и разнесенных на расстояние, меньшее чем рс!^, перекроются, и обе цели ошибочно можно принять за одну. Укорочение импульса улучшает разрешение по дальности, но уменьшает предельную дальность действия РЛС за счет уменьшения средней излучаемой мощности. Скомпенсировать это уменьшение обычно нельзя, так как радиолокаторы, как правило, имеют ограниченную пиковую мощность. Как будет показано ниже, сигналы могут быть более сложными, чем отрезок синусоиды, и принципиальное ограничение на разрешающую способность по дальности накладывает не длительность ^импульса, а ширина его спектра.
Доплеровская фильтрация
Доплеровская фильтрация эхо-сигнала основана на эффекте Доплера. Принцип его использования можно пояснить с помощью следующего соотношения:
= (13.3)
где /0 — частота несущей, v — скорость цели, X — длина волны (с = /0Х), Д/ — доплеровский сдвиг частоты принимаемого сигнала (по отношению к излучаемой частоте). Соотношение (13.3) справедливо, если облучать непрерывным гармоническим сигналом цель, движущуюся с постоянной скоростью. Однако непрерывные сигналы (или на практике сигналы большой длительности) дают плохое разрешение по дальности. Чтобы получить достаточно хорошее разрешение и по дальности, и по скорости, необходимо перейти к импульсным доплеровским сигналам). Покажем, что обработка таких сигналов при обнаружении соответствует дискретизации синусоиды с частотой Д/ через интервалы времени, равные периоду повторения импульсов. Пусть все излучаемые импульсы с несущей частотой /0 имеют одну и ту же начальную фазу, а цель находится на некоторой дальности. Поскольку цель за интервал
времени, равный длительности импульса р, смещается мало, ее можно считать неподвижной, и заметного доплеровского сдвига в принятом импульсе наблюдаться не будет. Через Т секунд, однако, смещение цели станет существенным, и при дискретизации следующего импульса, отраженного от той же цели, между ним и предыдущим импульсом выявится заметный фазовый сдвиг. Величина сдвига фазы определяется долей длины волны, на которую цель переместилась за время Т^ т. е.
ф = 2лМ. (13.4)
Если цель движется с постоянной радиальной скоростью, то фаза отраженных импульсов будет изменяться от импульса к импульсу на величину, равную <р. Поэтому последовательность эхо-сигналов, отраженных на заданной дальности, можно представить в виде
s (n, t) = а (п) еЛ2я/оЦ-Т)+пф], (13.5)
где а (ri) описывает амплитудную модуляцию, вызванную перемещением луча при вращении антенны. Для антенн с электронным сканированием можно зафиксировать направление луча так, чтобы а (п) равнялось единице.
Предположим, что в приемном устройстве радиолокатора эхо- сигнал (экспонента с мнимым показателем) умножается на сигнал когерентного гетеродина с произвольной, но постоянной начальной фазой ф. Обозначив этот сигнал через sr (t), получим результат демодуляции в виде .
/ (zz, f) = s (п, f) sr (t) = а (тг) еЯ2я/ои-тН-пф]е-)(2я/о*+Ф) =
= а (тг) е^^Те-^е^^"0,1*^. (13.6) Экспоненты е~w»t и е~^ — постоянные с единичными модулями, и их можно не учитывать. Переменная часть — просто синусоида частоты 2р/Х, представляющая собой доплеровский сдвиг частоты.
Во всех этих выкладках подразумевалось, что несущая частота излучаемых сигналов когерентна от импульса к импульсу (так что ее фаза одинакова во всех импульсах) и весьма стабильна, и имеются два квадратурных демодулятора с одинаковыми усилителями, чем обеспечивается обработка сигнала в комплексной форме. Все это предполагает высокую точность работы аналогового тракта приемника. Существующие радиолокаторы управления полетами, например, не удовлетворяют всем перечисленным требованиям. Во многих радиолокаторах генераторные лампы не обеспечивают межимпульсную когерентность. Поэтому для эффективного использования доплеровской обработки понадобится усовершенствование многих радиолокационных систем.
Выбор сигналов и функция неопределенности
При выборе сигналов основным критерием является условие получения наилучших оценок дальности и скорости для одной или нескольких целей. Из простых физических соображений ясно, что короткий импульс обеспечивает хорошее разрешение по дальности, но плохое по скорости, а длинный импульс с постоянной частотой, наоборот, — плохое разрешение по дальности и хорошее по скорости. Поэтому можно ожидать, что выбор сигнала сведется к поиску компромисса между разрешением по дальности и разрешением по скорости. При объяснении справедливости этого предположения будет использована функция неопределенности, зависящая от двух аргументов — дальности и скорости. При выборе аналоговых сигналов, для которых предполагается выполнение согласованной фильтрации в аналоговой форме, функция неопределенности является основным понятием. В данной главе основное внимание будет уделено цифровым функциям неопределенности. В литературе можно найти достаточно подробное описание функций неопределенности, соответствующих аналоговой обработке, поэтому далее предполагается, что сигналы обрабатываются цифровыми методами.
Функция неопределенности вводится при анализе идеализированной математической модели радиолокационной системы, изображенной на фиг. 13.2. Предполагается, что зондирующий сигнал синтезируется в цифровом виде, но по пути к передатчику он проходит через аналоговый фильтр. В идеальном случае аналоговый эхо-сигнал s (t — т) е^^ ^ ~ х) является задержанной и сдвинутой по частоте копией излученного сигнала s (i). Предполагается, что оба эти эффекта, связанные с положением и движением цели, не искажаются при прохождении сигнала через аналоговый фильтр приемника и АЦП. Тогда на вход согласованного фильтра поступает цифровой сиг 'ал s (п1\ — т) е72л/(птд —т), Заметим, что он является функцией двух непрерывных параметров т и / (дальности и доплеровского сдвига).
Фиг. 13.2. Упрощенная блок-схема радиолокатора, поясняющая введение функции неопределенности.
Перейдем теперь к рассмотрению цифрового согласованного фильтра. Для увеличения дальности действия радиолокатора сигналы желательно удлинять. Но для сохранения разрешения по дальности необходимо, чтобы отклик, соответствующий данному элементу дальности, был ограничен во времени. Это явное противоречие разрешается выбором сигналов большой длительности с короткой автокорреляционной функцией, так чтобы отклик согласованного фильтра на принятый сигнал представлял собой весьма короткий импульс. Итак, цифровой фильтр, согласованный с эхо- сигналом, принятым с нулевой дальности и с нулевым доплеровским сдвигом, должен иметь импульсную характеристику вида s* (— нТд). Сигнал на выходе цифрового согласованного фильтра, называемый цифровой функцией неопределенности, является в сущности функцией взаимной корреляции сигнала и импульсной характеристики согласованного фильтра, т. е. он равен
[со
Л(т, /)= 2 s(nT„+T)s*№)?2,,,(nT«+T>,(13.7)
П=-ОО
где Тд — период дискретизации АЦП (фиг. 13.2). Если фильтр согласован с сигналом для некоторых ненулевых дальности и доплеровского сдвига, то А (т, /) просто сдвигается по обеим координатам, т. е. соотношение (13.7) является весьма общим.
Функция неопределенности [модуль А (т, /)] позволила выявить основное ограничение при выборе радиолокационных сигналов, а именно невозможность создания сигналов, обеспечивающих хорошее разрешение на всей плоскости частота — дальность. Математически это ограничение, как будет показано, выражается тем, что объем под квадратом модуля функции неопределенности не зависит от формы сигнала. Поэтому понижение А (т, /) в какой-то области плоскости (т, /) приводит к повышению ее в другой области. Для доказательства обратимся к формуле (13.7) и вычислим
ОО ^д/2
К = j j А (т, /) А* (т, /) dj m,(13.8)
-ОО -Гд/2
где Ед - частота дискретизации ^Ед = 1/7^).
Подставляя (13.7) в (13.8) и интегрируя сначала по /, получим
ОООО^=2 2ОООО^=2 2ОО
ОООО
^=2 2
ОООО
^=2 2
j s^^ + t) s* (пТд) s* (пгТдА-т) s(mTR) X
— ОО
(13.9)(13.9)sin [л^дГд (n —m)J ,пТд{п — m)
(13.9)
(13.9)
Заметим, что
ОО
R [(л — т) Тд] = j s (пТд + т) s* (тпТд 4- т) dr— ОО
является автокорреляционной функцией сигнала. Тогда
ОООО
^=2 2 s* ^пТ^ s (jtiT^ R VkYi т\Тй\Х
П=—со ш=-оо
sin [лГдГд (п — т.)]лГд (п— т)
Поскольку ЕдТд = 1, то
sin [лГдГд (и — иг)](
пТд^п — т)[ Fa
при п =^ т, при п = т.при п =^ т, при п = т.Следовательно, двойную сумму (13.11) можно заменить
при п =^ т, при п = т.
при п =^ т, при п = т.
ООг=г»Н№ 2 1«(«г=)|2.П= — оо
(13.10)(13.10)(13.11)(13.11)(13.12)(13.12)обычной:обычной:(13.13)(13.13)Отсюда видно, что V (объем под функцией неопределенности) зависит не от формы сигнала, а только от его энергии. Таким образом, любое уменьшение функции неопределенности должно привести к увеличению ее в каком-либо другом месте в плоскости (т, /) (энергия сигнала считается постоянной).
(13.10)
(13.10)
(13.11)
(13.11)
(13.12)
(13.12)
обычной:
обычной:
(13.13)
(13.13)
Функции неопределенности ЛЧМ-сигналов и монохроматических радиоимпульсов
Сигнал с внутриимпульсной ЛЧМ обладает некоторыми полезными свойствами как длинных, так и коротких радиоимпульсов с постоянной частотой. Методически удобнее сначала найти функцию неопределенности для ЛЧМ-сигнала, а затем для монохроматического радиоимпульса как частного случая.
На практике важны сигналы конечной длительности (и фильтры с ограниченными во времени импульсными характеристиками). Это означает, что нужно ввести некоторое ограничение на пределы суммирования в (13.7), которое в явном виде учитывало бы степень перекрытия между s (пТ^ + т) и s* (пТ^.
Примем, что длительность сигнала Т в точности равна МТ^ где М — число отсчетов в импульсной характеристике согласованного фильтра (фиг. 13.3). При —Уд*^ т 0 сигнал полностью перекрывается с импульсной характеристикой. При 0 < т Tw они взаимно смещены на один отсчет. Пусть / (т) — округленное до большего целого числа значение отношения ^[/Уд, т. е.
, . М-1
АМ=Е
М-1
А^,П=^
Т=МТ8
Отсчеты s*(nTg)
]^Ta А(тА)=Е
, . х М"3
А(т,П=Е
Фиг. 13.3. Синхронизация работы цифрового согласованного фильтрас отсчетами сигнала.
I (т) = 1 при 0 < т ^ Уд, Z (т) = 2 при 7\< г ^ 2УД и т. д. Из фиг. 13.3 видно, что при отрицательных т равенство (13.7) принимает вид
М-1
Л(т,/) = 3 s («Гд +г) s* (»/■„) е*2’1'"^,(13.14)
n=IW
а при положительных т
М-1-1(т)
Л(т, п= 2 s(nr„ + T)s*(»r„) с’’2я,пГл. (13.15) п=0
Если s (пТ^ — экспонента, то (13.14) можно преобразовать в (13.15) простой заменой переменных к = п — / (т), причем появление I (т) в аргументах трех функций, стоящих в сумме (13.14), проявится лишь в виде общего фазового множителя, который можно отбросить при вычислении модуля суммы. Итак, для любых вычислений можно использовать соотношение (13.15), а А (т, /)
действительно является функцией модуля ) / (т)|. Теперь можно перейти к вычислению (13.15) для частного случая ЛЧМ-сигнала, равного
(13.16)(13.16)s (t) = ^W)l8,
(13.16)
(13.16)
где TV — девиация частоты ЛЧМ-сигнала, а Т — его длительность. Заменим параметр TV на NIT, так что N равно произведению ширины спектра сигнала на его длительность. Если Гд соответствует частоте дискретизации по Найквисту (т. е. Т^ = 1/TV), toN=TII\ = M. В приводимых ниже выкладках N и М считаются независимыми переменными, поэтому результат будет справедлив для любой частоты дискретизации. Отбрасывая фазовые множители в (13.15) и (13.16), получим
Af-1-Цт)
(13.17)(13.18)(13.19)(13.17)(13.18)(13.19)I А (т, /) | =2 еЯ2Ж^/Т)гпТд+2л7пТд]>
(13.17)
(13.18)
(13.19)
(13.17)
(13.18)
(13.19)
п=0
Для нормировки переменных т и / введем
у = ~ и x = fT
и после ряда преобразований получим
-а ■ - sin [л № + у)1 И-(I ' (?П |/М)]
1 Иsin [(л/Л/) (7Vy +v)]
Соотношение (13.19) является основным выражением для функции неопределенности ЛЧМ-сигнала. Интересно рассмотреть ее
сечения при у = О или v = 0. При v =0
| 4 h, 0) | =(13 20)
Если же у = 0, то
| А (0, v) |.(13.21)
1sin(nv/Af)''
Важно отметить, что сечения (13.20) и (13.21) имеют (при достаточно больших целых АГ) вид коротких острых импульсов примерно одинаковой длины. Множитель 1 — (| I (уТ) \/М) приводит к понижению частоты пульсаций боковых лепестков при больших дальностях. Поскольку в двух аргументах соотношения (13.19) фигурирует только величина (TVy + v), разделишь вклады, дальности цели и ее скорости невозможно. Для иллюстрации этого положения на фиг. 13.4 изображены два сечения функции неопреден- ности по дальности при различных доплеровских сдвигах. Если с помощью ЛЧМ-сигнала ведутся наблюдения за двумя целями,
Фиг. 13.4. Функция неопределенности ЛЧМ-сигнала.
находящимися на одной дальности, но движущимися с разными скоростями, то эхо-сигналы можно также интерпретировать как сигналы, отраженные от целей, смещенных по дальности.
ЛЧМ-сигналы могут иметь большую длительность и, следовательно, большую энергию, что увеличивает предельную дальность действия радиолокатора. Кроме того, отклик на выходе согласованного фильтра всегда представляет собой короткий импульс, и это обеспечивает высокое разрешение по дальности. В этом смысле можно считать, что ЛЧМ-сигналы являются «хорошими». Не следует, однако, забывать, что неразличимость эффектов, вызванных доплеровским сдвигом и смещением по дальности, не позволяет разделить измерения дальности и скорости, т. е. ЛЧМ- сигналы малопригодны для измерения скорости. К счастью, во многих практических задачах смещение оценки дальности, вызываемое доплеровским сдвигом, имеет весьма малую величину, поэтому ЛЧМ-сигналы все-таки можно использовать для измерения дальности до цели.
На прямой TVy + v = 0 в плоскости (у, v) равенство (13.19) сводится к
|Л(т, ^^(l-1-^-!)^ (13.22)
Таким образом, функцию неопределенности в трехмерном пространстве можно представить в виде «хребта», простирающегося вдоль прямой? TVy + v = 0 и имеющего в продольном сечении форму треугольника. В силу ступенчатого характера функции | I (уТ7) | высота «хребта» на самом деле изменяется скачками. На
Фиг. 13.5. Главный лепесток функции неопределенности ЛЧМ-сигнала. а — частота дискретизации равна частоте Найквиста; б — частота дискретизации равна половине частоты Найквиста*
фиг. 13.5, а в соответствии с формулой (13.19) заштрихованы области, в которых |Л (у, v) | (или | Л (т, /) |) заметно отличается от нуля; считается, что М = N или Тя = 1/W, т. е. частота дискретизации равна частоте Найквиста. При понижении частоты дискретизации вдвое (т. е. Гд = 1/(2TV)) появляются дополнительные ^«ненулевые» области (фиг. 13.5, б), обусловленные наложением. Сравнивая (13.7) с известной формулой для функции неопределенности аналоговых сигналов
СЮ
а(т,/)= j slt-^s*^e^ftati(13.23)
— ОО
можно получить соотношение, связывающее а (т, /) и Л (т, /). Из гл. 2 известно, что фурье-преобразования аналогового и дискретизованного сигналов связаны следующим образом:
ОО
ба (/) = J g W ^i№,i &— 00
И
G^e^ = 3 g^nT^e"^1^ ,
n=-oo
так чтотак чтоООООП= — соП= — соП )7Д 'П )7Д '(13.24)(13.24)
так что
так что
ОО
ОО
П= — со
П= — со
П )
7Д '
П )
7Д '
(13.24)
(13.24)
Анализ формул (13.7) и (13.23) показывает, что (13.23) представляет собой преобразование Фурье от произведения s (t -|- т) s* (t), а (13.7) — преобразование Фурье от того же дискретизованного произведения. Поэтому
А (т,А (т,/) =/) =п \т / •п \т / •(13.25)(13.25)
А (т,
А (т,
/) =
/) =
п \т / •
п \т / •
(13.25)
(13.25)
Учитывая эффекты наложения, приходим к выводу, что функция неопределенности цифрового сигнала периодична по частоте, но не по времени. На фиг. 13.6 изображены сечения | А (т, 0)| для TW = 512 = М, полученные с помощью программы, моделирующей прохождение сигнала через согласованный фильтр. Отметим низкий уровень боковых лепестков на фиг. 13.6, а, на фиг. 13.6, б они приближаются к известной цифре —13 дБ, характерной для невзвешенного аналогового ЛЧМ-сигнала. Это связано с особенностью графопостроителя, отображающего отсчеты \А (т, 0)| с интервалом Тд секунд. На фиг. 13.6, а они оказались вблизи нулей (аналоговой) функции неопределенности (р = 0), а на фиг. 13.6, б точки отсчета сдвинуты на половину интервала дискретизации (р = 0,5) и близки к максимумам боковых лепестков.
Фиг 13 6. Функция неопределенности ЛЧМ-сигнала при нулевом доплеровском сдвиге.
Функция неопределенности монохроматическогорадиоимпульса
Если в формуле (13.19) положить? W = 0, так что N = 0, то ЛЧМ-сигнал вырождается в монохроматический радиоимпульс.
для которого
И (7, v)И (7, v)(13.26)(13.26)sin (лу)[1-(|/(тП |/Af)]sin (лу/М)
И (7, v)
И (7, v)
(13.26)
(13.26)
Рассмотрим несколько сечений функции неопределенности вдоль оси v при постоянных у (фиг. 13.7). Отметим, что с увеличением задержки главный лепесток не только уменьшается по уровню, но и расширяется, т. е. разрешение по скорости ухудшается. Если сделать сечения по у при постоянных v, то будут получены неутешительные результаты. При v = 0 сечение |Л (у, 0)| имеет треугольную форму, а при других v оно имеет синусоидальную форму, причем максимумы располагаются довольно хаотично.
Фиг. 13.7. Сечения функции неопределенности монохроматического радиоимпульса.Фиг. 13.7. Сечения функции неопределенности монохроматического радиоимпульса.
Фиг. 13.7. Сечения функции неопределенности монохроматического радиоимпульса.
Фиг. 13.7. Сечения функции неопределенности монохроматического радиоимпульса.
Функция неопределенности пачки импульсов
Хотя ЛЧМ-сигнал легко обнаруживается в шумах, остается неясным, как с его помощью измерять скорость цели. Он широко используется для увеличения дальности действия радиолокатора, но для точных измерений скорости требуется использование других сигналов.
В разд. 13.2 уже говорилось о том, что увеличение области однозначного измерения дальности достигается за счет уменьшения частоты повторения, тогда как для расширения области однозначного измерения скорости частоту повторения следует повышать. В любом случае приходится излучать последовательность импульсов, для которой мы найдем и проанализируем функцию неопределенности. Поскольку пачка представляет собой импульсную последовательность, то и аналоговая, и цифровая функции неопределенности имеют одинаковую структуру, так что дискретизация для этого сигнала не играет роли. Например, функция неопределенности пачки из 10 равностоящих импульсов (фиг. 13.8) напоминает хорошо известную «борону». Параметр А равен периоду следования импульсов. Рассматриваемая функция неопределенности имеет пики неоднозначности и по дальности, и по скорости. Величина периодов по т и по / определяется только значением А, причем увеличение А расширяет интервал однозначного определения дальности, но сужает интервал однозначного измерения скорости, и наоборот. Таким образом, пачку импульсов наиболее целесообразно применять при измерении дальности
Фиг. 13.8. Сечение функции неопределенности пачки импульсов.
и скорости, если уже имеется грубая, но достоверная оценка одной (или обеих) из этих величин.
Упражнение. Найдите в общем виде выражение для функции неопределенности пачки импульсов и подтвердите данные фиг. 13.8.
Другие сигналы
В некоторых случаях при радиолокационных исследованиях необходимо определять и дальность, и скорость. Для этого сигнал должен иметь «кнопочную» функцию неопределенности с одним большим пиком, сосредоточенным на небольшом участке плоскости дальность — скорость. Разработано много сигналов с такой функцией неопределенности, например ЛЧМ-сигналы с треугольным изменением частоты, сигналы с модуляцией кодами Баркера и многофазными кодами, а также кодовыми последовательностями максимальной длины. Анализ таких сигналов можно найти в соответствующих монографиях, и повторять его здесь нецелесообразно.
Читатель, вероятно, заметил сходство (по крайней мере в общем подходе) между синтезом фильтров и синтезом сигналов с заданными функциями неопределенности. Существует несколько причин, затрудняющих формализацию процедуры синтеза сигналов. Во-первых, приходится аппроксимировать двумерную идеализированную функцию, что значительно сложнее задачи одномерной аппроксимации импульсной или частотной характеристик при синтезе фильтров. Во-вторых, на выбор радиолокационных сигналов существенно влияют многочисленные параметры радиолокатора, определяемые характеристиками антенны, передатчика, системы управления, которые, возможно, не связаны непосредственно с системой обработки сигналов. Третья и, вероятно, главная причина состоит в .том, что помеховая обстановка зачастую с трудом поддается математическому описанию, тогда как «правильная» функция неопределенности зависит от свойств помех. Это означает, что оптимизация радиолокатора может быть достигнута лишь после многочисленных его испытаний в реальных условиях, поэтому следует максимально использовать гибкость, присущую цифровым методам обработки сигналов.
Цифровые согласованные фильтрыдля радиолокационных сигналов
Сигнал, отраженный от цели, находящейся на определенной дальности и движущейся с определенной скоростью, может быть скрыт мешающим фоном. Если скорости цели и мешающих отражателей различаются достаточно сильно, для выделения сигнала
можно применить доплеровскую фильтрацию. Поэтому задача системы обработки сигналов сводится, вообще говоря, к выполнению согласованной фильтрации эхо-сигнала для каждого представляющего интерес сочетания дальность — скорость (и угол). Такой подход может привести к чрезмерному усложнению аппаратуры, поэтому приходится отказаться от решения задачи в общем виде и сделать попытку рассмотреть структуры согласованных фильтров для ряда частных случаев.
Фильтр, согласованный с длинными монохроматическим импульсом
Рассмотрим задачу радиолокационного сопровождения спутника. Предположим, что угловые координаты спутника приблизительно известны, но его дальность и скорость неизвестны. Длинные импульсы дают плохое разрешение по дальности, однако проблема в данном случае заключается в том, чтобы обнаружить цель, что объясняется ее малыми размерами и большой удаленностью. В этом случае приходится использовать гребенку фильтров, настроенных на ожидаемые доплеровские частоты. Пусть импульс излучается в течение 0,1 с (фиг. 13.9), а интервал поиска эхо- сигнала равен 0,2 с, т. е. интервал однозначного измерения дальности равен 30 тыс. км. Пусть, кроме того, максимальная радиальная скорость спутника составляет 1800 км/ч, а длина волны РЛС приблизительно равна 10 см. Тогда, согласно (13.3), доплеровский сдвиг не превысит 10 000 Гц. Разрешение по частоте обратно пропорционально длительности сигнала, т. е. составляет 10 Гц. Следовательно, необходима гребенка из 1000 доплеровских фильтров, причем частота дискретизации должна составлять 10 000 Гц.
Из изложенного в гл. 6 известно, что эквивалентом гребенчатой фильтрации является скользящее БПФ. Действительно, скользящее БПФ без взвешивания в точности соответствует гребенке требуемых согласованных фильтров, поскольку импульсные характеристики фильтров, реализуемых с помощью скользящего БПФ, совпадают с ожидаемым эхо-сигналом при различных доплеровских сдвигах. Однако скрльзящее 1024-точечное БПФ при частоте дискретизации 10 кГц является в данном случае чересчур мощным средством анализа, поскольку полоса каждого фильтра равна 10 Гц, так что дискретизация на выходе с частотой 10 кГц явно избыточна. Если скользящее БПФ заменить на «скачущее» БПФ, выполняя, скажем, 50 преобразований в секунду, то это будет эквивалентно дискретизации результатов скользящего БПФ с частотой 50 Гц. Быстродействие в этом случае можно уменьшить в 200 раз. Результаты выполнения скачущих БПФ можно использовать (фиг. 13.9, в) для грубого определения дальности.
Монохроматическийрадиоимпульс
— 0,1с— 0,1сПросматриваемый*- диапазон дальностейПросматриваемый*- диапазон дальностей0,2 с0,2 сааДискретизация с частотой ЮкГцДискретизация с частотой ЮкГц
— 0,1с
— 0,1с
Просматриваемый*- диапазон дальностей
Просматриваемый*- диапазон дальностей
0,2 с
0,2 с
а
а
Дискретизация с частотой ЮкГц
Дискретизация с частотой ЮкГц
||Принятый сигнал
БПФ1,
БПФ 2
4
. БПФЗв
;БПФ 4!
( БПФ5
. БПФ6 .
БПФ 7
Задержка в системеЗадержка в системеБПФ 8БПФ 8Грубая оценка* дальностиГрубая оценка* дальности
Задержка в системе
Задержка в системе
БПФ 8
БПФ 8
Грубая оценка
* дальности
Грубая оценка
* дальности
Фиг. 13.9. Система для обнаружения и грубой оценки дальности цели,находящейся на очень больших расстояниях.
а — сигнал; б — система; в — результат,
Упражнение. Сколько базовых операций Б ПФ в секунду приходится делать, чтобы обеспечить выполнение в секунду 50 1024-точечных ДПФ? Целесообразно ли в качестве процессора БПФ использовать мини-ЦВМ? При ответе на вопросы учтите требования и к быстродействию, и к объему памяти.
Согласованные фильтры для произвольных сигналов
Поскольку «хороший» радиолокационный сигнал часто определяется помеховой обстановкой (которая может меняться во времени), целесообразно рассмотреть вопросы проектирования и практического построения цифровых согласованных фильтров с произвольными импульсными характеристиками. Можно указать два различных способа построения таких фильтров: 1) в виде КИХ- фильтра в прямой форме, 2) на основе БПФ. В первом случае необходимая гибкость достигается изменением импульсной характеристики за счет изменения коэффициентов фильтра. Во втором случае изменяют ДПФ от импульсной характеристики. Основным критерием того, какому из двух способов следует отдать предпочтение, является величина произведения TW полосы сигнала на его длительность. Чем больше ZFP, тем целесообразнее становится применение БПФ. Произведение полосы на длительность в теории согласованной фильтрации является крайне важным понятием. Ширина полосы сигнала определяет максимальное разрешение по дальности, а его длительность — по скорости. Более того, в цифровых системах полная длительность сигнала Т равна NT^, где ТД — период дискретизации, a N — число отсчетов сигнала. А так как при обычной дискретизации Тд в точности равно 1/W, то
N = TW, (13.27)
т. е. произведение полосы сигнала на его длительность равно числу отсчетов дискретизованного сигнала. В общем случае импульсная характеристика фильтра, согласованного с данным сигналом, содержит столько же отсчетов, что и сам сигнал, поэтому величина N определяет также сложность цифрового согласованного фильтра. Как будет видно из дальнейших примеров, произведение TW может меняться в очень широких пределах, но в большинстве случаев более целесообразной представляется цифровая согласованная фильтрация на основе БПФ.
В любой радиолокационной системе произведение TW определяется требованиями, предъявляемыми к радиолокатору, поэтому число отсчетов в импульсной характеристике согласованного фильтра, равное числу отсчетов в сигнале, является конструктивным параметром, определяемым в большей или меньшей степени требованиями ко всей системе. Однако размер анализируемого массива чисел (и, следовательно, размер БПФ) является дополнительным параметром, подбором которого можно минимизировать стоимость аппаратуры. Два возможных способа обработки, соответствующие различным размерам массивов, иллюстрируются на фиг. 13.10. В случае а размер массива вдвое больше длины
ПолезныеПолезныеотсчетыотсчетыСлучай аСлучай аОтбрасываемыеотсчеты.Отбрасываемыеотсчеты., ~у——Размер БПФ
Полезные
Полезные
отсчеты
отсчеты
Случай а
Случай а
Отбрасываемыеотсчеты.
Отбрасываемыеотсчеты.
।।Длительность
'/। ।сигнала
^/i-*— ।
।'
IНИЖА
।шжт
IHWHP
Случай б
1ЖЖЖ
Iжчш
Iже.
Iжж
Фиг. 13.10. Сравнение числа отбрасываемых отсчетов при двух различных размерах Б ПФ и постоянной длительности сигнала.»
Случай а: размер БПФ вдвое больше длительности сигнала; случай б: размер БПФвчетверо больше длительности сигнала.
зондирующего сигнала (и импульсной характеристики); в случае б размер массива превышает длину сигнала в четыре раза. Преимуществом первого варианта является меньший размер БПФ, а преимущество второго состоит в том, что отбрасывается меньшее число точек. Эту компромиссную эффективность системы можно описать соотношением
77/ ^8 ^й \ / 1 log ^Й \ Т О Г/ЛО OQ\
где Ln — длина импульсной характеристики, a Ls — размер массива. Предполагается, что сигнал и импульсная характеристика имеют одинаковую длину, так что минимальный размер массива должен хотя бы вдвое превосходить длину импульсной характеристики. Первый из сомножителей в (13.28) характеризует увеличение эффективности (в относительном числе правильных отсчетов после фильтрации), второй — уменьшение эффективности, вызываемое увеличением по логарифмическому закону числа умножений за счет увеличения размера БПФ. Следовательно, величина Е действительно характеризует эффективность вычислений, и ее можно рассматривать как число умножений, приходящееся на каждый входной отсчет. Обычно берут Ls =|2 L^ что дает Е = 1/2 при Lh,^ 1. Из зависимостей Е от Ls (фиг. 13.11), где Е^ является параметром, видно, что при увеличении размера массива эффективность вычислений увеличивается, но кривые не монотонны, т. е. для каждого значения Ец существует оптимальный размер массива, причем для всех интересующих нас случаев оказывается, что целесообразно брать Ls = 8Lh. Следует, однако,
Фиг. 13.11. Зависимость эффективности свертки от размера Б ПФ.
иметь в виду, что учитывались только затраты на выполнение умножений. Но пропорционально размеру БПФ растет и объем памяти, поэтому выигрыш в эффективности за счет умножений может быть сведен на нет увеличением объема запоминающего устройства. Практически же в большинстве случаев вряд ли найдутся соображения, оправдывающие отход от варианта Ls = 2£Л.
Уменьшение уровня боковых лепестков согласованного фильтра путем взвешивания
Согласованный фильтр для типового радиолокационного сигнала (например, ЛЧМ-сигнала) строят так, чтобы в некоторый единственный момент времени получить наибольшее отношение сигнал/шум. Обычно это означает, что колебание на выходе согласованного фильтра имеет вид короткого импульса. В большинстве систем полезный главный лепесток сопровождается боковыми лепестками довольно большой интенсивности. При обработке эхо-сигналов от нескольких целей с различной отражающей способностью это может оказаться весьма нежелательным, так как главный лепесток более слабой цели может быть скрыт боковым лепестком отклика от более сильной цели.
Используя взвешивание, можно понизить уровень боковых лепестков за счет ухудшения разрешения по дальности и уменьшения отношения сигнал/шум. Взвешивание можно выполнить во временной области, пропуская сигнал с выхода согласованного фильтра через дополнительный фильтр, либо в частотной области, взвешивая спектр между прямым и обратным БПФ. Фактически же,
Фиг. 13.12. Три способа введения взвешивания в согласованную фильтрацию.
согласно фиг. 13.2, взвешивание можно выполнить, включив соответствующий аналоговый фильтр перед АЦП. Три различных способа введения взвешивания показаны на фиг. 13.12. В первом случае (фиг. 13.12, а) оно связано с проведением довольно большого объема дополнительных вычислений, если длина импульсной характеристики фильтра г (в числе отсчетов) достаточно велика. По этой причине весьма полезными оказываются весовые функции Хэмминга и Ханна («хэннинг»), для которых г = 3, а боковые лепестки ниже главного на 40 дБ. Во втором случае (фиг. 13.12, б) ситуация несколько сложнее. Выходной сигнал всегда содержит 2/^ отсчетов (где Lh — длина сигнала и импульсной характеристики согласованного фильтра), но при спектральном взвешивании, эквивалентном фильтрации КИХ-фильтром с импульсной характеристикой, содержащей г отсчетов, из выходной последовательности согласованного фильтра следует удалить г отсчетов. Пусть, например, сигнал содержит 256 отсчетов. Тогда при обработке (как со взвешиванием, так и без него) выполняются прямое и обратное БПФ по 512 точкам. При наличии взвешивания, однако, 7" из 512 выходных отсчетов искажены процедурой взвешивания, и эффективное значение произведения полосы на длительность несколько уменьшается, но этот проигрыш мал по сравнению с потерями из-за рассогласования. В третьем случае (фиг. 13.12, е) система является линейной (если не учитывать АЦП), т. е. взвешивающий фильтр может быть выполнен в аналоговой форме и располагаться до АЦП. Недостаток последнего ме-
Фиг. 13.13. Сжатие взвешенного ЛЧМ-импульса при р = 0 п р = 0,5.
тода взвешивания заключается в том, что аналоговый фильтр, предшествующий АЦП, должен выполнять и другую задачу, а именно подавлять шум, лежащий вне полосы эхо-сигнала, чтобы при дискретизации он не накладывался на спектр самого сигнала. В данной книге последняя схема (фиг. 13.12, в) подробно не рассматривается.
На фиг. 13.13 показана функция неопределенности ЛЧМ-сиг- нала для нулевого доплеровского сдвига при взвешивании по Хэммингу и р = 0 или р = 0,5. Два больших отсчета по обе стороны от основного пика свидетельствуют о расширении главного лепестка функции неопределенности. Видно также, что ближайшие боковые лепестки понизились до уровня —40 дБ.
При разработке цифровых согласованных фильтров для радиолокационных сигналов возникают и другие важные проблемы, однако они очень сильно зависят от специфики задач, поэтому дальнейшее обсуждение согласованной фильтрации отнесено к примерам.
Согласованный фильтр для пачки импульсов
Предположим, что поставлена задача обнаружить цель на большой дальности и сопровождать эту цель по мере ее приближения. Стандартный метод решения этой задачи состоит в излучении ЛЧМ-сигнала, а вслед за ним — пачки импульсов. ЛЧМ-сигнал хорошо подходит для обнаружения цели, но, как уже отмечалось в разд. 13.3, он не позволяет разделить изменения дальности и скорости цели. Для однозначного измерения дальности и скорости
Сигнал s(n)Сигнал s(n)аачастота целичастота цели
Сигнал s(n)
Сигнал s(n)
а
а
частота цели
частота цели
s(n) (после фильтра, согласованного с одиночным импульсом)
Трибая оценка / дальности
Фиг. 13.14. Обработка пачки импульсов с помощью скользящего Б ПФ.
излучается пачка импульсов. Она может представлять собой последовательность коротких импульсов или длинных импульсов с ЛЧМ-заполнением, если требуется увеличить энергию сигнала. В последнем случае эхо-сигнал сначала пропускается через фильтр, согласованный с ЛЧМ-сигналом, что дает последовательность очень коротких импульсов с увеличенной по сравнению с эхо-сигналом амплитудой. Итак, в любом случае нас будут интересовать фильтры, согласованные с пачкой коротких импульсов при заданных значениях скорости цели.
Один из методов согласованной фильтрации пачки (фиг. 13.14) соответствует вычислению скользящего БПФ по N отсчетам сигнала, разнесенным по времени на период повторения импульсов. В предположении, что одна из N выходных гармоник БПФ соответствует истинному значению доплеровского сдвига, можно ожидать, что ее амплитуда (как функция времени) представляет собой последовательность с треугольной огибающей, совпадающую с выходным сигналом фильтра, согласованного с пачкой импульсов, имеющей прямоугольную огибающую.
Рассмотренному методу обработки пачки импульсов присуща избыточность, так как каждый из N отсчетов, по которым выполняется БПФ, используется в выполнении еще (N — 1) преобразо-
Гребенка цифровых фильтровГребенка цифровых фильтровФиг. 13.15. Цифровая обработка пачки импульсов для перестановки отсчетов.Фиг. 13.15. Цифровая обработка пачки импульсов для перестановки отсчетов.при использовании ЗУ
Гребенка цифровых фильтров
Гребенка цифровых фильтров
Фиг. 13.15. Цифровая обработка пачки импульсов для перестановки отсчетов.
Фиг. 13.15. Цифровая обработка пачки импульсов для перестановки отсчетов.
ваний, причем это относится ко всем К отсчетам, занимающим интервал повторения импульсов РЛС. Так, если период дискретизации равен Уд, то каждые Тд секунд необходимо выполнять Б ПФ размером в N точек. Например, в системе с частотой дискретизации 10 МГц, содержащей 16 доплеровских каналов, необходимо через каждые 100 нс выполнять 16-точечное БПФ.
Недостаточную эффективность рассмотренной схемы можно повысить, используя ЗУ для перестановки отсчетов и гребенку цифровых фильтров (фиг. 13.15). Это один из тех редких случаев, когда система с цифровыми фильтрами оказывается эффективнее, чем система на основе алгоритма БПФ. Для того чтобы понять принцип работы ЗУ для перестановки отсчетов, представим, что на вход ЗУ поступает последовательность чисел с номерами 0, 1, 2, ... Как и прежде, будем считать, что на периоде повторения импульсов берется К отсчетов. Задача памяти состоит в перегруппировке входной последовательности к следующему виду: 0, К, ^К, ..., 1, К + 1, 2К + 1, ..., 2, К + 2, 2К + 2, ... . После такой перестановки доплеровская обработка производится отдельно для каждого элемента дальности: нулевого, первого и т. д. Если мы хотим реализовать все N доплеровских каналов, при поступлении очередного отсчета необходимо осуществить N комплексных умножений, тогда как в схеме фиг. 13.14 на каждый отсчет приходится (7V/2) log2 N комплексных умножений. Соотношение между числом операций при рекурсивной фильтрации и при фильтрации на основе БПФ было проанализировано в гл. 6. Дальнейшее сокращение объема вычислений возможно, если не требуются все N доплеровских каналов; при использовании же БПФ в любом случае реализуются все каналы.
Упражнение. Напишите формулу, определяющую порядок адресации в схеме фиг. 13.15 для общего случая пачки из L импульсов и числа отсчетов на периоде повторения, равного К.Упражнение. Напишите формулу, определяющую порядок адресации в схеме фиг. 13.15 для общего случая пачки из L импульсов и числа отсчетов на периоде повторения, равного К.
Упражнение. Напишите формулу, определяющую порядок адресации в схеме фиг. 13.15 для общего случая пачки из L импульсов и числа отсчетов на периоде повторения, равного К.
Упражнение. Напишите формулу, определяющую порядок адресации в схеме фиг. 13.15 для общего случая пачки из L импульсов и числа отсчетов на периоде повторения, равного К.
Память для перестановки отсчетов строится на основе ЗУ с произвольным доступом с использованием специального алгоритма адресации. Перестановки производятся в реальном времени, причем объем памяти может не превосходить объема обрабатываемого массива. Алгоритм перестановки иллюстрируется на фиг. 13.16 применительно к системе, в которой излучается пачка из восьми импульсов и обрабатываются эхо-сигналы с пяти дальностей. Каждый столбец представляет перестановку всех 40 отсчетов. Первые 40 отсчетов записываются последовательно, т. е. в ячейки с адресами 0, 1, 2, 3 и т. д. Однако на гребенку доплеровских фильтров они должны поступать в ином порядке: 0, 5, 10, ..., 1, 6, 11, ... и т. д. Для этого при считывании используется адресная последовательность, приведенная во втором столбце. Чтобы не увеличивать памяти, каждый новый отсчет следует записывать на место последнего отсчета, выведенного из памяти. Таким образом, для каждого набора из 40 отсчетов адресация при записи в память и считывании осуществляется по-иному, что и показано в последующих столбцах.
0
О
0
0
1
5
25
8
2
10
11
16
3'
15
36
24
4
20
22
32
5
25
8
1
6
30
33
9
7
35
19
17
8
1
5
25
9
6
30
33
10
11
16
2
11
16
2
10
12
21
27
18
13
26
13
26
14
31
38
34
15
36
24
3
16
2
10
11
17
7
35
19
18
12
21
27
Повторение
19
17
7
35
последовательностей
20
' 22
32
4
21
27
18
12
22
32
4
20
23
37
29
28
24
3
15
36
25
8
1 '
5
26
13
26
13
27
18
12
21
28
23
37
29
29
28
23
37
30
33
9
6
31
38
34
14
32
4
20
22
33
9
6
30
34
14
31
38
35
19
17
7
36
24
3
15
37
29
28
23
38
34
14
31
39
39
39
39
Фиг. 13.16. Пример последовательности адресов при обработке пачки из восьми импульсов для пяти элементов дальности.
Аэродромный обзорный радиолокатор системыуправления полетами. Доплеровская фильтрациякак средство подавления мешающих отражений
Антенны существующих радиолокационных систем управления полетами вращаются механически, совершая оборот за 4—12 с. Угловое разрешение по азимуту составляет 1—2°; в вертикальной плоскости диаграмма направленности имеет веерную форму шириной 30—45°. Итак, при сканировании антенны от цели поступает пачка эхо-импульсов (фиг. 13.17), следующих с частотой повторения зондирующих импульсов. Следующая пачка от той же цели будет получена при последующем обороте антенны. Опираясь па эту информацию, необходимо сопровождать в своей зоне (обычно в пределах 40—65 км) вплоть до 50 самолетов и отображать их положение оператору для сопоставления с расписанием полетов, с запланированными курсами различных коммерческих и частных самолетов, а также с данными, получаемыми из переговоров с экипажами и другими операторами.
Существующие аэродромные обзорные РЛС работают в десятисантиметровом диапазоне (X « 10 см). На этой волне существенный мешающий фон могут создавать отражения от метеообразований, например от дождя, но, пожалуй, наиболее существенные мешающие отражения создаются местными предметами. Такие помехи могут быть подавлены за счет более совершенной обработки сигнала, в частности за счет доплеровской фильтрации, позволяющей выделить эхо-сигналы от сравнительно быстро движущихся самолетов на фоне отражений от метеообразований и местных предметов. Следует отметить, что хотя и принято считать, что отражения от местных предметов не имеют доплеровского сдвига, на самом деле он существует, что обусловлено движением антенны. Это обстоятельство снижает эффективность доплеровской обработки. Его можно было бы устранить, используя антенны другого типа
Амплитудная модуляция, определяемая формой диаграммы направлен
ье
360
Фиг. 13.17. Вид эхо-сигналов, получаемых в радиолокаторе с вращающейся антенной для цели, находящейся на заданной дальности.
(например, фазируемые решетки). Однако такая замена антенн большого числа действующих радиолокаторов потребовала бы значительных затрат. В связи с этим перед Линкольновской лабораторией была поставлена задача найти методы обработки сигналов, которые позволили бы в значительной степени преодолеть перечисленные трудности путем добавления к существующей аппаратуре сравнительно недорогих приставок.
В экспериментальной установке (фиг. 13.18) антенна и остальное оборудование радиолокатора находились примерно в километре от быстродействующего процессора FDP, описанного в гл. И. Их соединяли две линии связи. По одной из них принятый эхо- сигнал передавался в FDP для обработки и порогового обнаружения, по другой линии результаты обработки поступали на индикатор радиолокатора. Эксперименты проводились с когерентной РЛС десятисантиметрового диапазона (X = 10,7 см), причем диаграмма антенны имела веерную форму с шириной по азимуту в 1°. Антенна шириной 5,25 м вращалась со скоростью 1,36 рад/с. Частота следования импульсов МТ составляла 1000 Гц, длина импульсов была равна 1 мкс, что соответствовало полосе 1 МГц. При таком соотношении между шириной диаграммы и величиной МТ число импульсов, достигающих цели при сканировании антенны, равно 15. Эта величина соответствует пачке импульсов, описанной в разд. 13.3. Задача состоит в том, чтобы для любого элемента дальности в пределах зоны обзора разработать фильтр, согласованный с излученным сигналом, учитывая при этом некоторую подходящую модель мешающего фона. Однако прежде,
I
I
Фиг. 13.18. Экспериментальная установка для обработки сигналов аэродромного обзорного радиолокатора.
чем перейти к согласованным фильтрам, рассмотрим вопрос об однозначности измерений дальности и скорости применительно к параметрам данной РЛС.
Во-первых, период повторения 1 мс необходим для обеспечения заданного диапазона однозначного измерения дальности, близкого к 100 км. Для радиолокатора, работающего в десятисантиметровом диапазоне, величина доплеровского сдвига при движении цели со скоростью до 1/3 км/с не превысит 3300 Гц. Но так как 1/7 = 1000 Гц, то доплеровский спектр будет периодичен с периодом в 1000 Гц, так что система не сможет различить такие доплеровские сдвиги, как, скажем, 400 Гц, 1400 Гц и 2400 Гц. Далее, поскольку доплеровский сдвиг отражений от местных предметов близок к нулю, то дискретизация с частотой 1000 Гц создает значительный мешающий фон на частотах 1000, 2000, 3000 Гц и т. д. Эти частоты соответствуют «слепым» скоростям, при которых самолеты не обнаруживаются на фоне помех. Поэтому важно, чтобы обработка сигналов обеспечивала однозначность измерений. Для обеспечения однозначности измерений можно использовать две пачки с разными частотами следования импульсов. В данном эксперименте поочередно излучались две пачки по восемь импульсов каждая с различными значениями 1/Т. Это позволяет обнаруживать на одной из частот следования цель, радиальная скорость которой для второй частоты является «слепой». Таким образом, согласованный фильтр нашей системы представляет собой устройство для обработки пачки из восьми импульсов. Согласованная фильтрация сигналов, поступающих на фоне мешающих отражений, для различных моделей отражателей была рассмотрена Хофштет- тером и Делонгом. Они получили формулы оптимальной линейной фильтрации для любой заданной доплеровской частоты. Так как не существует способа заранее узнать радиальную скорость цели, то ясно, что потребуется гребенка согласованных фильтров, перекрывающая возможный диапазон доплеровских частот. Не вдаваясь здесь в подробности оптимальной обработки1), отметим лишь, что с вычислительной точки зрения она сводится (для каждого из просматриваемых элементов дальности) к нахождению взвешенной суммы восьми эхо-сигналов. (Предполагается, что и веса, и отсчеты сигнала являются комплексными числами.) Чтобы проанализировать N ожидаемых доплеровских частот, необходимо выполнить 87V умножений. Длительность импульса, определяющая разрешение по дальности, равна 1 мкс, поэтому при обработке в ре-
х) При отсутствии мешающих отражений, когда сигнал принимается на фоне белого шума, устройство оптимальной обработки является просто фильтром, согласованным с эхо-сигналом (см. разд. 13.4). При наличии мешающих отражений это устройство по существу представляет собой фильтр, «отбеливающий» мешающий фон и согласованный -с эхо-сигналом, получающимся после «отбеливания».
альном времени эти умножения должны быть выполнены за 1 мкс. Так, если N = 8, то в восьми параллельных фильтрах за 8 мкс должны быть выполнены 64 комплексных умножения, т. е. на каждое умножение отводится 125 нс. Естественно, возникает вопрос, как изменить алгоритм, чтобы обработка была близка к оптимальной, а требования к быстродействию не столь жесткими. Интуиция подсказывает, что хорошие результаты должна давать система, составленная из соединенных последовательно фильтра, подавляющего мешающий фон на нулевой частоте, и гребенки фильтров, настроенных на ожидаемые доплеровские частоты. Поскольку алгоритм БПФ выполняет ту же функцию, что и гребенка фильтров, и весьма эффективен с вычислительной точки зрения, в качестве подоптимального устройства обработки эхо-сигналов был использован трехимпульсный подавитель1), над выходными отсчетами которого выполнялось БПФ. Для сравнения характеристик оптимального и подоптимального устройств обработки оба они были промоделированы на ЦВМ. Результаты сравнения вблизи частот 0, 125 и 500 Гц приведены соответственно на фиг. 13.19а, 13.196, 13.20а, 13.206 и 13.21а, 13.216. Во всех случаях в функции доплеровской частоты изображено улучшение отношения сиг- нал/помеха, получаемое за счет фильтрации, причем в каждом из трех случаев фильтры оптимизировались для различных значений доплеровской частоты. Заметим, что при оптимизации на нулевой частоте наибольший выигрыш для обоих устройств получается не на нулевой частоте. Для оптимального устройства он достигается вблизи частоты 130 Гц и равен 26 дБ, тогда как для подоптимального устройства наибольшее улучшение получается вблизи 80 Гц, но составляет только 18 дБ. При оптимизации для 500 Гц обе кривые имеют максимумы на частоте 500 Гц, причем из сопоставления максимумов может показаться, что подоптимальное устройство эффективнее оптимального. Но это не так, поскольку в подоптимальном устройстве для выполнения трехточечного подавления и последующего восьмиточечного БПФ нужно иметь 10 отсчетов сигнала, а в оптимальном устройстве обрабатываются только восемь отсчетов. Чтобы поставить оба устройства в одинаковые условия, следовало бы взять устройство, оптимальное для пачки из 10 импульсов. Но и без этого можно считать, что подоптимальное устройство близко к оптимальному. Поэтому если оно проще с аппаратурной точки зрения, то ему и следует отдать
х) Схема, называемая в радиолокации трехимпульсным подавителем, представляет собой цифровой КИХ-фильтр третьего порядка с отсчетами импульсной характеристики —1/2, 1, —1/2. Аналогично двухимпульсный подавитель (или блок череспериодного вычитания) представляет собой КИХ- фильтр второго порядка с коэффициентами +1, —1. Оба фильтра имеют нуль в точке z = 1 (т. е. на нулевой частоте), поэтому мешающие отражения от местных предметов будут в значительной мере подавлены.
Фиг. 13.19а. Выигрыш в отношении сигнал/помеха для оптимального процессора восьмиимпульсной пачки с доплеровским сдвигом 0 Гц.
Фиг. 13.196. Выигрыш в отношении сигнал/помеха для подоптимального процессора с трехимпульсным подавителем и фильтром, основанным на скользящем ДПФ без взвешивания при настройке на частоту 0 Гц.
Фиг. 13.20а. Выигрыш в отношении сигнал/помеха для оптимального процессора восьмиимпульсной пачки с доплеровским сдвигом 1252Гц.
Фиг. 13.206. Выигрыш в отношении сигнал/помеха для подоптималыюго процессора с трехимпульсным подавителем и фильтром, основанным на скользящем ДПФ без взвешивания при настройке на частоту 125 Гц.
Фиг. 13.21а. Выигрыш в отношении сигнал/помеха для оптимального процессора восьмиимпульс ной пачки с доплеровским сдвигом 500, Гц.
Фильтр №0Фильтр №0Фильтр №1Фильтр №1Фильтр №2Фильтр №2Фильтр №3Фильтр №3Фильтр №4Фильтр №4Фильтр №5Фильтр №5Фильтр №6Фильтр №6Фильтр №7Фильтр №7
Фильтр №0
Фильтр №0
Фильтр №1
Фильтр №1
Фильтр №2
Фильтр №2
Фильтр №3
Фильтр №3
Фильтр №4
Фильтр №4
Фильтр №5
Фильтр №5
Фильтр №6
Фильтр №6
Фильтр №7
Фильтр №7
предпочтение. В гл. 11 было показано, что для вычисления восьмиточечного БПФ требуется всего два умножения. В оптимальном же устройстве необходимы 64 умножения. Не вдаваясь в детали расчета обоих устройств, отметим, что наиболее приемлемый вариант их построения включает фильтр для подавления мешающего фона с последующим восьмиточечным БПФ. Преимущества этого варианта являются следствием взвешивания сигнала (при прохождении его через фильтр для подавления фона) перед БПФ. Для этого требуются четыре комплексных умножения, однако в результате удается понизить уровень боковых лепестков на кривых эффективности подавления фона (фиг. 13.19—13.21). Полная блок-схема подоптимального фильтра, изображенная^на фиг. 13.22, состоит из цифрового КИХ-фильтра третьего порядка (для подавления мешающего фона), схемы взвешивания и блока восьмиточечного БПФ.
После подавления отражений от местных предметов все еще предстоит решить очень трудную задачу обнаружения сигнала. Вспомним, что кривые на фиг. 13.19—13.21 представляют улучшение отношения сигнал/помеха. Поскольку интенсивность мешающих отражений сильно зависит от характера местности, кривые на этих графиках будут подниматься или опускаться при изменении дальности и углового положения цели. Поэтому, чтобы поддерживать вероятность ложной тревоги в пределах всей зоны обзора более или менее постоянной, необходимо в качестве эталона использовать «карту фона», представляющую собой усредненное распределение интенсивности мешающих отражений в координатах дальность — угол. Эту карту получают, усредняя постоянную составляющую сигнала при многократном сканировании зоны обзора. Пусть Xj — постоянная составляющая, полученная при ;-м просмотре зоны. Тогда интенсивность карты фона можно представить в виде
У) = ^)-1 — x^a-VXj. (13.29)
Пороговое обнаружение для любых координат дальность — угол производится путем сравнения наибольшей гармоники БПФ с у^, причем а определяет длину временного интервала, необходимого для получения достоверной карты фона.
Перейдем к рассмотрению некоторых особенностей моделирования алгоритмов обработки сигнала и построения карты фона при использовании процессора FDP. Во-первых, быстродействие FDP недостаточно для обработки всей информации, поступающей в антенну из зоны обзора радиусом около 100 км. Поэтому для приближения к моделированию режима реального времени данные, поступающие из некоторой области пространства, сначала накапливаются, а затем обрабатываются во время следующего цикла обзора, пока накапливаются новые данные. Этот режим проиллюстрирован на фиг. 13.23. Для обработки в таком режиме FDP оказался пригодным по двум причинам. Во-первых, его высокое быстродействие позволяет обследовать достаточно большой сектор пространства и наблюдать достаточно много целей. Во-вторых, большая магнитная память (160 тыс. 18-разрядных ячеек), включенная в качестве устройства ввода—вывода FDP, позволяет накопить видеосигнал, поступающий из весьма большого сектора пространства. Чтобы оценить объем буферной памяти, требуемый для круговой зоны радиусом 100 км, предположим, что на всей дальности в 100 км просматриваются 600 элементов разрешения (так как одному элементу соответствует 1 мкс, или 150 м). Это означает, что за 1 мс (период повторения импульсов) нужно накопить 600 чисел, т. е. 600 000 чисел за секунду, или 2 700 000 чисел за время однократного обзора (4,5 с). Округляя объем буферной памяти до 150 000 чисел, получим, что в реальном времени
Фиг. 13.23. Обработка в реальном времени сигналов из сектора дальность — угол в FDP.
(с задержкой отображения на время одного оборота антенны) можно обрабатывать эхо-сигналы только из 1Л8 части всего пространства обзора. Так, заштрихованный сектор (фиг. 13.23) может, например, иметь размеры 16 км и 120° или 48 км и 40°. Таким образом, оказывается, что в данном случае нас ограничивает объем буферной памяти, так как FDP способен обработать в реальном времени данные из сектора в 2—3 раза большего размера. При отображении сектор обзора представлялся в виде прямоугольника. На фиг. 13.24 и 13.25 приведены типичные результаты обработки. Метки от самолетов хорошо видны на фоне отражений от местных предметов; ложных целей наблюдается довольно мало. Фотографии снимались с большим временем экспозиции (порядка 20 периодов обзора, т. е. более минуты). Предварительные результаты позволяют надеяться, что качественная доплеровская обработка и картографирование мешающего фона, выполняемые
■■■■яинз
«-Угол
Фиг. 13.24. Отображение трасс самолетов в эксперименте с аэродромнымрадиолокатором.
Развертка по дальности примерно 6.5 км.
<i
>Угол
Фиг. 13.25. Отображение трасс самолетов.
Развертка по углу примерно 26°.
в процессе цифровой обработки сигналов с помощью специализированных устройств, могли бы стать полезным дополнением к аэродромным обзорным радиолокаторам.
Экспериментальный радиолокатор дальнего действия
В период с 1967 по 1971 г. в Линкольновской лаборатории была создана радиолокационная система, в которой моделирование обработки в реальном времени производилось с помощью FDP. Система была предназначена для обнаружения движущихся целей на фоне мощных мешающих отражений от местных предметов. Спектр мешающего фона содержал постоянную составляющую весьма большой интенсивности и переменную составляющую, связанную с движением листвы. Движущимся объектом мог быть грузовой или легковой автомобиль, выруливающий самолет, животное (например, крокодил), человек, заблудившийся в лесу, или солдат противника. Уровень полезного сигнала во всех случаях был примерно на 80 дБ ниже уровня постоянной составляющей мешающего фона и на 60 дБ ниже уровня переменной составляющей фона, связанной с движением листвы. Антенна радиолокатора была построена в виде СВЧ фазируемой решетки и имела веерную диаграмму шириной 1°,5 в горизонтальной плоскости. Несколько тысяч элементов решетки располагалось на полуцилиндре, что позволяло облучать сектор с углом 45°. Решетка в виде полного цилиндра перекрыла бы, очевидно, все 360°.
Вследствие весьма малого отношения сигнал/помеха для надежного обнаружения сигналов было необходимо использовать все возможные методы обработки. К ним относятся сжатие импульсов за счет введения дополняющего кодирования, предварительное суммирование, доплеровская обработка, поеледетекторное интегрирование. Попытаемся кратко описать идею каждого метода и особенности их практической реализации. Рассмотрим сначала полную блок-схему экспериментальной установки. Она приведена на7фиг. 13.26 и хорошо иллюстрирует количество цифровых устройств, используемых во всей системе. До аналого-цифрового преобразования принятые сигналы усиливаются и гетеродинируются. Программная регулировка усиления (ПРУ), введенная для управления коэффициентом усиления в функции дальности цели, осуществляется с помощью дискретного аттенюатора с цифровым управлением1). Демодуляция производится в двух квадратурных каналах, так что видеосигнал представляет собой когерентный комплексный
х) АРУ необходима для всех радиолокаторов, так как мощность эхо- сигналов обратно пропорциональна четвертой степени дальности до цели, поэтому отсутствие АРУ привело бы к непреодолимым трудностям, связанным с ограниченным динамическим диапазоном радиолокационных приемников.
Фиг. 13.26. Блок-схема экспериментального радиолокатора дальнего действия.
сигнал. Аналого-цифровое преобразование с семью разрядами производится с частотой 10 МГц, после чего видеоимпульсы сжимаются (особенности сжатия будут рассмотрены ниже). Предполагается, что при каждом положении луча радиолокатор просматривает 2048 элементов дальности. Поскольку в секторе шириной 45° луч укладывается 30 раз, то в общей сложности в координатах дальность—азимут просматриваются 2048 X 30 = 61 440 элементов. Попробуем качественно показать, каким образом выбирались параметры рассматриваемого радиолокатора. Одной из основных целей его разработки было исследование возможностей обнаружения движущихся в лесах целей, поэтому нужно было, чтобы радиосигналы проходили сквозь листву, т. е. имели достаточно большую длину волны1). Это обстоятельство предопределило выбор УКВ- диапазона (длина волны ~5 м). Скорость интересующих нас целей не превышала нескольких десятков сантиметров в секунду, поэтому, согласно формуле (13.3), разрешение по частоте должно быть порядка 0,5 Гц. Следовательно, общее время когерентного
х) Проникающая способность радиоволн уменьшается с укорочением длины волны. В десятисантиметровом диапазоне из-за этого получается слишком малое отношение сигнала к мешающему фону. Недостатком же более длинных волн является необходимость использования громоздких антенн.
интегрирования при обнаружении цели близко к 2 с. С методами обработки таких двухсекундных реализаций связан ряд интересных вопросов. Если предположить, что максимально возможная доплеровская частота цели равна 32 Гц, то необходимо просматривать 64 элемента разрешения по скорости. Это вовсе не означает, что излучается только 32 импульса в секунду (их можно- излучать и чаще), отсюда скорее следует, что информация, содержащаяся в принятом сигнале, накапливается и разбивается на пакеты, следующие с частотой 32 Гц, причем 64 таких пакета подвергаются затем доплеровской фильтрации. Это дает нижний предел для частоты повторения зондирующих импульсов. Верхний предел определяется неоднозначностью измерения дальности. Было принято, что диапазон однозначного измерения дальности не превышает 41,5 км, поэтому частота повторения импульсов, равна 3600 Гц. Таким образом, каждый «пакет» образуется примерно из ИЗ эхо-сигналов. Для обеспечения требуемого разрешения по дальности, равного 15 м, полоса сигналов была взята равной 10 МГц.
Согласно блок-схеме фиг. 13.26, в устройство обработки включена также схема стробирования по азимуту и по дальности. Это- вызвано тем, что за двухсекундный интервал когерентности FDP не успевает обработать данные, поступающие из всей зоны обзора. С помощью FDP за это время можно обработать лишь 2048 элементов, поэтому схема стробирования предназначена для выделения на каждом двухсекундном интервале 2048 элементов из общего числа 61 440 возможных элементов.
После стробирования частично обработанные данные по линии связи, содержащей модулятор, демодулятор и соответствующие цифровые устройства сопряжения, передаются через FDP в большое ЗУ на магнитных сердечниках. Выбранные данные записываются в ЗУ последовательно в соответствии с элементами дальности. С помощью алгоритма адресации ЗУ данные переставляются таким образом, что 64 последовательных отсчета эхо- сигнала от одного и того же элемента дальности поступят в FDP друг за другом. В FDP выполняется БПФ этих упорядоченных данных, т. е. производится доплеровская фильтрация. Далее в FDP с применением большого ЗУ для каждого доплеровского элемента осуществляется последетекторное накопление путем сложения пяти последовательных значений модуля соответствующей гармоники БПФ. Вслед за этим в FDP с помощью различных программ статистических решений (они здесь не рассматриваются) производится обнаружение целей. Обработанная информация возвращается в радиолокатор, где она поступает в универсальную ЦВМ, служащую для преобразования и визуального отображения данных. Еще одна универсальная ЦВМ используется в радиолокаторе главным образом для обеспечения ввода—вывода, управления лу-
277мкс277мкс277мкс277мксДополняющее кодированиеДополняющее кодированиеаа554мкс554мксх*-31,25мс—*\5о4мкс । gg импульсов |х*-31,25мс—*\5о4мкс । gg импульсов |2 g-64 импульса2 g-64 импульсаФиг. 13.27. Временные диаграммы экспериментального радиолокатора« — принятый сигнал; б — выход фильтра, согласованного для дополняющего кодирования; в — повторение диаграммы б в уменьшенном временнбм масштабе; г — сигнал на входе доплеровского процессора после предварительного суммирования сигнала в; 8 — повторение диаграммы г в уменьшенном временнбм масштабе; е — выход одного из доплеровских каналов; эк — выход последетекторного интегратора,Фиг. 13.27. Временные диаграммы экспериментального радиолокатора« — принятый сигнал; б — выход фильтра, согласованного для дополняющего кодирования; в — повторение диаграммы б в уменьшенном временнбм масштабе; г — сигнал на входе доплеровского процессора после предварительного суммирования сигнала в; 8 — повторение диаграммы г в уменьшенном временнбм масштабе; е — выход одного из доплеровских каналов; эк — выход последетекторного интегратора,
277мкс
277мкс
277мкс
277мкс
Дополняющее кодирование
Дополняющее кодирование
а
а
554мкс
554мкс
х*-31,25мс—*\
5о4мкс । gg импульсов |
х*-31,25мс—*\
5о4мкс । gg импульсов |
2 g-
64 импульса
2 g-
64 импульса
Фиг. 13.27. Временные диаграммы экспериментального радиолокатора
« — принятый сигнал; б — выход фильтра, согласованного для дополняющего кодирования; в — повторение диаграммы б в уменьшенном временнбм масштабе; г — сигнал на входе доплеровского процессора после предварительного суммирования сигнала в; 8 — повторение диаграммы г в уменьшенном временнбм масштабе; е — выход одного из доплеровских каналов; эк — выход последетекторного интегратора,
Фиг. 13.27. Временные диаграммы экспериментального радиолокатора
« — принятый сигнал; б — выход фильтра, согласованного для дополняющего кодирования; в — повторение диаграммы б в уменьшенном временнбм масштабе; г — сигнал на входе доплеровского процессора после предварительного суммирования сигнала в; 8 — повторение диаграммы г в уменьшенном временнбм масштабе; е — выход одного из доплеровских каналов; эк — выход последетекторного интегратора,
чом антенны и ПРУ, синхронизации локатора и выбора закона стробирования, используемого в блоке управления схемой стробирования. Временные диаграммы, иллюстрирующие работу всей системы, приведены на фиг. 13.27.
После краткого описания совокупности основных блоков локатора перейдем к рассмотрению некоторых особенностей аналого-цифрового преобразования и реализации алгоритма сжатия импульсов.
Аналого-цифровое преобразование
При наличии мощных мешающих отражений от местных предметов слабый эхо-сигнал накладывается на сильный мешающий фон. Обнаружение цели определяется в конечном счете характеристиками доплеровского анализатора. Существует опасение, что слабый полезный сигнал может быть потерян за счет нелинейностей и шумов квантования, присутствующих в АЦП. Однако вов-
се не обязательно, чтобы величина эхо-сигнала от цели превышала шаг квантования по уровню. Если сигнал от мешающего фона флуктуирует, а не «застревает» между уровнями квантования, так что эхо-сигнал не выходит из интервала между уровнями, то эхо- сигнал цели не будет потерян. Например, в рассматриваемом локаторе при квантовании используются семь двоичных разрядов, тогда как эхо-сигнал цели мог быть на 12 двоичных порядков слабее мешающего фона. Тем не менее мощность полезного сигнала была все еще достаточной для проведения обработки, дредназначен- ной для увеличения отношения сигнал/шум.
. 2. Сжатие импульсов
Излучаемые импульсы, имеющие переменный период повторения, поочередно модулируются 32-разрядным двоичным кодом и его дополнением. Ниже будет показано, что если доплеровский сдвиг равен нулю, то отклик согласованного фильтра для такой пары сигналов представляет собой короткий импульс без боковых лепестков. Для рассматриваемого локатора (при условии, что обнаруживаются только очень медленно движущиеся цели) этот результат вполне справедлив, если не учитывать влияния шумов.
Для пояснения дополняющего кодирования рассмотрим очень простой пример. Пусть sx (п)— последовательность +1, +1, а $2 (п) — последовательность + 1, — 1. При нулевом доплеровском сдвиге на выходах согласованных фильтров появятся последовательности коэффициентов корреляции, равных +1, 4-2, +1 для первого сигнала и —1, 4-2, —1 для второго. Сложение двух выходных последовательностей дает 0, 4-4, 0. Более длинные кодовые последовательности можно получить из $х (п) и s2 (и) следующим способом:
Определив новый сигнал s3 (w) как последовательность из si (п) и s2 (п), получим последовательность 4-1, 4'1, +1, —1- Другой новый сигнал s4 (и) определим как цепочку из $х (н) и s2 (и) [все знаки s2 (я) противоположны знакам последовательности s2 (и)], что дает 4-1, 4-1, — 1, +1- Эти два новых сигнала образуют дополняющую кодовую пару длиной по четыре элемента, причем выходные последовательности соответствующих согласованных фильтров будут равны —1, 0, 1, 4, 1, 0 —1 и 1, 0, —1, 4, —1, О, 1 и при сложении образуют последовательность 0, 0, 0, 8, 0, 0, 0 без боковых лепестков.
Изложенную процедуру можно повторять, удваивая каждый раз длину дополняющих кодовых пар. Так, на следующем этапе получится кодовая пара 4-1, +1, +1, —1, +1, +1, —1 4-1 и 4-1, 4-1, -Ы, -1, -1, -1, 4-1, -1. На фиг. 13.28 представлены дополняющие кодовые пары длиной до 32 элементов. В рассматриваемом локаторе поочередно излучались кодовые
4* 4- 4- —Н 4* —Н 4- 4- 411-4-41-411-4-4Н ] „-
4-4-4-— 4-4-—4-4-4-4-4-4-4-- 4-4-4-4-- у
Фиг. 13.28. Дополняющие кодовые пары длиной от 2 до 32 элементов.
пары по 32 элемента (продолжительностью по 3,2 мкс, так как полоса сигнала и, следовательно, частота дискретизации были равны 10 МГц).
Упражнение. Найдите выходную последовательность согласованного фильтра для одной из кодовых пар с учетом доплеровского сдвига частоты.
В качестве согласованного фильтра был использован КИХ- фильтр со следующим интересным свойством: все 32 его коэффи- цента были равны либо 4-1, либо —1. В противном случае каждые 100 нс пришлось бы выполнять 32 умножения. Здесь же было достаточно за 100 нс сделать 32 сложения. Эта задача существенно проще, хотя и не элементарна. Алгоритм построения такого согласованного фильтра представлен на фиг. 13.29 для кодовой последовательности из четырех элементов. Схема содержит 32 параллельно работающих ТТЛ-сумматора, а также ТТЛ-ре-
Фиг. 13.29. Согласованный фильтр для одной из дополняющих кодовых пар, содержащей четыре элемента.
гистры сдвига в качестве элементов задержки. Таким образом, одна итерация цифрового согласованного фильтра выполнялась за один тактовый интервал системы,
Цифровой согласованный фильтрдля высококачественного радиолокатора
Отличительной особенностью рассматриваемого радиолокатора является наличие фазируемой ^антенной решетки, управляемой с помощью большой универсальной ЦВМ, и цифрового устройства, позволяющего обрабатывать сигналы в полосе более 100 МГц с произведением полосы на длительность TW порядка 2000. Предусмотрено применение ЛЧМ-сигналов, пачек ЛЧМ-сигналов и пачек с переменным периодом повторения. Ниже будет рассмотрен цифровой согласованный фильтр, являющийся частью этой большой системы.
Отметим прежде всего, что цифровой фильтр, согласованный с сигналом, имеющим полосу 10 МГц и произведение TW = 2000, должен быть КИХ-фильтром двухтысячного порядка. Если попытаться построить такой фильтр, не используя алгоритм БПФ, то каждые 100 нс пришлось бы выполнять 2000 комплексных умножений. Если из современных элементов построить систему, предназначенную для выполнения 8000 умножений за 100 нс, то очень велика вероятность, что она вообще не будет работать. Применение алгоритма БПФ значительно снижает требования к быстродействию. В этом случае необходимо выполнять прямое БПФ для массива из 4096 отсчетов, умножить результат на опорный спектр (частотную характеристику согласованного фильтра) и выполнить обратное БПФ. Половина получаемых отсчетов будет искомым откликом согласованного фильтра, а другая половина дает значения круговой свертки, не представляющие интереса.
Таким образом, при обработке 2048 отсчетов с использованием БПФ с основанием 2 полное число комплексных умножений будет равно (7V/2) log2 N -V N -V (W/2) log2 N = N (1 + log2 N) = = 4096 X 13, т. е. каждые 100 нс нужно будет выполнить всего 26 комплексных умножений. Эта величина почти на два порядка меньше, чем при вычислении свертки без БПФ, причем она хорошо согласуется с идеей поточной обработки, описанной в гл. 10. Действительно, из анализа параметров радиолокатора становится ясно, что необходим именно поточный свертыватель. Далее предстояло выбрать наиболее подходящее основание алгоритма БПФ. Рассматривались только основания 2 и 4. При основании 4 и прямое, и обратное БПФ выполняются за шесть этапов, для каждого из которых необходимы по три комплексных умножителя. Всего при основании 4 требуется 37 комплексных умножителей (один для умножения на опорный спектр), тогда как при основании 2
необходимо 25 умножителей. Однако при одинаковых тактовых частотах в системе с основанием 4 можно вдвое увеличить скорость поступления данных, так как отсчеты в этом случае проходят по четырем параллельным ветвям, а не по двум, как при основании 2. Данную особенность можно использовать либо для увеличения быстродействия системы, либо для уменьшения тактовой частоты, чтобы облегчить требования к быстродействию умножителей. Из весьма сложных, но, по-видимому, справедливых соображений для свертывателя было выбрано основание 4. Поскольку требования к быстродействию согласованного фильтра оказались весьма жесткими и, кроме того, предполагалось, что на базе этого радиолокатора будут разрабатываться еще более совершенные системы, было решено использовать достаточно универсальную и имеющую наибольшее быстродействие серию ЭСЛ-микросхем с быстродействием 2 нс. Ответы на ряд важных вопросов, связанных с требованиями к точности и общей организации вычислений, оказалось возможным получить только в процессе многочисленных экспериментов по моделированию работы устройства на вычислительной машине. Перечислим некоторые из вопросов, которые нужно было проработать:
Разрядность коэффициентов Wnh.
Разрядность отсчетов опорного спектра.
Разрядность входных данных.
Тип арифметики — с фиксированной или плавающей запятой или гибридный вариант.
Методика масштабирования.
Округление или усечение.
Для решения этих вопросов методом моделирования были проведены следующие эксперименты:
Вычисление отклика согласованного фильтра на одиночный ЛЧМ-сигнал, взвешенный по Хэммингу. Тем самым проверялось наличие ложных боковых лепестков.
Вычисление отклика согласованного фильтра на сумму сильного и слабого ЛЧМ-сигналов, поступающих с небольшой задержкой, чтобы определить, будет ли слабый сигнал подавлен боковым лепестком сильного сигнала.
Слабый ЛЧМ-сигнал обрабатывался в присутствии имитированных шумов приемника. Цель эксперимента состояла в том, чтобы определить, не изменяется ли при обработке статистика случайной компоненты, что может оказать влияние на величину отношения сигнал/шум.
Первые эксперименты по моделированию выполнялись в режиме использования фиксированной запятой. При прохождении ЛЧМ-сигнала через последовательные этапы БПФ амплитуда сигнала быстро увеличивается, примерно удваиваясь на каждом из них. Поэтому, чтобы не использовать слишком длинных регистров,
результаты всех базовых операций сдвигались вправо на один разряд. Было показано, что применение такой методики и для прямого, и для обратного БПФ позволяет использовать лишь восьмиразрядные регистры для коэффициентов и 16-разрядные для отсчетов1).
Затем модель была перестроена под систему счисления с плавающей запятой. В этом случае, согласно материалам, изложенным в гл. 5, можно было ожидать некоторого сокращения необходимого числа разрядов. Моделирование это подтвердило. Выяснилось, что для любого регистра системы достаточно девятиразрядной мантиссы и четырехразрядного порядка. Однако, несмотря на уменьшение объема памяти, усложнение арифметических устройств и замедление арифметических операций, выполняемых в системе с плавающей запятой, делают более предпочтительной систему с фиксированной запятой.
Наиболее подробно моделировалась работа схемы с гибридной арифметикой, сочетающей в себе элементы систем с плавающей и с фиксированной запятой. Схема имела следующие особенности:
Коэффициенты записывались в виде девятиразрядных правильных дробей с фиксированной запятой.
Обрабатываемые комплексные числа представлялись двумя мантиссами (по одной для действительной и мнимой частей) и одним порядком, общим для обеих мантисс.
Мантиссы не нормализовались сдвигом влево. Однако при переполнении любой из двух мантисс обе они сдвигались вправо на один разряд, а к порядку добавлялась единица.
Предполагалось, что порядок всегда положителен, а мантисса имеет знаковый разряд и представляется в дополнительном коде.
На фиг. 13.30 показано арифметическое устройство рассматриваемого типа, реализующее один из этапов поточного процессора БПФ, в котором используется алгоритм с основанием г и прореживанием по времени.
Обработка начинается с выполнения (г — 1) комплексных умножений (в системе с фиксированной запятой). Для предотвращения переполнений при объединении действительных произведений вводится дополнительный знаковый разряд. Параллельно с умножениями определяется наибольший из г порядков, который передается на выход каскада для дальнейшего использования. Перед выполнением г-точечного ДПФ необходимо все произведения привести к общему порядку. Для этого г пар схем сдвига управляются разностями между максимальным порядком и порядками каждой из приводимых пар мантисс. После приведения все действия вы-
х) Можно сконструировать систему, в которой длина регистров увеличивается от этапа к этапу. Однако реализовать» аппаратурно в есьма сложно.
Фиг. 13.30. Гибридное арифметическое устройство для поточного процессора Б ПФ с основанием г.
Увеличение порядка
Фиг. 13.31. Схема для устранения переполнений в гибридном АУ.
4
полняются с фиксированной запятой. Заметим, что умножение на поворачивающие множители и поиск наибольшего порядка, занимающие много времени, выполняются одновременно. Это возможно потому, что в алгоритме с прореживанием по времени умножение предшествует вычислению r-точечного ДПФ (при основании 4 последнее содержит только сложения).
Во избежание возможных переполнений при выполнении БПФ с фиксированной запятой сохраняется (в зависимости от г) нужное число дополнительных знаковых разрядов. После окончания БПФ в каждой паре мантисс проверяется, не были ли использованы эти дополнительные разряды. Специальная логическая схема анализирует эти разряды и определяет, на сколько разрядов нужно сдвинуть каждую пару мантисс, чтобы не вводить в регистрах памяти дополнительных разрядов. Более подробно схема коррекции переполнений показана на фиг. 13.31.
Результаты моделирования показывают, что гибридная схема по своим характеристикам не уступает схемам с фиксированной или плавающей запятой, рассмотренным ранее. С аппаратурной точки зрения эта схема оказывается проще и работает быстрее, чем схема с плавающей запятой. С другой стороны, в ней успешно решена важнейшая проблема динамического диапазона, существенно усложняющая построение схем с фиксированной запятой.
В заключение был рассмотрен вопрос выбора между округлением и усечением. Оба подхода сравнивались путем моделирования нескольких различных вариантов схем обработки. Выяснилось, что система с округлением до девяти разрядов по своим характеристикам эквивалентна системе с усечением до 12 разрядов. Поэтому, несмотря на то, что округление требует введения дополнительной аппаратуры, именно этому методу было отдано предпочтение
Заключение
Читая последнюю главу, специалист по радиолокации сразу же почувствует, что в нее включен лишь весьма ограниченный материал по радиолокации. Однако мы полагаем, что данная глава из всех опубликованных работ по применению цифровой обработки сигналов в радиолокации является наиболее содержательной. В ней показано, что впервые со времени второй мировой войны радиолокация начинает терять свои позиции. С одной стороны, службы управления полетами намереваются перейти к системам с радиоответчиком; с другой стороны, переговоры об ограничении стратегических вооружений могут привести к ограничениям в создании высокоэффективных радиолокаторов для систем противоракетной обороны. Однако, несмотря на все это, нет сомнения, что радиолокационная техника является важной и постоянно со-
вершенствующейся областью электроники. Несомненно также, что цифровая техника, включая цифровую обработку сигналов, будет все шире применяться в радиолокации.
ЛИТЕРАТУРА
Radar Handbook, Skolnik М., ed., McGraw-Hill, N. Y., 1970; есть русский перевод: Справочник по радиолокации, под ред. Сколника М., изд-во «Советское радио», 1976.
Gold В., Muehe С. Е., Digital Signal Processing for Range-Gated Pulse Doppler Radars, Agard, Conference Proceedings, No. 66 (1970).
Blankenship P., Hofstetter E., Digital Pulse Compression via Fast Convolution, submitted to IEEE Transactions on Acoustics, Speech, and Signal Processing.
Muehe С. E. et al., New Techniques Applied to Air Traffic Control Radars, Proc. IEEE, 62, No. 6, 716—723 (June 1974); есть русский перевод: Myo и др., ТИИЭР, 62, № 6 (1974).
Delong D. F., Jr., Hofstetter E. M., On the Design of Optimum Radar Waveforms for Clutter Rejection, IEEE Trans, on Information Theory, IT-13, No. 3, 454—463 (July 1967).
Klauder J. R., Price A. C., Darlington S., Albershein W. J., The Theory and Design of Chirp Radars, Bell Syst. Tech. J., 39, 1—76, No. 4 (July 1960).
Cook С. E., Bernfeld M., Radar Signals, Academic Press, N.Y., 1967.
Rihaczek A. M., Principles of High-Resolution Radar, McGraw-Hill, N.Y., 1969,
ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ
Автокорреляция 444
Алгоритм без замещения 635
— с замещением 635
АЛУ (арифметико-логическое устройство) 559—561
Аналитический сигнал 87
Аналоговые фильтры, преобразования полосы 286, 287
Апертура 788
Арифметика по модулю 465, 466
АРУ (автоматическая регулировка усиления) 752, 753
АЦП (аналого-цифровое преобразование) 328—333'
— шум 328
Баттерворта фильтры 253—255
Бесселя фильтры 255—257
Бесселя функции, программа расчета 121
Билинейное преобразование 244—249
БИХ-фильтры 228—326
— линейность фазовой характеристики 231
— методы расчета во временной области 296—297
— — — всепропускающие цепи в «-плоскости 304—309
— — — линейное прох раммирование 310—314
— — — минимизация L -ошибки 301 — 304Р
— — — — среднеквадратической ошибки 298—301.
— — — оптимизация 297—315
по квадрату амплитудной характеристики 292—294
БИХ- и КИХ-фильтры, сравнение 315—
Блюстейна алгоритм 433—435
Боковые лепестки 106
БПФ 394—421
— алгоритмы 633—647
— базовая операция («бабочка») 400—401, 481—483, 635
— граф 397, 481—483
— квантование коэффициентов 655, 656
— Кули — Тьюки алгоритм (см. Прореживание по времени)
— нумерация 640—647
— поточный алгоритм 661, 667—684
— программа 404—407
— процессоры 633—693
— — алгоритмы с основанием 2 656—662
— — параллельная обработка 661, 662
— — параллельные с памятью произвольного доступа 664—667
БПФ процессоры
— — поточные схемы 661, 667—679
— — — — с основанием 2 668—674
— — — — с основанием 4 674—679
— — свертыватели 687—693
— — сверхпараллелизм 662
— — со сверхоперативной памятью 662— 664
— — с перекрытием и памятью с произвольным доступом 686
— — с перекрытием циклов памяти и АУ 659
с повышенным уровнем параллелизма 680—684
— — сравнение поточных схем по основаниям 2 и 4 679, 680
— с гребенкой фильтров 424—429
— «скачущее» 427, 429
— скользящее 422, 423
— спектральный анализ 423—441
— сравнение оснований 647—649
— шум округления 649—655
— эффекты квантования 649—656
Булева алгебра 541—546
Бута алгоритм 571
Ввод — вывод, обработка в реальном времени 701—703
Взвешивания метод 103—124
— — примеры 110—117, 119—124
Вокодер 747 — 753
— анализатор 749, 750
— синтезатор 750—753
— полосный 747—749
Волновые вытянутые сфероидальные функции 109
Восстанавливающий фильтр ЦАП 334
Временная область, расчет БИХ-фильтров 294—297
Всепропускающая цепь 229
Всепропускающий выравниватель 320
Второго порядка система 29—33
—разностное уравнение 29
— частотная характеристика 33
Вычетов теорема 344
Вычислительная система лабораторная 726—728
Генератор синусно-косинусный цифровой 621—626
Генераторы гауссовых случайных чисел 629—631
— — — — на базе матриц Адамара 630
— псевдослучайных чисел 626—631
путают окна Хэмминга и хэннинг.'
множителя а, указанного над стрелкой. В общем случае переменные являют
ся комплексными числами. Заметим, что кружок можно интерпретировать
как двухточечное ДПФ. Узлы обозначают регистры, содержащие входные
и выходные массивы отдельных ДПФ. Все эти обозначения согласуются
с правилами изображения направленных графов в теории линейных систем.
4 Модуль М = 28 не имеет интересных для нас прямых и обратных
степени 2, называют преобразованиями Рэйдера.— Прим. ред.
*) NO-OP — неисполняемая команда.— Прим. ped.
ны), а азимут и угол места—.угловые координаты, отсчитываемые в горизон
тальной и вертикальной плоскостях.
THEORY AND APPLICATIONOFDIGITAL SIGNAL PROCESSING
Lawrence R. RabinerLawrence R. RabinerBernard GoldBernard GoldBell LaboratoriesBell LaboratoriesMIT Lincoln LaboratoryMIT Lincoln Laboratory
Lawrence R. Rabiner
Lawrence R. Rabiner
Bernard Gold
Bernard Gold
Bell Laboratories
Bell Laboratories
MIT Lincoln Laboratory
MIT Lincoln Laboratory
PRENTICE-HALL, INC ENGLEWOOD CLIFFS, NEW JERSEY1975
Л. РАБИНЕР, Б. ГОУЛД
ТЕОРИЯ И ПРИМЕНЕНИЕЦИФРОВОЙ ОБРАБОТКИСИГНАЛОВ
ПЕРЕВОДА АНГЛИЙСКОГО
А. Л. ЗАЙЦЕВА, Э. Г. НАЗАРЕНКО, Н. Н. ТЕТЁКИНА
ПОД ^РЕДАКЦИЕЙЮ. Н. АЛЕКСАНДРОВА
ИЗДАТЕЛЬСТВО «МИР»МОСКВА 1978
УДК 621.372.542
В монографии изложены основы теории дискретных сигналов и почти все современные методы расчета цифровых фильтров. Рассмотрены теория, способы выполнения и применения алгоритмов быстрого преобразования Фурье. Отдельные главы посвящены вопросам проектирования специализированных устройств цифровой обработки и применению цифровых методов для анализа речевых и радиолокационных сигналов. Книга содержит большое количество справочного материала, а.также тексты программ для расчета типовых цифровых устройств.
Книга представляет большой практический интерес для инженеров- проектировщиков устройств первичной обработки сигналов, экспериментаторов, использующих для анализа сигналов вычислительные машины, специалистов в области вычислительной математики и программистов.
Редакция литературы по новой технике
Original English language edition published by
Prentice-Hall, Inc., Englewood Cliffs, New Jersey, U.S.A.
Copyright © 1975 by Prentice-Hall, Inc.
© Перевод на русский язык, «Мир», 1978
30401-139041(01)—7830401-139041(01)—78139—78139—78
30401-139
041(01)—78
30401-139
041(01)—78
139—78
139—78