Выпуск #7/2012
В.Джиган
Адаптивные фильтры Современные средства моделирования и примеры реализации
Адаптивные фильтры Современные средства моделирования и примеры реализации
Просмотры: 5789
Во многих современных радиоэлектронных устройствах сегодня применяется разновидность цифровой обработки сигналов – адаптивная фильтрация. Как стандартные модели адаптивных фильтров, так и модели, разработанные сторонними организациями, могут быть реализованы современными средствами проектирования LabView и SystemView. Примеры реализации адаптивных фильтров на основе современных цифровых сигнальных процессоров (ЦСП) для их последующего применения в собственном оборудовании предлагают и производители ЦСП.
Цифровая обработка сигналов (ЦОС) сегодня широко используется в радиолокационных и радионавигационных системах, проводной, оптической и радиосвязи, в вычислительной и бытовой технике. Это обусловлено огромными наработками за последние шесть десятилетий в теории и практике ЦОС, а также технологическими достижениями в электронной технике, позволившими создавать высокопроизводительные и одновременно компактные цифровые устройства для реализации алгоритмов ЦОС в реальном времени. Столь длительное развитие ЦОС привело к появлению в этой области знаний ряда самостоятельных научно-технических направлений, одним из которых является адаптивная обработка сигналов.
Адаптивная обработка сигналов, под которой обычно понимается адаптивная фильтрация, используется, когда с поставленной задачей не могут справиться фильтры с фиксированными параметрами. Это происходит, как правило, в случаях, когда условия фильтрации неизвестны или меняются, а потому требования к параметрам фильтра не могут быть сформулированы заранее. Сегодня существует большое количество радиоэлектронных изделий, эффективная работа которых невозможна без использования адаптивных фильтров. Это адаптивные антенные решетки, компенсаторы сигналов электрического и акустического эха, эквалайзеры (выравниватели) электрических характеристик каналов связи, компенсаторы шумов и ряд других устройств [1–4]. Их работа основана на выполнении различных адаптивных алгоритмов.
Адаптивный алгоритм можно условно разделить на алгоритм вычисления выходного сигнала адаптивного фильтра и алгоритм вычисления его весовых коэффициентов (ВК). Так как выходной сигнал адаптивного фильтра используется и при вычислении ВК, то понятия "адаптивный фильтр", "адаптивный алгоритм", "алгоритм адаптивной фильтрации" и "алгоритм вычисления ВК адаптивного фильтра" часто используются как синонимы.
В статье приводятся обзор основных разновидностей алгоритмов адаптивной фильтрации, средств их моделирования и примеры реализации адаптивных фильтров с помощью современных цифровых сигнальных процессоров (ЦСП).
Разновидности адаптивных алгоритмов
Адаптивные алгоритмы (рис.1) базируются на теории оптимальной винеровской фильтрации. Описание этой теории и основных разновидностей адаптивных алгоритмов, существующих сегодня, можно найти в специализированных книгах, например, в [5–7]. Прообразами большинства адаптивных алгоритмов служат алгоритм Ньютона, алгоритм наискорейшего спуска и алгоритм по критерию наименьших квадратов. К простым относятся разновидности градиентных адаптивных алгоритмов по критерию наименьшего квадрата (Least Mean Square, LMS), его нормализованной версии (Normalized LMS, NLMS), а к сложным – разновидности рекурсивных алгоритмов по критерию наименьших квадратов (Recursive Least Squares, RLS), базирующихся на использовании леммы об обращении матрицы (Matrix Inversion Lemma, MIL) и QR-разложения. Промежуточный класс образуют алгоритмы аффинных проекций (Affine Projections, AP). Существуют также быстрые (т.е. вычислительно эффективные) алгоритмы AP (Fast AP, FAP) и быстрые RLS-алгоритмы, включая лестничные (получившие свое название из-за вычислительных процедур, структурно напоминающих лестницу или решетку).
Работа большинства алгоритмов адаптивной фильтрации базируется на безусловной или условной минимизации некоторой функции ошибок между требуемым и выходным сигналами адаптивного фильтра. При условной оптимизации, как правило, применяются линейные ограничения, накладываемые на значения минимизируемой целевой функции. Адаптивные алгоритмы, следующие из такой минимизации, называются линейно-ограниченными и существуют или могут быть получены практически для большинства одноименных алгоритмов, базирующихся на безусловной минимизации.
Наличие разнообразных алгоритмов адаптивной фильтрации дает возможность разработчикам радиоэлектронной аппаратуры принимать компромиссные решения между вычислительной сложностью (требуемым числом арифметических операций на одну итерацию работы адаптивного фильтра) и эффективностью (длительностью переходного процесса, значением ошибки в установившемся состоянии) при разработке или использовании адаптивных фильтров.
Простые градиентные алгоритмы, как правило, используются при аппаратной реализации адаптивных фильтров. Сложные RLS- и AP-алгоритмы, включая их быстрые версии, в основном ориентированы на программную реализацию. Несмотря на сложность, RLS-алгоритмы наиболее эффективны, а потому также представляют практический интерес наряду с простыми градиентными алгоритмами.
Многообразие RLS-алгоритмов (рис.2) образуется за счет использования различных оконных функций при оценке корреляционной матрицы входных сигналов адаптивного фильтра и ее динамической регуляризации, а также структурно независимой параллельной реализации с помощью одного, двух или четырех ЦСП [8]. Это многообразие применимо ко всем разновидностям RLS-алгоритмов (рис.3) [9], включая лестничные адаптивные алгоритмы без линейных ограничений [10].
Таким образом, многообразие алгоритмов адаптивной фильтрации (см. рис. 1–3) свидетельствует о значительных достижениях в области адаптивной обработки сигналов. Эти достижения использовали производители современных средств программирования и моделирования, таких как MATLAB, LabVIEW и SystemVue [11–13], а также современных ЦСП [14–17]. Нестандартные программные реализации адаптивных фильтров представлены в [18–31] и в некоторых работах по ЦОС [32–36].
Примеры стандартных и нестандартных моделей адаптивных фильтров и их реализаций в ЦСП рассматриваются ниже.
Моделирование адаптивных фильтров с помощью приложений
DSP System Toolbox языка MATLAB
Язык MATLAB [37] сегодня является основным программным инструментом для моделирования алгоритмов, устройств и систем ЦОС. Его лидирующая роль подтверждена и тем, что такие широко распространенные средства проектирования как LabVIEW [38] и SystemVue [39, 40] также поддерживают возможность совместной работы с языком MATLAB. Кроме того, в этих программных продуктах содержатся урезанные ядра языка MATLAB (MathScript в LabVIEW и MathLang в SystemVue), в которых реализованы основной синтаксис и набор базовых функций, позволяющих проводить совместное моделирование программ на языке MATLAB в среде LabVIEW или SystemVue без установки языка MATLAB на персональном компьютере.
Поэтому неудивительно, что в стандартном приложении DSP System Toolbox языка MATLAB, где сосредоточены алгоритмы ЦОС, также имеется около 30 различных разновидностей адаптивных алгоритмов (табл.1), реализованных в виде объектов. Эти объекты могут быть использованы для моделирования различных адаптивных приложений, в частности, в адаптивных эквалайзерах стандартного приложения Communication Toolbox.
На рис.4 показаны два примера использования объектов адаптивных алгоритмов в языке MATLAB при решении задачи идентификации импульсного отклика КИХ-фильтра с 32-мя ВК. RLS-алгоритм демонстрирует более короткий переходной процесс (см. "Сигнал ошибки") по сравнению с LMS-алгоритмом, что согласуется с известными свойствами адаптивных фильтров. Программы для получения аналогичных рисунков для различных алгоритмов адаптивной фильтрации, реализованных в стандартных средствах языка MATLAB, приведены в "Справочной системе" приложения DSP System Toolbox.
Несмотря на большую популярность языка MATLAB, реализация в нем адаптивных алгоритмов в виде объектов имеет ряд недостатков, ограничивающих их использование при моделировании некоторых приложений [33]. Этих недостатков лишена библиотека алгоритмов адаптивной фильтрации.
Нестандартные программные средства для моделирования адаптивных фильтров на языке MATLAB
Библиотека [18, 20, 21] включает практически все разновидности алгоритмов адаптивной фильтрации (см. рис.1–3) для одноканальных и многоканальных адаптивных фильтров с действительными и комплексными ВК.
Все алгоритмы библиотеки реализованы в виде программ, а не объектов или функций. Такая реализация удобна при исследовании свойств алгоритмов или при проверке их работоспособности, так как имеется доступ ко всем "внутренним" переменным алгоритма. Ее также удобно использовать при переносе алгоритмов на язык Assembler для какого-либо ЦСП, так как алгоритмы библиотеки запрограммированы на итерационную, а не векторную обработку сигналов.
Большая часть адаптивных алгоритмов интегрирована в приложение, графический интерфейс пользователя (ГИП) которого приведен на рис.5. С его помощью можно исследовать свойства определенного алгоритма адаптивной фильтрации, функционирующего под воздействием внутренних или внешних тестовых сигналов. В последнем случае используются сигналы, передаваемые в виде файлов данных. ГИП позволяет выбирать необходимый алгоритм, определять число каналов адаптивного фильтра и тип используемой арифметики (действительная или комплексная), а также задавать параметры, зависящие от выбранного алгоритма. Входные/выходные сигналы моделирования могут быть сохранены в файлах. В дальнейшем их можно использовать в качестве тестовых векторов при переносе адаптивных алгоритмов на интересующие языки программирования и вычислительные платформы.
Ряд алгоритмов адаптивной фильтрации на языке MATLAB также реализован в библиотеке FREE-ASPT for MATLAB [41]. Однако бесплатно распространяемая версия этой библиотеки может быть использована только для моделирования адаптивных фильтров с ограниченным числом ВК. Кроме того, программный код этих алгоритмов является закрытым, что не позволяет знакомиться с особенностями реализации алгоритмов и вызывает неудобства при исследовании их свойств.
Моделирование приложений адаптивной фильтрации с помощью Adaptive Filter Toolkit среды разработки LabVIEW
Другим средством, широко используемым сегодня для моделирования и создания приложений ЦОС, является среда проектирования LabVIEW [38]. Прибор, реализуемый средствами LabVIEW, состоит из двух основных компонентов: лицевой панели и блок-диаграммы, между которыми существует однозначная взаимосвязь. Лицевая панель представляет собой ГИП. Она служит для ввода/вывода цифровых, логических и графических данных. Блок-диаграмма содержит графический код лицевой панели (блоки ее элементов), а также другие элементы программы в соответствии с реализуемым алгоритмом.
Графические программы в LabVIEW называются виртуальными приборами (Virtual Instruments, VI). Каждый блок программы выполняется тогда, когда на всех его входах присутствуют требуемые данные, после чего выходные данные блока передаются на другие блоки. Используемое в LabVIEW потоковое программирование позволяет автоматически распараллеливать выполнение кода. Параллелизм сегодня становится основным способом увеличения производительности программ, которые не могут эффективно работать на последних моделях многоядерных процессоров по причине последовательного выполнения кода.
Помимо поддержки многопоточности на многоядерных системах, среда LabVIEW позволяет создавать приложения для параллельных вычислений на программируемых логических интегральных схемах (ПЛИС), в которых выполнение независимых участков кода организуется абсолютно независимыми, не влияющими на производительность друг друга, участками микросхемы.
Указанные особенности, а также большой набор различных блоков, имеющихся сегодня в LabVIEW, позволяют создавать графические программы как для моделирования, так и для обработки сигналов, поступающих в реальном времени. Блоки для создания адаптивных фильтров с конечной импульсной характеристикой (КИХ) сосредоточены в приложении Adaptive Filter Toolkit (табл.2).
Adaptive Filter Toolkit и модуль LabVIEW FPGA позволяют генерировать код для ПЛИС и создавать на них прототипы адаптивных LMS КИХ-фильтров в целочисленной арифметике. Такие адаптивные фильтры могут обрабатывать сигналы с частотой дискретизации до нескольких сотен килогерц, что зависит от числа ВК адаптивного фильтра, числа разрядов входных и внутренних данных, типа используемой ПЛИС и ее тактовой частоты.
Проектирование адаптивных фильтров под ПЛИС осуществляется в три этапа: моделирование на хост-машине в арифметике с плавающей точкой, моделирование в арифметике с фиксированной точкой и собственно генерация кода для ПЛИС.
Моделирование в арифметике с плавающей точкой позволяет определить требуемые параметры адаптивного алгоритма и диапазон возможных значений ВК адаптивного фильтра, что требуется для определения точности представления ВК в арифметике с фиксированной точкой или, в конечном счете, в целочисленной арифметике в ПЛИС.
С помощью моделирования в арифметике с фиксированной точкой можно проверить, удовлетворяют ли параметры целочисленного представления данных при реализации адаптивного фильтра в ПЛИС (рис.6). На этом этапе можно принимать компромиссные решения между числом разрядов арифметических операций (а значит, и требуемыми ресурсами для ПЛИС-реализации) и точностью работы адаптивного фильтра. В случае удовлетворительных результатов моделирования полученные параметры можно сохранить и создать ПЛИС-код адаптивного фильтра, использующего эти параметры.
Как следует из примера (см. рис.6), адаптивный фильтр на базе LMS-алгоритма (с числом ВК N = 128, 24-разрядным представлением входных данных и ВК адаптивного фильтра с 16-разрядным представлением шага сходимости) может обрабатывать входные сигналы с частотой дискретизации 150,94 кГц при использовании ПЛИС Xilinx Virtex-II (3 млн. вентилей), работающей на тактовой частоте 40 МГц. Такой фильтр требует примерно 3% вентилей от их общего числа указанной ПЛИС.
В стандартных приложениях LabVIEW проект адаптивного фильтра на ПЛИС, в частности, используется при решении прикладной задачи шумоподавления. В "Справочной системе" среды LabVIEW приведены примеры решения с помощью Adaptive Filter Toolkit указанной и других прикладных задач, таких как снятие электрокардиограммы плода на фоне сердцебиения матери, адаптивная компенсация эхо-сигналов (рис.7), адаптивная идентификация системы, адаптивное выравнивание канала связи, адаптивное обратное управление, адаптивное линейное предсказание, активное подавление шума и ряд других.
К стандартным бесплатно распространяемым адаптивным приложениям LabVIEW также относится приложение LMS Adaptive Filter Lab Demo, с помощью которого можно исследовать адаптивный фильтр на базе LMS-алгоритма при решении задачи идентификации линейной системы. Также можно проводить сравнительное моделирование адаптивного фильтра, использующего разные варианты LMS-алгоритма: классический, блочный, Sing-Error и NLMS. Примеры результатов использования этого приложения приведены на рис.8.
Таким образом, среда проектирования LabVIEW имеет библиотеку основных разновидностей алгоритмов адаптивной фильтрации (см. табл.2), с помощью которых можно проводить исследование различных адаптивных устройств, а также обрабатывать сигналы, поступающие с физических объектов окружающего мира, используя для этого оборудование National Instruments.
Нестандартные программные средства для моделирования адаптивных фильтров в среде разработки LabVIEW
К достоинствам среды разработки LabVIEW следует отнести и возможность дополнять графические программы текстовыми. Эту возможность удобно использовать при программировании математических формул или при использовании отлаженных программ на других языках. Поэтому в LabVIEW реализованы механизмы добавления на блок-диаграмму различного текстового кода, включая код языка MATLAB.
Некоторые нестандартные программные реализации адаптивных фильтров [27–31], полученные путем совместного использования LabVIEW и MATLAB с применением элементов прикладной библиотеки адаптивной фильтрации [18, 20, 21], рассматриваются ниже.
Одна из таких реализаций (рис.9) [28] представляет собой виртуальный прибор для исследования свойств адаптивного фильтра на базе алгоритмов Ньютона и наискорейшего спуска, LMS- и RLS-алгоритмов в задаче линейного предсказания, детали которой приведены в [42].
В качестве основного параметра для разных адаптивных алгоритмов задается требуемое отношение собственных чисел корреляционной матрицы адаптивного фильтра. В соответствии с этим параметром вырабатывается входной сигнал. Одновременно исследуется поведение трех адаптивных фильтров, вычисляющих ВК с помощью одного и того же выбранного алгоритма и обрабатывающих одни и те же сигналы. Различие между адаптивными фильтрами заключается в значениях начальных ВК, которые можно независимо задавать.
С помощью виртуального прибора можно исследовать свойства корреляционной матрицы адаптивного фильтра, исследовать характер поверхности среднеквадратической ошибки и ее срезов (линий уровня) в зависимости от отношения собственных чисел корреляционной матрицы, а также оценить постоянные времени переходных процессов.
Число ВК в адаптивных фильтрах прибора (см. рис.9) равно двум. Выбор в качестве объекта исследования адаптивного фильтра с двумя ВК обусловлен возможностью визуализации в этом случае трехмерной поверхности среднеквадратической ошибки и двумерных графиков ее линий уровня с целью исследования зависимости их формы от отношения собственных чисел корреляционной матрицы, а также визуализации траектории движения ВК в процессе работы адаптивного фильтра.
В то же время в большинстве практических приложений обычно используются адаптивные фильтры с числом ВК, отличным от двух. Для исследования адаптивных фильтров на базе LMS- и RLS-алгоритмов с произвольным числом ВК служит виртуальный прибор (рис.10) [31]. В этом приборе также вырабатывается входной сигнал адаптивного фильтра с заранее заданным отношением максимального и минимального собственных чисел корреляционной матрицы. С помощью адаптивного фильтра решается задача идентификации линейной системы (импульсного отклика КИХ-фильтра). В качестве идентифицируемого импульсного отклика могут быть использованы табличные значения импульсных откликов эхо-путей в проводных телефонных сетях [43], акустический импульсный отклик прямоугольного помещения [44, 45] или импульсный отклик, введенный вручную.
Численными результатами моделирования являются значения относительной избыточной среднеквадратической ошибки, значения ВК адаптивного фильтра на последней итерации работы алгоритма и экспериментально оцененное отношение максимального и минимального собственных чисел корреляционной матрицы. В качестве графических результатов моделирования в виртуальном приборе (см. рис.10) выводятся графики входных/выходных сигналов адаптивного фильтра, среднеквадратической ошибки и ряд других.
Еще одним примером нестандартных виртуальных приборов является прибор для исследования трехлучевых линейных эквидистантных адаптивных антенных решеток (ААР) [27, 29] (рис.11). В нем реализованы различные линейно-ограниченные алгоритмы адаптивной фильтрации (LMS-, NLMS-, RLS- и аффинных проекций). Прибор позволяет использовать "слепые" версии указанных алгоритмов, т.е. не требующих опорного сигнала в явном виде. Детали этих алгоритмов приведены в работах [46–49].
В качестве результатов моделирования выводятся созвездия принимаемых решеткой Phase Shift Keying (PSK) сигналов, созвездия на выходе антенной решетки при отсутствии и при использовании адаптации, а также ДН ААР до и после адаптации как раздельно для каждого луча многолучевой ААР, так и совместно для трех лучей.
Аналогичные виртуальные приборы адаптивного эхо-компенсатора и эквалайзера канала связи представлены в работе [30].
Таким образом, рассмотренные виртуальные приборы демонстрируют возможности построения в среде LabVIEW различных нестандартных адаптивных приложений, в том числе с использованием отлаженных программ на языке MATLAB.
Моделирование приложений адаптивной фильтрации с помощью Adaptive Equalization Library среды разработки SystemVue
Подобно LabVIEW и графическому приложению Simulink языка МАТLАB среда разработки SystemVue [39, 40] также является средой графического программирования. Она позволяет примерно вдвое сократить время проектирования на физическом уровне различных алгоритмов и систем. SystemVue представляет собой простую в использовании среду разработки с передовыми технологиями моделирования, с возможностью подключения к аппаратной реализации и проведения испытаний.
Основные особенности среды SystemVue:
расширенное моделирование потока данных, т.е. обработка сигналов с различными скоростями, частотами и с учетом реальных эффектов;
обширный набор точных аналоговых моделей;
сотни пополняемых библиотек, которые экономят время при работе с функциями обработки сигналов, радиочастотными блоками, функциями с фиксированной точкой и блоками различных стандартов связи;
поддержка моделей на основе X-параметров для совместного моделирования аналоговой и цифровой частей устройства;
возможность легкого переключения между блоками, написанными на языке C++, реализованными в m-коде или Verilog/VHDL;
поддержка языков программирования C, MATLAB;
автоматическая генерация VHDL/Verilog, позволяющая быстро изготавливать опытные образцы на основе ПЛИС.
Среди многообразия систем, которые можно исследовать и проектировать с помощью SystemVue, важное место занимают различные системы связи, неотъемлемым элементом оборудования которых является адаптивный эквалайзер. Поэтому библиотека Algorithm Design Library [50] среды SystemVue содержит приложение под названием Adaptive Equalizers с набором алгоритмов адаптивной фильтрации.
В библиотеку Adaptive Equalizers входят LMS-алгоритм, алгоритм аффинных проекций, RLS-алгоритм на базе MIL и RLS-алгоритм на базе QR-разложения. Алгоритмы существуют в двух разных формах: с действительной и с комплексной арифметикой в формате с плавающей точкой. Изменяя параметры, LMS-алгоритм можно переключить в NLMS-алгоритм.
Примеры решения прикладных задач с помощью элементов Algorithm Design Library приведены в "Справочной системе" SystemVue. На рис.12 показаны элементы основного окна языка SystemVue при решении задачи выравнивания канала связи с помощью "слепого" эквалайзера, использующего адаптивный фильтр на базе LMS-алгоритма. Здесь эквалайзер включен в систему связи, состоящую из источника информации, модулятора, канала связи, собственно адаптивного эквалайзера и фильтра ошибок. На рис.12 и 13 представлены программы в среде SystemVue для решения прикладных задач, которые не ограничиваются только адаптивными эквалайзерами.
Библиотека адаптивной фильтрации для ЦСП семейства "Мультикор"
Рассмотренные выше средства моделирования позволяют на этапе проектирования выполнять исследования адаптивных фильтров, а также устройств и систем на их основе. Если результаты моделирования удовлетворительны, то далее требуется реализовать этот адаптивный фильтр. Реализация может осуществляться двумя способами: аппаратно (требуются высокие скорости обработки сигналов) и программно (требования к скорости обработки сигналов сравнительно невысоки).
Детали аппаратной реализации адаптивных фильтров в технической литературе отсутствуют. Что же касается программной реализации, то большинство производителей сегодня наполняют прикладные библиотеки своих ЦСП в том числе и алгоритмами адаптивной фильтрации.
Ниже приводится описание библиотеки адаптивной фильтрации (рис.14), которая входит в прикладную библиотеку программ для отечественных ЦСП серии "Мультикор" [18, 52], разработанных ОАО "НПЦ "ЭЛВИС" [17].
ЦСП серии "Мультикор" – это однокристальные программируемые многопроцессорные системы на кристалле на базе сложных функциональных блоков платформы "Мультикор". Они сочетают в себе качества двух классов приборов: микроконтроллеров и ЦСП, что позволяет решать в рамках ограниченных габаритов одновременно две задачи: управления и высокоточной обработки сигналов. Разновидности выпускаемых ЦСП и их основные параметры приведены в табл.3.
Оценки вычислительной сложности реализации некоторых алгоритмов адаптивной фильтрации на языке Assembler ЦСП серии "Мультикор" (1892ВМ3Т и 1892ВМ2Я) приведены на рис.15. Для разработки программного кода использовалась среда MCStudio для СБИС серии "Мультикор" [53, 54].
На рис.15а – комплексный RLS-алгоритм со скользящим окном (одноканальный и многоканальный: линии 1, 2 – СБИС 1892BM3Т, линии 5, 6 – СБИС 1892BM2Я; действительный RLS-алгоритм со скользящим окном (одноканальный и многоканальный): линии 3, 4 – СБИС 1892BM3Т, линии 7, 8 – СБИС 1892BM2Я; комплексный RLS-алгоритм с возрастающим окном (одноканальный и многоканальный): линии 9, 10 – СБИС 1892BM3Т, линии 13, 14 – СБИС 1892BM2Я; действительный RLS-алгоритм с возрастающим окном (одноканальный и многоканальный): линии 11, 12 – СБИС 1892BM3Т; действительный RLS-алгоритм со скользящим окном (одноканальный и многоканальный): линии 15, 16 – СБИС 1892BM2Я. Обозначение "действительный алгоритм" означает алгоритм для адаптивного фильтра с действительными ВК, а "комплексный алгоритм" – алгоритм для адаптивного фильтра с комплексными ВК.
На рис.15б приведены оценки вычислительной сложности по результатам реализации [24] некоторых лестничных алгоритмов на основе СБИС 1892BM3Т – алгоритм на основе априорных и апостериорных ошибок: линия 1 – комплексный, без обратных связей, линия 3 – комплексный, с обратными связями; алгоритм на основе априорных и апостериорных ошибок: линия 2 – действительный, без обратных связей, линия 4 – действительный, с обратными связями; алгоритм на основе априорных ошибок: линия 5 – комплексный, без обратных связей, линия 6 – действительный, без обратных связей, линия 7 – комплексный, с обратными связями, линия 8 – действительный, с обратными связями.
В рассмотренную библиотеку входит также ряд простых градиентных алгоритмов (разновидности LMS- и NLMS-алгоритмов). Все элементы библиотеки реализованы в формате вычислений с плавающей точкой с одинарной точностью. Функции для СБИС 1892BM3Т реализованы в режиме Single Instruction Single Data (SISD, скалярный режим), а для СБИС 1892BM2Я – в режиме 2SISD. Полный перечень функций этой библиотеки приведен в [17].
В [55] представлены результаты разработки оптимального кода функции адаптивного фильтра-дециматора с применением цифровой гребенчатой фильтрации для СБИС 1892BM2Я. Стандартная функция реализации LMS-алгоритма для этого ЦСП требует 1,5Nh+20 тактов на один отсчет входных/выходных сигналов, где Nh – число ВК адаптивного фильтра. Применение цифровой гребенчатой фильтрации прореживает импульсную характеристику адаптивного фильтра нулевыми отсчетами в R раз, дополняя алгоритм адаптивной фильтрации сглаживающим фильтром с числом ВК J. При такой реализации адаптивного фильтра общие вычислительные затраты сокращаются до 1,5(Nh/R)+J+28 тактов процессора.
Используя технические характеристики ЦСП серии "Мультикор" (см. табл.3), с помощью представленных графиков можно определить частоту дискретизации, на которой адаптивные фильтры могут обрабатывать сигналы.
Приложения адаптивной фильтрации для цифровых сигнальных процессоров компаний Texas Instruments, Analog Device и Freescale Semiconductor
Небольшое число адаптивных фильтров также реализовано и в прикладных библиотеках ЦСП зарубежных производителей. Параметры этих фильтров рассматриваются ниже.
Одним из лидирующих зарубежных производителей на рынке современных ЦСП сегодня является компания Texas Instruments. Среди ЦСП этой компании можно выделить две наиболее актуальные серии: TMS320C5000 – малопотребляющие 16-разрядные ЦСП с фиксированной точкой и с тактовой частотой до 300 МГц и TMS320C6000 – высокопроизводительные ЦСП с плавающей и фиксированной точкой и тактовой частотой до 1,2 ГГц, на которой строится широкий ряд гибридных процессоров, систем на кристалле и многоядерных ЦСП. В прикладных библиотеках [56–58] для указанных процессоров реализованы лишь несколько разновидностей LMS-алгоритмов.
Так, в прикладной библиотеке TMS320C55x DSP Library [56] реализованы два типа LMS-алгоритмов, в формате с фиксированной точкой (16 бит). Это Delayed LMS-алгоритм, размер кода которого составляет V = 122 байта. Для выполнения этого кода требуется C = NX / 2 ( 26 + 3Nh ) тактов ЦСП на одну итерацию алгоритма, где Nx – число отсчетов входных/выходных данных. Другой алгоритм – это быстрый Delayed LMS-алгоритм, размер кода которого составляет V = 122 байта. Для выполнения этого кода требуется C = NX / 2 ( 26 + 3Nh ) тактов ЦСП на одну итерацию алгоритма.
В прикладной библиотеке TMS320C64x DSP Library [57] реализован классический LMS-алгоритм в формате с фиксированной точкой (16 бит), размер кода которого составляет V = 148 байт. Для выполнения этого кода требуется С = ( 3Nh / 4 ) + 16 тактов ЦСП на одну итерацию алгоритма.
В прикладной библиотеке TMS320C67x DSP Library [58] реализованы две разновидности классического LMS-алгоритма в формате с плавающей точкой с одинарной и двойной точностью. Алгоритм с одинарной точностью с размером кода V = 1367 байт требует С = ( Nh + 35 ) Nx + 21 тактов на одну итерацию. Алгоритм с одинарной точностью, размер кода которого составляет V = 640 байт, требует С = ( 4Nh + 47 ) Nx + 27 тактов ЦСП на одну итерацию.
Другой известный зарубежный производитель ЦСП – компания Analog Device [15] – выпускает ЦСП серий ADSP-21xx, SHARC, TigerSHARC, Blackfin и SigmaDSP. Серия ADSP-21xx представляет собой программно совместимые ЦСП с тактовой частотой до 160 МГц, серия SHARC – семейство ЦСП с плавающей точкой, серия TigerSHARC – ЦСП с плавающей точкой с пиковой производительностью свыше миллиарда операций в секунду. Ориентированные на применение в многопроцессорных системах серия Blackfin – это 16/32-разрядные ЦСП, а серия SigmaDSP – ЦСП для портативных приложений.
Прикладная библиотека процессоров ADSP-21xx [59] содержит ряд функций адаптивных фильтров на базе алгоритмов, представленных в табл.4. Алгоритмы выполняются в 16-разрядной арифметике с фиксированной точкой.
Из табл.4 следует, что знаковые алгоритмы, подразумевающие упрощения аппаратной реализации адаптивных фильтров, при программной реализации в последних двух случаях требуют больше тактов, чем традиционные адаптивные алгоритмы. Это обусловлено дополнительными операциями определения знаков переменных.
В работе [60] был рассмотрен вариант использования нестандартного фильтра-дециматора в составе функций ЦОС ЦСП TigerSHARC при реализации многоскоростного узкополосного адаптивного фильтра на базе LMS-алгоритма. В этом фильтре удалось понизить вычислительную сложность стандартной реализации фильтра-дециматора из прикладной библиотеки ЦСП TigerSHARC [61] и понизить общие вычислительные затраты на реализацию узкополосного адаптивного фильтра с предварительной децимацией, которые выполняются за тактов на одну итерацию работы этого фильтра, где ν – коэффициент децимации. Этот результат свидетельствует о вычислительной эффективности предложенной в работе [60] реализации фильтра-дециматора.
Из ЦСП, производимых компанией Freescale Semiconductor, можно выделить серию DSP56300. Она представляет собой 24-разрядные ЦСП с фиксированной точкой и тактовой частотой до 275 МГц. В прикладной библиотеке [62] для указанных процессоров реализованы две разновидности адаптивных фильтров: на базе классического LMS-алгоритма и Delayed LMS-алгоритма. В классическом LMS-алгоритме размер кода составляет V = 15 слов (24-разрядных), для выполнения которого требуется C = 3Nh + 16 тактов ЦСП на одну итерацию алгоритма. В Delayed LMS-алгоритме размер кода составляет V = 13 слов (24-разрядных), для выполнения которого требуется C = 3Nh + 12 тактов ЦСП на одну итерацию алгоритма.
Адаптивные алгоритмы в прикладных библиотеках других ЦСП компаний Texas Instruments, Analog Device и Freescale Semiconductor отсутствуют.
Используя технические характеристики отмеченных ЦСП, можно определить частоту дискретизации, на которой рассмотренные адаптивные фильтры могут обрабатывать сигналы, а также оценить запас ресурсов для решения других прикладных задач.
* * *
В статье были рассмотрены основные элементы стандартных и нестандартных приложений адаптивной фильтрации на языках программирования MATLAB, LabVIEW и SystemVue, элементы прикладных библиотек адаптивной фильтрации современных ЦСП отечественной компании ОАО "НПЦ "ЭЛВИС", а также зарубежных компаний Texas Instruments, Analog Device и Freescale Semiconductor. Эта работа может служить путеводителем при выборе средства моделирования и разработки адаптивных фильтров, а также их приложений. Разработчики и производители адаптивных фильтров могут также воспользоваться работой [63], в которой рассматриваются архитектурные особенности и сравнительный анализ ЦСП отечественного и зарубежного производства.
Литература
Benesty J., Huang Y. (Eds). Adaptive signal processing: applications to real-world problems. – Berlin, Heidelberg, New York, Springer-Verlag, 2003.
Джиган В.И. Адаптивные фильтры и их приложения в радиотехнике и связи, ч.1. – Современная электроника, 2009, №9, с.56–63.
Джиган В.И. Адаптивные фильтры и их приложения в радиотехнике и связи, ч.2. – Современная электроника, 2010, №1, с.72–77.
Джиган В.И. Адаптивные фильтры и их приложения в радиотехнике и связи, ч.3. – Современная электроника, 2010, №2, с.70–77.
Уидроу Б., Стирнз С.Д. Адаптивная обработка сигналов./Пер. с англ. под ред. Шахгильдяна В.В. – М.: Радио и связь, 1989.
Sayed A.H. Fundamentals of adaptive filtering. – NJ, Hoboken: John Wiley and Sons, Inc., 2003.
Diniz P.S.R. Adaptive filtering algorithms and practical implementation. Third edition. – New York, Springer Science + Business Media, 2008.
Джиган В.И. Параллельные вычисления в RLS-алгоритмах адаптивной фильтрации. – Вестник МГТУ им. Н.Э.Баумана. Сер. Приборостроение, 2006, №1, с.30–49.
Джиган В.И. Многообразие алгоритмов адаптивной фильтрации по критерию наименьших квадратов. – Современная электроника, 2008, №3, с.32–39.
Джиган В.И. Многообразие лестничных RLS-алгоритмов адаптивной фильтрации. – Цифровая обработка сигналов, 2005, №3, с.2–12.
http://www.mathworks.com – интернет-сайт компании MathWorks
http:// www.ni.com – интернет-сайт компании National Instruments
http://www.agilent.com – Интернет-сайт компании Agilent Technologies
http://www.ti.com – интернет-сайт компании Texas Instruments
http://www.analog.com – интернет-сайт компании Analog Device
http://www.freescale.com – интернет-сайт компании Freescale Semiconductor
http://www.multicore.ru – интернет-сайт ОАО НПЦ "ЭЛВИС"
Джиган В.И. Прикладная библиотека адаптивных алгоритмов. – Электроника: НТБ, 2006, №1, с.60–65.
Hayes M.H., Treichler J. Adaptive filtering (best of the web). – IEEE Signal Processing Magazine, 2008, v.25, № 6, р.169–172.
Джиган В.И. Библиотека алгоритмов адаптивной фильтрации. – Доклады 6-й международной конференции "Цифровая обработка сигналов и ее применения (DSPA-2004)", 31 марта–2 апреля 2004 г. – М.: Институт проблем управления им. В.А.Трапезникова РАН, 2004, т.1, с.89–94.
Джиган В.И. Разработка алгоритмов адаптивной фильтрации с применением среды "MATLAB". – Труды 2-й всероссийской научной конференции "Проектирование инженерных и научных приложений в среде MATLAB", 25–26 мая 2004 г. – М.: Институт проблем управления им. В.А.Трапезникова РАН, 2004, с.1689–1696 (CD).
Джиган В.И. Оценка эффективности реализации алгоритмов адаптивной фильтрации на базе систем на кристалле серии "Мультикор". – Доклады всероссийской научно-технической конференции "Проблемы разработки перспективных микроэлектронных систем (МЭС-2005)", 11–14 октября 2005 г. – М.: Институт проблем проектирования в микроэлектронике РАН, 2005, с.453–460.
Джиган В.И., Коплович Е.А. Особенности реализации алгоритмов адаптивной фильтрации на базе микропроцессорных БИС серии "Мультикор". – Труды 1-й международной научно-технической конференции "Современные проблемы оптимизации в инженерных приложениях (IWOPE-2005)", 17–24 декабря 2005 г. – Ярославль, Ярославский государственный университет, 2005, т.2, с.262–270.
Джиган В.И., Коплович Е.А. Лестничные адаптивные фильтры на основе СБИС сигнального контроллера 1892ВМ3Т серии "Мультикор". – Вопросы радиоэлектроники. Общетехническая серия, 2006, №2, с.126–136.
Джиган В.И. Адаптивные антенные решетки на базе СБИС серии "Мультикор". – Вопросы радиоэлектроники. Cер. Электронная вычислительная техника, 2008, №3, с.57–69.
Гончаров А.А., Хребтов А.Ю., Джиган В.И. Опыт реализации параллельных алгоритмов адаптивной фильтрации на базе СБИС серии "Мультикор". – Материалы 16-й международной конференции "Информационные средства и технологии", 21–23 октября 2008 г. – М.: Московский энергетический институт – технический университет, 2008, т.1, с.137–143.
Джиган В.И. Виртуальная адаптивная антенная решетка в среде LabVIEW. – Материалы 7-й международной научно-практической конференции "Образовательные, научные и инженерные приложения в среде LabVIEW и технологии National Instruments", 28–29 ноября 2008 г. – М.: Российский университет дружбы народов, 2008, т.2, с.52–58.
Богданов И.П., Джиган В.И. Виртуальный инструмент для исследования свойств алгоритмов адаптивной фильтрации. Материалы 9-й международной научно-практической конференции "Образовательные, научные и инженерные приложения в среде LabVIEW и технологии National Instruments", 3–4 декабря 2010 г. – М.: Российский университет дружбы народов, 2010, с.260–263.
Джиган В.И. Виртуальная многолучевая антенная решетка на основе RLS-алгоритма адаптивной фильтрации. Материалы 10-й международной научно-практической конференции "Образовательные, научные и инженерные приложения в среде LabVIEW и технологии National Instruments", 8–9 декабря 2011 г. – Московский технической университет связи и информатики, 2011, с.5–8.
Белиовская Л., Джиган М., Джиган О. Совместное использование пакетов LabVIEW и MATLAB в задачах эхо-компенсации и выравнивания каналов связи. – Современная электроника, 2007, №3, с.56–60.
Джиган О.В., Джиган М.В. Виртуальный инструмент для исследования свойств адаптивных фильтров в среде LabVIEW. – Материалы 10-й международной научно-практической конференции "Образовательные, научные и инженерные приложения в среде LabVIEW и технологии National Instruments", 8–9 декабря 2011 г. – М.: Московский технической университет связи и информатики, 2011, с.9–12.
Poularikas A.D., Ramadan Z.M. Adaptive filtering premier with MATLAB. – New York, CRC Press, 2006.
Сергиенко А.Б. Цифровая обработка сигналов. Учебн. пособие, 3-е изд-е. – С.-Пб.: БХВ-Петербург, 2011.
Солонина А.И., Арбузов С.М. Цифровая обработка сигналов. Моделирование в MATLAB: учебн. пособие. – С.-Пб.: БХВ-Петербург, 2008 с.
Солонина А.И. Цифровая обработка сигналов. Моделирование в Simulink: учебн. пособие. – С.-Пб.: БХВ-Петербург, 2008.
Кехтарнаваз Н., Ким Н. Цифровая обработка сигналов на системном уровне с использованием LabVIEW/Пер. с англ. под ред. В.К. Макухи. – М.: Издательский дом "Додэка-XXI", 2007.
Ануфриев И., Смирнов А., Смирнова Е. MATLAB 7. Наиболее полное руководство. – С.-Пб.: БХВ-Петербург, 2005.
Трэвис Д., Кринг Д. LabVIEW для всех, 4-е изд-е, перераб. и доп. – М.: ДМК Пресс, 2011.
Sigale D. Digital communication systems using SystemVue. – Charles River Media, 2006.
Загидуллин Р.Ш., Карутин С.Н., Стешенко В.Б. SystemView. Системотехническое моделирование устройств обработки сигналов. – М.: Горячая Линия – Телеком, 2005.
http://www.dspalgorithms.com – интернет-сайт компании DSP Algorithms
Haykin S. Adaptive filter theory (4-th edition). – Prentice Hall, 2001.
Digital network echo cancellers. – ITU-T Recommendation G.168. Series G: Transmission systems and media, digital systems and networks. International telephone connections and circuits – Apparatus associated with long-distance telephone circuits. 04/2000, Geneva, 2001.
Allen J.B., Berkley D.A. Image method for efficiently simulating small-room acoustics. – The Journal Acoustic Society of America, 1979, v.65, №4, p.943–950.
Белиовская Л., Джиган М., Джиган О. Вычисление импульсных откликов акустических и электрических каналов. – Современная электроника, 2007, №9, с.42–44.
Джиган В.И. Многолучевая адаптивная антенная решетка. – Известия ЮФУ. Технические науки, 2012, №2, с.23–29.
Djigan V.I. Joint use of constant modulus and least squares criteria in linearly-constrained communication arrays. – Radioengineering: Proceedings of Czech and Slovak Technical Universities and URSI Committers, 2007, v.16, №4, p.88–95.
Джиган В.И., Плетнева И.Д. Линейно-ограниченный нормализованный алгоритм по критерию наименьшего среднеквадратичного отклонения для цифровой адаптивной антенной решетки. – Информационные технологии, 2008, №10, с.68–74.
Джиган В.И., Плетнева И.Д. Применение СМ-алгоритма афинных проекций с линейными ограничениями для адаптивной фильтрации сигналов в антенной решетке. – Антенны, 2008, №10, с.14–24.
Algorithm design library. SystemVue 211.10. – Agilent Technologies, 2011.
Treichler J., Larimore M. New processing techniques based on the constant modulus adaptive algorithm. – IEEE Trans. Acoustics, Speech and Signal Processing, 1985, v.33, №2, p.420–431.
Солохина Т., Александров Ю., Петричкович Я. Сигнальные контроллеры компании "ЭЛВИС": первая линейка отечественных DSP. – Электроника: НТБ, 2005, №7, c.70–77.
Александров Ю.Н., Никольский В.Ф., Кучинский А.С. и др. Библиотека прикладных функций в составе среды MCStudio для разработки программного обеспечения систем на кристалле серии "Мультикор". – Материалы докладов всероссийской научно-технической конференции "Проблемы разработки перспективных микроэлектронных систем (МЭС-2005)", 11–14 октября 2005 г. – М.: Институт проблем проектирования в микроэлектронике РАН, 2005, с.516–522.
Синицын В.В., Косырев С.А., Никольский В.Ф. Среда разработки программного обеспечения для систем на кристалле серии "Мультикор" MCStudio_Lnx. – Материалы докладов всероссийской научно-технической конференции "Проблемы разработки перспективных микроэлектронных систем (МЭС-2005)", 11–14 октября 2005 г. – М.: Институт проблем проектирования в микроэлектронике РАН, 2005, с.406–411.
Витязев С.В. Адаптивный гребенчатый фильтр на процессорах "Мультикор". – Вопросы Радиоэлектроники. Сер. Электронная вычислительная техника, 2008, №3, с.121–126.
TMS320C55x DSP library. Programmer’s reference. SPRU422J, Texas Instrument, January 2009.
TMS320C64x DSP library. Programmer’s reference. SPRU565B, Texas Instrument, October 2003.
TMS320C67x DSP library. Programmer’s reference. SPRU657С, Texas Instrument, June 2010.
ADSP-21000 family. Application handbook. Volume 1, Analog Device, 1994.
Витязев С.В. Программная реализация цифрового фильтра-дециматора на цифровых сигнальных процессорах TigerSHARC ADSP-TS101. – Материалы международной конференции "Цифровая обработка сигналов и ее применения (DSPA-2003)", 31 марта–2 апреля 2010 г. – М.: Институт проблем управления им. В.А.Трапезникова РАН, 2010, т.2, с.259–261.
VisualDSP++. C/C++ compiler and library manual for TigerSHARC processors. Part Number 80-000336-03, Analog Device, 2004.
24-Bit digital signal processors DSP56300 family manual. DSP56300FM, Freescale Semiconductor, April 2005.
Витязев С.В. Цифровые процессоры обработки сигналов. – Рязань: Изд-во РГРТУ, 2012.
Рис.1. Многообразие алгоритмов адаптивной фильтрации сигналов
Рис.2. Многообразие RLS-алгоритмов адаптивной фильтрации сигналов
Рис.3. Разновидности RLS-алгоритмов адаптивной фильтрации сигналов (для двух разновидностей быстрых RLS-алгоритмов используются обозначения Fast Transversal Filter (FTF) и Fast a Posteriori Error Sequential Technique (FAEST))
Рис.4. Моделирование адаптивных фильтров: а – на базе LMS-алгоритма; б – на базе RLS-алгоритма
Таблица 1. Объекты адаптивных алгоритмов языка MATLAB [33]
Конструктор
Алгоритм
Семейство LMS-алгоритмов
adaptfilt.adjlms
Adjoint LMS-алгоритм (сопряженный)
adaptfilt.blms
Блочный LMS-алгоритм
adaptfilt.blmsfft
Блочный LMS-алгоритм в частотной области
adaptfilt.dlms
Delayed LMS-алгоритм (с задержкой обновления ВК адаптивного фильтра)
adaptfilt.filtxlms
Filtered-x LMS-алгоритм (с дополнительной фильтрацией выходного сигнала фильтра перед формированием сигнала ошибки)
adaptfilt.lms
LMS-алгоритм (классический)
adaptfilt.nlms
NLMS-алгоритм
adaptfilt.sd
Sign-Data LMS-алгоритм с использованием для адаптации только знаков данных, содержащихся в линии задержки адаптивного фильтра
adaptfilt.se
Sign-Error LMS-алгоритм с использованием для адаптации только знака сигнала ошибки
adaptfilt.ss
Sign-Sign LMS-алгоритм с использованием для адаптации только знаков сигнала ошибки и данных, содержащихся в линии задержки адаптивного фильтра (комбинация двух предыдущих вариантов)
Семейство RLS-алгоритмов
adaptfilt.ftf
Быстрый RLS-алгоритм (FTF)
adaptfilt.hrls
RLS-алгоритм с использованием преобразования Хаусхолдера
adaptfilt.hswrls
RLS-алгоритм со скользящим окном и использованием преобразования Хаусхолдера
adaptfilt.qrdrls
RLS-алгоритм с использованием QR-разложения
adaptfilt.rls
RLS-алгоритм (классический, на базе MIL)
adaptfilt.swftf
Быстрый RLS-алгоритм со скользящим окном
adaptfilt.swrls
RLS-алгоритм со скользящим окном
Алгоритмы аффинных проекций
adaptfilt.ap
Алгоритм аффинных проекций с прямым обращением матрицы
adaptfilt.apru
Алгоритм аффинных проекций с рекурсивным обновлением обратной матрицы
adaptfilt.bap
Блочный алгоритм аффинных проекций
Алгоритмы адаптации в частотной области
adaptfilt.fdaf
LMS-алгоритм в частотной области с индивидуальной нормировкой размера шага в каждом частотном канале
adaptfilt.pbfdaf
Нормированный LMS-алгоритм в частотной области, использующий деление сигнала на блоки малого размера во временной области
adaptfilt.pbufdaf
NLMS-алгоритм в частотной области, использующий деление сигнала на блоки малого размера во временной области, без ограничения длины эквивалентной импульсной характеристики
adaptfilt.tdafdct
Адаптивный фильтр, использующий LMS-алгоритм после предварительного применения к входному сигналу дискретного косинусного преобразования
adaptfilt.tdafdft
Адаптивный фильтр, использующий LMS-алгоритм после предварительного применения к входному сигналу дискретного преобразования Фурье
adaptfilt.ufdaf
Нормированный LMS-алгоритм в частотной области, без ограничения длины эквивалентной импульсной характеристики
Адаптивные алгоритмы для лестничных фильтров
adaptfilt.gal
Gradient-Adaptive Lattice LMS (алгоритм адаптации для лестничного фильтра, основанный на градиентном спуске)
adaptfilt.lsl
Лестничный RLS-алгоритм
adaptfilt.qrdlsl
Лестничный RLS-алгоритм на базе QR-разложения
Таблица 1 (продолжение)
Рис.5. ГИП алгоритмов адаптивной фильтрации
Рис.6. Пример целочисленной ПЛИС-реализации адаптивного фильтра
Таблица 2. Блоки адаптивных фильтров приложения Adaptive Filter Toolkit
Алгоритм
Комплексная арифметика
Приложения
Шумоочиcтка
Компенсация эхо-сигналов
Активное
подавление шума
Выравнивание каналов связи
LMS
+
+
+
+
+
NLMS
+
+
+
+
+
Sign LMS
–
+
+
+
–
Блочный LMS в частотной области
–
+
+
–
–
Filtered-x LMS
–
–
–
+
–
RLS
+
–
–
–
+
QR RLS
+
–
–
–
+
FTF
+
+
+
–
+
Рис.7. Адаптивная компенсация эхо-сигналов: а – принцип; б – виртуальный прибор
a)
б)
Рис.8. LMS Adaptive Filter Lab Demo: а – блок-схема фильтра; б – переходной процесс; в – кривая обучения
a)
б)
в)
Рис.9. Виртуальный прибор для исследования свойств адаптивного фильтра с двумя ВК в задаче линейного предсказания
Рис.10. Виртуальный прибор для исследования свойств адаптивного фильтра с произвольным числом ВК в задаче идентификации системы
Рис.11. Виртуальный прибор для исследования многолучевой ААР
Рис.13. Обратная идентификация с помощью адаптивного фильтра на базе RLS-алгоритма с действительными ВК
Рис.12. "Слепой" эквалайзер, использующий адаптивный фильтр на базе LMS-алгоритма
Таблица 3. Информация о микросхемах серии "Мультикор"
Микросхема
1892ВМ3Т
1892ВМ2Я
1892ВМ5Я
NVCom-01
Технология изготовления, мкм
0,25
0,25
0,25
0,13
Микропроцессорная архитектура
2 процессора: RISCore32 + ELcore-14
2 процессора: RISCore32 + ELcore-24
3 процессора: RISCore32 + 2 xELcore-26
3 процессора: RISCore32 + 2 xDELCore-30
Рабочая тактовая частота, МГц
80
80
100
300
Пиковая производительность, MFLOPs, 32-битных операций с плавающей точкой (IEEE 754)
240
480
1200
3600
Рис.14. Прикладные библиотеки алгоритмов адаптивной фильтрации для ЦСП серии "Мультикор"
Рис.15. Вычислительная сложность адаптивных алгоритмов: а – MIL RLS; б – лестничных
Таблица 4. Адаптивные фильтры прикладной библиотеки ADSP-21xx
Алгоритм
Число тактов на итерацию
Использование памяти
Объем программы (слов в памяти программ)
Объем
данных
(слов в памяти программ)
Объем
данных (слов
в памяти данных)
LMS
3N + 8
29
N
N
Leaky LMS
3N + 8
30
N
N
NLMS
3N + 16
40
N
N
Sing-Error LMS
3N + 8
29
N
N
Sing-Data LMS
3N + 8
32
N
N
Sing-Sing LMS
3N + 8
31
N
N
RLS
3N2 + 9N
89
2N
N2 + 2N
Адаптивная обработка сигналов, под которой обычно понимается адаптивная фильтрация, используется, когда с поставленной задачей не могут справиться фильтры с фиксированными параметрами. Это происходит, как правило, в случаях, когда условия фильтрации неизвестны или меняются, а потому требования к параметрам фильтра не могут быть сформулированы заранее. Сегодня существует большое количество радиоэлектронных изделий, эффективная работа которых невозможна без использования адаптивных фильтров. Это адаптивные антенные решетки, компенсаторы сигналов электрического и акустического эха, эквалайзеры (выравниватели) электрических характеристик каналов связи, компенсаторы шумов и ряд других устройств [1–4]. Их работа основана на выполнении различных адаптивных алгоритмов.
Адаптивный алгоритм можно условно разделить на алгоритм вычисления выходного сигнала адаптивного фильтра и алгоритм вычисления его весовых коэффициентов (ВК). Так как выходной сигнал адаптивного фильтра используется и при вычислении ВК, то понятия "адаптивный фильтр", "адаптивный алгоритм", "алгоритм адаптивной фильтрации" и "алгоритм вычисления ВК адаптивного фильтра" часто используются как синонимы.
В статье приводятся обзор основных разновидностей алгоритмов адаптивной фильтрации, средств их моделирования и примеры реализации адаптивных фильтров с помощью современных цифровых сигнальных процессоров (ЦСП).
Разновидности адаптивных алгоритмов
Адаптивные алгоритмы (рис.1) базируются на теории оптимальной винеровской фильтрации. Описание этой теории и основных разновидностей адаптивных алгоритмов, существующих сегодня, можно найти в специализированных книгах, например, в [5–7]. Прообразами большинства адаптивных алгоритмов служат алгоритм Ньютона, алгоритм наискорейшего спуска и алгоритм по критерию наименьших квадратов. К простым относятся разновидности градиентных адаптивных алгоритмов по критерию наименьшего квадрата (Least Mean Square, LMS), его нормализованной версии (Normalized LMS, NLMS), а к сложным – разновидности рекурсивных алгоритмов по критерию наименьших квадратов (Recursive Least Squares, RLS), базирующихся на использовании леммы об обращении матрицы (Matrix Inversion Lemma, MIL) и QR-разложения. Промежуточный класс образуют алгоритмы аффинных проекций (Affine Projections, AP). Существуют также быстрые (т.е. вычислительно эффективные) алгоритмы AP (Fast AP, FAP) и быстрые RLS-алгоритмы, включая лестничные (получившие свое название из-за вычислительных процедур, структурно напоминающих лестницу или решетку).
Работа большинства алгоритмов адаптивной фильтрации базируется на безусловной или условной минимизации некоторой функции ошибок между требуемым и выходным сигналами адаптивного фильтра. При условной оптимизации, как правило, применяются линейные ограничения, накладываемые на значения минимизируемой целевой функции. Адаптивные алгоритмы, следующие из такой минимизации, называются линейно-ограниченными и существуют или могут быть получены практически для большинства одноименных алгоритмов, базирующихся на безусловной минимизации.
Наличие разнообразных алгоритмов адаптивной фильтрации дает возможность разработчикам радиоэлектронной аппаратуры принимать компромиссные решения между вычислительной сложностью (требуемым числом арифметических операций на одну итерацию работы адаптивного фильтра) и эффективностью (длительностью переходного процесса, значением ошибки в установившемся состоянии) при разработке или использовании адаптивных фильтров.
Простые градиентные алгоритмы, как правило, используются при аппаратной реализации адаптивных фильтров. Сложные RLS- и AP-алгоритмы, включая их быстрые версии, в основном ориентированы на программную реализацию. Несмотря на сложность, RLS-алгоритмы наиболее эффективны, а потому также представляют практический интерес наряду с простыми градиентными алгоритмами.
Многообразие RLS-алгоритмов (рис.2) образуется за счет использования различных оконных функций при оценке корреляционной матрицы входных сигналов адаптивного фильтра и ее динамической регуляризации, а также структурно независимой параллельной реализации с помощью одного, двух или четырех ЦСП [8]. Это многообразие применимо ко всем разновидностям RLS-алгоритмов (рис.3) [9], включая лестничные адаптивные алгоритмы без линейных ограничений [10].
Таким образом, многообразие алгоритмов адаптивной фильтрации (см. рис. 1–3) свидетельствует о значительных достижениях в области адаптивной обработки сигналов. Эти достижения использовали производители современных средств программирования и моделирования, таких как MATLAB, LabVIEW и SystemVue [11–13], а также современных ЦСП [14–17]. Нестандартные программные реализации адаптивных фильтров представлены в [18–31] и в некоторых работах по ЦОС [32–36].
Примеры стандартных и нестандартных моделей адаптивных фильтров и их реализаций в ЦСП рассматриваются ниже.
Моделирование адаптивных фильтров с помощью приложений
DSP System Toolbox языка MATLAB
Язык MATLAB [37] сегодня является основным программным инструментом для моделирования алгоритмов, устройств и систем ЦОС. Его лидирующая роль подтверждена и тем, что такие широко распространенные средства проектирования как LabVIEW [38] и SystemVue [39, 40] также поддерживают возможность совместной работы с языком MATLAB. Кроме того, в этих программных продуктах содержатся урезанные ядра языка MATLAB (MathScript в LabVIEW и MathLang в SystemVue), в которых реализованы основной синтаксис и набор базовых функций, позволяющих проводить совместное моделирование программ на языке MATLAB в среде LabVIEW или SystemVue без установки языка MATLAB на персональном компьютере.
Поэтому неудивительно, что в стандартном приложении DSP System Toolbox языка MATLAB, где сосредоточены алгоритмы ЦОС, также имеется около 30 различных разновидностей адаптивных алгоритмов (табл.1), реализованных в виде объектов. Эти объекты могут быть использованы для моделирования различных адаптивных приложений, в частности, в адаптивных эквалайзерах стандартного приложения Communication Toolbox.
На рис.4 показаны два примера использования объектов адаптивных алгоритмов в языке MATLAB при решении задачи идентификации импульсного отклика КИХ-фильтра с 32-мя ВК. RLS-алгоритм демонстрирует более короткий переходной процесс (см. "Сигнал ошибки") по сравнению с LMS-алгоритмом, что согласуется с известными свойствами адаптивных фильтров. Программы для получения аналогичных рисунков для различных алгоритмов адаптивной фильтрации, реализованных в стандартных средствах языка MATLAB, приведены в "Справочной системе" приложения DSP System Toolbox.
Несмотря на большую популярность языка MATLAB, реализация в нем адаптивных алгоритмов в виде объектов имеет ряд недостатков, ограничивающих их использование при моделировании некоторых приложений [33]. Этих недостатков лишена библиотека алгоритмов адаптивной фильтрации.
Нестандартные программные средства для моделирования адаптивных фильтров на языке MATLAB
Библиотека [18, 20, 21] включает практически все разновидности алгоритмов адаптивной фильтрации (см. рис.1–3) для одноканальных и многоканальных адаптивных фильтров с действительными и комплексными ВК.
Все алгоритмы библиотеки реализованы в виде программ, а не объектов или функций. Такая реализация удобна при исследовании свойств алгоритмов или при проверке их работоспособности, так как имеется доступ ко всем "внутренним" переменным алгоритма. Ее также удобно использовать при переносе алгоритмов на язык Assembler для какого-либо ЦСП, так как алгоритмы библиотеки запрограммированы на итерационную, а не векторную обработку сигналов.
Большая часть адаптивных алгоритмов интегрирована в приложение, графический интерфейс пользователя (ГИП) которого приведен на рис.5. С его помощью можно исследовать свойства определенного алгоритма адаптивной фильтрации, функционирующего под воздействием внутренних или внешних тестовых сигналов. В последнем случае используются сигналы, передаваемые в виде файлов данных. ГИП позволяет выбирать необходимый алгоритм, определять число каналов адаптивного фильтра и тип используемой арифметики (действительная или комплексная), а также задавать параметры, зависящие от выбранного алгоритма. Входные/выходные сигналы моделирования могут быть сохранены в файлах. В дальнейшем их можно использовать в качестве тестовых векторов при переносе адаптивных алгоритмов на интересующие языки программирования и вычислительные платформы.
Ряд алгоритмов адаптивной фильтрации на языке MATLAB также реализован в библиотеке FREE-ASPT for MATLAB [41]. Однако бесплатно распространяемая версия этой библиотеки может быть использована только для моделирования адаптивных фильтров с ограниченным числом ВК. Кроме того, программный код этих алгоритмов является закрытым, что не позволяет знакомиться с особенностями реализации алгоритмов и вызывает неудобства при исследовании их свойств.
Моделирование приложений адаптивной фильтрации с помощью Adaptive Filter Toolkit среды разработки LabVIEW
Другим средством, широко используемым сегодня для моделирования и создания приложений ЦОС, является среда проектирования LabVIEW [38]. Прибор, реализуемый средствами LabVIEW, состоит из двух основных компонентов: лицевой панели и блок-диаграммы, между которыми существует однозначная взаимосвязь. Лицевая панель представляет собой ГИП. Она служит для ввода/вывода цифровых, логических и графических данных. Блок-диаграмма содержит графический код лицевой панели (блоки ее элементов), а также другие элементы программы в соответствии с реализуемым алгоритмом.
Графические программы в LabVIEW называются виртуальными приборами (Virtual Instruments, VI). Каждый блок программы выполняется тогда, когда на всех его входах присутствуют требуемые данные, после чего выходные данные блока передаются на другие блоки. Используемое в LabVIEW потоковое программирование позволяет автоматически распараллеливать выполнение кода. Параллелизм сегодня становится основным способом увеличения производительности программ, которые не могут эффективно работать на последних моделях многоядерных процессоров по причине последовательного выполнения кода.
Помимо поддержки многопоточности на многоядерных системах, среда LabVIEW позволяет создавать приложения для параллельных вычислений на программируемых логических интегральных схемах (ПЛИС), в которых выполнение независимых участков кода организуется абсолютно независимыми, не влияющими на производительность друг друга, участками микросхемы.
Указанные особенности, а также большой набор различных блоков, имеющихся сегодня в LabVIEW, позволяют создавать графические программы как для моделирования, так и для обработки сигналов, поступающих в реальном времени. Блоки для создания адаптивных фильтров с конечной импульсной характеристикой (КИХ) сосредоточены в приложении Adaptive Filter Toolkit (табл.2).
Adaptive Filter Toolkit и модуль LabVIEW FPGA позволяют генерировать код для ПЛИС и создавать на них прототипы адаптивных LMS КИХ-фильтров в целочисленной арифметике. Такие адаптивные фильтры могут обрабатывать сигналы с частотой дискретизации до нескольких сотен килогерц, что зависит от числа ВК адаптивного фильтра, числа разрядов входных и внутренних данных, типа используемой ПЛИС и ее тактовой частоты.
Проектирование адаптивных фильтров под ПЛИС осуществляется в три этапа: моделирование на хост-машине в арифметике с плавающей точкой, моделирование в арифметике с фиксированной точкой и собственно генерация кода для ПЛИС.
Моделирование в арифметике с плавающей точкой позволяет определить требуемые параметры адаптивного алгоритма и диапазон возможных значений ВК адаптивного фильтра, что требуется для определения точности представления ВК в арифметике с фиксированной точкой или, в конечном счете, в целочисленной арифметике в ПЛИС.
С помощью моделирования в арифметике с фиксированной точкой можно проверить, удовлетворяют ли параметры целочисленного представления данных при реализации адаптивного фильтра в ПЛИС (рис.6). На этом этапе можно принимать компромиссные решения между числом разрядов арифметических операций (а значит, и требуемыми ресурсами для ПЛИС-реализации) и точностью работы адаптивного фильтра. В случае удовлетворительных результатов моделирования полученные параметры можно сохранить и создать ПЛИС-код адаптивного фильтра, использующего эти параметры.
Как следует из примера (см. рис.6), адаптивный фильтр на базе LMS-алгоритма (с числом ВК N = 128, 24-разрядным представлением входных данных и ВК адаптивного фильтра с 16-разрядным представлением шага сходимости) может обрабатывать входные сигналы с частотой дискретизации 150,94 кГц при использовании ПЛИС Xilinx Virtex-II (3 млн. вентилей), работающей на тактовой частоте 40 МГц. Такой фильтр требует примерно 3% вентилей от их общего числа указанной ПЛИС.
В стандартных приложениях LabVIEW проект адаптивного фильтра на ПЛИС, в частности, используется при решении прикладной задачи шумоподавления. В "Справочной системе" среды LabVIEW приведены примеры решения с помощью Adaptive Filter Toolkit указанной и других прикладных задач, таких как снятие электрокардиограммы плода на фоне сердцебиения матери, адаптивная компенсация эхо-сигналов (рис.7), адаптивная идентификация системы, адаптивное выравнивание канала связи, адаптивное обратное управление, адаптивное линейное предсказание, активное подавление шума и ряд других.
К стандартным бесплатно распространяемым адаптивным приложениям LabVIEW также относится приложение LMS Adaptive Filter Lab Demo, с помощью которого можно исследовать адаптивный фильтр на базе LMS-алгоритма при решении задачи идентификации линейной системы. Также можно проводить сравнительное моделирование адаптивного фильтра, использующего разные варианты LMS-алгоритма: классический, блочный, Sing-Error и NLMS. Примеры результатов использования этого приложения приведены на рис.8.
Таким образом, среда проектирования LabVIEW имеет библиотеку основных разновидностей алгоритмов адаптивной фильтрации (см. табл.2), с помощью которых можно проводить исследование различных адаптивных устройств, а также обрабатывать сигналы, поступающие с физических объектов окружающего мира, используя для этого оборудование National Instruments.
Нестандартные программные средства для моделирования адаптивных фильтров в среде разработки LabVIEW
К достоинствам среды разработки LabVIEW следует отнести и возможность дополнять графические программы текстовыми. Эту возможность удобно использовать при программировании математических формул или при использовании отлаженных программ на других языках. Поэтому в LabVIEW реализованы механизмы добавления на блок-диаграмму различного текстового кода, включая код языка MATLAB.
Некоторые нестандартные программные реализации адаптивных фильтров [27–31], полученные путем совместного использования LabVIEW и MATLAB с применением элементов прикладной библиотеки адаптивной фильтрации [18, 20, 21], рассматриваются ниже.
Одна из таких реализаций (рис.9) [28] представляет собой виртуальный прибор для исследования свойств адаптивного фильтра на базе алгоритмов Ньютона и наискорейшего спуска, LMS- и RLS-алгоритмов в задаче линейного предсказания, детали которой приведены в [42].
В качестве основного параметра для разных адаптивных алгоритмов задается требуемое отношение собственных чисел корреляционной матрицы адаптивного фильтра. В соответствии с этим параметром вырабатывается входной сигнал. Одновременно исследуется поведение трех адаптивных фильтров, вычисляющих ВК с помощью одного и того же выбранного алгоритма и обрабатывающих одни и те же сигналы. Различие между адаптивными фильтрами заключается в значениях начальных ВК, которые можно независимо задавать.
С помощью виртуального прибора можно исследовать свойства корреляционной матрицы адаптивного фильтра, исследовать характер поверхности среднеквадратической ошибки и ее срезов (линий уровня) в зависимости от отношения собственных чисел корреляционной матрицы, а также оценить постоянные времени переходных процессов.
Число ВК в адаптивных фильтрах прибора (см. рис.9) равно двум. Выбор в качестве объекта исследования адаптивного фильтра с двумя ВК обусловлен возможностью визуализации в этом случае трехмерной поверхности среднеквадратической ошибки и двумерных графиков ее линий уровня с целью исследования зависимости их формы от отношения собственных чисел корреляционной матрицы, а также визуализации траектории движения ВК в процессе работы адаптивного фильтра.
В то же время в большинстве практических приложений обычно используются адаптивные фильтры с числом ВК, отличным от двух. Для исследования адаптивных фильтров на базе LMS- и RLS-алгоритмов с произвольным числом ВК служит виртуальный прибор (рис.10) [31]. В этом приборе также вырабатывается входной сигнал адаптивного фильтра с заранее заданным отношением максимального и минимального собственных чисел корреляционной матрицы. С помощью адаптивного фильтра решается задача идентификации линейной системы (импульсного отклика КИХ-фильтра). В качестве идентифицируемого импульсного отклика могут быть использованы табличные значения импульсных откликов эхо-путей в проводных телефонных сетях [43], акустический импульсный отклик прямоугольного помещения [44, 45] или импульсный отклик, введенный вручную.
Численными результатами моделирования являются значения относительной избыточной среднеквадратической ошибки, значения ВК адаптивного фильтра на последней итерации работы алгоритма и экспериментально оцененное отношение максимального и минимального собственных чисел корреляционной матрицы. В качестве графических результатов моделирования в виртуальном приборе (см. рис.10) выводятся графики входных/выходных сигналов адаптивного фильтра, среднеквадратической ошибки и ряд других.
Еще одним примером нестандартных виртуальных приборов является прибор для исследования трехлучевых линейных эквидистантных адаптивных антенных решеток (ААР) [27, 29] (рис.11). В нем реализованы различные линейно-ограниченные алгоритмы адаптивной фильтрации (LMS-, NLMS-, RLS- и аффинных проекций). Прибор позволяет использовать "слепые" версии указанных алгоритмов, т.е. не требующих опорного сигнала в явном виде. Детали этих алгоритмов приведены в работах [46–49].
В качестве результатов моделирования выводятся созвездия принимаемых решеткой Phase Shift Keying (PSK) сигналов, созвездия на выходе антенной решетки при отсутствии и при использовании адаптации, а также ДН ААР до и после адаптации как раздельно для каждого луча многолучевой ААР, так и совместно для трех лучей.
Аналогичные виртуальные приборы адаптивного эхо-компенсатора и эквалайзера канала связи представлены в работе [30].
Таким образом, рассмотренные виртуальные приборы демонстрируют возможности построения в среде LabVIEW различных нестандартных адаптивных приложений, в том числе с использованием отлаженных программ на языке MATLAB.
Моделирование приложений адаптивной фильтрации с помощью Adaptive Equalization Library среды разработки SystemVue
Подобно LabVIEW и графическому приложению Simulink языка МАТLАB среда разработки SystemVue [39, 40] также является средой графического программирования. Она позволяет примерно вдвое сократить время проектирования на физическом уровне различных алгоритмов и систем. SystemVue представляет собой простую в использовании среду разработки с передовыми технологиями моделирования, с возможностью подключения к аппаратной реализации и проведения испытаний.
Основные особенности среды SystemVue:
расширенное моделирование потока данных, т.е. обработка сигналов с различными скоростями, частотами и с учетом реальных эффектов;
обширный набор точных аналоговых моделей;
сотни пополняемых библиотек, которые экономят время при работе с функциями обработки сигналов, радиочастотными блоками, функциями с фиксированной точкой и блоками различных стандартов связи;
поддержка моделей на основе X-параметров для совместного моделирования аналоговой и цифровой частей устройства;
возможность легкого переключения между блоками, написанными на языке C++, реализованными в m-коде или Verilog/VHDL;
поддержка языков программирования C, MATLAB;
автоматическая генерация VHDL/Verilog, позволяющая быстро изготавливать опытные образцы на основе ПЛИС.
Среди многообразия систем, которые можно исследовать и проектировать с помощью SystemVue, важное место занимают различные системы связи, неотъемлемым элементом оборудования которых является адаптивный эквалайзер. Поэтому библиотека Algorithm Design Library [50] среды SystemVue содержит приложение под названием Adaptive Equalizers с набором алгоритмов адаптивной фильтрации.
В библиотеку Adaptive Equalizers входят LMS-алгоритм, алгоритм аффинных проекций, RLS-алгоритм на базе MIL и RLS-алгоритм на базе QR-разложения. Алгоритмы существуют в двух разных формах: с действительной и с комплексной арифметикой в формате с плавающей точкой. Изменяя параметры, LMS-алгоритм можно переключить в NLMS-алгоритм.
Примеры решения прикладных задач с помощью элементов Algorithm Design Library приведены в "Справочной системе" SystemVue. На рис.12 показаны элементы основного окна языка SystemVue при решении задачи выравнивания канала связи с помощью "слепого" эквалайзера, использующего адаптивный фильтр на базе LMS-алгоритма. Здесь эквалайзер включен в систему связи, состоящую из источника информации, модулятора, канала связи, собственно адаптивного эквалайзера и фильтра ошибок. На рис.12 и 13 представлены программы в среде SystemVue для решения прикладных задач, которые не ограничиваются только адаптивными эквалайзерами.
Библиотека адаптивной фильтрации для ЦСП семейства "Мультикор"
Рассмотренные выше средства моделирования позволяют на этапе проектирования выполнять исследования адаптивных фильтров, а также устройств и систем на их основе. Если результаты моделирования удовлетворительны, то далее требуется реализовать этот адаптивный фильтр. Реализация может осуществляться двумя способами: аппаратно (требуются высокие скорости обработки сигналов) и программно (требования к скорости обработки сигналов сравнительно невысоки).
Детали аппаратной реализации адаптивных фильтров в технической литературе отсутствуют. Что же касается программной реализации, то большинство производителей сегодня наполняют прикладные библиотеки своих ЦСП в том числе и алгоритмами адаптивной фильтрации.
Ниже приводится описание библиотеки адаптивной фильтрации (рис.14), которая входит в прикладную библиотеку программ для отечественных ЦСП серии "Мультикор" [18, 52], разработанных ОАО "НПЦ "ЭЛВИС" [17].
ЦСП серии "Мультикор" – это однокристальные программируемые многопроцессорные системы на кристалле на базе сложных функциональных блоков платформы "Мультикор". Они сочетают в себе качества двух классов приборов: микроконтроллеров и ЦСП, что позволяет решать в рамках ограниченных габаритов одновременно две задачи: управления и высокоточной обработки сигналов. Разновидности выпускаемых ЦСП и их основные параметры приведены в табл.3.
Оценки вычислительной сложности реализации некоторых алгоритмов адаптивной фильтрации на языке Assembler ЦСП серии "Мультикор" (1892ВМ3Т и 1892ВМ2Я) приведены на рис.15. Для разработки программного кода использовалась среда MCStudio для СБИС серии "Мультикор" [53, 54].
На рис.15а – комплексный RLS-алгоритм со скользящим окном (одноканальный и многоканальный: линии 1, 2 – СБИС 1892BM3Т, линии 5, 6 – СБИС 1892BM2Я; действительный RLS-алгоритм со скользящим окном (одноканальный и многоканальный): линии 3, 4 – СБИС 1892BM3Т, линии 7, 8 – СБИС 1892BM2Я; комплексный RLS-алгоритм с возрастающим окном (одноканальный и многоканальный): линии 9, 10 – СБИС 1892BM3Т, линии 13, 14 – СБИС 1892BM2Я; действительный RLS-алгоритм с возрастающим окном (одноканальный и многоканальный): линии 11, 12 – СБИС 1892BM3Т; действительный RLS-алгоритм со скользящим окном (одноканальный и многоканальный): линии 15, 16 – СБИС 1892BM2Я. Обозначение "действительный алгоритм" означает алгоритм для адаптивного фильтра с действительными ВК, а "комплексный алгоритм" – алгоритм для адаптивного фильтра с комплексными ВК.
На рис.15б приведены оценки вычислительной сложности по результатам реализации [24] некоторых лестничных алгоритмов на основе СБИС 1892BM3Т – алгоритм на основе априорных и апостериорных ошибок: линия 1 – комплексный, без обратных связей, линия 3 – комплексный, с обратными связями; алгоритм на основе априорных и апостериорных ошибок: линия 2 – действительный, без обратных связей, линия 4 – действительный, с обратными связями; алгоритм на основе априорных ошибок: линия 5 – комплексный, без обратных связей, линия 6 – действительный, без обратных связей, линия 7 – комплексный, с обратными связями, линия 8 – действительный, с обратными связями.
В рассмотренную библиотеку входит также ряд простых градиентных алгоритмов (разновидности LMS- и NLMS-алгоритмов). Все элементы библиотеки реализованы в формате вычислений с плавающей точкой с одинарной точностью. Функции для СБИС 1892BM3Т реализованы в режиме Single Instruction Single Data (SISD, скалярный режим), а для СБИС 1892BM2Я – в режиме 2SISD. Полный перечень функций этой библиотеки приведен в [17].
В [55] представлены результаты разработки оптимального кода функции адаптивного фильтра-дециматора с применением цифровой гребенчатой фильтрации для СБИС 1892BM2Я. Стандартная функция реализации LMS-алгоритма для этого ЦСП требует 1,5Nh+20 тактов на один отсчет входных/выходных сигналов, где Nh – число ВК адаптивного фильтра. Применение цифровой гребенчатой фильтрации прореживает импульсную характеристику адаптивного фильтра нулевыми отсчетами в R раз, дополняя алгоритм адаптивной фильтрации сглаживающим фильтром с числом ВК J. При такой реализации адаптивного фильтра общие вычислительные затраты сокращаются до 1,5(Nh/R)+J+28 тактов процессора.
Используя технические характеристики ЦСП серии "Мультикор" (см. табл.3), с помощью представленных графиков можно определить частоту дискретизации, на которой адаптивные фильтры могут обрабатывать сигналы.
Приложения адаптивной фильтрации для цифровых сигнальных процессоров компаний Texas Instruments, Analog Device и Freescale Semiconductor
Небольшое число адаптивных фильтров также реализовано и в прикладных библиотеках ЦСП зарубежных производителей. Параметры этих фильтров рассматриваются ниже.
Одним из лидирующих зарубежных производителей на рынке современных ЦСП сегодня является компания Texas Instruments. Среди ЦСП этой компании можно выделить две наиболее актуальные серии: TMS320C5000 – малопотребляющие 16-разрядные ЦСП с фиксированной точкой и с тактовой частотой до 300 МГц и TMS320C6000 – высокопроизводительные ЦСП с плавающей и фиксированной точкой и тактовой частотой до 1,2 ГГц, на которой строится широкий ряд гибридных процессоров, систем на кристалле и многоядерных ЦСП. В прикладных библиотеках [56–58] для указанных процессоров реализованы лишь несколько разновидностей LMS-алгоритмов.
Так, в прикладной библиотеке TMS320C55x DSP Library [56] реализованы два типа LMS-алгоритмов, в формате с фиксированной точкой (16 бит). Это Delayed LMS-алгоритм, размер кода которого составляет V = 122 байта. Для выполнения этого кода требуется C = NX / 2 ( 26 + 3Nh ) тактов ЦСП на одну итерацию алгоритма, где Nx – число отсчетов входных/выходных данных. Другой алгоритм – это быстрый Delayed LMS-алгоритм, размер кода которого составляет V = 122 байта. Для выполнения этого кода требуется C = NX / 2 ( 26 + 3Nh ) тактов ЦСП на одну итерацию алгоритма.
В прикладной библиотеке TMS320C64x DSP Library [57] реализован классический LMS-алгоритм в формате с фиксированной точкой (16 бит), размер кода которого составляет V = 148 байт. Для выполнения этого кода требуется С = ( 3Nh / 4 ) + 16 тактов ЦСП на одну итерацию алгоритма.
В прикладной библиотеке TMS320C67x DSP Library [58] реализованы две разновидности классического LMS-алгоритма в формате с плавающей точкой с одинарной и двойной точностью. Алгоритм с одинарной точностью с размером кода V = 1367 байт требует С = ( Nh + 35 ) Nx + 21 тактов на одну итерацию. Алгоритм с одинарной точностью, размер кода которого составляет V = 640 байт, требует С = ( 4Nh + 47 ) Nx + 27 тактов ЦСП на одну итерацию.
Другой известный зарубежный производитель ЦСП – компания Analog Device [15] – выпускает ЦСП серий ADSP-21xx, SHARC, TigerSHARC, Blackfin и SigmaDSP. Серия ADSP-21xx представляет собой программно совместимые ЦСП с тактовой частотой до 160 МГц, серия SHARC – семейство ЦСП с плавающей точкой, серия TigerSHARC – ЦСП с плавающей точкой с пиковой производительностью свыше миллиарда операций в секунду. Ориентированные на применение в многопроцессорных системах серия Blackfin – это 16/32-разрядные ЦСП, а серия SigmaDSP – ЦСП для портативных приложений.
Прикладная библиотека процессоров ADSP-21xx [59] содержит ряд функций адаптивных фильтров на базе алгоритмов, представленных в табл.4. Алгоритмы выполняются в 16-разрядной арифметике с фиксированной точкой.
Из табл.4 следует, что знаковые алгоритмы, подразумевающие упрощения аппаратной реализации адаптивных фильтров, при программной реализации в последних двух случаях требуют больше тактов, чем традиционные адаптивные алгоритмы. Это обусловлено дополнительными операциями определения знаков переменных.
В работе [60] был рассмотрен вариант использования нестандартного фильтра-дециматора в составе функций ЦОС ЦСП TigerSHARC при реализации многоскоростного узкополосного адаптивного фильтра на базе LMS-алгоритма. В этом фильтре удалось понизить вычислительную сложность стандартной реализации фильтра-дециматора из прикладной библиотеки ЦСП TigerSHARC [61] и понизить общие вычислительные затраты на реализацию узкополосного адаптивного фильтра с предварительной децимацией, которые выполняются за тактов на одну итерацию работы этого фильтра, где ν – коэффициент децимации. Этот результат свидетельствует о вычислительной эффективности предложенной в работе [60] реализации фильтра-дециматора.
Из ЦСП, производимых компанией Freescale Semiconductor, можно выделить серию DSP56300. Она представляет собой 24-разрядные ЦСП с фиксированной точкой и тактовой частотой до 275 МГц. В прикладной библиотеке [62] для указанных процессоров реализованы две разновидности адаптивных фильтров: на базе классического LMS-алгоритма и Delayed LMS-алгоритма. В классическом LMS-алгоритме размер кода составляет V = 15 слов (24-разрядных), для выполнения которого требуется C = 3Nh + 16 тактов ЦСП на одну итерацию алгоритма. В Delayed LMS-алгоритме размер кода составляет V = 13 слов (24-разрядных), для выполнения которого требуется C = 3Nh + 12 тактов ЦСП на одну итерацию алгоритма.
Адаптивные алгоритмы в прикладных библиотеках других ЦСП компаний Texas Instruments, Analog Device и Freescale Semiconductor отсутствуют.
Используя технические характеристики отмеченных ЦСП, можно определить частоту дискретизации, на которой рассмотренные адаптивные фильтры могут обрабатывать сигналы, а также оценить запас ресурсов для решения других прикладных задач.
* * *
В статье были рассмотрены основные элементы стандартных и нестандартных приложений адаптивной фильтрации на языках программирования MATLAB, LabVIEW и SystemVue, элементы прикладных библиотек адаптивной фильтрации современных ЦСП отечественной компании ОАО "НПЦ "ЭЛВИС", а также зарубежных компаний Texas Instruments, Analog Device и Freescale Semiconductor. Эта работа может служить путеводителем при выборе средства моделирования и разработки адаптивных фильтров, а также их приложений. Разработчики и производители адаптивных фильтров могут также воспользоваться работой [63], в которой рассматриваются архитектурные особенности и сравнительный анализ ЦСП отечественного и зарубежного производства.
Литература
Benesty J., Huang Y. (Eds). Adaptive signal processing: applications to real-world problems. – Berlin, Heidelberg, New York, Springer-Verlag, 2003.
Джиган В.И. Адаптивные фильтры и их приложения в радиотехнике и связи, ч.1. – Современная электроника, 2009, №9, с.56–63.
Джиган В.И. Адаптивные фильтры и их приложения в радиотехнике и связи, ч.2. – Современная электроника, 2010, №1, с.72–77.
Джиган В.И. Адаптивные фильтры и их приложения в радиотехнике и связи, ч.3. – Современная электроника, 2010, №2, с.70–77.
Уидроу Б., Стирнз С.Д. Адаптивная обработка сигналов./Пер. с англ. под ред. Шахгильдяна В.В. – М.: Радио и связь, 1989.
Sayed A.H. Fundamentals of adaptive filtering. – NJ, Hoboken: John Wiley and Sons, Inc., 2003.
Diniz P.S.R. Adaptive filtering algorithms and practical implementation. Third edition. – New York, Springer Science + Business Media, 2008.
Джиган В.И. Параллельные вычисления в RLS-алгоритмах адаптивной фильтрации. – Вестник МГТУ им. Н.Э.Баумана. Сер. Приборостроение, 2006, №1, с.30–49.
Джиган В.И. Многообразие алгоритмов адаптивной фильтрации по критерию наименьших квадратов. – Современная электроника, 2008, №3, с.32–39.
Джиган В.И. Многообразие лестничных RLS-алгоритмов адаптивной фильтрации. – Цифровая обработка сигналов, 2005, №3, с.2–12.
http://www.mathworks.com – интернет-сайт компании MathWorks
http:// www.ni.com – интернет-сайт компании National Instruments
http://www.agilent.com – Интернет-сайт компании Agilent Technologies
http://www.ti.com – интернет-сайт компании Texas Instruments
http://www.analog.com – интернет-сайт компании Analog Device
http://www.freescale.com – интернет-сайт компании Freescale Semiconductor
http://www.multicore.ru – интернет-сайт ОАО НПЦ "ЭЛВИС"
Джиган В.И. Прикладная библиотека адаптивных алгоритмов. – Электроника: НТБ, 2006, №1, с.60–65.
Hayes M.H., Treichler J. Adaptive filtering (best of the web). – IEEE Signal Processing Magazine, 2008, v.25, № 6, р.169–172.
Джиган В.И. Библиотека алгоритмов адаптивной фильтрации. – Доклады 6-й международной конференции "Цифровая обработка сигналов и ее применения (DSPA-2004)", 31 марта–2 апреля 2004 г. – М.: Институт проблем управления им. В.А.Трапезникова РАН, 2004, т.1, с.89–94.
Джиган В.И. Разработка алгоритмов адаптивной фильтрации с применением среды "MATLAB". – Труды 2-й всероссийской научной конференции "Проектирование инженерных и научных приложений в среде MATLAB", 25–26 мая 2004 г. – М.: Институт проблем управления им. В.А.Трапезникова РАН, 2004, с.1689–1696 (CD).
Джиган В.И. Оценка эффективности реализации алгоритмов адаптивной фильтрации на базе систем на кристалле серии "Мультикор". – Доклады всероссийской научно-технической конференции "Проблемы разработки перспективных микроэлектронных систем (МЭС-2005)", 11–14 октября 2005 г. – М.: Институт проблем проектирования в микроэлектронике РАН, 2005, с.453–460.
Джиган В.И., Коплович Е.А. Особенности реализации алгоритмов адаптивной фильтрации на базе микропроцессорных БИС серии "Мультикор". – Труды 1-й международной научно-технической конференции "Современные проблемы оптимизации в инженерных приложениях (IWOPE-2005)", 17–24 декабря 2005 г. – Ярославль, Ярославский государственный университет, 2005, т.2, с.262–270.
Джиган В.И., Коплович Е.А. Лестничные адаптивные фильтры на основе СБИС сигнального контроллера 1892ВМ3Т серии "Мультикор". – Вопросы радиоэлектроники. Общетехническая серия, 2006, №2, с.126–136.
Джиган В.И. Адаптивные антенные решетки на базе СБИС серии "Мультикор". – Вопросы радиоэлектроники. Cер. Электронная вычислительная техника, 2008, №3, с.57–69.
Гончаров А.А., Хребтов А.Ю., Джиган В.И. Опыт реализации параллельных алгоритмов адаптивной фильтрации на базе СБИС серии "Мультикор". – Материалы 16-й международной конференции "Информационные средства и технологии", 21–23 октября 2008 г. – М.: Московский энергетический институт – технический университет, 2008, т.1, с.137–143.
Джиган В.И. Виртуальная адаптивная антенная решетка в среде LabVIEW. – Материалы 7-й международной научно-практической конференции "Образовательные, научные и инженерные приложения в среде LabVIEW и технологии National Instruments", 28–29 ноября 2008 г. – М.: Российский университет дружбы народов, 2008, т.2, с.52–58.
Богданов И.П., Джиган В.И. Виртуальный инструмент для исследования свойств алгоритмов адаптивной фильтрации. Материалы 9-й международной научно-практической конференции "Образовательные, научные и инженерные приложения в среде LabVIEW и технологии National Instruments", 3–4 декабря 2010 г. – М.: Российский университет дружбы народов, 2010, с.260–263.
Джиган В.И. Виртуальная многолучевая антенная решетка на основе RLS-алгоритма адаптивной фильтрации. Материалы 10-й международной научно-практической конференции "Образовательные, научные и инженерные приложения в среде LabVIEW и технологии National Instruments", 8–9 декабря 2011 г. – Московский технической университет связи и информатики, 2011, с.5–8.
Белиовская Л., Джиган М., Джиган О. Совместное использование пакетов LabVIEW и MATLAB в задачах эхо-компенсации и выравнивания каналов связи. – Современная электроника, 2007, №3, с.56–60.
Джиган О.В., Джиган М.В. Виртуальный инструмент для исследования свойств адаптивных фильтров в среде LabVIEW. – Материалы 10-й международной научно-практической конференции "Образовательные, научные и инженерные приложения в среде LabVIEW и технологии National Instruments", 8–9 декабря 2011 г. – М.: Московский технической университет связи и информатики, 2011, с.9–12.
Poularikas A.D., Ramadan Z.M. Adaptive filtering premier with MATLAB. – New York, CRC Press, 2006.
Сергиенко А.Б. Цифровая обработка сигналов. Учебн. пособие, 3-е изд-е. – С.-Пб.: БХВ-Петербург, 2011.
Солонина А.И., Арбузов С.М. Цифровая обработка сигналов. Моделирование в MATLAB: учебн. пособие. – С.-Пб.: БХВ-Петербург, 2008 с.
Солонина А.И. Цифровая обработка сигналов. Моделирование в Simulink: учебн. пособие. – С.-Пб.: БХВ-Петербург, 2008.
Кехтарнаваз Н., Ким Н. Цифровая обработка сигналов на системном уровне с использованием LabVIEW/Пер. с англ. под ред. В.К. Макухи. – М.: Издательский дом "Додэка-XXI", 2007.
Ануфриев И., Смирнов А., Смирнова Е. MATLAB 7. Наиболее полное руководство. – С.-Пб.: БХВ-Петербург, 2005.
Трэвис Д., Кринг Д. LabVIEW для всех, 4-е изд-е, перераб. и доп. – М.: ДМК Пресс, 2011.
Sigale D. Digital communication systems using SystemVue. – Charles River Media, 2006.
Загидуллин Р.Ш., Карутин С.Н., Стешенко В.Б. SystemView. Системотехническое моделирование устройств обработки сигналов. – М.: Горячая Линия – Телеком, 2005.
http://www.dspalgorithms.com – интернет-сайт компании DSP Algorithms
Haykin S. Adaptive filter theory (4-th edition). – Prentice Hall, 2001.
Digital network echo cancellers. – ITU-T Recommendation G.168. Series G: Transmission systems and media, digital systems and networks. International telephone connections and circuits – Apparatus associated with long-distance telephone circuits. 04/2000, Geneva, 2001.
Allen J.B., Berkley D.A. Image method for efficiently simulating small-room acoustics. – The Journal Acoustic Society of America, 1979, v.65, №4, p.943–950.
Белиовская Л., Джиган М., Джиган О. Вычисление импульсных откликов акустических и электрических каналов. – Современная электроника, 2007, №9, с.42–44.
Джиган В.И. Многолучевая адаптивная антенная решетка. – Известия ЮФУ. Технические науки, 2012, №2, с.23–29.
Djigan V.I. Joint use of constant modulus and least squares criteria in linearly-constrained communication arrays. – Radioengineering: Proceedings of Czech and Slovak Technical Universities and URSI Committers, 2007, v.16, №4, p.88–95.
Джиган В.И., Плетнева И.Д. Линейно-ограниченный нормализованный алгоритм по критерию наименьшего среднеквадратичного отклонения для цифровой адаптивной антенной решетки. – Информационные технологии, 2008, №10, с.68–74.
Джиган В.И., Плетнева И.Д. Применение СМ-алгоритма афинных проекций с линейными ограничениями для адаптивной фильтрации сигналов в антенной решетке. – Антенны, 2008, №10, с.14–24.
Algorithm design library. SystemVue 211.10. – Agilent Technologies, 2011.
Treichler J., Larimore M. New processing techniques based on the constant modulus adaptive algorithm. – IEEE Trans. Acoustics, Speech and Signal Processing, 1985, v.33, №2, p.420–431.
Солохина Т., Александров Ю., Петричкович Я. Сигнальные контроллеры компании "ЭЛВИС": первая линейка отечественных DSP. – Электроника: НТБ, 2005, №7, c.70–77.
Александров Ю.Н., Никольский В.Ф., Кучинский А.С. и др. Библиотека прикладных функций в составе среды MCStudio для разработки программного обеспечения систем на кристалле серии "Мультикор". – Материалы докладов всероссийской научно-технической конференции "Проблемы разработки перспективных микроэлектронных систем (МЭС-2005)", 11–14 октября 2005 г. – М.: Институт проблем проектирования в микроэлектронике РАН, 2005, с.516–522.
Синицын В.В., Косырев С.А., Никольский В.Ф. Среда разработки программного обеспечения для систем на кристалле серии "Мультикор" MCStudio_Lnx. – Материалы докладов всероссийской научно-технической конференции "Проблемы разработки перспективных микроэлектронных систем (МЭС-2005)", 11–14 октября 2005 г. – М.: Институт проблем проектирования в микроэлектронике РАН, 2005, с.406–411.
Витязев С.В. Адаптивный гребенчатый фильтр на процессорах "Мультикор". – Вопросы Радиоэлектроники. Сер. Электронная вычислительная техника, 2008, №3, с.121–126.
TMS320C55x DSP library. Programmer’s reference. SPRU422J, Texas Instrument, January 2009.
TMS320C64x DSP library. Programmer’s reference. SPRU565B, Texas Instrument, October 2003.
TMS320C67x DSP library. Programmer’s reference. SPRU657С, Texas Instrument, June 2010.
ADSP-21000 family. Application handbook. Volume 1, Analog Device, 1994.
Витязев С.В. Программная реализация цифрового фильтра-дециматора на цифровых сигнальных процессорах TigerSHARC ADSP-TS101. – Материалы международной конференции "Цифровая обработка сигналов и ее применения (DSPA-2003)", 31 марта–2 апреля 2010 г. – М.: Институт проблем управления им. В.А.Трапезникова РАН, 2010, т.2, с.259–261.
VisualDSP++. C/C++ compiler and library manual for TigerSHARC processors. Part Number 80-000336-03, Analog Device, 2004.
24-Bit digital signal processors DSP56300 family manual. DSP56300FM, Freescale Semiconductor, April 2005.
Витязев С.В. Цифровые процессоры обработки сигналов. – Рязань: Изд-во РГРТУ, 2012.
Рис.1. Многообразие алгоритмов адаптивной фильтрации сигналов
Рис.2. Многообразие RLS-алгоритмов адаптивной фильтрации сигналов
Рис.3. Разновидности RLS-алгоритмов адаптивной фильтрации сигналов (для двух разновидностей быстрых RLS-алгоритмов используются обозначения Fast Transversal Filter (FTF) и Fast a Posteriori Error Sequential Technique (FAEST))
Рис.4. Моделирование адаптивных фильтров: а – на базе LMS-алгоритма; б – на базе RLS-алгоритма
Таблица 1. Объекты адаптивных алгоритмов языка MATLAB [33]
Конструктор
Алгоритм
Семейство LMS-алгоритмов
adaptfilt.adjlms
Adjoint LMS-алгоритм (сопряженный)
adaptfilt.blms
Блочный LMS-алгоритм
adaptfilt.blmsfft
Блочный LMS-алгоритм в частотной области
adaptfilt.dlms
Delayed LMS-алгоритм (с задержкой обновления ВК адаптивного фильтра)
adaptfilt.filtxlms
Filtered-x LMS-алгоритм (с дополнительной фильтрацией выходного сигнала фильтра перед формированием сигнала ошибки)
adaptfilt.lms
LMS-алгоритм (классический)
adaptfilt.nlms
NLMS-алгоритм
adaptfilt.sd
Sign-Data LMS-алгоритм с использованием для адаптации только знаков данных, содержащихся в линии задержки адаптивного фильтра
adaptfilt.se
Sign-Error LMS-алгоритм с использованием для адаптации только знака сигнала ошибки
adaptfilt.ss
Sign-Sign LMS-алгоритм с использованием для адаптации только знаков сигнала ошибки и данных, содержащихся в линии задержки адаптивного фильтра (комбинация двух предыдущих вариантов)
Семейство RLS-алгоритмов
adaptfilt.ftf
Быстрый RLS-алгоритм (FTF)
adaptfilt.hrls
RLS-алгоритм с использованием преобразования Хаусхолдера
adaptfilt.hswrls
RLS-алгоритм со скользящим окном и использованием преобразования Хаусхолдера
adaptfilt.qrdrls
RLS-алгоритм с использованием QR-разложения
adaptfilt.rls
RLS-алгоритм (классический, на базе MIL)
adaptfilt.swftf
Быстрый RLS-алгоритм со скользящим окном
adaptfilt.swrls
RLS-алгоритм со скользящим окном
Алгоритмы аффинных проекций
adaptfilt.ap
Алгоритм аффинных проекций с прямым обращением матрицы
adaptfilt.apru
Алгоритм аффинных проекций с рекурсивным обновлением обратной матрицы
adaptfilt.bap
Блочный алгоритм аффинных проекций
Алгоритмы адаптации в частотной области
adaptfilt.fdaf
LMS-алгоритм в частотной области с индивидуальной нормировкой размера шага в каждом частотном канале
adaptfilt.pbfdaf
Нормированный LMS-алгоритм в частотной области, использующий деление сигнала на блоки малого размера во временной области
adaptfilt.pbufdaf
NLMS-алгоритм в частотной области, использующий деление сигнала на блоки малого размера во временной области, без ограничения длины эквивалентной импульсной характеристики
adaptfilt.tdafdct
Адаптивный фильтр, использующий LMS-алгоритм после предварительного применения к входному сигналу дискретного косинусного преобразования
adaptfilt.tdafdft
Адаптивный фильтр, использующий LMS-алгоритм после предварительного применения к входному сигналу дискретного преобразования Фурье
adaptfilt.ufdaf
Нормированный LMS-алгоритм в частотной области, без ограничения длины эквивалентной импульсной характеристики
Адаптивные алгоритмы для лестничных фильтров
adaptfilt.gal
Gradient-Adaptive Lattice LMS (алгоритм адаптации для лестничного фильтра, основанный на градиентном спуске)
adaptfilt.lsl
Лестничный RLS-алгоритм
adaptfilt.qrdlsl
Лестничный RLS-алгоритм на базе QR-разложения
Таблица 1 (продолжение)
Рис.5. ГИП алгоритмов адаптивной фильтрации
Рис.6. Пример целочисленной ПЛИС-реализации адаптивного фильтра
Таблица 2. Блоки адаптивных фильтров приложения Adaptive Filter Toolkit
Алгоритм
Комплексная арифметика
Приложения
Шумоочиcтка
Компенсация эхо-сигналов
Активное
подавление шума
Выравнивание каналов связи
LMS
+
+
+
+
+
NLMS
+
+
+
+
+
Sign LMS
–
+
+
+
–
Блочный LMS в частотной области
–
+
+
–
–
Filtered-x LMS
–
–
–
+
–
RLS
+
–
–
–
+
QR RLS
+
–
–
–
+
FTF
+
+
+
–
+
Рис.7. Адаптивная компенсация эхо-сигналов: а – принцип; б – виртуальный прибор
a)
б)
Рис.8. LMS Adaptive Filter Lab Demo: а – блок-схема фильтра; б – переходной процесс; в – кривая обучения
a)
б)
в)
Рис.9. Виртуальный прибор для исследования свойств адаптивного фильтра с двумя ВК в задаче линейного предсказания
Рис.10. Виртуальный прибор для исследования свойств адаптивного фильтра с произвольным числом ВК в задаче идентификации системы
Рис.11. Виртуальный прибор для исследования многолучевой ААР
Рис.13. Обратная идентификация с помощью адаптивного фильтра на базе RLS-алгоритма с действительными ВК
Рис.12. "Слепой" эквалайзер, использующий адаптивный фильтр на базе LMS-алгоритма
Таблица 3. Информация о микросхемах серии "Мультикор"
Микросхема
1892ВМ3Т
1892ВМ2Я
1892ВМ5Я
NVCom-01
Технология изготовления, мкм
0,25
0,25
0,25
0,13
Микропроцессорная архитектура
2 процессора: RISCore32 + ELcore-14
2 процессора: RISCore32 + ELcore-24
3 процессора: RISCore32 + 2 xELcore-26
3 процессора: RISCore32 + 2 xDELCore-30
Рабочая тактовая частота, МГц
80
80
100
300
Пиковая производительность, MFLOPs, 32-битных операций с плавающей точкой (IEEE 754)
240
480
1200
3600
Рис.14. Прикладные библиотеки алгоритмов адаптивной фильтрации для ЦСП серии "Мультикор"
Рис.15. Вычислительная сложность адаптивных алгоритмов: а – MIL RLS; б – лестничных
Таблица 4. Адаптивные фильтры прикладной библиотеки ADSP-21xx
Алгоритм
Число тактов на итерацию
Использование памяти
Объем программы (слов в памяти программ)
Объем
данных
(слов в памяти программ)
Объем
данных (слов
в памяти данных)
LMS
3N + 8
29
N
N
Leaky LMS
3N + 8
30
N
N
NLMS
3N + 16
40
N
N
Sing-Error LMS
3N + 8
29
N
N
Sing-Data LMS
3N + 8
32
N
N
Sing-Sing LMS
3N + 8
31
N
N
RLS
3N2 + 9N
89
2N
N2 + 2N
Отзывы читателей