主要内容

分阶段。GSCBeamformer

广义旁瓣抵消波束形成器

描述

分阶段。GSCBeamformer系统对象™实现了一个广义旁瓣抵消波束形成器。GSC波束形成器将传入信号分成两个通道。一个通道通过常规波束形成路径,第二个通道进入旁瓣抵消路径。该算法首先对阵列进行波束形成方向的预调整,然后自适应选择滤波器权值,使旁瓣抵消路径输出功率最小。该算法采用最小均方(LMS)算法计算自适应权重。最终的波束形成信号是两条路径输出之间的差值。

计算波束形成信号:

  1. 创建分阶段。GSCBeamformer对象并设置其属性。

  2. 使用参数调用对象,就像调用函数一样。

有关系统对象如何工作的详细信息,请参见什么是系统对象?

创建

描述

beamformer=分阶段。GSCBeamformer创建一个GSC波束形成系统对象,beamformer,使用默认属性值。

beamformer=分阶段。GSCBeamformer (名字价值创建一个GSC波束形成对象,beamformer,将每个指定的属性Name设置为指定的Value。您可以以任意顺序指定额外的名-值对参数,如(Name1Value1、……).将每个属性名用单引号括起来。

例子:beamformer = phase . gscbeamformer ('SensorArray',phase . ula ('NumElements',20),'SampleRate',300e3)将传感器阵列设置为统一线性阵列(ULA),除了元素数量外,ULA属性值为默认值。波束形成器的采样率为300千赫。

属性

全部展开

除非另有说明,属性为nontunable,这意味着在调用对象后不能更改它们的值。对象在调用时锁定,而释放功能解锁它们。

如果属性为可调,您可以随时更改其值。

有关更改属性值的详细信息,请参见使用系统对象的MATLAB系统设计

传感器阵列,指定为相控阵系统工具箱阵列系统对象。数组不能包含子数组。

例子:分阶段。URA所言

信号传播速度,指定为实值正标量。单位是米每秒。默认传播速度是返回的值physconst(“光速”)

例子:3 e8

数据类型:|

信号的采样率,用正标量表示。单位是Hz。System对象使用这个量来计算以样本为单位的传播延迟。

例子:1 e6

数据类型:|

FIR滤波器的信号路径长度,指定为正整数。此属性决定了旁瓣对消路径的自适应滤波器大小。传统波束形成路径的FIR滤波器是一个相同长度的delta函数。

例子:4

数据类型:|

自适应滤波器步长因子,指定为正实值标量。当这个量除以旁瓣抵消路径中的总功率时,设置LMS算法中使用的实际自适应滤波器步长。

数据类型:|

波束形成方向的源,指定为“属性”输入端口的.指定波束形成方向是否来自方向属性,或者输入参数,.该属性的值为:

“属性” 属性指定波束形成方向方向财产。
输入端口的 使用输入参数指定波束形成方向,

数据类型:字符

波束形成方向,指定为实值2 × 1向量或实值2 × -向量l矩阵。对于矩阵,每一列指定不同的波束形成方向。每一列都有表单[AzimuthAngle; ElevationAngle].方位角必须在-180°和180°之间,仰角必须在-90°和90°之间。所有角度都是相对于数组的局部坐标系定义的。单位是度。

例子:(40; 30)

依赖关系

属性可启用此属性DirectionSource财产“属性”

数据类型:|

使用

描述

例子

Y= beamformer (X在输入端执行GSC波束形成,X,并返回波束形成的输出,Y

例子

Y= beamformer (X使用作为波束形成方向。要使用此语法,请设置DirectionSource财产输入端口的

输入参数

全部展开

输入信号,指定为复值——- - - - - -N矩阵。信号长度和N中是否指定了数组元素的个数SensorArray财产。属性指定的筛选器长度必须大于FilterLength财产。

输入矩阵的第一个维度的大小可以变化以模拟变化的信号长度。例如,在具有可变脉冲重复频率的脉冲波形的情况下,可以发生大小变化。

数据类型:|
复数支持:金宝app是的

波束形成方向,指定为实值2 × 1列向量[AzimuthAngle; ElevationAngle].单位是度。方位角必须在-180°到180°之间,仰角必须在-90°到90°之间。

例子:(40; 10)

依赖关系

要启用此参数,请设置DirectionSource财产输入端口的

数据类型:

输出参数

全部展开

波束形成的输出,作为复值1 × -返回向量,输入的行数是多少X

数据类型:|
复数支持:金宝app是的

对象的功能

要使用对象函数,请将System对象指定为第一个输入参数。例如,释放system对象的系统资源obj,使用这种语法:

发行版(obj)

全部展开

一步 运行系统对象算法
释放 释放资源并允许更改系统对象属性值和输入特征
重置 重置的内部状态系统对象

例子

全部折叠

为空气中的11元声波阵列创建一个GSC波束形成器。一个啁啾信号入射到阵列上 - 5 0 方位角和 0 在高程。比较GSC波束形成信号和Frost波束形成信号。信号传播速度为340 m/s,采样率为8 kHz。

创建麦克风和数组System对象。阵列元素间距为波长的二分之一。将信号频率设置为奈奎斯特频率的一半。

C = 340.0;Fs = 8.0e3;Fc = fs/2;Lam = c/fc;换能器=相控式。OmnidirectionalMicrophoneElement (“FrequencyRange”[20000]);阵列=相控阵。齿龈(“元素”传感器,“NumElements”11“ElementSpacing”林/ 2);

模拟500hz带宽的啁啾信号。

T = 0:1/fs:.5;信号= chirp(t,0,0.5,500);

制造一个到达阵列的入射波。给波添加高斯噪声。

收集器=阶段性。WidebandCollector (“传感器”数组,“PropagationSpeed”c...“SampleRate”fs,“ModulatedInput”假的,“NumSubbands”, 512);incidentAngle = [-50;0];signal = collector(signal.',incidentAngle);噪声= 0.5*randn(大小(信号));Recsignal =信号+噪声;

按实际入射角执行霜波束形成。

霜束形成器=阶段性。FrostBeamformer (“SensorArray”数组,“PropagationSpeed”...c,“SampleRate”fs,“方向”incidentAngle,“FilterLength”15);Yfrost = frostbeamformer(recsignal);

执行GSC波束形成,并将波束形成输出与Frost波束形成输出进行绘图。还绘制到达数组中间元素的非波束形成的信号。

Gscbeamformer =相控。GSCBeamformer (“SensorArray”数组,...“PropagationSpeed”c“SampleRate”fs,“方向”incidentAngle,...“FilterLength”15);Ygsc = gscbeamformer(recsignal);情节(t * 1000 recsignal (:, 6), t * 1000, yfrost, t, ygsc)包含(“时间(ms)”) ylabel (“振幅”

图中包含一个轴对象。axis对象包含3个line类型的对象。

放大输出的一小部分。

Idx = 1000:1300;情节(t (idx) * 1000 recsignal (idx 6)、t (idx) * 1000, yfrost (idx)、t (idx) * 1000, ygsc (idx))包含(“时间(ms)”)传说(接收信号的“霜冻波束信号”“GSC波束形成信号”

图中包含一个轴对象。axis对象包含3个line类型的对象。这些对象分别代表接收信号、Frost波束形成信号、GSC波束形成信号。

为空气中的11元声波阵列创建一个GSC波束形成器。一个啁啾信号入射到阵列上 - 5 0 方位角和 0 在高程。计算入射波方向和另一个方向上的波束形成信号。比较两个波束形成的输出。信号传播速度为340 m/s,采样率为8 kHz。创建麦克风和数组System对象。阵列元素间距为波长的二分之一。将信号频率设置为奈奎斯特频率的一半。

C = 340.0;Fs = 8.0e3;Fc = fs/2;Lam = c/fc;换能器=相控式。OmnidirectionalMicrophoneElement (“FrequencyRange”[20000]);阵列=相控阵。齿龈(“元素”传感器,“NumElements”11“ElementSpacing”林/ 2);

模拟500hz带宽的啁啾信号。

T = 0:1/fs:0.5;信号= chirp(t,0,0.5,500);

创建一个撞击阵列的入射波场。

收集器=阶段性。WidebandCollector (“传感器”数组,“PropagationSpeed”c...“SampleRate”fs,“ModulatedInput”假的,“NumSubbands”, 512);incidentAngle = [-50;0];signal = collector(signal.',incidentAngle);噪声= 0.1*randn(大小(信号));Recsignal =信号+噪声;

执行GSC波束形成并绘制波束形成器输出。还绘制到达数组中间元素的非波束形成的信号。

Gscbeamformer =相控。GSCBeamformer (“SensorArray”数组,...“PropagationSpeed”c“SampleRate”fs,“DirectionSource”输入端口的...“FilterLength”5);ygsci = gscbeamformer(recsignal,incidentAngle);Ygsco = gscbeamformer(recsignal,[20;30]);情节(t * 1000 recsignal (:, 6), t * 1000, ygsci, t * 1000, ygsco)包含(“时间(ms)”) ylabel (“振幅”)传说('在元素接收到的信号'GSC波束形成信号(入射方向)...GSC波束形成信号(其他方向)“位置”“东南”

图中包含一个轴对象。axis对象包含3个line类型的对象。这些对象分别表示单元接收信号、GSC波束形成信号(入射方向)、GSC波束形成信号(其他方向)。

放大输出的一小部分。

Idx = 1000:1300;情节(t (idx) * 1000 recsignal (idx 6)、t (idx) * 1000, ygsci (idx)、t (idx) * 1000, ygsco (idx))包含(“时间(ms)”)传说('在元素接收到的信号'GSC波束形成信号(入射方向)...GSC波束形成信号(其他方向)“位置”“东南”

图中包含一个轴对象。axis对象包含3个line类型的对象。这些对象分别表示单元接收信号、GSC波束形成信号(入射方向)、GSC波束形成信号(其他方向)。

算法

全部展开

参考文献

[1]格里菲斯,L. J.和查尔斯W.吉姆。“线性约束自适应波束形成的替代方法。”IEEE天线与传播汇刊, 30.1(1982): 27-34。

[2] Van Trees, H。优化阵列处理.纽约:Wiley-Interscience, 2002。

[3]约翰逊,d.h.和丹·e·达金,阵列信号处理,《恩格尔伍德悬崖:普伦蒂斯-霍尔》,1993年。

扩展功能

版本历史

在R2016b中引入