1.存在阵列误差的阵列PCA‑BP算法的近场源定位方法,其特征在于:
存在阵列误差的阵列PCA‑BP算法的近场声源定位方法,采用标量声压传感器阵列接收K个窄带、非高斯的平稳近场声源,接收阵列通过以下方式获得:在空间任意选取一点作为坐标轴的原点位置o,从左至右经过该原点的水平线为x轴,垂直于该水平线的直线为z轴,即假设声源从xoz平面入射,第k个入射声源与z轴的夹角为θk,θk的取值范围为[‑π/2,π/2],在坐标原点处向x轴正向分别以d=λmin/4等间隔放置M个阵元,λmin为入射声源中的最小波长,阵元从左到右依次标记为[1,2,...m,...M];
存在阵列误差的阵列PCA‑BP算法的近场声源定位方法步骤如下:
步骤一、获取样本数据集 利用阵元数为M的均匀线性阵列作为信号接收阵列,接收K个窄带、非高斯、平稳近场声源信号,从近场声源信号所在的角度范围和距离范围中T产生N组阵列接收信号矩阵X=[x1,x2,...,xn,…,xN] ,xn是第n组样本数据,xn是M×T维数据矩阵,其中T是快拍数,计算xn对应的协方差矩阵 并提取出 上三角元素构成信号特征向量yn,按照这样的方式分别计算N组样本数据对应的协方差矩阵并提取出上三角元素构成信号特征矩阵 其对应的期望输出为Y=[y1,y2…,yn,…,yN],X为N×P维的阵列接收信号矩阵, 为N×C维信号特征矩阵,其中为每一个样本对应的特征数,Y为N×2K维的期望输出矩阵,yn=[θn1,rn1,θn2,rn2,...,θnk,Trnk,...,θnK,rnK] ,rnk表示第n组样本数据中第k个信号源到坐标原点的距离,N表示样本个H T数,K表示信号个数,P表示快拍数,(·) 表示转置复共轭运算,(·) 表示转置运算;
步骤二、使用PCA算法对信号特征矩阵 进行降维,降维后的信号特征矩阵记为降维后的信号特征矩阵 表示对矩阵 归一化后的矩阵,先计算出信号矩阵 相对于每一个变量的均值和标准差,再使用原始的信号矩阵中 中的每一个元素减去相对应的均值,再除以相对应的标准差,得到归一化矩阵 U1为对矩阵 的协方差矩阵进行特征分解后前大A个特征值所对应的特征向量所构成的矩阵,其中所选取的前大A个特征值要保证主成分的累积贡献率在95%以上, 为经过PCA降维后得到的N×A维的训练特征矩阵;
步骤三、对网络进行初始化;根据网络的输入训练数据集 确定构建网络所需的输入神经元个数I,隐含层神经元个数H,输出层的神经元个数J,初始化输入层与隐含层神经元所连接的权值wih,和隐含层与输出层神经元所连接的权值vhj,初始化隐含层神经元的阈值ζh和输出层神经元的阈值χj,给定学习速率η,设定好训练要达到的目标误差ek,给定隐层激励函数为sigmoid函数,输出层激励函数为purelin函数,其中,Y=[y1,y2,...,yn,...,TyN],包含近场源的距离和角度信息,yn=[θn1,rn1,θn2,rn2,...,θnk,rnk,...,θnK,rnK];
步骤四、计算隐含层的输出;计算隐含层的输出b=[b1,b2,...,bh,...,bH],其中,bh为第h个隐层神经元的输出, 为1×N维向量;
步骤五、计算输出层神经元的输出;计算输出层神经元的输出结果为
其中, 为第j个输出层神经元上的实际输出值,
步骤六、计算误差;根据神经网络输出层神经元的输出 与期望输出Y,计算出所有样本的预测均方误差的和, 为第n个样本在第j个输出层神经元上的期望输出值;
步骤七、对网络中的权值和阈值进行更新;
步骤八、判断训练误差Ek是否小于网络中设定的误差ek,若比设定误差小,则停止迭代,训练完成,否则返回步骤四;
步骤九、训练完成后对待估计信号进行预测;
前述步骤中,K表示信号源数目,k=1,2,...,K表示信号源的标号,m=1,2,...,M表示阵元的标号,n=1,2,...,N表示样本个数,J表示输出层神经元数目,j=1,2,...,J表示输出层神经元的标号,P表示信号采样快拍数。