function p=music()
N=10; %阵元个数
L=1000;
J=10; %频率点数
M=10^4; %时域抽样快拍数
f0=100; %信号中心频率
fs=100; %抽样频率1000MHZ
SNR=100; %20dB的信噪比10lg(SNR)
q=zeros(N,(M/L));
T=100; %发射脉宽 100s
%t=T*[0:1/M:(M-1)/M];%离散点对应的时间点
B=40; %调频带宽 30MHz
K=B/T; %频率调制斜率
Ts=1/fs; %采样周期
u=0.5; %入射角
%2 产生信号模型
for n=1:1:N
tao=0.5*(n-1)*u/f0; %for k=1:1:length(t)
t=linspace(-T/2-tao,T/2-tao,M);
X(n,:)=SNR*exp(j*2*pi*(f0*t+0.5*K*t.^2)); %X(n,k)=exp(j*2*pi*(f0*(t(k)-0.5*(n-1)*u/(2*f0))+0.5*K*(t(k)-0.5*(n-1)*u/(2*f0)).^2));+0.5*K*t.^2
end %end
%Xn=sqrt(1/2)*randn(N,M)+j*sqrt(1/2)*rand(N,M);
Xn=wgn(N,M,0,'complex');
%常规MUSIC算法
Y=X+Xn;% N*M 阶矩阵
for m=1:L
for i=1:N
for k=1:(M/L)
q(i,k,m)=Y(i,(m-1)*J+k);
end %分成L个子矩阵(L*J=M)
end
p(:,:,m)=abs(fft(q(:,:,m),10));
end
for i=1:(M/L)
for m=1:L
r(:,m,i)=p(:,i,m);
end
end
for i=1:(M/L)
Rx(:,:,i)=r(:,:,i)*r(:,:,i)'/L;
[F(:,:,i),D(:,:,i)]=eigs(Rx(:,:,i),N-3,'SM');
xa=-1:0.01:1;
n=[0:1:N-1]';
fk=f0-B/2+i*B/10;
for m=1:length(xa)
Va=exp(j*pi*fk/f0*xa(m)*n);
p0(i,m)=1/(Va'*F(:,:,i)*F(:,:,i)'*Va);
end
end
z=zeros(1,length(xa));
for i=1:(M/L)
z=z+p0(i,:); %矩阵各行累加
end
p1=z/(M/L);
%作图
plot(xa,10*log10(p1));
title('Classic MUSIC Spectrum');
xlabel('Angle');
ylabel('Spectrum');
grid on;
周楷雯
- 粉丝: 93
- 资源: 1万+
最新资源
- W3CSchool全套Web开发手册中文CHM版15MB最新版本
- Light Table 的 Python 语言插件.zip
- UIkit中文帮助文档pdf格式最新版本
- kubernetes 的官方 Python 客户端库.zip
- 公开整理-2024年全国产业园区数据集.csv
- Justin Seitz 所著《Black Hat Python》一书的源代码 代码已完全转换为 Python 3,重新格式化以符合 PEP8 标准,并重构以消除涉及弃用库实现的依赖性问题 .zip
- java炸弹人游戏.zip学习资料程序资源
- Jay 分享的一些 Python 代码.zip
- 彩色形状的爱心代码.zip学习资料程序资源
- SQLAlchemy库:Python数据库操作的全方位指南
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈