对Beamforming中Steering Vector的理解

在学习波束成形的过程中,对于Steering Vector一直没有一个明确的概念,今天进行一些总结,供以后参考。

首先,我们从matlab给出的Steering Vector文档开始入门,入门链接:

参考地址:https://ww2.mathworks.cn/help/phased/ref/steervec.html?s_tid=srchtitle

elementPos = (0:.1:.4);
c = physconst('LightSpeed');
fc = 1e9;
lam = c/fc;
ang = [45;0];
sv = steervec(elementPos/lam,ang)

下面进行详细的分析:给出的环境设置很简单,天线元素的位置为[0,0.1,0.2,0.3,0.4],入射平面波频率为1GHz,到达角度为方位角45度和仰角0度。最终得到的Steering Vector使用steervec函数给出。最终的到的结果为:

sv = 5×1 complex1.0000 + 0.0000i0.0887 + 0.9961i-0.9843 + 0.1767i-0.2633 - 0.9647i0.9376 - 0.3478i

那么整个的计算过程是什么样的呢?首先,我们可以借助一张图来理解,图来源于B站,链接如下:

https://www.bilibili.com/video/BV1kb411K7r9 很好的一篇科普视频,英语无字幕。


从图中我们可以看出,平面波到达不同的天线是存在时延的,在上图中,平面波到达右边的天线没有时延,那么可以根据平面波的入射方向进行作图,那么 d s i n ( θ ) dsin(\theta) dsin(θ)代表到达的时延“长度“,由于入射平面波以光速前进,那么可以得到时延差为 τ \tau τ,那么这期间的相位差呢?

此时需要计算时延差相对于入射平面波的周期,即 τ ∗ f \tau*f τ∗f,此时可以得到延时的弧度,需要的话再计算成角度即可。

此时得到弧度之后,基本可以完成计算了,最后一步即使用欧拉公式 e i x = cos ⁡ x + i sin ⁡ x e^{ix}=\cos x+i\sin x eix=cosx+isinx,将角度带入即可,注意此时的模值均为1。

使用相同的步骤,即可重新计算matlab中的示例。

以上的内容是针对天线的,那么可以进一步考虑,假设接收端收到了来自天线1和天线2的信号为 r 1 ( t ) r_1(t) r1​(t)和 r 2 ( t ) r_2(t) r2​(t),两个天线发送相同的信号,但是与接收端的距离不同,假设天线1与天线2的到达信号之间存在时延 τ \tau τ

对Steering Vector的一点理解相关推荐

  1. 谈谈对APC的一点理解

    谈谈对APC的一点理解 异步过程调用(APCs) 是NT异步处理体系结构中的一个基础部分,理解了它,对于了解NT怎样操作和执行几个核心的系统操作很有帮助. 1) APCs允许用户程序和系统元件在一个进 ...

  2. python 3列表推导式的的一点理解!

    python 3列表推导式的的一点理解! Python的列表推导式对于新手来说一般都难以理解,简单看个例子: [x * x for x in range(1,100)] 上面是一个很简单的列表推导式, ...

  3. TSYS2.0对动态碎片的一点理解

    最近好多人对tsys很感兴趣,其实大家不知道的是tsys的asp版本早就已经停止开发了,为了不想让如此优秀的东西被埋没所以我在tsys的asp版 本的基础上使用PHP重新开发了一个功能更强的cms,名 ...

  4. 对事件循环的一点理解

    最近工作需要学习了解webworker-threads以应对Javascript多线程处理CPU密集型的可能性:参考文档JavaScript多线程之二 Node.js中的Web Worker; 以下是 ...

  5. Hyperledger Fabric 网络环境的一点理解

    Hyperledger Fabric 开发链码,一般都是测试网络开发,然后部署到生产网络. 下面介绍测试网络.生产网络的一点理解. 1 测试网络 使用cryptogen等工具建立测试网络,开发环境使用 ...

  6. Tecplot中用excel表格绘制xy图的一点理解

    原文地址:Tecplot中用excel表格绘制xy图的一点理解作者:又见谷雨 在画图的时候遇到一些问题,比如想用excel中的数据画xy图,那么应该怎样加载这些数据呢.在网上查找了下,也没有详细的说法 ...

  7. 2.深入一点理解C源程序的编译过程

    2.深入一点理解C源程序的编译过程 本文章的大多数灵感及知识来源于南京大学的计算机系统基础教材,如果希望更加深入地对相关知识做进一步了解,可以移步上述相关资源.在网上可以轻易获得上述资源,mooc也有 ...

  8. negroni包和mux包的一点理解

    codegangsta/negroni包和gorilla/mux包的一点理解 Negroni是一个http.Handle,因为他实现了 func (n *Negroni) ServeHTTP(rw h ...

  9. 对PCIE设备访问及其配置空间的一点理解

    讲讲对PCIE总线协议的一点理解吧.感觉每一年又会多一点理解,但不懂得地方仍很多. PCI总线是拓扑结构,PCI总线从0开始,不超过256(但一般不会一层一层挂太多).Device不超过32,Func ...

最新文章

  1. 阿里巴巴首部记录片问世:看哭所有创业者!
  2. 手机QQ重构移动社交市场
  3. javascript 语法
  4. 【iOS学习笔记】IOS开发中设置applicationIconBadgeNumber和消息推送
  5. python正则表达式花括号_python正则表达式(+ {})(二)
  6. LeetCode198——house robber(不懂dp)
  7. springboot---mybits整合
  8. jps命令:查看Java进程等详细信息
  9. 数组深拷贝_JavaScript之深浅拷贝
  10. vscode创建代码片段
  11. MySQL8.0 - 新特性 - 临时表改进 1
  12. 梦幻西游qq表情包YR
  13. tcp 粘包是怎么产生的?
  14. 搭建安装kubesphere平台——在 Linux 上以 All-in-One 模式,附安装步骤—{全篇踩坑排坑记} kubernetes:k8s
  15. php 的绝对引用,excel单元格引用分为哪三种
  16. 女版乔布斯的覆灭,这是今年我听过最唏嘘的真人故事
  17. VScode输入感叹号无法生成HTML模板
  18. reverse-for-the-holy-grail-350 攻防世界
  19. linux设置spi时钟频率,Linux下S3C2416的SPI设置问题,CLK和MOSI都没有输出,求助
  20. Android结束进程的几种方法

热门文章

  1. hbase的RIT异常处理
  2. 毕设(二)Spring Boot调用Python脚本运行
  3. Eigen学习教程(一)
  4. html多个ul时怎么选择某个li,选中多个ul中的第一个li方法
  5. Dubbo泛化引用和泛化实现
  6. 中国商务年鉴(2002-2021)缺2003
  7. 我国区块链技术发展仍处于早期发展阶段 要建设国产自主可控的联盟链
  8. 无人机视频回传 5G视频回传 5G无人机回传
  9. UVA 674 Coin Change ,Commence
  10. 远程连接工具Telnet、SSH及Dropbear