Виртуальные приборы и проектирование цифровых сигнальных процессоров
Рассмотрим, например, обработку цифровых сигналов. Цифровой сигнальный процессор (или ЦСП) – это микропроцессор, предназначенный для выполнения математических операций над оцифрованным сигналом. Для обработки сигнала ЦСП сначала необходимо избавиться от шумов, затем оцифровать с помощью АЦП и передать получившийся поток данных в цифровой процессор. После выполнения необходимых математических операций сигнал можно преобразовать обратно в аналоговый. В обычных приборах, например осциллографах, используются специализированные встроенные ЦСП с набором фиксированных операций. Вместо отдельного осциллографа можно воспользоваться компьютером с платой оцифровки внешнего сигнала, а для обработки воспользоваться центральным процессором. Этот подход и составляет основу технологии виртуальных приборов: прибор обработки данных – это программа с заданной вами функциональностью.
Что такое виртуальные приборы?
Одна из причин появления виртуальных приборов– несовершенство стандартных средств. Для измерений и тестирования обычно пользовались осциллографами и генераторами сигналов, но их возможности сильно ограничены. Можно выделить три основных ограничения:
- трудно осуществить сбор данных с необходимой точностью и скоростью;
- ограниченное число функций преобразования и анализа данных, предусмотренных производителем прибора;
- низкие возможности визуализации данных, обычно ограниченные экраном прибора.
Если хоть одно из этих ограничений мешало выполнению проекта, требовался новый прибор, стоимость система оказывалась весьма значительной.
С 1976 года National Instruments развивает новую концепцию измерений. Ее суть заключается в разделении стандартной конструкции на две составляющих: аппаратную – для оцифровки сигнала и программную – для обработки и представления результатов. Теперь у пользователя появилась возможность создать законченный прибор для произвольного приложения с нужной функциональностью. Приведенных выше ограничений больше не существует – это и есть одно из основных преимуществ виртуальных приборов. После того как программа стала составляющей частью прибора, открылись новые возможности по тестированию, управлению и проектированию.
Преимущества виртуальных приборов перед железными аналогичны возможностям цифровых сигнальных процессоров, которых нет у аналоговых средств. Например, аналоговые фильтры, основанные на традиционных электротехнических компонентах: операционных усилителях, конденсаторах и резисторах, не дают возможностей настройки, особенно по сравнению с цифровыми фильтрами на основе процессоров с плавающей запятой или фиксированной точкой. Хотя аналоговых фильтры намного дешевле и проще, их сложно калибровать и поддерживать работу. При конструировании ими также неудобно пользоваться. Например, если понадобится фильтр более высокого порядка, электронику придется переделывать. У цифровых фильтров эта проблема отсутствует: его функциональность определяется программой, гибкая платформа позволяет реализовать на одном и том же оборудовании несколько различных задач.
Виртуальные приборы и цифровая обработка сигналов доказали свои преимущества программной платформы, но компания National Instruments пошла дальше. LabVIEW – это графическая среда программирования, которая открыла возможности разработки приложений и управления приборами более широкому кругу пользователей, благодаря отсутствию строгого синтаксиса стандартных текстовых языков программирования.
Какие возможности сулят новые средства проектирования разработчикам цифровых сигнальных процессоров? Использование стандартных приборов в этой области связано с особыми трудностями. Обычно процесс разработки начинается с создания алгоритма в различных средах математического моделирования, в которых необходимо отличное знание синтаксиса и команд текстового языка. После формирования алгоритма наступает черед реализовывать систему, тут свои трудности. Проектирование встроенных систем требует досконального понимания процессов реального времени и сильно ограничивается объемом доступной памяти.
Уже почти 20 лет инженеры, ученые и технические специалисты в тысячах компаний начали применять LabVIEW для более быстрого и простого решения задач проектирования. LabVIEW оказалась мощнее и проще традиционных текстовых средств, при этом ширина и глубина ее возможностей не уступает стандартным средам программирования. Но обусловленная интуитивно понятным подходом к программированию высокая производительность работы позволила значительно снизить время решения многих задач. Программа на LabVIEW, которую называют виртуальным прибором (ВП) описывает функции в виде иконок, связанных вместе проводниками данных, аналогично блок-схемам, которые широко применяются в проектировании. ВП состоит из лицевой панели и блок-диаграммы – интерфейса пользователя и исполняемого кода соответственно. Иконки ВП можно поместить на другую блок-диаграмму и связать в законченное приложение. Экспресс ВП отличаются интерактивной настройкой широкого класса функций под решение задачи, что позволяет заметно сэкономить время и усилия разработчика.
Параметрический анализ схемы
Давайте рассмотрим преимущества виртуальных приборов на примере разработки цифровых фильтров в LabVIEW с библиотекой Digital Filter Design. Основным преимуществом ВП является интерактивность – вы сразу видите результат при изменении параметров системы.
Первый шаг в проектировании – определение нужного типа фильтра: низких или высоких частот, полосовой, с конечной (КИХ) или бесконечной (БИХ) импульсной характеристикой, необходимо определить частоту оцифровки и требуемый отклик фильтра при расчетах с плавающей точкой. На рис. 1 приведен интерфейс настройки классических фильтров: Баттеруорта, Чебышева (низких частот, прямой и обратный), эллиптический, окно Кайзера и Дольфа-Чебышева. На рис. 1 задан цифровой фильтр низких частот, частота оцифровки 8 кГц, полоса пропускания 1 кГц, полоса подавления 20 кГц с затуханием 60 дБ. После задания этих параметров автоматически рассчитывается амплитудный отклик, строится график нулей и полюсов (pole-zero plot), генерируется порядок фильтра. Порядок фильтра необходим при его проектировании: он определяет количество вычислений в конечной системе. В примере на рисунке 1 мы выбрали обратный фильтр Чебышева: характеристики его полосы пропускания отличные, а порядок достаточно низок.
Еще одно достоинство среды разработки виртуальных приборов LabVIEW – графическое программирование: несколько иконок позволят вам описать нужную схему тестирования прибора. Замена тестируемого фильтра сводится просто к замене одной иконки. Например, обратный фильтр Чебышева можно сразу заменить фильтром Ремеза или наименьшей нормы P-ого порядка. На самом деле, методы проектирования фильтров, перечисленные в таблице представляют собой готовые решения. Например, при выборе метода Ремеза получается КИХ фильтр, минимизирующий отклонение частотной характеристики фильтра от заданной. Поведение ошибки этого фильтра описывается формулой Чебышева. Также, при использовании метода Ремеза можно генерировать фильтры с линейной фазой типа 1-4, с произвольной формой конечно-импульсной характеристики, аппроксимацией оптимальной амплитуды (по максимальной или минимальной фазе), можно указать полосу работы одной точкой (по провалу или пику) и точно управлять коэффициентом усиления. При использовании метода проектирования фильтра наименьшей нормы Р-ого порядка можно сделать фильтры как с конечной, так и бесконечной импульсной характеристикой, с различными ограничениями по амплитуде и фазе. В библиотеке Digital Filter Design эти фильтры генерируются либо методом Ньютона, либо Итерационным взвешенным методом наименьших квадратов.
Среда программирования на основе ВП позволяет пользователю одновременно тестировать фильтр и подбирать его параметры. На ВП эти переменные параметры представляют собой элементы управления на лицевой панели. В ВП вы можете описать не только полную схему системы, но и увидеть на графиках и других элементах отображения или индикаторах результат работы. При изменении входных параметров вы сразу видите отклик системы на индикаторах. Среда разработки это не только набор средств проектирования и тестирования системы, это еще и возможность увидеть результат ее работы.
Необходимость немедленного, интерактивного отклика работы системы очевидна всем, кто занимался проектированием и созданием фильтров с арифметикой фиксированной запятой. Этот тип фильтров может оказаться очень экономичным и недорогим, но при проектировании требуются значительные усилия, связанные со сниженной арифметической точностью.
В среде LabVIEW с библиотекой Digital Filter Design процесс проектирования начинается с разработки прототипа фильтра с плавающей запятой, который потом конвертируется в фильтр с фиксированной запятой. Это преобразование может сильно повлиять на характеристики фильтра. После выбора параметров готового изделия: длины слова целого числа у регистров, топологии фильтра и других необходимо проверить поведение фильтра. Корректная эмуляция и анализ схемы для арифметики с плавающей запятой позволят избежать неприятной процедуры поиска ошибки на поздних стадиях отладки прибора. Средства моделирования, эмуляции и анализа, встроенные в среду создания ВП позволяют сгладить преобразование фильтров с плавающей запятой для работы с фиксированной запятой.
Почему же операции с фиксированной запятой настолько сложны? При квантовании коэффициентов, выполнении промежуточных операций и вычислении результата накапливается ошибка в системе. При недостатке места в тракте данных может возникнуть переполнение. Средства моделирования, эмуляции и анализа в библиотеке Digital Filter Design позволяют выделить ошибки, которые возникнут при создании прибора еще на стадии разработки. Возьмем, например, целочисленный фильтр низких частот, описанный на рисунке 1. ВП Fixed-Point Modeling позволяет выбрать различные схемы конструкции, описать длину слова, целого числа, режимы округления и переполнения в критических точках схемы. До конечной реализации можно выбрать и проверить одну из 23 топологий, начиная с КИХ фильтра прямой реализации до фильтра с бесконечной импульсной характеристикой со вложенными секциями второго порядка (схема 1 или 2, транспонированная) и сеточного фильтра с авторегрессионным скользящим средним (ARMA) (базовый, с одним множителем или нормализованные секции).
На рис. 2 приведен пример ВП с выбором топологии фильтра, инструментом моделирования арифметики с фиксированной запятой, проверкой и анализом обоих арифметик. Интерфейс ВП позволяет интерактивно менять параметры схемы во время работы эмуляции. Сначала логично оставить топологию фильтра и параметры схемы арифметики с фиксированной запятой по умолчанию и проверить отклик фильтра во всем спектре с помощью белого шума. На рис. 3 приведены результаты эмуляции. Видно, что фильтр с фиксированной запятой отличается от фильтра с плавающей запятой, хотя их амплитудные, фазовые характеристики и графики нулей и полюсов практически совпадают. Как видно из отчета анализа фильтра (Filter Analysis Report), ошибки возникают из-за переполнения и потери значимости во время умножения, суммирования и задержки. С этой информацией можно внести коррективы в схему фильтра: увеличить длину слова, целого числа в указанных точках, проверить различные топологии или изменить другие параметры модели фильтра. В этом примере достаточно увеличить длину слова при умножении, суммировании и задержке.
Как видно на рис. 4, результат не отличается от фильтра с плавающей запятой.
Проверка схемы и реализация
Преимущества виртуальных приборов проявляются и в тесной интеграции с оборудованием в задачах тестирования и измерений. В приведенном выше примере плата сбора данных с интерфейсом PCI позволила зарегистрировать внешний сигнал вне зависимости от эмулированного сигнала, чтобы убедиться в точности работы фильтра. Исходная задачи, для которых создавалась LabVIEW – контроль и измерения, тесная интеграция с самым разным оборудованием сбора данных, необходимым проектировщикам для нее естественна.
Множество контрольно-измерительных задач разрабатываются для внешних платформ: встроенных систем и систем реального времени. Опять же очевидны преимущества LabVIEW: ее ВП могут работать в ОС общего назначения: Windows, Mac и Linux, а также на встроенных системах ПЛИС, ЦСП и 32-х битных микропроцессорах. В библиотеке Digital Filter Design включены функции моделирования с арифметикой с фиксированной запятой и средства генерации кода для ПЛИС и ANSI-C. Разработчик ЦСП может оценить мощь LabVIEW на всех стадиях создания цифровых фильтров: от проектирования до проверки работы встроенной системы.
Средства библиотеки Digital Filter Design помогут как ученым, так и инженерам. Простейшая форма экспорта результатов – сохранение коэффициентов фильтра в файл, записанные данные полностью описывают схему. В модуле LabVIEW DSP из файла загружается схема фильтра и переносится на WCG/ Модуль LabVIEW DSP позволяет применять возможности LabVIEW для программирования различных аппаратных платформ, которые широко используются в научных институтах: National Instruments SPEEDY-33 и Texas Instruments C6711 и C6713. Они позволяют разработать, создать прототип и программное обеспечение в различных задачах использования ЦСП. Библиотека полностью поддерживает технологию экспресс ВП, которая еще больше снижает время разработки, обеспечивает прямой доступ к каналам аналогового и цифрового ввода/вывода платы и средства отладки из среды графического программирования.
При использовании ПЛИС в качестве целевой платформы, с помощью Digital Filter Design можно сгенерировать код ПЛИС на основе схемы цифрового фильтра с фиксированной точкой. Этот код передается в модуль LabVIEW FPGA, Xilinx компилятор которого напрямую настраивает ПЛИС на реконфигурируемом оборудовании ввода/вывода (RIO) National Instruments. Приборы RIO выпускаются в различных форм-факторах: PCI, PXI и CompactRIO (программируемые контроллеры автоматизации). Модуль LabVIEW FPGA обеспечивает прямой доступ к линиям цифрового и аналогового ввода/вывода, необходимым в задаче цифровой фильтрации.
Еще одно средство, широко применяющееся при разработке цифровых фильтров – генерация кода ANSI-C. Представленный недавно LabVIEW Embedded Development Module (Модуль проектирования встроенных систем) с помощью средств программирования встроенных систем от сторонних производителей выполняет компиляцию, линковку и загрузку сгенерированного в LabVIEW кода С на любую целевую платформу с 32-х битным микропроцессором. Этот модуль позволяет отлаживать программу с лицевой панели ВП на персональном компьютере, обращаться к каналам ввода/вывода платы и пользоваться более чем 400 встроенных ВП численной обработки сигналов.
Технология виртуальных приборов – зарекомендовавший себя метод для проектирования и создания контрольно-измерительных систем. Этот уникальный подход сулит огромные преимущества инженерам-проектировщикам, которым теперь требуется всего один инструмент на всех этапах от проектирования, и тестирования до реализации.