Интернет-журнал "Домашняя лаборатория", 2007 №8
Шрифт:
На рис. 6.46 показано применение адаптивного фильтра для компенсации эффектов амплитудных и фазовых искажений в канале передачи. Коэффициенты фильтра определяются в процессе передачи обучающей последовательности, представляющей известный образец данных. Алгоритм адаптации корректирует коэффициенты фильтра для получения соответствия между принимаемыми данными и данными обучающей последовательности. При связи через модем обучающая последовательность передается после установления первоначального соединения. После передачи обучающей последовательности коммутаторы переключаются в другую позицию, и начинается передача реальных данных. В течение этого времени генерируется сигнал ошибки, равный разности входных и выходных данных
Сжатие и синтез речи также подразумевают активное использование адаптивной фильтрации для уменьшения требуемых объемов передачи данных. Модель системы линейного кодирования с предсказанием (linear predictive coding, LPC), представленная на рис. 6.47 моделирует голосовой тракт, как импульсный генератор переменной частоты для гласных звуков и генератор случайного шума для согласных звуков. Сигнал от этих генераторов подается на цифровой фильтр, который, в свою очередь, генерирует реальный звуковой сигнал.
На рис. 6.48 дан пример применения линейного кодирования с предсказанием (LPC) в системе мобильной связи GSM. Входной голосовой сигнал оцифровывается 16-разрядным АЦП с частотой дискретизации 8 kSPS. Этим создается поток данных со скоростью 128 kBPS, слишком высокой для непосредственной передачи. DSP-процессор на передающем конце использует LPC-алгоритм для того, чтобы разбить передаваемый сигнал на набор коэффициентов фильтра и сигнал возбуждения. Такое кодирование проводится в интервал сигнала 20 мс, который считается оптимальной для большинства голосовых приложений. Реальная скорость передачи данных составляет всего 2,4 kBPS, что соответствует коэффициенту сжатия 53,3. Принимающий DSP-процессор использует LPC-модель для восстановления речи из принятых коэффициентов фильтра и сигнала возбуждения. В результате выходные данные поступают со скоростью 128 kBPS на 16-разрядный ЦАП для окончательного восстановления голосового сигнала.
Цифровые фильтры, используемые в приложениях линейного кодирования речи с предсказанием, могут быть либо КИХ-, либо БИХ-фильтрами, хотя БИХ-фильтры без нулей частотной характеристики используются наиболее широко. И КИХ- и БИХ-фильтры могут быть реализованы в виде лестничной структур, как показано на рис. 6.49 для рекурсивного фильтра без нулей частотной характеристики.
Данная структура может быть выведена из традиционной структуры БИХ-фильтра, но преимущество лестничного фильтра состоит в том, что его коэффициенты более связаны с результатами работы алгоритмов, которые используют модель голосового тракта, показанную на рис. 6.47, чем коэффициенты эквивалентного БИХ-фильтра.
Параметры модели лестничного фильтра без нулей частотной характеристики определяются линейной экстраполяцией голосовых отсчетов, как показано на рис. 6.50. Вследствие нестационарного характера голосовых сигналов, эта модель применяется только к коротким сегментам (обычно 20 мс). Новый набор параметров обычно определяется для каждого временного сегмента, если между сегментами нет разрывов, которые принудительно сглаживают данные.
Глава 7
Аппаратура цифровых сигнальных процессоров
Дан Кинг, Грег Гирлинг, Кен Воурин, Ноам Левин, Джесс Моррис, Уолт Кестер
Микроконтроллеры, микропроцессоры и цифровые процессоры обработки сигналов (DSP)
Традиционные компьютеры особенно хороши для применения в двух областях деятельности: (1) манипуляция данными, например, подготовка текстов и управление базами данных; и (2) математические вычисления, используемые в науке, технике и цифровой обработке сигналов. Однако, большинство компьютеров не могут одинаково хорошо работать
в обеих сферах. В компьютерных приложениях, таких как, например, подготовка текстов, данные запоминаются, сортируются, сравниваются, перемещаются и т. д., и время на выполнение этих операций не имеет большого значения до тех пор, пока оно удовлетворяет конечного пользователя. В приложениях, работающих с базами данных, периодически возникает необходимость реализации математических операций, но скорость их выполнения не является главным фактором. В большинстве случаев при проектировании приложений общего назначения компании производители не концентрируют внимания на создании более эффективных программ. Прикладные программы оказываются перегруженными различными дополнительными возможностями, для каждого обновления которых требуется все больше памяти и нужны все более быстрые процессоры.ОСНОВНЫЕ ОБЛАСТИ ПРИМЕНЕНИЯ КОМПЬЮТЕРОВ
РАБОТА С ДАННЫМИ • МАТЕМАТИЧЕСКИЕ ВЫЧИСЛЕНИЯ
Работа с текстом • Цифровая обработка сигналов
Управление базами данных • Управление двигателями
Электронные таблицы • Техническое моделирование
Операционные системы • Обработка сигналов в реальном времени
Пересылка данных (А->В) • Сложение (С = А + В)
Сравнение величин (Если А=В, то…) • Умножение (С = А х В)
Время исполнения не критично, заранее не нормируется • Время исполнения критично, нормируется заранее
Рис. 7.1
С другой стороны, для цифровой обработки сигналов важно, чтобы математические операции выполнялись быстро, и время, требуемое на выполнение команд, должно быть известно точно и заранее. Для этого и программа, и аппаратура должны быть очень эффективными. Как было показано в последних двух главах этой книги, наиболее важной математической операцией и ядром всех алгоритмов цифровой обработки сигналов является умножение с последующим суммированием (эта операция обозначена точкой на всех схемах алгоритмов в предыдущих главах). Быстрое выполнение операции умножения с последующим суммированием очень важно для реализации быстрого преобразования Фурье, цифровых фильтров реального времени, умножения матриц, манипуляции с графическими изображениями и т. д.
Проведенное предварительное обсуждение требований, предъявляемых к цифровым сигнальным процессорам, важно для понимания различий между микроконтроллерами, микропроцессорами и цифровыми сигнальными процессорами. Хотя микроконтроллеры при использовании в промышленных устройствах управления процессами могут выполнять такие функции как умножение, сложение, деление, они лучше подходят для приложений, где возможности процессора по реализации ввода-вывода и управления важнее, чем скорость. Микроконтроллеры, например семейства 8051, обычно содержат ЦПУ, ПЗУ, ОЗУ, последовательный и параллельный интерфейсы, счетчики и схемы прерываний. Микроконвертеры MicroConverter™ компании Analog Devices содержат не только ядро, построенное по архитектуре 8051, но также высококачественные ЦАП, АЦП и блок энергонезависимой памяти, реализованной по технологии FLASH.
МИКРОКОНТРОЛЛЕРЫ, МИКРОПРОЦЕССОРЫ И ЦИФРОВЫЕ СИГНАЛЬНЫЕ ПРОЦЕССОРЫ
• Микроконтроллеры:
? ЦПУ, ОЗУ, ПЗУ, последовательный/параллельный интерфейс, таймер, схемы прерываний
? Хорошо подходят как для тостеров, так и для управления промышленными процессами
? Скорость не является главным требованием
? Компактная система команд
? Примеры: 8051, 68НС11, PIC
• Микропроцессоры:
? На одном кристалле находится только ЦПУ — требуются дополнительные внешние устройства
? Процессоры с упрощенной системой команд (RISC)
? Процессоры со сложной системой команд (CISC)
? Примеры: серия Pentium, PowerPC, MIPS
• Цифровые Сигнальные Процессоры (DSP):
? ОЗУ, ПЗУ, последовательный/параллельный интерфейсы, схема обработки прерываний
? ЦПУ оптимизировано для многократно повторяющихся математических операций в реальном масштабе времени