| 查看: 704 | 回复: 1 | ||
[求助]
程序运行结果不对,自己查不出来错,请各位大侠帮忙
|
|
下面是写的一段UCA ROOT-MUSIC程序,但是运行结果不对,不是设置的[20,50]。同样是本程序的噪声子空间,用谱峰搜索的MUSIC就是对的,但是用ROOT-MUSIC就不对。应该就是root-music那段程序有错,但是自己查也查不出来错误,请各位大侠帮帮忙,非常感谢! sig_num = 1000;%%信号的快拍数 snr=10; rou=0; x1=randint(sig_num,1,4);%产生sig_sum*1的矩阵,数值在0-3之间 x2=randint(sig_num,1,4); x3=randint(sig_num,1,4); x222=rou*x1+sqrt(1-(abs(rou))^2)*x3;%产生相关的两路信号 x2=round(x222); for i=1:sig_num if x2(i)>=4 x2(i)=3; elseif x2(i)<=0 x2(i)=0; end end y1=dmod(x1,1,0.1,4,'psk',4); y1=y1(1:sig_num); y2=dmod(x2,1,0.1,4,'psk',4); y2=y2(1:sig_num); x=[y1';y2']; s=x; q=2; p=12;%智能天线阵元数 fc=10.7*10^6; lemda=3*10^8/fc; banjing=20; jh=pi./180; k0=2*pi/lemda; h=ceil(k0*banjing); P=2*h+1; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %均匀圆阵转化为均匀线阵 alpha=[90,90]; theta=[20,50]; kesei=2*pi*banjing./lemda;%% j=sqrt(-1); n=[0: (p-1)]'; gama=2*pi*n/p; for i=1:q for n=0: (p-1) a(n+1,i)=exp(j*kesei*sin(theta(i)*jh)*cos(alpha(i)*jh-gama(n+1))); end end x11=a*s; vn=var(x11.')./(10^(snr/10)); n11=randn(p,sig_num)+j*randn(p,sig_num); a1=(vn./var(n11.')); b1=((n11.'-ones(size(n11,2),1)*mean(n11.'))).'; for i=1:p c1(i, : )=a1(i)*b1(i, : ); end xn=x11+c1; for i=-h:h cv1(i+h+1)=j^(-abs(i)); end cv=diag(cv1); for m=-h:h for i=0:p-1 w(i+1,m+h+1)=exp(-j*m*gama(i+1)); end end V=1./sqrt(p)*w; Fe=cv*V'; for i=-h:h alph(i+h+1)=2*pi*i/P; end for i=-h:h for m=-h:h v(m+h+1,i+h+1)=exp(j*2*pi*i*m./P); end end W=(1/sqrt(P))*v; Fr=W'*Fe; rx=xn*xn'./sig_num; ry=Fr*rx*Fr'; r=real(ry); % r=Fe*rx*Fe'; [u,sig,v]=svd(r);%%svd奇异值分解,特征值降序排列 signalspace=u(:,q); noisespace=u(:,q+1:7); % vv=conj(noisespace)*noisespace'; UU=noisespace*noisespace.'; %%%%%%root-music%%%%%%%%%%%%%%%%% J1=besselj(1:h,k0*banjing*sin(90*jh)); J11=diag([fliplr(J1),besselj(0,k0*banjing*sin(90*jh)),J1]); Q=J11*W*UU*W'*J11; num1=1; num2=1; A1(1,1: P-1)=0; A2(1,1: P-1)=0; for l=P-1:-1:1 j=P; jj=j-l; for n=1:jj i=j-l; A1(1,num1)=A1(1,num1)+Q(i,j); A2(1,num2)=A2(1,num2)+Q(j,i); j=j-1; j; end num1=num1+1; num2=num2+1; end A1; A2; A=[A1, trace(Q),fliplr(A2)]; ra=roots([A]); rb=ra(abs(ra)<1); [dumm,I]=sort(abs(abs(rb)-1)); w=angle(rb(I(1:q))); fi=-w/jh [ Last edited by 影月水澜 on 2013-7-2 at 21:53 ] |
» 猜你喜欢
越来越担心硕士毕业后没有竞争力了
已经有14人回复
论文的挂名怎么评判贡献?基金申请中,排名第一的挂名文章
已经有3人回复
申博自荐 2篇一区TOP+1篇EI+2公开发明专利 2027博士申请
已经有3人回复
闲聊
已经有6人回复
申博求助
已经有4人回复
» 本主题相关价值贴推荐,对您同样有帮助:
求Matlab高手解决线性方程组的迭代求解问题
已经有17人回复
q2r.x运行出错
已经有12人回复
packmol如何构建初始结构供dl_poly使用?
已经有9人回复
急求fortran运行错误原因,在线等
已经有7人回复
高斯安装成功,运行提示出错。
已经有10人回复
从excel读取数据多项式拟合出错
已经有3人回复
C++编程,关于循环结构的,大家看看我这程序哪里错了?
已经有21人回复
一个区间搜索的c语言程序 出问题了
已经有8人回复
回答一些关于Multiwfn的疑问以及未来Multiwfn的发展打算
已经有37人回复
【求助】此程序没有错误,怎么运行不出来?
已经有6人回复
【求助】fortran程序未出错,但运行不出结果,中途中断!
已经有6人回复
【求助】运行出错 虚拟内存
已经有10人回复
【求助】MS4.3在运行,却一直没有CASTEP这个程序在工作,计算结果也迟迟不出现。。。�
已经有15人回复
【求助】合成氨过程模拟 结果错误,怎么办?并问下如何修改收敛次数!【已解决】
已经有11人回复
【求助】修改MATLAB支持向量机核函数程序遇到的疑问?求助
已经有5人回复
2楼2018-06-24 12:41:00










回复此楼