窗口函数对自相关序列的影响

前言

讨论完窗口函数对信号频谱的影响之后,我们接着讨论窗口函数对信号自相关序列的影响

信号及自相关序列

首先给出信号函数:

根据上述的信号函数,我们给出自相关序列的MATLAB代码:

%产生信号
T = 0.004;%信号采样周期
d = 16;
for t1 = 0:T:d
    s(i) = sin(2*pi*(f1 + t1*delta_f / (2 * d))*t1);  
    i = i + 1;
end
s_copy = s;

%布莱克曼窗函数
w_l = fix(L * 0.1);
N = fix(L * 0.1);%窗函数长度与信号长度的关系,可设为0.2, 0.3等
for n = 1:N
    w(n) = 0.42 - 0.5*cos((2*n*pi)/(N-1)) + 0.08*cos((4*n*pi)/(N-1));
end
w_ke = w;
xiepo_l = fix(N/2);
w = [w(1:xiepo_l) ones(1,L - 2 * xiepo_l) w(N-xiepo_l+1:N)];
s = s .* w;

%产生自相关序列
idx = 1;
for i = -L:L
    r_xx(idx) = 0;
    for j=1:L

        if(j - i) <= 0 || j - i > L
            tmp = 0;
        else
            tmp = s(j)*s(j-i);
        end

        r_xx(idx) = r_xx(idx) + tmp;

    end
    idx = idx + 1;
end

窗函数:布莱克曼窗口。
不用窗口函数时,自相关序列图:
file
最大旁瓣幅值为 162.2。

窗函数长度为信号长度的 0.1 时,自相关序列图:
file
最大旁瓣幅值为 72.72。

窗函数长度为信号长度的 0.2 时,自相关序列图:
file
最大旁瓣幅值为 94.31。

窗函数长度为信号长度的 0.3 时,自相关序列图:
file
最大旁瓣幅值为 105.8。
从窗口函数从 0 到 10%,信号的自相关序列最大旁瓣是减小的,并且最大旁瓣的位置没变,从窗口函数逐渐从信号长度的 10% 到 30%,其最大旁瓣的幅值是越来越大的;同时,最大旁瓣的位置离自相关序列中心点越来越远。所以旁瓣是逐渐增大,并且旁瓣位置逐渐往外移动,当然旁瓣的位置不会是一直移动的,因为自相关序列的偏移越大,其值最终是为 0 的。

结论

所以我们得出结论:窗口函数的长度在 0 到 20% 之间变动时,经过调试可以得到最优的旁瓣;窗口函数再增大后,自相关序列的最大旁瓣幅值会变得越来越大。这个结论是基于本信号的,不同信号和不同窗口函数会有不同的结论。但有一点是确定的,就是所有的自相关序列偏移为 0 时,其值最大;偏移等于信号长度后,其值为 0 。

追求梦想,做最好的自己