Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

Модель, численные методы и комплекс программ для акустического анализа голоса в задачах диагностики голосовых расстройств Тиунов Сергей Дмитриевич

Модель, численные методы и комплекс программ для акустического анализа голоса в задачах диагностики голосовых расстройств
<
Модель, численные методы и комплекс программ для акустического анализа голоса в задачах диагностики голосовых расстройств Модель, численные методы и комплекс программ для акустического анализа голоса в задачах диагностики голосовых расстройств Модель, численные методы и комплекс программ для акустического анализа голоса в задачах диагностики голосовых расстройств Модель, численные методы и комплекс программ для акустического анализа голоса в задачах диагностики голосовых расстройств Модель, численные методы и комплекс программ для акустического анализа голоса в задачах диагностики голосовых расстройств Модель, численные методы и комплекс программ для акустического анализа голоса в задачах диагностики голосовых расстройств Модель, численные методы и комплекс программ для акустического анализа голоса в задачах диагностики голосовых расстройств Модель, численные методы и комплекс программ для акустического анализа голоса в задачах диагностики голосовых расстройств Модель, численные методы и комплекс программ для акустического анализа голоса в задачах диагностики голосовых расстройств Модель, численные методы и комплекс программ для акустического анализа голоса в задачах диагностики голосовых расстройств Модель, численные методы и комплекс программ для акустического анализа голоса в задачах диагностики голосовых расстройств Модель, численные методы и комплекс программ для акустического анализа голоса в задачах диагностики голосовых расстройств Модель, численные методы и комплекс программ для акустического анализа голоса в задачах диагностики голосовых расстройств Модель, численные методы и комплекс программ для акустического анализа голоса в задачах диагностики голосовых расстройств Модель, численные методы и комплекс программ для акустического анализа голоса в задачах диагностики голосовых расстройств
>

Диссертация - 480 руб., доставка 10 минут, круглосуточно, без выходных и праздников

Автореферат - бесплатно, доставка 10 минут, круглосуточно, без выходных и праздников

Тиунов Сергей Дмитриевич. Модель, численные методы и комплекс программ для акустического анализа голоса в задачах диагностики голосовых расстройств: диссертация ... кандидата технических наук: 05.13.18 / Тиунов Сергей Дмитриевич;[Место защиты: Томский государственный университет систем управления и радиоэлектроники].- Томск, 2014.- 133 с.

Содержание к диссертации

Введение

Глава 1 Обзор существующих моделей и алгоритмов 9

1.1 Обзор моделей голосовых источников 10

1.1.1 Модели с сосредоточенными массами 10

1.1.2 Модели с высоким разрешением

1.2 Обзор влияния патологии на голосовой орган 13

1.3 Обзор моделей воспалительных процессов 14

1.4 Обзор моделей болевых ощущений

1.4.1 Эффект «взвинчивания» 16

1.4.2 Обзор экспериментальных данных по чувствительности нейронов 18

1.4.3 Обзор влияния воспалительного процесса на физические свойства голосовых складок 1.5 Методы акустического анализа качества голоса 20

1.6 Обзор алгоритмов вычисления ЧОТ 23

1.7 Обзор структуры выбранного алгоритма вычисления ЧОТ 27

1.8 Методы эффективной цифровой фильтрации 30

1.9 Методы эффективного вычисления сверток фиксированного размера 1.9.1 Вычисление требуемой длины свертки 33

1.9.2 Наивные алгоритмы вычисления линейной и циклической свертки 34

1.9.3 Вычисление циклической свертки через быстрое преобразование Фурье 34

1.9.4 Вычисление линейной свертки по методу итерирования 35

1.9.5 Эффективные алгоритмы вычисления коротких сверток 36

1.9.6 Сравнение алгоритмов вычисления свертки конечного размера 38

Выводы по главе и постановка задачи 40

Глава 2 Модель работы воспаленных голосовых складок 42

2.1 Математическое описание предлагаемой модели 43

2.1.1 Трехмассовая модель голосовых складок

2.1.2 Модель речевого тракта 45

2.1.3 Модель мышечного управления голосовыми складками 48

2.1.4 Модель ноцицепции 52

2.1.5 Организация прямой связи моделей 54

2.1.6 Организация обратной связи модели ноцицепции и модели голосовых складок 56

2.2 Результаты моделирования голосообразования при патологии 57

Выводы по главе 61

Глава 3 Алгоритм вычисления спектрограммы 63

3.1 Описание алгоритма вычисления спектрограммы 63

3.2 Оценка сложности алгоритма вычисления спектрограммы 64

3.3 Сравнение алгоритмов вычисления спектрограммы по точности 67

Выводы по главе 70

Глава 4 Метод и алгоритм вычисления одновременной маскировки 71

4.1 Исследование возможностей повышения эффективности вычисления одновременной маскировки 73

4.1.1 Исследование формулы одновременной маскировки 73

4.1.2 Вычисление одновременной маскировки путем цифровой фильтрации 74

4.1.3 Вычисление маскирующей матрицы 75

4.1.4 Частотные шкалы

4.2 Построение алгоритма одновременной маскировки 80

4.3 Экспериментальное исследование полученного алгоритма одновременной маскировки

4.3.1 Планирование эксперимента 85

4.3.2 Анализ экспериментальных данных по времени вычисления 86

4.3.3 Анализ экспериментальных данных по ошибкам вычисления 88

Выводы по главе 91

Глава 5 Алгоритм вычисления частоты основного тона 92

5.1 Анализ возможностей повышения эффективности вычисления ЧОТ 93

5.1.1 Исключение тривиальных операций 93

5.1.2 Использование динамического программирования 95

5.1.3 Таблицы поискан векторизация 96

5.1.4 Сочетание рассмотренных подходов 99

5.2 Построение оптимизированного алгоритма вычисления частоты основного тона 100 5.2.1 Заполнение таблицы поиска 100

5.2.2 Алгоритм быстрого поиска оптимального шаблона 102

5.3 Оценка вычислительной сложности алгоритма 103

Выводы по главе 107

Глава 6 Комплекс программ для обработки речевых сигналов 109

6.1 Структура комплекса программ 109

6.2 Структура вычислительного процесса ПО

6.3 Использование параллельной обработки 112

6.4 Тестирование комплекса программ 113

6.5 Внедрение комплекса программ 114

Выводы по главе 115

Заключение 116

Список использованных источников

Обзор влияния патологии на голосовой орган

Критика моделей с сосредоточенными массами связана с двумя обстоятельствами [6]. Во-первых, характеристики пружин и амортизаторов связаны с физиологическими характеристиками тканей голосовых складок неявно и выбираются эмпирически. Это особенно характерно для одно- и двухмассовых моделей, трехмассовая модель позволяет отдельно задавать характеристики массы и поверхности складок, различными с точки зрения физиологии складок [3]. Для того чтобы упростить решение этой проблемы были разработаны специальные правила для связи нормализованных уровней активации мышц и величин моделей, таких как жесткости пружин [11]. Во-вторых, пространственное разрешение таких моделей (даже с большим количеством масс) является недостаточным для точного исследования механики голосовых складок [12].

Для того чтобы построить модели с более высоким пространственным разрешением, использовался подход на основе механики сплошных сред и позднее на основе метода конечных элементов [13, 14, 12, 15]. Однако исследования данных моделей показали, что основную информацию о вибрации голосовых складок дают уже первые 2-3 моды вибрации, поэтому простые модели с сосредоточенными массами могут быть полезным инструментом исследований, если не требуется значительной точности [3, 4].

Изначально одно- и двухмассовые модели предназначались для моделирования голосового источника при синтезе речи, и считалось, что они дают более естественное звучание, нежели другие методы. Однако двухмассовая модель оказалась достаточно успешной и ее использовали для исследования различных расстройств голосовых складок [3]. В настоящее время в медицинских целях находят применение оба типа моделей: одни благодаря своей простоте, другие -благодаря высокой точности [16, 17, 18, 19].

В данной работе мы концентрировались на относительно «легких» патологиях, такие как острый и хронический ларингит (в сравнении с более тяжелыми заболеваниями, такими как рак гортани), поскольку у нас есть достаточно большая выборка реальных данных лечения таких заболеваний, с помощью которой впоследствии можно будет проверить сделанные выводы [20]. Расстройства голосовой функции принято объединять общим названием «дисфония» [21].

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

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

Ларингит - это воспаление слизистой оболочки гортани, таким образом, ларингит является причиной органической дисфонии. Согласно [21], острые и хронические ларингиты сопровождаются следующими эффектами: - воспалительные процессы на слизистой оболочки гортани (в основном, голосовых складок); такое воспаление вызывает опухание голосовых складок (рисунок 1.3 [22]); это в свою очередь может вызвать охриплость и иногда блокирует дыхательные пути; - боли, не позволяющие сложному двигательному акту, осуществляемому глоткой, совершаться полноценно и в динамике; - нарушение нормального функционирования рецепторов тройничного, языкоглоточного и блуждающего нервов, в результате чего происходят изменения в тембре и нормальном режиме вибрации голосовых складок. Рисунок 1.3 - Голосовые складки в норме и при ларингите Воспаление характеризуется пятью составляющими: покраснение, отек, жар, боль и нарушение функции, причем ни одна из составляющих не является обязательной [23]. В случае расстройства голосовой функции важной составляющей воспаления является отек (опухлость), поскольку он влияет на физические и геометрические параметры голосовых складок. Из-за опухлости голосовые складки смыкаются не полностью, пропускают воздух, что приводит к осиплости голоса [9]. Другой важной составляющей воспаления является боль.

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

Воспалительный процесс является комплексным явлением и включает в себя множество действующих субъектов. Основным показателем воспалительного процесса является провоспа-лительные (IL-1/3, TNF-о;) и противовоспалительные (IL-10, TGF-/5) медиаторы - специальные молекулы, которые вызывают ответную реакцию ткани на воспаление и запускают восстановительные процессы. Классическим подходом к исследованию воспалительных процессов являются животные модели, например, в [24] рассматривается искусственно вызванный ларингит у набора крыс.

В последнее время все большее распространение в медицине стали получать вычислительные эксперименты (in silico). В задаче моделирования воспалительных процессов удобным является использование агентного моделирования [25], при таком подходе действующие субъекты (молекулы, клетки) представлены как взаимодействующие агенты. Другие вычислительные подходы для решения той же задачи рассмотрены в [26, 27] и включают в себя моделирование в виде системы дифференциальных уравнений, системную динамику и гибридные подходы.

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

Модель мышечного управления голосовыми складками

Модель состоит из двух основных блоков: трехмассовой модели голосовых связок и модели ноцицепции (см. рисунок 2.1). Обе эти модели описываются системами дифференциальных уравнений, а прямая и обратная связи — обычными системами уравнений. Таким образом, модель в целом представляет собой систему обыкновенных дифференциальных уравнений.

Трехмассовая модель голосовых складок [3] является моделью с сосредоточенными массами: каждая голосовая складка представляется в виде трех частей: тела (индекс b — body), верхней части поверхности складки (индекс и — upper) и нижней части поверхности складки (индекс / — lower). Каждая часть (для простоты) имеет форму параллелепипеда размера Т х D х L (причем Lu = Li = Lf, = Lg — длина голосовых складок), см. рисунок 2.26. Каждая часть также обладает параметрами массы га, упругости к и затухания d, а верхняя и нижняя часть поверхности связаны также через упругость поверхности кс, см. рисунок 2.2в.

В классических работах по моделированию голосообразования речевой тракт моделируется в виде эквивалентной электрической цепи [7, 8]. Такие цепи состоят из эквивалентных акустических сопротивлений R, емкостей С и инертностей L, то есть исключительно линейные элементы. При расчетах таких цепей оперируют потоком воздуха U и давлением Р (аналоги электрического тока и напряжения), а сами расчеты ведутся аналогично расчетам линейных электрических цепей, например, методом контурных токов [82]. В данной работе использовалась модель речевого тракта, представленная в классической работе о двухмассовой модели голосовых складок [8], поскольку она хорошо описана и широко используется.

Акустическая цепь состоит из легких (индекс s), голосовых складок (индекс д), секций речевого тракта (индексы 1... г... п) и ротового резонатора (индекс R). Легкие, бронхи и трахея моделируются как источник постоянного давления Ps. Верхняя и нижняя часть голосовой складки моделируются с помощью сопротивления вязкости Rvu, Rvi, кинетического сопротивления Rku, Rki и инертности воздуха Ьди, Ьдг. площадь голосовой щели в первой секции голосового тракта. При произнесении гласных (а в данной работе рассматривается только этот случай) площади поперечного сечения голосового тракта А\... Ап постоянны и больше нуля, а площади поперечного сечения частей глотки, напротив, периодически изменяются и могут уменьшаться вплоть до нуля:

Собственно речевой тракт представлен в виде последовательности цилиндрических, твер-достенных секций с площадями поперечного сечения А\... Ап и длинами 1\... 1п. Различные значения АІ и U позволяют относительно точно моделировать форму речевого тракта. В данной работе использовались значения данных параметров, соответствующие различным гласным звукам.

Каждая г-тая секция обладает индуктивностью (инерцией) Li, емкостью СІ И сопротивлением потерь Ri. Гортань не является системой со статическими параметрами. Практически все физические характеристики голосовых складок, включая размеры частей, коэффициенты упругости и вязкости, зависят от конфигурации голосовых складок. Человек управляет конфигурацией своих голосовых складкок с помощью внутренних мышц гортани [21]. Различают следующие основные группы внутренних мышц гортани (рисунок 2.4: - аддукторы (фонаторы) — мышцы, суживающие голосовую щель путем сближения голосовых складок; - абдукторы (дыхательные мышцы) — мышцы, расширяющие голосовую щель путем отодвигания голосовых складок; - тензоры (натягиватели) — мышцы, натягивающие голосовые складки; - мышцы, нагибающие надгортанник.

Работа [11] посвящена моделированию управления голосовыми складками с помощью уровней активации мышц. В качестве моделей голосовых складок в этой работе рассматривает Рти — Pml — — \ {R vu + RvljUg + (Lgu + Lgi) Mtrrttvefia hyulhymudaa Внутренние мышцы гортани ся трехмассовая модель [3] и вращательно-поступательная модель [83], поскольку они описывают необходимые моды сдвига и сжатия, а также учитывают биологические различия между телом и поверхностью голосовой складки. Кратко параметры обеих моделей представлены на рисунке 2.5.

В работе приводится упрощенная модель мышечного управления голосовыми складками, которая учитывает работу следующих мышц: - перстнещитовидная (cricothyroid, СТ) — тензор; - щиточерпаловидная мышца (thyroarytenoid, ТА) — аддуктор; - латеральная перстнечерпаловидная мышца (lateral cricoarytenoid, LC) — аддуктор; - задняя перстнечерпаловидная мышца (posterior cricoarytenoid, PC) — абдуктор. В работе вводится понятие «уровень активации мышцы» — это некоторая безразмерная величина, которая означает степень сжатия мышцы. Используются следующие уровни активации мышц:

Далее приводятся т.н. правила — эмпирические зависимости различных параметров модели голосовых складок от уровней активации мышц — всего пять правил. Правило растяжения. Растяжение голосовой складки:

Это правило фиксирует «просто касание» складок (02 = 0) при аьс = 0.5. При аьс 0.5 голосовые складки сдавливаются друг с другом (на самом деле пересекаются (overlapped)). При аьс 0.5 голосовые складки разделены. При аьс = 0 голосовые складки расслаблены. При аьс 0 голосовые складки разведены (для дыхания, например).

Правило сходимости. Чистая сходимость с = 01 — 02 (см. рисунок 2.5) рассчитывается по следующему правилу: модель обратной связи ноцицепции и голосообразования, и это начинает понижать уровень ак-тивациии мышцы аьс с тем, чтобы уменьшить уровень воспринимаемой боли (рисунок 2.Ив). Понижение уровня активации мышцы приводит к тому, что конфигурация голосовых складок меняется: увеличивается длина, уменьшается толщина и глубина голосовых складок, но самое главное — происходит абдукция, то есть голосовые складки раздвигаются, что в конечном итоге приводит к понижению давления на них.

Из теории автоматического управления известно, что возможны несколько вариантов реакции системы на единичный скачок (рисунок 2.12) [84].

В случае системы голосообразования при гипералгезии единичным скачком является подача давления Ps = const из легких в момент времени t = 0, а переходный процесс системы больше похож на колебательный процесс. В связи с этим период и амплитуда колебаний меняются во времени, что может быть показано с помощью таких акустических параметров как jitter и shimmer. Давление воздуха на выходе голосового тракта при гипералгезии показано на рисунке 2.11г. Небольшая длительность голоса является одним из симптомов острого ларингита, и как видно из графика, может быть полностью объяснена реакцией на болевые ощущения. Также сигнал на рисунке 2.Иг характеризуется такими симптомами ларингита как малая сила голоса и потеря голоса (афония).

Сравнение алгоритмов вычисления спектрограммы по точности

В данном разделе будет разработан и описан алгоритм расчета одновременной маскировки через цифровую фильтрацию. Заметим, что этот подход к расчету применим только в случае возможности сведения вычислений к цифровой фильтрации (см. предыдущий раздел). Если это условие (заданное формулой (4.5)) выполняется, то результат одновременной маскировки М может быть вычислен с помощью цифровой фильтрации (формула (4.7)). Этот результат справедлив при N = 1 (т. е. сигнала из одного временного отсчета). Если N 1, то подобные вычисления следует повторить для каждого гг-ного временного отсчета.

Значения Ьт и Ьах являются решениями уравнения Н{к, Ї) = . Если выполняется условие (4.5), то Н{к,1) = Н{1), то есть не зависит от к. Поскольку / является независимой переменной, то и решения уравнения Н{1) = также не зависят от к. Следовательно L не зависит от к, т. е. для расчета значение к может быть выбрано любым. Таким образом, значение L зависит от выбранной точности , а также от параметров шкалы частот К, f\, /. В таблице 4.3 приведены значения L, рассчитанные для различных значений (иі( при фиксированных значениях fi = 50 Гц и fh = 4000 Гц.

Как и в случае расчета спектрограммы в данном случае может быть использован подобный подход к построению алгоритма: метод перекрытия с накоплением используется для потоковой фильтрации, один из методов может быть использован для расчета циклической свертки фиксированной длины. Однако по сравнению с расчетом спектрограммы длина окна фильтрации значительно меньше: 9-55 против 229-2363 (в зависимости от параметров). Это означает, что алгоритм циклической свертки, оптимальный с точки зрения минимизации вычислительной сложности потоковой фильтрации для расчета одновременной маскировки, может отличаться от оптимального алгоритма циклической свертки для расчета спектрограммы.

Выведем формулу для количества операций, необходимых алгоритму, основанному на цифровой фильтрации, для обработки входного массива, соответствующего одной секунде. Пусть входной сигнал имеет частоту дискретизации fq, спектрограмма имеет К каналов, а окно фильтрации для расчета одновременной маскировки имеет размер L. Поскольку на каналах с номерами к Ьик К — L необходимо «расширение» области частот, то к каждому входному вектору Мк необходимо добавить по L/2 отсчетов с каждой стороны (рисунок 4.1). окна фильтрации (одновременной маскировки) спектр спектр в спектр на отсчете / расширенной на отсчете І+1 области частот

Тогда входная матрица размера fqxK для фильтрации преобразуется в вектор длиной fq х (К + L). Пусть далее используется алгоритм расчета циклической свертки размера N, который требует NM(N) умножений, N (N) сложений, NS(N) = NM(N) + NA(N). Тогда для обработки одной секунды входных данных, необходимо Р операций:

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

Приведем таблицы для расчета вычислительной мощности в GFLOPS, необходимой для вычисления одновременной маскировки в реальном времени, для двух различных алгоритмов циклической свертки различной длины: итерационного алгоритма Тоома-Кука длины 4 и алгоритма на основе БПФ, а также для наивного алгоритма, рассмотренного ранее. Результаты вычислений приведены в таблице 4.4 (пробелы в таблице означают, что N L).

Из таблицы 4.4 видно, что алгоритм на основе БПФ требует меньше вычислений, чем итерационный алгоритм. В некоторых случаях — для малой длины L — наивный алгоритм оказывается лучше алгоритма БПФ. Однако, при необходимости вычислений с высокой точностью () или разрешающей способностью (К) значение L будет достаточно большим, и использование фильтрации позволит сократить вычислительную сложность до 2 раз.

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

В разработанном алгоритме используются специальные объекты входного потока istr и выходного потока ostr, которые инкапсулируют функционал вычисления расширенных входных векторов по формуле (4.6) перед фильтрацией и последующего «сужения» после фильтрации.

Использование таких потоков позволяет сделать независимыми границы входных блоков, соответствующих временным отсчетам, (размера К) и блоков для фильтрации (размера N). В алгоритме за одну итерацию вычисляется два выходных блока, т. е. 2 (N — L) чисел. При этом, поскольку используется метод перекрытия с накоплением, входные блоки пересекаются — поэтому используется копирование из одной части входного блока в другую. Постобработ ка выходных векторов (предпоследний шаг в итерации) заключается в выполнении операции сравнения (оператор ) из формулы (4.7).

Исследование формулы одновременной маскировки

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

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

Благодаря использованию таблиц поиска, операции 6 полностью исключаются. Количество сложений, необходимое для алгоритма поиска по таблицам, может быть рассчитано по формуле (5.15). Как уже упоминалось, таблицы поиска позволяют сократить количество суммирований приблизительно в L раз, где L — длина части входного вектора — используемые в алгоритме значения L — 4, 8 и 16.

Использование векторизации позволяет за одну операцию процессора выполнить несколько значимых операций. В частности в алгоритме требуется складывать и вычитать векторы чисел длиной Р. При этом если каждое такое число не может превысить 256 и кодируется 1 байтом (8 бит), а разрядность машинного регистра — 64 бита, то за одну операцию сложения регистров в такой ситуации можно произвести одновременно сложение 8 чисел. Для того чтобы формализовать эффект векторизации введем величину фактор векторизации. Фактор векторизации Fvec может быть определен как количество раз, в которое уменьшается количество операций

В формуле (5.18) Т обозначает разрядность регистра используемого процессора, а г — разрядность типа данных, используемого для кодирования расстояния в таблицах поиска. Стоит отметить, что Р (количество шаблонов, а значит и длина суммируемых векторов) может делиться на F vec с остатком, и в этом случае эффект от векторизации будет несколько меньше: Например, при т = 8, Т = 64иР = 51 F ec = 8, a Fvec « 7.3. Разрядность современных процессоров — 32, 64, 128 бит. Максимальное расстояние между входным вектором и шаблоном равно К, на практике не превышающее значений в несколько тысяч, то есть 16 бит для кодирования расстояния достаточно с запасом (или 8 бит, при К 255). Таким образом, значение Fvec гарантированно больше единицы.

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

В формуле (5.20) К — это размер входного вектора (константа), а К1 — это среднее количество изменяющихся частей входного вектора.

Исключение тривиальных операций позволяет не производить суммирования с нулем (в исследуемом алгоритме основной операцией как раз и является суммирование). Как показывает рисунок 5.1 и рассчитывается в разделе 5.1.1, больше значений матрицы шаблонов, а значит, и таблицы поиска. Однако при использовании векторизации одна операция суммирует сразу несколько элементов, и для исключения такой операции как тривиальной необходимо, чтобы все эти элементы были нулевыми. Определим фактор тривиальности Ftr как количество раз, в которое уменьшается количество операций при исключении тривиальных операций.

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

С учетом всех использованных приемов количество операций сложения в разработанном алгоритме поиска равно: Данная величина приблизительно в L Fvec F yn Ftr раз меньше, чем количество сложений в оригинальном алгоритме (формула (5.5)), причем множители L, Fvec, Ftr в этом произведении гарантированно больше единицы, а множитель Fdyn — предположительно больше единицы.

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

Пусть сигнал имеет частоту дискретизации fq, тогда количество временных отсчетов равно N = fq. Пусть используются следующие значения для количества каналов К: 128, 256, 512, для формирования шаблонов ЧОТ используется две гармоники ЧОТ, тогда количество шаблонов Р будет равно соответственно 50, 100, 200. Пусть для разбиения вектора одновременной маскировки на части используются значения L, равные 4, 8 и 16 бит, тогда соответствующие значения количества частей можно рассчитать по формуле: С = K/L. Для значений К, равных 256, 512 в качестве единиц хранения расстояний необходимо использовать переменные разме 107

Похожие диссертации на Модель, численные методы и комплекс программ для акустического анализа голоса в задачах диагностики голосовых расстройств