阵列信号处理之LCMV的matlab代码,真实可用

阵列信号处理之LCMV的matlab代码

线性限制最小方差滤波器(Linearly Contrained Minimum Variance,LCMV),也称之为Frost Algorithm,最初应用于天线阵列。背后的思想是从某方向提取目标信号, 同时最小化其他方向的干扰信号与噪声。

clc; 
close all
clear all; 
J=8;%传感器的个数
j=sqrt(-1);
r=1/2;  %避免空间采样重叠设置传感器间隔与波长的比值为0.5
sita=-90:0.5:90;    %设置角度范围
sita1=0;    %设置信号入射角
sita2=[-30 30]; %设置干扰入射角
N=500;  %设置采样点数
s=exp(j*2*pi*(16000*(0:1:N-1)/200)) ;   %构造有用信号(正弦信号)
noise=(randn(J,N)+j*randn(J,N))/sqrt(2);    %噪声分量
a1=sqrt(10)*exp(-j*pi*(0:J-1)'*sin(sita1/180*pi));
a2=sqrt(10)*exp(-j*pi*(0:J-1)'*sin(sita2/180*pi));
xi=(randn(2,N)+j*randn(2,N))/sqrt(2);   %干扰信号
X=a1*s+a2*xi+noise;     %含噪声的接收到的信号
Rx=X*X'/N;
C=a1;
%F=1;
w=inv(Rx)*C*inv(C'*inv(Rx)*C); %权重计算公式
for n=1:length(sita)
    a=exp(-j*2*pi*r*sin(sita(n)*pi/180)*(0:J-1)');%导向矢量
    p(n)=w'*a;%天线方向图
end
P=20*log10(abs(p)/max(abs(p)));%归一化换算成dB
plot(sita,P);
grid on;
xlabel('sita/度');
ylabel('P / dB');
title('lcmv方向图');

常规波束形成方法相当于是在空域做了傅里叶变换处理,精度不够。
LCMV的还可以。

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值