第二节:传感器阵列:空间采样

此部分的原理描述采用引用一段原文

In general, we can think of a sensor array as a mechanism for spatially sampling wavefronts propagating at a certain operating (carrier) frequency. Since in most instances the user either controls or has knowledge of the operating frequency, the sensor array provides a reliable means of interrogating the incoming wavefront for information. Similar to temporal sampling, the sensor array provides discrete (spatially sampled) data that can be used without loss of information, provided certain conditions are met. Namely, the sampling frequency must be high enough so as not to create spatial ambiguities or, in other words, to avoid spatial aliasing. The advantages of discrete-time processing and digital filtering have been well documented (Oppenheim and Schafer 1989; Proakis and Manolakis 1996). In the case of the spatial processing of signals, spatial sampling using an array provides the capability to change the characteristics of a discrete spatial filter, which is not possible for a continuous spatial aperture.

我们可以用传感器阵列来实现空间采样,通常,我们往往能够知道或者控制载波的频率。与时间采样定理类似,只要当我们的采样频率达到某个临界条件的时候,我们的采样后的信号就可以无失真的恢复出原信号,在这里表述为采样信号可以包含空间中传播的平面波的全部信息。但是,只有当采样频率足够高,才不会引起空间模糊,即存在信息的丢失。在电子信息技术盛行的今天,离散信号的处理速度与数字滤波的优点已经得到了充分体现。
从远场传播来的平面波到达ULA的示意图如下所示:

此处我们直接给出空间采样定理,而不对其进行推导。其详细的推导过程可参考Statistical and Adaptive Signal Processing_Page_629
对于一个任意的阵列在多维空间中沿着不均匀的网格进行采样,没有规律可循,故很难拿来与时间采样定理进行对比学习。为了方便理解,我们在此处仅考虑ULA,且其相邻阵元的距离为d。
对于ULA而言我们可以定义空间采样频率Us

在这里,空间采样频率由阵元间隔决定。由于对ULA而言,窄带信号的测量相当于是相位沿着传感器向前移动,具体的移动情况与信号到达的角度有关。对于一般的信号而言,均匀采样的相位移动可以通过高斯公式化为频率的产物。同一信号相邻阵元的采样的 差别仅为一个exp(j×-2×pi×F),此处的F为信号的频率。故在空间信号的传播中,此频率可以用如下公式来表示:

它也可以当做空间频率,但是为了方便计算与表述,课本中还定义了归一化的空间频率:

在得到了归一化的空间频率以后,我们直接给出空间采样定理:与离散时间采样的Shanon定理类似,为避免重叠而对空间采样频率有一定的要求,此要求是相对于归一化频率而言的:

在第一节介绍过,阵列的加权矢量的阵列最重要的特征,它决定了阵列是通过何种方式来对信号进行处理的。在定义了归一化频率以后,阵列的响应矢量可改写成
式中的phi从-90变化到90度,再令其与加权矢量做乘积即可得到普通的波束形成模型。
而当阵列在phi=phi_s处的阵列响应矢量等于阵列的加权矢量c的时候,此时的空间阵列模型我们称为空间匹配滤波器。因为阵列的加权矢量与从角度phi_s到来的信号相匹配。
波束形成的示意图如下所示:

这是作为一种简单,也是最常见的波束形成模型加权,此处采用的是均匀加权,加权幅值为阵元数目M的函数。波束形成的输出可以用如下公式表示:

在上面公式中是否采用矩阵的共轭转置来参与乘法主要为了满足矩阵乘法的维度,与自己在代码中的阵列响应矢量的形成有关。
下面我们通过一个例子来观察波束形成。
条件:阵元数目为M=16,归一化频率取0.5,阵列被定向到phi_s=0的响应。

code:
clc
clear
M=16;
spacing=0.5;
phi_s=0;
phi=-90:0.2:90;
c_bf=exp(-1i2pispacing[0:M-1]'sin(phi_spi/180))/sqrt(M);
v=exp(-1i2pispacing[0:M-1]'sin(phipi/180))/sqrt(M);
y=c_bf’v;
figure
plot(phi,20
log10(abs(y)),‘r’,‘linewidth’,2.5);
axis([-90 90,-50 5]);
xlabel(‘Angle (deg)’,‘fontweight’,‘bold’,‘fontsize’,20);
ylabel(‘power response(dB)’) ;
grid on;
hold on

运行结果:

简要分析该波束模式:大的主瓣位于角度为0的位置,且幅值为0,证明波束模式对于从角度0到达的信号不会产生衰减,但我们应该注意到,这个主瓣的宽度是有限的,一旦到达角的误差超出了主瓣范围,进入旁瓣范围的话,其信号幅度会出现不同程度的衰减。

阵处理与波束形成学习心得(二)相关推荐

  1. STM32学习心得二十一:实时时钟RTC和备份寄存器BKP特征、原理及相关实验代码解读

    记录一下,方便以后翻阅~ 主要内容 1) RTC特征与原理: 2) BKP备份寄存器特征与原理: 3) RTC常用寄存器+库函数介绍: 4) 相关实验代码解读. 实验内容: 因为没有买LCD屏,所以计 ...

  2. BT源代码学习心得(二):程序运行参数的获取 -- 转贴自 wolfenstein (NeverSayNever)

    BT源代码学习心得(二):程序运行参数的获取 发信人: wolfenstein (NeverSayNever), 个人文集 标  题: BT源代码学习心得(二):程序运行参数的获取 发信站: 水木社区 ...

  3. STM32学习心得二十六:DAC数模转换实验

    记录一下,方便以后翻阅~ 主要内容: 1) DAC数模转换原理: 2) 寄存器和库函数介绍: 3) 相关实验代码解读. 实验功能:系统启动后,按WK_UP键,输出电压加200点,对应电压值200*3. ...

  4. STM32学习心得二十四:内部温度传感器原理及实验

    记录一下,方便以后翻阅~ 主要内容: 1) STM32内部温度传感器概述: 2) 相关实验代码解读. 实验功能:系统启动后,实时将内部温度传感器的值传至串口助手上. 官方资料:<STM32中文参 ...

  5. Internet路由结构学习心得二:通告汇聚和具体路由影响AS入流量

    如图所示.你是R1.R2.R3所在的AS 123的网管,R3所在的子公司需要大量对AS 5中的R5所在ISP进行访问,因此在它们之间连接了一条网段为36.0.0.0/24的网段.要求:除了R3与R5之 ...

  6. 2020春季学期哈工大软件构造学习心得二

    前言 上一章主要讲了软件构造的结果形态以及如何是一个"好"的软件 这一章主要学习软件开发遵循着一个什么样的过程 - 软件生命周期与配置管理 From 0 to 1,from 1 t ...

  7. 《深入理解计算机系统》学习心得二:关于show-bytes的 学习

    此段代码,使用强制类型转换来访问和打印不同程序对象的字节表示.show-bytes打印出每个以十六进制表示的字节. /* show-bytes - prints byte representation ...

  8. Python学习心得(二) 字典Dictionary

    前言 . 在Python中字典就是一系列的键值对,一种可变容器,可以存储任意对象,也被称作关联数组或哈希表. 1.基本语法    用一对花括号{}中的一系列键值对表示,键与值之间用冒号分隔,键值对之间 ...

  9. 学生信息系统学习心得二、创建公用模块

    公共模块用于存放整个工程项目公用的函数/全局变量等.整个工程项目中的任何地方都可以调用公用模块中的函数和变量,这样可以极大地提高代码的效率. 下面是我对学生系统公用模块中添加的各数据理解. 1.添加函 ...

  10. 医用计算机基础学习心得,计算机基础学习心得.doc

    计算机基础学习心得 计算机基础学习心得一:计算机基础学习心得 当今社会,到处充满机会与挑战.知识是我们面对这一切的筹码,而计算机知识则更为重要.如何在本科函授这样一种形式下,学好计算机课程,这是摆在我 ...

最新文章

  1. 24点c语言程序,C语言解24点游戏程序
  2. 五大风口产业全景手绘图(新能源汽车、人工智能等)
  3. Xamarin.Android提示找不到mono.Android.Support.v4
  4. python导入csv文件-Python读写文件(csv、txt、excel)
  5. Go进阶(1): Golang + Goland 研究Redis的基本操作与函数接口
  6. 【Unity3D与23种设计模式】模板方法模式(Template Method)
  7. 安卓车机root改流浪地球_教你王者荣耀改战区
  8. phpcmsV9上传文件类型的设置
  9. 后台拿webshell的方法总结
  10. ASP.NET MVC 4 中Jquery上传插件Uploadify简单使用-版本:3.2.1
  11. Matplotlib库介绍
  12. 找到数据库中最大数据量的表
  13. 用计算机测试生日,超准生日爱情配对测试
  14. 华为项目管理法读书笔记
  15. CQHMI品牌NR系列HMI人机界面在纺织机械设备行业中的应用
  16. Netflix创始人:我不要求996,照样市值万亿!
  17. 用Akka Http写一个web应用
  18. 云管平台 — vRealize Suite
  19. c语言程序代码应缩进几格,汉诺塔c语言程序代码
  20. 【103期分享】4款小清新PPT模板免费下载

热门文章

  1. 虚拟机更改ip失败及没有虚拟网卡
  2. OnlyOffice在线部署
  3. 微信小程序:老人疯狂裂变引流视频推广微信小程序
  4. 临床试验数据管理系统
  5. CAD二次开发 .net错误整理
  6. markdown语法简单而全面,带有源码和图片(10mins内看完)
  7. 给华南x99打鸡血BIOS教程
  8. 微信小程序如何测试?
  9. bme java_为什么bme280.startreadout()只触发一次?
  10. 什么是探索性测试?探索性测试有哪些方法?