Решение Легко заметить, что функция


Download 129.5 Kb.
bet1/2
Sana16.06.2023
Hajmi129.5 Kb.
#1500608
TuriРешение
  1   2
Bog'liq
Вариант 4

Задание 1


Согласно варианту разложить в частичный ряд Фурье для k = 0, 1, 2,…,6 два заданных сигнала x1(t) и x2(t). Сигнал x1(t) задан на всей числовой оси, найти его период. Сигнал x2(t) задан на указанном отрезке, при разложении считать, его период равен длине отрезка. Найти спектры сигналов x1(t) и x2(t).
Для каждого сигнала построить его график, графики разложений и спектры.
x1(t)= |sin(2t-4)| (абсолютная величина)

Решение


Легко заметить, что функция sin(2t-4) имеет период . Учитывая, что функция имеет модуль, то период функции сокращается вдвое, т.к. функции лишается отрицательного полупериода: .


Построим график функции x1(t):

Рис.1 – График функции x1(t).

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


Метод прямоугольников является самым простым и эффективным метом вычисления интегралов. В качестве опорной точки для нахождения высоты возьмем точку посередине промежутка. В результате получаем формулу средних прямоугольников:





где .


Метод прямоугольников был реализован в Borland C++ Builder 6. Функция, вычисляющая сразу два интеграла с косинусом и синусом, имеет следующий вид:


void CalcIntCS(const int n, float& fys, float& fyc)


{
const float T = M_PI/2; // период
const int iter=100; // Число итераций
const float h = T/iter; // Шаг итерации

fys = 0;
fyc = 0;


for(float x=-T/2+h/2; x<=T/2; x+=h)


{
fys += fabs(sin(2*x-4))*sin(2*M_PI/T*n*x); // функция с sin
fyc += fabs(sin(2*x-4))*cos(2*M_PI/T*n*x); // функция с cos
}
fys = fys*2/T*h;
fyc = fyc*2/T*h;

}
Вызов функции в основном теле программы и отображение полученных результатов:


float fys,fyc;


char str [40];
CalcIntCS(0,fys,fyc);
sprintf(str,"a0 = %*.*f;",10,5,fyc);
Form1->Memo1->Lines->Add(str);

for(int k=1;k<=6;k++)


{
CalcIntCS(k,fys,fyc);
sprintf(str,"a%d = %*.*f; b%d = %*.*f;",k,10,5,fyc,k,10,5,fys);
Form1->Memo1->Lines->Add(str);
}

Для расчета коэффициентов ряда Фурье мы воспользовались следующими формулами:





Рассчитанные коэффициенты заносим в среду моделирования MATLAB. В ней мы построим графики и оценим правильность расчета ряда Фурье. Исходный код программы:

t = 0:0.01:pi/2;


T = pi/2;

Y = abs(sin(2*t-4));


a0 = 1.27323;
a1 = 0.06176; b1 = -0.41991;
a2 = 0.08130; b2 = 0.02444;
a3 = -0.01544; b3 = 0.03295;
a4 = -0.01687; b4 = -0.01116;
a5 = 0.00859; b5 = -0.00959;
a6 = 0.00570; b6 = 0.00686;

d0 = a0/2;


d1 = a1*cos(2*pi/T*t)+b1*sin(2*pi/T*t);
d2 = a2*cos(2*pi/T*2*t)+b2*sin(2*pi/T*2*t);
d3 = a3*cos(2*pi/T*3*t)+b3*sin(2*pi/T*3*t);
d4 = a4*cos(2*pi/T*4*t)+b4*sin(2*pi/T*4*t);
d5 = a5*cos(2*pi/T*5*t)+b5*sin(2*pi/T*5*t);
d6 = a6*cos(2*pi/T*6*t)+b6*sin(2*pi/T*6*t);

D = d0+d1+d2+d3+d4+d5+d6;


figure;
plot(t,Y,t,d1,t,d2,t,d3,t,d4,t,d5,t,d6,t,D);


grid on;
legend('Y','1','2','3','4','5','6','full');

Формула, используемая нами для разложения в ряд Фурье для n=0..6:



Графики функции Y и суммы всех членов ряда Фурье полностью на рис.2:



Рис.2 – Ряд Фурье для N=6

Разложение в ряды Фурье функции


Период функции согласно условиям T=5. Найдем коэффициенты рядов, решив ряд интегралов:










Расчеты произведем в MATLAB:

t = 2:0.01:5;


T = 3;

dn = zeros(6,length(t));


dn1 = zeros(6,length(t));
dn2 = zeros(6,length(t));

d01 = -4/3;


d02 = 4/3;

d0 = d01 + d02;


for n=1:6


dn1(n,:) = (2*sin(4/3*pi*n)/pi/n) * cos(2*pi/T*n*t)+ ...
((cos(4/3*pi*n)-cos(8/3*pi*n))/pi/n) * sin(2*pi/T*n*t);
dn2(n,:) = (2*(sin(10*pi*n/3)-sin(8*pi*n/3))/pi/n)* cos(2*pi/T*n*t)+ ...
(2*(cos(8*pi*n/3)-cos(10*pi*n/3))/pi/n)* sin(2*pi/T*n*t);
dn(n,:)= dn1(n,:) + dn2(n,:);
end

D1 = d01/2+dn1(1,:)+dn1(2,:)+dn1(3,:)+dn1(4,:)+dn1(5,:)+dn1(6,:);


D2 = d02/2+dn2(1,:)+dn2(2,:)+dn2(3,:)+dn2(4,:)+dn2(5,:)+dn2(6,:);

D = d0/2+dn(1,:)+dn(2,:)+dn(3,:)+dn(4,:)+dn(5,:)+dn(6,:);


Построим графики всех разложений:



Рис.3 – Ряд Фурье для t от 2 до 4

Рис.4 – Ряд Фурье для t от 4 до 5

Рис.5 – Ряд Фурье для t от 2 до 5



Download 129.5 Kb.

Do'stlaringiz bilan baham:
  1   2




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling