- •Министерство образования и науки российской федерации
- •Оглавление
- •Список рисунков
- •Введение
- •Основы работы со средой математического моделирования МаtLab
- •История создания и развития системы MatLab
- •Интерфейс пользователя
- •Типы данных в системе MatLab
- •Переменные в системе MatLab
- •Арифметические и логические операции в системе MatLab
- •Массивы и матрицы в системе MatLab
- •Использование знака «:» и множественной индексации в системе MatLab
- •Операции над матрицами в системе MatLab
- •Встроенные функции в системе MatLab
- •Графические возможности системы MatLab
- •Изменение свойств линий и оформление графиков
- •Графики функций двух переменных
- •Вывод нескольких графиков на одни оси
- •Вывод нескольких графиков в одном графическом окне
- •Работа со звуковыми файлами в системе MatLab
- •Считывание данных из wav-файлов
- •Запись данных в wav-файл
- •Воспроизведение звуковых сигналов
- •Запись звуковых сигналов
- •Лабораторная работа №1. Исследование внутренней структуры речевого сигнала
- •Методические указания к лабораторной работе
- •Исследование структуры и временных характеристик речевых сигналов
- •Ручная сегментация исследуемой фонограммы
- •Определение фонетического состава сегментов исследуемого слова
- •Лабораторная работа №2. Исследование спектральных свойств речевого сигнала
- •Методические указания к лабораторной работе
- •Комментарии по оформлению отчета к лабораторной работе
- •Программа анализа спектров фонограмм «Спектр» (версия 4)
- •Назначение программы
- •Функциональные возможности программы
- •Лабораторная работа №3. Исследование корреляционных свойств речевого сигнала
- •Методические указания к лабораторной работе
- •Комментарии к оформлению отчета по лабораторной работе
- •Программа анализа корреляционных функций «Коррелограмма»
- •Назначение программы
- •Предварительный этап работы с фонограммой
- •Порядок работы в программе «Коррелограмма»
- •Дополнительные возможности по работе с программой
- •Лабораторная работа №4. Исследование vad-алгоритма
- •Методические указания к лабораторной работе
- •Комментарии по оформлению отчета к лабораторной работе
- •Исследование алгоритма vad в программе «Коррелограмма»
- •Лабораторная работа №5. Исследование методов оценки основного тона речи
- •Методические указания к лабораторной работе
- •Лабораторная работа №6. Моделирование алгоритмов обработки речи
- •Методические указания к лабораторной работе
- •Список индивидуальных заданий
- •Вопросы для самоподготовки
- •Лабораторная работа №1
- •Лабораторная работа №2
- •Лабораторная работа №3
- •Лабораторная работа №4
- •Лабораторная работа №5
- •Лабораторная работа №6 (Индивидуальные задания)
- •Список литературы
- •Приложение аСписок литературы и web-ресурсы по «Речевым технологиям» и среде математического моделирования «MatLab»
- •Список литературы по «Речевым технологиям»
- •Отечественная литература
- •Общетеоретические вопросы
- •Прикладная фонетика
- •Синтез речи
- •Психоакустика и физиология речи
- •Цифровая связь (телефония)
- •Зарубежная литература
- •Web – ресурсы
- •Список литературы по среде математического моделирования «MatLab»
- •Приложение б Современные направления научно-исследовательских работ кафедры «Бортовых радиоэлектронных систем в области разработки систем обработки речи
- •Основные области применения разрабатываемых алгоритмов
- •Многоуровневая временная сегментация речевых сигналов
- •Модификация фонограмм
Переменные в системе MatLab
В системе MatLab в большинстве случаев нет необходимости в определении типа переменных или размерности. Когда задается имя новая переменная, ей автоматически выделяется соответствующий объем памяти. Если она уже существует, то изменяется ее состав и если необходимо выделяется дополнительная память. Имена переменных состоят из букв, цифр или символов подчеркивания.
Арифметические и логические операции в системе MatLab
К арифметическим операциям относятся:
+, -, *, /, ^ .
Приоритет у операций «обычный» – алгебраический.
Логические операции в системе MatLab:
<, <=, >, >=, ==, ~=
Результатом логических операций является число 1 («верно») или 0 («неверно»). Приоритет у данного типа операций меньше всех арифметических.
Пример: c=3; a=1; b=1; c+(b==a)=4 ; c+b==a=0
Существуют также операции отношения вида:
& (И), | (ИЛИ), ~ (НЕ)
Они носят самый низкий приоритет среди операций.
Массивы и матрицы в системе MatLab
В среде MatLab можно использовать разного рода массивы, это могут быть 1-мерные, 2-мерные и любые n-мерные массивы.
Одномерные массивы создаются двумя способами:
а) конкатенацией (объединением) a=[1 2 3] или a=[1,2,3]
б) индексацией (присвоением) a(1)=1; a(2)=2; a(3)=3; .
С помощью с помощью конкатенации можно удлинять массив:
a1=[a1 7]; a2=[a1 3 a1]; a1=[a1 a1];
Можно сначала задать размерность, а потом заполнять:
a3=ones(1,3); a3=zeros(1,3); b3=size(a3);
Создание массивов с помощью двоеточия «:» :
C=1:150; D=0.3 : 0.1 : 3.5; E=1.2 : -0.05 : 0;
Так массив С будет состоять из 150 элементов, где каждый элемент получен из предыдущего при прибавлении к нему 1 (Примечание, если инкремент не указан, то он равен 1). Массив D содержит 33 элемента, инкремент при формировании массива указан и равен 0.1. Массив С – декремент равен 0.05.
В таблице 2 представлены примеры массивов используемых в системе MatLab.
Примеры массивов Таблица 2
|
Двумерные массивы |
Вектор-строка и вектор-столбец |
|
a=[1,2,3;4,5,6;7,8,9]; b=[1,2,3 4,5,6 7,8,9]; b(2,3)=b(8); |
a=[1,2,3,4,5] - вектор-строка b=[1;2;3;4;5] - вектор-столбец x[ ]- пустая матрица 0х0
|
Использование знака «:» и множественной индексации в системе MatLab
В текущем разделе рассматриваются на примерах способы образования и перестройки матриц. Допустим, имеется некоторый вектор:
V=[1,2,3,4,5,6,7,8];
Образуем новый вектор V2 из 2-го, 8-го, 6-го элементов вектора V несколькими различными способами:
а) V2=[V(2) V(8) V(6) ] ;
б) V2=V([2 8 6]) ;
в) ind=[2 8 6]; V2=V(ind);
Удобным инструментом при работе с массивами является знак «:», примеры его использования представлены в таблице 3.
Использование «:» при работе с массивами Таблица 3
|
Разделитель диапазонов |
Знак «все элементы» |
|
X=V(1:2:9) – все нечетные элементы X=V(1:5) – первые пять элементов
|
A(2,:) – вторая строка A A(:,3) –третий столбец A Y=A(:,3) – создать вектор-стол. A(:,3)=[] – удалить 3-й столбец |
Операции над матрицами в системе MatLab
Основные операции над матрицами представлены в таблице 4.
Операции над матрицами Таблица 4
|
Матричные операции |
Поэлементные операции |
|
C=A+B; size(A)=size(B) C=A*B; size(A,2)=size(B,1) A=B^n=B*B…*B; B-квадратная, n-целое C=A/B; C=A\B C=A’ - транспонирование с комплексным сопряжение C=A.’ - транспонирование без сопряжения
|
C=A+B; size(A)=size(B) C=A.*B; size(A)=size(B) A=B.^2; A(i,j)=B(i,j)*B(i,j) C=A/B; C(i,j)=A(i,j)/B(i,j)
|
