资源简介
MUSIC算法 [1] 是一种基于矩阵特征空间分解的方法。从几何角度讲,信号处理的观测空间可以分解为信号子空间和噪声子空间,显然这两个空间是正交的。信号子空间由阵列接收到的数据协方差矩阵中与信号对应的特征向量组成,噪声子空间则由协方差矩阵中所有最小特征值(噪声方差)对应的特征向量组成。这是我当时学music算法时自己总结并注释过,很好懂
代码片段和文件信息
clear all;
clc;
p=3; %入射信号数目
M=8; %阵元个数
L=1; %将阵列划分为相互重叠的L个子阵
m=M-L+1; %每个子阵中的阵元个数
fc=1e9; %入射信号中频为1G
DOA=[202122]/180*pi; %信号入射DOA
fs=3*fc; %采样频率
N=512; %采样个数
snr=10; %信噪比
T=1/fs; %采样时间间隔
c=3e8; %波速
d=c/fc*0.5; %阵元间距
t=0:T:(N-1)*T; %采样时间区间
s1=sqrt(2)*cos(2*pi*fc*t);
s3=2*s1;%信号数据
s2=sqrt(2)*cos(2*pi*(fc+2e8)*t);
s4=sqrt(2)*cos(2*pi*(fc+3e7)*t);
%s3=sqrt(2)*cos(2*pi*(fc+5e8)*t);
%s4=5*s1;
s5=sqrt(2)*cos(2*pi*(fc+9e8)*t);;
s6=sqrt(2)*cos(2*pi*(fc+1e7)*t);
ss=[s1;s2;s3;s4;s5;s6];
s=ss(1:p:);
%%%%%%%%计算阵列流形矩阵A
A=zeros(Mp);
for k=1:p
for kk=1:M
A(kkk)=exp(-j*2*pi*fc*(kk-1)*d*sin(DOA(k))/c);
end
end
y=A*s;
y=awgn(ysnr);%阵列接收数据
R=y*y‘/N;
[vdd]=eig(R); %对协方差矩阵进行特征值分解
%%%%%计算噪声子空间
if(dd(11)>dd(22))
Un=v(:p+1:M);
else
Un=v(:1:(M-p));
end
do=-90:90;
pu1=zeros(1length(do));
kg=1;
for k=-90:90
a=zeros(M1);
for kk=1:M
a(kk1)=exp(-j*2*pi*fc*(kk-1)*d*sin(k/180*pi)/c);
end
pu1(1kg)=abs(1/(a‘*Un*Un‘*a));
kg=kg+1;
end
hold on;
%测量谱峰值
DOA_guji1=[];
double(pu1);
double(DOA_guji1);
l=length(pu1);
for i=2:l-1
if (pu1(i)>pu1(i+1)&&pu1(i)>pu1(i-1)&&pu1(i)>1)
DOA_guji1=[DOA_guji1i-90-1];
end
end
DOA_guji1
rf=zeros(mm);
rb=ze
- 上一篇:相关向量机RVM_MATLAB
- 下一篇:matlab演化博弈代码
相关资源
- 高灵敏度GPS接收机MATLAB仿真,附捕获
- 基于MATLAB的质点弹道计算与外弹道优
- 阵列天线的matlab仿真
- MATLAB 经典程序源代码大全
- MATLAB小波软阈值去噪代码33473
- 天线阵的波束形成在MATLAB仿真程序及
- 非线性SVM算法-matlab实现
- 《MATLAB 智能算法超级学习手册》-程序
- 组合导航matlab程序
- 读取txt文件内容matlab代码实现
- Matlab实现基于相关的模板匹配程序
- matlab优化工具箱讲解
- 基于MATLAB的快速傅里叶变换
- 光纤传输中的分布傅立叶算法matlab实
- 基于matlab的图像处理源程序
- matlab 椭圆拟合程序
- 算术编码解码matlab源代码
- optical_flow 光流法 matlab 实现程序
- 引导图像滤波器 Matlab实现
- 分形几何中一些经典图形的Matlab画法
- OFDM系统MATLAB仿真代码
- SVM工具箱(matlab中运行)
- 图像小波变换MatLab源代码
- LU分解的MATLAB实现
- 冈萨雷斯数字图像处理matlab版(第三
- 替代数据法的matlab程序
- 用matlab实现的多站定位系统性能仿真
- 通过不同方法进行粗糙集属性约简m
- k近邻算法matlab实现
- matlab识别系统
评论
共有 条评论