baijie223 2015-04-08 15:07 采纳率: 0%
浏览 5180

matlab仿真程序,基于均匀线阵的music算法。随这snr的变化rsme情况

clear all
clc
tic
%%%%参数设定
M=8;
N=128;
doa=[0 20 40]/180*pi;
P=length(doa);
f0=1000;
c=1500;
lambda=c/f0;d=lambda/2;
snr=-10:2:30;
PP=zeros(length(snr),361);
%%%%%%%阵列流型A %%%%%%%
for k=1:P
A(:,k)=exp(-j*2*pi*d*[0:M-1]'*sin(doa(k))/lambda);
end
for jj=1:length(snr)
%信源模型建立
for k=1:P
S(k,:)=sqrt(10.^(snr(jj)/10))*(randn(1,N)+j*randn(1,N));
end
%接收信号模型建立
X=A*S+1/sqrt(2)*(randn(M,N)+j*randn(M,N));
%协方差矩阵特征值分解得到噪声子空间
R=X*X'/N;
[V,D]=eig(R);
UN=V(:,1:M-P);
%%%%%%%谱峰搜索%%%%%%%
theta=-90:0.5:90;
for iii=1:length(theta)
a=exp(-j*2*pi*d*(0:M-1)'*sin(theta(iii)/180*pi)/lambda);
Pmusic(iii)=abs(1/(a'*UN*UN'*a));
end
Pmusic=10*log10(Pmusic/(max(Pmusic)+eps));
PP(jj,:)=Pmusic;
end
figure(1)
mesh(theta,snr,PP)
xlabel('theta/degree')
ylabel('snr/dB')
zlabel('Pmusic/dB')
title('spectrum')
grid on
toc
上面这段代码是一个music算法,要做出怎么样的修改?
计算得到的实际波达角是多少啊?

  • 写回答

2条回答 默认 最新

  • 燕清扬 2015-08-04 02:31
    关注

    对谱函数Pmusic进行排序,并前P个最大值的原索引,找到对应的角度值

    评论

报告相同问题?

悬赏问题

  • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
  • ¥15 ubuntu系统下挂载磁盘上执行./提示权限不够
  • ¥15 Arcgis相交分析无法绘制一个或多个图形
  • ¥15 关于#r语言#的问题:差异分析前数据准备,报错Error in data[, sampleName1] : subscript out of bounds请问怎么解决呀以下是全部代码:
  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)