仿真软件(英文simulation software),专门用于仿真的计算机软件。它与仿真硬件同为仿真的技术工具。仿真软件是从50年代中期开始发展起来的。它的发展与仿真应用、算法、计算机和建模等技术的发展相辅相成。
1984年出现了第一个以数据库为核心的仿真软件系统,此后又出现采用人工智能技术(专家系统)的仿真软件系统。这个发展趋势将使仿真软件具有更强、更灵活的功能、能面向更广泛的用户。比较风行的是虚拟现实仿真软件,比如虚拟现实仿真平台(VR-Platform)
我只有估计DOA的你要吗?%clc
echo off
M=6%天线个数
d=0.5
k=2*pi
kd=k*d
K=100%有限个采样的二进制walsh码幅度为1
D=3%信号数
th=[-5/180*pi,5/180*pi,20/180*pi]
s=sign(randn(D,K))%信号的时间采样
sig2=0.1
n=sqrt(sig2)*randn(M,K)%噪声的时间采样
theta=-pi/6:0.01:pi/6
A=[]
a1=[]
a2=[]
a3=[]
for ii=1:M
a1=[a1exp(j*(ii-1)*kd.*sin(th(1)))]
a2=[a2exp(j*(ii-1)*kd.*sin(th(2)))]
a3=[a3exp(j*(ii-1)*kd.*sin(th(3)))]
end
A=[a1,a2,a3]
%randn('state',0)
Rss=s*s'/K
rank(Rss)
Rnn=n*n'/K
Rns=n*s'/K
Rsn=s*n'/K
Rxx=A*Rss*A'+A*Rsn+Rns*A'+Rnn
[V,Dia]=eig(Rxx)
[Y,Index]=sort(diag(Dia))
EN=V(:,Index(1:M-D))
for jj=1:18000
theta(jj)=-pi/2+jj/18000*pi
a=[]
for kk=1:M
a=[aexp(j*(kk-1)*kd*sin(theta(jj)))]
end
PB(jj)=abs(real(1/abs(a'*EN*EN'*a)))
end
PB_dB =10*log10(PB)
plot(theta/pi*180,PB_dB,'r')
grid on
xlabel('Angle')
ylabel('|P(\theta)| (dB)')
title([' 使用时间平均的Music伪谱 '])
[max,index]=maximun(PB,D)
eth=-90+index/100
disp(['MUSIC法(相关信号):'])
disp(['1,到达角估计:'])
disp([blanks(10),'d=',num2str(d),'lambda'])
disp([blanks(10),'理论值值为: theta_1 =',num2str(th(1)/pi*180),'° ,','theta_2 =',num2str(th(2)/pi*180),'° ,','theta_3 =',num2str(th(3)/pi*180),'°'])
disp([blanks(10),'仿真估计值为:theta_1 xxzxx=',num2str(eth(1)),'°,','theta_2 =',num2str(eth(2)),' ,','theta_3 =',num2str(eth(3)),'°'])
disp([blanks(10),'偏差为: ',num2str(abs(eth(1)-th(1)/pi*180)),'° , ',num2str(abs(eth(2)-th(2)/pi*180)),'° , ',num2str(abs(eth(3)-th(3)/pi*180)),'°'])
disp(['2,信号数目估计:'])
disp([blanks(10),'理论值值为: D =',num2str(D)])
[V_s,Dia_s]=eig(Rss)
disp([blanks(10),'仿真估计值为:ED =',num2str(length(diag(Dia_s)))])
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)