算法程序
x,fs,bits]=wavread('D:\Program Files\MATLAB\R2009b\notebook\pc\luyin3.wav',[501
750]);
n1=-249:249;
N=size(x,1)
x=x';
y=[zeros(1,50) x(1:250-50)];
x1=awgn(x,5,'measured');%加入 SNR 为零的正态分布白噪声随机序列,'measured'表测量
信号噪声.x1=awgn(sx,0,'measured','db' )
...
x,fs,bits]=wavread('D:\Program Files\MATLAB\R2009b\notebook\pc\luyin3.wav',[501
750]);
n1=-249:249;
N=size(x,1)
x=x';
y=[zeros(1,50) x(1:250-50)];
x1=awgn(x,5,'measured');%加入 SNR 为零的正态分布白噪声随机序列,'measured'表测量
信号噪声.x1=awgn(sx,0,'measured','db' )
y1=awgn(y,5,'measured');%第二种改法 y1=awgn(sy,0,'measured','db' );
rxx=xcorr(x1,x1,'biased');%求信号 x1 自相关函数,度应是 1024
ryy=xcorr(y1,y1,'biased');%求信号 y1 自相关函数
rxy=xcorr(y1,x1,'biased');%求信号 x1,y1 互相关函数[rxx,lags]=xcorr(x1,x1,'biased')
sxx=fft(rxx,2*N-1);%求 x1 功率谱密度
syy=fft(ryy,2*N-1);%求 y1 功率谱密度
sxy=fft(rxy,2*N-1);%求互相关谱密度,
cxy=(sxy.*sxy)/(sxx.*syy); %最大似然加权
Hs=cxy./((abs(sxy)).*(1-cxy)); %最大似然加权
sxyf=Hs.*sxy;
TDOA=real(ifft(sxyf,2*N-1));
TDOA=TDOA/sum(abs(TDOA));
t1=-249:0.001:249;
final=interp1(n1,TDOA,t1,'spline');%插值
c=max(abs(final));
k=(find(abs(final)==c)-249000)/1000
m=k/fs %换算出信号的延迟时间
plot(n1,abs(TDOA)) ;
strmax=sprintf('(%4.4f,%4.4f)',k,c);
text(k+5.2,c,strmax)
ylabel('幅度');
xlabel('采样点');
title('广义互相关(ml)');
grid on
出现错误:
??? Error using ==> chckxy at 106
There should be at least two data points.
Error in ==> spline at 55
[x,y,sizey,endslopes] = chckxy(x,y);
Error in ==> interp1 at 279
yiMat = spline(xCol.',yMat.',xiCol.').';
Error in ==> ml at 20
final=interp1(n1,TDOA,t1,'spline');%插值
现无法消除这个错误,请朋友们帮忙解答,特别请求 songzy41 帮忙解答!谢谢!
本文档为【算法程序】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。