пятница, 8 февраля 2013 г.

команда close all matlab

Для первых 256 комплексных спектральных значений находим их амплитуды. Амплитудный спектр Фурье сглаживается (усредняется) добавлением амплитуд спектральных коэффициентов в пределах «треугольных» частотных полос расположенных на нелинейной (подобной логарифмической) . Для предельной частоты языка равной 16 КГц берут 24 таких частотных полосы.

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

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

D (n) = (0,54-0,46 cos (2p (n-1) / 408)) S (n) для n = 1, ..., 409.

В данном случае берется окно Хемминга согласно таким выражением

Для обработок такого типа к каждому блоку применяют функцию окна.

где yn n-й отсчет в блоке.

S (1) = 0; S (n) = y (n)-y (n-1), n = 2 409,

Как правило, применяют высокочастотное усиление, чтобы компенсировать ослабление, вызвано рассеиванием от губ. Для этого блоки сигнала пропускают через фильтр первого порядка

Оцифрованный (дискретизированный во времени и квантованный по уровню) речевой сигнал разбиваем на блоки по 25.6 мс со смещением каждые 10 мс, то есть, блоки по 409 отсчетов каждый блок, со смещением на 160 отсчетов.

Далее этапы предварительной обработки речевых сигналов.

Рис.1. Блок-схема алгоритма предварительной обработки речевого сигнала

Как пример рассматриваем речевые образцы, дискретизированные с частотою 16 КГц и с разрядностью 16 бит. Дискретизированный речевой сигнал разбиваем на интервалы длительностью 25, 6 мс, то есть 409 отсчетов. Интервалы перекрываются со сдвигом на 10 мс (160 отсчетов).

Шаги, которые необходимо выполнить для предварительной проработки каждого интервала речевого сигнала, подробно описаны далее.

Блок-схема алгоритма предварительной обработки речевого сигнала приведена на Рис.1.

Типичная величина одного интервала 25,6 мс. Соседние интервалы берутся со смещением относительно предыдущего интервала. Применяемая величина перекрытия интервалов равна 10 мс. В результате предварительной проработки каждого из указанных интервалов получаем вектор из нескольких десятков спектральных значений.

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

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

Предварительная обработка речевых сигналов с помощью Matlab

Предварительная обработка речевых сигналов с помощью Matlab / Хабрахабр

Комментариев нет:

Отправить комментарий