Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
54
Добавлен:
01.05.2014
Размер:
58.37 Кб
Скачать

Цифровая обработка речевых сигналов

Курсовая работа состоит из двух частей: теоретической и практической. Теоретическая часть работы заключается в изложении основ применения дискретного преобразования Фурье для спектрального анализа сигналов и общие основы теории цифровой фильтрации с подробным описанием метода проектирования ЦФ, выбранного для курсовой работы. Выполнение практической части работы состоит в написании необходимых функций MATLAB выполняющих операции представленные в задании. Отчет по курсовой работе должен быть представлен в виде документа в формате Microsoft Word (электронная и жесткая копия) в котором отражены пункты выполнения задания и выводы по работе. В приложении к курсовой работе приводится описание используемых функций MATLAB.

  1. Исходные сигналы .

Записать речевой сигнал отдельного слова с использованием Sound Blaster.

Формат записи : WAV, PCM , 16 бит , частота дискретизации 11025 гц, режим "МОНО".

С использованием доступного аудио-редактора вырезать из записи участок от начала до конца слова.

Спектральная обработка сигнала .

1. Разбить запись на сегменты длиной

    1. -128,

    2. - 256,

    3. - 512 отсчетов.

2. Провести спектральный анализ по отдельным сегментам с использованием заданного временного окна и вычислить спектральную плотность мощности использовать следующие окна :

  1. BARTLETT(N) возвращает N-точечное окно Бартлетта

  2. BLACKMAN(N)возвращает N-точечное окно Блэкмана.

  3. BOXCAR(N) возвращает N-точечное прямоугольгое окно

  4. CHEBWIN(N,R) возвращает N-точечное окно Чебышева с затуханием R децибелл.

  5. HAMMING(N) возвращает N-точечное окно Хэмминга .

  6. HANNING(N) возвращает N-точечное окно Хэннинга

  7. KAISER(N,beta) возвращает N-точечное окно Кайзера с параметром BETA.

  8. TRIANG(N) возвращает N-точечное треугольное окно .

3. Показать на 2-D графиках примеры спектров сегментов , соответствующих гласным и согласным звукам. Построить график последовательности спектров сегментов с использованием 3-D графики ( например , функция waterfall) . Построить отображение спектра в виде спектрограмм с использованием функции specgram различных длин окон и перекрытия

1.- 64

2 -.128

  1. 256

4. Выполнить фильтрацию речевого сигнала с заданным типом фильтра и заданной полосой пропускания.

БИХ:

  1. фильтр Баттерворта

  2. фильтр Чебышева

  3. эллиптический фильтр

  4. фильтр Бесселя

КИХ:

Метод взвешивания с помощью окна:

1. прямоугольное окно

2 . окно Хэмминга

3. окно Блэкмана

4. окно Кайзера

5 Метод частотной выборки

6 Метод оптимальных (по Чебышеву) фильтров

Построить графики спектра профильтрованного сигнала. Сохранить его в формате wav ,

прослушать через SB.

Пример работы с речевым файлом в формате .WAV

[Y,FS,BITS]=WAVREAD('k:\spmouse\visota.wav',10000);

clf;

plot(Y);grid;

xlabel('количество точек');

ylabel('амплитуда');

title ('график речевого сигнала');

fprintf (1,'FS= %6.2f BITS = %6.2f ' ,FS, BITS);

%печать параметров сигнала - длина, количество каналов

siz=WAVREAD('k:\spmouse\visota.wav','size');

fprintf (1, ' \n samples= %6d channels= %6d',siz)

WAVREAD Read Microsoft WAVE (".wav") sound file.

Y=WAVREAD(FILE) reads a WAVE file specified by the string FILE,

returning the sampled data in Y. The ".wav" extension is appended

if no extension is given. Amplitude values are in the range [-1,+1].

[Y,FS,BITS]=WAVREAD(FILE) returns the sample rate (FS) in Hertz

and the number of bits per sample (BITS) used to encode the

data in the file.

[...]=WAVREAD(FILE,N) returns only the first N samples from each

channel in the file.

[...]=WAVREAD(FILE,[N1 N2]) returns only samples N1 through N2 from

each channel in the file.

SIZ=WAVREAD(FILE,'size') returns the size of the audio data contained

in the file in place of the actual audio data, returning the

vector SIZ=[samples channels].

Supports multi-channel data, with up to 16 bits per sample.

WAVWRITE Write Microsoft WAVE (".wav") sound file.

WAVWRITE(Y,WAVEFILE) writes a WAVE file specified by the

string WAVEFILE. The data should be arranged with one channel

per column. Amplitude values outside the range [-1,+1] are

clipped prior to writing.

WAVWRITE(Y,FS,WAVEFILE) specifies the sample rate FS of the data

in Hertz.

WAVWRITE(Y,FS,NBITS,WAVEFILE) forces an NBITS-bit file format to

be written, where NBITS<=16.

Supports multi-channel 8- or 16-bit WAVE data.

Соседние файлы в папке zadanie_audio