主要内容

用导频校准补偿阵列的不确定性

这个例子展示了如何使用导频校准来改善天线阵列在存在未知扰动时的性能。

简介

理论上,可以很容易地设计一个理想的均匀线性阵列(ULA)来执行波束形成或到达方向估计等阵列处理任务。在实践中,没有所谓的理想数组。例如,数组中不同元素之间总是不可避免地存在一些制造公差。由于通常不可能获得关于这些变化的确切知识,它们通常被称为不确定性或摄动。通常观察到的不确定性包括元素增益和元素相位不确定性(电不确定性)以及元素位置不确定性(几何不确定性)。

阵列系统中不确定性的存在导致阵列处理算法的检测、分辨率和估计性能迅速下降。因此,在部署前对阵列进行校准是至关重要的。除了上述因素之外,硬件老化和环境影响等其他因素也会产生不确定性。因此,所有部署的系统也定期进行校正。

阵列标定算法有很多。本例着重于导频校准方法[1],其中不确定度由阵列对已知位置的一个或多个已知外部源的响应估计。算例比较了标定前后不确定度对阵列性能的影响。

电和几何不确定性建模

考虑沿y轴工作在半波长间距和均匀渐变的理想6元ULA。对于ULA,可以计算出预期的单元位置和锥度。

N = 6;designed_pos = [0 (1, N); (0: N - 1) * 0.5; 0 (1, N)];designd_taper = ones(N,1);

接下来,对真实数组中可能存在的扰动进行建模。这些通常被建模为随机变量。例如,假设锥度的大小和相位分别受到标准差为0.1和0.05的正态分布随机变量的干扰。

rng (2014);锥形= (designed_taper + 0.1 * randn (N - 1))。* exp (1 * 0.05 * randn (N - 1));

下图显示了摄动锥的大小和相位与设计锥的差值。

helperCompareArrayProperties (“锥”、锥度、designed_taper...{“摄动数组”“设计数组”});

图中包含2个轴对象。标题为Array锥度量级的axis对象1包含两个类型为line的对象。这些对象代表摄动数组、设计数组。标题为Array锥形相位的axis对象2包含两个类型为line的对象。这些对象代表摄动数组、设计数组。

在x、y和z方向的传感器位置上产生的扰动类似,其标准偏差为0.05。

pos = designd_pos + 0.05*randn(3,N);

下图显示了摄动阵列和理想阵列的元素位置。

helperCompareArrayProperties (“位置”、pos、designed_pos...{“摄动数组”“设计数组”});

图中包含一个axes对象。标题为Array Element locations的axis对象包含两个散点类型的对象。这些对象代表摄动数组、设计数组。

阵列扰动效应

上一节展示了设计的理想阵列和真实的摄动阵列之间的区别。由于这些误差,如果盲目地将使用设计阵列计算的波束形成权值等处理步骤应用于摄动阵列,则性能会显著下降。

考虑一个LCMV波束形成器的情况,它被设计成在两个已知方向(-10度方位角和60度方位角)有两个干扰的情况下,将理想阵列导向方位角为10度的方向。目的是在保留感兴趣信号的同时抑制干扰。

如果知道阵列的锥度和几何形状的精确知识,波束形成权值可计算如下:

%从目标和干扰产生10K的样本,信噪比为30dBAz = [-10 10 60];Nsamp = 1e4;Ncov = db2pow(-30);[~,~,rx_cov] =传感器(pos,Nsamp,az,ncov,“锥”、锥形);假设设计的阵列计算LCMV波束形成权值Sv = steervec(pos,az);W = lcmvweights(bsxfun(@times,taper,sv),[0;1;0],rx_cov);

然而,由于阵列包含未知扰动,波束形成权值必须基于所设计阵列的位置和锥度计算。

Designed_sv = steervec(designed_pos,az);designd_w = lcmvweights(bsxfun(@times, designd_taper, designd_sv),...(0, 1, 0), rx_cov);

下图比较了预期的波束图与在摄动阵列上施加设计权重得到的波束图。

helperCompareBeamPattern (pos、锥度、w、designed_w 90:90, az,...{“预期模式”“未校准模式”},...“校准前的光束图”);

图中包含一个axes对象。标题为Beam Pattern Before Calibration的axis对象包含5个类型为line的对象。这些对象表示预期模式、未校准模式。

从绘制的模式可以清楚地看出,未经校准的权重所产生的模式不满足要求。它在所需的10度方位角方向附近放置一个null值。这意味着所需的信号不能再被检索。幸运的是,阵列校准可以帮助使模式恢复正常。

飞行员校准

有许多算法可用于执行阵列校准。一类常用的算法是导频校准。该算法在已知方向上设置多个信号源,然后使用阵列接收来自这些发射机的信号。由于这些发射机都在已知的方向上,因此可以计算出理想阵列的预期接收信号。将这些数据与实际接收到的信号进行比较,就有可能推导出由于不确定性而产生的差异,并对其进行修正。

下面的代码显示了阵列校准的过程。首先,需要在不同的方向选择试点来源。注意,导频源的数量决定了算法可以修正的不确定性的数量。在本例中,要纠正传感器位置不确定性和锥度不确定性,至少需要四个外部源。如果使用更多的来源,估计将得到改善。

Pilot_ang = [-60, - 5,5, 40;- 10,0,0,30];

四个导频源位于以下方位角和仰角对:(-60,-10),(- 5,0),(5,0)和(40,30)。从这些飞行员接收到的信号可以模拟成

m =大小(pilot_ang 2): 1:1 calib_sig(:,:,米)= sensorsig (pos、Nsamp pilot_ang(:,米),...ncov,“锥”、锥形);结束

标定算法[1]利用阵列上的导频信号,结合所设计阵列的单元位置和锥角,估计出扰动阵列的单元位置和锥角。

[est_pos,est_taper] = pilotcalib(designd_pos,...calib_sig、pilot_ang designed_taper);

一旦估计的位置和锥度可用,在计算波束形成器权重时,这些可以用来代替设计的阵列参数。这就产生了下面红线所示的数组模式。

* * * * * * * * * * * * * * * * * *...steervec (est_pos az)), (0, 1, 0), rx_cov);helperCompareBeamPattern (pos、锥度、...w corrected_w 90:90、阿兹...{“预期模式”“校准模式”},...“校准后的光束模式”);

图中包含一个axes对象。标题为Beam Pattern After Calibration的axis对象包含5个类型为line的对象。这些对象表示预期模式、校准模式。

从上图可以看出,经过校准的阵列得到的图像要比未经校准的阵列得到的图像好得多。特别是,来自所需方向的信号现在被保存了下来。

总结

这个例子展示了阵列的不确定性如何影响其响应模式,进而降低阵列的性能。该示例还说明了如何使用导频校准来帮助恢复阵列性能。

参考文献

[1] N. Fistas和A. Manikas,“一种新的通用全局阵列校准方法”,IEEE学报,第4卷,第73-76页,1994年4月。