|
我写了一个根据互功率谱来求时延的MATALB程序,如果我先加噪声,再延时得到两路信号,那得出的结果比较贴切;如果先延时,再加噪声,就得不到像样的结果。我感觉应该先延时再加噪声,比较符合实际,可是这又得不到理想的结果,很是费解啊!我看过你在这方面的帖子的评价,所以来请教!期待您的回复
clear;
fs=65536;
c=340;
S0=5*cos(2*pi*17*(0:1324)/fs)+cos(2*pi*117*(0:1324)/fs);
%S0=awgn(S0,10,'measured'); 先加噪声,后延时;
S1=S0(1:1024);
S2=S0(200:1223);
S1=awgn(S1,20,'measured');%先延时,在给1路信号加噪声
S2=awgn(S2,20,'measured');%先延时,在给2路信号加噪声
figure(1);
subplot(2,1,1);
plot(S1);
subplot(2,1,2);
plot(S2);
h=hamming(1024)';
S1=S1.*h;
S2=S2.*h;
figure(2);
subplot(2,1,1);
plot(S1);
subplot(2,1,2);
plot(S2);
SK1=fft(S1,1024);
SK2=fft(S2,1024);
SK1j=conj(SK1);
SK2j=conj(SK2);
fai1=1./(abs(SK2.*SK1j)+eps);
%fai2=1./(sqrt(SK2.*SK2j.*SK1.*SK1j)+eps);
R12=fai1.*SK2.*SK1j;
r12=real(ifft(R12,1024));
find(r12==max(r12))
figure(3);
plot(r12); |
|