Задание 2: Спектр периодического сигнала через fft()

Раздел: 1. Временное и частотное представление сигналов
Тема: 1.4 Ряд Фурье. Свойства преобразования Фурье
Тип: MATLAB Script
Срок выполнения: 1 занятие (2 ч СРС)
Максимальный балл: 2.5


Цель работы

Освоить вычисление дискретного преобразования Фурье (ДПФ) через fft(), научиться строить амплитудный спектр и извлекать параметры гармоник.


Теоретическая справка

ДПФ (Дискретное преобразование Фурье) переводит сигнал из временной области в частотную:

\[X[k] = \sum_{n=0}^{N-1} x[n] \cdot e^{-j2\pi kn/N}\]

Амплитуда k-й гармоники (односторонний спектр):

\[|X(f_k)| = \frac{2}{N} \cdot |X[k]|, \quad f_k = k \cdot \frac{f_s}{N}\]

Основная частота — частота с максимальной амплитудой в спектре.


Задание

Параметры (строго соблюдать!)

fs   = 2000 Гц   — частота дискретизации
T    = 1.0 с     — длительность
f0   = 50 Гц     — основная частота

Исходный сигнал

x_signal = 3*sin(2*pi*f0*t) + 1.5*sin(2*pi*2*f0*t) + 0.5*sin(2*pi*5*f0*t)

Три гармоники: 50 Гц (A=3), 100 Гц (A=1.5), 250 Гц (A=0.5)

Что нужно сделать

Шаг 1. Сгенерировать составной сигнал x_signal

Шаг 2. Вычислить ДПФ: X = fft(x_signal, N)

Шаг 3. Построить односторонний амплитудный спектр:

  • Ось частот: f_axis = (0 : N/2-1) * fs/N
  • Амплитуды: X_mag = abs(X(1:N/2)) * 2/N
  • Тип графика: stem() (вертикальные линии)

Шаг 4. Определить переменные:

  • f_fundamental — основная частота (Гц)
  • A_h1 — амплитуда 1-й гармоники (f = 50 Гц), ≈ 3
  • A_h2 — амплитуда 2-й гармоники (f = 100 Гц), ≈ 1.5
  • A_h3 — амплитуда 5-й гармоники (f = 250 Гц), ≈ 0.5

Файлы задания

Файл Назначение
task02_template.m Шаблон — заполнить ???
task02_grader.m Автопроверка

Ожидаемые результаты (эталон)

Переменная Ожидаемое значение
f_fundamental 50 Гц
A_h1 3.000 ± 0.05
A_h2 1.500 ± 0.05
A_h3 0.500 ± 0.05
X_mag Вектор длиной N/2 = 1000

Контрольные вопросы

  1. Почему при построении спектра мы умножаем на 2/N?
  2. Что такое частотное разрешение ДПФ? Как его улучшить?
  3. Почему в спектре видны пики только на частотах 50, 100 и 250 Гц?

Критерии оценки

Балл Критерий
2.0 X_mag, f_fundamental, A_h1, A_h2, A_h3 верны, grader ≥ 8/10
1.5 3–4 переменных верны, grader ≥ 6/10
1.0 Частичное выполнение
+0.5 Комментарии + подписи осей + легенда

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