%%%%%%%%%%%%%%%基于线性调频信号的MUSIC算法
clear;
close all;
j=sqrt(-1);
c=3e8;
tao=10e-6;%采样间隔
fs=100e6;%采样频率
M=8;
f1_l=29.9e6;
f1_h=30.1e6;%信号的低频和高频
f2_l=30.1e6;
f2_h=29.9e6;%此种情况下,中频相同且不相关,且为窄带信号
f1_c=(f1_l+f1_h)/2;%中频,且相同
w0=2*pi*f1_c;
B1=f1_h-f1_l;%带宽
kc1=B1/tao;%调制斜率
kc2=-B1/tao;
N_fs=fix(tao*fs);% 采样点数
t0=(0:N_fs-1)/fs;
snr=10;
theta=[-10 20];%入射角度
N_source=length(theta);
lambda=c/f1_c;%波长及阵元间距
d=lambda/2;
dd=(0:M-1)*d;
mecnt=100;
F = fs/N_fs;
f_xlabe = ((0:N_fs-1)-N_fs/2)*F;
%%%%%%%%%%%流行矩阵
delay=zeros(M,N_source);
for i=1:N_source
delay(:,i)=dd.'*sin(theta(i)*pi/180)/c;
end
% A=zeros(M,N_source);
% for i2=1:N_source
% A(:,i2)=exp(j*2*pi*dd.'*sin(theta(i)*pi/180)/c);
% delay(:,i2)=dd.'*sin(theta(i2)*pi/180)/c
% end
%%%%%%%%%%%产生线性调频信号
X1=zeros(M,N_fs);
X2=zeros(M,N_fs);
for h1=1:M;
t1=t0-delay(h1,1);
X1(h1,:)=exp(j*2*pi*(f1_l*t1+1/2*kc1*t1.^2));
end
for h2=1:M;
t2=t0-delay(h2,2);
X2(h2,:)=exp(j*2*pi*(f2_l*t2+1/2*kc2*t2.^2));
end
X=X1+X2;
X_out=awgn(X,snr,'measured');
mesh(1:1000,1:8,abs(X_out));
%%%%%%%music算法————————————————————
R=(X_out*(X_out)')/N_fs;
[edv,d]=eig(R);
d=diag(d);%取出对角矩阵
[d_sort pre]=sort(abs(d),'ascend');%对特征值d进行从小到大排列并取出其索引
edv_sort = edv(:,pre); %对应特征值从小到大的特征向量
Un = edv_sort(:,1:M-N_source); %取出噪声的特征向量
%对角度进行搜索
ang = (-90:1:90);
p = zeros(1,length(ang));
for loop = 1:length(ang) %-90~90度搜索
a = exp(-j*w0*dd.'*sin(ang(loop)*pi/180)/c);
tem = a'*Un;
p(1,loop) = 1/(tem*tem');
end
p_max = max(p);
p=10*log10(p/p_max);
figure;
plot(ang,p);
xlabel('angle(degree)');
axis([-90 90 -60 5]);
ylabel('magnitude(db)');
title('MUSIC算法')
grid on;
Matlab领域
- 粉丝: 3w+
- 资源: 3766
最新资源
- 使用直方图规范方法进行彩色图像增强和亮度保持Matlab代码.rar
- 使用直方图均衡增强图像对比度,具有最大强度覆盖范围Matlab代码.rar
- 使用最佳 Gamma 校正和加权和进行图像对比度增强亮度保留Matlab代码.rar
- 使用状态 feebbcak 控制对斜坡设定点实施极点放置方法Matlab代码.rar
- 使用最简单的单调计算对齐高层建筑或大型场景的图像 使用 SV 进行矩阵估计Matlab代码.rar
- 双孔隙度模型的有限元解及其后验误差估计Matlab代码.rar
- 提出了几种基于求解泊松方程的直接和迭代相位展开算法。.rar
- 通过标准霍夫变换检测二值图像中的线条Matlab代码.rar
- 通过非线性滤波器快速实现 SUSAN 特征检测器Matlab代码.rar
- 通过多孔径合成在光学相干断层扫描中扩展焦深Matlab代码.rar
- 通过核基本阈值分类器进行高光谱图像分类Matlab代码.rar
- 通过核正交匹配追踪 (KOMP) 和 KSOMP 进行高光谱图像分类Matlab代码.rar
- 通过基本阈值分类器进行高光谱图像分类Matlab代码.rar
- 图像强度正则化Matlab代码.rar
- 图像拼接已使用SURF和Harris角落检测算法完成..基于匹配特征的索引Matlab代码.rar
- 图像上的中值滤镜Matlab代码.rar
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈