Сигнальные и медийные процессоры в обработке цифровых сигналов

Пример HTML-страницы

сигнальные процессорыСведения о цифровой обработке сигналов.

До недавних пор в радиотехни­ческих устройствах использовалась исключительно аналоговая обработка сигна­лов.

Такие операции как усиление и фильтрация сигналов, преобразование Фурье и другие выполнялись с помощью аналоговых узлов.

Например, фильтрация сиг­налов реализуется на микросхемах операционных усилителей с навесными кон­денсаторами и резисторами.

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

Цифровая обработка сигналов состоит в преобразовании дискретных сигна­лов и выполняется в реальном времени.

Дискретным сигналом называют сигнал, значения которого зафиксированы лишь в отдельные равноотстоящие моменты времени.

Значение сигнала Х(t) при t = kТ (k = 0, 1, 2,…) будем обозначать Хk.

Величина Т называется интервалом дискретизации.

Дискретный сигнал представляет собой совокупность всех значе­ний Хk (отсчетов) и обозначается {Хk}.

Проиллюстрирует особенности цифровой обработки сигналов на примере цифровых фильтров, которые описываются разностным уравнением: Yk = ∑ Mm=0 AmXkm –∑ Nn=1 BnYkn , (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выходного сигнала зависит не только от отсчетов Хkm входного сигнала, но и от предшествующих отсчетов Ykn выходного сигнала.

Если все Вn = 0 (n = 1, 2, ….N), то фильтр называется нерекурсивным или трансферсальным цифровым фильтром.

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

Использовать непосредственно выражение (8.1.1) для синтеза цифровых фильтров затруднительно. Обычно требования к фильтру формулируются путем задания желаемой частотной или импульсной характеристик, для получения кото­рых используется Z–преобразование и его свойства.

рис. </p> <p>8.1.1 На основании выражения (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)ejkn/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.

рис. </p> <p>8.1.2 В его состав входят (рис.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.


Понравилась статья? Поделиться с друзьями:
Все об энергетике, электротехнике и электронике
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: