Книга. Речевых сигналов
Скачать 1.72 Mb.
|
1.2.2. Дискретизация В последнее время в технике идет переход на цифровые методы об- работки информации. Это связано с тем, что цифровую информацию легче хранить (появились дешевые и удобные устройства для хранения инфор- мации, такие как жесткие диски компьютеров или лазерные диски), а так- же с тем, что цифровую информацию легко передавать по современным линиям связи практически без потерь. Аналоговый сигнал – это число S , зависящее от времени t . При запи- си информации на носитель или воспроизведении с него сигнал неизбежно искажается различного рода шумами. Восстановить искаженный сигнал (убрать шумы) нельзя. Можно, конечно, пытаться подавлять шумы, ис- пользуя некоторую дополнительную информацию (например, можно по- давлять частоты, в которых сосредоточены шумы), но при этом теряется и информация о самом сигнале, т.е. опять же вносятся искажения. При оцифровке сигнала ( ) S t производятся две операции – дискретизация и квантование. 12 Дискретизация – это замена сигнала ( ) S t с непрерывным временем t на дискретизованный сигнал, т.е. это последовательность чисел ( ) S ti для дискретного набора моментов времени 1 2 , , , i t t t … (чаще всего интер- валы между моментами времени 1 i i t t t − Δ = − берутся одинаковыми). При дискретизации время становится цифровым, моменты времени ti можно нумеровать, кодировать. Производится замена непрерывного времени t на последовательность дискретных значений 1 2 , , , , i t t t … а непрерывной (по времени и по уровню) функции сигнала ( ) S t (рис. 1.2, а ) некоторым мно- жеством непрерывных (по уровню) функций ( ) S ti (рис. 1.2, б ). Рис. 1.2. Дискретизация по времени: а – аналоговый сигнал ( ) S t ; б – результирующий сигнал ( ) i S t При дискретизации часть информации о сигнале теряется. Но если сигнал ( ) S t за время t Δ не сильно изменяется, числа ( ) S ti и ( ) 1 S ti − близки друг к другу, то поведение ( ) S t между моментами времени ti и 1 ti − нетрудно восстановить (сигнал практически линейно изменяется во времени от ( ) 1 S ti − до ( ) S ti ). При дискретизации теряются составляющие сигнала с частотами порядка 1 f t d > Δ и выше. Дискретизация связана с некоторой погрешностью ε , которая зави- сит от шага дискретизации 1 t t t i i Δ = − − . При малых значениях шага дис- кретизации число точек замера велико, зато теряется мало информации. Обратная картина наблюдается при больших значениях шага дискретиза- ции. Погрешность дискретизации ε в каждый момент времени t опреде- ляется по формуле S S ( ) 3 S t ( ) 3 S t ( ) 2 S t ( ) 4 S t ( ) 2 S t ( ) 4 S t ( ) 1 S t ( ) 1 S t ( ) S t 1 t 2 t 3 t 4 t t 1 t 2 t 3 t 4 t t а) б) 13 ( ) ( ) ( ) t S t V t ε = − , (1.2) где ( ) V t – функция восстановления, которая по дискретным значениям восстанавливает ( ) S t Виды дискретизации различаются по регулярности отсчетов: − равномерная дискретизация, когда t Δ постоянно; − неравномерная дискретизация, когда t Δ переменно, причем этот вид в свою очередь делится: – на адаптивную, когда t Δ меняется автоматически в зависимости от текущего изменения сигнала. Это позволяет увеличивать шаг дис- кретизации, когда изменения сигнала ( ) S t незначительны, и умень- шать – в противном случае; – программируемую, когда t Δ изменяется оператором или в соответ- ствии с заранее выставленными условиями, например в фиксирован- ные моменты времени. Частота Найквиста. Гармонический сигнал может быть адекватно представлен дискретными отсчетами, если его частота не превышает поло- вины частоты дискретизации. Эта частота называется частотой Найквиста (Nyquist frequency ( ) 2 1 2 N d T f f = = , 2 N d T π ω ω = = ) [40, 43]. В зависи- мости от соотношения между частотой дискретизируемого гармоническо- го сигнала и частотой Найквиста возможны три случая. 1. Если частота гармонического сигнала меньше частоты Найквиста, то дискретные отсчеты позволяют правильно восстановить аналоговый сигнал (рис. 1.3, а ). 2. Если частота гармонического сигнала равна частоте Найквиста, то дискретные отсчеты позволяют восстановить аналоговый сигнал с той же частотой, но амплитуда и фаза восстановленного сигнала (он показан пунктирной линией) могут быть искажены (рис. 1.3, б ). 3. Если частота гармонического сигнала больше частоты Найквиста, восстановленный по дискретным отсчетам аналоговый сигнал (он показан пунктирной линией) будет также гармоническим, но с иной частотой (рис. 1.3, в ). Данный эффект носит название появление ложных частот (aliasing). 14 Рис. 1.3. Дискретизация гармонических сигналов с разной частотой Теорема Котельникова. Любой сигнал ( ) S t , спектр которого не со- держит составляющих с частотами выше некоторого значения 2 B B f π ω = , может быть без потерь информации представлен своими дискретными от- счетами { ( ) S kT }, взятыми с интервалом Т , удовлетворяющим следующе- му неравенству: 1 2 B B T f π ω ≤ = . (1.3) Данная теорема называется теоремой Котельникова (в зарубежных источниках – теоремой Найквиста, или теоремой дискретизации (sampling theorem)) [43, 45]. Восстановление исходного непрерывного сигнала ( ) S t по набору его дискретных отсчетов { ( ) S kT } производится по следующей формуле: ( ) ( ) ( ) S t S kT t k k ϕ ∞ = ∑ = −∞ . (1.4) Данная формула представляет собой разложение сигнала ( ) S t в ряд по системе функций ( ) { } t k ϕ , называемой базисом Котельникова: ( ) sin t kT T t k t kT T π ϕ π − ⎛ ⎞ ⎜ ⎟ ⎝ ⎠ = − . (1.5) а) б) в) 15 Формирование непрерывного сигнала по его дискретным отсчетам поясняет рис. 1.4. Пунктирными показаны графики отдельных слагаемых формулы (1.3), сплошной линией – восстановленный сигнал. Ниже приве- ден код MATLAB, использованный при построении рисунка [7]. >> t=-2:0.01:6; % время для восстановленного сигнала >> td=-2:6; % номера отсчетов >> s=[0 0 4 3 2 1 0 0 0]; % дискретный сигнал >> d=[td' s']; % данные для функции pulstran >> y=pulstran(t, d, 'sinc'); % восстановленный сигнал >> plot(td, s, 'O', t, y); % график восстановленного сигнала >> hold on % вывод графиков отдельных sin-импульсов >> for k=1:length(s), plot(t, s(k)*sinc(t-td(k)), ':'), end; hold off В данном коде использована функция pulstran , которая позволяет сформировать сигнал в виде суммы конечного числа импульсов произ- вольной формы с заданными задержками и множителями, что делает ее очень удобной при построении графиков сигналов, восстановленных по дискретным отсчетам согласно теореме Котельникова. Рис. 1.4 наглядно демонстрирует главное свойство сигнала с ограни- ченным спектром – его бесконечность во времени. Хотя отличны от нуля лишь несколько отсчетов показанного сигнала, аналоговый сигнал оказы- вается бесконечно колеблющимся: между нулевыми отсчетами (на рис. 1.4 это отсчеты –2, –1, 4, 5, 6 ) его значения отличны от нуля. Эти колебания нигде не заканчиваются, хотя их амплитуда стремится к нулю. Рис. 1.4. Восстановление непрерывного сигнала по его дискретным отсчетам 16 Когда говорят об ограниченной полосе частот сигнала, имеется в ви- ду спектральная функция всего сигнала, имеющего бесконечную длитель- ность. При этом мгновенные спектры отдельных фрагментов сигнала мо- гут содержать сколь угодно высокие частоты. Под мгновенным спектром подразумевается спектральная функция «вырезанного» из сигнала фраг- мента конечной длительности. В частности, в отдельном промежутке между соседними отсчетами сигнал с ограниченным спектром может иметь сколь угодно сложную форму, например произвольное число раз менять знак. Примеры восстановления сигналов приведены в [43]. Изменение частоты дискретизации. При решении различных задач обработки сигналов приходится увеличивать или уменьшать частоту дис- кретизации сигналов. Это необходимо, например, для согласования раз- личных стандартов хранения и передачи дискретной информации [43]. Классический пример – преобразование аудиозаписей между форматом компакт-дисков ( f d = 44,1 кГц) и форматом цифровой магнитной записи R DAT ( f d = 48 кГц). Приведенный пример не относится к самым простым, поскольку ко- эффициент изменения частоты дискретизации не является целым числом. В зависимости от значения этого коэффициента выделяют следующие ва- рианты обработки данных. 1. Интерполяция (interpolation) – повышение частоты дискретизации в целое число раз. При интерполяции необходимо повысить частоту дискретизации в N раз, т.е. растянуть входной сигнал, а образовавшиеся промежутки между отсчетами заполнить. Например, при повышении частоты дискретизации в два раза, необ- ходимо между каждой парой отсчетов исходного сигнала «нарисовать» но- вый отсчет, используя при этом информацию об окружающих отсчетах. В программе MATLAB этому способу соответствует функция interp В простейшем случае синтаксис функции таков: y=interp(x,r) , где r – кратность увеличения частоты дискретизации. Для интерполяции в данном случае используется нерекурсивный фильтр с линейной ФЧХ. По умолчанию порядок фильтра равен 8 r , т.е. фильтр в каждый момент ис- 17 пользует восемь отсчетов входного сигнала. Частота среза фильтра по умолчанию равна половине исходной частоты Найквиста. 2 . Прореживание (decimation) – понижение частоты дискретизации в целое число раз. В задачах распознавания речи весьма актуальна проблема рацио- нального выбора частоты дискретизации f d . Поскольку полоса частот ре- чевых сигналов ограничена сверху 3 – 3,5 кГц, рациональным было бы значение f d = 8...10 кГц. Между тем зачастую оказывается, что речевой сигнал уже дискретизирован с намного более высокой частотой, рассчи- танной на сигналы музыкальной природы, т.е. f d = 44 … 48 кГц. Очевид- но, что целесообразно «проредить» сигнал, оставляя лишь каждый, напри- мер, 6-й отсчет исходного сигнала. В результате f d понизится с 44,1 до 8 кГц. Перед прореживанием нужно дополнительно отфильтровать частоты речевого сигнала, превышающие значение 3,5 кГц. В программе MATLAB прореживание выполняется с помощью функции decimate . Синтаксис ее вызова следующий: y = decimate(x, r) , где x – входной сигнал, r – целочисленный коэф- фициент понижения частоты дискретизации, y – прореженный сигнал. При этом по умолчанию используется ФНЧ Чебышева 1-го рода 8-го порядка с уровнем пульсаций в полосе пропускания 0,05 дБ и часто- той среза, равной 0,8 новой (после прореживания) частоты дискретизации. Заметим, что синтаксис функции decimate позволяет управлять характери- стиками фильтра и при понижении частоты дискретизации в целое число раз уменьшается число отсчетов, содержащихся в сигнале (на число, рав- ное числу раз понижения частоты дискретизации). 3 . Передискретизация (resampling) – изменение частоты дискретиза- ции в произвольное (в общем случае дробное) число раз. Классическим примером, когда нужно изменить частоту дискретиза- ции в нецелое число раз, является переход от частоты 48 кГц, принятой в качестве стандарта цифровой магнитной записи, к частоте 44,1 кГц, приня- той для компакт-дисков (либо обратный переход). Воспользуемся парой уже известных нам функций: y=decimate(interp(x, r), q) , 18 в результате чего получим процесс y с частотой дискретизации d d p F F q ′ = Однако в программе MATLAB для этой цели предусмотрена специ- альная функция resample : y=resample(x, p, q); где х – исходный сигнал, p и q – числитель и знаменатель дробного коэффициента изменения частоты дискретизации, y – передискретизированный сигнал. 1.2.3. Квантование Для преобразования аналогового сигнала в дискретный используется процедура, называемая квантованием. Квантование сигнала – это процедура, похожая на дискретизацию, только проводимая не со временем, а со значением сигнала S . Выбирается некий набор возможных значений сигнала , , , 1 2 S S Sn … и каждое ( ) S ti сопоставляется с ближайшим числом из этого набора. Иногда, чтобы внести в сигнал минимальные искажения, кванто- вание проводят так, что интервалы 1 S S S n n Δ = − − оказываются нерав- ными (нелинейное квантование). Например, часто делают S Δ малень- ким при малом значении сигнала, чтобы относительная погрешность (шум квантования/сигнал) не становилась очень большой при малых S Нелинейное квантование позволяет получить при приемлемой точности хранения сигнала большой динамический диапазон (отношение макси- мального значения сигнала к минимальному или к величине кванта). Квантование по уровню – преобразование непрерывных (по уровню) сигналов ( ) S ti в моменты отсчета ti в дискретные. В результате непре- рывное множество значений сигнала ( ) S ti в диапазоне от min S до max S преобразуется в дискретное множество значений Sk – уровней квантова- ния (рис. 1.5). Шаг квантования S Δ определяется по формуле 1 S S S j j Δ = − − . 19 Рис. 1.5. Квантование по уровню: а – аналоговые дискретные по времени сигналы ( ) S ti ; б – квантованные по уровню сигналы ( ) S ti При квантовании по уровню не всегда сигнал ( ) S ti совпадает с уровнем квантования (см. сигнал ( ) 2 S t на рис. 1.5, б ). В таком случае по- ступают одним из следующих способов: 1) ( ) S ti отождествляют с ближайшим значением (в нашем примере – с 2 S ); 2) ( ) S ti отождествляют с ближайшим меньшим (или большим) зна- чением. Отождествление не зависит от того, насколько близко к этому уровню квантования находится значение сигнала. Очевидно, что и при квантовании по уровню возникает погрешность квантования ( ) Sk ε : ( ) ( ) S S t S k i k ε = − (1.6) Погрешность квантования по уровню тем меньше, чем меньше шаг квантования. Различают два вида квантования по уровню: 1) равномерное, когда диапазон изменения сигнала разбивается на m одинаковых частей. Тогда, зная размер шага квантования, для представ- ления Sk достаточно знать число k . Другими словами, квантование с по- стоянным шагом S Δ называется равномерным; 2) неравномерное, когда диапазон изменения сигнала разбивается на m различных частей. Другими словами, квантование с изменяющимся ша- гом S Δ называется неравномерным [22]. ( ) S t ( ) S t ( ) 3 S t max S ( ) 3 S t ( ) 4 S t 2 S ( ) 4 S t ( ) 2 S t 1 S ( ) 2 S t ( ) 1 S t min S ( ) 1 S t 1 t 2 t 3 t 4 t t 1 t 2 t 3 t 4 t t а) б) 20 1.3. Технические и программные средства формирования аудиоданных Для обработки голоса необходимо предварительно записать его в оперативную память компьютера или на машинный носитель. Большинст- во персональных компьютеров оснащены оборудованием, необходимым для ввода и вывода звука. Это микрофон и звуковая плата. В общем виде процесс ввода речевых сообщений приведен на рис. 1.6. Рис. 1.6. Схема ввода речевых сообщений в ЭВМ Как известно, речевой сигнал формируется и передается в простран- стве в виде звуковых волн. Источником речевого сигнала служит речеоб- разующий тракт, который возбуждает звуковые волны в упругой воздуш- ной среде. Приемником сигнала является датчик звуковых колебаний, микрофон – устройство для преобразования звуковых колебаний в элек- трические. Существует большое количество типов микрофонов (угольные, электродинамические, электростатические, пьезоэлектрические и др.), описанных в специальной литературе. Чувствительный элемент микрофо- на любого типа – упругая мембрана, которая вовлекается в колебательный процесс под воздействием звуковых волн. Она связана с элементом, кото- рый преобразует колебания мембраны в электрический сигнал. С выхода микрофона сигнал подается на вход звуковой карты персо- нального компьютера. При записи звуковая карта представляет собой ана- логово-цифровой преобразователь с широкими возможностями настройки параметров оцифровки, основными из которых являются частота дискре- тизации и разрядность кодирования. Данные параметры определяют каче- ство и размер выборки, получаемой в результате записи. Причем размер и качество прямо пропорциональны, т.е. чем выше качество записи, тем больше ее размер. Существует огромное количество программных средств формирова- ния аудиоданных. Все они отличаются друг от друга, как правило, пользо- вательским интерфейсом и функциональными возможностями, но в их ос- нове лежит один и тот же принцип работы: запись, анализ, сжатие и очист- ка от шума сигнала. К таким средствам относятся: − Sound Forge – отличный звуковой редактор от компании «Sonic Foundry», сочетающий в себе мощь профессиональной дорогостоящей программы и простой пользовательский интерфейс; Речь Датчик звуковых колебаний Звуковая карта (АЦП) ЭВМ 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 , или больше. 30 В стандарте GSM используется восемь бит цифровой информации на один квантованный отсчет. Частота тактового генератора составляет 8 8 64 кГц ⋅ = , а период 3 (1 64) 10 15,625 Tk = ⋅ = мкс, т.е. сохраняется стан- дартная скорость передачи информации – 64 кбит/с по одному телефонно- му каналу. Следует отметить, что в системах мобильной сотовой связи стандар- та GSM используется 16-битные сигма-дельта АЦП, при этом скорость выходного потока составляет 128 кбит/с. Преобразование цифрового потока, несущего информацию о рече- вых сигналах и поступающего из декодера речи, реализуется цифро- аналоговыми преобразователями (ЦАП). Современные АЦП и ЦАП в мо- бильных станциях выполняются в виде интегральных микросхем. Широ- кое применение находят 16-битные АЦП и ЦАП, выполненные на одной интегральной микросхеме. Более подробно особенности схемного решения и принципы работы АЦП и ЦАП в системах мобильной связи можно най- ти в специальной литературе [18, 19]. Контрольные вопросы 1. Что такое речь и речеобразование? 2. Каково понятие речевого сигнала? 3. Что такое фонема и какие акустические фонемы есть в русском языке? 4. Что такое основной тон речевого сигнала и как он определяется? 5. Как определяется спектр речевого сигнала? 6. Какова частота дискретизации и как она определяется? 7. Как происходит процесс реализации фразы в речевом сигнале? 8. Что такое частота Найквиста и как происходит дискретизация ре- чевого сигнала? 9. Что такое теорема Котельникова? 10. Какими функциями можно дискретизовать речевой сигнал в среде MATLAB? 11. Что такое квантование сигнала и какие существуют виды кванто- вания? 12. Как происходит процесс ввода речевого сигнала в ЭВМ для его дальнейшей обработки? 31 13. Каковы функции обработки аудиосигнала в MATLAB? 14. Как определяются информативные признаки речевого сигнала? 15. Каковы параметры речевого сигнала? 16. Что такое стандарт GSM и как в нем осуществляется процесс ре- чеобразования? |