作者:桂。
時間:2017-03-24 06:52:36
鏈接:http://www.cnblogs.com/xingshansi/p/6609317.html
聲明:歡迎被轉載,不過記得注明出處哦~
【讀書筆記03】
前言
西蒙.赫金的《自適應濾波器原理》第四版,上一篇看到維納濾波基本形式:最優化問題,且無任何條件約束。這次看到有約束的部分,簡單整理一下思路:
1)拉格朗日乘子法;
2)線性約束最小方差濾波器(Linearly constrained minimum-variance,LCMV);
3)譜估計之MVDR算法(Minimum variance distortionless response ,MVDR);
內容為自己的學習總結,如有錯誤之處,還請各位幫忙指出!
一、拉格朗日乘子法
學習到含有約束條件的Wiener Filter,拉格朗日乘子法是解決:將含約束條件的優化問題轉化為無約束條件優化問題的途徑,故先梳理一下。
A-只含一個等式約束的最優化
實函數$f\left( {\bf{w}} \right)$是參數向量${\bf{w}}$的二次函數,約束條件是:
${{{\bf{w}}^H}{\bf{s}} = g}$
其中$\bf{s}$是已知向量,$g$是復常數。例如在波束形成應用中${\bf{w}}$表示各傳感器輸出的一組復數權值,$\bf{s}$是一個旋轉向量。假設該問題是一個最小化問題,令$c\left( {\bf{w}} \right) = {{\bf{w}}^H}{\bf{s}} - g = 0 + j0$可以描述為:
所謂拉格朗日乘子法,就是引入拉格朗日乘子:將上述約束最小化問題轉化為無約束問題,定義一個新的實函數:
$h\left( {\bf{w}} \right) = f\left( {\bf{w}} \right) + {\lambda _1}{\mathop{\rm Re}\nolimits} \left[ {c\left( {\bf{w}} \right)} \right] + {\lambda _2}{\mathop{\rm Im}\nolimits} \left[ {c\left( {\bf{w}} \right)} \right]$
現在定義一個復拉格朗日乘子:
$\lambda = {\lambda _1} + {\lambda _2}$
$h({\bf{w}})$改寫為:
$h\left( {\bf{w}} \right) = f\left( {\bf{w}} \right) + {\mathop{\rm Re}\nolimits} \left[ {{\lambda ^*}c\left( {\bf{w}} \right)} \right]$
至此,無約束優化問題轉化完成,利用偏導求參即可,其實這是一個簡化的形式,分別求解$\lambda _1$、$\lambda _2$也是一樣的。
B-包含多個等式約束的最優化
實函數$f\left( {\bf{w}} \right)$是參數向量${\bf{w}}$的二次函數,約束條件是:
${{{\bf{w}}^H}{\bf{s_k}} = g_k}$
其中$k = 1,2...K$,方法同單個約束情況相同,求解伴隨方程:
$\frac{{\partial f}}{{\partial {{\bf{w}}^*}}} + \sum\limits_{k = 1}^K {\frac{\partial }{{\partial {{\bf{w}}^*}}}\left( {{\mathop{\rm Re}\nolimits} \left[ {\lambda _k^*{c_k}\left( {\bf{w}} \right)} \right]} \right)} = {\bf{0}}$
此時與多個等式約束聯合成方程組,這個方程組定義了${\bf{w}}$和拉格朗日乘子${\lambda _1}$、${\lambda _2}$...${\lambda _K}$的解。
二、線性約束最小方差濾波器
之前看到的維納濾波都是基於最小均方誤差准則,而沒有添加任何約束,此處考慮含有線性約束情況下的方差濾波器,文中給了一個圖:
其中$x(n)$為輸入信號(即$u$,為了與下文統一,用$x$表示),$w_i$為權重,$y(n)$為濾波器輸出:
$y\left( n \right) = \sum\limits_{k = 0}^{M - 1} {{w^*_k}x\left( {n - k} \right)} $
這個優化問題如果沒有約束可以表述為:
$\arg \mathop {\min }\limits_{\bf{w}} J = E\left[ {{y^H}y} \right]$
假設$\theta_0$為目標達到角,希望對該角度特殊處理:如果該角是目標角,希望其幅度保持不衰減,即$\sum\limits_{k = 0}^{M - 1} {{w^*_k}{e^{ - jk{\theta _0}}}} = 1$;反之,如果是干擾信號,希望其幅度衰減為0,即$\sum\limits_{k = 0}^{M - 1} {{w^*_k}{e^{ - jk{\theta _0}}}} = 0$;無論是0還是1,都是對優化問題的一種約束形式,寫出更一般的約束形式:
$\sum\limits_{k = 0}^{M - 1} {{w^*_k}{e^{ - jk{\theta _0}}}} = g$
$g$是一個復增益。利用拉格朗日乘子法給出約束條件下准則函數(暫不考慮噪聲情況):
$J = {{\bf{w}}^H}{R_{xx}}{\bf{w}} + {\mathop{\rm Re}\nolimits} \left[ {{\lambda ^*}\left[ {{{\bf{w}}^H}{\bf{s}}\left( {{\theta _0}} \right) - g} \right]} \right]$
其中${\bf{s}}\left( {{\theta _0}} \right) = \left[ {1,{e^{ - j{\theta _0}}},...,{e^{ - j(M - 1){\theta _0}}}} \right]$,$M$是權向量$\bf{w}$的個數,則到系數解:
$\lambda = - \frac{{2g}}{{{{\bf{s}}^H}\left( {{\theta _0}} \right){{\bf{R}}^{ - 1}}{\bf{s}}\left( {{\theta _0}} \right)}}$
對應最優權向量:
${{\bf{w}}_{opt}} = \frac{{{g^*}{{\bf{R}}^{ - 1}}{\bf{s}}\left( {{\theta _0}} \right)}}{{{{\bf{s}}^H}\left( {{\theta _0}} \right){{\bf{R}}^{ - 1}}{\bf{s}}\left( {{\theta _0}} \right)}}$
以權向量${{\bf{w}}_{opt}}$表征的波束形成器稱為線性約束最小方差(LCMV, linearly constrained minimum-variance)波束形成器,也稱LCMV濾波器。
三、LCMV應用——MVDR算法
實際應用中信號摻雜了噪聲。假設原信號$s(t)$,接收器收集的是不同時延的混合信號,經過采樣量化后得$x(n)$,現在希望通過自適應權重$w$輸出符合需求的$y$,假設通道個數為$N$,給出接收通道模型:
寫成矩陣形式:
進行相關矩陣求解:
可以發現如果$w^Hw$為定值,則噪聲對最優權值的求解無影響,LCMV可用。
給出混合模型:
對應准則函數(此處$g = 1$):
借助LCMV的分析,得出MVDR最優權重:
實際應用中,通常用時間換空間,借助遍歷性近似求解相關矩陣:
給出代碼:
doas=[-30 -5 40]*pi/180; %DOA's of signals in rad. P=[1 1 1]; %Power of incoming signals N=10; %Number of array elements K=1024; %Number of data snapshots d=0.5; %Distance between elements in wavelengths noise_var=40; %Variance of noise r=length(doas); %Total number of signals % Steering vector matrix. Columns will contain the steering vectors of the r signals A=exp(-i*2*pi*d*(0:N-1)'*sin([doas(:).'])); % Signal and noise generation sig=round(rand(r,K))*2-1; % Generate random BPSK symbols for each of the % r signals noise=sqrt(noise_var/2)*(randn(N,K)+i*randn(N,K)); %Uncorrelated noise X=A*diag(sqrt(P))*sig+noise; %Generate data matrix R=X*X'/K; %Spatial covariance matrix %MVDR IR=inv(R); %Inverse of covariance matrix for k=1:length(angles) mvdr(k)=1/(a1(:,k)'*IR*a1(:,k)); end figure; plot(angles,abs(mvdr)/max(abs(mvdr)),'k');hold on; xlabel('Angle in degrees') %Estimate DOA's using the classical beamformer for k=1:length(angles) Classical(k)=(a1(:,k)'*R*a1(:,k)); end plot(angles,abs(Classical)/max(abs(Classical)),'r--');grid on; legend('MVDR','Classical Beamformer');
對應結果圖:
噪聲較大時:
二者就比較接近,可以發現:
- 信號與噪聲不相關、且噪聲為白噪聲時,仍能求解最優權值;
- 噪聲較大時,MVDR與無約束最優濾波效果接近,此時MVDR的優勢不再明顯,這也容易理解,噪聲占主要成分時對波束的約束保留效果不再明顯。
兩點補充:
1)因為LCMV中有矩陣求逆一項,所以補充說明一點:默認不同角度信號不相干,只記錄學習的理論知識,不論及技術細節處。
2)基於窄帶分析。如果是寬帶,則可以划分多個自帶,或者利用聚焦矩陣預處理,窄帶才有如下近似(且一個頻帶內才可以用一個頻率表征):
參考:
Jeffrey Foutz, Andreas Spanias, and Mahesh K. Banavar《Narrowband Direction of Arrival Estimation for Antenna Arrays》.
Simon Haykin 《Adaptive Filter Theory Fourth Edition》.