MUSIC和CAPON算法对比

%%MUSIC与CAPON算法性能对比
clc
clear all
close all

%% 基本参数设置
M = 10;
N = 200;
K = 3;
theta = [10 20 30];
d = 0.5;
dd = 0:M-1;
SNR = 20;

%% 构造信号接收模型
s = randn(K,N);
a = exp(1i*2*pi*d*dd'*sind(theta));
x = a*s;
x = awgn(x,SNR,'measured');%  measured  表示使用实际测量的信噪比
R = x*x'/N;

%% 计算噪声子空间
[V,VA] = eig(R);%得到特征向量以及特征值对角矩阵
VA = diag(VA)';
[VA,I] = sort(VA);
VA = fliplr(VA);%将特征值从大到小排列
V = fliplr(V(:,I));%按照特征值的降序排列对应特征向量
N_sub = V(:,K+1:M);

%% 空间谱搜索
A = zeros(M,1);
for i = 1:361
    angle(i) = (i-181)/2;%俯仰角范围[-90,90]
    A = exp(1i*pi*dd'*sind(angle(i)));
    Pmusic(i) = (A'* A)/(A'*N_sub*N_sub'*A);%(A'* A)结果为常数,归一化后对整个估计结果不造成影响
     Pcapon(i) = 1/(A'*inv(R)*A);
end
Pmusic = abs(Pmusic);
Pmusic_max = max(Pmusic);
Pmusic = 10*log10(Pmusic/Pmusic_max);

Pcapon = abs(Pcapon);
Pcapon_max = max(Pcapon);
Pcapon = 10*log10(Pcapon/Pcapon_max);

%% 绘图
figure
plot(angle,Pmusic,'-b','LineWidth',2);
hold on
plot(angle,Pcapon,'-r','LineWidth',2);
axis([-90 90 -60 0])
set(gca, 'XTick',-90:30:90)
grid on
xlabel('angle(degree)');
ylabel('magnitude spectr(dB)');
legend('MUSIC','CAPON')


















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值