主要内容

传统的和自适应Beamformers

这个例子说明了如何应用数字波束形成窄带天线阵列接收到的信号。三个波束形成算法进行了说明:相移beamformer(相位变化),最小方差无失真响应(MVDR) beamformer和线性约束最小方差(淋巴细胞脉络丛脑膜炎病毒)beamformer。

模拟接收到的信号

首先,我们定义输入信号。是一个简单的矩形脉冲信号的基带表示如下定义:

t = 0:0.001:0.3;%的时间,采样频率是1 khzs = 0(大小(t));s = s (:);%信号列向量(201:205)=年代(201:205)+ 1;%定义脉冲情节(t, s);标题(“脉搏”),包含(“时间(s)”);ylabel (“振幅(V)”);

图包含一个坐标轴对象。坐标轴对象与标题脉冲包含一个类型的对象。

对于这个示例,我们还假设信号的载波频率100 MHz。

carrierFreq = 100 e6;波长= physconst (“光速”)/ carrierFreq;

我们现在定义均匀线性阵列(ULA)”用于接收信号。该数组包含10个各向同性的天线。元素的间距是入射波的波长的一半。

齿龈= phased.ULA (“NumElements”10“ElementSpacing”、波长/ 2);ula.Element。FrequencyRange = (90 e5 110 e6);

然后我们使用collectPlaneWave数组对象的方法来模拟阵列接收到的信号。假设信号到达阵列从方位和0度仰角45度;可以建模为接收到的信号

inputAngle = [45;0);x = collectPlaneWave(齿龈,年代,inputAngle carrierFreq);

接收到的信号往往包含一些热噪声。噪音可以建模为复杂,高斯分布的随机数。在这个例子中,我们假设噪声功率是0.5瓦,也对应于一个3 dB信噪比(信噪比)在每个天线元素。

%创建并重置一个当地的随机数发生器所以结果每次%相同。rs = RandStream.create (“mt19937ar”,“种子”,2008);noisePwr = 5;%噪声功率噪音=√noisePwr / 2) * (randn (rs、尺寸(x)) + 1我* randn (rs,大小(x)));

总回报是接收信号加上热噪声。

rxSignal = x +噪声;

总回报有十列,每一列对应一个天线元素。下面的图显示了信号的大小图第一两个渠道。

次要情节(211);情节(t, abs (rxSignal(: 1)));轴;标题(“脉冲天线1”),包含(“时间(s)”);ylabel (“(V)级”);次要情节(212);情节(t, abs (rxSignal(:, 2)));轴;标题(“脉冲天线2”),包含(“时间(s)”);ylabel (“(V)级”);

图包含2轴对象。坐标轴对象与标题脉冲天线1包含一个类型的对象。坐标轴对象与标题脉冲天线2包含一个对象类型的线。

相移Beamformer

beamformer可以被视为一个空间滤波器,抑制信号从四面八方,除了想要的。传统beamformer只是延迟接收信号在每个天线的信号一致,好像他们到达所有的天线在同一时间。在窄带情况下,这相当于在每个天线接收到的信号乘以一个阶段的因素。定义一个相移beamformer指向信号的入射方向,我们使用

psbeamformer = phased.PhaseShiftBeamformer (“SensorArray”、齿龈“OperatingFrequency”carrierFreq,“方向”inputAngle,“WeightsOutputPort”,真正的);

我们现在可以获得输出信号从beamformer和权重系数。

[yCbf w] = psbeamformer (rxSignal);%画出输出clf;情节(t, abs (yCbf));轴;标题(的输出相移Beamformer”);包含(“时间(s)”);ylabel (“(V)级”);

图包含一个坐标轴对象。坐标轴对象与标题的输出相移Beamformer包含一个类型的对象。

从图中,我们可以看到信号相比变得更为强大的噪音。输出信噪比约为10倍,单个天线接收的信号,因为一系列10-element产生一个数组增加10个。

看到beamformer的光束模式,我们把阵列响应在0度仰角的权重。由于数组是一个与各向同性元素齿龈,模棱两可的正面和背面的数组。因此,我们只有-90至90度方位。

%的阴谋与加权阵列响应模式(齿龈、carrierFreq 180:180 0“重量”w,“类型”,“powerdb”,“PropagationSpeed”physconst (“光速”),“正常化”假的,“CoordinateSystem”,“矩形”);轴((-90 90 -60 0));

图包含一个坐标轴对象。坐标轴对象与标题方位角切(仰角= 0.0°)包含一个类型的对象。该对象代表100 MHz。

你可以看到的主要梁beamformer指向的方向(45度),如预期。

接下来,我们使用beamformer干扰条件下提高接收信号。在强干扰的存在,目标信号可能掩盖的干扰信号。例如,从附近的无线电干扰塔可以盲目的天线阵的方向。如果无线电信号是足够强大,它可以在多个方向盲目的雷达,特别是当收到期望信号的旁瓣。这样的场景相移beamformer非常具有挑战性,因此,介绍了自适应beamformers来解决这个问题。

建模的干扰信号

我们模型两个干扰信号到达方位的30度和50度。干扰振幅远高于所需的信号显示在前面的场景。

nSamp =长度(t);s1 = 10 * randn (rs nSamp 1);s2 = 10 * randn (rs nSamp 1);%干扰在30度和50度干扰= collectPlaneWave(齿龈(s1 s2), [30 50;0 0],carrierFreq);

为了说明干扰的影响,我们将降低噪音水平最低的水平。接下来的例子,让我们假设一个高信噪比的价值50 db在每个天线。我们将会看到,尽管几乎没有噪音,干扰就可以相移beamformer失败。

noisePwr = 0.00001;%噪声功率,50 db信噪比噪音=√noisePwr / 2) * (randn (rs、尺寸(x)) + 1我* randn (rs,大小(x)));rxInt = +噪声干扰;% +总干扰噪声rxSignal = x + rxInt;%总接收信号

首先,我们将尝试应用相移beamformer检索信号沿入射方向。

yCbf = psbeamformer (rxSignal);情节(t, abs (yCbf));轴;标题(的输出相移Beamformer存在干扰的);包含(“时间(s)”);ylabel (“(V)级”);

图包含一个坐标轴对象。坐标轴对象与标题的输出相移Beamformer与干扰的存在包含一个类型的对象。

从图中,我们可以看到,由于干扰信号强于目标信号,我们不能提取信号的内容。

MVDR Beamformer

为了克服干扰的问题,我们可以使用MVDR beamformer,一个受欢迎的适应性beamformer。的MVDR beamformer保留信号沿到达期望的方向,在试图抑制来自其他方向的信号。在这种情况下,所需的信号是在方位方向45度。

%定义MVDR beamformermvdrbeamformer = phased.MVDRBeamformer (“SensorArray”、齿龈“方向”inputAngle,“OperatingFrequency”carrierFreq,“WeightsOutputPort”,真正的);

当我们访问target-free数据,我们可以将这些信息提供给MVDR beamformer通过设置TrainingInputPort属性为true。

mvdrbeamformer。培训InputPort = true;

我们应用MVDR beamformer接收信号。图显示了MVDR beamformer输出信号。你可以看到现在可以恢复目标信号。

[yMVDR, wMVDR] = mvdrbeamformer (rxSignal rxInt);情节(t, abs (yMVDR));轴;标题(输出的MVDR Beamformer存在干扰的);包含(“时间(s)”);ylabel (“(V)级”);

图包含一个坐标轴对象。坐标轴对象与标题的输出MVDR Beamformer与干扰的存在包含一个类型的对象。

看着beamformer的响应模式,我们看到两个深null干扰方向(30 - 50度)。beamformer也有增益为0 dB沿着目标方向45度。因此,MVDR beamformer保留目标信号和抑制干扰信号。

模式(齿龈、carrierFreq 180:180 0“重量”wMVDR,“类型”,“powerdb”,“PropagationSpeed”physconst (“光速”),“正常化”假的,“CoordinateSystem”,“矩形”);轴([-90 90 -80 20]);持有;%与移相模式(齿龈、carrierFreq 180:180 0“重量”w,“PropagationSpeed”physconst (“光速”),“正常化”假的,“类型”,“powerdb”,“CoordinateSystem”,“矩形”);持有;传奇(“MVDR”,移相的)

图包含一个坐标轴对象。坐标轴对象与标题方位角切(仰角= 0.0°)包含2线类型的对象。这些对象代表MVDR,相位变化。

也显示在图从相位变化的响应模式。我们可以看到,相位变化模式并不零干扰。

在MVDR自我调零问题

在很多场合,我们可能无法单独的目标信号的干扰,因此,MVDR beamformer计算重量数据,包括目标信号。在这种情况下,如果目标信号收到所需的沿着一个方向略有不同,的MVDR beamformer抑制它。这是因为MVDR beamformer对待所有的信号,沿着期望的方向,除了一个不受欢迎的干扰。这种影响有时被称为“自我调零信号”。

为了说明这种自我调零效应,我们定义一个MVDR beamformer和TrainingInputPort属性设置为false。

mvdrbeamformer_selfnull = phased.MVDRBeamformer (“SensorArray”、齿龈“方向”inputAngle,“OperatingFrequency”carrierFreq,“WeightsOutputPort”,真的,“TrainingInputPort”、假);

然后,我们创建一个方向不匹配传入的信号方向和所需的方向。

回想一下,从45度在方位信号碰撞。与一些先验信息,如果我们期望信号到达43度的方位,然后我们用43度在所需的方向方位MVDR beamformer。然而,由于真正的信号到达45度方位,有轻微的不匹配信号的方向。

expDir = [43;0);mvdrbeamformer_selfnull。方向= expDir;

当我们应用MVDR beamformer接收信号,我们看到,接收者不能区分目标信号和干扰。

[ySn, wSn] = mvdrbeamformer_selfnull (rxSignal);情节(t, abs (ySn));轴;标题(与信号输出的MVDR Beamformer方向不匹配的);包含(“时间(s)”);ylabel (“(V)级”);

图包含一个坐标轴对象。坐标轴对象与标题的输出MVDR Beamformer与信号方向不匹配包含一个类型的对象。

当我们看beamformer响应模式,我们可以看到,MVDR beamformer试图抑制信号沿到达45度,因为它更像是一个干扰信号。的MVDR beamformer非常敏感signal-steering向量不匹配,特别是当我们不能提供干扰信息。

模式(齿龈、carrierFreq 180:180 0“重量”基础上,“类型”,“powerdb”,“PropagationSpeed”physconst (“光速”),“正常化”假的,“CoordinateSystem”,“矩形”);轴(25)(-90 90 -40);

图包含一个坐标轴对象。坐标轴对象与标题方位角切(仰角= 0.0°)包含一个类型的对象。该对象代表100 MHz。

淋巴细胞脉络丛脑膜炎病毒Beamformer

为了防止信号self-nulling,我们可以使用一个淋巴细胞脉络丛脑膜炎病毒beamformer,它允许我们将多个约束沿着目标方向(转向向量)。它减少了机会,目标信号将抑制当它到达一个稍微不同的角度从所需的方向。首先,我们创建一个淋巴细胞脉络丛脑膜炎病毒beamformer:

lcmvbeamformer = phased.LCMVBeamformer (“WeightsOutputPort”,真正的);

现在我们需要创建多个约束。指定一个约束,我们把相应的条目在约束矩阵,限制,和所需的响应向量,DesiredResponse。每一列的约束是一组重量我们可以应用在DesiredResponse数组和相应的条目所需的反应时,我们想要达到应用的权重。例如,为了避免自我调零在这个例子中,我们可以想beamformer添加以下约束:

  • 保持输入信号从预期的方向(43度方位)。

  • 为了避免自我调零,确保beamformer的反应不会下降在+ / - 2度预期的方向发展。

所有的约束条件,给出了权重的转向向量引导数组这些方向:

steeringvec = phased.SteeringVector (“SensorArray”、齿龈);stv = steeringvec (carrierFreq [45] 43 41);

所需的反应应该是1对所有三个方向。约束矩阵和DesiredResponse给出:

lcmvbeamformer。约束= stv;lcmvbeamformer。DesiredResponse = [1;1;1);

然后我们将beamformer应用于接收到的信号。下面的图显示了目标信号又能被探测到的即使有不匹配所需的和真正的信号到达方向。

[yLCMV, wLCMV] = lcmvbeamformer (rxSignal);情节(t, abs (yLCMV));轴;标题(淋巴细胞脉络丛脑膜炎病毒的输出Beamformer信号方向不匹配的);包含(“时间(s)”);ylabel (“(V)级”);

图包含一个坐标轴对象。淋巴细胞脉络丛脑膜炎病毒的坐标轴对象与标题输出Beamformer与信号方向不匹配包含一个类型的对象。

淋巴细胞脉络丛脑膜炎病毒反应模式表明,beamformer将沿指定方向的约束,而强行消除干扰信号在30到50度。这里我们只显示模式介于0和90度方位,这样我们可以看到的行为反应模式的信号和干扰方向更好。

模式(齿龈、carrierFreq 180:180 0“重量”wLCMV,“类型”,“powerdb”,“PropagationSpeed”physconst (“光速”),“正常化”假的,“CoordinateSystem”,“矩形”);轴([0 90 -40 35]);持有;%比较MVDR模式(齿龈、carrierFreq 180:180 0“重量”基础上,“PropagationSpeed”physconst (“光速”),“正常化”假的,“类型”,“powerdb”,“CoordinateSystem”,“矩形”);持有;传奇(淋巴细胞脉络丛脑膜炎病毒的,“MVDR”);

图包含一个坐标轴对象。坐标轴对象与标题方位角切(仰角= 0.0°)包含2线类型的对象。这些对象代表淋巴细胞脉络丛脑膜炎病毒,MVDR。

约束的效果可以更好地看到当比较淋巴细胞脉络丛脑膜炎病毒beamformer响应模式的MVDR beamformer的反应模式。注意,淋巴细胞脉络丛脑膜炎病毒beamformer能够保持平坦响应区域方位的45度左右,而MVDR beamformer创建了一个空。

二维阵列波束形成

在本部分中,我们说明了使用beamformer均匀矩形数组(URA所言)。beamformer可以应用于齿龈URA所言一样。我们只说明了MVDR beamformer URA所言的这个例子。其他算法类似的用法。

首先,我们定义一个URA所言。在由10行5列的各向同性天线元素。行和列之间的间距是0.4和0.5的波长,分别。

colSp = 0.5 *波长;rowSp = 0.4 *波长;ura所言= phased.URA (“大小”10 [5],“ElementSpacing”,(rowSp colSp]);ura.Element。FrequencyRange = (90 e5 110 e6);

考虑使用相同的源信号在前面的部分。源信号到达的方位和0度45度的仰角。接收到的信号,包括噪声的数组,可以建模为

x = collectPlaneWave (ura所言,年代,inputAngle carrierFreq);噪音=√noisePwr / 2) * (randn (rs、尺寸(x)) + 1我* randn (rs,大小(x)));

与齿龈,只能区分角度方位方向,URA所言也可以区分在垂直方向的角度。因此,我们指定两个干扰信号沿到达方向(30;10)和(50;5)度,分别。

s1 = 10 * randn (rs nSamp 1);s2 = 10 * randn (rs nSamp 1);%干扰在[30;10]和[50;5]干扰= collectPlaneWave (ura所言,[s1 s2], [30 50;10 5],carrierFreq);rxInt = +噪声干扰;% +总干扰噪声rxSignal = x + rxInt;%总接收信号

现在我们创建一个MVDR beamformer指向目标方向的信号。

mvdrbeamformer = phased.MVDRBeamformer (“SensorArray”ura所言,“方向”inputAngle,“OperatingFrequency”carrierFreq,“TrainingInputPort”,真的,“WeightsOutputPort”,真正的);

最后,我们应用MVDR beamformer接收信号,其输出。

[yURA呢,w] = mvdrbeamformer (rxSignal rxInt);情节(t, abs (yURA呢));轴;标题(输出的MVDR Beamformer URA所言的);包含(“时间(s)”);ylabel (“(V)级”);

图包含一个坐标轴对象。坐标轴对象与标题的输出MVDR Beamformer URA所言包含一个对象类型的线。

看得清楚,beamformer把null沿着干扰方向,我们将情节beamformer响应模式的数组在海拔5度到10度,分别。图显示beamformer抑制干扰信号沿着30[10]和[5]50的方向。

次要情节(2,1,1);模式(ura所言,carrierFreq 180:180 5,“重量”w,“类型”,“powerdb”,“PropagationSpeed”physconst (“光速”),“正常化”假的,“CoordinateSystem”,“矩形”);标题(“响应模式在5度海拔”);轴([-90 90 -60 5]);次要情节(2,1,2);模式(ura所言,carrierFreq 180:180 10,“重量”w,“类型”,“powerdb”,“PropagationSpeed”physconst (“光速”),“正常化”假的,“CoordinateSystem”,“矩形”);标题(“响应模式在10度海拔”);轴([-90 90 -60 5]);

图包含2轴对象。坐标轴对象1标题反应模式在5度海拔包含一个类型的对象。该对象代表100 MHz。坐标轴对象2标题反应模式在10度海拔包含一个类型的对象。该对象代表100 MHz。

总结

在这个例子中,我们演示了如何使用一个beamformer检索信号从一个特定的方向使用齿龈或URA所言。beamformer的选择取决于操作环境。自适应beamformers提供优越的抗干扰能力相比,传统beamformers提供的。当知识目标方向不准确,在淋巴细胞脉络丛脑膜炎病毒beamformer self-nulling是可取的,因为它可以防止信号。