空间谱专题02:波束形成(Beamforming)
作者:桂。
時(shí)間:2017-08-22 ?10:56:45
鏈接:http://www.cnblogs.com/xingshansi/p/7410846.html?
前言
本文主要記錄常見(jiàn)的波束形成問(wèn)題,可以說(shuō)空間譜估計(jì)是波束形成基礎(chǔ)上發(fā)展而來(lái),在系統(tǒng)論述空間譜之前,有必要分析一些Beamforming的基本特性。
一、波束形成模型
以均勻線陣為例:
按窄帶模型分析:
可以寫(xiě)成矩陣形式:
其中為方向矢量或?qū)蚴噶?/strong>(Steering Vector),波束形成主要是針對(duì)各個(gè)接收信號(hào)X進(jìn)行權(quán)重相加。
?
二、波束形成基本理論
A-波束形成
權(quán)重相加:
不同的波束形成,就是不同的權(quán)重W。
B-瑞利限
以均勻直角窗為例:
得出方向圖:
主瓣寬度正比于孔徑寬度的倒數(shù):
因?yàn)榭讖降南拗?#xff0c;造成波束寬度存在限制(不會(huì)無(wú)限制小),近而落在主瓣波束內(nèi)部的兩個(gè)信號(hào)便會(huì)混在一起而分不清,這就存在瑞利限的問(wèn)題。
直角窗主瓣寬度為:
其中λ為入射波長(zhǎng),theta1為入射角,Md為陣列孔徑。
C-常見(jiàn)窗函數(shù)
?對(duì)于空間不同的陣列信號(hào),類似采樣分析(空域采樣),自然可以加窗進(jìn)行處理,不加窗可以認(rèn)為是直角窗,另外也可以選擇漢明窗、hanning窗等等。
加窗可以改變波束寬度以及主瓣、副瓣等特性,可以借助MATLAB 的wvtool觀察不同窗函數(shù)特性。
N = 192; w = window(@blackmanharris,N); wvtool(w)D-DFT實(shí)現(xiàn)
?陣列的采樣間隔是相位信息:
這就類似于頻域變換,只不過(guò)這里的相位信息:對(duì)應(yīng)的不是頻率,而是不同位置,可以看作空域的變換。
分別對(duì)陣列信號(hào)進(jìn)行直接加權(quán)、加窗、DFT實(shí)現(xiàn):
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 譜','固定權(quán)重 波束');對(duì)應(yīng)結(jié)果圖:
E-自適應(yīng)波束形成
?直接相加也好、加窗也好,都是固定的權(quán)重系數(shù),沒(méi)有考慮到信號(hào)本身的特性,所以如果結(jié)合信號(hào)本身去考慮就形成了一系列算法:自適應(yīng)波束形成。
這類步驟通常是:
1)給定準(zhǔn)則函數(shù);
2)對(duì)準(zhǔn)則函數(shù)進(jìn)行求解。
準(zhǔn)則常用的有:信噪比(snr)最大準(zhǔn)則、均方誤差最小準(zhǔn)則(MSE)、線性約束最小方差準(zhǔn)則(LCMV)、最大似然準(zhǔn)則(ML)等等;
求解的思路大體分兩類:1)直接求解,例如MVDR中的求解;2)也可以利用梯度下降的思想,如隨機(jī)梯度下降、批量梯度下降、Newton-raphson等方法,不再詳細(xì)說(shuō)明。
以MVDR舉例:
這里采用直接求解的思路:
將求解的W帶入
?即可得到波束形成。
F-柵瓣現(xiàn)象
?柵瓣是一類現(xiàn)象,對(duì)應(yīng)干涉儀就是相位模糊(相位超過(guò)2*pi),對(duì)應(yīng)到Beamforming就是柵瓣問(wèn)題,具體不再論述,給出現(xiàn)象(同樣的波束,在不同的位置分別出現(xiàn)):
G-波束形成與空間譜
?之前分析過(guò)MVDR的方法,得到的輸出(含有約束的最小均方誤差準(zhǔn)則)為:
有時(shí)候也稱這個(gè)輸出為空間譜,其實(shí)就是|y2(t)|,但這個(gè)與MUSIC等算法的譜還不是一回事,只是有時(shí)候也被稱作空間譜,所以這里多啰嗦幾句,分析這個(gè)說(shuō)法的來(lái)源。
已知N個(gè)采樣點(diǎn)的信號(hào),對(duì)其進(jìn)行傅里葉變換:
進(jìn)一步得到功率譜密度:
根據(jù)上文的分析:y(t)其實(shí)對(duì)應(yīng)的就是空域變換(可借助DFT實(shí)現(xiàn)),類比于時(shí)頻處理中的頻域變換。而這里又可以看到頻域變換的平方/長(zhǎng)度,對(duì)應(yīng)就是功率譜,這是頻域的分析。
對(duì)應(yīng)到空域,自然就是|y2(t)|/長(zhǎng)度,對(duì)應(yīng)空間譜,長(zhǎng)度只影響比例關(guān)系,所以MVDR的最小方差輸出被稱作:空間譜也是合適的。
?給出一個(gè)測(cè)試(這里如果),對(duì)比MVDR的y(t)、MVDR功率譜以及普通Beamforming的結(jié)果:
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 譜','固定權(quán)重 波束');對(duì)應(yīng)結(jié)果:
如果將d = lambda/2;改為d = lambda/0.5;,自然就有了柵瓣:
?
總結(jié)
以上是生活随笔為你收集整理的空间谱专题02:波束形成(Beamforming)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 这些人,建议你不要去贷款了
- 下一篇: 这波羊毛薅不成了!苹果官网以旧换新bug