ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 03.12.2023
Просмотров: 231
Скачиваний: 7
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
21
− WaveLab – звуковой редактор, располагающий возможностями, ко- торые позволяют работать с различной звуковой информацией;
− CoolEdit 2000
– звуковой редактор фирмы «Syntrillium Software Cor- poration».
1.4. Запись и считывание данных из речевого сигнала
в MATLAB
В MATLAB предусмотрены средства для воспроизведения и записи звука (речи), а также для работы со звуковыми файлами формата wav
[7, 43] .
Чтение wav-файлов.
Для считывания wav-файлов в MATLAB ис- пользуется функция wavread. В простейшем случае она может быть ис- пользована следующим образом: y = wavread (‘filename’), где ‘filename’ – имя звукового файла (расширение wav указывать не обяза- тельно). В имя файла необходимо включить полный путь, за исключением тех случаев, когда файл находится в текущем (для MATLAB) каталоге или в одном из каталогов, входящих в список поиска MATLAB. Другой спо- соб, не требующий указания имени файла, – полный путь, который заклю- чается в определении местонахождения файла на жестком диске с помо- щью меню MATLAB.
В результате вызова функции в переменную
y
будет помещено все содержимое указанного файла. Строки матрицы
y
соответствуют отсчетам сигнала, столбцы – каналам, которых в wav-файле может быть один (моно- канал) или два (стереоканал).
Помимо отсчетов сигнала в wav-файлах хранится и служебная ин- формация, которая содержит следующие параметры:
− частоту дискретизации, для определения которой в указанную функ- цию необходимо включить второй выходной параметр:
[y, Fs] = wavread (‘filename’), где
Fs
– частота дискретизации, Гц;
− число бит на отсчет, для определения которого необходимо добавить еще один выходной параметр:
[y, Fs, bits] = wavread (‘filename’);
− число отсчетов и каналов записи. Для получения данной информа- ции необходимо вызвать функцию
wavread
с двумя входными парамет- рами: именем файла и текстовой строкой ‘size’: wavesize = wavread (‘filename’, ‘size’).
22
При вызове такой функции из wav-файла извлекается служебная ин- формация, которая возвращается в виде двухэлементного вектор-строки, первый элемент которого содержит число отсчетов, второй – число каналов;
− продолжительность звучания сигнала (в секундах), которую можно определить следующим образом: wavesize (1)/Fs, где 1 указывает на первый параметр вектора wavesize.
Имеются и возможности считывания данных из wav-файла не цели- ком, а отдельными фрагментами. Для этого используется второй входной параметр функции
wavread
. Если этот параметр является числом, будет считано соответствующее количество отсчетов, начиная с первого: y = wavread (‘filename’, N).
Если нужный фрагмент расположен не в начале файла, придется ука- зать его начало и конец: y = wavread (‘filename’, [n1, n2]).
В результате в переменную
y
будут считаны отсчеты с номерами от
n1
до
n2
включительно (нумерация отсчетов начинается с единицы).
Чтобы узнать объем памяти (в килобайтах), требуемый в MATLAB для хранения записи, необходимо использовать следующую функцию: prod (wavesize)*8/1024.
Для просмотра речевого (звукового) сигнала выведем его в виде гра- фика с помощью следующей функции: plot (y).
Если необходимо вывести график по каналам стереозаписи, то при- меняют следующие функции: subplot (2, 1, 1); plot (:, 1); subplot (2, 1, 2); plot (:, 2) или просто plot(y).
Если сигнал имеет большую длину, то можно использовать следую- щую функцию (фрагменты выводятся друг под другом): strips (x, N), где
x
– вектор отсчетов сигнала (двумерный массив не допускается),
N
– число отсчетов в каждом фрагменте (этот параметр можно опустить, по умолчанию размер фрагмента составляет 200 отсчетов).
Запись wav-файлов.
Для записи вектора (или матрицы) на диск в виде wav-файла используется функция
wavwrite
: wavwrite (y, Fs, N, ‘filename’), где
y
– записываемые данные,
Fs
– частота дискретизации, Гц,
N
– число бит на отсчет (8 или 16), ‘filename’ – имя создаваемого файла. Параметры
Fs
и
N
можно опускать, при этом используются значения по умолчанию:
Fs
= 8 000 Гц,
N
= 16.
23
Записываемые данные должны быть вещественными и лежать в диа- пазоне от –1 до 1. Значения, выходящие из этого диапазона, будут обреза- ны и сделаны равными.
Воспроизведение звуковых файлов.
Если компьютер оборудован звуковой картой, то помимо работы с wav-файлами можно воспроизводить вектор и матрицу в звуковом в виде с использованием следующих функций:
–
sound
, синтаксис которой записывается следующим образом: sound (y, Fs, bits), где
y
– вектор или двухстолбцовая матрица сигнала,
Fs
– частота дискре- тизации, Гц, bits – число бит на отсчет (8 или 16).
Параметры
Fs
и
bits
можно опускать, при этом их значения будут приниматься по умолчанию.
Выходных параметров
y
у функции нет. После вызова она передает вектор
y
звуковой карте для воспроизведения и сразу же, не дожидаясь окончания звука, возвращает управление MATLAB;
–
wavplay
, синтаксис которой имеет следующий вид: wavplay (y, Fs, ‘mode’), где параметр
mode
управляет режимом воспроизведения, который может принимать два значения:
− ‘sync’ – синхронный режим, означающий что функция вернет управ- ление интерпретатору MATLAB только после окончание звука;
− ‘async’ – асинхронный режим, при котором функция передает дан- ные для воспроизведения звуковым драйверам Windows и сразу же воз- вращает управление системе MATLAB, не дожидаясь окончания звука.
Параметры
Fs
и
mode
можно опускать, при этом их значения при- нимаются по умолчанию:
Fs
=11025 Гц и ‘mode’ = ‘async’.
Запись звука (речи).
Функция
wavrecord
позволяет записать звук в переменную MATLAB с помощью звуковой карты компьютера: y = wavrecord (n, Fs, ch, ‘dtype’), где
n
– число записываемых отсчетов,
Fs
– частота дискретизации, Гц,
ch
– число каналов записи, ‘dtype’ – тип записываемых данных.
Возвращаемый результат
y
– матрица, каждый столбец которой соот- ветствует одному каналу записи. При стереозаписи первый столбец – ле- вый канал, второй – правый канал.
Для параметра
dtype
возможны следующие значения:
− ‘double’ – 16-битная запись, данные масштабируются к диапазону от
–1 до 1 и представляются в восьмибайтовом формате с плавающей запятой;
− ‘single’ – 16-битная запись, данные масштабируются к диапазону
–1…1 и представляются в четырехбайтовом формате с плавающей за- пятой;
24
− ‘int16’ – 16-битная запись, данные представляются в двухбайтовом целочисленном формате (диапазон от –32 768 до 32 767);
− ‘uint8’ – 8-битная запись, данные представляются в однобайтовом беззнаковом целочисленном формате (диапазон от 0 до 255, нулевому на- пряжению на входе соответствует значение
«
128»).
Входные параметры
Fs
,
ch
,
dtype
можно опускать, при этом их зна- чения будут приниматься по умолчанию:
Fs
=11 025 Гц,
ch
=1,
dtype
=
=
‘double’.
1.5. Параметры и информативные признаки речевого сигнала
Любой речевой сигнал характеризуется некоторыми признаками, ко- торые можно использовать для того, чтобы синтезировать исходный сиг- нал [31].
Информативные признаки
1. Энергия сигнала:
2 2
1
( )
( )
t
E X
S t dt
t
= ∫
, (1.7)
2
( )
( )
1
N
E t
X ti
i
Δ = ∑
=
, (1.8) где N – количество отсчетов.
2.
Основная частота
FT
определяет длину речевого тракта.
3.
Форманты
1 2
3
,
,
F F F
(рис. 1.7).
Рис. 1.7. Схематическое представление формант сигнала
Е
F 0
F 1
F 2
F 3
F 4
25 1
F и
2
F определяют концентрацию энергии речевого сигнала по частоте и характеризуют гласные звуки. Они используются для классифи- кации гласных звуков.
3
F характеризует свойства диктора.
4.
Мгновенная частота – количество перехода сигнала через нуль, используется для классификации шумных звуков и гласных.
5.
Мгновенная амплитуда сигнала max
A
Аналогичные признаки выделяются из речевого сигнала после его фильтрования по полосовым фильтрам. В результате получаются компакт- ные речевые признаки входного сигнала. Объем необходимой памяти по- лучается намного меньше. Основной тон T – очень полезный признак. Он используется при динамической сегментации входного сигнала, что при- водит к более точной обработке входного сигнала.
При распознавании речевых сигналов, как правило, оперируют не исходным речевым сигналом, а его параметрами, вычисленными на кадре.
Длина кадра обычно выбирается такой, чтобы его длительность T T v
=
составляла 10 – 20 мс.
Параметры речевого сигнала.
Кадр длины N состоит из последова- тельности отсчетов
1
, ,
, ,
k
N
S
S
S
…
…
1.
Кратковременная энергия речевого сигнала
1 2
1
N
E
S k
N k
=
∑
=
. (1.9)
2.
Число нулей интенсивности
( )
(
)
2 1
1 2
N
k
Z
sign
sign
S
S
k
k
=
=
−
∑
− , (1.10) где
( )
1,
0 1,
0
S
sign S
S
≥
⎧
= ⎨
−
<
⎩
– знаковая функция.
3. Коэффициенты разложения в ряд Фурье , , ,
0 1
/ 2
c c
cN
…
Кадр определяет функцию с периодом N , заданную на сетке из то- чек вида
x
l N
l =
:
( )
,
1
f
f x
S
l
l
k
=
=
+ если l N t k
= ⋅ + , где 0 1
k N
≤ ≤ − , t – целое.
Такую функцию можно разложить в ряд Фурье, т.е. представить в виде
26
{
}
1
exp 2 0
l
N
f
A
iqx
l
q
q
π
−
= ∑
=
. (1.11)
Скалярное произведение для функций на сетке определяется сле- дующим образом:
(
)
1 1
,
0
N
f g
f g
l l
N l
−
=
∑
=
.
(1.12)
Функции
{
}
exp 2
l
g
i qx
l =
π
при 0 q N
≤ < образуют ортонормиро- ванную систему относительно введенного скалярного произведения (1.12).
Коэффициенты Фурье можно найти по формуле
( )
{
}
1 1
,
exp 2π
0
l
N
A
f g
f
iqx
q
q
l
N l
−
=
=
∑
=
(1.13)
Непосредственное осуществление этих преобразований требует
2
(
)
O N
арифметических операций. Для сокращения этого числа применя- ется алгоритм быстрого преобразования Фурье, основанный на том, что при
2
m
N
=
в слагаемых правой части выражения (1.13) можно выделить группы, входящие в выражения различных коэффициентов Aq . Вычисляя каждую группу только один раз, можно сократить число операций до
(
)
log2
O N
N
⋅
. Если
2
m
N
≠
, то можно добавить нулевые отсчеты. Разло- жение в ряд Фурье дает представление речевого сигнала в виде суммы гармонических колебаний с частотами
( )
v q .
Запишем соотношение между частотой
( )
v q и индексом q :
( )
2 m
v q
q v
N
q v
d
d
−
=
=
при
0,1 , ,
2
q
N
=
…
, где vd – частота дискретизации.
Значения спектра от
2 1
q N
=
+ до
1
N
− не содержат новой инфор- мации, так как значения
l
f
действительны:
A
Aq
N q
=
− при
0, 1, ,
2
q
N
=
…
Удвоенное значение Aq – это комплексная амплитуда. Веществен- ные амплитуды получаются из них по формулам
0 0
,
2
c
A
c
A
q
q
=
=
при
0,1, ,
2
q
N
=
…
27 4.
Распределение энергии сигнала по частотным группам , ,
1 20
P
P
…
Одним из важнейших свойств слуха является разделение спектра звука на частотные группы. Слух может образовывать частотные группы на любом участке шкалы частот. В области частот ниже 500 Гц ширина частотных групп почти не зависит от средней частоты групп и составляет примерно 100 Гц. В области выше 500 Гц она увеличивается пропорцио- нально средней частоте. Если частотные группы совместить в один ряд, то в диапазоне от 70 Гц до 7 кГц разместятся 20 частотных групп. Распреде- ление энергии по частотным группам можно найти либо непосредственно с помощью гребенки соответствующих фильтров, либо с помощью коэф- фициентов разложения в ряд Фурье. Значение pi для частотной группы диапазона
1
vi − ...vi, шириной
1
H
v
v
i
i
i
= − − определяется по формуле
1 1
2 0
1
j
n
q
j
P
c
i
n
+
⎛
⎞
−
⎜
⎟
=
∑
⎜
⎟
=
⎝
⎠
. (1.14)
1.6. Особенности преобразования речевых сигналов
в стандарте стандарте GSM
В соответствии с рекомендацией СЕРТ 1980 г., касающейся использо- вания спектра частот подвижной связи в диапазоне 862 – 960 МГц, стандарт
GSM на цифровую общеевропейскую (глобальную) сотовую систему на- земной подвижной связи предусматривает работу передатчиков в двух диа- пазонах частот: 890 – 915 МГц (для передатчиков подвижных станций –
MS), 935 – 960 МГц (для передатчиков базовых станций – BTS) [6, 48].
В стандарте GSM используется узкополосный многостанционный доступ с временным разделением каналов (NB ТDМА). В структуре ТDМА кадра содержится восемь временных позиций на каждой из 124 несущих.
Для защиты от ошибок в радиоканалах при передаче информацион- ных сообщений применяется блочное и сверточное кодирование с переме- жением. Повышение эффективности кодирования и перемежения при ма- лой скорости перемещения подвижных станций достигается медленным переключением рабочих частот (SFH) в процессе сеанса связи со скоро- стью 217 скачков в секунду.
Для борьбы с интерференционными замираниями принимаемых сиг- налов, вызванными многолучевым распространением радиоволн в услови- ях города, в аппаратуре связи используются эквалайзеры, обеспечивающие выравнивание импульсных сигналов со среднеквадратическим отклонени- ем времени задержки до 16 мкс.
28
Система синхронизации рассчитана на компенсацию абсолютного времени задержки сигналов до 233 мкс, что соответствует максимальной дальности связи или максимальному радиусу ячейки (соты) 35 км.
В стандарте GSM выбрана Гауссовская частотная манипуляция с ми- нимальным частотным сдвигом (GMSK). Обработка речи осуществляется в рамках принятой системы прерывистой передачи речи (DTX), которая обеспечивает включение передатчика только при наличии речевого сигна- ла и отключение его в паузах и в конце разговора. В качестве речепреобра- зующего устройства выбран речевой кодек с регулярным импульсным воз- буждением, долговременным предсказанием и линейным предикативным кодированием с предсказанием (RPE/LTR-LTP-кодек). Общая скорость преобразования речевого сигнала – 13 кбит/с.
В стандарте GSM достигается высокая степень безопасности переда- чи сообщений; осуществляется их шифрование по алгоритму с открытым ключом (RSA).
В целом система связи, действующая в стандарте GSM, рассчитана на ее использование в различных сферах. Она предоставляет пользовате- лям широкий диапазон услуг и возможность применять разнообразное оборудование для передачи речевых сообщений и данных, вызывных и аварийных сигналов; подключаться к телефонным сетям общего пользова- ния (PSTN), сетям передачи данных (PDN) и цифровым сетям с интеграци- ей служб (ISDN).
Для аналогово-цифрового преобразования речевых сигналов в стан- дарте
GSM используются АЦП.
Рассмотрим кратко основные характеристики речевых сигналов (со- гласно МККТТ – Международный консультативный комитет по телегра- фии и телефонии) в стандарте GSM и особенности их аналогово- цифрового преобразования [36]:
−
диапазон частот речевого сигнала ограничен: 300 – 3 400 Гц;
−
длительность звуков речевого сигнала составляет от нескольких десятков до нескольких сотен миллисекунд при среднем значении 130 мс;
−
для гласных звуков среднее значение длительности составляет
210 мс, для согласных – 92 мс;
−
спектр мощности речевого сигнала имеет максимум вблизи час- тоты 400 Гц и спадает на более высоких частотах со скоростью около 9 дБ на октаву;
−
при телефонном разговоре уровень речевого сигнала изменяется в диапазоне 35 – 40 дБ, при этом уровень согласных в среднем на 20 дБ ниже уровня гласных;
29
−
в аналогово-цифровом преобразовании и цифровой обработке сигнала речи ограничиваются частотным интервалом обычного аналого- вого телефона 300 – 3 400 Гц, при этом при кодировании речевого сиг- нала учитывают квазистационарный гауссовский процесс, у которого спектрально-корреляционные характеристики постоянны на интервале
20 – 30 мс.
Дополнительно следует отметить следующее:
−
слуховое ощущение громкости приблизительно пропорционально логарифму интенсивности ( ln I
∼
, где I – интенсивность звука);
−
пороговое для слуха изменение уровня звука не превышает 1 дБ;
−
человеческое ухо слабочувствительно к точности передачи фазо- вых соотношений спектральных составляющих сигнала;
−
постоянная времени слуха в среднем составляет: при нарастании сигнала 20 – 30 мс.
Возвращаясь к процессу преобразования аналогового речевого сиг- нала в цифровую форму, рассмотрим более подробно особенности процес- сов дискретизации и квантования в стандарте GSM.
Дискретизация речевого сигнала в стандарте GSM.
На два входа дискретизатора подаются два сигнала:
−
( )
1
U
t – аналоговый сигнал (речь);
−
( )
U
t
d
– сигнал от генератора тактовых импульсов.
В соответствии с теоремой дискретизации (Котельникова – Шенно- на), если для функции
( )
1
U
t спектральной составляющей наивысшей час- тоты является fвг , то мгновенные отсчеты, взятые с частотой 2 fвг , со- держат в себе практически всю информацию исходного сообщения.
Для телефонии, где речевой сигнал ограничен частотой
3400
max
f
=
Гц, частоту дискретизации выбирают равной
8000
fd =
Гц.
Период дискретизации составляет
1 125
T
f
d
d
=
=
мс.
Таким образом, на выходе дискретизатора как умножителя сигналов получается сигнал
( )
( )
( )
2 1
d
U
t
U t
U
t
=
⋅
Квантование сигнала
( )
2
U
t
в стандарте GSM.
В стандартных
АЦП, используемых в цифровой телефонии, число уровней квантования
(при приемлемом отношении сигнал-шум) выбирают равным 256 = 2 8
, или больше.