%разложение в ряд Фурье
%
%
function [] = lab_7()

clc;clear;clf; %очистить экран

%в качестве исходного данного возьмем модуль напряжений
%с предыдущих расчетов

U = [
9.94;
10.09;
9.96;
10.01;
10.09;
10.09];


f = 50; %частота основной гармоники
w = 2 * pi * f; %круговая частота 314 Гц
T = 1 / f; %период частоты 50 Гц = 20 мс
dt = 0.00001; %шаг дискретизации по оси времени

%задаём значения по оси времени как простой массив значений
t = 0:dt:T;
%генерируем функцию в каждой точке оси времени
%значения предыдущих расчетов теперь используются просто как
%коэффициенты
u = U(1)+U(2)*cos(w*t)+U(3)*sin(w*t)+U(4)*cos(2*w*t)+U(5)*sin(3*w*t)+U(6)*cos(4*w*t);

%постоянная составляющая
a_0 = 1 / T * sum( u * dt );

%определяем гармоники с первой по шестую
for n = 1:6

%записываем интеграл по методу левых прямоугольников
%пробегаем все значения функции по оси t и суммируем их
%сначала определяем коэффициенты A, потом B
summ = 0;
for i = 1:length(t)
summ = summ + u(i)*cos ( n * w * t(i) ) * dt;
end
a(n) = 2 / T * summ;

summ = 0;
for i = 1:length(t)
summ = summ + u(i)*sin ( n * w * t(i) ) * dt;
end
b(n) = 2 / T * summ;

end

%интегральное преобразование фурье
dw = 1;
W = -6*w:dw:6*w;
for i = 1:length(W)
F(i) = 0;
for j=1:length(t)
F(i) = F(i) + u(j)*exp(1i*W(i)*t(j))*dt;
end
F(i) = F(i)*2*pi;
end

for i = 1:length(t)
U1(i) = 0;
for j = 1:length(W)
U1(i) = U1(i) + F(j)*exp(-1i*t(i)*W(j))*dw;
end
U1(i) = U1(i)/4/pi/pi;
end



%восстановление графика по коэффициентам Фурье
%n - номер гармоники
summ = 0;
for n=1:6
summ = summ + a(n)*cos(n*w*t) + b(n) * sin ( n*w*t);
end
%добавляем постоянную составляющую
u1 = a_0 + summ;

%вывести на график. функция subplot делит график на две части
%три аргумента - кол-во графиков по оси X, по оси Y, номер графика
subplot(2,2,1)
plot(t,u,'.-b',t,u1,'r') ;%на первый график выводим синусоиды
subplot(2,2,3)
bar([a' b'],'grouped'); % на второй - столбцы
legend('a','b')
%график преобразования фурье
subplot(2,2,2)
plot(W,abs(F),'.-b')
%восстановленный график
subplot(2,2,4)
plot(t,abs(U1),'.-r')
end

%Отчёт загрузить в папку Гр.90201/Л.Р. №7 до 18:00 26.11.2021
Соседние файлы в папке лаба 7