Процессоры цифровой обработки сигналов

Обновлено: 06.07.2024

Процессор цифровой обработки сигналов (digital signal processor — DSP) — это специализированный программируемый микропроцессор, предназначенный для манипулирования в реальном масштабе времени потоком цифровых данных. DSP-процессоры широко используются для обработки потоков графической информации, аудио- и видеосигналов.

Любой современный компьютер оснащен центральным процессором и только немногие — процессором цифровой обработки сигналов (DSP — digital signal processor). Центральный процессор, очевидно, представляет собой цифровую систему и обрабатывает цифровые данные, поэтому на первый взгляд неясна разница между цифровыми данными и цифровыми сигналами, то есть теми сигналами, которые обрабатывает DSP-процессор.

К цифровым сигналам, в общем случае, естественно отнести все потоки цифровой информации, которые формируются в процессе телекоммуникаций. Главное, что отличает эту информацию, — она не обязательно заносится в память (и поэтому может оказаться недоступной в будущем), следовательно, обрабатывать ее нужно в режиме реального времени.

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

Вариации на тему

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

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

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

DSP-процессор, напротив, должен быть «узким специалистом». Его единственная задача — изменять поток цифровых сигналов, и делать это быстро. DSP-процессор состоит главным образом из высокоскоростных аппаратных схем, выполняющих арифметические функции и манипулирующих битами, оптимизированных с тем, чтобы быстро изменять большие объемы данных.

В силу этого набор команд у DSP куда меньше, чем у центрального процессора настольного компьютера; их число не превышает 80. Это значит, что для DSP требуется облегченный декодер команд и гораздо меньшее число исполнительных устройств. Кроме того, все исполнительные устройства в конечном итоге должны поддерживать высокопроизводительные арифметические операции. Таким образом, типичный DSP-процессор состоит не более чем из нескольких сот тысяч транзисторов.

Являясь узкоспециализированным, DSP-процессор отлично справляется со своей работой. Его математические функции позволяют непрерывно принимать и изменять цифровой сигнал (такой, как звукозаписи в MP3 или запись разговора по сотовому телефону), не тормозя передачу информации и не теряя ее. Для повышения пропускной способности DSP-процессор оснащается дополнительными внутренними шинами данных, которые обеспечивают более быстрый перенос данных между арифметическими модулями и интерфейсами процессора.

Зачем нужны DSP-процессоры?

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

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

Впрочем, спектр их применения этим далеко не ограничивается. В силу большого числа арифметических модулей, наличия интегрированной на кристалле памяти и дополнительных шин данных часть DSP-процессоров могут использоваться для поддержки многопроцессорной обработки. Они могут выполнять сжатие/распаковку «живого видео» при передаче по Internet. Подобные высокопроизводительные DSP-процессоры часто применяются в оборудовании для организации видеоконференций.

Внутри DSP

Приведенная здесь диаграмма иллюстрирует строение ядра процессора Motorola DSP 5680x. Раздельные внутренние шины команд, данных и адресов способствуют резкому повышению пропускной способности вычислительной системы. Наличие вторичной шины данных позволяет арифметическому устройству считать два значения, перемножить их и выполнить операцию накопления результата за один такт процессора.

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

Часто в литературе такие микропроцессоры называются цифровыми сигнальными процессорами (ЦСП), или DSP ( Digital Signal Processors ).

Первые процессоры этого класса появились в конце 1970-х годов. Требования практики, связанные с широким развитием мобильной беспроводной связи, стационарных систем широкополосной связи, использованием цифровой обработки сигналов в бытовой аудио- и видеотехнике и устройствах компьютерной периферии , с одной стороны и колоссальный прогресс электронной промышленности с другой привели к тому, что к настоящему времени производительность ЦСП возросла до сотен миллионов операций в секунду, а цена упала более чем на 90 % и даже для самых мощных процессоров составляет в настоящее время менее $20. Низкая потребляемая мощность (менее 1 Вт на максимальной частоте работы процессора) обеспечивает их широкое использование в различных встраиваемых устройствах от бытовой электроники до бортовых систем специального назначения.

Цифровая обработка сигналов - это арифметическая обработка последовательности значений амплитуд сигнала, получаемых через равные промежутки времени. Главное, что отличает эту информацию, - она необязательно заносится в память и поэтому может оказаться недоступной в будущем. Следовательно, обрабатывать ее нужно в реальном масштабе времени (РМВ).

К основным особенностям цифровой обработки сигналов , которые во многом определяют архитектуру процессоров DSP , относятся:

  • поточный характер обработки больших объемов данных в РМВ;
  • обеспечение возможности интенсивного обмена с внешними устройствами.

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

Любой аналоговый сигнал можно представить в виде характеристик -либо амплитуда-время, либо частота-амплитуда. Для перехода от одной формы представления к другой используется преобразование Фурье. Операции , выполняющие это преобразование, являются базовыми в цифровой обработке сигналов.

Преобразование Фурье представляет собой в общем случае работу с некоторой непрерывной функцией. С непрерывным преобразованием Фурье удобно работать в теории, но на практике мы обычно имеем дело с дискретными данными. Для обработки звуковых и видеосигналов в компьютере они сначала преобразуются в цифровую форму и представляются в виде некоторого набора отсчетов частот и амплитуд, производимых через определенные промежутки времени (период дискретизации ). Поэтому здесь стоит говорить не об интегральном, а о дискретном преобразовании Фурье (ДПФ).

Пусть дана конечная последовательность чисел x0 , x1 , x2, . xN-1 (в общем случае комплексных). Дискретное преобразование Фурье заключается в поиске другой последовательности X0, X1, X2, . XN-1 , элементы которой вычисляются по формуле:

X_<k>=\sum_^x_e^<\frac<-j2\Pi*kn>>
( 16.1)

Пусть дана конечная последовательность чисел X0 , X1 , X2, . XN-1 (в общем случае комплексных). Обратное дискретное преобразование Фурье заключается в поиске другой последовательности x0 , x1 , x2, . xN-1 , эле менты которой вычисляются по формуле:

x_<n>=\frac\sum_^X_e^<\frac<-j2\Pi*kn>>
( 16.2)

В общем случае гармоническое колебание, которое имеет вид, пред ставленный на рис. 16.1, описывается следующим выражением:

Общий вид гармонического колебания

x=A\sin<(\frac<2\pi*t>+\varphi)>
( 16.3)

\phi

Где A 0 - амплитуда сигнала, Т - его период, - сдвиг фазы сигнала.

Это колебание можно описать также выражением:

x=A\cos<(\omega<t>+\varphi)>
( 16.4)

\omega =2\pi/<T></p>
<p>где
- круговая частота сигнала. Данное выражение будем называть гармоникой.

Преобразуем последнее выражение к виду:

x=A\cos\cos<(2\pi/<T>)>-A\sin\sin<(2\pi/<T>)>
( 16.5)

Выделим в (16.5) элементы, независимые от t , и обозначим их как Re и Im . В результате получим:

x=\mbox<Re ></p>
\cos<(2\pi/<T>)>-\mbox\sin<(2\pi/<T>)>

Re=A\cos</p>
<p>где ,Im=A\sin

По величинам Re и Im можно однозначно восстановить амплитуду и фазу исходной гармоники:

\varphi=\arctg<(\frac<Im>)>,A=\sqrt+Im^>
( 16.6)

X_</p>
<p>Разложим каждое комплексное число X<sub>k</sub> из выражения обратного преобразования Фурье (16.2) на мнимую и действительную составляющие = R_ +\varphi Im_
, а экспоненту - по формуле Эйлера на синус и косинус действительного аргумента. Получим:


Правильное, русское название у него "Цифровой сигнальный процессор" (от англ. Digital Signal Processor, DSP, цифровой процессор обработки сигналов (ЦПОС) — специализированный микропроцессор, предназначенный для обработки оцифрованных сигналов (обычно, в режиме реального времени)

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

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

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

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

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

DSP-процессор, напротив, должен быть «узким специалистом». Его единственная задача — изменять поток цифровых сигналов, и делать это быстро. DSP-процессор состоит главным образом из высокоскоростных аппаратных схем, выполняющих арифметические функции и манипулирующих битами, оптимизированных с тем, чтобы быстро изменять большие объемы данных.

Процессорная магнитола. Зачем?

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

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

2. Множество регулировок звуковой сцены.

3. Наличие приличного эквалайзера, с помощью которого можно отлично порезать сигнал на полосы.

Процессоры цифровой обработки сигналов (ЦОС)

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

Так, развитие военной техники, средств связи, радио, телевидения, работающих с сигналами различной физической природы, вызвало такой бурный процесс, как прогресс средств цифровой обработки сигналов (ЦОС).

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

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

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

Архитектура

В основу архитектуры рассматриваемого класса специализированным процессоров, ориентированных на ЦОС и изображений в реальном времени, положены следующие особенности:

  1. аппаратурная реализация иерархической системы команд высокого уровня, ориентированной на классы решаемых задач;
  2. распараллеливание вычислений на уровне алгоритмов;
  3. последовательная обработка данных;
  4. конвейеризация вычислений.

Иерархическая система команд высокого уровня определяется математическими ядрами алгоритмов, которые имеют соответствующую структурную интерпретацию в виде процессорных элементов.

Нижний уровень иерархии системы команд представляет собой устойчивые цепочки арифметических операций (например, «бабочка» для алгоритма быстрого преобразования Фурье или сумма парных произведений для задач перемножения векторов и матриц) и реализуется непосредственно в интегральных схемах. Команды верхнего уровня иерархии соответствуют типовым задачам обработки сигналов и изображений фиксированной размерности и реализуются посредством программирования.

Такой подход позволяет отобразить граф вычислительного процесса сетью процессорных элементов и обеспечить возможность гибкой взаимной трансформации конструктивной сложности к производительности спецпроцессоров.
Наличие нескольких уровней в системе команд обусловлено противоречием между универсальностью и производительностью процессора.

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

Уровням детализации алгоритмов соответствуют и уровни системы команд, среди которых выделяются [1]:

  1. метакоманды, соответствующие отдельным алгоритмам или задачам;
  2. макрокоманды, определяемые групповыми многооперандными арифметическими операциями;
  3. команды RISC-процессора, обеспечивающие достаточные гибкость и универсальность процессора;
  4. микро- и нанокоманды, позволяющие осуществлять перенастройку операционных блоков процессора на уровне стандартных цифровых узлов.

Процессоры цифровой обработки сигналов (ЦОС)

Современная интегральная технология во многом предопределяет архитектуру процессора и способ организации в нем вычислительного процесса. Исследования привели, на первый взгляд, к парадоксальному выводу: высокая производительность процессора обеспечивается как параллельно-конвейерной архитектурой, так и использованием процессорных элементов с последовательной обработкой данных на интегральных схемах. Благодаря выполнению арифметических операций в последовательном коде удается значительно сократить число внешних выводов схем (что имеет особо важное значение для комплексных данных большой разрядности) и использовать при построении процессора десятки и сотни процессорных элементов.

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

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

Таким образом, в состав процессора должны входить следующие квазивиртуальные модули аппаратурных средств:

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

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

Большинство видов мощных микропроцессоров, например Pentium, Athlon, PowerPC, Intel, имеющие высокий ресурс вычисления, чтобы решать сложные задачи, связанные с обработкой цифровых сигналов, другой раз, по своей производительности опережают даже быстрейшие процессоры ЦОС с последовательной логикой. Тем не менее, процессоры ЦОС с последовательной логикой будут использоваться в будущем для выполнения обширного круга задач в том числе и при обеспечении боевых действий, так как предлагают хорошую производительность приемлемую цену.

Читайте также: