当前位置: 首页 > news >正文

确知波束形成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));

确知波束形成

确知波束形成就是通过对各阵元接收到的信号进行加权求和的方式,使的波束指向一个确定的方向,经过波束形成之后,阵列接收的信号就由一个矩阵变为了一个向量,此时只是一个信号。假设来波方向为 θ \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 == 1figure;%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

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

参数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. 功率方向图

相关文章:

确知波束形成matlab仿真

阵列信号处理中的导向矢量 假设一均匀线性阵列&#xff0c;有N个阵元组成&#xff0c;满足&#xff1a;远场、窄带假设。 图1. 均匀线性阵模型 假设信源发射信号&#xff0c;来波方向为 θ \theta θ&#xff0c;第一个阵元接收到的信号为 x ( t ) x(t) x(t)&#xff0c;则第…...

并发编程相关面试题

线程基础 线程和进程的区别&#xff1a; ----------------------------------------------------------------------- 创建线程的方式&#xff1a; 1 继承Thread类 2 实现runnable接口 3 实现callable 接口&#xff08;有返回值的&#xff09; 4 线程池创建线程 ------…...

Cpp/Qt-day050921Qt

目录 实现使用数据库的登录注册功能 头文件&#xff1a; registrwidget.h: widget.h: 源文件&#xff1a; registrwidget.c: widget.h: 效果图&#xff1a; 思维导图 实现使用数据库的登录注册功能 头文件&#xff1a; registrwidget.h: #ifndef REGISTRWIDGET_H #de…...

视频汇聚/视频云存储/视频监控管理平台EasyCVR分发rtsp流起播慢优化步骤详解

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快&#xff0c;可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等&#xff0c;以及支持厂家私有协议与SDK接入&#xff0c;包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安…...

ElementUI之登陆+注册->饿了吗完成用户登录界面搭建,axios之get请求,axios之post请求,跨域,注册界面

饿了吗完成用户注册登录界面搭建axios之get请求axios之post请求跨域 1.饿了吗完成用户注册登录界面搭建 将端口号8080改为8081 导入依赖&#xff0c;在项目根目录使用命令npm install element-ui -S&#xff0c;添加Element-UI模块 -g&#xff1a;将依赖下载node_glodal全局依…...

2023华为杯研究生数学建模研赛E题出血脑卒中完整论文(含28个详细预处理数据及结果表格)

大家好呀&#xff0c;从发布赛题一直到现在&#xff0c;总算完成了全国研究生数学建模竞赛&#xff08;数模研赛&#xff09;E题完整的成品论文。 本论文可以保证原创&#xff0c;保证高质量。绝不是随便引用一大堆模型和代码复制粘贴进来完全没有应用糊弄人的垃圾半成品论文。…...

Java中的继承是什么?

在Java中&#xff0c;继承是一种面向对象编程的概念&#xff0c;它允许一个类&#xff08;称为子类或派生类&#xff09;继承另一个类&#xff08;称为父类或基类&#xff09;的属性和方法。通过继承&#xff0c;子类可以获得父类的属性和方法&#xff0c;并且可以添加自己的特…...

Python - flask后端开发笔记

​ Flask入门 有一篇很全面的博客可以参考&#xff1a;Python Flask Web 框架入门 跨域问题处理 from flask_cors import CORS CORS(app,supports_credentialsTrue,origins[url], # 前端url列表 ) 文件发送 from flask import send_from_directory app.route(/download) …...

Flutter实现PS钢笔工具,实现高精度抠图的效果。

演示&#xff1a; 代码&#xff1a; import dart:ui;import package:flutter/material.dart hide Image; import package:flutter/services.dart; import package:flutter_screenutil/flutter_screenutil.dart; import package:kq_flutter_widgets/widgets/animate/stack.dart…...

苏宁滑块验证

网址&#xff1a;https://passport.suning.com/ids/login总结一下&#xff0c;别被他的表面现象给骗了&#xff0c;这玩意儿&#xff0c;个人认为&#xff0c;腾讯的都没法跟他比&#xff01;&#xff01;&#xff01; 难点&#xff1a;动态混淆&#xff0c;vmp&#xff0c;图片…...

c语言。。。

gcc thread.c -lpthread -o app -fexec-charsetgbkthread.c为当前目录下编写的c代码 代码中引入了<pthread.h>线程库&#xff0c;所以要加上-lpthread -o app 输出.exe的c可执行文件&#xff0c;文件名为app -fexec-charsetgbk 设置编码方式&#xff0c;防止控制台输出中…...

vue-cli创建项目、vue项目目录结(运行vue项目)、ES6导入导出语法、vue项目编写规范

vue-cli创建项目、vue项目目录结构、 ES6导入导出语法、vue项目编写规范 1 vue-cli创建项目 1.1 vue-cli 命令行创建项目 1.2 使用vue-cli-ui创建 2 vue项目目录结构 2.1 运行vue项目 2.2 vue项目的目录结构 3 es6导入导出语法 4 vue项目编写规范 4.1 修改项目 4.2 以后…...

QT读取DLL加载算法

有这样一个场景&#xff0c;我有一个GUI软件&#xff0c;把他想象成PS软件&#xff0c;集成了很多工具。现在我要添加新算法(PS工具)&#xff0c;该怎么办&#xff1f; 有三种办法&#xff1a; 第一种我把新算法代码加到项目中&#xff0c;编译整个项目。 第二种&#xff0c;新…...

HTTPX-用于Python的下一代HTTP客户端

1、前言 在使用 Python 进行接口自动化时&#xff0c;大多数都会使用 requests 模块&#xff0c;requests 是一个常用的 HTTP 请求库&#xff0c;可以方便地向网站发送 HTTP 请求&#xff0c;并获取响应结果。 本篇将介绍 Python 的下一代 HTTP 客户端 - HTTPX 2、简介 HTT…...

[LLM+AIGC] 01.应用篇之中文ChatGPT初探及利用ChatGPT润色论文对比浅析(文心一言 | 讯飞星火)

近年来&#xff0c;人工智能技术火热发展&#xff0c;尤其是OpenAI在2022年11月30日发布ChatGPT聊天机器人程序&#xff0c;其使用了Transformer神经网络架构&#xff08;GPT-3.5&#xff09;&#xff0c;能够基于在预训练阶段所见的模式、统计规律和知识来生成回答&#xff0c…...

OCR -- 文本检测

目标检测&#xff1a; 不仅要解决定位问题&#xff0c;还要解决目标分类问题&#xff0c;给定图像或者视频&#xff0c;找出目标的位置&#xff08;box&#xff09;&#xff0c;并给出目标的类别&#xff1b; 文本检测&#xff1a; 给定输入图像或者视频&#xff0c;找出文本的…...

【系统架构】软件可靠性基础知识

导读&#xff1a;本文整理关于软件可靠性基础知识构建系统架构知识体系。完整和扎实的系统架构知识体系是作为架构设计的理论支撑&#xff0c;基于大量项目实践经验基础上&#xff0c;不断加深理论体系的理解&#xff0c;从而能够创造新解决系统相关问题。 目录 1、软件可靠性…...

相机Camera

Camera需与SurfaceView配合使用 Camera类常用方法&#xff1a; Camera.open() 创建Camera实例&#xff0c;打开相机 getParameters() 获取相机参数 release() 释放相机资源 setParameters(Camera.Parameters parameters) 设置相机参数 setPreviewDisplay(SurfaceHolder holde…...

洛谷P8815:逻辑表达式 ← CSP-J 2022 复赛第3题

【题目来源】https://www.luogu.com.cn/problem/P8815https://www.acwing.com/problem/content/4733/【题目描述】 逻辑表达式是计算机科学中的重要概念和工具&#xff0c;包含逻辑值、逻辑运算、逻辑运算优先级等内容。 在一个逻辑表达式中&#xff0c;元素的值只有两种可能&a…...

ElementUI实现登录注册+axios全局配置+CORS跨域

一、搭建项目 1.1 安装 Element-UI 先确保是否安装了vue-cli脚手架工具 !!! 安装vue脚手架可以看看我的上一篇博客 构建好项目后通过npm安装element-ui cd 项目根路径 #进入新建项目的根目录 npm install element-ui -S #安装…...

Go语言实现CI/CD流水线:从GitHub Actions到Argo CD的完整指南

Go语言实现CI/CD流水线&#xff1a;从GitHub Actions到Argo CD的完整指南 引言 CI/CD是现代软件开发的核心实践&#xff0c;Go语言项目可以通过各种CI/CD工具实现自动化构建、测试和部署。本文将深入探讨Go语言项目的CI/CD流水线实现&#xff0c;涵盖GitHub Actions、GitLab CI…...

CANN/asc-devkit协作组shfl函数

shfl 【免费下载链接】asc-devkit 本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言&#xff0c;原生支持C和C标准规范&#xff0c;主要由类库和语言扩展层构成&#xff0c;提供多层级API&#xff0c;满足多维场景算子开发诉求。 项目地址: https://gitcode.com/cann/…...

华为、华三、思科、锐捷网络设备远程登录配置

目录 一、华为Stelnet登录配置 二、华三Stelent登录配置 三、思科SSH登录配置 四、锐捷SSH登录配置 一、华为Stelnet登录配置 #查看SSH状态# [Server]dis ssh server status SSH Version : 2.0 SSH authentication timeout (Seconds) : 60 SSH authentication retries …...

ZYNQ平台SGMII光口实战:从Vivado连线、设备树到静态IP设置的完整避坑指南

ZYNQ平台SGMII光口实战&#xff1a;从Vivado连线到静态IP部署的全流程解析 在嵌入式系统开发中&#xff0c;以太网通信的稳定实现往往是项目成功的关键。对于采用Xilinx ZYNQ系列FPGA的开发者而言&#xff0c;SGMII&#xff08;Serial Gigabit Media Independent Interface&…...

今天开课!相关性≠因果,因果推断与机器学习训练营,10天带你写出能“下结论”的论文!

为什么有些人服药后康复&#xff0c;而另一些人却毫无改善&#xff1f;为什么大学学位能改变收入水平&#xff1f;这些如果……会怎样的问题&#xff0c;其实都属于因果推断的范畴。在医疗研究中&#xff0c;许多问题都涉及因果概念&#xff0c;因此因果推断在健康研究领域越来…...

SystemVerilog测试套件从IP到SoC的重用:架构设计与工程实践

1. 项目概述&#xff1a;从IP到SoC的验证鸿沟在芯片设计行业里摸爬滚打十几年&#xff0c;我见过太多团队在项目后期被验证工作拖得焦头烂额。一个典型的场景是&#xff1a;某个IP&#xff08;知识产权核&#xff0c;比如一个USB控制器或一个DDR内存控制器&#xff09;在独立验…...

小白程序员必备:从零基础到大模型实战,这份学习路线图请收藏!

本文结合530名开发者的经验&#xff0c;为AI初学者提供从零基础到项目实战的完整学习路线。核心内容包括&#xff1a;Python编程、数学基础、机器学习、深度学习框架&#xff08;PyTorch&#xff09;、科学计算库&#xff08;NumPy&#xff09;等关键技能&#xff0c;并避开了常…...

JeecgBoot 低代码平台:协同工作与 Flowable 流程审批,如何选?

JeecgBoot 低代码平台两模块引困惑很多团队在接入 JeecgBoot 低代码平台后&#xff0c;面对 "协同工作" 和 "Flowable 流程审批" 两个模块时常常陷入困惑&#xff1a;两个都是处理审批流程的&#xff0c;到底用哪个&#xff1f;能混着用吗&#xff1f;设计…...

别让中文路径坑了你!FaceFusion在Windows和Mac上的完整环境配置与文件规范指南

别让中文路径坑了你&#xff01;FaceFusion在Windows和Mac上的完整环境配置与文件规范指南 在数字创意领域&#xff0c;FaceFusion作为一款强大的AI换脸工具&#xff0c;正受到越来越多内容创作者的青睐。然而&#xff0c;许多用户在初次接触时往往会被一系列看似莫名其妙的错误…...

RT-Thread软定时器漂移问题深度解析与实战优化

1. 项目概述&#xff1a;从一次线上告警说起那天下午&#xff0c;系统监控平台突然弹出一连串的告警&#xff0c;核心业务模块的周期性任务执行间隔出现了肉眼可见的抖动&#xff0c;从预期的100毫秒&#xff0c;漂移到了130毫秒甚至更长。排查了一圈硬件、中断和任务调度&…...