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\]
即相关函数在原点的值为能量

相关函数的上界

上一篇:LG5900 无标号无根树计数


下一篇:【模板】分治 FFT