• 线性约束最小方差准则(LCMV)波束形成算法仿真


    常规波束形成仅能使得主波束对准目标方向,从而在噪声环境下检测到目标,但无法对复杂多变的干扰做出响应,所以不能称之为真正意义上的自适应滤波。自适应阵列处理指的是采用自适应算法对空间阵列接收的混合信号进行处理,又可称为自适应波束形成技术,该技术可以有效提取目标信号的参数信息并抑制干扰,尤其对于时域上分不开但空域中能分开的一类干扰有较好的抑制作用。
    自适应波束形成本质上是一种最优滤波,而最优波束形成作为理论分析的工具,为实现自适应波束形成打下了基础。最优波束形成的权矢量是按照某一寻优准则,依据阵列接收信号的统计特性得到的。
    线性约束最小方差准则(LCMV)在对有用信号形式和信号来向完全未知情况下,在某种约束条件下使阵列输出的方差最小。
    LCMV方法的代价函数可以表示为
    J ( w ) = w H R w J(w)=w^HRw J(w)=wHRw
    约束条件为:
    w H a ( θ ) = f w^Ha(\theta)=f wHa(θ)=f
    f = 1 f=1 f=1得到最优解:
    w = R − 1 c c H R − 1 c w=\frac{R^{-1}c}{c^HR^{-1}c} w=cHR1cR1c
    仿真参数设置:

    参数Value
    阵元数18
    期望信号角度10
    干扰信号角度[-20 20]
    SNR10
    JNR40
    快拍数3000

    仿真程序:

    %% 线性约束最小方差准则(LCMV)仿真
    %  线性约束最小方差准则是在有用信号形式和信号来向完全已知的情况下,在某种约束的条件下使阵列输出的方差最小。
    % 典型的块自适应处理算法—采样矩阵求逆(SMI)算法
    % author:huasir 2023.9.26@beijing
    clc;close all;clear all;
    M = 18; %天线数
    L = 3000; %快拍数
    thetaSiganl = [10]; %信号入射角度
    thetaJamming = [-20 20]; %干扰入射角度
    n = [0:M-1]'; %阵元
    vs = exp(-j*pi*n*sin(thetaSiganl/180*pi)); %信号方向矢量
    vj = exp(-j*pi*n*sin(thetaJamming/180*pi)); %信号方向矢量
    
    fd = 120; %载波频率
    fs = 8*fd; %采样频率
    t = [0:1:L-1]/fs;
    snr = 10; %信噪比
    inr = 40; %干噪比
    xs = sqrt(10^(snr/10))*exp(j*2*pi*fd*t); %构造有用信号
    xj = sqrt(10^(inr/10)/2)*[randn(length(thetaJamming),L)+j*randn(length(thetaJamming),L)]; 
                                                                  %构造干扰信号
    noise = [randn(M,L)+j*randn(M,L)]/sqrt(2);                    %噪声
    A = [vs vj]; %阵列流形矩阵
    St = [xs;xj]; %输入信号向量
    X = A*St + noise; %矩阵形式,含噪声信号
    R = X*X'/L; %构造协方差矩阵
    wop1 = inv(R)*vs/(vs'*inv(R)*vs); %自适应波束形成权重
    sita = 90*[-1:0.001:1]; %扫描方向范围
    v = exp(-j*pi*n*sin(sita/180*pi)); %扫描方向矢量
    B = abs(wop1'*v); %自适应波束形成方向图
    C = abs(vs'*v); %普通波束形成方向图
    figure;
    plot(sita,20*log10(B/max(B)),'r');
    hold on;
    plot(sita,20*log10(C/max(C)),'b--');
    title('波束图');
    xlabel('角度/degree');
    ylabel('波束图/dB');
    grid on; 
    axis([-100 100 -50 0]);
    legend('LCMV准则','常规波束形成');
    hold off;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42

    可以看到,在-20°和20°分别形成了零陷。
    在这里插入图片描述

  • 相关阅读:
    linux配置静态ip ip和网关不在同一个网段
    阿四的情绪波动
    C++学习——内联函数详解
    如何提取视频中的音频转为mp3
    UnityShader入门精要——PBS基于物理的渲染
    可以说:未来10年这个行业依然值得进,天花板很高,月薪至少3W
    DateUtil工具类记录
    插画、插图网站,免费(商用)
    11.4-GPT4AllTools版本已开始对小部分GPT3.5用户内测推送
    【Python 4】列表与元组slice切片 迭代 列表生成式 生成器generator 迭代器Iterator对象
  • 原文地址:https://blog.csdn.net/wzz110011/article/details/133322147