• 确知波束形成matlab仿真


    阵列信号处理中的导向矢量

    假设一均匀线性阵列,有N个阵元组成,满足:远场、窄带假设。
    在这里插入图片描述

    图1. 均匀线性阵模型

    假设信源发射信号,来波方向为 θ \theta θ,第一个阵元接收到的信号为 x ( t ) x(t) x(t),则第 n n n个阵元接收的信号可以表示为 X = x ( t ) e j 2 π ∗ ( n − 1 ) d s i n θ λ X=x(t)e^{j2\pi*(n-1)\frac{dsin\theta}{\lambda}} X=x(t)ej2π(n1)λdsinθ,可以得到阵列对信号的响应,即导向矢量(steering vector):
    a ( θ ) = [ 1 , e j 2 π ∗ d s i n θ λ , e j 2 π ∗ 2 ∗ d s i n θ λ , . . . , e j 2 π ∗ ( N − 1 ) ∗ d s i n θ λ ] T a(\theta)=[1,e^{j2\pi*\frac{dsin\theta}{\lambda}},e^{j2\pi*2*\frac{dsin\theta}{\lambda}},...,e^{j2\pi*(N-1)*\frac{dsin\theta}{\lambda}}]^T a(θ)=[1,ej2πλdsinθ,ej2π2λdsinθ,...,ej2π(N1)λdsinθ]T
    那么阵列输出为: y = a ( θ ) x ( t ) y=a(\theta)x(t) y=a(θ)x(t)
    matlab中可以一行代码来实现:

    % Input : 
    %   * N: 阵元数
    %   * theta:来波方向
    %   * dLembda:阵元间距与波长的比值,通常为1/2
    % Output : 
    %    * aTheta:导向矢量,列向量
    aTheta = exp(1i*2*pi*dLembda*[0:N-1]'*sin(theta/180*pi));
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    确知波束形成

    确知波束形成就是通过对各阵元接收到的信号进行加权求和的方式,使的波束指向一个确定的方向,经过波束形成之后,阵列接收的信号就由一个矩阵变为了一个向量,此时只是一个信号。假设来波方向为 θ \theta θ,确知波束形成的权重,就是导向矢量的埃尔米特转置,即共轭转置:
    W = a ( θ ) H = [ 1 , e − j 2 π ∗ d s i n θ λ , e − j 2 π ∗ 2 ∗ d s i n θ λ , . . . , e − j 2 π ∗ ( N − 1 ) ∗ d s i n θ λ ] W=a(\theta)^{H}=[1,e^{-j2\pi*\frac{dsin\theta}{\lambda}},e^{-j2\pi*2*\frac{dsin\theta}{\lambda}},...,e^{-j2\pi*(N-1)*\frac{dsin\theta}{\lambda}}] W=a(θ)H=[1,ej2πλdsinθ,ej2π2λdsinθ,...,ej2π(N1)λdsinθ]
    波束形成之后,输出信号为:
    y = W X = W a ( θ ) x ( t ) y=WX=Wa(\theta)x(t) y=WX=Wa(θ)x(t)
    静态波束形成其实就是空间滤波,它对指定方向上的信号进行加强和选择性通过,而对其他方向的来波信号进行抑制,例如有一个信源发出信号为 x 1 ( t ) x_1(t) x1(t)的波达方向为 θ 1 = 1 0 ∘ \theta_1=10^{\circ} θ1=10,而波束指向 θ 2 = 2 0 ∘ \theta_2=20^{\circ} θ2=20,此时
    导向矢量(steering vector):
    a ( θ 1 ) = [ 1 , e j 2 π ∗ d s i n θ 1 λ , e j 2 π ∗ 2 ∗ d s i n θ 1 λ , . . . , e j 2 π ∗ ( N − 1 ) ∗ d s i n θ 1 λ ] T a(\theta_1)=[1,e^{j2\pi*\frac{dsin\theta_1}{\lambda}},e^{j2\pi*2*\frac{dsin\theta_1}{\lambda}},...,e^{j2\pi*(N-1)*\frac{dsin\theta_1}{\lambda}}]^T a(θ1)=[1,ej2πλdsinθ1,ej2π2λdsinθ1,...,ej2π(N1)λdsinθ1]T
    那么阵列输出为: y = a ( θ 1 ) x 1 ( t ) y_=a(\theta_1)x_1(t) y=a(θ1)x1(t)
    指向 2 0 ∘ 20^{\circ} 20确知波束对阵元的加权的权重为:
    W = a ( θ 2 ) H = [ 1 , e − j 2 π ∗ d s i n θ 2 λ , e − j 2 π ∗ 2 ∗ d s i n θ 2 λ , . . . , e − j 2 π ∗ ( N − 1 ) ∗ d s i n θ 2 λ ] W=a(\theta_2)^{H}=[1,e^{-j2\pi*\frac{dsin\theta_2}{\lambda}},e^{-j2\pi*2*\frac{dsin\theta_2}{\lambda}},...,e^{-j2\pi*(N-1)*\frac{dsin\theta_2}{\lambda}}] W=a(θ2)H=[1,ej2πλdsinθ2,ej2π2λdsinθ2,...,ej2π(N1)λdsinθ2]
    波束形成之后,输出信号为:
    y = W X = W a ( θ 1 ) x 1 ( t ) = ( a ( θ 2 ) ) T a ( θ 1 ) x 1 ( t ) = ( 1 ∗ 1 + e j ∗ 2 π d λ ( s i n θ 1 − s i n θ 2 ) + e j ∗ 2 π ∗ 2 ∗ d λ ( s i n θ 1 − s i n θ 2 ) + . . . + e j ∗ 2 π ∗ ( N − 1 ) ∗ d λ ( s i n θ 1 − s i n θ 2 ) ) x 1 ( t ) y=WX=Wa(\theta_1)x_1(t)=(a(\theta_2))^Ta(\theta_1)x_1(t)=(1*1+e^{j*2\pi \frac{d}{\lambda}(sin\theta_1-sin\theta_2)}+e^{j*2\pi *2* \frac{d}{\lambda}(sin\theta_1-sin\theta_2)}+...+e^{j*2\pi *(N-1)* \frac{d}{\lambda}(sin\theta_1-sin\theta_2)})x_1(t) y=WX=Wa(θ1)x1(t)=(a(θ2))Ta(θ1)x1(t)=(11+ej2πλd(sinθ1sinθ2)+ej2π2λd(sinθ1sinθ2)+...+ej2π(N1)λd(sinθ1sinθ2))x1(t)
    我们对其中的权重取绝对值进行分析,因为 θ 1 ≠ θ 2 \theta_1 \neq \theta_2 θ1=θ2 ,所以每一项进行加权后的绝对值都小于1,而只有第一项等于1:
    ∣ e j ∗ 2 π d λ ∗ n ∗ ( s i n θ 1 − s i n θ 2 ) ∣ < 1 , n = 2 , 3 , . . . , N − 1 |e^{j*2\pi \frac{d}{\lambda}*n*(sin\theta_1-sin\theta_2)}|<1,n=2,3,...,N-1 ej2πλdn(sinθ1sinθ2)<1,n=2,3,...,N1
    但是当波束指向方向与来波方向重合的时候,即 θ 1 = θ 2 = 2 0 ∘ \theta_1=\theta_2=20^{\circ} θ1=θ2=20的时候
    y = W X = W a ( θ 1 ) x 1 ( t ) = ( a ( θ 2 ) ) T a ( θ 1 ) x 1 ( t ) = ( 1 + 1 + . . . + 1 ) x 1 ( t ) = N x 1 ( t ) y=WX=Wa(\theta_1)x_1(t)=(a(\theta_2))^Ta(\theta_1)x_1(t)=(1+1+...+1)x_1(t)=Nx_1(t) y=WX=Wa(θ1)x1(t)=(a(θ2))Ta(θ1)x1(t)=(1+1+...+1)x1(t)=Nx1(t)
    其中 N N N为阵元个数,即信号 x 1 ( t ) x_1(t) x1(t)被增强 N N N倍。

    阵列方向图

    我们可以通过仿真,绘制方向图,来直观展示阵列的空间滤波响应,方向图定义为阵列输入为平面波的时候,阵列输出(通常只是考虑输出幅度或者功率与平面波入射角的关系)。一维线阵在阵列基线上的幅度方向图为:
    G ( θ ) = ∣ W H a ( θ ) ∣ G(\theta)=|W^Ha(\theta)| G(θ)=WHa(θ)
    功率方向图为:
    G ( θ ) = ∣ W H a ( θ ) ∣ 2 G(\theta)=|W^Ha(\theta)|^2 G(θ)=WHa(θ)2
    不管是幅度方向图还是功率方向图,都和阵列的权矢量有关,在工程中,分贝形式的方向图更为普遍,幅度方向图和功率方向图的分贝形式分别为:
    G ( θ ) = 10 l g ∣ W H a ( θ ) ∣ G(\theta)=10lg|W^Ha(\theta)| G(θ)=10lgWHa(θ)
    功率方向图为:
    G ( θ ) = 20 l g ∣ ∣ W H a ( θ ) ∣ 2 G(\theta)=20lg||W^Ha(\theta)|^2 G(θ)=20lg∣∣WHa(θ)2

    阵列方向图仿真

    下面采用matlab仿真,绘制方向图,编写的方向图自定义函数

    function Gtheta = DBF(elementNum,observaTheta,pointTheta,dLmbda,plotEnableHigh)
    % 该函数用于产生方向图
    %  Author:huasir 2023.9.24 @Beijing
    % Input : 
    %   * elementNum: 阵元数
    %   * observaTheta:观测角度范围,例如[-90:0.1:90]
    %   * theta:来波方向
    %   * dLembda:阵元间距与波长的比值,通常为1/2
    % Output : 
    %    * GTheta:方向图
    N = elementNum; %阵元数
    theta = observaTheta; %观测角度范围
    theta0 = pointTheta; %波形形成的方向
    theta0 = theta0*pi/180;
    theta = theta*pi/180;
    d_lembda = dLmbda; %阵元间距比波长
    a = exp(j*2*pi*d_lembda*(0:N-1)'*sin(theta)); %导向矢量
    w = exp(j*2*pi*d_lembda*(0:N-1)'*sin(theta0)); %加权权向量
    y = abs(w'*a);
    %win = taylorwin(N); % 泰勒窗
    %win = chebwin(N,30); %切比雪夫窗,抑制旁瓣
    % ww = w.*win; %加窗操作
    % y1 = abs(ww'*a); %加窗后的方向图
    if plotEnableHigh == 1
        figure;
        %plot(theta*180/pi,20*log10(y/max(y)),'--',theta*180/pi,20*log10(y1/max(y1)),'-');
        plot(theta*180/pi,20*log10(y/max(y)),'linewidth',1);
        xlabel('方位角/°');ylabel('归一化功率方向图/dB');
        axis tight;% axistight 使得图形框图靠近数据
        grid on; %添加栅格线
        ylim([-40, 0]); % 为了限制y值范围,使得图像显示的更加合理
        title(sprintf('阵元数:%d,波束方向:%.0f°',N,pointTheta))
    end
    Gtheta = y; %返回方向图
    end
    
    • 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

    在主函数中进行调用,主要参数如下:

    参数Value
    阵元8
    波束方向10°
    阵元间距 1 / 2 λ 1/2\lambda 1/2λ

    主函数中进行调用:

    close all; clear all; clc;
    Gtheta = DBF(8,(-90:0.1:90),10,1/2,1);
    
    • 1
    • 2

    绘制的方向图如下:
    在这里插入图片描述

    图1. 功率方向图
  • 相关阅读:
    通配符ssl证书的作用有哪些?为什么通配符ssl证书如此受欢迎?
    sqlite3 dbconfig说明
    OutOfMemoryError异常
    简易放大镜实现原理
    【软考软件评测师】软件测试基础知识
    项目实战第三十四讲:标准中心-SPU体系
    Power BI 矩阵总计放表第一列
    7.2 通过API创建新进程
    损失函数(Loss Function)与代价函数(Cost Function)、目标函数(Objective Function)区别
    Google protobuf使用技巧和经验总结
  • 原文地址:https://blog.csdn.net/wzz110011/article/details/133246812