close all
clc
clear all
c=340;
fs=11025;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
rm=[5 3 3];
c=340;
mic2=[0 1.0 2]; %第二个麦克风
src=[3 2.5 2];
d=1;
mic3=[0 1+d 2]; %第三个麦克风
mic1=[0 1-d 2]; % 第一个麦克风
t1=sqrt((src(1)-mic1(1))^2+(src(2)-mic1(2))^2)/c; %信号源与第一个麦克风之间的距离除以声速,得到传播时间
t2=sqrt((src(1)-mic2(1))^2+(src(2)-mic2(2))^2)/c; %信号源与第二个麦克风之间的距离除以声速,得到传播时间
t3=sqrt((src(1)-mic3(1))^2+(src(2)-mic3(2))^2)/c; %信号源与第三个麦克风之间的距离除以声速,得到传播时间
t12=t1-t2;
t32=t2-t3;
rp=((2*(d^2)-(c^2)*((t12)^2+(t32)^2)))/(2*c*(t12-t32)) %实际距离
for i=1:9
tt12(i)=t12;
tt32(i)=t32;
rpp(i)=rp;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
r=0.1;
n=8;
h=rir(fs, mic2, n, r, rm, src);
figure(1)
subplot(2,2,1)
plot(h)
title('麦克风阵列采集到语音信号')
axis([0,1500,0,0.4])
HT=h(1:1400);
[y,fs,nbits]=wavread('D:\毕设资料\谢安琪');
%sn=y(1:5000);
sn=y;
N=length(HT);
L=length(sn);
s1=zeros(1,L);
for n=2:N
for m=1:n-1
s1(n)=s1(n)+HT(m)*sn(n-m+1);
end
end
for n=N+1:L
for m