资源简介
求根MUSIC算法,不同于谱搜索MUSIC,可以给出角度
代码片段和文件信息
rand(‘seed‘0);
randn(‘seed‘0);
clear all;
N=6; %%The number of elements
dd=0.5;%%Equal to d/lamda
Snapshot=512;
SNR=30;%%Input SNR (dB)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
theta=linspace(-50503);
% theta=[-30 -5 30];
D=length(theta); %%The number of the DOA
V_theta=exp(1j*2*pi*dd*([0:N-1].‘*sin(theta*pi/180)));
error_gain=0.8+0.4*rand(N1);
error_gain=error_gain./error_gain(1);
error_phase=exp(1j*2*pi*rand(N1));
% error_phase=exp(1j*2*pi*rand(N1));
error_phase=error_phase./error_phase(1);
error_sensors=error_gain.*error_phase;
error_sensors=diag(error_sensors.‘);%% Diagnol matrix
for jj=1:D
for ii=1:Snapshot
power_signal_source(jjii)=10*(randn(1)+1j*randn(1))/sqrt(2);
end
end
clear jj;clear ii;
% X=V_theta*S;
% X=V_theta*power_signal_source;
X=error_sensors*V_theta*power_signal_source;
X1=awgn(XSNR‘measured‘);
% Rxxm=X*X‘/Snapshot;
Rxxm=X1*X1‘/Snapshot;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[U DD]=eig(Rxxm);
Noise_space=U(:1:N-D);
iteration=1;
F=eye(N);
%
for ii=1:iteration
X1=inv(F)*X1;
Rxxm=X1*X1‘/Snapshot;
[U DD]=eig(Rxxm);
Noise_space=U(:1:N-D);
%
syms z;
pz=z.^([0:N-1]‘);
pz1=(z^(-1)).^([0:N-1]);
fz=z^(N-1)*pz1*Noise_space*Noise_space‘*pz;
a=sym2poly(fz);
r=roots(a);
r1=abs(r);
for jj=1:2*D
[YI(jj)]=min(abs(r1-1));
r1(I(jj))=inf;
end
for jj=1:2*D
theta1(jj)=asin(angle(r(I(jj)))/pi)*180/pi;%
end
theta2=floor(theta1*10^5)/10^5;
theta_rootMUSIC=unique(theta2);
w=zeros(N1);
w(11)=1;
Qk=zeros(NN);
for jj=1:D
V_theta_rootMUSIC=exp(1j*2*pi*dd*([0:N-1].‘*sin(theta_rootMUSIC(jj)*pi/180)));
diag_V_theta_rootMUSIC=diag(V_theta_rootMUSIC.‘);
Qk=Qk+(diag_V_theta_rootMUSIC‘*Noise_space*Noise_space‘*diag_V_theta_rootMUSIC);
end
delta_kPlus1=pinv(Qk)*w/(w‘*pinv(Qk)*w);
F=diag(delta_kPlus1.‘);
end
% F=eye(N);
% Search_theta=-90:0.2:90;
% Co_Music=zeros(1length(Search_theta));
%
% for n=1:length(Search_theta)
% A_theta=exp(1j*2*pi*dd*([0:N-1].‘*sin(Search_theta(n)*pi/180)));
% Co_Music(n)=1/(A_theta‘*F‘*Noise_space*Noise_space‘*F*A_theta);
% % Co_Music(n)=1/(A_theta‘*Noise_space*Noise_space‘*A_theta);
% end
%
% Co_Music=(abs(Co_Music)./max(abs(Co_Music)));
%
% figure(1);
% plot(Search_thetaCo_Music);
% hold on;
% axis([-90 90 0 1]);
% fontsize(12);
% vline(theta);
% xlabel(‘\theta(deg)‘);
% ylabel(‘Spectrum(Normalized)‘);
% hold off;
%
% Peak_theta=[-29.8 -4.2 34];
% % Peak_theta=[-50 -18 3.4 26 62.8];
% Peak_theta=[2.6 21.4 71.6];
%
% Qk=zeros(NN);
% for jj=1:D
% V_Peak_theta=exp(1j*2*pi*dd*([0:N-1].‘*sin(Peak_theta(jj)*pi/180)));
- 上一篇:偏微分方程定解问题的有限元方法Matlab
- 下一篇:matlab程序信噪比
相关资源
- matlab程序信噪比
- 偏微分方程定解问题的有限元方法M
- 基于MATLAB图像加解密程序
- 凸规划matlab程序
- matlab读入三维点云数据斯坦福兔子
- 极限学习机matlab源代码
- MATLAB 求解PDE偏微分方程工具箱及
- 二维navier-Stokes (非定常)MATALAB
- 《功率变换器和电气传动的预测控制
- 基于MATLAB并结合IBD算法的盲迭代反卷
- 基于matlab图像复原处理包,其中包括
- adams与matlab联合仿真
- MATLAB的GUI界面的实时绘图显示
- qpsk matlab代码
- matlab 遗传算法公交车路线优化
- MATLAB题库很好用
- 六自由度机械臂三维仿真程序完整版
- MATLAB 工程案例.
- DE差分进化算法MATLAB源码,中文详细注
- MARLAB 入门MATLAB 数学工具软件 简明教
- 最新MATLAB激活许可证,解决2017-11-12后
- GRD格式的DEM文件读取写入Matlab程序.
- 眼底图像形态学操作MATLAB代码
- 在一幅图中寻找圆的matlab算法
- 串并转换,并串转换
- 运动模糊图像倒谱程序
- 单相短路的matlab仿真
- 稀疏保持投影matlab代码
- JPEG基本系统的matlab实现
- 机械优化设计及其MATLAB实现
评论
共有 条评论