为什么posMic 没有定义呢?

clear;
%%////////// 1 初始化设置 //////////
fs=30000; %采样率
t = 0:1/fs:4-1/fs; %总采样时间为4 秒
v=343;
%%////////// 声源和传声器位贾的设定 //////////
posSrc=[10,10,10];
posMic=[ 10,10,0;0,10,0;0,0,0; 10,0,0];
%%////////// 声源到各个传声器之间的时间延迟 //////////

disMS=posMlic-ones(4, l)*posSrc;

disMS=sqrt(sum(disMS.^2,2));

tDelayMic =disMS/v;

%%//////////互相关长度的计算//////////

Mlag==min([2*ceil(max(sqrt(sum((posMic-posMic([2 3 4 1],:)).^2,2 )))/v*fs),nMic]);

sigTChirp=iniine('chirp((t/Ts-f1oor(t/Ts))*Ts,0,Ts,fm)‘t', ‘Ts’,‘fm');

estRes=struct('posSrcEst\[],'err,[],'SNR',[],W,[]);

sigMic=sigMicPure+randn(nMic,4).*(ones(nMic,l)*sqrt(Pn));

%%//////////互相关函数的计算//////////

rMicAB=rMicAB+xcoor(sigMic(:,l),sigMic(:,2),Mlag,'biased');

rMicA=rMicAC+xcoor(sigMic(:,l),sigMic(:,3),Mlag,'biased');

rMicAD=rMicAD+xcorr(sigMic(:,l),sigMic(:,4),Mlag,'biased');

%%/////////时延估计///////////

delayDifferABRes=-(Mlag+l)+rMicAB(nDelayDifrerAB(nIter)+(3:3))'*(nDelayDifFerA

B(nIter)+(-3:3))'/sum(rMicAB(nDeIayDifferAB(nIter)+(-3:3)));

delayDifferACRes=-(Mlag+l)+rMicAC(nDelayDifferAC(nIter)+(3:3))'*(nDelayDifferAC(nlter)

+(-3:3))'/sum(rMicAC(nDelayDifferAC(nIter)+(-3:3)));

delayDifrerADRes=-(Mlag+l)+rMicAD(nDelayDifferAD(nIter)+(-3:3))'*(nDelayDitTerAD(nlter)

+(-3:3))'/sum(rMicAD(nDeIayDifferAD(nlter)+(-3:3)));

distDifrAB=delayDifferABRes/fs*v;

distDiffAC=delayDifferACRes/fs*v;

distDiffAD=delayDifFerADRes/fs*v;

%%//////////声源定位//////////

funSrc=inline('[sqrt(sum((x-posMic(1,:)).^2))-sqrt(sum((x-posMic(4,:)).^2))-dAB;sqrt(sum((x-posMic(l,:)).^2))-sqrt(sum((x-posMic(3,:)).^2))-dAC;sqrt(sum((x-posMic(1,:)).^2))-sqrt(sum((x-posMic(4,:)).^2))-dAD]','x','posMic','dAB','dAC','dAD');
figure(2);
plot(funSrc);
[posSrcEst,en-]=fsolve(funSrc,posMic(l,:),[],posMic,distDiffAB,distDiffAC,distDiffAD);

errSrcEst=sqrt(sum((posSrcEst-posSrc).^2));

一只萌萌小番薯
浏览 109回答 2
2回答

肥皂起泡泡

posMic可用zeros先定义空的

噜噜哒

哪一行报错说posMic没定义的?
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

数据结构