均匀面阵抗干扰算法原理及MATLAB仿真
均匀面阵抗干扰算法原理及MATLAB仿真
仿真方向图,频谱图,计算输出SNR、INR、SINR
文章目录
- 前言
- 一、抗干扰算法原理
- 二、抗干扰算法仿真
- 三、MATLAB源代码
- 总结
前言
\;\;\;\;\; 在阵列信号处理中,信号的抗干扰处理是重中之重,传输期望信号的时候总是会伴随有人为的或者非人为的干扰,那么就需要经过信号处理算法将干扰抑制掉。在之前的文章中已经介绍过MVDR算法应用于线阵的情况,本文介绍均匀面阵抗干扰算法的原理和MATLAB仿真,通过绘制方向图,频谱图,计算阵列输出信号的SNR、INR、SINR来验证成功抑制掉了干扰。
提示:以下是本篇文章正文内容,尊重版权,引用请附上链接。
一、抗干扰算法原理
下图为面阵入射信号模型,
整个均匀矩形阵列的阵元数为M*N ,阵列接收信号可以表示为:
z
(
t
)
=
A
s
(
t
)
+
n
(
t
)
\boldsymbol{z}(t)=\boldsymbol A \boldsymbol s(t)+\boldsymbol n(t)
z(t)=As(t)+n(t)其中
A
\boldsymbol A
A是维度为(MN×K)的均匀矩形阵列的阵列流形,可以表示为如下所示的式子:
A
=
[
a
(
θ
k
,
φ
1
)
,
a
(
θ
2
,
φ
2
)
,
⋯
,
a
(
θ
K
,
φ
K
)
]
T
\mathbf{A}=\begin{bmatrix}\boldsymbol{a}(\theta_k,\varphi_1),\boldsymbol{a}(\theta_2,\varphi_2),\cdots,\boldsymbol{a}(\theta_K,\varphi_K)\end{bmatrix}^T
A=[a(θk,φ1),a(θ2,φ2),⋯,a(θK,φK)]T
a
(
θ
k
,
φ
k
)
\boldsymbol{a}(\theta_k,\varphi_k)
a(θk,φk)为第k个入射信号的导向矢量,仅仅由阵列的阵元排布和参考阵元的选择所决定,用公式可以表示为:
a
(
θ
k
,
φ
k
)
=
a
x
(
θ
k
,
φ
k
)
⊗
a
y
(
θ
k
,
φ
k
)
∈
C
M
N
×
1
\boldsymbol{a}(\theta_k,\varphi_k)=\boldsymbol{a}_x(\theta_k,\varphi_k)\otimes\boldsymbol{a}_y(\theta_k,\varphi_k)\in C^{MN\times1}
a(θk,φk)=ax(θk,φk)⊗ay(θk,φk)∈CMN×1 其中
⊗
\otimes
⊗表示的是克罗内克内积(Kronecker Product),
a
x
(
θ
k
,
φ
k
)
\boldsymbol{a}_x(\theta_k,\varphi_k)
ax(θk,φk)表示x轴方向上均匀线阵接收信号的方向矢量,
a
y
(
θ
k
,
φ
k
)
\boldsymbol{a}_y(\theta_k,\varphi_k)
ay(θk,φk)表示y轴方向上均匀线阵接收信号的方向矢量,可分别写为如下数学表达式:
a
x
(
θ
k
,
φ
k
)
=
[
a
x
,
0
(
θ
k
,
φ
k
)
,
a
x
,
1
(
θ
k
,
φ
k
)
,
⋯
,
a
x
,
M
−
1
(
θ
k
,
φ
k
)
]
T
\boldsymbol{a}_x(\theta_k,\varphi_k)=\begin{bmatrix}a_{x,0}(\theta_k,\varphi_k),a_{x,1}(\theta_k,\varphi_k),\cdots,a_{x,M-1}(\theta_k,\varphi_k)\end{bmatrix}^T
ax(θk,φk)=[ax,0(θk,φk),ax,1(θk,φk),⋯,ax,M−1(θk,φk)]T
a
y
(
θ
k
,
φ
k
)
=
[
a
y
,
0
(
θ
k
,
φ
k
)
,
a
y
,
1
(
θ
k
,
φ
k
)
,
⋯
,
a
y
,
N
−
1
(
θ
k
,
φ
k
)
]
T
\boldsymbol{a}_y(\theta_k,\varphi_k)=\begin{bmatrix}a_{y,0}(\theta_k,\varphi_k),a_{y,1}(\theta_k,\varphi_k),\cdots,a_{y,N-1}(\theta_k,\varphi_k)\end{bmatrix}^T
ay(θk,φk)=[ay,0(θk,φk),ay,1(θk,φk),⋯,ay,N−1(θk,φk)]T 在实际算法运算中,通常会根据多次数据采样来获得阵列接收数据协方差矩阵的估计,可以表示为如下式子:
R
^
=
1
K
∑
k
=
1
K
Z
(
k
)
Z
H
(
k
)
\hat{\mathbf{R}}=\frac{1}{K}\sum_{k=1}^{K}\boldsymbol{Z}(k)\boldsymbol{Z}^{H}(k)
R^=K1k=1∑KZ(k)ZH(k) 与线阵一样,从而就可以求得最优权矢量
w
\boldsymbol w
w的表达式为:
w
=
R
−
1
a
(
θ
0
,
φ
0
)
a
H
(
θ
0
,
φ
0
)
R
−
1
a
(
θ
0
,
φ
0
)
\boldsymbol w=\frac{\mathbf{R}^{-1}\boldsymbol{a}\left(\theta_0,\varphi_0\right)}{\boldsymbol{a}^H\left(\theta_0,\varphi_0\right)\mathbf{R}^{-1}\boldsymbol{a}\left(\theta_0,\varphi_0\right)}
w=aH(θ0,φ0)R−1a(θ0,φ0)R−1a(θ0,φ0) 那么,阵列输出信号为:
y
(
k
)
=
w
H
Z
(
k
)
y(k) = \boldsymbol w^{H}\boldsymbol Z(k)
y(k)=wHZ(k) 部分符号的维度如下图所示:
二、抗干扰算法仿真
\;\;\;\;\; 仿真参数设置为如下,每个参数都可以修改,修改后仿真结果跟着变,可以观察不同参数下的仿真结果。
M=4; % x轴阵元个数
N=4; % y轴阵元个数
K=10240; % 快拍数
fc=100e+6; % 载波
fs=300e+6; % 采样频率
Pn=1; % 噪声功率
fines=120; % 期望信号指向方位角
thetas=30; % 期望信号指向俯仰角
signal_f=15e6; % 期望信号频率
SNR=-30; % 期望信号信噪比
finei=45; % 干扰信号指向方位角
thetai=45; % 干扰信号指向俯仰角
fi=30e6; % 干扰信号频率
INR=30; % 干扰信号信噪比
m=(0:M-1)'; % x轴坐标
n=(0:N-1)'; % y轴坐标
c=3e+8; % 光速
lamda=c/fc; % 波长
dx=1/2*lamda; % x轴阵元间距
dy=1/2*lamda; % y轴阵元间距
\;\;\;\;\;
定好参数后,仿真结果如下面所示,观察方向图,可见干扰信号入射方向处产生了零陷:
从方向图来看,保证了(30°,120°)有用信号接收的同时抑制了(45°,45°)的干扰信号。下面是抗干扰前后干扰信号与期望信号频谱图的结果:
从频谱图来看,也成功抑制掉了干扰,下面是计算的结果:
从这些结果来看,也保证了有用信号的接收,抑制掉了干扰。
综上,成功抑制掉了干扰。
三、MATLAB源代码
均匀面阵抗干扰算法MATLAB仿真源代码
总结
\;\;\;\;\; 以上就是今天要分享的内容,本文介绍了均匀面阵抗干扰算法的原理和MATLAB仿真。