Matlab计算自相关和互相关
1. \(x(t)=sinc(10t),y(t)=rect(10t)\),利用Matlab求\(x(t),y(t)\)的自相关函数及互相关函数
rect=@(x)(abs(s)<=0.5);//定义rect()矩形脉冲
T=10;
dt=0.001;
t=[-T/2:dt:T/2];
x=sinc(10*t);
y=rect(10*t);//把信号写出来
for itau=1:length(t)//$\tau$的取值和t相同,遍历每一个$\tau$,带入公式求出对应的值
tau=t(itau);
xtau=sinc(10*(t+tau));
ytau=rect(10*(t+tau));
Rx(itau)= x*xtau'*dt;%注意,这里就是内积了,对应相乘并求和
Ry(itau)= ytau*y'*dt;
Rxy(itau)= xtau*y'*dt;
end
subplot(2,1,1)
plot(t,[Rx;Ry])
axis([-0.5,+0.5,-0.05,0.11])
grid
subplot(2,1,2)
plot(t,Rxy)
axis([-0.5,0.5,-0.02,0.1])
grid
相关函数
能量信号的相关函数是信号时间错开之后的内积。不同的信号之间的相关函数称为互相关函数,同一信号的相关函数称为互相关函数:
\[R_{xy}(\tau)=\int_{-\infty}^{+\infty}x(t+\tau)y^{*}(t)\,dt
\]
\[R_x(\tau)=\int_{-\infty}^{+\infty}x(t+\tau)x^{*}(t)\,dt
\]
特别地,对于实信号,
\[R_{xy}(\tau)=\int_{-\infty}^{+\infty}x(t+\tau)y(t)\,dt
\]
\[R_x(\tau)=\int_{-\infty}^{+\infty}x(t+\tau)x(t)\,dt
\]
互相关函数具有共轭对称性
\[R_{xy}(\tau)=R^{*}_{yx}(-\tau)
\]
相关函数在原点处的值
\[R_{xy}(0)=\int_{-\infty}^{+\infty}x(t)y^{*}(t)\,dt=E_{xy}
\]
\[R_x(0)=\int_{-\infty}^{+\infty}x(t)x^{*}(t)\,dt=E_x
\]
即相关函数在原点的值为能量