Цифровая обработка сигналов ( DSP ) — это использование цифровой обработки , например, с помощью компьютеров или более специализированных цифровых сигнальных процессоров , для выполнения широкого спектра операций обработки сигналов . Цифровые сигналы, обработанные таким образом, представляют собой последовательность чисел, которые представляют собой выборки непрерывной переменной в области, такой как время, пространство или частота. В цифровой электронике цифровой сигнал представляется в виде последовательности импульсов , [1] [2], которая обычно генерируется путем переключения транзистора . [ 3]
Цифровая обработка сигналов и аналоговая обработка сигналов являются подобластями обработки сигналов. Приложения DSP включают обработку звука и речи , обработку сонаров , радаров и других сенсорных массивов , оценку спектральной плотности , статистическую обработку сигналов , цифровую обработку изображений , сжатие данных , видеокодирование , аудиокодирование , сжатие изображений , обработку сигналов для телекоммуникаций , систем управления , биомедицинской инженерии и сейсмологии , среди прочих.
DSP может включать линейные или нелинейные операции. Нелинейная обработка сигналов тесно связана с идентификацией нелинейной системы [4] и может быть реализована во временной , частотной и пространственно-временной областях .
Применение цифровых вычислений для обработки сигналов обеспечивает множество преимуществ по сравнению с аналоговой обработкой во многих приложениях, таких как обнаружение и исправление ошибок при передаче, а также сжатие данных . [5] Цифровая обработка сигналов также имеет основополагающее значение для цифровых технологий , таких как цифровая телекоммуникация и беспроводная связь . [6] DSP применим как к потоковым данным , так и к статическим (сохраненным) данным.
Для цифрового анализа и обработки аналогового сигнала его необходимо оцифровать с помощью аналого-цифрового преобразователя (АЦП). [7] Дискретизация обычно выполняется в два этапа: дискретизация и квантование . Дискретизация означает, что сигнал делится на равные интервалы времени, и каждый интервал представлен одним измерением амплитуды. Квантование означает, что каждое измерение амплитуды аппроксимируется значением из конечного набора. Примером является округление действительных чисел до целых.
Теорема дискретизации Найквиста -Шеннона гласит, что сигнал может быть точно восстановлен из его выборок, если частота дискретизации более чем в два раза превышает самую высокую частотную составляющую сигнала. На практике частота дискретизации часто значительно выше этого. [8] Обычно используют фильтр сглаживания, чтобы ограничить полосу пропускания сигнала для соответствия теореме дискретизации, однако требуется тщательный выбор этого фильтра, поскольку восстановленный сигнал будет отфильтрованным сигналом плюс остаточное наложение спектров из-за несовершенного подавления полосы остановки вместо исходного (неотфильтрованного) сигнала.
Теоретические анализы и выводы DSP обычно выполняются на моделях дискретных сигналов без амплитудных неточностей ( ошибка квантования ), создаваемых абстрактным процессом дискретизации . Численные методы требуют квантованного сигнала, например, вырабатываемого АЦП. Обработанным результатом может быть частотный спектр или набор статистических данных. Но часто это другой квантованный сигнал, который преобразуется обратно в аналоговую форму цифро -аналоговым преобразователем (ЦАП).
Инженеры DSP обычно изучают цифровые сигналы в одной из следующих областей: временная область (одномерные сигналы), пространственная область (многомерные сигналы), частотная область и вейвлет- области. Они выбирают область, в которой будет обрабатываться сигнал, делая обоснованное предположение (или пробуя различные возможности) относительно того, какая область наилучшим образом представляет основные характеристики сигнала и обработку, которая будет применена к нему. Последовательность выборок от измерительного устройства создает представление временной или пространственной области, тогда как дискретное преобразование Фурье создает представление частотной области.
Временной домен относится к анализу сигналов относительно времени. Аналогично, пространственный домен относится к анализу сигналов относительно положения, например, местоположения пикселя для случая обработки изображений.
Наиболее распространенным подходом к обработке во временной или пространственной области является улучшение входного сигнала с помощью метода, называемого фильтрацией. Цифровая фильтрация обычно состоит из некоторого линейного преобразования ряда окружающих выборок вокруг текущей выборки входного или выходного сигнала. Окружающие выборки могут быть идентифицированы относительно времени или пространства. Выход линейного цифрового фильтра для любого заданного входа может быть рассчитан путем свертки входного сигнала с импульсной характеристикой .
Сигналы преобразуются из временной или пространственной области в частотную область обычно с помощью преобразования Фурье . Преобразование Фурье преобразует информацию о времени или пространстве в компонент амплитуды и фазы каждой частоты. В некоторых приложениях то, как фаза изменяется с частотой, может быть существенным фактором. Когда фаза не важна, преобразование Фурье часто преобразуется в спектр мощности, который представляет собой квадрат амплитуды каждой частотной компоненты.
Наиболее распространенной целью анализа сигналов в частотной области является анализ свойств сигнала. Инженер может изучить спектр, чтобы определить, какие частоты присутствуют во входном сигнале, а какие отсутствуют. Анализ в частотной области также называется спектральным анализом .
Фильтрация, особенно в нереальном времени, может также быть достигнута в частотной области, применяя фильтр и затем преобразуя обратно во временную область. Это может быть эффективной реализацией и может дать по существу любой отклик фильтра, включая превосходные приближения к фильтрам brickwall .
Существуют некоторые часто используемые преобразования частотной области. Например, кепстр преобразует сигнал в частотную область с помощью преобразования Фурье, логарифмирует, затем применяет еще одно преобразование Фурье. Это подчеркивает гармоническую структуру исходного спектра.
Цифровые фильтры бывают с бесконечной импульсной характеристикой (БИХ) и конечной импульсной характеристикой (КИХ). В то время как фильтры КИХ всегда стабильны, фильтры БИХ имеют контуры обратной связи, которые могут стать нестабильными и колебаться. Z-преобразование предоставляет инструмент для анализа проблем устойчивости цифровых БИХ-фильтров. Оно аналогично преобразованию Лапласа , которое используется для проектирования и анализа аналоговых БИХ-фильтров.
Сигнал представляется в виде линейной комбинации его предыдущих выборок. Коэффициенты комбинации называются коэффициентами авторегрессии. Этот метод имеет более высокое разрешение по частоте и может обрабатывать более короткие сигналы по сравнению с преобразованием Фурье. [9] Метод Прони может использоваться для оценки фаз, амплитуд, начальных фаз и затухания компонентов сигнала. [10] [9] Предполагается, что компоненты являются комплексными затухающими экспонентами. [10] [9]
Частотно-временное представление сигнала может охватывать как временную эволюцию, так и частотную структуру анализируемого сигнала. Временное и частотное разрешение ограничены принципом неопределенности, а компромисс регулируется шириной окна анализа. Линейные методы, такие как кратковременное преобразование Фурье , вейвлет-преобразование , банк фильтров , [11] нелинейные (например, преобразование Вигнера–Вилле [10] ) и авторегрессионные методы (например, сегментированный метод Прони) [10] [12] [13] используются для представления сигнала на частотно-временной плоскости. Нелинейные и сегментированные методы Прони могут обеспечить более высокое разрешение, но могут создавать нежелательные артефакты. Частотно-временной анализ обычно используется для анализа нестационарных сигналов. Например, методы оценки фундаментальной частоты , такие как RAPT и PEFAC [14], основаны на оконном спектральном анализе.
В численном анализе и функциональном анализе дискретное вейвлет-преобразование — это любое вейвлет-преобразование , для которого вейвлеты дискретно сэмплируются. Как и в случае с другими вейвлет-преобразованиями, его ключевым преимуществом перед преобразованиями Фурье является временное разрешение: оно фиксирует как частотную, так и локационную информацию. Точность совместного разрешения по времени и частоте ограничена принципом неопределенности времени и частоты.
Эмпирическая модовая декомпозиция основана на разложении сигнала на внутренние модовые функции (IMF). IMF представляют собой квазигармонические колебания, которые извлекаются из сигнала. [15]
Алгоритмы DSP могут быть запущены на компьютерах общего назначения [16] и цифровых сигнальных процессорах . [17] Алгоритмы DSP также реализованы на специально разработанном оборудовании, таком как специализированные интегральные схемы (ASIC). [18] Дополнительные технологии для цифровой обработки сигналов включают более мощные микропроцессоры общего назначения , графические процессоры , программируемые пользователем вентильные матрицы (FPGA), цифровые сигнальные контроллеры (в основном для промышленных приложений, таких как управление двигателем) и потоковые процессоры . [19]
Для систем, не имеющих требования к вычислениям в реальном времени , и данные сигнала (входные или выходные) существуют в файлах данных, обработка может быть выполнена экономично с помощью компьютера общего назначения. По сути, это ничем не отличается от любой другой обработки данных , за исключением того, что используются математические методы DSP (такие как DCT и FFT ), а выборочные данные обычно предполагаются равномерно выбранными во времени или пространстве. Примером такого приложения является обработка цифровых фотографий с помощью программного обеспечения, такого как Photoshop .
Когда приложение требует реального времени, DSP часто реализуется с использованием специализированных или выделенных процессоров или микропроцессоров, иногда с использованием нескольких процессоров или нескольких ядер обработки. Они могут обрабатывать данные с использованием арифметики с фиксированной точкой или плавающей точкой. Для более требовательных приложений могут использоваться FPGA . [20] Для наиболее требовательных приложений или продуктов большого объема ASIC могут быть разработаны специально для приложения.
Параллельные реализации алгоритмов цифровой обработки сигналов, использующие многоядерные архитектуры ЦП и многоядерные архитектуры ГП, разрабатываются для улучшения производительности с точки зрения задержки этих алгоритмов. [21]
Собственная обработка выполняется центральным процессором компьютера, а не DSP или внешней обработкой, которая выполняется дополнительными сторонними чипами DSP, расположенными на картах расширения или внешних аппаратных блоках или стойках. Многиецифровые звуковые рабочие станции,такие какLogic Pro,Cubase,Digital PerformerиPro ToolsLE, используют собственную обработку. Другие, такие какPro ToolsHD,UAD-1 отUniversal AudioTC Electronic,используют обработку DSP.
Общие области применения DSP включают:
Конкретные примеры включают кодирование и передачу речи в цифровых мобильных телефонах , коррекцию звука в помещениях hi-fi и звукоусиления , анализ и управление промышленными процессами , медицинскую визуализацию, такую как компьютерная томография и МРТ , аудиокроссоверы и эквалайзеры , цифровые синтезаторы и блоки аудиоэффектов . [22] DSP используется в технологии слуховых аппаратов с 1996 года, что позволяет использовать автоматические направленные микрофоны, комплексное цифровое шумоподавление и улучшенную настройку частотной характеристики . [23]
Цифровая обработка сигналов (DSP) подразумевает манипуляцию сигналами после их преобразования в цифровой формат. Эта область поддерживается множеством программных инструментов, которые позволяют инженерам, исследователям и любителям разрабатывать, анализировать и реализовывать алгоритмы DSP. В этой статье рассматриваются некоторые из самых популярных программных инструментов, используемых в DSP, с выделением их особенностей, преимуществ и общих приложений.
MATLAB (Matrix Laboratory) — один из наиболее широко используемых программных инструментов для DSP. Он предлагает высокоуровневую среду программирования со встроенными функциями для обработки сигналов, что делает его доступным как для новичков, так и для экспертов.
MATLAB используется для исследований, разработки алгоритмов и создания прототипов в различных областях, таких как телекоммуникации, обработка звука и биомедицинская инженерия.
Python — язык программирования с открытым исходным кодом, который приобрел популярность в научных вычислениях. Такие библиотеки, как NumPy и SciPy, расширяют возможности Python для численных вычислений и обработки сигналов.
Python широко используется в исследованиях, машинном обучении и анализе данных, что делает его пригодным для приложений цифровой обработки сигналов в различных областях.
LabVIEW (Laboratory Virtual Instrument Engineering Workbench) — это платформа для проектирования систем и среда разработки от National Instruments. Она особенно популярна в промышленности для автоматизированного тестирования и измерения.
LabVIEW широко используется во встраиваемых системах, контрольно-измерительных приборах и системах управления, особенно в таких отраслях, как телекоммуникации и автомобилестроение.
GNU Radio — это набор инструментов для разработки программного обеспечения с открытым исходным кодом, который предоставляет блоки обработки сигналов для реализации программно-определяемых радиосистем (SDR) и систем обработки сигналов.
GNU Radio используется в академических исследованиях, создании прототипов систем связи и любительских проектах, связанных с радио и беспроводной связью.
GNU Octave — это альтернатива MATLAB с открытым исходным кодом, предоставляющая аналогичную среду для численных вычислений и обработки сигналов.
Octave особенно полезен в образовательных целях, позволяя студентам изучать концепции цифровой обработки сигналов без затрат на MATLAB.
Для высокопроизводительных приложений DSP часто используются C и C++, особенно когда требуется низкоуровневый контроль над оборудованием. Такие библиотеки, как IPP (Integrated Performance Primitives) от Intel и CMSIS-DSP от ARM, предоставляют оптимизированные функции для обработки сигналов.
C/C++ используется в приложениях, требующих обработки в реальном времени, таких как телекоммуникации, встроенные системы и обработка видео.
Цифровая обработка сигналов — это универсальная область, поддерживаемая широким спектром программных инструментов. От высокоуровневых сред, таких как MATLAB и Python, до низкоуровневого программирования с C/C++, эти инструменты удовлетворяют различные потребности, будь то исследования, образование или промышленные приложения. Поскольку DSP продолжает развиваться, эти программные инструменты играют важную роль в расширении возможностей и эффективности технологий обработки сигналов.
представляют собой импульсы фиксированной ширины, которые занимают только один из двух уровней амплитуды.