Эффект Гиббса

 

Эффект Гиббса возникает при разложении в ряд Фурье разрывных функций. Изучим основные его проявления на примере разложения прямоугольной импульсной функции

,

которая имеет скачек, равный 1 в точке разрыва . Формальное разложение в ряд Фурье в виде находится подстановкой функции в формулы (8.8), вычислением интегралов, оказывающих равными

, ,

и подстановкой выражений для коэффициентов в (8.9):

Использование конечного числа членов ряда приводит к тому, что частичные суммы ряда, являются функциями, в которых присутствуют периодические составляющие. Их период равен периоду последнего удержанного члена или первого оставленного.

К. Ланцош предложил способ уменьшения эффекта пульсаций за счет сглаживания усеченного ряда

(8.17)

интегрированием (усреднения) по периоду последнего оставленного члена.

При выборе в качестве интервала сглаживания периода последнего члена усеченного ряда Фурье сглаженное значение получим как среднее от :

. (8.18)

(Отметим, что на практике N берется как номер первого отбрасываемого члена ряда.)

Подставляя (8.17) в (8.18), получим

Применяя известные тригонометрические формулы, окончательно получаем

, (8.19)

где – так называемые сигма-факторы:

. (8.20)

Таким образом, сглаженный ряд Фурье есть исходный ряд Фурье с коэффициентами, умноженными на соответствующие сигма-факторы. Отметим, что эффект сглаживания достигается за счет того, что при сигма-фактор N-го члена оказывается равным нулю.

С физической точки зрения формулу (8.19) можно трактовать как наблюдение исходной функции через узкое просвечивающее прямоугольное окно шириной . Наблюдаемая функция есть средняя интенсивность света от исходной функции . Она оказывается более яркой, когда функция больше, и менее яркой, когда функция меньше.

Не смотря на то, что полученное разложение позволяет познакомится с основными особенностями эффекта Гиббса, мы предварим дальнейшее рассмотрением этого вопроса описанием последовательности команд, позволяющей получить в пакете MATLAB, разложение в ряд Фурье произвольных функций.

Пример 8.1. Исследование эффекта Гиббса в пакете MATLAB

Для решения поставленной задачи необходимо создать следующие m-файлы: FF.m (содержит описание функции, разлагаемой в ряд Фурье), AF.m (описание функции, возвращающей значение заданного коэффициента разложения в ряд Фурье по косинусам в соответствие с (8.8а), (8.8б), BF.m (описание функции, возвращающей значение заданного коэффициента разложения в ряд Фурье по синусам в соответствие с (8.8в)). Далее приводятся листинги данных файлов.

 

% листинг файла FF.m

function z=FF(t,T)

% описание функции, раскладываемой в ряд Фурье

N=length(t);

for i=1:N

if t(i)<0

z(i)=0;

end;

if (t(i)>=0)&(t(i)<=T/2)

z(i)=1/2;

end;

if (t(i)>T/2)&(t(i)<=T)

z(i)=-1/2;

end;

if t(i)>T

z(i)=0;

end;

end;

 

% листинг файла AF.m

function z=AF(k,T)

% описание функции, возвращающей значение k-го коэффициента

dt=T/1000;

t=0:dt:T;

% вычисление значения подынтегральной функции

F=FF(t,T).*cos(2*pi*k/T*t);

z=2/T*trapz(t,F); % вычисление интеграла

 

 

% листинг файла BF.m

function z=BF(k,T)

% описание функции, возвращающей значение k-го коэффициента

dt=T/1000;

t=0:dt:T;

% вычисление значения подынтегральной функции

F=FF(t,T).*sin(2*pi*k/T*t);

z=2/T*trapz(t,F); % вычисление интеграла

 

Далее необходимо выполнить следующую последовательность команд:

clear all % очистка рабочей области

Nf=9; % число гармоник

k=1:Nf;

T=1; % длительность импульса

A0=AF(0,1); % вычисление А(0) в соответствие с (8.8а)

for k=1:Nf % вычисление коэффициентов A(k), B(k)

A(k)=AF(k,T);

B(k)=BF(k,T);

end;

% вычисление значений усеченного ряда Фурье на временном

% интервале [0,1]

Np=1000;

t=0:T/Np:1;

for i=1:Np+1

S=A0/2;

for k=1:Nf

S=S+A(k)*cos(2*pi*k/T*t(i))+B(k)*sin(2*pi*k/T*t(i));

end;

s(i)=S;

end;

% визуализация усеченного ряда Фурье и исходной функции)

plot(t,s,t,FF(t,T),'--')

 

Результаты выполнения описанной выше последовательности команд представлены на рис. 8.1.

Для выявления причины обнаруженного эффекта следует изменить в приведенной выше последовательности команд число гармоник ряда Фурье и пересчитать данную последовательность команд заново. Графики исходной функции и ее ряда Фурье при использовании 18 гармоник () представлены на рис. 8.2. Анализ полученных результатов позволяет сделать качественный вывод о том, что увеличение числа членов усеченного ряда Фурье приводит к уменьшению отличия между функциями и .

Рис. 8.1

Рис. 8.2