Прямоугольная волна от синусоид

Этот пример показывает, как последовательное расширение Фурье для прямоугольной волны составлено из суммы нечетных гармоник.

Запустите путем формирования временного вектора, запускающегося от 0 до 10 на шагах 0,1, и возьмите синус всех точек. Постройте график этой основной частоты.

t = 0:.1:10;
y = sin(t);
plot(t,y);

Затем добавьте третью гармонику к основному принципу и постройте график его.

y = sin(t) + sin(3*t)/3;
plot(t,y);

Теперь используйте первые, третьи, пятые, седьмые, и девятые гармоники.

y = sin(t) + sin(3*t)/3 + sin(5*t)/5 + sin(7*t)/7 + sin(9*t)/9;
plot(t,y);

Для финала пойдите от основного принципа полностью 19-й гармоники, создав векторы последовательно большего количества гармоник, и сохранив все промежуточные шаги как строки матрицы.

Постройте график векторов на той же фигуре, чтобы показать эволюцию прямоугольной волны. Обратите внимание на то, что эффект Гиббса говорит, что это никогда не будет вполне добираться там.

t = 0:.02:3.14;
y = zeros(10,length(t));
x = zeros(size(t));
for k = 1:2:19
   x = x + sin(k*t)/k;
   y((k+1)/2,:) = x;
end
plot(y(1:2:9,:)')
title('The building of a square wave: Gibbs'' effect')

Вот 3-D поверхность, представляющая постепенное преобразование синусоиды в прямоугольную волну.

surf(y);
shading interp
axis off ij

Была ли эта тема полезной?