Steering vector是导向向量,在高分辨率谱估计和波束形成中很重要。
导向矢量矩阵是一个矩阵,其每一列代表一个特定的到达角度,而每一行代表阵列中的一个阵元。假设阵列由M个阵元组成,导向矢量矩阵的维度通常为M×L,其中L表示选择的离散角度的数量。
在matlab中生成steering vector
sv = steervec(pos,ang)
sv = steervec(pos,ang,nqbits)
以下代码指定一个由5个元素组成的均匀线阵列,每个元素间隔10厘米。然后,指定频率为1ghz的入射平面波,到达方位为45°,仰角为0°。计算这个波的导向向量。
% 生成阵列元素
elementPos = (0:.1:.4);
%
c = physconst('LightSpeed');
fc = 1e9;
lam = c/fc;
% 到达方位角和俯仰角
ang = [45;0];
%
sv = steervec(elementPos/lam,ang,3)
输入
1.pos
表示麦克风阵列的位置
Example: [0,0,0; 0.1,0.4,0.3; 1,1,1]
Data Types: double
2.ang
表示接收信号的方位角和俯仰角。
Example: [45;0]
Data Types: double
3.nqbits
用于量化波束形成器相移或转向矢量权重的位数,指定为非负整数。值为0表示不进行量化。
Example: 5
输出
返回一个N*M的复数矩阵(sv)。N表示阵列麦克风的个数,M表示入射平面波的个数(也就是声源的个数)。其中sv中的每一列对应ang的每一列。
sv = 5×1 complex
1.0000 + 0.0000i
0.0887 + 0.9961i
-0.9843 + 0.1767i
-0.2633 - 0.9647i
0.9376 - 0.3478i
标签:ang,阵列,矩阵,sv,Example,vector,steering
From: https://www.cnblogs.com/chenmo100/p/17817078.html