% 真实的时延是19个点
% 只有2和4路有信号
clear all;
close all;
%count=76800;
fid=fopen('white2.dat','r');
s=fread(fid,262144*3,'int16');
%s=fread(fid,49152*20,'int16');
fclose(fid);
l=length(s); % l=(buffersize/2)
count=fix(l/5);
%n1=zeros(1,count);
n2=zeros(1,count);%n3=zeros(1,count);
n4=zeros(1,count);%n5=zeros(1,count);
%n1=s(1:5:l)';
n2=s(2:5:l)';
%n3=s(3:5:l)';
n4=s(4:5:l)';
%n5=s(5:5:l)';
%n1=n1(1:count)-mean(n1);
n2=n2(1:count)-mean(n2);% 去均值转交流,否则都是正的
%n3=n3(1:count)-mean(n3);
n4=n4(1:count)-mean(n4);
%n5=n5(1:count)-mean(n5);
n2=n2./max(abs(n2));
n4=n4./max(abs(n4));
disp '***** data end ******'
% GCC 估计两信号间的延迟
% by Guan Haixin , 2006.10.24
r=xcorr(n2,n4);
[Y,tao]=max(r);
tao=tao-count
% 波束形成增强信号
if tao<0
tao1=abs(tao);
n44=n4(tao1+1:count);
n22=n2(1:count-tao1);
n=1/2*(n22+n44);
else
n22=n2(tao+1:count);
n44=n4(1:count-tao);
n=1/2*(n22+n44);
end
r=r./max(abs(r));
plot(r);
figure;
subplot(311);
plot(n2);
subplot(312);
plot(n4);
subplot(313);
plot(n);
% sound(n4,16000,16),16KHz采样,其中n2和n4可用,其余未采集数据
% yupu_g(n,16000,16);看语谱图,但那个程序有点BUG
% 对一路信号进行移位叠加也可得到增强!