Сведения о цифровой обработке сигналов.
До недавних пор в радиотехнических устройствах использовалась исключительно аналоговая обработка сигналов.
Такие операции как усиление и фильтрация сигналов, преобразование Фурье и другие выполнялись с помощью аналоговых узлов.
Например, фильтрация сигналов реализуется на микросхемах операционных усилителей с навесными конденсаторами и резисторами.
Аналоговая обработка сигналов в ряде случаев может быть более дешевым способом реализации нужного приложения. Однако цифровая обработка оказывается единственно приемлемым решением, когда требуется высокая точность, миниатюрность устройства и стабильность его характеристик.
Цифровая обработка сигналов состоит в преобразовании дискретных сигналов и выполняется в реальном времени.
Дискретным сигналом называют сигнал, значения которого зафиксированы лишь в отдельные равноотстоящие моменты времени.
Значение сигнала Х(t) при t = kТ (k = 0, 1, 2,…) будем обозначать Хk.
Величина Т называется интервалом дискретизации.
Дискретный сигнал представляет собой совокупность всех значений Хk (отсчетов) и обозначается {Хk}.
Проиллюстрирует особенности цифровой обработки сигналов на примере цифровых фильтров, которые описываются разностным уравнением: Yk = ∑ Mm=0 AmXk–m –∑ Nn=1 BnYk–n , (8.1.1) где Аm, Вn — постоянные коэффициенты; Хk–т, Уk–п — отсчеты входного и выходного сигналов.
В цифровых фильтрах постоянные коэффициенты, отсчеты входного и выходного сигналов представляют собой квантованные величины, кодируемые конечным числом двоичных разрядов.
Для вычисления Yk {k = 0, 1, 2, …) в соответствии с выражением (8.1.1) помимо входного сигнала {Хk} необходимо задать коэффициенты Аm, Вn и начальные условия — значения X0, X–1, X–2, …,Х–M и Y–1, Y–2, …,Y–N.Тогда для k = 0 можно определить значение Y0, затем для k = 1 — значение Y1 и т.д.
Обычно принимают нулевые начальные условия, при которых все указанные выше величины равны нулю. Если в (8.1.1) хотя бы один из коэффициентов Вn (n = 1, 2, ….N) не равен нулю, то цифровой фильтр, реализующий вычислительный алгоритм (8.1.1), называется рекурсивным цифровым фильтром.
Рекурсивный фильтр представляет собой устройство с обратной связью, в котором каждый последующий отсчет Ykвыходного сигнала зависит не только от отсчетов Хk–m входного сигнала, но и от предшествующих отсчетов Yk–n выходного сигнала.
Если все Вn = 0 (n = 1, 2, ….N), то фильтр называется нерекурсивным или трансферсальным цифровым фильтром.
Такие фильтры являются устройствами без обратной связи с конечной памятью, и каждый отсчет Yk выходного сигнала зависит только от текущего и предшествующих отсчетов Xk–m входного сигнала.
Использовать непосредственно выражение (8.1.1) для синтеза цифровых фильтров затруднительно. Обычно требования к фильтру формулируются путем задания желаемой частотной или импульсной характеристик, для получения которых используется Z–преобразование и его свойства.
На основании выражения (8.1.1) цифровой фильтр можно представить в виде схемы (рис.
8.1.1), содержащей элементы трех типов: элементы для умножения отсчетов сигналов на постоянные коэффициенты, сумматор с М + N + 1 входами и М + N элементов задержки, каждый из которых обеспечивает задержку сигнала на один интервал дискретизации Т.
В качестве элементов задержки используют регистры.
Коэффициенты Am, Вn и числа М, N разностного уравнения (8.1.1) могут быть определены, исходя из желаемой частотной характеристики.
Из рис.8.1.1 нетрудно установить структуру нерекурсивного цифрового фильтра.
Отметим, что существуют другие формы схемного представления цифровых фильтров. Рассмотрим другой пример цифровой обработки сигналов. При анализе электронных цепей используют две формы представления сигналов: временное и частотное представление.
Для перехода от одной формы к другой служит прямое и обратное преобразование Фурье.
Используемые при цифровой обработке сигналов дискретные преобразования Фурье (ДПФ), задаются выражениями:
● прямое преобразование: Х(п) = 1/K ∑K–1k=0 x(kT)e–j2πkn/K (8.1.2)
● обратное преобразование: x(kT) = ∑ K–1n=0X(n)ejπkn/K (8.1.3) где x(kT) — цифровая форма аналогового сигнала х(t); Х(n) — цифровая форма спектральной функции Х(jω); k = 0, 1, 2, …
K – 1; n = 0, 1, 2, …K – 1.
Известны различные методы вычислений ДПФ по формулам (8.1.2) и (8.1.3).
Для уменьшения числа операций умножения широко используется процедура прореживания, состоящая в замене последовательности из K точек двумя подпоследовательностями, каждая из которых имеет K/2 точек.
Число умножений пропорционально количеству точек преобразования. Поэтому двукратное преобразование по K/2 точкам значительно сокращает вычислительные затраты.
Применяя процедуру прореживания рекурсивно (многократно), можно построить алгоритмы вычислений, называемые быстрым преобразованием Фурье. При реализации алгоритмов наряду с операциями умножения и сложения используются битовые операции.
Для большинства приложений цифровая обработка сигналов должна выполняться в режиме реального времени, что предъявляет повышенные требования к производительности процессора и требует аппаратной поддержки базовых операций.
Общие сведения о сигнальных процессорах.
К особенностям цифровой обработки сигналов следует отнести большой объем информации поступающей в реальном времени в виде непрерывного потока данных.
Их обработка требует от аппаратных средств высокой производительности и обеспечения возможности интенсивного обмена с внешними устройствами.
Выполнение указанных требований достигается благодаря использованию специальных процессоров с проблемно–ориентированной системой команд.
Такие процессоры называются цифровыми сигнальными процессорами (Digital Signal Processors — DSP). Сигнальные процессоры унаследовали от универсальных процессоров ряд свойств.
В них также широко используются методы сокращения длительности командного цикла, характерные для RISC–процессоров, такие как конвейеризация на уровне отдельных команд и микрокоманд, размещение операндов большинства команд в регистрах (регистровая адресация), использование теневых регистров для сохранения состояния вычислений при переключении контекста, разделение памяти и шин для команд и данных (гарвардская архитектура).
Однако для сигнальных процессоров присущ ряд особенностей:
● наличие аппаратного умножителя, позволяющего выполнять умножение двух чисел за один командный такт.
В универсальных процессорах на умножение обычно затрачивается несколько тактов для выполнения последовательности операций сдвига и сложения;
● включение в систему команд таких операций, как умножение с накоплением (С <— A х В + С), инверсия бит адреса и другие функции над битами;
● аппаратная поддержка программных циклов и кольцевого буферирования.
Цифровые сигнальные процессоры разделяются на два класса, существенно различающихся по цене: процессоры для обработки данных в формате с фиксированной и плавающей точкой.
Использование для обработки сигналов формата с плавающей точкой обусловлено:
● стремлением (и необходимостью) повышения точности результатов при решении задач, связанных с выполнением интегральных и дифференциальных преобразований.
Высокую точность обеспечивает представление данных в виде экспоненциальной функции;
● чувствительностью к точности представления данных в широком динамическом диапазоне в алгоритмах компрессии, декомпрессии, адаптивной фильтрации, связанных с определением логарифмических зависимостей.
Использование формата с плавающей точкой, при котором данные представляются в виде экспоненциальной функции:
● с одной стороны, существенно упрощает и ускоряет обработку, повышает надежность программы.
При этом не требуется выполнения операций округления и нормализации данных, отслеживания ситуаций переполнения и потери значимости;
● с другой стороны, усложняет функциональные устройства и технологию производства микросхем, увеличивает процент отбраковки готовых изделий и, как следствие, стоимость процессоров.
Отметим, что возможен другой путь решения проблемы цифровой обработки сигналов, связанный с созданием симметричной мультипроцессорной системы на более простых процессорах, обрабатывающих целочисленные операнды.
Примером такого технического решения могут служить медиа–процессоры, которые создавались, исходя из потребности обработки в реальном времени видео– и аудиоинформации в мультимедийных персональных компьютерах, игровых приставках, бытовых радиоэлектронных приборах.
Более простая схемотехника медиапроцессоров по сравнению с универсальными сигнальными процессорами снижает их стоимость и повышает такой важный показатель как «производительность/стоимость». Пиковое значение производительности медийных процессоров составляет несколько миллиардов целочисленных операций в секунду.
Общие сведения о медиа–процессорах приведены ниже.
К наиболее распространенным сигнальным процессорам следует отнести изделия следующих компаний Motorola (56002, 96002), Intel (i960), Texas Instruments (TMS320Cxx), Analog Devices (21xx, 2100x).
Две последние из перечисленных компаний выпустили транспьютерные семейства микропроцессоров TMS320C4x и ADSP2106x, ориентированные на использование в мультипроцессорных системах. Для цифровой фильтрации сигналов, вычисления корреляционных функций и других приложений, требующих выполнения больших объемов математических вычислений, следует отдать предпочтение процессорам компании Analog Devices.
В тоже время для задач, требующих выполнения интенсивного обмена с внешними устройствами (многопроцессорные системы, различного рода контроллеры), предпочтительнее использовать микропроцессоры компании Texas Instruments, обладающие высокоскоростными интерфейсными подсистемами.
Компания Motorola является лидером по объему производства высокопроизводительных 16– и 24–разрядные сигнальных процессоров с фиксированной точкой.
Медиа–процессоры.
Для обработки видео– и звуковой информации используются мультимедийные технологии, для которых характерна поддержка алгоритмов цифровой обработки сигналов на аппаратном и командном уровнях.
Можно выделить два класса микропроцессоров, обеспечивающих поддержку мультимедиа на аппаратном уровне:
● универсальные процессоры с мультимедийным расширением набора команд (MMX).
В настоящее время к этому классу можно отнести микропроцессоры Pentium (начиная с Pentium MMX) компании Intel, UltraSPARC компании Sun Microsystem, 6x86MX (M2) компании Cyrix и др.;
● мультимедийные процессоры, которые непосредственно предназначены для обработки аудиосигналов, графики, видеоизображений, A также для решения ряда коммуникационных задач.
Медиа–процессоры представляют собой некоторый гибрид архитектурных решений, характерных для традиционных сигнальных (DSP) и универсальных процессоров, и находят применение в мультимедиа–компьютерах и в игровых приставках.
Приведенная классификация подчеркивает эффективное использование медиа–процессоров в тех случаях, когда мультимедийные операции доминируют над традиционными числовыми операциями.
Универсальные процессоры ориентированы на широкий спектр возможных применений. Для выявления особенностей медиа–процессоров рассмотрим микропроцессор TriMedia компании Philips.
Этот процессор предназначен для использования в качестве:
● сопроцессора цифровой обработки сигналов (DSP), разгружающего основной процессор мультимедийной системы;
● универсального процессора разнообразных мультимедийных устройств, таких, как игровые телеприставки и проигрыватели видео–CD.
В его состав входят (рис.8.1.2):
● микропроцессорное ядро, построенное на принципах VLIW–архитектуры (с длинным командным словом).
Ядро способно обрабатывать пять RISC–команд за один такт.
Для конвейеризации микроопераций в процессоре используется 27 функциональных модулей (АЛУ целочисленного умножения, несколько модулей для операций с плавающей точкой, несколько модулей DSP и др.).
Раздельная кэш–память общей емкостью 48К байт (32К + 16К байт) позволяет реализовать параллельную выборку команд и данных;
● узлы, которые, взаимодействуя с VLIW–ядром, выполняют обработку конкретного типа данных.
К ним относятся: видео вход/выход, аудио вход/выход, VLD–декодер MPEG, сопроцессор обработки изображений, коммуникационный блок и таймеры.
Использование режима прямого доступа к памяти (ППД) позволяет осуществлять подготовку данных к обработке сразу несколькими узлами процессора;
● быстродействующая шина со скоростью передачи данных 400 МбиT/C, связывающая основные узлы процессора;
● мост PCI, предназначенный для соединения быстродействующей шины процессора с медленной шиной PCI.
Система команд процессора, ориентированная на мультимедийные приложения, позволяет:
● с высокой эффективностью выполнять операции обработки изображений трехмерной (3D) графики.
Типичной операцией для 3–D графики является создание текстуры изображения на основе покрашенных треугольников.
Микропроцессор с тактовой частотой 100 МГц в конфигурации с 64–битной SDRAM способен генерировать до 250000 треугольников в секунду;
● экономно использовать вычислительные ресурсы процессора и ресурсы памяти.
В частности, система команд позволяет реализовать одновременное MPEG–декодирование аудио– и видеоданных при использовании всего лишь 22 процентов вычислительных ресурсов процессора и 12 процентов ресурсов памяти.
Среди других медиа–процессоров следует выделить:
● процессор Mpact Media Engine компании Chromatic Research, основной областью применения которого являются мультимедийные персональные компьютеры, реализуемые на базе микропроцессоров семейства х86.
На него возлагаются функции графического ускорителя, сопроцессора обработки трехмерной графики, MPEG–кодека, звуковой платы, факс–модема и телефонной платы.
Архитектура Mpact позволяет обеспечить высокую интенсивность потока данных на АЛУ и достигать для большинства мультимедийных алгоритмов производительности от 1 до 2 млрд операций в секунду.
Систему команд процессора образуют 72–битовые командные слова в формате VLIW, каждое из которых включает две инструкции длиной от 3 до 5 байт.
Инструкции исполняются в соответствии с принципом SIMD «одна команда — много данных», что позволяет эффективно обрабатывать массивы данных без дополнительных временных затрат на организацию программных циклов;
● процессор NV1 компании Nvidia, который ориентирован на использование в игровых приставках.
В игровых программах требуется быстрое выполнение алгоритмов преобразования аудио– и видеоданных.
В состав процессора входит мультимедийный акселератор (ускоритель) трехмерной видеографики, который в отличие от других ускорителей 3D–графики реализует алгоритм округления сторон многоугольников, благодаря чему улучшается качество создаваемого изображения.
При этом уменьшается объем выполняемых вычислений, так как используется меньшее количество рассчитываемых «контрольных точек» генерируемой кривой;
● процессор MediaGX компании Cyrix, предназначенный для применения в недорогих мультимедийных компьютерах.
Он реализует как системные, так и мультимедийные функции.
Благодаря совместимым с Windows программным средствам аппаратная реализация функций мультимедиа заменяется программной, поэтому системы на основе MediaGX не нуждаются в платах расширения для воспроизведения графики и звука.
Коды команд выбираются из внешней памяти или кэша на выполнение в процессорном ядре.
Видеоданные обрабатываются в графическом конвейере и видеоконтроллере.
Процессорное ядро декодирует и за один такт выполняет целочисленные команды х86.
Устройство загрузки/сохранения позволяет обрабатывать одновременно несколько запросов к памяти за один такт.
Цикл выполнения команды в конвейере процессора включает шесть стадий.
Процессор MediaGX используется совместно с микросхемой Сх5510, выполняющей функции аудиоконтроллера, контроллера прямого доступа к памяти, моста PCI–ISA, контроллеров прерываний, клавиатуры и мыши; таймера; управления энергопотреблением.
В следующих статьях рассматриваются процессоры семейства 21XX фирмы Analog Deviced.