Задание 3: Разложение в ряд Фурье. Явление Гиббса.
Раздел: 1. Временное и частотное представление сигналов
Тема: 1.4 Ряд Фурье
Тип: MATLAB Script
Срок выполнения: 2 ч СРС
Максимальный балл: 2.5
Цель работы
Реализовать разложение прямоугольного сигнала в тригонометрический ряд Фурье, исследовать сходимость при увеличении числа гармоник и наблюдать явление Гиббса.
Теоретическая справка
Ряд Фурье для прямоугольного сигнала амплитудой A и периодом T:
\[x_N(t) = \frac{4A}{\pi} \sum_{\substack{k=1 \\ k - \text{нечётное}}}^{N} \frac{1}{k} \sin\left(\frac{2\pi k t}{T}\right)\]- Содержит только нечётные гармоники (k = 1, 3, 5, …)
- Амплитуды убывают как 1/k
- При конечном N — приближение идеального прямоугольника
Явление Гиббса: вблизи скачков функции наблюдается выброс ≈ 8.9% от величины скачка. При увеличении N выбросы не уменьшаются, а лишь сужаются.
Задание
Параметры (не изменять!)
T = 1.0 с — период
A = 1.0 — амплитуда
fs = 5000 Гц — частота дискретизации
t = [0 : 1/fs : 2T-1/fs] — два периода
N_list = [1, 5, 15, 51, 201] — набор N для исследования
Что нужно сделать
Шаг 1. Для каждого N из N_list вычислить синтезированный сигнал:
x_N = (4*A/pi) * sum_{k=1,3,5,...,N} (1/k)*sin(2*pi*k*t/T)
Шаг 2. Вычислить fourier_coeffs — вектор из 5 значений RMSE:
fourier_coeffs(i) = sqrt(mean((x_N - x_ideal).^2))
где x_ideal = square(2*pi/T * t) — идеальный прямоугольник.
Шаг 3. Сохранить сигнал при N=51 в переменную x_N_51.
Шаг 4. Построить 5 графиков subplot(5,1,i) — сравнение идеала и приближения.
Шаг 5 (дополнительно). Отдельный крупный план: выброс Гиббса при N=201 в окрестности t ≈ 1 с.
Файлы задания
| Файл | Назначение |
|---|---|
task03_template.m | Шаблон |
task03_grader.m | Автопроверка |
Ожидаемые результаты
| Переменная | Ожидание |
|---|---|
fourier_coeffs | Монотонно убывающий вектор [a, b, c, d, e], a > b > … > e |
fourier_coeffs(1) | ≈ 0.5–0.6 (N=1, грубое приближение) |
fourier_coeffs(5) | < 0.05 (N=201, точное приближение) |
x_N_51 | Вектор той же длины что и t |
| Выброс Гиббса | max(x_N) при N→∞ ≈ 1.089 (8.9% над 1.0) |
Контрольные вопросы
- Почему ряд Фурье прямоугольного сигнала содержит только нечётные гармоники?
- Как изменится ряд Фурье, если увеличить амплитуду в 2 раза?
- Можно ли устранить явление Гиббса? Каким способом?
Критерии оценки
| Балл | Критерий |
|---|---|
| 2.0 | fourier_coeffs монотонно убывает и RMSE совпадают; x_N_51 верна |
| 1.5 | Одна из двух переменных верна |
| 1.0 | Код работает, частичные результаты |
| +0.5 | Аннотация Гиббса выброса на графике, вывод значения 8.9% |