本发明属于波达方向技术领域,具体涉及一种阵列模型误差下基于神经网络的波达方向估计方法。
背景技术:
阵列信号处理中的一个基本问题是空间信号到达方向的问题,同时这也是雷达、声呐和医学等领域中的重要任务之一。传统的波达方向估计算法都是基于理想的数学模型进行估计,然而实际工程应用中,阵列接收信号存在各种模型误差影响接收数据进而影响估计结果。现有的基于机器学习的波达方向估计算法在训练网络模型中需要训练参数数目过大,网络较为复杂,训练时间过长。
技术实现要素:
本发明的目的是为了解决现有波达方向估计算法需要训练参数数目过大,网络较为复杂且训练时间过长的问题,提出了一种阵列模型误差下基于神经网络的波达方向估计方法。
本发明的技术方案是:一种阵列模型误差下基于神经网络的波达方向估计方法包括以下步骤:
s1:搭建包含阵列模型误差的天线阵列模型;
s2:基于阵列模型,通过设置不同比例系数生成训练集样本和测试集样本;
s3:对训练集样本和测试集样本进行自相关操作,得到特征数据向量作为神经网络的输入数据,并生成训练集样本和测试集样本的来向角对应标签;
s4:搭建全连接神经网络模型,并初始化参数;
s5:将特征数据向量和来向角对应标签输入至全连接神经网络模型中进行训练,并保存已训练好的模型和参数;
s6:将测试集样本输入至保存好的全连接神经网络模型中进行测试,得到估计角度,完成阵列模型误差下的波达方向估计。
本发明的有益效果是:采用本发明的全连接神经网络结构,能够更好地消除实际工程中阵元物理特性对接收信号造成的影响。传统算法估计误差与模型误差比例呈正相关,当模型误差越大时,传统算法的估计误差越明显,而全连接神经网络能够更好更快的进行准确估计,估计性能更稳定,受模型误差影响不明显,高效并快速实现波达方向估计。相比于其他机器学习算法,本发明是将阵列接收到信号实部虚部分开后直接输入网络中,对数据自相关后舍去重复值、提取主要特征值,降低了输入维度,网络结构中待训练参数少,可以实现快速高精度测向。
进一步地,步骤s1包括以下子步骤:
s11:将m个具有任意方向性的阵元按均匀线性阵列结构排列,形成无阵列模型误差下的天线阵列;
s12:在无阵列模型误差的天线阵列中依次加入互耦误差、位置误差、幅度误差和相位误差;
s13:根据互耦误差、位置误差、幅度误差和相位误差,得到阵列导向矢量,并通过阵列导向矢量产生阵列模型误差下的天线阵列接收信号,完成天线阵列模型的搭建。
上述进一步方案的有益效果是:在本发明中,模型误差主要考虑阵元间互耦误差、阵元位置误差和幅度误差。在原有理想阵列模型基础上增加上述误差。
进一步地,步骤s11中,天线阵列中阵元间距为电磁波半波长,在远场有k个窄带信号以平面波入射时,无阵列模型误差下的天线阵列接收信号x(t)的表达式为:
x(t)=as(t)+n(t)
其中,s(t)表示k个信号源复包络矢量,n(t)表示阵列的背景噪声,a表示阵列导向矢量集合,a=[a1,a2,...,am]t,i=1,2,...,m,第i个阵元对应的导向矢量ai的计算公式为:
其中,exp(·)表示指数运算,
步骤s12中,加入互耦误差的方法为:以第一个阵元作为标准点,第二个阵元相对第一个阵元的互耦因子为γ1,2,则所有阵元相对第一个阵元的互耦系数emc的表达式为emc=[γ1,1,γ1,2,…,γ1,m],互耦误差矩阵emc的表达式为emc=toeplitz(emc),其中,m表示阵元个数,toeplitz(·)表示生成主对角线上元素、平行于主对角线上的元素相等且各元素关于次对角线对称的矩阵运算;
加入位置误差的计算公式为:
其中,ai(θ,δi)表示扰动对导向矢量的影响值,δi表示第i个阵元的真实位置在标准位置基础上存在的扰动,di表示理想情况下第i个阵元相对于标准点阵元的位置矢量,
加入幅度误差的计算公式为:
eam=em*m+diag([eam1,eam2,…,eamm])
其中,eam表示阵列结构的幅度误差值,em*m表示m*m维的单位矩阵,diag(·)表示将[eam1,eam2,…,eamm]中元素依次作为对角元素、创建矩阵且其余元素全为0的运算,eami,i=1,2,…,m表示第i个阵元的幅度误差;
加入相位误差的计算公式为:
eph=diag(exp(jeph1,jeph2,…,jephm))
其中,eph表示阵列结构的相位误差值,ephi,i=1,2,…,m表示第i个阵元的幅度误差;
步骤s13中,阵列导向矢量a(θ,emc,δ,eam,eph)的计算公式为:
a(θ,emc,δ,eam,eph)=emc*eam*eph*a(θ,δ)
其中,θ表示信号的来向角,δ表示阵元位置扰动影响因子,a(θ,δ)=[a1(θ,δ1),a2(θ,δ2),…,am(θ,δm)]t,a(θ,δ)表示所有m个阵元带有位置扰动的方向矢量矩阵,eam表示幅度误差影响因子,eph表示相位误差影响因子;
阵列模型误差下的天线阵列接收信号
上述进一步方案的有益效果是:在本发明中,互耦误差是由阵元间互耦效应引起的,与阵元间距成反比;加入位置误差是因为每个阵元的真实位置在标准位置基础上存在扰动;幅度误差是由于各个阵元和通道的幅度相位特性不一致产生的。
进一步地,步骤s2中,生成训练集样本和测试集样本的方法为:设置不同比例系数rho,随机产生天线阵列接收信号的来向角,得到不同程度模型误差下的接收信号,通过接收信号得到训练集样本和测试集样本。
进一步地,步骤s2中,设置n个不同的比例系数rho,其取值分别为[rho1,rho2,…,rhon];
互耦误差中,互耦因子γi,j的约束公式分别为:
γi,j=0|i-j|>p
γi,j=γj,i
γi,j=γf,(j-i)+ff=1,2,…,m&f≠i,j
其中,γi,j表示第j个阵元相对于第i个阵元的互耦因子,p表示互耦矩阵自由度,γj,i表示第i个阵元相对于第j个阵元的互耦因子,γf,(j-i)+f表示任意第(j-i)+f个阵元相对于第f个阵元的互耦因子,
互耦误差矩阵emc的取值为emc=toeplitz(rho*emc);
位置误差中,第i个阵元的真实位置在标准位置基础上存在扰动δi,则位置误差的表达式为:
δ=[δ1,δ2,…,δm]
其中,δ表示阵元的真实位置在标准位置基础上存在的扰动,i=1,2,…m,m表示阵元个数;
幅度误差的表达式为:
eam=[eam1,eam2,…,eamm]
其中,eam表示阵列结构的幅度误差值,eami,i=1,2,…,m表示第i个阵元的幅度误差;
相位误差的表达式为:
eph=[eph1,eph2,…,ephm]
其中,eph表示阵列结构的相位误差值,ephi,i=1,2,…,m表示第i个阵元的幅度误差。
上述进一步方案的有益效果是:在本发明中,互耦误差中,阵元间的互耦效应与阵元间距成反比;且根据互易原理,互耦矩阵通常为对称矩阵。均匀线阵的互耦矩阵中,间距相同的阵元对应互耦系数相同。互耦矩阵由一行m维的互耦因子emc唯一表征emc=[γ1,1,γ1,2,…,γ1,m],p表示互耦矩阵自由度,表征线性互耦矩阵第一行中非0元素个数,γf,(j-i)+f表示任意第(j-i)+f个阵元相对于第f个阵元的互耦因子,即任意两个阵元间距同阵元j与i间距相等的两个阵元间的互耦因子。
进一步地,步骤s3包括以下子步骤:
s31:计算训练集样本和测试集样本的协方差,得到协方差矩阵r;
s32:对协方差矩阵r进行自相关操作,得到特征数据向量r,并作为神经网络的输入数据;
s33:生成训练集样本和测试集样本的来向角对应标签。
进一步地,步骤s31中,协方差矩阵r的计算公式为:
其中,协方差矩阵r的维度为m*m,snap表示信号采样快拍数,x(ti)表示m个阵元接收到的第i个快拍矢量,t表示转置运算,c表示复数域;
步骤s32中,特征数据向量r的计算公式为:
其中,
步骤s33中,生成训练集样本和测试集样本的来向角对应标签的方法为:以h°作为分类间隔,将波达方向分为i个有效分类,网格对应θ=[θ1,θ2,…,θi],对于任意相邻网格,角度差为h°,每一个来向角θi仅在其所处网格附近存在非0值,取值分别为
上述进一步方案的有益效果是:在本发明中,由于协方差矩阵r为hermite矩阵,rη=r,并且噪声方差未知,舍去对角元素,只取上三角元素作为有效数据,得到
进一步地,步骤s4中,全连接神经网络模型采用全连接层,输入数据长度为m*m-m,输出维度为i维。
上述进一步方案的有益效果是:在本发明中,除了输入层输出层之外,有若干隐层,最后一层的激活函数采用softmax函数,输出i维向量即空间谱,谱间隔为h,谱中各个输出值表示位于该网格的概率。
进一步地,步骤s5中,设置网络迭代次数epoch,数据训练批尺寸大小batch_size,学习率lr,选择优化器optimazer以及选定损失函数loss,并开始训练网络,直至迭代结束,保存全连接神经网络模型。
进一步地,步骤s6中,计算估计角度
其中,ind表示空间谱中最大值对应的索引,ηi,i=1,2,…,i表示估计谱,ηind表示空间谱中最大值对应的索引的估计谱,i表示有效分类个数,h表示分类间隔角度。
上述进一步方案的有益效果是:在本发明中,将测试数据输入到已训练好的网络中,得到估计谱,估计谱用η表示,η∈ri×1,索引从0-i分别对应角度
附图说明
图1为波达方向估计方法的流程图。
具体实施方式
下面结合附图对本发明的实施例作进一步的说明。
如图1所示,本发明提供了一种阵列模型误差下基于神经网络的波达方向估计方法,包括以下步骤:
s1:搭建包含阵列模型误差的天线阵列模型;
s2:基于阵列模型,通过设置不同比例系数生成训练集样本和测试集样本;
s3:对训练集样本和测试集样本进行自相关操作,得到特征数据向量作为神经网络的输入数据,并生成训练集样本和测试集样本的来向角对应标签;
s4:搭建全连接神经网络模型,并初始化参数;
s5:将特征数据向量和来向角对应标签输入至全连接神经网络模型中进行训练,并保存已训练好的模型和参数;
s6:将测试集样本输入至保存好的全连接神经网络模型中进行测试,得到估计角度,完成阵列模型误差下的波达方向估计。
在本发明实施例中,如图1所示,步骤s1包括以下子步骤:
s11:将m个具有任意方向性的阵元按均匀线性阵列结构排列,形成无阵列模型误差下的天线阵列;
s12:在无阵列模型误差的天线阵列中依次加入互耦误差、位置误差、幅度误差和相位误差;
s13:根据互耦误差、位置误差、幅度误差和相位误差,得到阵列导向矢量,并通过阵列导向矢量产生阵列模型误差下的天线阵列接收信号,完成天线阵列模型的搭建。
在本发明中,模型误差主要考虑阵元间互耦误差、阵元位置误差和幅度误差。在原有理想阵列模型基础上增加上述误差。
在本发明实施例中,如图1所示,步骤s11中,天线阵列中阵元间距为电磁波半波长,在远场有k个窄带信号以平面波入射时,无阵列模型误差下的天线阵列接收信号x(t)的表达式为:
x(t)=as(t)+n(t)
其中,s(t)表示k个信号源复包络矢量,n(t)表示阵列的背景噪声,a表示阵列导向矢量集合,a=[a1,a2,...,am]t,i=1,2,...,m,第i个阵元对应的导向矢量ai的计算公式为:
其中,exp(·)表示指数运算,
步骤s12中,加入互耦误差的方法为:以第一个阵元作为标准点,第二个阵元相对第一个阵元的互耦因子为γ1,2,则所有阵元相对第一个阵元的互耦系数emc的表达式为emc=[γ1,1,γ1,2,…,γ1,m],互耦误差矩阵emc的表达式为emc=toeplitz(emc),其中,m表示阵元个数,toeplitz(·)表示生成主对角线上元素、平行于主对角线上的元素相等且各元素关于次对角线对称的矩阵运算;
加入位置误差的计算公式为:
其中,ai(θ,δi)表示扰动对导向矢量的影响值,δi表示第i个阵元的真实位置在标准位置基础上存在的扰动,di表示理想情况下第i个阵元相对于标准点阵元的位置矢量,
加入幅度误差的计算公式为:
eam=em*m+diag([eam1,eam2,…,eamm])
其中,eam表示阵列结构的幅度误差值,em*m表示m*m维的单位矩阵,diag(·)表示将[eam1,eam2,…,eamm]中元素依次作为对角元素、创建矩阵且其余元素全为0的运算,eami,i=1,2,…,m表示第i个阵元的幅度误差;
加入相位误差的计算公式为:
eph=diag(exp(jeph1,jeph2,…,jephm))
其中,eph表示阵列结构的相位误差值,ephi,i=1,2,…,m表示第i个阵元的幅度误差;
步骤s13中,阵列导向矢量a(θ,emc,δ,eam,eph)的计算公式为:
a(θ,emc,δ,eam,eph)=emc*eam*eph*a(θ,δ)
其中,θ表示信号的来向角,δ表示阵元位置扰动影响因子,a(θ,δ)=[a1(θ,δ1),a2(θ,δ2),…,am(θ,δm)]t,a(θ,δ)表示所有m个阵元带有位置扰动的方向矢量矩阵,eam表示幅度误差影响因子,eph表示相位误差影响因子;
阵列模型误差下的天线阵列接收信号
在本发明中,互耦误差是由阵元间互耦效应引起的,与阵元间距成反比;加入位置误差是因为每个阵元的真实位置在标准位置基础上存在扰动;幅度误差是由于各个阵元和通道的幅度相位特性不一致产生的。
在本发明实施例中,如图1所示,步骤s2中,生成训练集样本和测试集样本的方法为:设置不同比例系数rho,随机产生天线阵列接收信号的来向角,得到不同程度模型误差下的接收信号,通过接收信号得到训练集样本和测试集样本。
通过python仿真软件,设定参数,阵元数m=10,信源k=1,快拍数snap=100,信噪比snr=0db,训练集样本数10000,测试及样本数3000,随机产生[-60.00°,60.00°)之间的浮点型角度。
rho分别与各误差影响因子相乘,根据公式
在本发明实施例中,如图1所示,步骤s2中,设置n个不同的比例系数rho,其取值分别为[rho1,rho2,…,rhon];
互耦误差中,互耦因子γi,j的约束公式分别为:
γi,j=0|i-j|>p
γi,j=γj,i
γi,j=γf,(j-i)+ff=1,2,…,m&f≠i,j
其中,γi,j表示第j个阵元相对于第i个阵元的互耦因子,p表示互耦矩阵自由度,γj,i表示第i个阵元相对于第j个阵元的互耦因子,γf,(j-i)+f表示任意第(j-i)+f个阵元相对于第f个阵元的互耦因子,
互耦误差矩阵emc的取值为emc=toeplitz(rho*emc);
位置误差中,第i个阵元的真实位置在标准位置基础上存在扰动δi,则位置误差的表达式为:
δ=[δ1,δ2,…,δm]
其中,δ表示阵元的真实位置在标准位置基础上存在的扰动,i=1,2,…m,m表示阵元个数;
幅度误差的表达式为:
eam=[eam1,eam2,…,eamm]
其中,eam表示阵列结构的幅度误差值,eami,i=1,2,…,m表示第i个阵元的幅度误差;
相位误差的表达式为:
其中,eph表示阵列结构的相位误差值,ephi,i=1,2,…,m表示第i个阵元的幅度误差。
在本发明中,互耦误差中,阵元间的互耦效应与阵元间距成反比;且根据互易原理,互耦矩阵通常为对称矩阵。均匀线阵的互耦矩阵中,间距相同的阵元对应互耦系数相同。互耦矩阵由一行m维的互耦因子emc唯一表征
在本发明实施例中,如图1所示,步骤s3包括以下子步骤:
s31:计算训练集样本和测试集样本的协方差,得到协方差矩阵r;
s32:对协方差矩阵r进行自相关操作,得到特征数据向量r,并作为神经网络的输入数据;
s33:生成训练集样本和测试集样本的来向角对应标签。
在本发明实施例中,如图1所示,步骤s31中,协方差矩阵r的计算公式为:
其中,协方差矩阵r的维度为m*m,snap表示信号采样快拍数,x(ti)表示m个阵元接收到的第i个快拍矢量,t表示转置运算,c表示复数域;
步骤s32中,特征数据向量r的计算公式为:
其中,
步骤s33中,生成训练集样本和测试集样本的来向角对应标签的方法为:以h°作为分类间隔,将波达方向分为i个有效分类,网格对应θ=[θ1,θ2,…,θi],对于任意相邻网格,角度差为h°,每一个来向角θi仅在其所处网格附近存在非0值,取值分别为
在本发明中,由于协方差矩阵r为hermite矩阵,rη=r,并且噪声方差未知,舍去对角元素,只取上三角元素作为有效数据,得到
在本发明实施例中,如图1所示,步骤s4中,全连接神经网络模型采用全连接层,输入数据长度为m*m-m,输出维度为i维。
在本发明中,除了输入层输出层之外,有若干隐层,最后一层的激活函数采用softmax函数,输出i维向量即空间谱,谱间隔为h,谱中各个输出值表示位于该网格的概率。
在本发明实施例中,如图1所示,步骤s5中,设置网络迭代次数epoch,数据训练批尺寸大小batch_size,学习率lr,选择优化器optimazer以及选定损失函数loss,并开始训练网络,直至迭代结束,保存全连接神经网络模型。
在本发明实施例中,如图1所示,步骤s6中,计算估计角度
其中,ind表示空间谱中最大值对应的索引,ηi,i=1,2,…,i表示估计谱,ηind表示空间谱中最大值对应的索引的估计谱,i表示有效分类个数,h表示分类间隔角度。
在本发明中,将测试数据输入到已训练好的网络中,得到估计谱,估计谱用η表示,η∈ri×1,索引从0-i分别对应角度
网络训练结束后,保存网络模型。将测试数据输入到已训练好的网络中,得到估计谱。再将同样的测试数据:阵列接收信号用于music算法进行估计,得到估计谱。以h=1为例,i=120,此时估计谱用η表示,η∈r120×1,索引从0~119分别对应角度-60°~59°(1°为间隔)。用线性插值法进一步计算出估计角度,计算方法:先找出空间谱中最大值对应的索引,用ind表示;则估计值计算公式为:
得到
本发明的工作原理及过程为:首先,搭建基于阵列模型误差下的阵列模型,基于阵列模型,通过设置不同比例系数生成训练集样本和测试集样本;然后,对训练集样本和测试集样本进行自相关操作,得到特征数据向量作为神经网络的输入数据,并生成训练集样本和测试集样本的来向角对应标签;再搭建全连接神经网络模型,并初始化参数;将特征数据向量和来向角对应标签输入至全连接神经网络模型中进行训练并保存;将测试集样本输入至保存好的全连接神经网络模型中进行测试,得到估计角度,完成阵列模型误差下的波达方向估计。
本发明的有益效果为:采用本发明的全连接神经网络结构,能够更好地消除实际工程中阵元物理特性对接收信号造成的影响。传统算法估计误差与模型误差比例呈正相关,当模型误差越大时,传统算法的估计误差越明显,而全连接神经网络能够更好更快的进行准确估计,估计性能更稳定,受模型误差影响不明显,高效并快速实现波达方向估计。相比于其他机器学习算法,本发明是将阵列接收到信号实部虚部分开后直接输入网络中,对数据自相关后舍去重复值、提取主要特征值,降低了输入维度,网络结构中待训练参数少,可以实现快速高精度测向。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。