基于MATLAB的阵列信号处理仿真方法
2008年7月 系 统 仿
K
=1∑Rx(k)xH(k)+Jx*(k)xT(k)Jx
2Kk=11
(14) =XXH+JX XTJ
2K
真 学 报 Jul., 2008
前提是信号个数J要是已知量。
对于一个均匀园阵,假设阵元N=8,阵列位于x-y平面,圆心位于原点,半径r为半波长,第i个阵元坐标可以表示为
2π
rcosN(i 1)
2π (20) pi=rsin(i 1) N
0
()
()
由上式可知,去相干协方差矩阵求解程序是在得到相干信号和热噪声产生的数据矩阵X后,采用
Rx=(X*X’+J*conj(X)* transpose (X)*J)/(2*K);
3 DOA估计的子空间算法
对于信号DOA估计,是阵列信号处理的一个重要研究内容。基于子空间的DOA估计和最大似然DOA估计是两种重要算法,但研究表明,这些算法却可以统一为加权的子空间拟和算法[6]。最大似然算法较子空间算法具有更好的
同时结合(6)式,可以得到方向矢量。
2π
jπsinθcos φ 1 1) N e ...v(k)= (21)
2π jπsinθcos φ N 1) N
e
C-R下界,可以克服相干信号影响,但子空间算法却在运算量上优势明显。
3.1 子空间模型
假设空间具有J个信号,他们的方差分别是σ,其中
2
j
假设空间具有三个信号,其DOA来向分别为(2600,200)、、(800,600),信噪比均为10dB,则MATLAB(1800,400)
程序首先应该得到协方差矩阵Rx,然后进行特征分解,最后是谱峰搜索。主要程序为
fi=2*pi/N*[0:1:N-1]’;
[F,D]=eigs(Rx,N-3,'SM'); xa=[0:2:360]*pi/180; ya=[0:1:90]*pi/180; for k=1:length(ya)
for m=1:length(xa)
Va=exp(j* pi*sin(ya(k))*cos(xa(m)-fi)); P(k,m)=1/(Va'*F*F'*Va); end end
mesh(x,y,10*log10(P));
j=1,..,J,而热噪声的方差为σn2,那么,协方差矩阵Rx的
N个特征值分别为
2
i=1,...,J σ2j+σn
λi= (15) 2
i=J+1,...,Nσn
对于J个较大特征值,其对应特征矢量为J个正交矢量,他们张成的空间成为信号子空间。
span{φ1...φJ} (16)
而对于N J个较小特征值,其对应特征矢量也是N J个正交矢量,而他们张成的空间就是噪声子空间。
span{φJ+1...φN} (17)
3.2 子空间MUSIC法
MUSIC算法是典型的子空间算法[7],利用信号子空间和噪声子空间正交性,进行谱峰搜索。由于接收信号是位于信号子空间的,而信号子空间又是和噪声子空间正交的,所以,通过把接收信号方向矢量向噪声子空间投影,其值应该为零,即空间谱函数P(k)具有最大值。
P(k)=
1
(18)
v(k)Πv(k)
φJ+1
...φN] ... (19)
φN
相应仿真结果如图2所示。图的上部分为三维空间谱,下部分是空间谱的投影图。
其中投影算子
Π=[φJ+1
从空间谱表达式(18)中可以看出,进行谱峰搜索的主要问题在于方向矢量表示和协方差矩阵的特征分解。根据方向矢量的定义(7)式,其决定于信号波数和阵元坐标。阵元坐标是固定的,而谱峰搜索过程就是对波数中的DOA进行扫描过程,DOA是空间谱函数的自变量。对于噪声空间投影,虽然定义非常清楚,但在工程实现过程中,计算量却很大。对于MATLAB而言,特征值和对应特征矢量的求解相对较为简单,只需调用函数eigs()就可以直接得到,但
图2 二维MUSIC谱
4 自适应波束合成技术
自适应波束合成技术,本质上就是空域自适应滤波。虽
3550