[an error occurred while processing this directive]
Ответ: (+)
(«Телесистемы»: Конференция «Цифровые сигнальные процессоры (DSP) и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено 21 августа 2003 г. 23:03
В ответ на: Тема для обсуждения: Определение, что сигнал есть голос... отправлено Дима_П 21 августа 2003 г. 21:42

Как я понял, рассматривается аналоговая линия связи по параметрам соответстсвующая телефонной линии. Тогда можно предложить как вариант следующее. (На основе LPC-кодека)

Первая ступень - это VAD (voice activity detector). Он с довольно неплохой достоверностью отличает тишину с небольшими шумами даже от тихого голоса. Основано это дело на следующем. Кодек производит LPC-анализ сигнала. В процессе LPC-анализа можно с большой достоверностью сразу определить, что сигнал есть какая-то синусоида (второй коэффициент отражения при вычислении рекурсии Левинсона-Дурбина >=0.95 для последних N фремов). Так-же корреляционными методами вычисляется "open loop pitch period" - период основного тона с разомкнутой петлей, на основании которого за несколько прошедших кадров принимается решение о том, что сигнал "однозначно голос". Это решение принимается исходя из неизменности (в определенных пределах) периода основного тона за 3-5 последних кадров.
Далее вычисляется средний уровень фонового шума. Для этого входной сигнал пропускается через фильтр, обратный к LPC-фильтру, построенному на основе шумовой составляющей сигнала. Рассчитывается энергия этого сигнала (EN(n)). В случае, если энергия шума падает, то энергия шума для следующего кадра рассчитывается как E(n)=K*E(n-1)+(1-K)EN(n-1). K вокруг 0.25. Если же энергия шума возрастает, то E(n)=E(n-1). Далее на основании детектора синусоидального колебания и детектора "однозначно речь" решается требуется ли адаптация (она требуется в случае если какое-то время не было ни синуса ни "однозначно голоса"). В случае, если принято решение об адаптации, то E(n)=E(n)*A1, иначе E(n)=E(n)*A2. A1 немного больше единицы, A2 - немного меньше. Результатом является текущая энергия шума. Эта операция характеризуется медленным нарастанием и достаточно быстрым спадом. Далее вычисляется некий порог на основе логарифма полученного значения, и текущая энергия фильтрованного сигнала сравнивается с вычисленным порогом. Это и есть результат работы VAD - то есть на данном этапе известно, что в линии - шум или не шум.

Вторая ступень. Мы знаем, что сигнал НЕ ШУМ. Но еще не знаем, сигнализация это или нет. Тут на помощь придет уже имеющийся детектор "сигнал есть синус". Если он показал "добро", то принимает сигнал за сигнализацию. Далее. Двухчастотная сигнализация. Она тем детектором не определится. Для этого (думаю, что можно) проанализировать коэффициенты синтезирующего фильтра (а они, собственно, являются коэффициентами авторегрессионной модели голоса) на предмет спектральных характеристик фрейма. Или каким либо другим способом оценить спектр мощности взвешенного входного сигнала. И, если спектральный состав показывает наличие сигнала с неизменным спектральным составом основных компонент, и кол-во этих компонент равно двум, и так продолжается >M фреймов, то значит это двухчастотная сигнализация. Думается тут можно оценивать "отличия" спектров как среднеквадратическую величину, дабы не упустить сигнал, состоящий из голоса и сигнализации одновременно.

Таким образом имеем детектор, показывающий следующие состояния:
1). Тишина/шум
2). Голос
3). Синусоидальный сигнал
4). Двухчастотный сигнал.

Сорри, если где что напутал - писал все это по памяти. Но думается, что примерно по этой схеме должно получиться должно получиться очень неплохое распознавание. Но это потребует, думается, что-то в райое 4-6 MIPS. Что само по себе не мало. С другой стороны, если LPC-кодек уже есть, то все проще - половина операций и так сделана, а как его часть может быть и уже реализован VAD. В этом случае останется проанализировать лишь на отличие голоса от сигнализации и от смеси голос+сигнализация.

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru