Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб_раб_5.doc
Скачиваний:
2
Добавлен:
24.08.2019
Размер:
82.43 Кб
Скачать

8. Распознавание слов

Рассмотренный выше алгоритм можно использовать для распознавания изолированных слов,

Пусть произносится слово в течении времени t. Выделим на интервале t моменты времени (t(1),t(2),...,t(n)).

Пропустим распознаваемый речевой сигнал через m полосовых фильтров и зарегистрируем напряжение v(i,t(j)) на выходе каждого i-ro фильтра в моменты времени t(j).

Произведем нормирование сигнала на выходе каждого фильтра в соответствии с выражением.

1. Найдем величину u(i,t(j)):

u(i,t(j)) = (v(i.t(j)) - vmin(i)) /(vmax(i) - vmin(i)) * 100,

где vmax(i), vmin(i) - максимальное и минимальное значения речевого сигнала на выходе i-го фильтра.

2. Выберем порог g равным 50. Примем значение нормированного сигнала x(i,j) равным 1, если u{i,t(j)) >=g и равным 0 -в противном случае.

3. Построим матрицу признаков распознаваемого слова:

X = || x(i,j) ||.

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

Рассмотрим процесс распознавания. Пусть имеется множество эталонов, заданных матрицами Z(k)=|| z(i,l) ||. Количество строк в матрицах равно m, a количество столбцов n(k).

Для каждого Z(k) строится матрица расхождений г размерности n(k)*n:

w(i,l,j) = z(i,l) *+* x(i,j), i=1,m, 1=1, n(k), j=l,n;

m

r(lj) = Сумма (w(i,l,j));

i=1

r(0,0)=0;

r(0.k)=r(l,0) = MAX,

*+* - операция сложения по модулю 2.

Для распознавания достаточно применить рассмотренный выше алгоритм ко всем парам матриц: (X,Z(k)) и в качестве результата распознавания выбрать слово с образом-эталоном наиболее близким к образу рассматриваемого слова.