Что такое встроенный алгоритм dsp
Национальная библиотека им. Н. Э. Баумана
Bauman National Library
Персональные инструменты
DSP (Digital Signal Processor)
Реальный масштаб времени (реальное время работы, Real Time Scale) – это такой режим работы устройства, при котором регистрация и арифметическая обработка (а при необходимости и анализ, визуализация, сохранение, систематизация, синтез и передача по каналам связи) данных производится без потерь информации, поступающей от ее источника
Содержание
Описание
Цель DSP
Цель DSP состоит в том, чтобы обычно измерять, фильтровать и/или сжимать непрерывные реальные аналоговые сигналы. Большинство микропроцессоров общего назначения могут также успешно выполнить алгоритмы цифровой обработки сигналов, но у выделенного DSP обычно есть лучшая степень эффективности, таким образом, они более подходят в портативных устройствах, таких как мобильные телефоны, из-за ограничений потребляемой мощности. DSP часто использует специальную архитектуру памяти, которая в состоянии выбрать многократные данные и/или инструкции одновременно.
Цифровая обработка
Алгоритмы цифровой обработки сигналов обычно требуют быстрое выполнение большого количество математических операций и неоднократность на ряде выборок данных. Сигналы (возможно, от аудио или видео) постоянно преобразовываются из аналогового в цифровой сигнал, используются в цифровой форме, и затем преобразовываются назад в аналоговую форму. У многих приложений DSP есть ограничения на задержку; т.е. для системы, чтобы функционировать, операция DSP должна быть завершена в некотором установленном времени и задержана, обработка не жизнеспособна.
Преимущества DSP
Большинство микропроцессоров общего назначения и операционных систем могут успешно выполнить алгоритмы DSP, но не подходят для использования в портативных устройствах, таких как мобильные телефоны из-за ограничений эффективности питания. А специализированный, цифровой сигнальный процессор, однако, имеет тенденцию предоставлять решение меньшей стоимости, с лучшей производительностью, более низкой задержкой и без необходимости специализированного охлаждения или больших батарей.
Архитектура
Архитектура и ее особенности
Архитектура ЦСП имеет ряд особенностей, в отличии от микропроцессоров общего применения. Она заключается в максимальном ускорении выполнения однотипных задач по цифровой обработке сигналов (поиск сигналов, преобразование Фурье и т.п.). В математике такие задачи приводятся к более простым по правилу «разделяй и властвуй». В нашем случае таким типом подзадач является поэлементное произведение элементов многокомпонентных векторов действительных чисел(это числа, которые могут быть записаны в виде конечной или бесконечной (периодической или непериодической) десятичной дроби.) и последующему суммированию результатов произведения.
Исходя из этого, процессоры специально оптимизируют под определенные операции(в нашем случае под перемножение и суммирование). В следствии чего растет производительность и быстродействие. Первоочередно ЦСП направлены на многократное умножение с очень быстрым расчетом адресов перемножаемых элементов массивов:
Однако архитектура изменялась из-за ограниченности аппаратных ресурсов первых ЦСП. Память делилась на независимые сегменты, детерминированная работа команд(время выполнения известно) дала начало планированию работы в реальном времени, из-за маленького конвейера несанкционированные переходы происходят гораздо быстрее чем в универсальных, редкий набор регистров и инструкций.
Архитектура программного обеспечения
Цифровые сигнальные процессоры иногда используют жестко фиксированное по времени кодирование, чтобы упростить аппаратные средства и эффективность кодирования умножения. Многократные арифметические модули могут потребовать, чтобы архитектура памяти поддерживала несколько выполнений за командный цикл. Специальные средства управления циклом, такие как архитектурная поддержка выполнения нескольких командных слов в очень трудном цикле, без издержек для вызовов команды или тестирования выхода.
Аппаратная архитектура
Архитектура памяти
DSP обычно оптимизируется под потоковую передачу данных и использует специальную архитектуру памяти, которая в состоянии выбрать многократные данные и/или инструкции одновременно, такие как Гарвардская архитектура или измененная архитектура фон Неймана, которые используют отдельную программу и памяти данных (иногда даже параллельный доступ на многократных шинах данных).
Адресация и виртуальная память
DSPS часто использует многозадачные операционные системы, но не имеет никакой поддержки виртуальной памяти или защиты. Операционные системы, которые используют виртуальную память, требуют большего количества времени для переключения среди процессов, которое увеличивает задержку.
Примеры: TMS320Cхххх, ADSP-21XX
Особенности ЦСП
Характерные особенности ЦСП (DSP):
Основные параметры ЦСП
Основные параметры ЦСП:
Сферы применения
Выделяют достаточно много сфер применения ЦСП.
Сферы применения DSP:
Зачастую, это сферы, где необходима быстродействующая обработка каких либо сигналов (информации).
История
В 1976г. году Ричард Уиггинс предложил концепцию «Speak & Spell» Полу Бредлову, Ларри Брантингхаму, и Джину Францу в научно-исследовательском центре Texas Instruments (Даллас). Два года спустя, в 1978г., они создали первую «Speak & Spell» с технологической главной центральной частью, являющейся TMS5100, как первый цифровой сигнальный процессор отрасли. Это также влекло другие этапы, будучи первой микросхемой, для использования кодирования с линейным предсказанием, чтобы выполнить речевой синтез.
В свою очередь, Intel 1978г. производил «процессор аналогового сигнала»-2920. Он включал конвертер из аналогового сигнала в цифровой и обратно, на микросхеме с встроенным внутрь сигнальным процессором, но он не обладал аппаратным множителем и не пользовался спросом на рынке. В 1979г. AMI выпускал периферийный прибор обработки данных-S2811. Он создавался, как связующее устройство микропроцессора, со способностью настройки владельцем. S2811, аналогично, не пользовался спросом на рынке.
В 1980г. реализован первый автономный процессор: DSP – NEC µPD7720 и AT&T DSP1 – были представлены на МК(Международной Конференци) Твердотельных схем ’80. Эти два процессора вдохновили исследование в телекоммуникациях PSTN.
Около пяти лет назад начало распространяться 2-е поколение ЦСП. У них было 3-и памяти для хранения 2-х операндов в одно и то же время, и включали аппаратные средства, для ускорения сложных циклов, а также существовал наименьший адресуемый элемент, способный к адресации цикла. Какие-то из них управляются на 24-х-разрядных переменных и похожей модели, но для MAC затратилось 21 нс. Это такие устройства, как: AT&T DSP16A, Motorola 56000.
Четвертое поколение лучше всего характеризуется изменениями в системе команд и кодировании/декодировании инструкции. Были добавлены расширения SIMD, VLIW и появились суперскалярная архитектура. Как всегда, тактовые частоты увеличились, MAC потребовал 3 нс.
Что такое DSP-процессор звука? Для чего он в магнитоле?
Рекомендуемые статьи
Штатная магнитола Android на базе Allwinner TS9. Преимущества модели
Другими словами, встроенный звуковой DSP-процессор быстро изменяет поток цифровых сигналов, управляет задержками на каждом канале. Это высокоскоростная аппаратная схема, которая выполняет арифметические функции, манипулируют битами, оптимизируя большие объемы данных, чтобы быстро изменять их.
Разберем на примере:
Представьте себе ваш автомобиль изнутри с его «неправильной» формой, изгибами, со всем его наполнением: панелью, креслами и другим – все эти составляющие – это амплитудно-частотные характеристики (АЧХ) вашего авто.
Среда с подобными АЧХ считается «неправильной», так как звук передается не так как в большой пустой комнате, салон с большим количеством элементов поглощает часть звука, часть просто искажается. По итогу, мы получаем не то звучание, которое излучают динамики, даже если вы воспроизводите звук в максимально высоком качестве без сжатия аудиофайла.
Так же, важным является расположение водителя и пассажиров относительно динамиков. На восприятие музыки влияет разность в громкости и силе динамиков, один будет звучать не так громко и сильно, как тот, что находится ближе. Чтобы звучание не искажалось, слушатель должен находиться по центру на равном удалении от динамиков. Но, в машине, это конечно невозможно.
Звуковая сцена — это «точность, с которой воспроизводящая система передает звуковую информацию о размере, форме и акустических характеристиках исходного пространства записи и размещения исполнителей внутри звуковой сцены в помещении для прослушивания». |
Магнитола позволяет грамотно управлять звуковой сценой, смещать ее в любом направлении. Задержки, которые производит микропроцессор, позволяют гармонично построить звучание относительно «неправильной» формы салона и расположения динамиков. Эти специальные задержки длятся миллисекунды, но за это время они выстраивают звук таким образом, чтобы он воспринимался четко без искажений со всех сторон в точке слушателя.
Звуковой процессор DSP Bu3210x позволяет произвести тонкую настройку 11 полосного эквалайзера НЧ/СЧ/ВЧ с фильтрами среза частот, регулировкой добротности, тонкомпенсацией, поканальными задержками и функцией Loud. Есть возможность усиления басов на разных частотах, сохраняя чистоту звука.
В андроид магнитолу Allwinner TS9 встроен звуковой усилитель TDA7850 MOSFET. Усилитель согласуется с акустикой 2Ом, АЧХ соответствует классу Hi-Fi аудио: имеет низкий уровень паразитных шумов, высокий показатель соотношения сигнал/шум. Благодаря этому получается чистая насыщенная звуковая картина.
Чем ниже сопротивление акустики, тем больше искажений дает усилитель, чем выше сопротивление акустики, тем меньше дает искажений усилитель.
Добиться подобной настройки звуковой сцены в магнитолах без данного процессора очень сложно
Из дополнительных возможностей, следует выделить управление функциями магнитолы посредством кнопок управления на руле при наличии встроенных или дополнительно установленных пульта ДУ. Не снимая рук с руля, можно управлять громкостью звука, переключать музыкальные треки, а так же использовать другой функционал настроенный вами.
Помимо 2 линейных стерео аудио-входов (тюльпаны), 4 линейных аудио-выхода (тюльпаны) на внешний нештатный аудио-усилитель, предусмотрен отдельный линейный выход на Subwoofer.
Использование цифрового аудиопроцессора (DSP)
В свете этого заинтересовала возможность использовать такие DSP как:
1. Активный кроссовер для АС.
2. Инструмент рум-корекции.
Ответы
Ну вот я в процессе решения этого вопроса пришел к тому, что в отдельном устройстве для стерео нет решительно никакого смысла. Mac Mini + Dirac Live лучшее решение в DSP для дома на сегодняшний день. Для многоканального кино можно взять miniDSP или ресивер дружественной компании.
P.S. По моему мнению ключевую роль здесь играет программное обеспечение.
Хотя да, тут скрей инфо для размышления.
Я не совсем это имел в виду.
И в помянутой выше ветке и в случае с Dirac Live имеется в виду обработка средствами софта, установленного на стандартный PC или Mac. Тут вопросов нет, благо можно легко найти «народную версию» ARC System от IK Multimedia, недорогой измерительный микрофон Behringer ecm8000 и софтовый плеер с поддержкой vst-плагинов. Эта связка рабочая, проверенная (в т.ч. мной) и показала очень неплохие результаты.
И вообще все это касаемо только рум-коррекции, а я упомянул еще об использовании в качестве кроссовера с гибкой настройкой и минимальным влиянием на фазу. На основе этого возможно изготовление активной АС например такого типа.
хотелось избавиться от ПК в любом виде
miniDSP DDRC-22D, DSPeaker Anti-Mode 2.0, Emotiva XMC-1?
На основе этого возможно изготовление активной АС
Я думал над активным кроссовером некоторое время, но это надо с головой прыгать и все делать самому. Или как вариант можно использовать автомобильные решения, там как раз это вариант по умолчанию. Например, как с активным кроссовером предварительное усиление планируете делать? Для коррекции в цифровом виде без преобразования АЦП-ЦАП (тут можно воспользоваться моделью с парой выходов) я для себя ответов не нашел.
miniDSP DDRC-22D, DSPeaker Anti-Mode 2.0, Emotiva XMC-1 и т.д.
Да, но 800$, 1400$, 2500$ и т.д.
spdif-входом и 8 аналоговыми выходами
Выбор и реализация ЦАП’ля на таких платах обычно оставляет желать лучшего. Не вижу смысла пытаться лезть в бескомпромиссный звук за счет активной фильтрации и сразу же загонять себя в тупик копеечным ЦАП’лем. Тут уж если идти, то ва-банк.
Выбор и реализация ЦАП’ля на таких платах обычно оставляет желать лучшего
Соглашусь, вот это больше всего и напрягает. Но вроде как есть полностью цифровые варианты.
В общем спасибо, есть о чем подумать.
ДСП, которые умеют делать обработку звука на приходящей частоте и имеют процессор на 64 бита с плавающей запятой (как тот же Trinnov например) уже значительно дороже
Только авторизованные пользователи могут отвечать на вопросы, пожалуйста, войдите или зарегистрируйтесь.
Микропроцессор или DSP? А может, и тот, и другой?
В статье подробно рассматривается извечная проблема: что лучше выбрать, когда требуется цифровая обработка сигнала – высокопроизводительный микропроцессор или DSP? Подробно рассматриваются все аспекты проблемы, включая трудоемкость разработки и стоимость компонентов. Статья написана с точки зрения разработчика и представляет безусловный интерес для инженеров-проектировщиков микропроцессорных систем.
Разработчики систем цифровой обработки сигналов имеют широкий выбор процессоров для решения своих задач. Наряду с микропроцессорами общего назначения, традиционными специализированными сигнальными процессорами DSP, все большее распространение получают гибридные процессоры. Среди них можно выделить собственно гибридные процессоры, т.е. процессоры, имеющие характерные особенности архитектуры как процессоров общего назначения, так и сигнальных процессоров, а также процессоры с расширениями DSP (DSP enhanced processors) — процессоры общего назначения, с точки зрения архитектуры, но дополненные специализированными блоками или сопроцессорами DSP, и многоядерные системы. Некоторое представление о таком разнообразии дает рисунок 1, на котором различные семейства процессоров распределены в соответствии с их производительностью и оптимизацией для обработки сигналов. Нетрудно найти процессор под любую задачу — гораздо сложнее выбрать оптимальный вариант.
Алгоритмы DSP имеют характерные особенности, определяющие архитектуру специализированных процессоров; они приведены в таблице 1 [1]. Большие объемы вычислений требуют параллелизации вычислительных блоков, а также аппаратной реализации основных функций. Соответственно изменяется и система команд — вводится основная операция умножения с накоплением, реализуемая за один цикл. Требования к высокой точности вычислений приводят к использованию многоразрядных регистров аккумуляторов, защитных разрядов и аппаратной реализации арифметики с насыщением. Для обеспечения высокой пропускной способности памяти и предсказуемости параметров доступа к данным используются гарвардская архитектура с параллелизацией доступа к памяти, специфические способы адресации (кольцевой буфер). Чтобы справиться с потоком данных в реальном времени, необходима статическая память с механизмом прямого доступа. Локальность времени исполнения обеспечивается аппаратной реализацией циклов и потоковой обработкой прерываний.
Особенности алгоритмов DSP
Особенности DSP
Большие объемы вычислений
Параллельно работающие вычислительные блоки, аппаратное ускорение основных функций DSP
Высокая точность вычислений
Многоразрядные регистры аккумулятора, охранные биты, аппаратная реализация арифметики с насыщением
Высокая пропускная способность памяти
Гарвардская архитектура, поддержка параллельных передач данных
Предсказуемость параметров доступа к данным
Специализированные способы адресации
Локальность времени выполнения
Аппаратная реализация циклов, потоковая обработка прерываний
Блок умножения или умножения с накоплением, выполняющий операцию за 1 цикл, команда умножения с накоплением
Статическая память без кэша, но с прямым доступом
Ограничения реального времени
Минимум динамических архитектурных особенностей, встроенная память (ОЗУ) вместо кэша
16-разрядные типы данных, округление, арифметика с насыщением
При выборе процессора для системы цифровой обработки сигнала целесообразно рассматривать следующие факторы:
– производительность;
– трудоемкость разработки;
– доступность, переносимость кода;
– совместимость, поддержка производителем процессоров;
– стоимость;
– размер;
– потребляемая мощность.
Быстродействие процессора определяется тремя факторами: пропускной способностью канала обработки данных, скоростью доступа к памяти и ограничениями реального времени. Скорость обработки данных определяется доступными вычислительными ресурсами и возможностью одновременной работы. Быстродействие подсистемы памяти определяется ее архитектурой (гарвардская или фон-Неймановская), схемотехникой (статическая/динамическая), наличием кэшей и механизмов прямого доступа к памяти. Возможность работы в реальном времени ограничивается недетерминированностью операций и динамическими свойствами процессора. Основные особенности каналов обработки данных в сигнальных процессорах и процессорах общего назначения приведены в таблице 2 для систем начального уровня и в таблице 3 — для высокопроизводительных систем.
Сигнальный процессор начального уровня
Микропроцессор начального уровня
Специализированные аппаратные блоки выполняют все основные арифметические операции за 1 цикл
Умножение и многоразрядные сдвиги, как правило, требуют более 1 цикла
Обычно 16-разрядный, поддерживает и целочисленные, и нецелочисленные операции
32-разрядный, возможны только целые числа
Аппаратная поддержка управления точностью вычислений: «сторожевые» биты, насыщение, режимы округления
Насыщение, округление, как правило, требуют дополнительного цикла
Ограниченный набор битовых операций
Возможен расширенный набор битовых операций
Производительный сигнальный процессор
Производительный микропроцессор
До 8 арифметических модулей
Как правило, от 1 до 3 арифметических модулей
Наличие специализированных арифметических устройств: блок умножения с накоплением, декодер Витерби
Универсальные математические устройства: блок целочисленной арифметики, устройство вычислений с плавающей запятой
Поддержка различных разрядностей данных
Поддержка различных разрядностей данных
Набор битовых операций может варьироваться от очень ограниченного до разнообразного
Возможен расширенный набор битовых операций
Аппаратная обработка округлений и математики с насыщением
Насыщение и округление, как правило, требуют дополнительного цикла
Для обработки больших потоков данных уместна концепция SIMD (Single Instruction — Multiple Data), т.е. использование одного потока команд для операций над несколькими потоками данных. В процессорах общего назначения такая обработка данных встречается только в высокопроизводительных семействах, например, PowerPC 74xx обеспечивает одновременное выполнение операций над четырьмя 32-разрядными числами с плавающей запятой или четырьмя 32-разрядными; восемью 16-разрядными или шестнадцатью 8-разрядными целыми числами. В DSP же инструкции, поддерживающие выполнение по принципу SIMD, встречаются и в самых простых моделях, пусть и в ограниченном варианте, например, только сложение двух пар 16-разрядных целых чисел. В высокопроизводительных DSP и гибридных процессорах возможности SIMD развиты не хуже, чем в мощных процессорах общего назначения.
В процессорах общего назначения используется как фон-Неймановская архитектура памяти (в системах начального уровня), так и гарвардская, как правило, в более мощных устройствах. В DSP использование гарвардской архитектуры характерно для моделей всех уровней производительности. Такая архитектура позволяет за один цикл обращения к памяти извлекать одновременно инструкцию и операнд, а в высокопроизводительных процессорах — несколько инструкций (до 8 в современных DSP и до 4 в процессорах общего назначения) и несколько слов данных от 16 до 64 бит (либо одно слово максимальной разрядности). Кэширование данных используется преимущественно в процессорах общего назначения, для DSP же характерно применение прямого доступа к памяти.
Большинство задач DSP подразумевает обработку данных в реальном времени. Процессор должен успеть выполнить требуемые операции над одной выборкой данных в потоке, прежде чем поступит следующая выборка. Помимо собственно вычислительной производительности на возможность работы в режиме реального времени оказывает влияние детерминированность и предсказуемость системы в целом. Недетерминированность приводит к неравномерной нагрузке процессора, затрудняет оптимизацию и отладку. Причины возникновения недетерминированности — многозадачность, алгоритм, изменяющийся в зависимости от данных, динамические особенности архитектуры (суперскалярность, предсказание ветвлений, зависимые от данных времена выполнения инструкций).
Динамические конструктивные особенности в большей мере характерны для процессоров общего назначения. Как правило, системы DSP строятся таким образом, чтобы избежать самой необходимости таких особенностей. В DSP начального уровня они не применяются, в производительных процессорах чаще всего используется кэширование, редко — суперскалярное выполнение и предсказание ветвлений. В процессорах общего назначения динамические особенности архитектуры, напротив, используются очень широко. В производительных системах обычно применяется суперскалярное выполнение инструкций с предсказанием ветвлений, динамическое кэширование применяется и на процессорах начального уровня. Рассмотрим перечисленные особенности более подробно.
Кэширование работает по принципу уменьшения среднего времени доступа — оно эффективно для большинства приложений, но время доступа может варьироваться достаточно широко. В то же время многие приложения, в т.ч. приложения жесткого реального времени, чувствительны как раз к максимальному, а не среднему времени доступа. Последовательность доступа к данным в системах DSP, как правило, хорошо предсказуема. Таким образом, прямой доступ к памяти может быть эффективнее кэшей. Некоторые типы кэш-памяти предоставляют возможность предварительной выборки данных. В некоторых DSP кэш может быть отключен или переконфигурирован для частичного использования как статического ОЗУ.
Предсказание ветвлений очень точно работает в большинстве приложений, в т.ч. и в приложениях обработки сигнала, где большинство ветвлений является частью цикла со счетчиком. Но сложные алгоритмы предсказания ветвлений вводят временную неопределенность. Сложно предсказать, является ли прогноз точным в конкретный момент времени.
Основные методы обеспечения высокой производительности путем одновременного выполнения нескольких инструкций — это суперскалярность и архитектура VLIW (Very Long Instruction Word) — очень длинное командное слово. В суперскалярных процессорах есть несколько вычислительных модулей, но задача распределения работы между ними решается аппаратно. Это очень усложняет дизайн процессора и может быть чревато ошибками. В процессорах VLIW задача распределения решается во время компиляции, и в инструкциях явно указано, какое вычислительное устройство должно выполнять ту или иную команду.
Суперскалярность используется в большинстве высокопроизводительных процессоров общего назначения. Ее характерные особенности:
– высокая аппаратная сложность, потребляемая мощность, большая площадь кристалла;
– сложная модель поведения, непостоянство временных параметров;
– высокая производительность при совместимости на уровне программного кода;
– низкая сложность сопутствующего программного обеспечения (компилятора).
Архитектура VLIW используется преимущественно в высокопроизводительных DSP:
– сниженная аппаратная сложность;
– отсутствие динамических особенностей поведения;
– не всегда совместимый программный код;
– повышенная сложность сопутствующего программного обеспечения.
Разработка программ для процессоров общего назначения является, как правило, менее трудоемкой. Сложность вызывает реализация SIMD-вычислений (в любых типах процессоров) — компилятор не всегда оказывается эффективным. С точки зрения поддержки, для DSP доступны библиотеки и инструменты DSP, в то время как для процессоров общего назначения — библиотеки и инструменты. Особенности наборов команд процессоров общего назначения и сигнальных процессоров приведены в таблицах 4 и 5. Что характерно, у простых DSP система команд более сложная, ориентированная на специфические операции, используемые при обработке сигналов.
Сигнальный процессор начального уровня
Микропроцессор начального уровня