EngeePhased.PhaseShiftBeamformer
资料描述
*EngeePhased系统对象。PhaseShiftBeamformer*模拟基于相移的窄带波束成形器。 延迟使用时域中的相移来近似。 移相波束形成器属于传统波束形成器家族。
要创建和使用窄带相移波束成形器,请按照以下步骤操作:
-
创建*EngeePhased对象。PhaseShiftBeamformer*并设置其属性。
-
用参数调用对象,就好像它是一个函数一样。
若要了解有关如何使用系统对象的详细信息,请参阅 AnyMath系统对象.
语法
创造
-
波束形成器=EngeePhased。PhaseShiftBeamformer()-使用默认属性值创建基于相移的波束形成器。 -
波束形成器=EngeePhased。PhaseShiftBeamformer(名称=值)-以一对形式创建具有指定属性的相移光束整形器名称=值,在哪里姓名-物业的名称,以及价值-适当的值。 您可以指定多个对 «名称-值» 对的顺序并不重要。 未指定的属性保留其默认值。
使用
-
Y=波束形成器(X)-基于相移*X*生成窄带波束*Y*。 若要使用此语法,请设置*DirectionSource*值"财产"并使用*Direction*设置射线形成的方向。 -
Y=波束形成器(X,ANG)-使用输入参数*ANG*设置射线形成的方向。 若要使用此语法,请设置*DirectionSource*值"输入端口". -
Y,W=波束形成器(___)-返回波束赋形的加权系数*W*。 若要使用此语法,请设置*WeightsOutputPort*值真的.
争论
输入参数
X-输入信号
+
复矩阵M乘N
Details
输入信号,指定为复数矩阵 上 .
如果天线阵元包含天线子晶格, -这是天线子晶格的数量;否则 -这是天线阵元的数量。
输入矩阵的第一维的大小可以改变以模拟信号长度的变化。 例如在具有可变脉冲重复率的脉冲波形的情况下可以发生大小的变化。
| 数据类型 |
|
ANG-输出信号生成方向
+
实向量是2乘1列 | L上的实矩阵2
Details
信号的辐射方向,指定为实列向量 上 或矩阵 上 ,在哪里 -这是束形成方向的数量。 每列都有表单 [AzimuthAngle;ElevationAngle].
测量单位是度。
方位角应介于 −180° 和 180°,包容性。 座椅的角度应在 −90° 以前 90°,包容性。
依赖关系
若要使用此参数,请将属性设置为*DirectionSource*value "输入端口".
| 数据类型 |
|
输出参数
*Y*是光束产生的输出信号
+
L上的复数矩阵M
Details
作为复矩阵返回的输入信号的叠加 上 ,在哪里 -参数*X*的行数,以及 -束形成方向的数量。
| 数据类型 |
|
W—波束形成的加权系数
+
复数n乘l矩阵
Details
复共轭波束形成权值作为复矩阵返回 上 ,在哪里 -天线阵元的数量, -束形成方向的数量。
依赖关系
若要使用此参数,请设置以下属性*DirectionSource*value 真的.
| 数据类型 |
|
特征
#
WeightsNormalization —
一种波束成形器加权系数归一化的方法
String
Details
对波束成形器的加权系数进行归一化的方法。
*如果此属性设置为 "脝陆脤篓" (默认情况下),波束成形方向的增益为 0 分贝。
*如果为此属性设置了值 "保留权力",加权系数的范数等于一。
#
PropagationSpeed —
信号传播速度
Real number
Details
信号的传播速度,设为正标量。 默认值是光速。 299792458.
测量单位为m/s。
#
OperatingFrequency —
工作频率
Real number
Details
的工作频率,设置为正标量。
默认值 — 3e8.
测量单位为Hz。
#
WeightsOutputPort —
启用波束成形权重的输出
Logical
Details
使能波束成形权值的输出被设置为 错误 (默认情况下)或 真的. 要获取光束整形权重,请将此属性设置为 真的 并使用适当的输出参数*W*。
如果不希望接收加权系数,请将此属性设置为 错误.
#
NumPhaseShifterBits —
移相器的位深度
Real number
Details
用于量化波束成形矢量或控制矢量的加权系数的相移分量的比特数被设置为非负整数。 默认值 0 表示不执行量化。
# SensorArray — 天线阵列对象
Details
天线阵列的物体、由子晶格制成的天线或天线阵列的元件。 天线阵列可以包含子晶格。
#
Direction —
光束成形方向
Scalar / array of real numbers
Details
射线形成的方向,定义为实矢量 上 或者一个真正的矩阵 上 . 在矩阵中,每列定义了单独的射线形成方向。 每列都有表单 [AzimuthAngle;ElevationAngle].
方位角应介于 −180° 和 180°,包容性。 座椅的角度应在 −90° 以前 90°,包容性。
默认值 — [0; 0;;].
测量单位是度。
依赖关系
若要使用此属性,请设置*DirectionSource*值 "财产".
例子:
使用ULA的相位光束整形器,使用属性的光束形成方向
Details
让我们将相移波束形成应用于线性天线阵列接收的正弦信号。 7 元素。 束形成的方向为方位角 45° 和地方的角度 0°. 假设电网运行频率为 300 兆赫。 我们将使用属性指定射线形成的方向。
让我们模拟一个正弦信号进入电网.
using EngeePhased
using Random
t = collect(0:1000)
fsignal = 0.01
y = sin.(2π * fsignal .* t)
c = 299_792_458.0
fc = 300e6
incidentAngle = [45.0, 0.0]
array = EngeePhased.ULA(NumElements=7)
collector = EngeePhased.Collector(Sensor=array,OperatingFrequency=fc,PropagationSpeed=c)
x = collector(y, incidentAngle)
noise = 0.1 .* (randn(size(x)) .+ 1im .* randn(size(x)))
rx = x .+ noise
让我们创建一个移相波束成形器,然后为输入数据形成一个波束。
beamformer = EngeePhased.PhaseShiftBeamformer(SensorArray=array,
OperatingFrequency=fc,PropagationSpeed=c,
Direction=incidentAngle,WeightsOutputPort=true)
我们将得到生成的信号和波束成形器的加权系数。
y,w = beamformer(rx)
让我们在中心单元中绘制原始信号和由于射线形成而产生的信号。
plot(t, real.(rx[:, 4]),
seriestype = :line, ls = :dot, color = :red,
label = "Original",
xlabel = "Time", ylabel = "Amplitude")
plot!(t, real.(y),
seriestype = :line, color = :blue,
label = "Beamformed")

我们将在应用加权系数后构造天线阵列的辐射方向图。
pattern(array,fc,[-180:180],0,PropagationSpeed=c,CoordinateSystem="polar",Weights=w)

使用ULA的相位波束形成器,使用输入参数的波束形成方向
Details
让我们将相移波束形成应用于线性天线阵列接收的信号。 5 元素。 束形成的方向为方位角 45° 和地方的角度 0°. 假设电网运行频率为 300 兆赫。 我们将使用输入参数指定射线形成的方向。
让我们模拟一个进入电网的正弦信号.
using EngeePhased
using LinearAlgebra
using Random
function collectPlaneWave(array, x, incidentAngle, fc, c)
N = array.NumElements
az = deg2rad(incidentAngle[1])
el = deg2rad(incidentAngle[2])
d = c / fc / 2
u = cos(el) * cos(az)
n = -(N-1)/2 : (N-1)/2
a = exp.(+1im * 2π * (fc / c) * d .* n .* u)
return vec(x) * transpose(a)
end
t = collect(0:1000)
fsignal = 0.01
x = sin.(2π * fsignal .* t)
c = 299_792_458.0
fc = 300e6
incidentAngle = [45.0, 0.0]
array = EngeePhased.ULA(NumElements=5)
x = collectPlaneWave(array, x, incidentAngle, fc, c)
noise = 0.1 .* (randn(size(x)) .+ 1im .* randn(size(x)))
rx = x .+ noise
让我们创建一个移相光束整形器,然后为输入数据形成一个光束。
beamformer = EngeePhased.PhaseShiftBeamformer(SensorArray=array,
OperatingFrequency=fc,PropagationSpeed=c,
DirectionSource="Input port",WeightsOutputPort=true)
我们将得到生成的信号和波束成形器的加权系数。
y,w = beamformer(rx,incidentAngle)
让我们在中心单元中绘制原始信号和由于射线形成而产生的信号。
plot(t, real.(rx[:, 3]),
seriestype = :line, ls = :dot, color = :red,
label = "Original",
xlabel = "Time", ylabel = "Amplitude")
plot!(t, real.(y),
seriestype = :line, color = :blue,
label = "Beamformed")

我们将在应用加权系数后构造天线阵列的辐射方向图。
pattern(array,fc,[-180:180],0,PropagationSpeed=c,CoordinateSystem="rectangular",Weights=w)

此外
相移波束形成
Details
相移波束形成器采用常规的延迟和波束形成算法。 在波束成形时,假设信号是窄带的,因此相移可以近似所需的延迟。 与此同时,波束成形器保留传入信号的功率。
有关详细信息,请参阅[1]。