Читать в оригинале

<< ПредыдущаяОглавлениеСледующая >>


7.2.5. Системы с вычитанием чисел

В противоположность обсужденным в предыдущем разделе системам с распределенной арифметикой, для систем на основе вычитания чисел, по существу, не требуется модификации самой архитектуры фильтра. Они, скорее, действуют по принципу уменьшения сложности цифровых умножений чисел большой разрядности с повышенной точностью посредством применения преобразований из теории чисел.

Этот способ [160] основан на том факте, что число можно разделить на ряд меньших чисел , с которыми можно оперировать независимо друг от друга, а затем результат преобразовать, чтобы окончательный итог получился таким же, как при применении прямого арифметического подхода.

В арифметических операциях используют численные подмножества, которые являются довольно элементарными вычетами по модулю. То есть если мы имеем целое число , то отдельные вычеты  определяются множеством модулей , в соответствии со следующим принципом кодирования:

            (7.10)

                 (7.11а)

        (7.11б)

Затем с вычетами  можно независимо оперировать по правилам модульной арифметики, соответствующим конкретным используемым модулям . Результатом этих операций будет множество чисел , которые можно вернуть к виду нормальных целых чисел с помощью китайской теоремы остатков [206]:

            (7.12)

где , а . В качестве тривиального примера того, какой экономии можно достичь с точки зрения объема памяти при использовании данного метода, рассмотрим ситуацию, когда мы имеем дело с целыми числами в интервале от 0 до 35. При использовании прямой арифметики потребовались бы 6 – разрядные слова, а для обращения к памяти при умножении двух таких слов потребовалось бы 4 К разрядов памяти для каждого выходного разряда. При использовании в данной задаче ВЧС – подхода входные числа можно было бы разложить на два подмножества модулей, в которых используются модули  и .  Каждый из них можно представить с помощью 3- разрядных слов, и, следовательно,  для умножений, если выполнять их с помощью обращения к памяти, потребовался бы размер памяти в 64 разряда для каждого выходного разряда каждого подмножества модулей (т. е общее количество разрядов было бы равно 128 на один выходной разряд). Очевидно, кодирование и декодирование чисел включают дополнительные затрата, которые мы здесь не учитываем. Однако, использование данного метода влечет за собой значительную экономию необходимого объема памяти.

Применение систем с вычислением чисел для конструирования цифровых фильтров с фиксированным откликом было подробно описано в работах [160, 169, 287, 288], где особое внимание уделялось применению их фильтров с конечной импульсной характеристикой. Главным недостатком фильтра на основе систем с вычитанием чисел является его неспособность обнаруживать переполнение слова при вычислении вычета по модулю [169]. Этот недостаток можно преодолеть, если использовать слово, длина которого достаточна для того, чтобы обеспечить невозможность арифметического переполнения. Это – особая проблема при рассмотрении рекурсивных фильтров; она часто требует значительного расширения структуры алгоритма [161, 169]. Алгоритмы включают повторное кодирование множества остатков, чтобы можно было производить регулировку длины слова. Для такой процедуры также требуется выполнять умножения, хотя ее можно осуществить с помощью квадратичного умножителя [287]. На рис. 7.12, б показана блок-схема умножителя, выполненного на основе систем с вычитанием чисел, где  и  - размеры слов, соответствующие модулям  и .

Рис. 7.12. Блок-схема цифрового умножителя, выполняющего возведение в квадрат (а); блок-схема цифрового умножителя, выполняющего возведение в квадрат и использующего систему вычитания чисел (б).

Основные принципы, рассматриваемые до сих пор в этом разделе, были связаны с обычной разработкой цифровых фильтров, использующих ВЧС. Однако в работах [289, 290] были предложены особые конструкции таких цифровых адаптивных фильтров, включающие микропроцессоры специального назначения.

Основное ограничение, связанное с применением микропроцессоров для цифровой обработки сигналов – это низкие скорости выборки, достигнутые в настоящее время. До некоторой степени этого ограничения можно избежать в фильтрах на основе ВЧС, поскольку везде можно использовать 8-разрядную арифметику (при условии, что кодирование и декодирование осуществляется аппаратными средствами) и, следовательно, сохранить преимущество максимального быстродействия, используя 8-разрядные шинные структуры имеющихся в настоящее время микропроцессоров. Наибольшие преимущества, связанные с гибкостью подхода на основе микропроцессоров, можно получить, применяя «полностью адаптивные» алгоритмы [290]. В данном случае, система адаптивно регулирует не только коэффициенты фильтра, но также и его формат. То есть адаптивный алгоритм может изменять конфигурацию фильтра таким образом, чтобы его характеристика содержала одни нули, одни полюсы, или любую комбинацию полюсов и нулей. Осуществляется это путем просмотра каждой доступной формы фильтра и предоставления ему возможности реализовать процесс установления. Как только опробованы форматы фильтра, в качестве оптимального выбирается фильтр, дающий самую малую ошибку в установившемся режиме. Адаптивными алгоритмами, выбранными Зодерстрендом для такого фильтра, были алгоритмы МНК для чисто трансверсального фильтра и алгоритм Стириса – Уайта [293, 333] для рекурсивных форм.

Такая форма фильтра, по сравнению с фильтром с распределенной арифметикой, рассмотренным в разд. 7.2.4, имеет то преимущество, что фильтру по его природе присуща линейность. Это имеет место вследствие того, что фильтр на основе ВЧС  не изменяет основной структуры обычного цифрового фильтра и, следовательно, адаптивные алгоритмы продолжают оперировать непосредственно с каноническими коэффициентами фильтра. Таким образом, при использовании подхода на основе распределенной арифметики появляются дополнительные степени свободы, что не имеет места при применении ВЧС. Однако, время установления фильтра на основе ВЧС будет таким же, как для обычного цифрового фильтра с аппаратными умножителями. Следовательно, он обладает одним преимуществом: слова большой разрядности можно эффективно обрабатывать с помощью стандартных микропроцессорных аппаратных средств.

 



<< ПредыдущаяОглавлениеСледующая >>