clear;%清变量
clf;%清屏
clc
T=[]; %存放中间结果
n=200;
g=30;
for i=1:n
num=1000;
t=0:1:num;
f=10;
w=-1*pi/4;
x1=sin(2*pi*f*t/num);
y1=sin(2*pi*f*t/num+w);
subplot 211;
plot(t,x1,t,y1);
legend('x1','y1');
title('原始信号');
%a=0;b=0.5;%均值为a,方差为b.^2
% n=a+b*rand(1,1001);
% x=x1+n;
% y=y1+n;
x=awgn(x1,g);
y=awgn(y1,g);
Ix=sum(x.^2)/num;
Iy=sum(y.^2)/num;
Ixy=sum(x.*y)/num;
c=180*acos(2*Ixy/(4*Ix*Iy)^0.5)/pi;
subplot 212;
plot(t,x,t,y);
legend('x','y');
title('观测信号');
text(500,1.6,strcat('相位差=',strcat(num2str(c),'度')));
T=[T c]; %把结果存到T数组
end
value=sum(T)/n %平均值
error=abs(abs(w*180/pi)-value) %误差值
dB=10*log(error)
clf;%清屏
clc
T=[]; %存放中间结果
n=200;
g=30;
for i=1:n
num=1000;
t=0:1:num;
f=10;
w=-1*pi/4;
x1=sin(2*pi*f*t/num);
y1=sin(2*pi*f*t/num+w);
subplot 211;
plot(t,x1,t,y1);
legend('x1','y1');
title('原始信号');
%a=0;b=0.5;%均值为a,方差为b.^2
% n=a+b*rand(1,1001);
% x=x1+n;
% y=y1+n;
x=awgn(x1,g);
y=awgn(y1,g);
Ix=sum(x.^2)/num;
Iy=sum(y.^2)/num;
Ixy=sum(x.*y)/num;
c=180*acos(2*Ixy/(4*Ix*Iy)^0.5)/pi;
subplot 212;
plot(t,x,t,y);
legend('x','y');
title('观测信号');
text(500,1.6,strcat('相位差=',strcat(num2str(c),'度')));
T=[T c]; %把结果存到T数组
end
value=sum(T)/n %平均值
error=abs(abs(w*180/pi)-value) %误差值
dB=10*log(error)