Лабы по ЦОС / zadanie_audio / audio_lab1
.docЦифровая обработка речевых сигналов
Курсовая работа состоит из двух частей: теоретической и практической. Теоретическая часть работы заключается в изложении основ применения дискретного преобразования Фурье для спектрального анализа сигналов и общие основы теории цифровой фильтрации с подробным описанием метода проектирования ЦФ, выбранного для курсовой работы. Выполнение практической части работы состоит в написании необходимых функций MATLAB выполняющих операции представленные в задании. Отчет по курсовой работе должен быть представлен в виде документа в формате Microsoft Word (электронная и жесткая копия) в котором отражены пункты выполнения задания и выводы по работе. В приложении к курсовой работе приводится описание используемых функций MATLAB.
-
Исходные сигналы .
Записать речевой сигнал отдельного слова с использованием Sound Blaster.
Формат записи : WAV, PCM , 16 бит , частота дискретизации 11025 гц, режим "МОНО".
С использованием доступного аудио-редактора вырезать из записи участок от начала до конца слова.
Спектральная обработка сигнала .
1. Разбить запись на сегменты длиной
-
-128,
-
- 256,
-
- 512 отсчетов.
2. Провести спектральный анализ по отдельным сегментам с использованием заданного временного окна и вычислить спектральную плотность мощности использовать следующие окна :
-
BARTLETT(N) возвращает N-точечное окно Бартлетта
-
BLACKMAN(N)возвращает N-точечное окно Блэкмана.
-
BOXCAR(N) возвращает N-точечное прямоугольгое окно
-
CHEBWIN(N,R) возвращает N-точечное окно Чебышева с затуханием R децибелл.
-
HAMMING(N) возвращает N-точечное окно Хэмминга .
-
HANNING(N) возвращает N-точечное окно Хэннинга
-
KAISER(N,beta) возвращает N-точечное окно Кайзера с параметром BETA.
-
TRIANG(N) возвращает N-точечное треугольное окно .
3. Показать на 2-D графиках примеры спектров сегментов , соответствующих гласным и согласным звукам. Построить график последовательности спектров сегментов с использованием 3-D графики ( например , функция waterfall) . Построить отображение спектра в виде спектрограмм с использованием функции specgram различных длин окон и перекрытия
1.- 64
2 -.128
-
256
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.