Пред.
След.
Макеты страниц
Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO
3.2.4. Новый алгоритмСуществует несколько методов проектирования оптимальных одномерных нерекурсивных цифровых фильтров, которые являются итеративными по своей природе и позволяют найти наилучшую аппроксимацию требуемой частотной характеристики на интервале Поиски такого итерационного метода для многомерного случая основаны на факте существования соответствующих одномерных методов, а также на следующем утверждении. Если обобщенный полином
(обозначения приведены в п. 3.1.2) есть наилучшая аппроксимация функции При выполнении каждой итерации данного алгоритма находится наилучшая аппроксимация требуемой частотной характеристики (с использованием линейного программирования и представления частотной характеристики в виде функции коэффициентов импульсной характеристики) на «сокращенном» множестве точек с ограничениями. В общем случае максимальное значение ошибки на сокращенном множестве точек с ограничениями определенно меньше максимального абсолютного значения ошибки по всей частотной области, представляющей интерес, а получаемая аппроксимация не является наилучшей аппроксимацией искомой частотной характеристики. Требуется выбрать новое сокращенное множество точек с ограничениями, такое, чтобы максимальное абсолютное значение ошибки на этом множестве превышало максимальное абсолютное значение ошибки на прежнем сокращенном множестве (подразумевается, что на новом множестве точек с ограничениями найдено оптимальное решение). Чтобы начать указанную процедуру, необходимо иметь исходное решение по выбору сокращенного множества точек с ограничениями. Размещение исходных точек с ограничениями не является критичным. Метод определения местоположений точек совершенно не отличается от того, который описан в п. 3.2.3 и был использован для нахождения плотного множества точек с ограничениями. Точки с ограничениями располагаются в узлах прямоугольной решетки с шагом Предполагая, что уже найдено решение на некотором множестве точек с ограничениями, опишем основные операции, которые выполняются в процессе каждой итерации. 1. Сохранение данных решения задачи линейного программирования. Представляют интерес следующие компоненты решения: коэффициенты импульсной характеристики, максимальное абсолютное значение ошибки и переменные, составляющие базис для двойственной задачи 2. Вычисление «непрерывной» частотной характеристики в соответствующей части области частот. Практически частотная характеристика вычисляется по 256X256 точкам решетки с использованием БПФ. 3. Вычисление значений частотной характеристики вдоль границ полос (предполагается, что такие границы имеются, как в случае фильтра нижних частот). Такое вычисление также производится на плотном множестве точек, однако, к сожалению, применить БПФ при этом нельзя. 4. Нахождение локальных максимумов и минимумов функции ошибки в представляющей интерес частотной области, включая границы полос. Эта операция существенно важна для определения очередного множества точек с ограничениями. Следует также заметить, что она является, безусловно, наименее определенной частью нового алгоритма. 5. Построение различных графиков с выходными данными. Такие графики позволяют следить за ходом реализации алгоритма от итерации к итерации. 6. Получение данных для очередной задачи линейного программирования и решение этой задачи. Первый этап алгоритма заключается в сохранении соответствующих данных решения последней задачи линейного программирования. Должны быть подготовлены следующие данные: коэффициенты импульсной характеристики, максимальное абсолютное значение ошибки и переменные, составляющие базис для двойственной задачи является отрицательным оптимальным значением целевой функции. Коэффициенты импульсной характеристики требуется сохранить для того, чтобы можно было вычислить частотную характеристику. Максимальное абсолютное значение ошибки сохраняется при каждой итерации с той целью, чтобы его можно было сравнить со значением, полученным в результате выполнения предшествующей итерации. Если это значение ошибки уменьшается, выполнение алгоритма прекращается. Теоретически значение ошибки должно увеличиваться при переходе от данной итерации к следующей. Так почти всегда и происходит. Тем не менее из 250 (ориентировочно) выполненных итераций обнаружились три, давшие некоторое уменьшение этого значения. Однако следует указать, что во всех трех случаях алгоритм уже почти сходился, когда наступало указанное уменьшение абсолютного значения ошибки. Поэтому это явление было объяснено наличием накопленной вычислительной погрешности. Базисные переменные для двойственной задачи следует сохранить для того, чтобы соответствующие точки с ограничениями можно было включить в множество точек с ограничениями для следующей итерации. Одно из требований теоретического характера к новому множеству точек с ограничениями заключается в том, что система уравнений
должна быть ограничивающей на этом новом множестве точек (п. 3.1.2). Эта система уравнений является ограничивающей, если все значения А отличаются от нуля и если невозможно одновременно уменьшить абсолютное значение всех А при произвольном выборе множества сохраняют свое положение, то имеет место сходимость алгоритма и его выполнение прекращают. Это обычная процедура окончания. Вторая операция алгоритма состоит в вычислении «непрерывной» частотной характеристики фильтра. С помощью БПФ вычисляются 256X256 отсчетов частотной характеристики. Решение об использовании размерности 256X256 массива является компромиссным. С одной стороны, массив должен быть достаточно плотным, чтобы можно было достаточно точно определить положение локальных максимумов и минимумов функции ошибки (четвертый этап алгоритма). С другой стороны, массив должен достаточно хорошо соответствовать имеющейся емкости памяти ЦВМ. Искомое двумерное БПФ вычисляется с использованием одномерного БПФ, как описывается в п. 3.1.1. Используется упрощенный вариант алгоритма БПФ, разработанного Бреннером [30]. Алгоритм был переработан для выполнения одномерного Если принимается лишь допущение о действительности импульсной и частотной характеристик, то отсчеты частотной характеристики следует равномерно распределить в пределах области — каждой строки дает действительный результат, пары строк можно объединить и преобразовать совместно. Результаты разделяются после выполнения вычислений. Таким образом, в общей сложности требуется вычислить Если принимается, что импульсная и частотная характеристики являются действительными и, кроме того, удовлетворяют условиям Третий этап алгоритма — вычисление значений частотной характеристики фильтра на границах полос. Многие типы фильтров (например, фильтры нижних и верхних частот и полосовые фильтры) обладают четкими границами полос частотной характеристики. Однако существуют фильтры, подобные упомянутому выше дифференциатору, которые не имеют границ полос частотной характеристики; во всех таких случаях данный этап алгоритма пропускается. В общем случае граница может иметь произвольную форму. Однако все фильтры (нижних частот), спроектированные с использованием данного алгоритма, имеют круговые границы полос. Поэтому для выполнения соответствующих вычислений невозможно воспользоваться алгоритмом БПФ. В данном случае частотная характеристика, выраженная через коэффициенты импульсной характеристики, должна находиться путем прямых вычислений. Однако существенного снижения эффективности алгоритма при этом не происходит, поскольку приходится вычислять лишь небольшое число отсчетов частотной характеристики. Если принято лишь одно допущение о действительности импульсной и частотной характеристик, то должны быть вычислены отсчеты частотной характеристики, расположенные в пределах дуги окружности 180°. Пусть круговые границы полос пропускания и задерживания фильтра имеют радиусы
для границы полосы пропускания и
для границы полосы задерживания. Эти отсчеты размещены равномерно по границам с угловым шагом
Поскольку гарантируется нечетность Если принимается, что импульсная и частотная характеристики являются действительными и, кроме того, удовлетворяют условиям
для границы полосы пропускания и
для границы полосы задерживания. Отсчеты размещены с угловым шагом
Первый отсчет всегда соответствует углу 0°, последний — углу 45°. Четвертый этап алгоритма заключается в определении локальных максимумов и минимумов функции ошибки. Точка, в которой текущая функция ошибки имеет локальный максимум или локальный минимум, включается в множество точек с ограничениями для следующей итерации, если абсолютное значение ошибки в этой точке превышает максимальное абсолютное значение ошибки на текущем множестве точек с ограничениями или совпадет с ним. При этом гарантируется удовлетворение двух условий
сформулированных при теоретическом обосновании алгоритма Во-первых, было установлено, что при прямом сравнении абсолютного значения ошибки в точке каждого локального максимума или минимума с 6 (т. е. с максимальным абсолютным значением ошибки на текущем множестве точек с ограничениями) существует опасность ошибочного исключения некоторых точек. Речь идет о точках, в которых вычисленное абсолютное значение ошибки лишь немного меньше 6. Чтобы исправить такое положение, абсолютное значение ошибки в каждой точке сравнивается не с Во-вторых, было установлено, что нахождение максимумов и минимумов требует применения достаточно сложного правила. В простейшем случае рассматривается точка на границе. Если произведение разностей между значениями частотной характеристики в данной и двух соседних точках положительно, то принимается, что в этой точке расположен локальный максимум или минимум. Для точки в средней части частотной плоскости факт размещения в ней локального максимума или минимума устанавливается в том случае, если все разности между значениями частотной характеристики в данной и восьми соседних точках имеют одинаковый знак. К сожалению, оказалось, что это простое правило не дает хороших результатов, поскольку оно очень чувствительно к погрешностям вычисления частотной характеристики. Были испробованы многие модификации этого правила. Ниже описывается модификация, дающая наилучшие результаты. В случае когда частотная и импульсная характеристики являются действительными, поиск локальных максимумов и минимумов производится следующим образом. Прежде всего проверяются угловые точки частотной области значение меньше После проверки указанной границы переходят к проверке границы После проверки всех границ и угловых точек следует проверить внутреннюю область В случае когда частотная и импульсная характеристики являются действительными и кроме того удовлетворяют условиям нахождения локальных максимумов и минимумов в угловых точках, на границах и в пределах внутренней области частотной характеристики ничем не отличаются от только что описанных правил. Массив 256X256 отсчетов частотной характеристики заполняет область Если бы локальные минимумы и максимумы размещались только в изолированных точках частотной характеристики и если можно было бы гарантировать, что уклонения функции ошибки вдоль какой-то границы достигают максимального абсолютного значения ошибки на текущем множестве точек с ограничениями, то задача нахождения локальных максимумов и минимумов была бы намного проще. В одномерном случае эти два условия всегда удовлетворяются. В этом состоит еще одна причина того, что задача проектирования двумерных фильтров принципиально сложнее задачи проектирования одномерных фильтров. В двумерном случае локальные минимумы и максимумы могут размещаться не только в изолированных точках, но и на гребнях частотной характеристики. Функция обладает гребнем, если она имеет постоянное значение вдоль какой-то линии. Если функция ошибки данной итерации имеет гребень, то слишком много точек этого гребня выбираются как точки с локальным максимумом (или минимумом), а следовательно, как точки с ограничениями. Такая же ситуация возникает, когда имеется почти горизонтальная граница. При почти горизонтальной границе отношение сигнал/шум слишком мало, чтобы обеспечить нахождение с достаточной точностью минимумов и максимумов. Обе указанные ситуации часто возникают при проектировании фильтров нижних частот, однако ни в одном из спроектированных дифференциаторов они не отмечались. С теоретической точки зрения обсуждаемые дополнительные точки с ограничениями не создают никаких проблем. Однако с практической точки зрения эти дополнительные точки приводят к трудностям, поскольку время, которое требуется для постановки и решения задачи линейного программирования, пропорционально числу ограничений. Пятый этап алгоритма заключается в построении графиков с выходными данными. Все графические материалы, нашедшие практическое применение, можно разделить на четыре категории: 1. Диаграммы, на которых показано местоположение точек двойственной задачи, и отдельно местоположение точек с ограничениями, соответствующих локальным максимумам и минимумам. 2. Контурные диаграммы частотной характеристики фильтра или функции ошибки. 3. Графики частотной характеристики вдоль границ полос. 4. Перспективные виды частотной характеристики или функции ошибки (или обеих функций). Некоторые графики часто строятся при выполнении других этапов алгоритма, однако для удобства все графические построения сведены в один этап. Все они сыграли существенную роль в успешной разработке алгоритма. Они продолжают оставаться полезным выходным продуктом заключительной итерации процесса проектирования. Шестой этап алгоритма заключается в получении данных для задачи линейного программирования и решении этой задачи. Пример формулирования задачи проектирования фильтра в виде задачи линейного программирования приведен в п. 3.1.3. Чтобы задачу в такой общей формулировке воплотить в конкретной машинной программе, требуется располагать детальными сведениями, которые существенно зависят от особенностей используемого комплекса линейного программирования. Поэтому данная операция здесь подробно не рассматривается. Путь отыскания решения задачи линейного программирования в симплексном алгоритме описан в литературе [19, 20] и не имеет значения в контексте обсуждаемой темы. Существенной частью всякого алгоритма является правило прекращения его выполнения. Выше уже рассмотрены два условия, при которых прекращается выполнение рассматриваемого алгоритма. Вычисления прекращаются, во-первых, если
является мерой того, насколько текущая аппроксимация приблизилась к наилучшей. Малые значения в п. 3.1.2, обсуждаемый алгоритм является максимизирующим методом, поскольку гарантируется увеличение от итерации к итерации 6 (нижняя граница максимального абсолютного значения ошибки при наилучшей аппроксимации
продолжение вычислений дает малый эффект, когда
|
1 |
Оглавление
|