Файл: Речевых сигналов.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 03.12.2023

Просмотров: 243

Скачиваний: 7

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

51
Для аддитивной смеси
( )
( )
( )
Y t
S t
t
ξ
=
+
(2.36) сигнала
0
( )
cos(2
)
S t
A
f t
π
ϕ
=
+
и шума ( )
t
ξ
отношение сигнал-шум (от- ношение средней мощности
2 2
A
сигнала к средней мощности D
ξ
шума)
2 2
вх
A
D
=
ρ
ξ
может быть разным: как очень малым
1
вх
ρ
<< , так и большим.
На рис. 2.12 показаны графики аддитивной смеси для
10 lg
17 дБ,
вх дБ
вх
= ⋅
= −
ρ
ρ
построенные для соотношения (2.36), т.е.
«сигнал + шум», где t i t
= Δ ,
j t
= Δ
τ
, B – верхняя граница частоты белого шума на интервале
[
]
0, B Гц. Как видим, на фоне интенсивного шума сиг- нал не наблюдается.
% Вычисление амплитуды A сигнала ( )
Y t
>> Dksi = 1; % дисперсия шума
>> Rvh = -17;
>> A = 10^((10*log10(2)+Rvh)/20);% Амплитуда сигнала
>> %== сигнал плюс шум (3 периода гарм.сигнала)====
>> B = 5000; % верхн.границна частоты шума
>> fi = rand(1)*2*pi; % фаза
>> f0 = 220;
>> f0B = f0/B; % входная частота сигнала
>> Ngraf = ceil(3/f0B)*2+1; % (Ngraf = 139)
>> i = 1: Ngraf;
>> S = A*cos(pi*f0B*i+fi); % функция вх. сигнала
>> ksi = randn(1, Ngraf); % функция шума
>> Sksi = S + ksi; % сигнал + шум
>> subplot(3,1,1); plot(i,S); % график сигнала
>> title('Signal');
>> subplot(3,1,2); plot(i,ksi); % график шумa
>> title('Noise');
>> subplot(3,1,3); plot(i,Sksi,'r'); % график "сигнал + шум"
>> title('Signal+Noise');
Покажем, что корреляционный анализ случайного процесса помогает решить задачу выявления периодического сигнала на фоне шума.
Поскольку составные части процесса ( )
Y t статистически независимы,
( )
( )
( )
K
K
K
Y
S
τ
τ
τ
ξ
=
+
, (2.37)

52 0
2
s i n 2
( )
c o s
;
( )
2 2
A
B
K
K
D
S
B
π τ
τ
ω τ
τ
ξ
ξ
π τ
=
=
, (2.38) где
B
– верхняя граничная частота шума ( )
t
ξ
Рис. 2.12. Графики аддитивной смеси
Для построения графиков корреляционных функций (2.37) – (2.38) необходимо дискретизовать функции (2.38) с шагом
1 2
t
B
Δ =
, в результа- те чего получим
2
s i n
0
( )
c o s
;
( )
2
f
A
i
K
i
K
D
S
B
i
π
π
τ
τ
ξ
ξ π


=
=




, где
100 200,
5000 0
f
B
=
=

Как следует из соотношений (2.37) – (2.38), форма корреляционной функции процесса ( )
Y t для
1 2B
τ

практически не отличается от формы гармонического сигнала ( )
S t . Этот факт позволяет по частоте нуль- пересечений оценить частоту
0
f . Понятно, что действенность такого спо- соба оценивания
0
f особенно эффективна при малых отношениях сигнал- шум
вх
ρ
0 20 40 60 80 100 120 140
-0.2 0
0.2
Signal
0 20 40 60 80 100 120 140
-5 0
5
Noise
0 20 40 60 80 100 120 140
-5 0
5
Signal+Noise


53
2.2.1. Выявление периодического колебания на фоне шума
На практике можно лишь оценить функцию корреляции, поэтому, естественно, результаты выявления гармонического сигнала на фоне шума будут не такими «красивыми». Структурная схема коррелометра показана на рис. 2.13 [38, 43].
Рис. 2.13. Структурная схема коррелометра
Для отрезка ( )
Y t
T
процесса ( )
Y t несмещенная оценка функции кор- реляции имеет вид
1
* ( )
( )
(
)
0
T
K
Y t Y t
dt
Y
T
T
T
τ
τ
τ
τ

=
+


. (2.39)
Покажем, что коррелометр действительно способен повышать отно- шение сигнал-шум: тем больше, чем больше некоррелированных отсчетов шума N содержится в реализации анализируемого процесса.
Для аддитивной смеси сигнала и шума (2.36) имеем
( )
( )
( )
( )
( )
K
K
K
K
K
Y
S
S
S
τ
τ
τ
τ
τ
ξ
ξ
ξ





=
+
+
+
. (2.40)
Для статистически независимых сигнала и шума математическое ожидание оценки (2.40) будет иметь вид
* ( )
( )
( )
( )
K
K
K
K
Y
Y
S
τ
τ
τ
τ
ξ
=
=
+
, (2.41) где
∗ – символ математического ожидания.
При
T
к
τ
τ
< << имеем
2 0
* ( )
( )
( )
c o s
2
A
K
K
K
Y
Y
S
τ
τ
τ
ω τ
=

=
. (2.42)
Рассмотрим теперь дисперсию оценки выражения (2.40):
*
*
*
*
[
( ) ]
[
( ) ]
[
( ) ]
[
( ) ]
*
[
( ) ]
2 2
* *
* *
D K
D K
D K
D K
Y
S
S
D K
K
K
S
K K
K K
S
S S
τ
τ
τ
τ
ξ
ξ
τ
ξ
ξ
ξ
=
+
+
+
+
+
+
+
Y(t)
)
t
(
Y
)
t
(
Y
τ
+
)
t
(
Y
τ
+



x
T
0
T
1
τ
1
* ( )
( )
(
)
0
T
K
Y t Y t
dt
Y
T
T
T
τ
τ
τ
τ

=
+



54 2
2 2
* *
* *
* *
2
*
*
K
K
K
K K
K K
K K
S
S
S
S
K
K
K
S
S
+
+
+
+
+
ξ
ξ
ξ
ξ ξ
ξ ξ
(2.43)
После громоздких, хотя и несложных, выкладок получаем
(
)
0 0
0 0 4
*
[
( ) ]
1
c o s 2 4 0 0
2 2 2
c o s 2 2
2
к . к в к
T
A
D K
d
Y
T
T
D
D A
T
T




+
∫ ⎜



+
+
+
τ
τ
ω τ τ
ξ
ξ
ω τ
τ
τ
(2.44)
Ненулевой вклад обеспечивают слагаемые
( ) ,
( )
D K
D KS
τ
τ
ξ














и K
K
K
S
S
ξ ξ










Подставляя
2
в х
2
A
D
ξ
ρ
в (2.43), имеем
2 2
*
[
(
) ]
1
c o s 2 0
0 0
T
D
в х
D K
d
Y
T
T
ρ
τ
ξ
τ
ω τ τ




∫ ⎜



+
(
)
2 4
1 4
2
c o s 2 0 0 2
2 2
к . к в к
в х
D
A
в х
T
T
+

+

+
ξ
ρ
ω τ
τ
τ
ρ
. (2.45)
Нетрудно увидеть, что для малых значений входного отношения сиг- нал-шум, наиболее интересных для исследования (
1
вх
ρ
<< ), наибольший вклад в дисперсию оценки функции корреляции делает слагаемое
( )
D K
τ
ξ







, т.е.
2 4
2 1
4
*
*
[
( ) ]
[
( ) ]
к . к в
2 2 к.кв
D
A
D K
D K
Y
T
T
в х
ξ
τ
τ
τ
ξ
τ
ρ


=

. (2.46)


55
Таким образом, если трактовать выражение (2.42) как сигнал на вы- ходе коррелометра, а выражение (2.46) – как мощность шума на выходе коррелометра, тогда отношение сигнал-шум на выходе коррелометра будет иметь вид
4 4
( 2
)
8
к . к в в ы х
*
2
[
( ) ]
8
( 2
)
2 2
к . к в в х в х
2
A T
A
D K
D
T
T B
τ
ρ
τ
ξ
ξ
τ
ρ
ρ
=
=
=
=
=
(2.47)
Обозначая
2
к кв
T
N
τ
= , получаем
2
вых вх 2
N
=
ρ
ρ
(2.48а) или, если отношение сигнал-шум измеряется в децибелах,
2 1 0 l g в ы х . д Б
в х 2 2
1 0 l g
1 0 l g 2 .
в х . д Б
N
N


=

=




=
+



ρ
ρ
ρ
(2.48б)
Соотношения (2.48а), (2.48б) показывают, что применение корреля- тора позволяет существенно повысить отношение сигнал-шум за счет ус- реднения некоррелированных отсчетов шума.
Используя соотношения (2.48а) и (2.48б), можно оценить объем N экспериментальной выборки отсчетов смеси сигнала и помехи, который необходим для обеспечения заданного отношения сигнал-шум на выходе коррелятора:
2 вых
2
вх
P
N
ρ
=
, (2.49а)
0,1(
2 10 lg 2)
вых.дБ
вх.дБ
10
N

+ ⋅
=
ρ
ρ
. (2.49б)
Формулы (2.49а), (2,49б) чрезвычайно полезны при планировании эксперимента. Они позволяют определить объем выборки отсчетов про- цесса ( )
Y t при заданных входном и выходном отношениях сигнал-шум.
Вычислим N, которое необходимо для обеспечения выходного отно- шения сигнал-шум, равного 10 дБ, и проведем моделирование соответст- вующего процесса на выходе коррелятора.
% вычисление N , которое обеспечивает Rvyh=10 дБ
% Rvh – отношение сигнал-шум на входе коррелометра (Rvh =-17 - 10).
Rvh = - 17; Rvyh=10;
N = 10^(0.1*(Rvyh-2*Rvh+10*log10(2)));

56
В результате вычислений получаем N = 50238. Наконец, смоделиру- ем процедуру обработки сигнала ( )
Y t
T
коррелометром.
На рис. 2.14 приведены графики оценки функции корреляции (т.е. графики сигнала на выходе коррелометра).
Рис. 2.14. Графики сигнала на выходе коррелометра
% моделирование коррел. обработки смеси сигнала с шумом
% =ceil(N);
>>figure; i = 1:N; fi = rand(1)*2*pi;
>> f0 = 200; B = 5000;
>> f0B = f0/B;
>> A = 10^((10*log10(2)+Rvh)/20);
>> Ngraf = ceil(3/f0B)*2+1;
>>S = A*cos(pi*f0B*i+fi); % N отсчетов сигнала
>>ksi = randn(1,N); % N отсчетов шума
>>Sksi = S + ksi; % N отсчетов смеси
>>[K_y,tau] = xcorr(Sksi,Ngraf,'unbiased'); % Ngraf*2+1 значений функц.коррел.
>>subplot(2,1,1); plot(tau,K_y); % график оценки функции коррел.
>> title('otsenka corr sig+nois');
>>subplot(2,1,2); plot(tau(Ngraf+2: 2*Ngraf+1),K_y(Ngraf+2: 2*Ngraf+1));
% фрагмент графика
>> title('frogment otsenka corr sig+nois')


57
2.2.2. Оценивание длины периода основного тона
речевого сигнала. Экспериментальное измерение в системе MATLAB
Высота тона – основное различие между мужскими и женскими спи- керами. Высота тона человека определяется в голосовых связках, и темп, с которым вибрируют вокальные складки, представляет собой частоту высо- ты тона. Когда воздух проходит через вибрирующие вокальные складки, создаются также гармоники.
Оценивание периода (или частоты) основного тона – одна из наибо- лее важных задач в обработке речевых сигналов [39]. Выделители основ- ного тона (ОТ) используются в вокодерах, системах распознавания и ве- рификации дикторов, в устройствах, предназначенных для глухих. Для решения задачи предложен ряд способов. Например, для оценивания дли- ны периода основного тона речевого сигнала можно использовать кратко- временную автокорреляционную функцию [34]. Для ее вычисления разра- ботаны эффективные алгоритмы. При длине окна N > 256 отсчетов лучше всего использовать БПФ, которое предполагает выполнение 8(2·log2N+3)N умножений.
С помощью системы MATLAB можно провести экспериментальное измерение частоты основного тона речевого сигнала [38], которое базиру- ется на следующей априорной информации:
– частота основного тона голоса человека находится в пределах
60 – 200 Гц;
– для качественной передачи речевого сигнала достаточно использо- вать полосу частот 20 Гц – 5 кГц.
Вначале проводят проверку работоспособности системы ввода рече- вого сигнала в компьютер. Для этого используют телефонную гарнитуру и стандартную программу записи звука, активизируемую в Windows с по- мощью меню Пуск > Программы > Стандартные > Развлечения > Звукоза- пись.
Далее, используя MATLAB, вводим речевой сигнал в компьютер (на- пример слово «барбарис»):
>>Y = wavrecord(15000); % частота дискретизации 11025 Гц.
Проконтролировать на слух результаты записи можно, выполнив следующую команду:
>>wavplay(Y).
Далее нужно выделить из речевого сигнала фрагмент с гласным зву- ком. С этой целью активизируем программу sptool.
Анализируем записанный сигнал и находим границы самого протя- женного гласного звука (рис. 2.15). Записываем координаты маркеров, со- ответствующих этим границам: 1
t = 0,816 и 2
t = 1,018.

58
Рис. 2.15. График речевого сигнала (слово «барбарис»)
Формируем массив чисел 1
Y из выделенного фрагмента:
>>Fs = 11025; t1 = 0.816; t2 = 1.018; % границы фрагмента
>>j1 =ceil(t1*Fs); j2 = ceil(t2*Fs); % номера отсчетов границ фрагме- нта
>>Y1 = Y(j1:j2); % массив отсчетов фрагмента.
Импортируя массив 1
Y в рабочее пространство программы sptool, можно визуально и на слух проконтролировать полученный фрагмент
(рис. 2.16).
Рис. 2.16. График сформированного фрагмента (гласный звук)


59
Наконец, выполняем автокорреляционный анализ выделенного фрагмента и оцениваем частоту основного тона:
>> [Kzvuk,lags] = xcorr(Y1,400).
Результат вычисления корреляционной функции вновь целесообраз- но импортировать в среду sptool, где с помощью вертикальных маркеров
(рис. 2.17) провести измерения периода колебаний.
Рис. 2.17. График корреляционного анализа гласного звука
Частота основного тона определяется по формуле
0 0
1
f
T
=
. Изме- рить период 0
T очень просто: в программе sptool установите маркеры примерно так, как показано на рис. 2.17. Между маркерами в данном слу- чае уложилось восемь периодов 0
T .
Величина периода вычисляется следующим образом:
(
)
(
)
0 2
1 8 0,06549 0,00698 8 0,007314
T
t
t
=

=

=
В результате таких измерений получаем оценку частоты основного тона
0 137
f
=
Гц.
Теперь рассмотрим проблемы, обусловленные наличием нескольких гармонических компонентов.
Анализ рис. 2.16 показывает, что измерение частоты основного тона произвести весьма непросто несмотря на то, что шумовой сигнал действи- тельно практически полностью подавлен. Дело в том, что помимо основ- ного тона в гласном звуке присутствуют обертоны – гармоники с кратны- ми частотами. Более того, как показывает практика измерений, мощность

60
обертонов может быть выше мощности основного тона, поэтому, измеряя частоту основного тона, легко ошибиться, приняв период колебания обер- тона за период основного тона.
Смоделируем рассмотренную ситуацию.
Предположим, что сигнал представляет собой сумму двух гармоник одинаковой амплитуды, но частота второй гармоники вдвое выше частоты первой:
1 2
1 0
1 2
0 2
( )
( )
( ) ;
( )
c o s (2
) ;
( )
c o s (4
) .
S t
S t
S t
S t
A
f t
S t
A
f t
=
+
=
+
=
+
π
ϕ
π
ϕ
(2.50)
В силу статистической независимости случайных величин
1
ϕ
и
2
ϕ
корреляционная функция такого сигнала равна сумме корреляционных функций слагаемых:
(
)
1 2
2 0
0
( )
( )
( )
c o s c o s 2 2
S
S
S
A
K
K
K
τ
τ
τ
ω τ
ω τ
=
+
=
+
. (2.51)
Обобщая рассмотренную модель на случай трех гармоник (частота третьей гармоники в три раза больше частоты первой), получим
(
)
1 2
3 0
0 0
( )
( )
( )
( )
2
c o s c o s 2
c o s 3 2
S
K
K
K
K
S
S
S
A
=
+
+
=
=
+
+
τ
τ
τ
τ
ω τ
ω τ
ω τ
(2.52)
Построим графики функций корреляции (2.51) и (2.52) (с точностью до множителя
2 2
A
) (рис. 2.18).
% функция коррел. полигармонич. сигнала
>>figure;
>> f0 = 137; Fs = 11025; itau = 0:400;
>>Ks2 = cos(2*pi*f0*itau/(2*Fs))+ cos(4*pi*f0*itau/(2*Fs));
>>Ks3=cos(2*pi*f0*itau/(2*Fs))+cos(4*pi*f0*itau/(2*Fs))+… cos(6*pi*f0*itau/(2*Fs));
>>subplot(2,1,1); plot(itau,Ks2);
>>title('dve gormonic'); grid on;
>>subplot(2,1,2); plot(itau,Ks3);
>>title('tri gormonic');>>grid on;
Период основного тона на рис. 2.18 виден неплохо: в моменты вре- мени, кратные этому периоду, все гармонические компоненты функции корреляции суммируются синфазно, в результате чего обеспечивается
«дружный» периодический «всплеск». Вместе с тем очевидно, что вклад обертонов настолько существен, что назвать ситуацию удобной для прак- тического анализа нельзя.