Задание 1: Генерация базовых сигналов в MATLAB
Раздел: 1. Временное и частотное представление сигналов
Тема: 1.1–1.2 Виды и математические модели сигналов
Тип: MATLAB Script
Срок выполнения: 1 занятие (2 ч СРС)
Максимальный балл: 2.5
Цель работы
Освоить генерацию основных типов детерминированных сигналов в MATLAB, научиться задавать их параметры и строить графики.
Теоретическая справка
Любой физический сигнал можно описать математической функцией. Четыре базовых вида:
| Сигнал | Функция MATLAB | Формула |
|---|---|---|
| Синусоидальный | sin() | x(t) = A·sin(2πf₀t) |
| Прямоугольный | square() | x(t) = A·sgn(sin(2πf₀t)) |
| Пилообразный | sawtooth() | x(t) = A·(2{t/T} − 1) |
| Единичная ступенька | double(t >= t₀) | u(t) = {0, t < t₀; A, t ≥ t₀} |
Важно: square() и sawtooth() требуют Signal Processing Toolbox.
Задание
Параметры (строго соблюдать!)
fs = 1000 Гц — частота дискретизации
T = 1.0 с — длительность
f0 = 5 Гц — частота сигналов
A = 2 — амплитуда
Что нужно сделать
Шаг 1. Создать временную ось t = 0 : 1/fs : T - 1/fs
Шаг 2. Сгенерировать четыре сигнала:
x_sin— синусоидальный:A * sin(2*pi*f0*t)x_rect— прямоугольный:A * square(2*pi*f0*t)x_saw— пилообразный:A * sawtooth(2*pi*f0*t)x_step— ступенька:A * double(t >= 0.3)(скачок в момент t = 0.3 с)
Шаг 3. Построить все четыре сигнала на одном figure через subplot(4,1,N).
Каждый график должен содержать:
- Заголовок с названием сигнала и параметрами
- Подписи осей (Время, с / Амплитуда)
- Сетку
grid on
Файлы задания
| Файл | Назначение |
|---|---|
task01_template.m | Шаблон — заполнить ??? |
task01_grader.m | Запустить после template для проверки |
Порядок работы
1. Открыть task01_template.m в MATLAB
2. Заполнить все места, отмеченные ???
3. Запустить скрипт (F5) — убедиться, что нет ошибок
4. Убедиться, что появились 4 графика
5. Запустить task01_grader.m — получить оценку
6. Сдать: task01_template.m (заполненный) + скриншот графиков
Ожидаемый результат
После успешного выполнения:
- Переменные
x_sin,x_rect,x_saw,x_stepприсутствуют в workspace - Каждый вектор имеет длину
N = fs * T = 1000 max(x_sin) ≈ 2,min(x_rect) = -2,x_step(end) = 2,x_step(1) = 0
Контрольный вопрос (для защиты)
Чем отличается прямоугольный сигнал от ступеньки? Почему синусоида называется гармоническим колебанием?
Критерии оценки
| Балл | Критерий |
|---|---|
| 2.0 | Все 4 переменные верны, grader ≥ 9/10 |
| 1.5 | 3 переменных верны, grader ≥ 7/10 |
| 1.0 | 2 переменных верны, grader ≥ 5/10 |
| 0 | grader < 5/10 или скрипт не запускается |
| +0.5 | Аккуратные комментарии в коде + подписи на графиках |