Задание 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 Аккуратные комментарии в коде + подписи на графиках

This site uses Just the Docs, a documentation theme for Jekyll.