智能反射面| 关于UPA信道建模_uniform planar array-程序员宅基地

技术标签: 智能反射面  通信原理  

前言

这篇文章想讲一下 智能反射面中 UPA (uniform planar array)的信道建模。 之前在智能反射面| Matlab代码实现的信道仿真一文中, 很简略地给了一个基本的UPA仿真代码, 这篇更详细地说一下 关于 面天线 的建模。

当然了, UPA并不只使用于智能反射面中, 尽管在科研方向上, 为了简化问题, 在MIMO问题中大家假设的往往都是线天线阵(ULA), 但实际中往往都是二维的UPA天线。 而在智能反射面中, 作者们实在无法睁眼说瞎话地假设智能反射面是一个线阵了, 毕竟人家名字里都带着一个“面”字还是要“面子”的。 也因此,在IRS方向中, UPA阵列的信道建模更普遍。

结论

先说结论, 是对需要只需要答案而不求甚解的读者的尊重。

对于一个 P × Q P\times Q P×Q的UPA天线阵列, 即共有 P P P行, Q Q Q列天线。 则对于 ( θ , ϕ ) (\theta, \phi) (θ,ϕ)方向的响应可以写为( θ \theta θ为水平角, 被称为azimuth angle, ϕ \phi ϕ 为 仰角, 被称为 elevation angle) :
a ( θ , ϕ ) = 1 P Q [ 1 , ⋯   , e ȷ π ( p sin ⁡ θ sin ⁡ ϕ + q cos ⁡ ϕ ) , ⋯   e ȷ π ( ( Q − 1 ) sin ⁡ θ sin ⁡ ϕ + ( P − 1 ) cos ⁡ ϕ ) ] T (1) \begin{array}{r} \mathbf{a}(\theta, \phi)=\frac{1}{\sqrt{PQ}}\left[1, \cdots, e^{\jmath \pi(p \sin \theta \sin \phi+q \cos \phi)}, \cdots\right. \left.e^{\jmath \pi((\sqrt{Q}-1) \sin \theta \sin \phi+(\sqrt{P}-1) \cos \phi)}\right]^{T} \end{array} \tag{1} a(θ,ϕ)=PQ 1[1,,eȷπ(psinθsinϕ+qcosϕ),eȷπ((Q 1)sinθsinϕ+(P 1)cosϕ)]T(1)
其中 p p p q q q 代表了第 p p p行,第 q q q列的天线, 注意, 是从0行0列开始计数的。 另外需要注意的一点是, 这是默认天线以半波长为间隔。 如果你看到的指数项是类似于 e ȷ 2 π λ d e^{\jmath \frac{2\pi}{\lambda}d} eȷλ2πd 之类的形式, 其实是一样的, 因为我们一般默认 d = 1 2 λ d = \frac{1}{2}\lambda d=21λ

对于(1), 还有一个非常常用且笔者更推荐的形式:

a ( θ , ϕ ) = a y ( θ , ϕ ) ⊗ a z ( ϕ ) (2) \mathbf{a}(\theta, \phi)=\mathbf{a}_y(\theta, \phi) \otimes \mathbf{a}_z(\phi) \tag{2} a(θ,ϕ)=ay(θ,ϕ)az(ϕ)(2)
其中,
a y ( θ , ϕ ) ≜ 1 Q [ 1 , e j π sin ⁡ θ l sin ⁡ ϕ l , … , e j π ( Q − 1 ) sin ⁡ θ l sin ⁡ ϕ l ] T a z ( ϕ l ) ≜ 1 P [ 1 , e j π cos ⁡ ϕ l , … , e j π ( P − 1 ) cos ⁡ ϕ l ] T \mathbf{a}_{y}(\theta, \phi) \triangleq \frac{1}{\sqrt{Q}}[1, e^{\mathrm{j}\pi\sin\theta_l\sin\phi_l}, \dots, e^{\mathrm{j}\pi(Q-1)\sin\theta_l\sin\phi_l}]^T\\ \mathbf{a}_{z}(\phi_l) \triangleq \frac{1}{\sqrt{P}}[1, e^{\mathrm{j}\pi\cos\phi_l}, \dots, e^{\mathrm{j}\pi(P-1)\cos\phi_l}]^T ay(θ,ϕ)Q 1[1,ejπsinθlsinϕl,,ejπ(Q1)sinθlsinϕl]Taz(ϕl)P 1[1,ejπcosϕl,,ejπ(P1)cosϕl]T

这里显然(2)比(1)清爽了很多, 很容易验证, 两者是等价的。

有了天线响应, 那么信道也就非常容易建模了。 对于发送端和接收端都是UPA阵列的情况下, 多径信道可以写为

H = N r N t ∑ l = 0 L α l a r , l ( θ l , ϕ l ) a t , l H ( ψ l , γ l ) \mathbf{H}=\sqrt{N_{\mathrm{r}} N_{\mathrm{t}}} \sum_{l=0}^{L} \alpha_{l} \mathbf{a}_{\mathrm{r}, l}\left(\theta_{l}, \phi_{l}\right) \mathbf{a}_{\mathrm{t}, l}^{H}\left(\psi_{l}, \gamma_{l}\right) H=NrNt l=0Lαlar,l(θl,ϕl)at,lH(ψl,γl)
简而言之, 对于每一径,信道就是接收的 a \mathbf{a} a 与 发送端的 a \mathbf{a} a 的 共轭转置相乘, 再乘上一个标量系数。

UPA详细建模

(1)和(2)是怎么来的呢? 事实上, 他基于且必须基于下图中的建模:
在这里插入图片描述
如图:

  • 假设UPA建立在yz平面上, 且原点为UPA的左下角第一个元素。
  • θ \theta θ为用户投影到 x y xy xy平面后, 与 x x x轴夹角
  • ϕ \phi ϕ为用户与 z z z轴负半轴夹角。 可以这样理解: UPA天线的一列就是一条直线, 用户相当于一个点, 那么一条直线+线外的一个点构成了一个平面。 那么在这个平面上就是普通的ULA天线的情形。 那么决定这列天线响应的就是天线的入射角, 显然就是 ϕ \phi ϕ.

以这样的建模, 是可以推出 (1)和(2)式的。

怎么说呢? 以 ϕ \phi ϕ为例。 不考虑UPA的水平方向, 比如令 Q = 1 Q=1 Q=1, 也就是说只有一列, 此时UPA退化为一个ULA。 那么我们都知道, ULA的响应是什么呢? 是以入射波与ULA的夹角作为入射角。 那么在ULA的这个三维建模中, 这个入射角, 显然, 就是且必须是 用户 与 z z z轴负半轴的夹角。 因为UPA中的竖直方向其实就是 z z z轴, 那么竖直方向上的入射夹角就是用户与 z z z的夹角。 或者, 更容易理解的, z z z轴与用户, 一线一点构成一个平面, 这个平面就是ULA的平面。 那么谁是入射角, 一目了然。

至于 θ \theta θ角为什么这么建模? 推导太繁琐了, 不写出了, 按立体几何再利用远场近似就能推导。 这里想说的是其实很简单, (1)中为什么是 sin ⁡ θ \sin\theta sinθ而不是 cos ⁡ θ \cos\theta cosθ呢? 因为按照图中的建模, θ \theta θ角的范围显然是-90度到90度之间, 而这样 cos ⁡ θ \cos\theta cosθ的取值范围只有[0,1], 但 sin ⁡ θ \sin\theta sinθ的取值范围是[-1,1]。 无疑是后者。

响应求导

天线响应对于 θ \theta θ ϕ \phi ϕ的求导, 在推算CRLB或者优化的时候, 很有用, 那结果是什么呢? 利用(2)外加一个经典的结论:

d ( U ⊗ V ) = d ( U ) ⊗ V + U ⊗ d ( V ) \mathrm{d}(\mathbf{U}\otimes \mathbf{V}) = \mathrm{d}(\mathbf{U})\otimes \mathbf{V} +\mathbf{U}\otimes \mathrm{d}(\mathbf{V}) d(UV)=d(U)V+Ud(V)

结合(2), 很容易有:
∂ a ( θ , ϕ ) ∂ θ = ( j π cos ⁡ θ sin ⁡ ϕ [ 0 , 1 … , Q − 1 ] T ⊙ a y ( θ , ϕ ) ) ⊗ a z ( ϕ ) ∂ a ( θ , ϕ ) ∂ ϕ = ( j π sin ⁡ θ cos ⁡ ϕ [ 0 , 1 … , Q − 1 ] T ⊙ a y ( θ , ϕ ) ) ⊗ a z ( ϕ ) + a y ( θ , ϕ ) ⊗ ( − j π sin ⁡ ϕ [ 0 , 1 , … , P − 1 ] T ⊙ a z ( ϕ ) ) \frac{\partial\mathbf{a}(\theta,\phi)}{\partial\theta}=\left(\mathrm{j} \pi \cos \theta \sin \phi[0,1 \ldots, Q-1]^{T} \odot \mathbf{a}_{y}(\theta, \phi)\right) \otimes \mathbf{a}_{z}(\phi)\\ \frac{\partial\mathbf{a}(\theta,\phi)}{\partial\phi}=\begin{array}{l} \left(\mathrm{j} \pi \sin \theta \cos \phi[0,1 \ldots, Q-1]^{T} \odot \mathbf{a}_{y}(\theta, \phi)\right) \otimes \mathbf{a}_{z}(\phi) +\mathbf{a}_{y}(\theta, \phi) \otimes\left(-\mathrm{j} \pi \sin \phi[0,1, \ldots, P-1]^{T} \odot \mathbf{a}_{z}(\phi)\right) \end{array} θa(θ,ϕ)=(jπcosθsinϕ[0,1,Q1]Tay(θ,ϕ))az(ϕ)ϕa(θ,ϕ)=(jπsinθcosϕ[0,1,Q1]Tay(θ,ϕ))az(ϕ)+ay(θ,ϕ)(jπsinϕ[0,1,,P1]Taz(ϕ))
其中 ⊙ \odot 是哈达玛积。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_39274659/article/details/111477860

智能推荐

c# 调用c++ lib静态库_c#调用lib-程序员宅基地

文章浏览阅读2w次,点赞7次,收藏51次。四个步骤1.创建C++ Win32项目动态库dll 2.在Win32项目动态库中添加 外部依赖项 lib头文件和lib库3.导出C接口4.c#调用c++动态库开始你的表演...①创建一个空白的解决方案,在解决方案中添加 Visual C++ , Win32 项目空白解决方案的创建:添加Visual C++ , Win32 项目这......_c#调用lib

deepin/ubuntu安装苹方字体-程序员宅基地

文章浏览阅读4.6k次。苹方字体是苹果系统上的黑体,挺好看的。注重颜值的网站都会使用,例如知乎:font-family: -apple-system, BlinkMacSystemFont, Helvetica Neue, PingFang SC, Microsoft YaHei, Source Han Sans SC, Noto Sans CJK SC, W..._ubuntu pingfang

html表单常见操作汇总_html表单的处理程序有那些-程序员宅基地

文章浏览阅读159次。表单表单概述表单标签表单域按钮控件demo表单标签表单标签基本语法结构<form action="处理数据程序的url地址“ method=”get|post“ name="表单名称”></form><!--action,当提交表单时,向何处发送表单中的数据,地址可以是相对地址也可以是绝对地址--><!--method将表单中的数据传送给服务器处理,get方式直接显示在url地址中,数据可以被缓存,且长度有限制;而post方式数据隐藏传输,_html表单的处理程序有那些

PHP设置谷歌验证器(Google Authenticator)实现操作二步验证_php otp 验证器-程序员宅基地

文章浏览阅读1.2k次。使用说明:开启Google的登陆二步验证(即Google Authenticator服务)后用户登陆时需要输入额外由手机客户端生成的一次性密码。实现Google Authenticator功能需要服务器端和客户端的支持。服务器端负责密钥的生成、验证一次性密码是否正确。客户端记录密钥后生成一次性密码。下载谷歌验证类库文件放到项目合适位置(我这边放在项目Vender下面)https://github.com/PHPGangsta/GoogleAuthenticatorPHP代码示例://引入谷_php otp 验证器

【Python】matplotlib.plot画图横坐标混乱及间隔处理_matplotlib更改横轴间距-程序员宅基地

文章浏览阅读4.3k次,点赞5次,收藏11次。matplotlib.plot画图横坐标混乱及间隔处理_matplotlib更改横轴间距

docker — 容器存储_docker 保存容器-程序员宅基地

文章浏览阅读2.2k次。①Storage driver 处理各镜像层及容器层的处理细节,实现了多层数据的堆叠,为用户 提供了多层数据合并后的统一视图②所有 Storage driver 都使用可堆叠图像层和写时复制(CoW)策略③docker info 命令可查看当系统上的 storage driver主要用于测试目的,不建议用于生成环境。_docker 保存容器

随便推点

网络拓扑结构_网络拓扑csdn-程序员宅基地

文章浏览阅读834次,点赞27次,收藏13次。网络拓扑结构是指计算机网络中各组件(如计算机、服务器、打印机、路由器、交换机等设备)及其连接线路在物理布局或逻辑构型上的排列形式。这种布局不仅描述了设备间的实际物理连接方式,也决定了数据在网络中流动的路径和方式。不同的网络拓扑结构影响着网络的性能、可靠性、可扩展性及管理维护的难易程度。_网络拓扑csdn

JS重写Date函数,兼容IOS系统_date.prototype 将所有 ios-程序员宅基地

文章浏览阅读1.8k次,点赞5次,收藏8次。IOS系统Date的坑要创建一个指定时间的new Date对象时,通常的做法是:new Date("2020-09-21 11:11:00")这行代码在 PC 端和安卓端都是正常的,而在 iOS 端则会提示 Invalid Date 无效日期。在IOS年月日中间的横岗许换成斜杠,也就是new Date("2020/09/21 11:11:00")通常为了兼容IOS的这个坑,需要做一些额外的特殊处理,笔者在开发的时候经常会忘了兼容IOS系统。所以就想试着重写Date函数,一劳永逸,避免每次ne_date.prototype 将所有 ios

如何将EXCEL表导入plsql数据库中-程序员宅基地

文章浏览阅读5.3k次。方法一:用PLSQL Developer工具。 1 在PLSQL Developer的sql window里输入select * from test for update; 2 按F8执行 3 打开锁, 再按一下加号. 鼠标点到第一列的列头,使全列成选中状态,然后粘贴,最后commit提交即可。(前提..._excel导入pl/sql

Git常用命令速查手册-程序员宅基地

文章浏览阅读83次。Git常用命令速查手册1、初始化仓库git init2、将文件添加到仓库git add 文件名 # 将工作区的某个文件添加到暂存区 git add -u # 添加所有被tracked文件中被修改或删除的文件信息到暂存区,不处理untracked的文件git add -A # 添加所有被tracked文件中被修改或删除的文件信息到暂存区,包括untracked的文件...

分享119个ASP.NET源码总有一个是你想要的_千博二手车源码v2023 build 1120-程序员宅基地

文章浏览阅读202次。分享119个ASP.NET源码总有一个是你想要的_千博二手车源码v2023 build 1120

【C++缺省函数】 空类默认产生的6个类成员函数_空类默认产生哪些类成员函数-程序员宅基地

文章浏览阅读1.8k次。版权声明:转载请注明出处 http://blog.csdn.net/irean_lau。目录(?)[+]1、缺省构造函数。2、缺省拷贝构造函数。3、 缺省析构函数。4、缺省赋值运算符。5、缺省取址运算符。6、 缺省取址运算符 const。[cpp] view plain copy_空类默认产生哪些类成员函数

推荐文章

热门文章

相关标签