1.一种基于线性神经网络的稀疏二维FIR陷波滤波器的设计算法,其特征在于该方法借助神经网络的线性拟合和运算速度快的特点,可以省去复杂的数学矩阵运算,减少运算时间,该方法的具体步骤包括:第1、根据设计要求,给定通带纹波δ、陷波频率点 频率ω1和ω2方向上阻带的带宽BW1和BW2,频率ω1和ω2方向上的频率采样点数均为L。
理想的四象限对称的二维FIR陷波滤波器的频率响应如下:notch 0 1
其中Ω ,Ω和Ω分别定义为
Ω1=[-π,π]×[-π,π]-Ω0
其中, 是给定的陷波频率点,BW1和BW2分别表示在频率ω1和ω2方向上阻带的带宽。本章的设计目的即为设计一个稀疏二维FIR陷波滤波器使得它的频率响应H(ω1,ω2)尽可能接近理想的频率响应Hd(ω1,ω2)。所以设计稀疏二维FIR陷波滤波器的问题可以转化成以下问题:其中B和f分别定义为
L表示二维滤波器在频域上的总采样点数,δ是给定的通带纹波, 是陷波频率点出的采样矩阵的按列展开的向量形式,h是所要设计的稀疏二维FIR陷波滤波器的单位脉冲响应的向量形式。
第2、为了解决上述优化问题,在第k(k≥1)次迭代中的具体操作步骤如下:(1)利用IROMP算法计算下式中的优化问题:
(k)
第k(k≥1)次迭代过程中的非零系数位置集合定义为S ;
(2)应用线性神经网络来对非零位置的系数进行优化。根据集合Λ(k)和滤波器理想频率响应按列展开的向量形式f,线性神经网络的训练样本P(k)以及理想输出值与神经网络训练值之间的误差η被确定。训练样本P(k)的表达式和神经网络的理想输出值fd表示如下其中, 表示从矩阵B中取出集合Λ(k)中元素代表位置所对应的列,表示从向量 取出与集合Λ(k)中元素代表位置所对应的元素。当神经网络的输出层的激活函数为线性函数,即函数为f(x)=x时,存在选择贝叶斯正则化作为神经网络的训练算法,然后用MATLAB工具箱构造神经网络,并用构造的神经网络解决以下优化问题:通过求解上述优化问题,得到h即为优化后向量形式的稀疏二维FIR陷波滤波器的单位脉冲响应。
(3)根据上述计算得到的稀疏二维FIR陷波滤波器的脉冲响应,接着获得滤波器的频率响应。则通带纹波可以计算为:检查通带纹波是否满足给定的参数条件,如果满足,则停止。否则转到步骤4。
(4)在这一步中,将对神经网络的权重进行更新。首先,计算神经网络的残差:r(k)=fd-Bh (8)新的权重矩阵为:
其中 和ri(k)分别为权重矩阵和残差矩阵中的第i个元素。令w(k+1)代替w(k),并重复上述设计步骤。
通过以上设计步骤,最终可以得到满足设计参数要求的稀疏二维FIR陷波滤波器。