tony6257 发表于 2014-6-25 10:51

为什么我做scot广义互相关不对?求助

本帖最后由 牛小贱 于 2014-6-25 11:05 编辑

我做广义互相关求出的时延是正确的,但我在原广义互相关上加权后,时延估计在0点处,找不到原因,请各位指教,谢谢。

clear all;
close all;
clc;

N=1024;%长度
Fs=500;%采样频率
n=0:N-1;
t=n/Fs;   %时间序列
a1=5;   %信号幅度
a2=5;
d=8;   %延迟点数

x1=a1*cos(2*pi*10*n/Fs);   %信号1
x1=x1+randn(size(x1));      %加噪声
snr=-5;
x1=awgn(x1,snr);
x2=a2*cos(2*pi*10*(n+d)/Fs); %信号2
x2=x2+randn(size(x2));
snr=-5;
x2=awgn(x2,snr);

figure;
subplot(211);
plot(t,x1,'r');
axis([-0.2 1.5 -6 6]);
hold on;
plot(t,x2,':');
axis([-0.2 1.5 -6 6]);
legend('x1信号', 'x2信号');
xlabel('时间/s');ylabel('x1(t) x2(t)');
title('原始信号');grid on;
hold off

%互相关函数
X1=fft(x1,2*N-1);
XX1=abs(X1).^2;
X2=fft(x2,2*N-1);
XX2=abs(X2).^2;
Sxy=X1.*conj(X2;

Cxy_modulus=abs(Sxy);
ratio=Sxy./Cxy_modulus;
Cxy=fftshift(real(ifft(ratio)));

subplot(212);
t1=(-(N-1):(N-1))/Fs;                        %注意
plot(t1,Cxy,'b');
=max(Cxy);%求出最大值max,及最大值所在的位置(第几行)location;



页: [1]
查看完整版本: 为什么我做scot广义互相关不对?求助