“ЖУРНАЛ РАДИОЭЛЕКТРОНИКИ” N 1, 2012

оглавление

АКУСТИЧЕСКИЙ ДАТЧИК ДЛЯ БЕСПРОВОДНЫХ СЕНСОРНЫХ СЕТЕЙ НА ОСНОВЕ СВЕРХШИРОКОПОЛОСЫХ ХАОТИЧЕСКИХ РАДИОИМПУЛЬСОВ

 

А. С. Дмитриев, А. И. Рыжов, Л. В. Кузьмин, Н. В. Румянцев, О. В. Евсеев, Г. К. Мансуров

Институт радиотехники и электроники им. В. А. Котельникова РАН

 

Получена 19 января 2012 г.

 

Аннотация. В работе рассматривается задача создания программно-аппаратного решения для акустического датчика с низким энергопотреблением, работающего в составе беспроводной сенсорной сети на основе СШП хаотических радиоимпульсов. Низкое энергопотребление датчика обеспечивается за счет использования малопотребляющих электронных компонентов и нового   метода сжатия звука ПАДИКМ, устойчивого к потере блоков данных при пакетной передаче информации в беспроводных сетях.

Ключевые слова: сверхширокополосный, хаотический, радиоимпульс, акустический, датчик, сжатие, пакетная передача.

Abstract. A hardware-software solution development of a low-power consumption acoustic sensor included into a wireless sensor network based on ultrawideband chaotic radio pulses is considered in the article. Low power consumption of the sensor is provided by power efficient electronic components and a new compressing method PADPCM, which is resistant to data block losses during packet transmissions within sensor networks.

Keywords: ultrawideband, chaotic, radio pulse, acoustic, sensor, compressing, packet transmission.

 

Введение

Сверхширокополосные (СШП) беспроводные сенсорные сети на основе хаотических радиоимпульсов [1,2] с физической скоростью передачи от трех мегабит/сек и выше наряду с данными об освещенности, температуре, влажности позволяют в принципе непрерывно передавать потоки акустической и видеоинформации.

Необходимым условием реализации этих возможностей является создание соответствующих датчиков, совместимых с беспроводными СШП сенсорными сетями. При этом к акустическим датчикам  предъявляются следующие требования, вытекающие из условий их эксплуатации: низкое энергопотребление, наличие вычислительных ресурсов, достаточных для получения данных от микрофона, их последующего сжатия и отправки на приёмопередатчик сети. Кроме того, при этом должно обеспечиваться  высокое качество воспроизведения звука в точке приема.

При создании датчиков такого типа необходимо найти оптимальное сочетание  аппаратной и программной частей и тщательно выполнить их обе, с одновременным удовлетворением требований по качеству воспроизведения звука на приемной стороне и  уровню энергопотребления. 

 Несмотря на широкий спектр имеющихся в настоящее время алгоритмов сжатия, реальный выбор ограничен из-за жестких требований к объему используемых вычислительных ресурсов.   Кроме того, поскольку СШП беспроводные сенсорные сети передают данные пакетами,  алгоритм сжатия должен быть приспособлен для работы в таком режиме.

В работе рассматривается задача создания акустического датчика со сжатием информации для беспроводной  СШП сенсорной сети и его аппаратной реализации.

Структура датчика

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

При таком разделении задач каждая из составляющих должна обеспечивать требуемое качество сигнала, передаваемого в сенсорную сеть, а суммарное потребление по току не должно превышать значения в несколько миллиампер, чтобы устройство могло работать продолжительно в составе беспроводной СШП сенсорной сети.

Для решения поставленной задачи предлагается структура датчика, включающая микрофон, внешний 16 битный аналого-цифровой преобразователь (АЦП) и микроконтроллер (рис. 1).  

 Большинство современных микроконтроллеров имеют встроенные АЦП, но их разрядность, как правило, не превышает 12 бит. Поэтому в датчике используется внешний АЦП.

 

 

Рис. 1. Схема обработки сигнала в акустическом датчике: М – микрофон, У – усилитель, АЦП – аналого-цифровой преобразователь, МК – микроконтроллер, П/П – приемопередатчик.

 

Величина потребления тока  определяется техническими решениями и используемой элементной базой, а  также степенью сложности применяемых алгоритмов, которая выражается в количестве операций в секунду (MIPS – миллион инструкций в секунду), и требуемым для этих целей режимом работы (тактовой частотой) микроконтроллера.

В таблице 1 показаны типичные значения потребления тока основных элементов акустического датчика. Видно, что ключевая позиция здесь – это микроконтроллер и тактовая частота его работы.

 

Таблица 1. Типичные значения потребления тока основными элементами акустического датчика (напряжение питания ~ 2 В)

 

Элемент платы

Ток, мкА

Микрофон

50-100

Усилитель

200-500

АЦП

500-1000

Микроконтроллер

1800 (1 МГц) -33000 (32 МГц)

 

На рис. 2 представлена зависимость потребляемого тока микроконтроллера от тактовой частоты. По этому графику можно оценить, что для достижения суммарного потребления тока акустического датчика в несколько миллиампер необходимо, чтобы сложность применяемого алгоритма сжатия не превышала 3-5 MIPS.

 

Рис. 2. Зависимость потребления тока микроконтроллером STM32 от частоты тактирования в ситуации, когда все модули микроконтроллера: 1 – включены; 2 – выключены.

 Анализ алгоритмов сжатия звука

 Для обеспечения возможности долговременного использования в автономных сенсорных сетях при высоком качестве передаваемого звука разрабатываемый датчик должен иметь частоту дискретизации звукового сигнала 16 кГц с разрядностью 16 бит (что соответствует потоку данных 256 кбит/c), поток сжатых данных после обработки кодером не более 64 кбит/с и вычислительную сложность алгоритма сжатия звука  не более 3-5 MIPS.

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

 Анализ популярных алгоритмов сжатия показывает, что для задачи передачи звука через беспроводную СШП сенсорную сеть интерес представляет, прежде всего, класс широкополосных алгоритмов сжатия, обеспечивающих высококачественную передачу речи в диапазоне скоростей потока данных 32…64 кбит/с.

Из сопоставления характеристик алгоритмов и принципов, которые положены в их основу, можно заключить, что достижение скорости потока данных на выходе кодера, не превышающей 64 кбит/c, при требуемой полосе пропускания и разрядности сэмплирования, возможно  при использовании следующих методов: дельта-сигма модуляции [3], адаптивной дифференциальной импульсно-кодовой модуляции (АДИКМ) [4] или простейшего варианта вокодера, основанного на параметризации спектра сигнала, и его последующего кодирования [5].

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

Метод АДИКМ осуществляет кодирование разности между последовательно идущими друг за другом цифровыми отсчетами сигнала. При этом шаг дискретизации выбирается адаптивно (меняется во времени).

В вокодере алгоритм кодирования реализуется на основе модифицированного косинусного преобразования.

По критериям минимизации энергопотребления и простоты реализации аппаратного решения предпочтительным  для создаваемого акустического датчика   выглядит метод АДИКМ.

Блок схема алгоритма, реализующего метод, приведена на рис. 3. На вход кодека (рис. 3а) поступает цифровой отсчет, между данным цифровым отсчетом и предшествующим отсчетом, сформированным при помощи кодека, формируется разностный сигнал, амплитуда которого укладывается в диапазон 0…15 условных единиц (предполагается, что максимальная амплитуда сигнала находится в диапазоне от –32767 до 32767 (на одно значение приходится 2 байта) – цифровая амплитуда на выходе АЦП). Указанный разностный сигнал укладывается в 4 бита (таким образом, выходной поток данных сжимается в 4 раза до 64 кбит/с) и поступает на выход кодера.

 

 

а)

 

 

б)

Рис. 3. Блок схема кодера (а) и декодера (б), осуществляющего адаптивную дифференциальную импульсно-кодовую модуляцию: si – цифровой отсчет кодируемого речевого сигнала ,  d – разность между отсчетом кодируемого сигнала и отсчетом-оценкой,  de – кодированная разность между отсчетами, sp – отсчет-оценка речевого сигнала, q – шаг квантования, dq – декодированная разность между отсчетом речевого сигнала и отсчетом-оценкой.

 

В декодере осуществляется  последовательность операций (рис. 3б), обратная той, которая при кодировании используется  в цепи обратной связи кодера для формирования опорного сигнала.

Квантование разности d между входным отсчетом si и отсчетом-оценкой sp, сформированной при помощи кодера, осуществляется по логарифмической шкале, тем самым достигается уменьшение динамического диапазона разностного сигнала d.

Алгоритм сжатия звука для датчика

К наиболее важным достоинствам алгоритма АДИКМ следует отнести хорошее качество декодированного сигнала (среднеквадратичное значение искажения амплитуды не превышают 0,2 дБ в диапазоне частот до 8 кГц), простоту реализации и низкие требования к вычислительным ресурсам (теоретическая оценка составляет 1 MIPS).

Однако необходимо отметить, что данный алгоритм разрабатывался для применения в условиях, когда закодированный поток данных попадал на вход декодера без каких-либо искажений или потерь (например, для хранения звуковых файлов на жестких дисках или магнитных носителях). Из литературы было известно [6], и это подтвердили наши эксперименты, что алгоритм АДИКМ очень чувствителен к таким ошибкам, как потеря блоков отсчетов.  В таких случаях нарушается синхронизация кодера и декодера, что приводит к значительному ухудшению качества воспроизведения звука даже при малой вероятности ошибок.

Так на рис. 4 представлен фрагмент оригинального речевого сигнала длительностью 2,5 с (выделен чёрным цветом) вместе с этим же сигналом после применения алгоритма сжатия АДИКМ (выделен серым цветом), где кодер и декодер были намеренно рассинхронизированы на несколько отсчётов. По временной реализации звукового сигнала видно, что в результате этого он претерпевает значительные искажения. На практике  потеря пакетов данных приводит к таким эффектам, как случайные скачки громкости и потеря разборчивости сигнала.

Рис. 4. Пример искажения оригинального речевого сигнала (выделено чёрным) после применения алгоритма сжатия АДИКМ при намеренной рассинхронизации кодера и декодера на несколько отсчётов (выделено серым).

 

Сжатие звукового сигнала алгоритмом АДИКМ можно рассматривать как работу двух динамических систем: первой с оператором эволюции, ставящим код из 4 бит в соответствие значению амплитуды сигнала у кодера, и обратным ему оператором эволюции у второй динамической системы - декодера. Так как алгоритм кодирования опирается на предыдущие значения сигнала, то для успешной работы эти динамические системы должны быть синхронизированы, иначе фазовая траектория декодера не будет соответствовать фазовой траектории кодера, в результате чего на выходе работы алгоритма сжатия не будет воспроизведён исходный сигнал.

В случае применения алгоритма сжатия в беспроводных сенсорных сетях с использованием пакетной передачи данных подобная рассинхронизация возможна при потере или искажении отдельных пакетов. Поэтому непосредственное применение алгоритма АДИКМ при пакетной передаче  данных проблематично.

Для преодоления этой проблемы воспользуемся двумя обстоятельствами. Во-первых, тем фактом, что само по себе выпадение звукового блока небольшой длины при воспроизведении звука практически не сказывается на качестве воспроизводимого звука. Во-вторых, поскольку и кодер, и декодер представляют собой динамические системы, то для правильного воспроизведения фрагмента звукового сигнала из каждого пакета вовсе не обязательно иметь весь неискаженный предыдущий поток данных. Достаточно просто иметь в начале блока данных пакета «правильные» начальные условия для запуска динамической системы – декодера. В качестве таких начальных условий в блоке данных каждого пакета для алгоритма  могут использоваться амплитуда сигнала и значения шага квантования.

Таким образом, мы получаем новый алгоритм сжатия звука, в котором блок закодированных данных в каждом пакете является автономным, и его декодирование никак не зависит от потерь или искажений предшествующих пакетов данных. Этот алгоритм сжатия звука логично назвать  «Пакетной адаптивной дифференциальной импульсно-кодовой модуляцией» («ПАДИКМ»), поскольку он предназначен для пакетной передачи данных, а его «прародителем» является алгоритм АДИКМ.

Акутический датчик

В разработанном датчике на выходе микрофона формируется аналоговый электрический сигнал, соответствующий звуку, поступающему из окружающей среды. Этот сигнал усиливается и оцифровывается внешним 16-разрядным аналогово-цифровым преобразователем (динамический диапазон 96 дБ), частота дискретизации 16 кГц. После этого цифровые данные поступают по интерфейсу SPI (Serial Peripheral Interface) на микроконтроллер акустического датчика. При этом звуковой поток составляет 256 кбит/c (отсчёты 16 бит ´ 16 кГц). Микроконтроллер осуществляет программное кодирование цифрового речевого сигнала по  алгоритму ПАДИКМ. Поток сжимается в 4 раза, до 64 кбит/c. Затем сжатые данные передаются по интерфейсу UART на плату приемопередатчика.

На плате акустического датчика установлен стабилизатор напряжения на 2,3 В, от которого питаются все активные элементы. В среднем, в рабочем режиме устройство потребляет не более 5 мА.

Потребление акустического датчика в рабочем режиме зависит от громкости звука на входе микрофона. В таблице 1 показано типичное потребление платы акустического датчика в зависимости от уровня внешнего звукового давления (SPL).

 

Таблица 2. Зависимость потребления платы акустического датчика от уровня внешнего звукового давления

 

SPL, дБ

45-50

55

60

75

85

Среднее потребление платы, мА

4,14,2

4,24,3

4,34,4

4,44,5

5,25,7

 

 

Основной вклад в энергопотребление акустического датчика вносит микроконтроллер STM32, который осуществляет сжатие речевого сигнала. Сжатие речи осуществляется программным образом отрезками (кадрами) по 20 мс. Процедура сжатия требует выполнения определенного количества операций микроконтроллера, которое не зависит от его тактовой частоты. Однако при уменьшении частоты работы микроконтроллера можно уменьшить напряжение питания и, тем самым, уменьшить его потребление. На разработанной плате напряжение питания микроконтроллера составляет 2,3 В, что близко к минимуму при работе на частоте 4 МГц. Время работы алгоритма сжатия 20-мс кадра – около 13 мс, что оставляет достаточно времени как для дальнейшей обработки сжатых речевых данных (например, шифрования), так и для передачи их на приемное устройство.

Как говорилось выше, каждые 20 мс акустический датчик оцифровывает и сжимает фрагмент звукового сигнала, в результате чего получается блок данных размером 160 байт, к которому добавляются биты данных о начальных условиях, далее этот пакет передаётся по интерфейсу UART с платы акустического датчика на плату передатчика кодированного звукового сигнала.

Логика работы микроконтроллера

При разработке алгоритма ПАДИКМ для  датчика за основу была взята версия алгоритма АДИКМ, предложенная ассоциацией IMA (Interactive Multimedia Association) [4]. Особенностью этой версии является то, что она предназначена для маломощных устройств, оснащенных недорогими микропроцессорами, таких, как переносные гаджеты, различные мультимедийные устройства, игрушки и т.д. Данная версия АДИКМ при достаточно высоком качестве кодирования речи отличается простотой и невысокими требованиями к вычислительным ресурсам.

 

Рис. 5. Цикл работы акустического датчика, осуществляющего сжатие аудиоданных по алгоритму ПАДИКМ.

 

Временная диаграмма работы алгоритма ПАДИКМ на микроконтроллере STM32 приведена на рис. 5. Обработка речевого сигнала на разработанной плате акустического датчика  осуществляется следующим образом.

Съем звуковых данных происходит через интерфейс SPI  с АЦП. Считывание данных c АЦП в микроконтроллер запускается по срабатыванию таймера каждые 62.5 мкс (16 кГц).

Используемому АЦП необходимо минимум 22 такта для 16-битового преобразования напряжения на микрофоне. По этой причине снятие одного значения АЦП осуществляется путем получения 3 байт данных (24 такта). Запись снятых аудиоданных происходит в циклический буфер.

Обработка речи осуществляется 20-мс фреймами (кадрами). Объем данных при этом составляет: 0,02 с ´ 16 кГц = 320 отсчетов, объем фрейма 16-битных данных – 640 байт. Сжатие методом ПАДИКМ уменьшает объем данных для передачи в 4 раза до 640/4 = 160 байт.

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

Цикличность аудио-буфера и буфера отправки реализована двумя (для каждого буфера) переменными-указателями записи и чтения.

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

Выводы

 В работе предложено и реализовано программно-аппаратное решение для акустического датчика с низким энергопотреблением, работающего в составе беспроводной сенсорной сети на основе СШП хаотических радиоимпульсов.

Низкое энергопотребление датчика обеспечивается за счет использования малопотребляющих электронных компонентов и нового   метода сжатия звука ПАДИКМ, устойчивого к потере блоков данных при пакетной передаче информации в беспроводных сетях.

 

Литература

1. Дмитриев А.С., Кяргинский Б.Е., Панас А.И., Старков С.О. // РЭ. 2001. Т. 46. №2. С. 224.

2. Дмитриев А.С., Ефремова Е.В., Клецов А.В. и др. // РЭ. 2008. Т. 53. №10. С. 1278.

3. [Электронный ресурс]: сайт Международного союза электросвязи. URL: http://www.itu.int/rec/dologin_pub.asp?lang=e&id=T-REC-G.722.1-200505-I!!SOFT-ZST-E&type=items

4. Recommended Practices  for Enchancing Digital Audio Compatibility in Audio Systrms. // [Электронный ресурс] . URL: http://www.phatcode.net/res/222/files/ima_adpcm.pdf

5. Голуб В.С. Сигма-дельта-модуляторы и АЦП // Технология и конструирование в электронной аппаратуре, №4, 2003, с. 35.

6. Финнеран М.Ф. // Электронные компоненты. 2008. №11. С.83.