⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testcbf4.m

📁 用于信号处理中的DOA估计
💻 M
字号:
% CBF、MVM和MEM三种算法比较
clear;
close all
%----阵列参数-------------
M=10;
N=2;
snr=10;
L=10;
ddd=0.5;
signal_doa=[10 15];
%----产生数据-------------
signal_a=10^(snr/10);
S=randn(N,L)+i*randn(N,L);
noise=randn(M,L)+i*randn(M,L);
A=exp(i*2*pi*ddd*(0:M-1)'*sin(signal_doa*pi/180));
X=A*S*signal_a+noise;
%----应用算法并搜索-------------
R=X*X'/L;
ddoa=-90:0.1:90;
steer=exp(i*2*pi*ddd*(0:M-1)'*sin(ddoa*pi/180));
u0=[1; zeros(M-1,1)];
W=inv(R(2:end,2:end))*R(2:end,1);W=[1;-W];
W1=inv(R(1:end-1,1:end-1))*R(1:end-1,end);W1=[-W1;1];
for ij=1:length(ddoa)
    aa=steer(:,ij);
    p1(ij)=aa'*R*aa;                           %-CBF算法
    p2(ij)=1/(aa'*inv(R)*aa);                  %-MVM算法
    p3(ij)=1/(aa'*inv(R)*u0*u0'*(inv(R))'*aa); %-MEM算法
    p4(ij)=1/(aa'*W*W'*aa);
    p5(ij)=1/(aa'*W1*W1'*aa);
end
%----画图得到角度-------------
figure;hold on;
plot(ddoa,20*log10(abs(p1)));
plot(ddoa,20*log10(abs(p2)),'r');
plot(ddoa,20*log10(abs(p3)),'k');
plot(ddoa,20*log10(abs(p4)),'g');
plot(ddoa,20*log10(abs(p5)),'c');
box on;axis tight;grid on;
legend('CBF','MVM','MEM','BLP','FLP')

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -