Для определения необходимой архитектуры разрабатываемого программно-аппаратного средства, необходимо проанализировать цель и особенности его применения.Основной целью применения разрабатываемого средства является прием аналогового звукового сигнала, поступающего из внешнего источника, анализ этого сигнала на наличие в нем звучащего музыкального тона и выдача результата в виде цифрового сигнала в формате GeneralMIDI на выход устройства. Такое устройство может найти широкое применение в области создания современных музыкальных инструментов, позволяющих музыкантам играть любые тембры, содержащиеся в тон-генераторах. Эти инструменты позволят решать художественные задачи музыкального произведения новыми средствами.
Очевидно, что устройство должно выполнять свою задачу в реальном времени и как можно более точно, ведь инструмент, воспроизводящий звук с задержками и ошибками не пригоден к применению.
Также устройство должно быть мобильным и компактным для встраивания в музыкальные инструменты, следовательно, необходимо обеспечить минимальное энергопотребление и размеры устройства.Функционирование устройства можно разделить на несколько условных этапов:
1.Прием аналогового сигнала
2.Анализ входного сигнала средствами устройства
3.Выдача результата анализа
Структурная схема устройства, способного выполнить данную задачу, представлена на рис. 1.
Рисунок 1 – Структурная схема устройства
Как видно из схемы, анализ поступивших данных (в нашем случае это распознавание музыкальных звуков) выполняет процессор. Задачу распознавания музыкальных звуков можно разделить на три связанные между собой подзадачи:
1.Распознавание начала звукового сигнала
2.Распознавание тона звука
3.Распознавание окончания звукового сигнала
Наиболее простым способом решения этих подзадач является постоянный анализ спектра входного сигнала. Анализируя изменения спектра входного сигнала можно детектировать моменты появления, скорость нарастания и спада и момент исчезновения звука определенной тональности (частоты).
Однако, для проведения такого анализа необходимо предварительно перевести представление сигнала из временной области в частотную, для этого над результатами дискретизации сигнала необходимо произвести преобразование Фурье, что в случае большой частоты дискретизации является довольно сложной задачей.
Целью данной курсовой работы является нахождение наиболее эффективных средств реализации заданного устройства. Техническое задание к работе находится в Приложении А.
Из анализа требований к устройству были получены следующие основные внешние показатели качества:
- Достоверность распознавания музыкального звука, ошибки распознавания делают устройство бессмысленным;
- Быстродействие (время отклика), задержки устройства не должны быть заметны для пользователя;
- Ресурсоемкость, включающая в себя энергопотребление и количество корпусов устройства, определяющих размер устройства.
Анализируя предполагаемую структурную схему устройства можно прийти к выводу, что использование отдельных микросхем для выполнения каждой задачи приведет к недопустимому увеличению размеров и потребляемой мощности устройства, однако на рынке микроэлементов присутствую специально предназначенные для задач обработки сигналов Цифровые Сигнальные Процессоры (DigitalSignalProcessors, DSP)
DSP предназначены для осуществления цифровой обработки сигнала - математических манипуляций над оцифрованными сигналами.
Они широко применяются в беспроводных системах, аудио- и видеообработке, системах управления. Цифровые сигнальные процессоры, как правило, оснащены всеми необходимыми для обработки сигналов цифровыми устройствами (АЦП, интерфейсными узлами) К настоящему времени появилось множество типов DSP, как универсальных, так и ориентированных на достаточно узкий круг задач.
Таким образом, основной задачей поискового проектирования становится выбор процессора, наиболее отвечающего параметрам задачи.
Таблица 1. Основные производители DSP и принадлежащие им доли рынка
Компания | Доля рынка DSP | |
1 | Texas Instruments | 54,3% |
2 | Freescale Semiconductor | 14,1% |
3 | Analog Devices | 8,0% |
4 | Philips Semiconductors | 7,5% |
5 | Остальные | 24,7% |
Для разрабатываемого устройства степень интеграции и потребляемая мощность являются первостепенными, а максимальная производительность не нужна, так как она влечет за собой значительное повышение потребляемой мощности, не давая преимуществ при обработке относительно низкоскоростных аудиоданных. Область поиска сужается до серий DSP с низким уровнем потребления энергии. Подобные серии DSP представлены у большинства основных производителей цифровых сигнальных процессоров.
Таблица 2. Серии DSP низким энергопотреблением
Компания | Серия DSP | |
1 | Microchip | dsPIC 33x |
2 | Texas Instruments | C5000 |
3 | Analog Devices | ADSP-21xx |
Из основных внутренних параметров представленных на рынке DSP с низким уровнем потребления энергии, были выделены следующие параметры в качестве внутренних переменных:
1) Производительность,MIPS
2) Объем Памяти Данных (RAM), KWords
3) Объем Памяти Программ (ROM), KWords
4) Поддержка расширенных вычислений
5) Оптимизированный набор инструкций
6) Поддержка JTAG
7) Разрядность АЦП
8) Аппаратное ускорение FFT
Подробная расшифровка параметров по группам, к которым они относятся:
Свойства вычислительного ядра процессора:
Производительность, MIPS– один из ключевых параметров DSP, влияющий на время обработки входного сигнала и, следовательно, определяет его максимальную частоту. Большинство производителей указывают производительность процессоров в MIPS – миллионах инструкций в секунду.
Поддержка расширенных вычислений – вычислительные ядра всех DSP, относящиеся к группе процессоров с низким энергопотреблением, разработаны для проведения операций с 16-битными числами с фиксированной запятой. DSP, обрабатывающие числа с фиксированной запятой, обладают большей абсолютной точностью (все разряды выделены под мантиссу), но меньшим динамическим диапазоном по сравнению с процессорами, работающими с плавающей запятой. В случае простых алгоритмов обработки это не важно, так как динамический диапазон реальных входных сигналов чаще всего меньше, чем допускает DSP.
Многие производители добавляют в свои процессоры специальные блоки и инструкции, позволяющие обрабатывать числа увеличенной разрядности,или эмулировать работу с числами с плавающей запятой, однако использование этих возможностей значительно усложняет программу и снижает быстродействие.
Организация системы памяти:
Объем Памяти Программ, Объем Памяти Данных – встроенная в процессор память обычно имеет большую скорость работы, чем внешняя, однако увеличение её объема увеличивает стоимость и энергопотребление DSP, а ограниченный объем памяти не позволяет хранить программы и данные сложных алгоритмов. В то же время при достаточном объеме встроенной памяти значительно упрощается конструкция и программа устройства (нет необходимости обращаться к внешней памяти). Так же это приводит к уменьшению размеров и энергопотребления устройства в целом.
Удобство разработки программы:
Оптимизированный набор инструкций – многие производители оптимизируют набор инструкций своих процессоров для более удобной компиляции программ с языков высокого уровня (ЯВУ). Программы, написанные на ЯВУ, обычно менее компактны и быстры, чем программынаписанные целиком на языке ассемблера данного процессора, однако они разрабатываются быстрее и проще отлаживаются.
Поддержка JTAG – почти все современные процессоры поддерживают внутрисхемную эмуляцию в соответствии со стандартом IEEE 1149.1 JTAG. При использовании данной технологии можно получить непосредственный контроль над процессором при выполнении программы, что позволяет значительно увеличить надежность и глубину процесса отладки.
Периферийные устройства:
Разрядность АЦП – наличие встроенного в процессор АЦП достаточной разрядности (что определяет количество уровней квантования сигнала и, следовательно, влияет на точность работы устройства) упрощает конструкцию и программу устройства, что приводит к уменьшению размеров и энергопотребления устройства.
Аппаратное ускорение FFT – аппаратная поддержка алгоритма «Быстрого Преобразования Фурье» позволит упростить программу и увеличить быстродействие системы в целом.
Оценим степень аналитичности поставленной открытой задачи:
где n – число предметных переменных, L – число внешних показателей качества, I – число элементов, являющихся пересечением множества предметных переменных и множества внешних показателей качества.
Всего рассмотрено 8 предметных переменных и 3 внешних показателя качества. Множества ВПК и предметных переменных не имеют пересечений.
Sаналит = (8 - 0) / 3 = 2,66.
Таблица 3. Поисковое пространство параметров открытой задачи
Параметр | Значения | ||||
Свойства вычислительного ядра процессора | Поддержка расширенных вычислений | Нет | Есть | ||
Производительность, MIPS | <50 | 50-100 | 100-200 | >200 | |
Организация системы памяти | Объем памяти программ (ROM) | <8K | 8K-16K | 16K-32K | >32K |
Объем памяти данных (RAM) | <4K | 4K-16K | 16K-32K | >32K | |
Удобство программирования | Оптимизированный набор инструкций | Нет | Есть | ||
Поддержка JTAG | Нет | Есть | |||
Периферийные устройства | Разрядность АЦП | 0 | 10 | 12 | 14 |
Встроенное FFT ускорение | Есть | Нет |
Так как на рынке представлены модели процессоров с любым сочетанием приведенных параметров (что объясняется узкой специализацией каждого из них) и среди всех комбинаций нет полностью абсурдных, то в данном случае нет необходимости вводить запрещенные комбинации.