首页 > 其他分享 >steering vector

steering vector

时间:2023-11-08 12:14:48浏览次数:43  
标签:ang 阵列 矩阵 sv Example vector steering

Steering vector是导向向量,在高分辨率谱估计和波束形成中很重要。

导向矢量矩阵是一个矩阵,其每一列代表一个特定的到达角度,而每一行代表阵列中的一个阵元。假设阵列由M个阵元组成,导向矢量矩阵的维度通常为M×L,其中L表示选择的离散角度的数量。
image

在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

相关文章

  • C++ 容器之 Vector
    什么是Vector?向量(Vector)是一个封装了动态大小数组的顺序容器(SequenceContainer)。跟任意其它类型容器一样,它能够存放各种类型的对象。可以简单的认为,向量是一个能够存放任意类型的动态数组。容器特性顺序序列顺序容器中的元素按照严格的线性顺序排序。可以通过元素在序......
  • 支持向量机(Support Vector Machine,SVM)
    支持向量机(SupportVectorMachine,SVM)是CorinnaCortes和Vapnik8等于1995年首先提出的,它在解决小样本、非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中。所谓支持向量是指那些在间隔区边缘的训练样本点。这里的“机(machine,机器)”实......
  • 神经网络基础篇:关于 python_numpy 向量的说明(A note on python or numpy vectors)
    关于python_numpy向量的说明主要讲Python中的numpy一维数组的特性,以及与行向量或列向量的区别。并说一下在实际应用中的一些小技巧,去避免在coding中由于这些特性而导致的bugPython的特性允许使用广播(broadcasting)功能,这是Python的numpy程序语言库中最灵活的地方。而本人认为......
  • 神经网络基础篇:详解向量化逻辑回归(Vectorizing Logistic Regression)
    向量化逻辑回归讨论如何实现逻辑回归的向量化计算。这样就能处理整个数据集,甚至不会用一个明确的for循环就能实现对于整个数据集梯度下降算法的优化首先回顾一下逻辑回归的前向传播步骤。所以,如果有\(m\)个训练样本,然后对第一个样本进行预测,需要这样计算。计算\(z\),正在使......
  • c实现一个简单的vector
    用c语言实现了一个简单的Vector,支持泛型,能动态的改变自身大小的容器#include<stdio.h>#include<malloc.h>#include<stdlib.h>#include<string.h>#include<assert.h>typedefstructVector{void*items;//迭代器size_titems_size;//单个元素大小size_t......
  • 引用与vector
    今天写线段树合并的时候,忽然想到可以用vector存树,这样就不用算空间了。然后有了下面代码:voidmodify(int&u,intl,intr,intp,intk){ if(!u)u=newnode(); if(l==r){ tr[u].max+=k; tr[u].id=p; return; } intmid=(l+r)>>1; if(p<=mid)modify(tr[u].ls,l,m......
  • 神经网络基础篇:向量化(Vectorization)
    向量化向量化是非常基础的去除代码中for循环的艺术,在深度学习安全领域、深度学习实践中,会经常发现自己训练大数据集,因为深度学习算法处理大数据集效果很棒,所以的代码运行速度非常重要,否则如果在大数据集上,代码可能花费很长时间去运行,将要等待非常长的时间去得到结果。所以在深度......
  • C++从std::vector<int>类型数据创建二叉树
    背景在和chatGPT的日常代码交流中,这位“老师”总能给出不不少好代码,以下就是C++从std::vector类型数据创建二叉树的完整代码段:TreeNode*createBinaryTree(conststd::vector<int>&nodes,intindex){if(index>=nodes.size()||nodes[index]==-1){retu......
  • C++中vector容器详解
    参考链接:https://www.runoob.com/w3cnote/cpp-vector-container-analysis.html一、什么是vector?向量(Vector)是一个封装了动态大小数组的顺序容器(SequenceContainer)。跟任意其它类型容器一样,它能够存放各种类型的对象。可以简单的认为,向量是一个能够存放任意类型的动态数组。二......
  • cuda vectorized实现矩阵转置
    使用了共享内存和向量化传输,目前为止效果最好的一个实现__global__voidtransposeSmemVec(float*input,float*output,constintX,constintY){__shared__floatsmem[32*4*32];unsignedintix=4*(blockDim.x*blockIdx.x+threadIdx.x);......