Рефераты - Афоризмы - Словари
Русские, белорусские и английские сочинения
Русские и белорусские изложения

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

Работа из раздела: «Коммуникации, связь, цифровые приборы и радиоэлектроника»

/

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

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

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

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

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

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

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

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

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

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

Проверил

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

Введение

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

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

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

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

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

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

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

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 год.

ref.by 2006—2025
contextus@mail.ru