Проектирование устройства преобразования и воспроизведения музыкальных звуков

СОДЕРЖАНИЕ: Введение Для определения необходимой архитектуры разрабатываемого программно-аппаратного средства, необходимо проанализировать цель и особенности его применения. Основной целью применения разрабатываемого средства является прием аналогового звукового сигнала, поступающего из внешнего источника, анализ этого сигнала на наличие в нем звучащего музыкального тона и выдача результата в виде цифрового сигнала в формате General MIDI на выход устройства.

Введение

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

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

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

1.Прием аналогового сигнала

2.Анализ входного сигнала средствами устройства

3.Выдача результата анализа

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


Рисунок 1 – Структурная схема устройства

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

1.Распознавание начала звукового сигнала

2.Распознавание тона звука

3.Распознавание окончания звукового сигнала

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

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

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


Выбор проблемной среды и постановка открытой задачи

Из анализа требований к устройству были получены следующие основные внешние показатели качества:

- Достоверность распознавания музыкального звука , ошибки распознавания делают устройство бессмысленным;

- Быстродействие (время отклика) , задержки устройства не должны быть заметны для пользователя;

- Ресурсоемкость, включающая в себя энергопотребление и количество корпусов устройства, определяющих размер устройства.

Анализируя предполагаемую структурную схему устройства можно прийти к выводу, что использование отдельных микросхем для выполнения каждой задачи приведет к недопустимому увеличению размеров и потребляемой мощности устройства, однако на рынке микроэлементов присутствую специально предназначенные для задач обработки сигналов Цифровые Сигнальные Процессоры ( Digital Signal Processors , 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 ускорение Есть Нет

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


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

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

Алгоритм работы БКО:

1.БКО анализирует вектор значений гипотезы, сопоставляя каждой переменной свой коэффициент согласно таблице 4.

Таблица 4. Коэффициенты значений предметных переменных

Значения
Поддержка расширенных вычислений 0,975 1,025
Производительность, MIPS 0,9 1,1 1,2 1,1
Объем памяти программ (ROM) 0,9 1,1 1,075 1,05
Объем памяти данных (RAM) 0,9 1,05 1,1 1,075
Оптимизированный набор инструкций 0,95 1,05
Поддержка JTAG 0,975 1,025
Разрядность АЦП 0,8 0,9 1,2 1,1
Встроенное FFT ускорение 0,95 1,05

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

2.БКО умножает полученные коэффициенты друг на друга. В случае если результат больше единицы (K 1), то гипотеза признается положительной, иначе – отрицательной.

Исходный код БКО приведен в Приложении Б. Поскольку для разработки БКО использовался пример, разработанный предыдущими курсами, в Приложении Б приведен только код метода AppreciateHipothesis(), осуществляющего проверку и оценку списка гипотез в соответствии с заданным алгоритмом.

Формирование начальной базы знаний

Для формирования начальной базы удачных и неудачных фактов были выбраны DSP фирм Microchip, AnalogDevices и TexasInstruments. Удачные факты приведены в таблице 5, неудачные приведены в таблице 6.

Таблица 5. Примеры удачных фактов из начальной таблицы знаний

Имя факта Вес Вектор значений
1 2 3 4 5 6 7 8
Microchip PIC ds33FJ256GP710A 0 Нет 50 16K-32K 16K-32K Нет Есть 12 Есть
Analog Devices ADSP-2187N 0 Есть 50-100 16K-32K 16K-32K Есть Есть 0 Есть
Texas Instruments 320UC5402-100 0 Есть 100-200 16K-32K 16K-32K Есть Есть 0 Есть

Таблица 6. Примеры неудачных фактов из начальной таблицы знаний

Имя факта Вес Вектор значений
1 2 3 4 5 6 7 8
Microchip PIC ds33FJ06GS102 0 Нет 50 8K 4K Нет Нет 0 Нет
Analog Devices ADSP-2184N 0 Есть 50-100 8K 4K Нет Нет 0 Нет
Texas Instruments 320UC54A1-532 0 Есть 200 8K 32K Есть Есть 0 Нет

Решение открытой задачи

Критерии остановки:

1.Слабая динамика изменения коэффициентов функции выбора

2.Близкое к нулю количество противоречивых гипотез

Начальный вид функции выбора представлен в таблице 7.

Таблица 7. Начальный вид функции выбора

Параметр 1 2 3 4
1 Поддержка расширенных вычислений 0 0
2 Производительность, MIPS 0 0 0 -3
3 Объем памяти программ (ROM) -9 0 9 0
4 Объем памяти данных (RAM) -6 0 9 -3
5 Оптимизированный набор инструкций -3 3
6 Поддержка JTAG -6 6
7 Разрядность АЦП -3 0 3 0
8 Встроенное FFT ускорение -9 9

Протокол обучения решателя представлен в таблице 8.

Таблица 8. Протокол обучения решателя

Уровень знаний Общее число фактов Число гипотез Число подтвержденных гипотез Число опровергнутых гипотез
+ -
1 6 9 46 8 47
2 61 31 31 31 31
3 123 61 31 50 42
4 215 31 31 42 20
5 277 31 61 44 48
6 369 32 60 63 29
7 461 61 91 97 55
8 613 32 86 82 36
9 731 31 31 39 23
10 793 61 31 54 38
11 885 31 31 40 22
12 947 31 53 51 33
13 1031 84 31 82 33
14 1146 61 31 67 25
15 1238 31 16 24 23
16 1285 31 20 28 23
17 1336 31 13 33 11
18 1380 26 7 22 11
19 1413 24 15 27 12
Уровень знаний Общее число фактов Число гипотез Число подтвержденных гипотез Число опровергнутых гипотез
+ -
20 1452 27 12 31 8
21 1491 17 9 22 4
22 1517 10 8 13 5
23 1535 11 11 15 7
24 1557 12 4 11 5
25 1573 18 1 14 5
26 1592 7 3 8 2
27 1602 9 4 10 3
28 1615 8 4 10 2
29 1627

К 29-ой итерации количество генерируемых гипотез упало и выровнялось, а количество опровергнутых гипотез среди них стало минимальным. Таким образом, можно отметить факт окончания обучения решателя. Конечный вид функции выбора представлен в таблице 9. График зависимости числа генерируемых гипотез и числа противоречий от уровня знаний Решателя представлен на рисунке 2.

Таблица 9. Конечный вид функции выбора

Параметр 1 2 3 4
1 Поддержка расширенных вычислений -10653 581
2 Производительность, MIPS -112640 29200 42690 30421
3 Объем памяти программ (ROM) -85037 21601 34143 21601
4 Объем памяти данных (RAM) -73648 16875 16875 16875
5 Оптимизированный набор инструкций -34779 34401
6 Поддержка JTAG -18946 18512
7 Разрядность АЦП -138105 -68925 120625 86405
8 Встроенное FFT ускорение -28302 20390

Анализ результатов решения задачи

Анализ весовых коэффициентов параметров

Результат ранжирования параметров, с учетом полученных весовых коэффициентов Cij , по формуле

wi = |maxjij ) - minj (Cij )|

Таблица 10. Проранжированные параметры

Параметр wi Ранг
1 Поддержка расширенных вычислений 11234 8
2 Производительность, MIPS 155330 2
3 Объем памяти программ (ROM) 119180 3
4 Объем памяти данных (RAM) 90523 4
5 Оптимизированный набор инструкций 69180 5
6 Поддержка JTAG 37458 7
7 Разрядность АЦП 258730 1
8 Встроенное FFT ускорение 48692 6

Ранжирование показывает, что Решатель правильно определил важность параметров в их влиянии на ВПК. Так от разрядности АЦП будет зависеть достоверность распознавания, производительность системы оказывает прямое влияние на быстродействие и косвенно влияет на достоверность распознавания , ведь недостаток вычислительной мощности процессора не позволит реализовать более сложные программные алгоритмы, сохранив при этом приемлемое время отклика всего устройства. Объем памяти данных и объем памяти программ так же должны быть достаточными для реализации программного алгоритма, иначе придется использовать внешнюю память, что уменьшит быстродействие системы, но увеличит её ресурсоёмкость . Далее по списку расположены параметры, влияющие на удобство разработки системы. Эти параметры важны для разработчика, но не оказывают прямого влияния на ВПК.


Анализ нелинейных компонент

В результате обучения Решателя было получено 167 нелинейных компонент.В таблице 11 приведены 5 наиболее весомых из них.

Таблица 11. Нелинейные компоненты

Вес Параметр Значение
1 -144705 Встроенное FFT ускорение Нет
Объем памяти данных (RAM) 4K
Поддержка JTAG Есть
Поддержка расширенных вычислений Нет
Разрядность АЦП 12
21 -122996 Оптимизированный набор инструкций Нет
Поддержка расширенных вычислений Нет
Производительность 50-100
Разрядность АЦП 12
Объем памяти данных (RAM) 4K
Объем памяти программ (ROM) 8K
114 -143484 Объем памяти данных (RAM) 4K
Объем памяти программ (ROM) 32K
Поддержка JTAG Нет
Поддержка расширенных вычислений Нет
Производительность 50-100
Разрядность АЦП 12
130 -144705 Объем памяти данных (RAM) 4K
Объем памяти программ (ROM) 32K
Поддержка JTAG Нет
Поддержка расширенных вычислений Нет
Производительность 200
Разрядность АЦП 12
122 -124217 Встроенное FFT ускорение Есть
Поддержка JTAG Есть
Поддержка расширенных вычислений Нет
Производительность 200
Разрядность АЦП 12

Все приведенные нелинейные компоненты, кроме компоненты №122, являются безусловно слабыми, так как имеют недостаточный объем внутренней памяти данных. Компонента №122 является слишком сильным решением, так подобная производительность будет излишней в условиях данной задачи.

Анализ полученных решений

Из рисунка 4 хорошо видно, что Решатель выдает реалистичные и, самое главное, сбалансированные решения, которые можно использовать для применения в заданной проблемной области. В подтверждение этого в таблице 12 приведены примеры DSP, рекомендованные производителями для применения в аудиоустройствах.

Таблица 13. Пример существующих решений

DSP Вектор значений
1 2 3 4 5 6 7 8

Analog Devices

ADSP-2185N

Есть 100-200 8K-16K 4K-16K Есть Есть 12 Есть

Texas Instrument

320UC5409-100

Есть 100-200 16К-32К 4К-16К Есть Есть 12 Есть

Анализ числовых характеристик

Коэффициент сокращения перебора:

где Nполн – полное число переборов;Nнач - число фактов в начальной базе;Nоцен – число оцененных фактов.

Коэффициент новизны:

где – объем начальной базы удачных фактов;

– количество значений параметров i-го типа;

– порядковые индексы, определяющие порядковые номера j-х значений i-го параметра в приоритетном ряду коэффициентов Cij , начиная с maxCij .

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


Вывод

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

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


Список использованной литературы

1. Лекции по курсу «Поисковое проектирование вычислительных систем». И.И. Дзегеленок, 2010

2. Открытые задачи поискового проектирования. И.И. Дзегеленок под ред. Ю.В. Кандырина. - М:МЭИ, 1991 г. - 68 с.

3. Лабораторные работы по курсу «Поисковое проектирование вычислительных систем». И.И.Дзегеленок, Ю.В. Аляева, А.Ю. Кузнецов. - М: Издательство МЭИ, 2004 г. - 40 с.

4. Сайткомпании Texas Instrument http://www.ti.com

5. Сайткомпании Analog Devices http://www.analog.com

6. Сайткомпании Microchip http://www.microchip.com

7. Цифровые сигнальные процессоры: Основы Выбора. А. Пантелейчук, 2007

8. О союзе физиков и лириков или О том, как появилась современная электрогитара. С. Арзуманов, 2009

9. Часто Задаваемые Вопросы по электронному созданию и обработке звука. Е. Музыченко, 1998

10. МатериалыBerkeley Design Technology, Inc.http://www.bdti.com

Скачать архив с текстом документа