Спектральный анализ речевых сигналов

Обзор особенностей речевых сигналов, спектрального анализа и способов его применения при обработке цифровых речевых сигналов. Рассмотрение встроенных функций и расширений Matlab по спектральному анализу. Реализация спектрального анализа в среде Matlab.

Рубрика Коммуникации, связь, цифровые приборы и радиоэлектроника
Вид курсовая работа
Язык русский
Дата добавления 25.05.2015
Размер файла 2,2 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Министерство образования и науки Российской Федерации

Казанский национальный исследовательский технический университет им. А.Н. Туполева

Институт технической кибернетики и информатики

Кафедра систем информационной безопасности

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

К КУРСОВОЙ РАБОТЕ

"Математические методы теории сигналов и систем"

"Спектральный анализ речевых сигналов"

Выполнила студентка гр. 4204

Валеева Рита Маратовна

Проверил

профессор каф. СИБ Исмагилов И.И.

Введение

Спектральный анализ - это один из методов обработки сигналов, который позволяет охарактеризовать частотный состав измеряемого сигнала. Преобразование Фурье является математической основой, которая связывает временной или пространственный сигнал (или же некоторую модель этого сигнала) с его представлением в частотной области. Методы статистики играют важную роль в спектральном анализе, поскольку сигналы, как правило, имеют шумовой или случайный характер. Если бы основные статистические характеристики сигнала были известны точно или же их можно было бы без ошибки определить на конечном интервале этого сигнала, то спектральный анализ представлял бы собой отрасль точной науки. Однако в действительности по одному-единственному отрезку сигнала можно получить только некоторую оценку его спектра.

К обработке сигналов в реальном масштабе времени относятся задачи анализа речевых сигналов, в которых помимо трудностей, связанных непосредственно с анализом спектрального содержания и дальнейшей классификацией последовательности отсчетов (как в задаче распознавания речи) или изменения формы спектра - фильтрации в частотной области, возникает проблема управления потоком данных в современных вычислительных системах. Реальность накладывает отпечаток как на сами вычислительные алгоритмы, так и на результаты экспериментов, поднимая вопросы, с которыми не сталкиваются при обработке всей доступной информации.

Постановка задачи на курсовую работу

речевой сигнал цифровой спектральный

1. Обзор особенностей речевых сигналов, спектрального анализа и его применение при обработке цифровых речевых сигналов.

2.Обзор встроенных функций и расширений Matlab по спектральному анализу.

3.Реализация спектрального анализа в среде Matlab.

  • 1. Теоретическая часть
    • 1.1 Речевые сигналы. Их особенности, характеристики и классификации
      • Речевой сигнал -- сигнал, образуемый произносительным аппаратом человека. Звуки речи образуются в результате прохождения воздушного потока из легких через голосовые связки и полости рта и носа. Частота импульсов основного тона (f0) лежит в пределах от 50..80 Гц (бас) до 200..250 Гц (женский и детский голоса). Импульсы основного тона содержат большое число гармоник (до 40) (2f0,..,nf0), причем их амплитуды убывают с увеличением частоты со скоростью приблизительно 12 дБ на октаву (кривая 1). (Напомним, что октавой называется диапазон частот, верхняя частота которого в два раза выше нижней. Т.о. амплитуда гармоники 2f0 на 12 дБ больше, чем гармоники 4f0 и т.д.). При разговоре частота основного тона f0 меняется в значительных пределах.
      • В процессе прохождения воздушного потока из легких через голосовые связки и полости рта и носа образуются звуки речи, причем мощность гармоник частоты основного тона меняется (кривая 2).
      • Важнейшим параметром, характеризующим спектр (распределение энергии или амплитуды по частотам) речевого сигнала являются форманты, которые определяют как концентрацию энергии в ограниченной частотной области. Форманта характеризуется частотой, шириной и амплитудой. За частоту форманты принимают частоту максимальной амплитуды в пределах форманты. Другими словами, форманта - это некоторый амплитудный всплеск на графике спектра, а его частота - частота пика этого всплеска. Как и остальные параметры речевого сигнала, форманты быстро меняются в течение времени, поэтому принято снимать их на отрезке звукового сигнала 10-20 мс, считая что сигнал на таком отрезке примерно стационарен (постоянен). Известно, что первая форманта (частота основного тона) лежит в промежутке от 50 Гц (у взрослого мужчины) до 300 Гц ( у детей и некоторых женщин). Кроме того известно, что амплитуда каждой последующей форманты ниже, чем предыдущей, а их частоты равны частоте основного тона умноженного на целое число (2 для F1, 3 для F2 и так далее).
      • 1.2 Спектральный анализ сигналов
      • Непрерывное преобразование Фурье
      • Спектральное представление сигналов основано на разложении функций в ряд.
      • Рис.1. Непрерывная периодически повторяющаяся функция (сигнал) U(t).
      • Периодически повторяющаяся функция U(t) (далее - сигнал) любой формы с периодом повторения T на бесконечном интервале времени может быть представлена бесконечной суммой элементарных тригонометрических функций с надлежащим образом подобранными параметрами: амплитудой Ak и начальной фазой цk:
      • или в форме:
      • Преобразование выражения (1) в форму (2) основано на представлении гармонического колебания в виде двух квадратурных составляющих: косинусной и синусной с нулевыми начальными фазами.
      • Это разложение (1) или (2) периодической функции (сигнала) в бесконечный ряд тригонометрических функций называется рядом Фурье, а функции ряда называются гармониками.
      • Частоты гармоник кратны основной частоте щ1:
      • - круговая частота (рад/сек)
      • - циклическая частота (герц)
      • Коэффициенты (амплитуды гармоник) ряда (2) могут быть вычислены:
      • Амплитуды Ak и фаза цk гармоники ряда (1) связаны с коэффициентами ak и bk ряда (2) связаны соотношениями:
      • Ряд Фурье обычно принято представлять в комплексной форме.
      • Для преобразования выражения (2) в комплексную форму следует воспользоваться формулами Эйлера (представление тригонометрических функций экспоненциальными):
      • Тогда разложение U(t) в ряд может быть представлено:
      • или в форме:
      • Обозначим коэффициенты ряда (4)
      • С учетом соотношений (3) коэффициенты Ck и C-k вычисляются:
      • Так как cos(б) ± jsin(б) = e±
      • то соотношения (5) в комплексной форме будут иметь вид:
      • Легко заметить, что значения C-k отличаются от Ck лишь знаком показателя экспоненты.
      • Если ввести отрицательные значения k и учесть, что
      • то разложение в ряд U(t) (4) можно представить в следующей форме:
      • И окончательно запишем формулы преобразования Фурье для периодически повторяющихся сигналов с периодом повторения T:
      • - прямое преобразование Фурье
      • - обратное преобразование Фурье
      • где Сk комплексные гармоники - спектр периодически повторяющегося сигнала.
      • Еще раз обратим внимание на свойства спектра периодически повторяющегося сигнала на бесконечном интервале времени:
      • - спектр является дискретным;
      • - гармоники спектра кратны основной частоте f = 1/T (щ = 2р/T);
      • - число гармоник бесконечно;
      • - математически спектр содержит как реальные - положительные по частоте гармоники, так и отрицательные гармоники (k - отрицательные значения).
      • Спектр (а точнее спектральная плотность) не периодического, одиночного, сигнала может быть получен путем предельного перехода при
      • - интервал между соседними гармониками
      • - щ - непрерывная частота
      • - спектральная плотность
      • и преобразование Фурье для одиночного сигнала выполняется по формулам:
      • Огибающая дискретного спектра периодического сигнала полностью совпадает со спектральной плотностью одиночного сигнала. Поэтому для получения спектра периодического сигнала с периодом T достаточно по (8) вычислить спектральную плотность для одиночного сигнала и взять дискретные его значения через f = 1/T.
      • Пример:
      • Спектральная плотность прямоугольного импульса длительностью ф и амплитудой Um
      • Пределы интегрирования
      • После подстановки пределов интегрирования и с учетом формул Эйлера получим:
      • Рис.2. Модуль функции sin(x)/x (амплитудный спектр прямоугольного импульса)
      • Как следует из приведенного графика, функция sin(x)/x имеет лепестковый характер и принимает значения, равные 0 при x = 2nр n = 1, 2, 3… или для спектра при значениях частоты f = 1/ф, 2/ф, 3/ф…
      • Уровень лепестков относительно главного составляет:
      • - первый - 0.217
      • - второй - 0.13
      • - третий - 0.09
      • - четвертый - 0.07
      • т.е., хотя в главном лепестке спектра и сосредоточена основная мощность прямоугольного импульса (более 90%), все же спектр (спектральная плотность) его достаточно медленно убывает с частотой.
      • Дискретное преобразование Фурье (ДПФ)
      • Дискретное преобразование Фурье лежит в основе различных технологий спектрального анализа, предназначенных для исследования случайных процессов.
      • Пусть спектр сигнала U(t), заданного на интервале T, ограничен верхней частотой FВ.
      • Тогда в соответствии с теоремой Котельникова (теоремой отсчетов Винера) такой сигнал может быть представлен своими дискретными значениями Un (n=0,1…N-1), взятыми через интервалы времени
      • Дt=1/2FВ
      • Число дискретных значений - отсчетов сигнала будет равно N=T/Дt.
      • Тогда при условии дискретизации сигнала соотношение для расчета гармоник спектра
      • следует записать в виде суммы, заменив
      • - текущее время
      • окончательно дискретное преобразование Фурье принимает вид
      • Рассмотрим некоторые свойства дискретного преобразования Фурье.
      • 1. Сравним гармоники при k=0 и k=N; при k=1 и k=N+1 т.е отстоящих на N:
      • Т.к. индексы отсчетов n -целочисленные значения
      • то exp(-j2рn)=cos(2рn) - j*sin(2рn)=1 и cN=c0
      • То есть c1=cN+1
      • Таким же образом можно показать, что c2=cn+2 и т.д.
      • Т.е. при дискретном преобразовании Фурье число рассчитываемых гармоник равно числу отсчетов N. (Далее значения гармоник повторяются).
      • 2. Рассмотрим гармоники c1 и cN-1 c2 и cN-2, т.е. симметричные относительно гармоники cN/2
      • Также и и т.д
      • Т.е. гармоники, симметричные относительно cN/2, являются комплексно сопряженными.
      • Обратное преобразование Фурье выполняется по формуле:
      • Для выполнения дискретного преобразования Фурье (прямого и обратного) при прямом использовании соотношений (10) (11) потребуется N*N операций комплексных умножений и сложений (операция умножения требует больших временных или аппаратурных затрат по сравнению с операций суммирования).
      • Быстрое преобразование Фурье
      • Для уменьшения временных затрат для выполнения дискретного преобразования Фурье разработаны различные алгоритмы быстрого преобразования Фурье. При реализации БПФ возможно несколько вариантов организации вычислений в зависимости от способа деления последовательности отсчетов на части (прореживание по времени либо по частоте) и от того, на сколько фрагментов производится разбиение последовательности на каждом шаге (основание БПФ).
      • БПФ с прореживанием по времени
      • Рассмотрим идею БПФ с прореживанием по времени на примере деления набора отсчетов пополам. Пусть N - четное число. Выделим в формуле два слагаемых, соответствующих элементам исходной последовательности с четными и нечетными номерами:
      • ,
      • .
      • Две суммы в (12) представляют собой ДПФ последовательностей {y(m)} (отсчеты с четными номерами) и {z(m)} (отсчеты с нечетными номерами). Каждое из этих ДПФ имеет размерность N/2. Таким образом,
      • .
      • Формулу (13) можно использовать только при 0?n<N/2. Для остальных n (N/2?n<N) следует воспользоваться периодичностью спектра дискретного сигнала:
      • , .
      • При n?N/2 формула (13) принимает вид:
      • .
      • Процесс вычисления 8-точечного ДЛФ путём разбиения его на 4-точечных ДПФ иллюстрируется на рисунке 3.
      • Рис.3
      • Каждый блок на рисунке 3 имеет два входных и два выходных сигнала. Один из входных сигналов умножается на комплексную экспоненту , после чего суммируется со вторым сигналом и вычитается из него, формируя таким образом два входных сигнала. Это соответствует реализации формул (12) и (13). Данная операция получила название "бабочки".
      • Наибольшая степень ускорения вычислений может быть достигнута при N=, в этом случае деление последовательности на две части можно продолжать до тех пор, пока не получается двухэлементные последовательности, ДПФ которых рассчитывается без использования операций умножения.
      • БПФ с прореживанием по частоте
      • Данный алгоритм осуществляется, путем выполнения преобразований, показанных на схеме рис. 3 в обратном порядке.
      • Разделим исходную последовательность {x(k)} на две следующие друг за другом половины:
      • .
      • ,
      • .
      • При прореживании по частоте вычисления организуются следующим образом:

1. Из исходной последовательности {x(k)} длиной N получаются две последовательности {y(m)} и {z(m)} длиной N/2 согласно следующим формулам: , .

2. ДПФ последовательности {y(m)} дает спектральные отсчеты с четными номерами, ДПФ последовательности {z(m)} - с нечетными:

, .

Процесс вычисления 8-точечного ДПФ путём разбиения его на 4-точечных ДПФ с прореживанием по частоте показан на рис. 4.

Рис. 4

2. Практическая часть

2.1 Обзор средств Matlab и ее расширений по реализации спектрального анализа

В MATLAB имеются функции, реализующие разнообразные методы спектрального анализа - как параметрические, так и непараметрические.

Функция fft(X) - возвращает для вектора Х дискретное преобразование Фурье (ДПФ), по возможности используя алгоритм БПФ. Если Х - матрица, функция возвращает преобразование Фурье для каждого столбца матрицы;

Функция fft(X, n) - возвращает n-точечное преобразование Фурье. Если длина вектора Х меньше n, то недостающие элементы заполняются нулями; если больше, то лишние элементы удаляются;

Функция fft(X, [ ], dim) и fft(X,n,dim) - производят преобразование Фурье к одной из размерностей массива в зависимости от значения параметра dim;

Функция fft2(Х) - возвращает для массива данных Х двумерное ДПФ;

Функция fft2(X,m,n) - усекает массив Х или дополняет его нулями, чтобы перед выполнением преобразования Фурье создать матрицу размера nm;

Функция fftn(X) - N-мерное ДПФ для массива Х размерности N.

Функция fftn(X, siz) - ДПФ для массива Х с ограничением размера, заданным переменной siz.

Для реализации обратного преобразования Фурье в начало каждой из вышеуказанных функций добавляется буква i (от англ. inverse - обратный).

Кроме того, в системе MATLAB имеется около 15 функций, задающих различные окна: bartlett(n), blackman(n), chebwin(n,r), hamming(n), hann(n), kaiser(n,), triang(n), barthanwin(n), blackmanharris(n), bohmanwin(n), gausswin(n, ), nuttallwin(n), rectwin, tukeywin(n, ).

Такая мощная система, как MATLAB, имеет также встроенные функции для реализации всех методов спектрального анализа, вычисляющих спектральную плотность мощности сигнала.

Рассмотрим самый простой синтаксис данных функций:

pburg(x,p) - вычисление СПМ методом Бурга, х - вектор значений сигнала, р - параметр модели;

pcov(x,p) - ковариационный метод;

pmcov(x,p) - модифицированный ковариационный метод;

pmtm(x,nw) - многооконный метод, параметр nw задает спектрально-временное разрешение;

pwelch(x) - метод Уэлча;

peig(x, p) - метод собственных значений;

pyulear(x, p) - метод Юла-Уолкера;

pmusic(x, p) - метод классификации множественных сигналов;

periodogram(x) - периодограммный метод;

spectrogram(x, nfft) - короткий оконный Фурье-анализ.

Конечно, возможности системы MATLAB в реализации спектрального анализа не ограничиваются только вышеперечисленными функциями.

Программа SPTool (Signal Processening Tool) предоставляет в распоряжение пользователя графическую среду для просмотра графиков сигналов и их спектров, расчета и анализа фильтров, а также фильтрации сигналов. Данная программа также предоставляет возможность осуществления спектрального анализа сигналов. Для запуска программы необходимо набрать её имя в командной строке MATLAB.

2.2 Реализация спектрального анализа в Matlab. Вычислительный эксперимент

Реализация спектрального анализа с помощью программы SPTool

Спектральный анализ не зашумлённого речевого сигнала

В командной строке Matlab вводим функцию wavread для считывания WAV-файлов, затем имя программы SPTool:

>> [p, Fs]=wavread('frazfor');

>> sptool

После данной операции появляется окно программы. Мы загружаем речевой сигнал, затем для анализа спектра сигнала щёлкаем на кнопку Create и в появившемся окне Spectrum Viewer выбираем метод спектрального анализа.

1. Метод Берга

2. Метод ковариации

3. Метод дискретного преобразования Фурье

4. Метод модифицированной ковариации

5. Авторегрессионный метод Юла - Уолкера

6. Метод Уэлча

Спектральный анализ зашумлённого речевого сигнала

В командной строке Matlab вводим функции noise и noised для зашумления сигнала:

>> noise=rand(size(p));

>> noised=p+noise;

Производим те же операции, что и при анализе не зашумлённого сигнала.

В окне Spectrum Viewer выбираем метод спектрального анализа.

1. Метод Берга.

2. Метод ковариации

3. Метод дискретного преобразования Фурье

4. Метод модифицированной ковариации

5.Авторегрессионный метод Юла - Уолкера

6. Метод Уэлча

Реализация спектрального анализа с помощью функций Matlab

Загрузим в Matlab звуковой файл "frazfor". Затем выполним спектральный анализ речевого сигнала с помощью различных методов.

1. Выполнение спектрального анализа методом ДПФ.

>> [x, hc] = wavread ('frazfor'); % чтение wav-файла

>> wavplay (x); % проигрывание сигнала с помощью матлаб

>> noise = rand(size(x)); % зашумление сигнала

>> noised = x+noise;

>> wavplay (noised);

>> Time = 6;

>> x = transpose (x(1:(Fs*Time))); % транспонирование сигнала

>> noised = transpose (noised(1:(Fs*Time))); % транспонирование зашумлённого сигнала

>> FFtx = abs(fft(x,Fs*2)); % вычисление прямого ДПФ сигнала

>> FFtn = abs(fft(noised,Fs*2)); % вычисление прямого ДПФ зашумлённого сигнала

>> plot (FFtx); % вывод сигнала

>> figure

>> plot (FFtn); % вывод зашумлённого сигнала

>> FFtx = fftshift (FFtx); % центрирование нулёвой частоты сигнала

>> plot (FFtx); % вывод спектра сигнала

>> FFtn = fftshift (FFtn); % центрирование нулёвой частоты зашумлённого сигнала

>> figure;

>> plot (FFtn); % вывод спектра зашумлённого сигнала

2. Выполнение спектрального анализа методом Уэлча.

>> [x, hc] = wavread ('frazfor'); % чтение wav-файла

>> noise = rand(size(x)); % зашумление сигнала

>> noised = x+noise;

>> a = 0.9;

>> y = pwelch (x,[],[],1024,1); % определение спектра мощности речевого сигнала методом Уэлча

>> plot (y); % вывод графика спектра сигнала

>> z = pwelch (noised, [],[],1024,1); % определение спектра мощности зашумлённого речевого сигнала методом Уэлча

>> figure

>> plot (z); % вывод графика спектра зашумлённого сигнала

3. Выполнение спектрального анализа методом Берга

>> [x, hc] = wavread ('frazfor'); % чтение wav-файла

>> noise = rand(size(x)); % зашумление сигнала

>> noised = x+noise;

>> a = 0.9;

>> pburg (x,1,[],1) % определение спектра мощности речевого сигнала методом Берга и вывод графика спектра сигнала

>> pburg (noise, 1, [], 1) % определение спектра мощности зашумлённого речевого сигнала методом Берга и вывод графика спектра сигнала

4. Выполнение спектрального анализа методом ковариации.

>> [x, hc] = wavread ('frazfor'); % чтение wav-файла

>> noise = rand(size(x)); % зашумление сигнала

>> noised = x+noise;

>> a = 0.9;

>> pcov (x,1,[],1) % определение спектра мощности речевого сигнала ковариационным методом и вывод графика спектра сигнала

>> pcov (noise, 1, [], 1) % определение спектра мощности зашумлённого речевого сигнала ковариационным методом и вывод графика спектра сигнала

5. Выполнение спектрального анализа методом модифицированной ковариации.

>> [x, hc] = wavread ('frazfor'); % чтение wav-файла

>> noise = rand(size(x)); % зашумление сигнала

>> noised = x+noise;

>> a = 0.9;

>> pmcov (x,1,[],1) % определение спектра мощности речевого сигнала методом модифицированной ковариации и вывод графика спектра сигнала

>> pmcov (noise, 1, [], 1) % определение спектра мощности зашумлённого речевого сигнала методом модифицированной ковариации и вывод графика спектра сигнала

6. Выполнение спектрального анализа авторегрессионным методом Юла-Уолкера.

>> [x, hc] = wavread ('frazfor'); % чтение wav-файла

>> noise = rand(size(x)); % зашумление сигнала

>> noised = x+noise;

>> a = 0.9;

>> pyulear (x,1,[],1) % определение спектра мощности речевого сигнала авторегрессионным методом Юла-Уолкера и вывод графика спектра сигнала

>> pyulear (noised, 1, [], 1) % определение спектра мощности зашумлённого речевого сигнала авторегрессионным методом Юла-Уолкера и вывод графика спектра сигнала

2.3 Заключение

Таким образом были рассмотрены и описаны возможности среды Matlab по реализации спектрального анализа. Мы произвели спектральный анализ зашумлённого и не зашумлённого речевого сигнала с помощью программы SPTool и функций Matlab.

Исходя из проведённого выше анализа, мы можем сделать вывод, что спектральные анализы зашумлённого и не зашумлённого сигнала имеют ряд отличий. Из приведённых выше графиков видно, что спектр зашумлённого сигнала имеет более сглаженные частоты, и скачков амплитуды не происходит.

Заключение

В данной курсовой работе был проведён обзор особенностей речевых сигналов, разобраны методы осуществления спектрального анализа. Были приведены примеры встроенных функций и расширений среды Matlab относительно спектрального анализа, из чего можно сделать вывод, что среда MatLab - мощный пакет прикладных программ для решения задач технических вычислений. Также мы произвели вычислительный эксперимент с зашумлённым и не зашумлённым сигналами и сравнили их спектры.

Список используемой литературы

1. Сергиенко А.Б. "Цифровая обработка сигналов" 3 изд. Ст. Петербург 2011 год.

2. Умняшкин С.В. "Теоретические основы цифровой обработки и представления сигналов". Москва 2012 год.

3. Стивен Смит "Цифровая обработка сигналов. Практическое руководство для инженеров и научных работников". Москва 2012 год

4. Гетманов В.Г. "Цифровая обработка сигналов". Москва 2010 год

5. О. В. Лазоренко, Л. Ф.Черногор " Системный спектральный анализ сигналов: теоретические основы и практические применения"

6. Диканёв Т.В. "Спектральный анализ сигналов" Учебно-методическое пособие

7. Функции спектрального анализа в Matlab

URL: http://matlab.exponenta.ru/signalprocess/book2/index.php

8. Рабинер Л.Р., Шафер Р.В. Цифровая обработка речевых сигналов. М.: Радио и связь.- 1981.

9. В.Дьяконов, И.Абраменкова. "MATLAB. Обработка сигналов и изображение. Специальный справочник" Питер. 2002.

10. Марпл.-мл. С.Л. " Цифровой спектральный анализ и его приложения " изд. Мир 1990 год.

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.