Учебное пособие 869
.pdfМИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное бюджетное образовательное учреждение высшего образования
«Воронежский государственный технический университет»
Кафедра радиоэлектронных устройств и систем
ЦИФРОВАЯ ОБРАБОТКА СИГНАЛОВ
МЕТОДИЧЕСКИЕ УКАЗАНИЯ
к выполнению лабораторной работы № 1 для студентов специальности 11.05.01 «Радиоэлектронные системы и комплексы» очной формы обучения
Воронеж 2022
УДК 621.391.083.92 ББК 32.811.3
Составитель Р. В. Кузьменко
Цифровая обработка сигналов: методические указания к выполнению лабораторной работы № 1 для студентов специальности 11.05.01 «Радиоэлектронные системы и комплексы» очной формы обучения/ ФГБОУ ВО «Воронежский государственный технический университет»; сост.: Р. В. Кузьменко. Воронеж: Изд-во ВГТУ, 2022. – 37 с.
Материл способствует развитию навыков цифровой обработки сигналов и средств их компьютерного моделирования в системе MATLAB.
Предназначены для студентов специальности 11.05.01 «Радиоэлектронные системы и комплексы» очной формы обучения.
Методические указания подготовлены в электронном виде и содержатся в файле ЦОС Лаб. работа № 1.pdf.
Табл. 10. Библиогр.: 3 назв.
УДК 621.391.083.92
ББК 32.811.3
Рецензент – А. В. Башкиров, д-р техн. наук, зав. каф. конструирования и производства радиоаппаратуры ВГТУ
Издается по решению редакционно-издательского совета Воронежского государственного технического университета
ОГЛАВЛЕНИЕ |
|
1. Основные объекты языка MATLAB……………………………. |
3 |
1.1. Режим прямых вычислений…………………………………… |
4 |
1.2.Рабочая область памяти Workspace………………………….. 14
1.3.Задание на лабораторную работу……………………………. 15
1.4. Задание на самостоятельную работу………………………… 18
1.5.Операции с матрицами……………………………………….. 20
1.6.Функции генерации типовых матриц……………………….. 21
1.7.Преобразование матриц………………………………………. 22
1.8.Поэлементные операции с матрицами………………………. 23
1.9.Операции с матрицами в задачах линейной алгебры………. 24
1.10. Арифметические операции с матрицами…………………… 24
1.11.Транспонирование и эрмитово сопряжение матриц………. 25
1.12.Обращение матриц………………………………………….. 26
1.13.Матричное деление………………………………………….. 27
1.14. Норма матрицы и вектора…………………………………… |
28 |
1.15. Операции с матрицами в задачах математической |
29 |
статистики………………………………………………………….. |
|
1.16. Содержание лабораторной работы………………………….. |
31 |
1.17. Задание на лабораторную работу…………………………… |
31 |
1.18. Задание на самостоятельную работу………………………… 33
1.19. Отчет и контрольные вопросы………………………………. |
34 |
Библиографический список……………………………………… |
35 |
3
Лабораторная работа № 1 Знакомство с MATLAB
1. Основные объекты языка MATLAB
Цель работы: познакомиться с назначением и интерфейсом системы MATLAB и овладеть начальными навыками работы в режиме прямых вычислений.
Краткая теоретическая справка
Система MATLAB — это интерактивная система, предназначенная для компьютерного моделирования практически в любой области науки и техники.
Интерфейс MATLAB образуют следующие окна.
Command Window (Командное окно) — основное окно интерактивной системы MATLAB с активизированной командной строкой.
Из активизированной командной строки пользователь может возвращаться к предыдущим строкам с помощью клавиш <↑> и <↓>.
Сеанс работы в окне Command Window до выхода из MATLAB называют текущей сессией.
Current Folder (Текущая папка) — в этом окне выводится содержимое папки, имя которой отображается в раскрывающемся списке Current Folder на панели инструментов окна MATLAB.
В составе ранних версий MATLAB (до 2009 г.) содержалась автоматически создаваемая текущая папка со стандартным именем1work, предназначенная для хранения файлов и папок, создаваемых пользователем. В последующих версиях такая папка отсутствует. Для тех же целей предусмотрена папка MATLAB, автоматически создаваемая в папке Мои документы на рабочем столе.
Создание собственной папки в окне Current Folder выполняется с помощью контекстного меню по команде New Folder (Новая папка), и новой папке присваивается имя.
Сохранение пути к собственной папке в окне Current Folder выполняется по команде контекстного меню Add to Path | Selected Folders (Добавить к пути | Выделенные папки).
Workspace (Рабочая область памяти) — в этом окне выводится список текущих переменных, сохраняемых в рабочей области памяти Workspace до выхода из MATLAB.
Command History (История команд) — в этом окне выводится построчный список объектов языка MATLAB, вводимых в ходе текущей и предшествующих сессий. Двойным щелчком левой кнопки мыши можно дублировать любую строку из окна Command History в окно Command Window.
1 Здесь и далее во избежание путаницы для папок и файлов MATLAB используется шрифт Courier New.
4
Пользователь может произвольно менять состав активных окон с помощью команд меню Desktop (Стол).
Система оперативной помощи MATLAB включает в себя:
справочную систему в формате HTML (HyperText Markup Language —
язык гипертекстовой разметки), обращение к которой производится по команде Product Help (Помощь по продукту) в меню Help окна MATLAB; команду:
help <стандартное имя объекта языка MATLAB>
1.1.Режим прямых вычислений
Режим прямых вычислений (называемый также командным режимом) означает, что вычисления выполняются без составления программы. Объекты языка MATLAB в ходе текущей сессии вводятся построчно в командной строке окна Command Window с соблюдением следующих правил:
символ ";" (точка с запятой) в конце строки блокирует автоматический вывод результата;
символ "..." (многоточие) в конце строки является признаком продолжения предыдущей строки;
символ "%" (процент) в начале строки соответствует комментарию.
Базовые объекты языка MATLAB
К базовым объектам языка MATLAB относятся:
команды;
операторы;
константы;
переменные;
функции;
выражения.
Команда — это объект языка MATLAB со стандартным именем, предназначенный для взаимодействия с системой MATLAB и имеющий формат:
<команда><содержательная часть>
где <команда> — стандартное имя команды; <содержательная часть> — уточняется для каждой конкретной команды и может отсутствовать.
В конце команды символ ";" не ставится.
Список команд общего назначения выводится по команде: help general
Наиболее распространенные команды приведены в табл. 1. Другие будут рассматриваться по мере изложения материала.
5
Таблица 1
|
Команды |
Команда |
Назначение |
clc |
Очистка окна Command Window |
clear |
Удаление объектов из Workspace (без |
|
содержательной части — очистка Workspace) |
format |
Установка формата вывода данных (см. табл. 1.2) |
help |
Справка по стандартному объекту MATLAB |
load |
Загрузка файла с диска в Workspace (см. разд. 1.2.) |
save |
Сохранение на диске объекта Workspace (см. разд. |
|
1.2.) |
ver |
Вывод информации об установленной версии |
|
MATLAB и пакетах расширения |
what |
Вывод содержимого папки (без содержательной |
|
части — текущей папки), например: |
|
what work\LAB\lab_01 |
which |
Вывод пути для нахождения встроенной или внешней |
|
функции |
who |
Вывод содержимого Workspace |
whos |
Вывод содержимого Workspace с дополнительными |
|
сведениями |
Оператор — это объект языка MATLAB со стандартным именем, предназначенный для разработки программ.
Простейшим оператором является оператор присваивания с форматом:
<имя переменной> = <выражение>
или
<выражение>
В последнем случае значение выраженияприсваивается переменной со стандартным именем ans.
Константа — это объект языка MATLAB, имеющий в процессе вычислений неизменное значение.
Различают следующие типы констант: численные, среди которых выделяют:
•целые;
•вещественные;
•комплексные; логические; символьные.
Целые и вещественные константы могут вводиться в обычной форме с
разделением точкой целой и дробной частей:
6
>> 158; >> -17.38; или в форме E, которой соответствует представление
числа в показательной форме: |
∙ 10 |
|
|
(1) |
где μ — мантисса — вещественная константа; p — порядок — целая константа; 10 — основание, обозначаемое буквой e:
>>0.157e-3;
>>12.23e8;
Комплексные константы вводятся в алгебраической форме:
ξ + jη
(2)
Мнимая единица вводится как i или j, но выводится всегда как i:
>>5+3.7j ans =
5.0000 + 3.7000i
Возможен ввод с использованием символа умножения в мнимой части:
>>5+3.7*j
ans =
5.0000 + 3.7000i
Вещественная и/или мнимая части комплексного числа могут вводиться в
форме E:
>> 5e-3+3.7e5j ans =
5.0000e-003 +3.7000e+005i
Комплексно сопряженная константа вводится с помощью символа "'" (апостроф):
>> (5+3i)' ans =
5.0000 — 3.0000i
Вывод численных констант может производиться по умолчанию или в заданном формате с помощью команды:
format <вид формата>
где содержательная часть может отсутствовать.
Действие команды format сохраняется до ее отмены другой командой format.
Разновидности форматов можно вывести по команде: help format
Наиболее распространенные форматы приведены в табл. 2.
7
|
Таблица 2 |
|
|
Форматы для вывода констант |
|
|
|
|
Команда |
Формат вывода |
|
format |
Формат, тождественный формату format short |
|
format short |
Формат с автоматическим выводом в обычной |
|
|
форме или нормализованной форме E с 4-мя |
|
|
значащими цифрами в дробной части мантиссы. |
|
|
Этот формат установлен по умолчанию |
|
format short e |
Короткий формат E с выводом в |
|
|
нормализованной форме E с 4-мя значащими |
|
|
цифрами в дробной части мантиссы |
|
format long |
Длинный формат с автоматическим выводом в |
|
|
обычной форме или нормализованной форме E |
|
|
с 15-ю значащими цифрами в дробной части |
|
|
мантиссы |
|
format long e |
Длинный формат с выводом в |
|
|
нормализованной форме E с 15-ю значащими |
|
|
цифрами в дробной части мантиссы |
|
Форму E называют нормализованной (см. табл. 2), если целая часть мантиссы μ в (1.1) содержит одну отличную от нуля значащую цифру, а порядок p — три цифры.
Стандартные константы — это константы со стандартными именами. Их полный список может быть выведен по команде: help elmat
Наиболее распространенные стандартные константы приведены в табл. 3.
Таблица 3
Стандартные константы
Стандартное |
|
|
|
имя |
Назначение |
|
|
константы |
|
|
|
i или j |
Мнимая единица, соответствующая |
|
: i = |
|
|||
|
sqrt(-1) |
|
|
|
|
|
|
pi |
Число π |
|
|
|
|
|
|
8
Окончание табл. 3
Стандартное
имя Назначение константы
Inf (или inf) |
Машинная бесконечность (число, большее |
|
максимально допустимого во внутренних |
|
вычислениях в MATLAB) |
Nan |
Нечисло (Not-a-number). Присваивается |
|
неопределенностям типа |
|
0/0, inf/inf, 0·inf |
Логические константы — это константы, принимающие значения 1 (true
— истина) или 0 (false — ложь).
Символьные константы — это любые последовательности символов, заключенные в апострофы:
>> 'Sella' ans = Sella
Переменная — это объект языка MATLAB, который в процессе вычислений может менять свое значение.
Различают следующие типы переменных:
•простые переменне;
•массивы.
Переменные представляются своими именами (идентификаторами).
Имя переменной составляется из последовательности латинских букв, цифр и символа подчеркивания и начинается с буквы. В MATLAB прописные и строчные буквы различаются.
Массивом называют упорядоченную совокупность данных, объединенных одним именем.
Массив характеризуется:
размерностью. Размерность массива равна количеству индексов k, которые указывают на упорядоченность данных в k-мерном пространстве.
Если данные упорядочены в строку (столбец), то их порядок следования указывается с помощью одного индекса, и массив называют одномерным или
вектором.
Если данные упорядочены одновременно по строкам и по столбцам, то их порядок следования указывается с помощью двух индексов, и массив называют двумерным или матрицей.
Если данные упорядочены по матрицам, то их порядок следования указывается с помощью третьего индекса, и массив называют и т. д.;
9
размером. В матричной алгебре размер массива принято указывать произведением числа элементов по каждому индексу, а именно: 1×n — одномерный массив (вектор-строка); m×n — двумерный и т. д.
Матрицу называют квадратной порядка n, если число строк равно числу столбцов: m = n;
типом. Тип массива определяется типом его элементов. Элементами числового массива являются численные константы. Основные типы массивов рассматриваются в гл. 3.
Особенностью MATLAB является то, что тип переменной не объявляется, и любая переменная по умолчанию считается матрицей1.
В MATLAB нижняя граница индексов массива равна единице.
Матрица вводится построчно в квадратных скобках, элементы строки отделяются пробелом или запятой, а строки — точкой с запятой:
>> A = [1 2 3;5 6 7;8 9 7]
A = |
2 |
3 |
1 |
||
5 |
6 |
7 |
8 |
9 |
7 |
Вектор (вектор-строка) размером 1×n вводится в квадратных скобках, а его элементы — через пробел или запятую:
>> A = [1 4 5 7 8] A =
1 4 5 7 8
Вектор-столбец размером m×1 вводится в квадратных скобках, а его элементы — через точку с запятой:
>> A = [1;4;5]
A=
1
4
5
Скаляр размером 1×1 можно вводить без квадратных скобок: >> b = 1.5e-3;
Простой переменной, таким образом, соответствует скаляр. Функции в MATLAB представлены двумя разновидностями:встроенные;внешние.
Встроенная функция (по умолчанию функция) — это объект языка MATLAB со стандартным именем, предназначенный для выполнения действий с параметрами (аргументами), перечисленными через запятую и заключенными в круглые скобки.
Список основных элементарных математических функций, сгруппированных по назначению, представлен в табл. 4. Их полный список выводится по команде:
help elfun
1 Отсюда и название MATLAB — MATrix LABoratory (Матричная лаборатория).
10