空间谱专题02:波束形成(Beamforming)

作者:桂。

时间:2017-08-22  10:56:45

链接:http://www.cnblogs.com/xingshansi/p/7410846.html 


前言

本文主要记录常见的波束形成问题,可以说空间谱估计是波束形成基础上发展而来,在系统论述空间谱之前,有必要分析一些Beamforming的基本特性。

一、波束形成模型

以均匀线阵为例:

按窄带模型分析:

可以写成矩阵形式:

其中方向矢量或导向矢量(Steering Vector),波束形成主要是针对各个接收信号X进行权重相加。

 

二、波束形成基本理论

  A-波束形成

权重相加:

不同的波束形成,就是不同的权重W。

  B-瑞利限

以均匀直角窗为例:

得出方向图:

主瓣宽度正比于孔径宽度的倒数:

因为孔径的限制,造成波束宽度存在限制(不会无限制小),近而落在主瓣波束内部的两个信号便会混在一起而分不清,这就存在瑞利限的问题。

直角窗主瓣宽度为:

其中λ为入射波长,theta1为入射角,Md为阵列孔径。

  C-常见窗函数

 对于空间不同的阵列信号,类似采样分析(空域采样),自然可以加窗进行处理,不加窗可以认为是直角窗,另外也可以选择汉明窗、hanning窗等等。

加窗可以改变波束宽度以及主瓣、副瓣等特性,可以借助MATLAB 的wvtool观察不同窗函数特性。

N = 192;
w = window(@blackmanharris,N);
wvtool(w)

  D-DFT实现

 阵列的采样间隔是相位信息:

这就类似于频域变换,只不过这里的相位信息:对应的不是频率,而是不同位置,可以看作空域的变换。

分别对阵列信号进行直接加权、加窗、DFT实现:

function x = StatSigGenerate(M,N,DOA,SNR,SignalMode,lambda,d)ld = length(DOA);
if strcmp(SignalMode,'Independent')st = randn(ld,N)+1j*randn(ld,N);
elseif strcmp(SignalMode,'Coherent')st = [];st1 = randn(1,N)+1j*randn(1,N);for k = 1:ldst = [st;st1];end
end
st = st/sqrt(trace(st*st'/N)/ld);
nt = randn(M,N)+1j*randn(M,N);
nt = nt/sqrt(trace(nt*nt'/N)/M);SNR = ones(1,ld)*SNR;
Amp = diag(10.^(SNR/20));
A = exp(1j*2*pi*[0:M-1]'*sind(DOA)*d/lambda);
x = A*Amp*st+nt;
end

  主程序:

clc;clear all;close all
M = 32;
DOA = [-30 30];
SNR = 10;
theta = -90:.1:90;
len = length(theta);
SignalMode = 'Independent';
fc = 1e9;
c = 3e8;
lambda = c/fc;
d = lambda/2;
N = 100;%snap points
x = StatSigGenerate(M,N,DOA,SNR,SignalMode,lambda,d);
R_hat = 1/N*x*x';
output = zeros(3,len);
for i = 1:lena = exp(1j*2*pi*[0:M-1]'*sind(theta(i))*d/lambda);W = (inv(R_hat)*a)*(1./(a'*inv(R_hat)*a));output(1,i) = mean(abs(W'*x),2);output(2,i) = 1./(a'*inv(R_hat)*a);output(3,i) = a'*x*ones(N,1);
end
output = abs(output);
output = output - repmat(mean(output.')',1,size(output,2));
output = output./repmat(max(output.')',1,size(output,2));
%plot
plot(theta,output(1,:),'k',theta,output(2,:),'r--',theta,output(3,:),'b');
legend('MVDR 波束','MVDR 谱','固定权重 波束');

  对应结果图:

  E-自适应波束形成

 直接相加也好、加窗也好,都是固定的权重系数,没有考虑到信号本身的特性,所以如果结合信号本身去考虑就形成了一系列算法:自适应波束形成。

这类步骤通常是:

1)给定准则函数;

2)对准则函数进行求解。

准则常用的有:信噪比(snr)最大准则、均方误差最小准则(MSE)、线性约束最小方差准则(LCMV)、最大似然准则(ML)等等;

求解的思路大体分两类:1)直接求解,例如MVDR中的求解;2)也可以利用梯度下降的思想,如随机梯度下降、批量梯度下降、Newton-raphson等方法,不再详细说明。

以MVDR举例:

这里采用直接求解的思路:

将求解的W带入

 即可得到波束形成。

  F-栅瓣现象

 栅瓣是一类现象,对应干涉仪就是相位模糊(相位超过2*pi),对应到Beamforming就是栅瓣问题,具体不再论述,给出现象(同样的波束,在不同的位置分别出现):

  G-波束形成与空间谱

 之前分析过MVDR的方法,得到的输出(含有约束的最小均方误差准则)为:

有时候也称这个输出为空间谱,其实就是|y2(t)|,但这个与MUSIC等算法的谱还不是一回事,只是有时候也被称作空间谱,所以这里多啰嗦几句,分析这个说法的来源。

已知N个采样点的信号,对其进行傅里叶变换:

进一步得到功率谱密度:

根据上文的分析:y(t)其实对应的就是空域变换(可借助DFT实现),类比于时频处理中的频域变换。而这里又可以看到频域变换的平方/长度,对应就是功率谱,这是频域的分析。

对应到空域,自然就是|y2(t)|/长度,对应空间谱,长度只影响比例关系,所以MVDR的最小方差输出被称作:空间谱也是合适的。

 给出一个测试(这里如果),对比MVDR的y(t)、MVDR功率谱以及普通Beamforming的结果:

clc;clear all;close all
M = 32;
DOA = [-30 30];
SNR = 10;
theta = -90:.1:90;
len = length(theta);
SignalMode = 'Independent';
fc = 1e9;
c = 3e8;
lambda = c/fc;
d = lambda/2;
N = 100;%snap points
x = StatSigGenerate(M,N,DOA,SNR,SignalMode,lambda,d);
R_hat = 1/N*x*x';
output = zeros(3,len);
for i = 1:lena = exp(1j*2*pi*[0:M-1]'*sind(theta(i))*d/lambda);W = (inv(R_hat)*a)*(1./(a'*inv(R_hat)*a));output(1,i) = mean(abs(W'*x),2);output(2,i) = 1./(a'*inv(R_hat)*a);output(3,i) = a'*x*ones(N,1);
end
output = abs(output);
output = output - repmat(mean(output.')',1,size(output,2));
output = output./repmat(max(output.')',1,size(output,2));
%plot
plot(theta,output(1,:),'k',theta,output(2,:),'r--',theta,output(3,:),'b');
legend('MVDR 波束','MVDR 谱','固定权重 波束');

  对应结果:

如果将d = lambda/2;改为d = lambda/0.5;,自然就有了栅瓣:

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/242801.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

常见的矩阵形式

作者:桂。 时间:2017-08-22 12:30:33 链接:http://www.cnblogs.com/xingshansi/p/7411043.html 前言 记录经常用到的矩阵形式。 A-正交矩阵 定义:一实的正方矩阵Q∈Rnxn,称为正交矩阵,若: B-酉…

网上看的几点人生建议

在博客上看到一篇关于给二十几岁人的人生建议,觉得颇有道理,写一下关于这个感想,提醒现在和以后的你和自己。 人生路上,确实是一切都是未知的,你不知道你下一刻,面临的会是什么,我们无法预知未…

空间谱专题03:时空特性与采样定理

作者:桂。 时间:2017-08-27 08:07:30 链接:http://www.cnblogs.com/xingshansi/p/7439558.html 一、一阶无模糊特性 可结合时域、空域对偶性一文来理解。 在DOA ambiguity vs. array configuration for subspace-based DF method 一文&…

远程登录到Linux服务器

远程登录到Linux服务器 要求能够Ping通 第一步: 两边就可以互换文件了!

采样定理

作者:桂。 时间:2017-08-28 19:09:42 链接:http://www.cnblogs.com/xingshansi/p/7445454.html 原文链接:http://pan.baidu.com/s/1nvFopuD 一、Nyquist采样定理 对于一个频带限制在(0,fh)的连…

信号分析中一些特征量

时域均值 有效值(RMS,对时间的均值:) 时域峰值 方差 协方差 短时能量 短时过零率 子频带能量比 频域概要:信号频谱是在频率域对原信号分布情况的描述,能够提供比时域波形更加直观的特征信息。频谱分析是机械…

Contains Duplicate II

https://leetcode.com/problems/contains-duplicate-ii/ Given an array of integers and an integer k, find out whether there are two distinct indices i and j in the array such that nums[i] nums[j] and the difference between i and j is at most k. 这道题目源自…

《现代语音信号处理》(胡航著)第1-6章简介

根据《现代语音信号处理》(胡航版)总大概列出前六章的内容,有些会有一些自己的理解和总结。 第一章 绪论发展史和主要研究内容及发展。第二章 语音信号处理的基础知识:语音信号处理的基础知识 语音的产生过程 语音信号的特性&…

时域、空域对偶性

厚着脸皮要在同事公众号上写篇文章,尽量浅显、与专业相关,选了这个主题。 一、时域与空域特性 以远场模型(平面波)为例,假设均匀线阵接收的为窄带信号,假设相邻振元间隔为d,入射角为&#xff1a…

开机重启,用户登录注销

开机重启,用户登录注销 用户管理 查询用户信息 用户组 在Linux下没有消息就是成功了(没有消息就是好消息)! 用户和组相关文件

Power of Two

https://leetcode.com/problems/power-of-two/ Given an integer, write a function to determine if it is a power of two. 数字 2^n 是大于0的&#xff0c;而且等于1左移n位得到的数字&#xff0c;所以2^n与2^n-1 相与运算得到0. bool isPowerOfTwo(int n) {if(n < 0)…

DCASE2013挑战赛介绍

简介2013 年起&#xff0c;为了评测现有的环境声音检测方法&#xff0c;电子与电气工程师学会音频和声学信号处理协会(Institute of Electrical and Electronics Engineers Audio and Acoustic Signal Process, IEEE AASP )开始举办声学场景和事件的检测与分类挑战赛(Detection…

DCASE挑战赛原始提案文件(详细信息)

本文是根据DCASE2013挑战赛的提案文件&#xff0c;加上个人的理解做了相应的翻译&#xff0c;可能有不对的地方&#xff0c;在之后的会慢慢改善。 背景在过去的十年里&#xff0c;人们对在代码公布和公共评估中提出方法的语音和音频处理社区的兴趣越来越浓厚。公共评估可以作为…

Number of 1 Bits

https://leetcode.com/problems/number-of-1-bits/ Write a function that takes an unsigned integer and returns the number of ’1’ bits it has (also known as the Hamming weight). For example, the 32-bit integer ’11’ has binary representation 0000000000000…

信号分析方法介绍

从开始的ICA&#xff0c;到稀疏表示&#xff0c;然后2001年发明NMF。 利用矩阵分解来解决实际问题的分析方法很多&#xff0c;如PCA(主成分分析)、ICA(独立成分分析)、SVD(奇异值分解)、VQ(矢量量化)等。在所有这些方法中&#xff0c;原始的大矩阵V被近似分解为低秩的VWH形式。…

文件目录类

文件目录类 enter表示查看下一行&#xff1b;空格键表示查看下一页

Counting Bits

https://leetcode.com/problems/counting-bits/ Given a non negative integer number num. For every numbers i in the range 0 ≤ i ≤ num calculate the number of 1’s in their binary representation and return them as an array. Example: For num 5 you should …

Detection and Classification of Acoustic Scenes and Events(DCASE2013详细介绍)

在DCASE 2013官网上&#xff0c;了解到在本篇文章中&#xff0c;详细描述了DCASE2013挑战赛的结果。下面加上个人的理解做了相应的翻译&#xff0c;可能有不对的地方&#xff0c;在之后的会慢慢改善。 摘要对于智能系统来说&#xff0c;使用音频形态是最好的&#xff0c;重点在…

MarkDown编辑器常用语法

分割线三个或更多-_*&#xff0c;必须单独一行&#xff0c;可含空格&#xff0c;如---、 ***、 ___。 效果如下&#xff1a; 如果上面的符号是紧挨着上文的文字&#xff0c;就是细线&#xff0c;否则就是上面显示的粗线。 图片链接![图片的名称](图片的本地连接或网络连接)&…