ИНФОРМАЦИОННО-ТЕЛЕКОММУНИКАЦИОННЫЕ ТЕХНОЛОГИИ
УДК 004.383.3
ОБ АППАРАТНОЙ ПОДДЕРЖКЕ ЦИФРОВОЙ ОБРАБОТКИ ЗВУКОВЫХ СИГНАЛОВ
Рассмотрена установка для исследования алгоритмов цифровой обработки звуковых сигналов. Установка создана на базе оценочного комплекта ADSP-21262 EZ-K[T Lite, включающего цифровой сигнальный процессор ADSP-2l262 SHARC. Даны основные технические характеристики аппаратуры и программного обеспечения установки. Программное обеспечение разработано в среде VisualDSP++ и LabVШW.
Ключевые слова: цифровая обработка сигналов, цифровой сигнальный процессор, ADSP-21262 EZ-KIT Lite, ADSP-21262 SHARC, VisualDSP++, LabVIEW.
Алгоритмы цифровой обработки сигналов (ЦОС) широко используются в современной технике. При разработке таких алгоритмов нужно учитывать особенности вычислителей, осуществляющих ЦОС, и выполнять апробацию алгоритмов на конкретной аппаратуре. При её выборе следует руководствоваться техническими и экономическими соображениями. В качестве аппаратных средств, использующихся для реализации алгоритмов ЦОС, применяются микропроцессоры, цифровые сигнальные процессоры (ЦСП), программируемые логические интегральные схемы (ПЛИС), заказные интегральные схемы (ИС) и др.
В настоящее время широко распространены вычислители на базе ЦСП и ПЛИС. Это связано с их невысокой стоимостью. Достоинством ПЛИС является возможность построить вычислитель произвольной архитектуры, наилучшим образом адаптированный для выполнения реализуемого алгоритма ЦОС. Недостатком вычислителей на основе ПЛИС является достаточно сложный процесс разработки и отладки вычислителя. Использование ПЛИС оправдано в случае очень высоких требований к производительности вычислителя.
К достоинствам ЦСП относится простота разработки и отладки вычислителя. К недостаткам ЦСП следует отнести то, что их система команд и исполнительные устройства приспособлены для решения широкого круга задач и не всегда соответствуют специфике конкретного алгоритма ЦОС.
ЦСП являются универсальным средством реализации алгоритмов ЦОС, позволяют достаточно эффективно реализовать алгоритмы, содержащие как обработку данных, так и ветвления. ЦСП хорошо подходят для обработки звуковых сигналов. Кроме того, выбор ЦСП оправдан тем, что фирмы-производители, выпускают так называемые оценочные комплекты, которые включают в себя оценочную плату с ЦСП и основными устройствами, необходимыми для его работы. Использование таких плат позволяет обойтись без каких-либо дополнительных устройств. Также в оценочные комплекты входит программное обеспечение, необходимое для создания исполняемых программ для выбранного (целевого) процессора. Как правило, такое программное обеспечение имеет ограниченный срок лицензии и стоит недорого.
В.В. Муромцев ВА Голощапова
Белгородский государственный университет
e-mail: [email protected]
В.В. Муромцев и др. Об аппаратной поддержке...
75
Использование оценочных комплектов позволяет апробировать алгоритмы ЦОС на целевом процессоре за приемлемое время, затратив при этом незначительные средства. Но, несмотря на это, процессы исследования алгоритмов ЦОС зачастую затягиваются на длительный срок. Ускорить этот процесс позволяет рассматриваемая в данной статье установка, представляющая собой двухуровневую программноаппаратную систему. Установка позволяет реализовывать алгоритмы цифровой обработки звуковых сигналов на базе ЦСП ADSP-21262 SHARC компании Analog Devices и проводить исследование этих алгоритмов. Установка создана на базе оценочного комплекта ADSP-21262 EZ-KIT Lite компании Analog Devices.
Оценочный комплект ADSP-21262 EZ-KIT Lite включает:
1. Плату содержащую следующие элементы:
• 32-разрядный ЦСП ADSP-21262 SHARC;
• 24-разрядный стерео кодек AD1835, позволяющий производить оцифровку сигналов с частотой до 96 КГц;
• Flash-память объема 1МВ;
• SRAM память объема 512^;
• интерфейс USB;
• два микрофонных входа, выход на стерео наушники, 4 кнопки, 8 светодиодов и др.
2. Инструментальное средство разработки VisualDSP++5.0.
3. Блок питания и необходимые соединительные шнуры.
Более детальное описание процессора ADSP-21262 SHARC, оценочной платы и инструментального средства VisualDSP++ можно найти на сайте производителя http://www.analog.com.
Внешний вид установки для исследования алгоритмов цифровой обработки звуковых сигналов представлен на рис.1. Установка состоит из следующих аппаратных средств:
1. Персональный компьютер (ПК).
2. Оценочная плата.
3. Блок питания оценочной платы.
4. Соединительный шнур USB.
5. Шнур для подачи входного сигнала.
6. Набор конденсаторных микрофонов.
Рис. 1. Внешний вид установки для исследования алгоритмов цифровой обработки звуковых сигналов
76
НАУЧНЫЕ ВЕДОМОСТИ
№ 10 (50) 2008
Минимальные требования к ПК:
1. 32-разрядный процессор Intel Pentium, 1ГГц.
2. RAM память объема 512 MB.
3. Жесткий диск со свободным объемом 2 ГБ.
4. Один свободный USB порт.
Системное программное обеспечение установки:
1. Возможные операционные системы: Windows 2000 SP4, Windows XP SP2, Windows Vista Business edition, Windows Vista Enterprise edition, Windows Vista Ultimate edition.
2. Инструментальное средство разработки VisualDSP++5.0.
3. Инструментальное средство разработки LabVIEW7.0 (http://www.ni.com).
Прикладное программное обеспечение состоит из программы для ЦСП и программы анализа данных. Программа для ЦСП создается в среде VisualDSP++. Для облегчения разработки программы создана библиотека, включающая функции организации работы с аппаратурой и типовой проект. Используя эти средства, программист невысокой квалификации может легко создать программу для ЦСП. Программа анализа данных создается в среде LabVIEW. Разработана библиотека функциональных модулей, позволяющих принимать данные от оценочной платы.
В типовом проекте реализована программа для ЦСП, работа которой заключается в выполнении в реальном времени последовательности тактов. Каждый такт состоит из следующих действий:
1. Прием с аналого-цифрового преобразователя (АЦП) кодека N отсчетов входного сигнала. Отсчеты поступают с интервалом At = 1/ fd с., где fd - частота дискретизации. Цифруемый входной сигнал может поступать со стандартного линейного выхода некоторого устройства или с конденсаторных микрофонов, входящих в комплект установки.
2. Обработка принятых с АЦП данных.
3. Формирование выходного сигнала путем передачи обработанных данных на цифроаналоговый преобразователь (ЦАП) кодека. Выходной сигнал может прослушиваться с помощью наушников или подаваться на стандартный линейный вход некоторого устройства.
Перечисленные действия выполняются параллельно. Для этого организован
S S S
циклический буфер, состоящий из трех сегментов 0 , 1 , 2, каждый из которых со-
N 1-1 S, i = r mod 3 ТТЛГТ
стоит из 1S ячеек. При этом данные сегмента передаются на ЦАП,
Sk, k = (r +1) mod 3
данные сегмента k v 7 обрабатываются, а сегмент
S,, j = (r + 2) mod 3 1 v 7 заполняется данными с АЦП. Здесь r — номер такта.
Функция, осуществляющая обработку данных, принятых с АЦП в типовом проекте не имеет реализации. Параметрами функции является массив, содержащий данные сегмента Sk и код режима обработки данных, заданный пользователем.
В процессе обработки данных могут возникнуть следующие ошибки:
1. Временная ошибка - время обработки превысило t = At ■ N, с.
2. Переполнение разрядности кодека - данные, получаемые в результате обработки, вышли за пределы 24-х разрядной сетки.
В типовом проекте при возникновении ошибок зажигается соответствующий светодиод на оценочной плате. Также реализована обработка прерываний от кнопок, расположенных на плате. С помощь кнопок выполняются следующие действия:
1. Регулировка громкости (кнопки 1 и 2),
2. Запись анализируемых данных (отладочной информации) в SRAM память оценочной платы (кнопка 3).
3. Передача записанных анализируемых данных в ПК по интерфейсу USB (повторное нажатие кнопки 3).
4. Установка режима обработки данных (кнопка 4). При нажатии на кнопку устанавливается режим с номером m = w mod Q, где w — число нажатий кнопки, Q — заданное число режимов работы.
В.В. Муромцев и др. Об аппаратной поддержке...
77
Технология создания программы для ЦСП на базе типового проекта состоит в следующем:
1. Выбрать частоту дискретизации.
2. Установить значения констант N и Q.
3. Описать данные, которые требуется передавать в ПК для анализа в среде 1_аЬУ!ЕШ.
4. Реализовать тело функции, в которой осуществляется ЦОС.
5. Выполнить компиляцию программы в среде VisualDSP++ и запустить ее на оценочной плате.
Таким образом, использование типового проекта избавляет программиста от необходимости вникать в особенности программирования аппаратуры.
Пункт 3 может быть опущен. В этом случае отладка программы для ЦСП должна будет проводиться средствами VisualDSP++. Следует отметить, что VisualDSP++ имеет очень хорошие средства отладки программ. Эти средства позволяют выполнять программу в пошаговом и непрерывном режимах. При выполнении программы в непрерывном режиме можно остановить программу, также можно задать точки останова. Когда программа остановлена, можно просмотреть значения данных в регистрах и памяти процессора. Данные могут быть представлены в виде графиков.
Однако существующих в VisualDSP++ отладочных средств может оказаться недостаточно. Проиллюстрируем это на примере исследования с помощью рассматриваемой установки алгоритма обработки звуковой информации в слуховых аппаратах. Алгоритм был реализован на базе типового проекта. На каждом такте обработки данных принятых с АЦП выполняются следующие действия:
1. Данные преобразуются в частотный домен.
2. Выполняется обработка данных в частотном домене согласно заданной аудиограмме.
3. Выполняется преобразование данных во временной домен.
При обработке данных в частотном домене рассчитывается энергии сигнала в заданных частотных интервалах. Для исследования алгоритма необходимо анализировать несколько тактов его работы. На каждом такте требуется сохранить следующую информацию: входной сигнал, выходной сигнал, энергию входного сигнала, энергию выходного сигнала.
Проанализировать такую информацию средствами VisualDSP++ невозможно. Это обусловлено тем, что в памяти ЦСП сохраняются только данные, требующиеся для выполнения текущего такта. Поэтому в данном случае требуется описать данные, которые требуется передавать в ПК для анализа в среде LabVIEW. Описание осуществляется следующим образом: данные объявляются глобальными, создается функции writel и wгite2, записывающие анализируемые данные в SRAM память оценочной платы. Функция writel записывает данные, которые не меняются в зависимости от такта работы. Данная функция вызывается один раз после нажатия кнопки 3 на оценочной плате. Функция write2 записывает данные, которые меняются в процессе работы. Данная функция вызывается на каждом такте после нажатия кнопки 3. Запись данных в БРАМ производится до тех пор, пока не будет заполнен заданный объем памяти. Окончание записи индицируется путем зажигания соответствующего светодиода. При повторном нажатии кнопки 3 записанная информация передается в ПК. Процесс передачи данных отображается на экране ПК в виде процента переданных данных. Тела фукций writel и write2 представляют собой последовательный вызов функции write_block_SRAM, которая входит в состав типового проекта. Заголовок write_block_SRAM следующий:
write_block_SRAM(<указатель на записываемые данные>,<размер данных>)
Данные, переданные в ПК, записываются в файл специального формата. Данный файл может быть загружен в 1_аЬУ!ЕШ. Для этого разработана библиотека функциональных блоков 1_аЬУ!ЕШ. Анализ записанных данных осуществляется средствами 1_аЬУ!ЕШ.
78
НАУЧНЫЕ ВЕДОМОСТИ
№ 10 (50) 2008
Для исследования рассматриваемого алгоритма обработки звуковой информации в слуховых аппаратах была разработана программа LabVIEW, интерфейс которой представлен на рис.2.
Программа позволяет загрузить файл с отладочной информацией и отобразить данную информацию в удобном виде. Можно анализировать входные и выходные сигналы. Входной сигнал отображается на графике 1, выходной — на графике 2. Также можно выбрать номер информационного блока, т.е. выбрать информацию, записанную на определенном такте и просмотреть ее. Для выбора блока используется элемент
3. Для выбранного блока отображаются графики входного (4) и выходного (5) сигналов, а также соответствующие графики энергий (6,7). Используемая при обработке сигнала аудиограмма отображается на графике 8.
Кроме просмотра графической информации программа позволяет прослушивать входные и выходные сигналы с помощью аппаратных средств ПК. Можно прослушивать любую часть сигнала, выделенную с помощью курсоров на графиках 1 или
2. Также можно послушать сигналы выбранного блока (графики 3 или 4). Для прослушивания сигналов служат кнопки с символом «>».
Также программа рассчитывает и отображает числовую информацию, полезную для отладки алгоритма. К такой информации относится минимальное и максимальное значение амплитуды и энергии сигналов, минимальное и максимальное значение аудиограммы и др.
Рис. 2. Интерфейс отладочной программы
Итак, разработанная установка позволяет избавиться от программирования на низком уровне и предоставляет хорошие средства отладки программ для ЦСП ADSP-21262 SHARC. Это позволяет снизить временные и материальные затраты на исследование алгоритмов ЦОС и их реализацию на конкретной аппаратной платформе. Также установка может использоваться для обучения программированию ЦСП.
ABOUT HARDWARE SUPPORT OF DIGITAL PROCESSING OF AUDIO-SIGNALS
V.V. Muromtsev V.A. Goloschapova
1)Belgorodskiy state university e-mail:
The device for research of algorithms of digital processing of audiosignals is considered. The device is created on the basis of package ADSP-21262 EZ-KIT Lite including digital signal processor ADSP-21262 SHARC. The main technical characteristics of equipment and the device software are given. The software is developed in the environment of VisualDSP ++ and LabVIEW.
Keywords: digital signal processing, Digital signal processor, ADSP-21262 EZ-KIT Lite, ADSP-21262 SHARC, VisualDSP ++, LabVI EW.