Скачиваний:
0
Добавлен:
10.01.2025
Размер:
1.85 Кб
Скачать
clear();

Tdown= 27*pi;
Tup= 28 * pi;
n=20;
dt=0.0005;

tau = Tdown:dt:Tup;
T0 = 2 * (tau - Tdown) / (Tup - Tdown) - 1;
X = 2 * cos (2 * ((T0+ 1) * (pi) / 2 + Tdown)) + 2 * sin(sqrt(2) * ((T0 + 1) * (pi) / 2 + Tdown));

w0 = 2 * pi / (1 -(-1));

T=1-(-1);
F=@(T0)(2 * cos (2 * ((T0+ 1) * (pi) / 2 + Tdown)) + 2 * sin(sqrt(2) * ((T0 + 1) * (pi) / 2 + Tdown)));
a0=(1/T) * integral(F,-1,1);
aosqrt=sqrt(a0^2);
b0=0;
q0=-atan(b0/a0);

for k=1:1:n
fcos=@(T0) ((2 * cos (2 * ((T0+ 1) * (pi) / 2 + Tdown)) + 2 * sin(sqrt(2) * ((T0 + 1) * (pi) / 2 + Tdown))).*(cos((k)*w0*T0)));
fsin=@(T0) ((2 * cos (2 * ((T0+ 1) * (pi) / 2 + Tdown)) + 2 * sin(sqrt(2) * ((T0 + 1) * (pi) / 2 + Tdown))).*(sin((k)*w0*T0)));
a(k)=(2/T)*(integral(fcos,-1,1));
b(k)=(2/T)*(integral(fsin,-1,1));
end

Fk=a0;
for k=1:1:n
A(k)=sqrt((b(k)^2)+(a(k)^2));
if (a(k)>=0)
q(k)=(-atan(b(k)/a(k)));
else
q(k)=(-atan(b(k)/(a(k)))+pi);
end
if (q(k)>(2*pi))
q(k)=q(k)-2*pi;
end
Fk=Fk+A(k) * cos(k*w0*T0+q(k));
end

F1=@(T0)((2 * cos (2 * ((T0 + 1) * (pi) / 2 + Tdown)) + 2 * sin(sqrt(2) * ((T0 + 1) * (pi) / 2 + Tdown))).^2);
F1s=(1/T) * integral(F1,-1,1);
a0s=a0^2;
for i = 1: 1: n
an = A(i);
a0s = a0s + (an^2) / 2;
end
Escv=sqrt(1-a0s/F1s)*100;

figure(1);
stem(0, a0,'g');
hold on;
stem(1: 1: n, A, 'g');
hold on;
grid on;

figure(2);
stem(1: 1: n, q,'g');
hold on;
grid on;
emp=max(abs(X - Fk));

figure(3);
plot(T0, Fk,'r');
hold on;
grid on;
hold on;
plot(T0, X, 'g');
hold on;
legend('Восстановленный сигнал','Сигнал');
hold on;

figure(4)
plot([-1 1],[emp emp],'r')
hold on;
grid on;
plot([-1 1], [Escv Escv],'g');
hold on;
plot(T0, X - Fk, 'b');
legend('Максимум эмпирической погрешности','СКВ','Эмпирическая погрешность')