专利名称:一种利用插值滤波器进行声纳基阵信号仿真的方法
技术领域:
本发明涉及一种信号仿真技术,更具体的说,本发明涉及一种利用插值滤波器进行声纳基阵信号仿真的方法。
背景技术:
在水声信号处理领域中,声纳基阵信号的仿真又称为反波束形成,它是通过在预定方向上的指向性,来生成每个基元接收或发射的信号。其一般的方法都是通过计算各基元的延时,来获得与一定的延时对应的基元仿真信号。
在声学学报1990年1月第15卷第1期的文章“数字式声纳中的升采样率处理”中,提出了将低采样率信号补零后和窗函数卷积的办法得到新的具有高采样率信号的方法,即对低采样率信号序列的采样点之间插入零值,然后用适当的低通滤波器对插了零值的信号序列进行滤波就可以得到所需的信号,并通过模拟试验证明了该方法的有效性。
在声学学报1991年7月第16卷第4期的文章“简捷内插方法实现实时处理”中,提出了用一种简捷的频域补零的内插方法来实现实时处理。该方法是在计算两路信号的互相关函数时,不是立即由互谱函数作逆FFT,而是先在频域补零。由于N点实信号的互谱在N/2处左右对称,采用合适的实数FFT算法,在补零过程中无需移动数据,因而频域补零实际不需要增加运算时间,然后对补零后的互谱结果进行逆FFT变换,即获得插值后的互相关函数。
在声纳基阵信号仿真技术中,精度和运算量的要求都占有重要的位置。而在实时仿真基阵信号的时延计算中,提高信号的采样频率是决定整个系统实时性和时延精度的一个非常重要的环节。在上述文章和许多公开发表的技术文献中,都涉及到了利用内插来提高采样率的方法,但是多数方法所需时间长而无法进行实时运算,或是在实时实现过程中仍然存在着插入大量零值的运算,这些都影响了系统的速度和实时性。
考虑到上面的矛盾,一般寻找合适的内插方法来实时完成声纳基阵信号的时延计算。然而,大部分的内插方法都存在着占用较大硬件资源,实时性较难达到的问题。
发明内容
本发明的目的在于克服现有的声纳基阵信号仿真技术中精度差或因运算量大而导致无法实时实现的不足,提供一种利用插值滤波器进行声纳基阵信号仿真的方法。
为了实现上述发明目的,本发明的技术方案为一种利用插值滤波器进行声纳基阵信号仿真的方法,包括如下步骤(1)利用滤波器设计工具生成内插FIR滤波器系数文件Num,对滤波器系数文件Num进行重新排序,得到重新排序后的滤波器系数文件Num1;(2)计算基阵中各基元的时延τi(θ),其中0≤i≤N,N为基阵中的基元个数,θ为信号的入射方向;(3)将基阵中各基元的时延τi(θ)分为粗延控制量Cuyani和细延控制量Xiyani,其中粗延控制量Cuyani对应于时延τi(θ)中所包含的整数个系统采样周期的部分,细延控制量对应于时延τi(θ)中不足一个采样周期的部分;(4)将入射信号按时间序列存储在数据存储器中;(5)根据粗延控制量Cuyani对数据存储器中的入射信号进行粗延处理,得到粗延处理后数据Tempi;(6)根据细延控制量Xiyani,使用内插FIR滤波器系数文件Num1对粗延处理后数据Tempi进行滤波处理,得到滤波处理结果也就是仿真信号FirOuti。
在步骤(1)中对滤波器系数文件Num的排序操作为将Num中的数据从第一个数据点开始每隔(L-1)点挑出1点,共P点顺次放入Num1中,然后再从第二个数据点开始每隔(L-1)点挑出1点,共P点顺次放入Num1中;循环此操作,直至Num中的第L个数据点开始完成挑选,把最后P点顺次放入Num1最后位置;将Num1代替Num作为滤波器系数文件;其中L为滤波器的内插比。
在步骤(3)中,所述粗延控制量Cuyani=K-求整[τi(θ)*Fs],所述细延控制量Xiyani=P*求整[abs((τi(θ)-Cuyani*Ts)/μ)],其中Fs为系统采样频率,K为系统所能处理的最大时延量,P为滤波器的插值点数,Ts为系统采样周期,μ为系统的时延精度,abs是求绝对值运算。
在步骤(5)中,将数据存储器中从Cuyani开始的数据段作为第i个基元的粗延处理数据Tempi。
步骤(6)中的滤波处理过程为由Xiyani作为起始地址,在Num1中找出顺序的P个数据点,作为第i个基元对应的内插滤波器系数;从粗延处理后数据Tempi的第一个数据点开始顺序取出P个数据点与第i个基元对应的内插滤波器系数的P个数据点分别做向量内积计算,将结果作为向量FirOuti的第一个元素;循环此操作,直至从Tempi的第Len个数据点取出P个数据点与第i个基元对应的内插滤波器系数完成内积计算,将结果作为向量FirOuti的第Len个元素;即得到第i个基元的滤波处理结果FirOuti,其长度为Len。(Len+P)≤(Length-K),其中,Length为入射信号的长度,即入射信号在数据存储器中的数据点数。
本发明相比现有技术具有如下优点1)本发明将粗、细延两步时延相结合,既可保证足够高的时延精度,又可达到足够大的时延范围。
2)本发明采用滤波器设计工具的窗函数设计内插FIR滤波器,通过选择参数控制误差,可以实现高精度的宽带时延。
3)本发明利用内插滤波器进行细延处理时,采用了重新排列顺序的滤波器系数,从而避免了对要进行内插滤波的数据插入大量零值的运算,也避免了零值与滤波器系数相乘的计算,使得在计算每个输出抽样时仅仅做P(插值点数)个数值的乘法和加法,这样不仅提高了系统的运算速度,而且也节省了硬件存储空间。
4)本发明提高了基阵时延算法的计算速度,满足实时性的要求,易于在DSP平台上实时实现。
图1是实施例中的基元等间隔排列的线阵示意图;图2是内插滤波器的幅频响应;图3是本发明的时延量的分配示意图;具体实施方式
下面结合附图和具体实施方式
对本发明作进一步详细描述。
在DSP(ADSP 21060)平台上实时实现一线阵基元信号仿真系统。其中的系统参数为线阵基元数N=64,线阵基元间隔d=1.5m,信号入射角度θ=30°,系统采样频率Fs=25KHz,采样周期Ts=1/Fs=4×10-5s,系统所能处理的最大时延量K=1650。入射信号为sin(2*π*f*t),入射信号与基阵的夹角θ=30°,也就是获得目标信号的本舰舷角,信号在水中速度c=1500m/s。如图1所示。
本实施例进行如下步骤(1)设计内插滤波器
■ 系统的采样频率为25kHz,即采样周期Ts为4×10-5s。如要求仿真系统时延精度μ达到10-7s,则内插滤波器的内插比L=Ts/μ=400;通过改变内插比,可以得到不同的时延精度。
■ 令滤波器的插值点数P=8,根据M=L*P=400*8=3200,得到滤波器阶数M;则内插滤波器的低通截止频率下降为fpass=Fs/2L=25kHz/400/2=31.25Hz;见图2,其中(a)为整个频带内滤波器的幅频响应;(b)为局部放大后的滤波器幅频响应;■ 根据滤波器的采样频率,低通截止频率和阶数,使用MATLAB的滤波器设计工具fdatool生成滤波器系数Num和Den(=1),Num共3200个数据点;■ 将Num中的数据从第一个数据点开始每隔399点挑出1点,共8点顺次放入Num1中,然后再从第二个数据点开始每隔399点挑出1点,共8点顺次放入Num1中,....循环此操作,直到从第四百个数据点开始完成挑选,把8点顺次放入Num1最后位置。将结果Num1存入滤波器系数文件。
(2)计算基阵中各基元的理论时延值τi(θ)如图1所示,线阵的水听器基元从左到右顺序编为H1,H2,…,HN,基元的间隔为d。为了计算上的方便,将时间的参考点选在H1上。那么第i个基元Hi所接收到的信号滞后于H1,它是由声程差HiPi引起的,第i个基元所接收到的信号是si(t)=sin{2πf[t+τi(θ)]},i=1~N,线阵的理论时延值τi(θ)=(i-1)dcosθ/c。根据该理论时延即可计算出各基元的理论相位,本实施例的计算结果如表1所示。
(3)根据时延值τi(θ)计算各基元的粗延控制量Cuyani和粗延控制量Cuyani如图3所示,为了同时兼顾时延精度和时延范围,也为了提高计算速度满足实时性的要求,采用分粗、细两步实现多路基元的时延。以信号的采样周期作为计时单元,整数倍于信号采样周期的时延由粗延处理完成,而剩余的不足一个采样周期的时延由细延处理完成。其中,Cuyani=K-求整[τi(θ)*Fs],Xiyani=P*求整[abs((τi(θ)-Cuyani*Ts)*μ)],“求整[τi(θ)*Fs]”表示在时延τi(θ)中包含的数据点数,即时延τi(θ)内所包含的最大整数个采样周期,经系统所能处理的最大时延量K调整后,Cuyani表示第i个基元的数据进行粗延时的延时数据的点数;Xiyani表示滤波器系数的起始位置。
(4)将入射信号存储在数据存储器(Buffer)中入射信号为sin(2*π*f*t),其中t=(0∶5000-1)/Fs,f是信号的频率,信号的时间长度Length=5000,即Buffer中共有5000个数据点,按时间序列排列。
(5)进行粗延处理对于第i个基元,根据存储器寻址的方式,在Buffer找到与其粗延控制量Cuyani对应的数据点,并将从该数据点开始的Buffer中顺序排在后面的数据段作为第i个基元的粗延处理数据Tempi,即完成粗延处理。对所有基元进行此操作。
(6)进行细延处理a)对于第i个基元,由Xiyani作为起始地址,在Num1中找出顺序的P(=8)个数据点,作为该基元对应的内插滤波器系数;b)取出第i个基元的粗延处理数据Tempi,从Tempi的第一个数据点开始顺序取出P个数据点作c)中的处理,然后从Tempi的第二个数据点开始再顺序取出P个数据点作c)中的处理。循环此操作,直到从Tempi的第Len个数据点取出P个数据点完成处理。其中Len为3000,因为在本实施例中,入射信号数据长度为5000,最大时延量是1650,那么Len的值不应该超过(5000-1650)=3350,当Len为3000时,在第3000个数据点的位置上连续取出8个数据点,就不会产生越界的错误。
c)把a)中得到的该基元的P个滤波器系数值,和从Tempi取出的P个数据点分别做内积计算,得到的结果放入FirOuti中,FirOuti即是第i个基元经过细延理后的数据,也就是最后输出的仿真信号,其长度为Len。
这样,使用一片DSP芯片(ADSP 21060)实时实现了64路基元信号的仿真。为了检验本发明的效果,将依据本发明产生的仿真信号由DSP通过D/A转换器送出,然后使用标准相位计来实时测量每一路基元信号的实测相位。如表1所示,理论相位列出的是通过理论公式计算出的数值,而实测相位是通过相位计来测量出的实际数值。从表1可看出,而且由于是实时产生的基元信号,所以通过理论值与实测值的比较,说明该算法不仅满足了实时性的要求,而且精度也比较高。
表1时延结果比较
权利要求
1.一种利用插值滤波器进行声纳基阵信号仿真的方法,包括如下步骤(1)利用滤波器设计工具生成内插FIR滤波器系数文件Num,对滤波器系数文件Num进行重新排序,得到重新排序后的滤波器系数文件Num1;(2)计算基阵中各基元的时延τi(θ),其中0≤i≤N,N为基阵中的基元个数,θ为信号的入射方向;(3)将基阵中各基元的时延τi(θ)分为粗延控制量Cuyani和细延控制量Xiyani,其中粗延控制量Cuyani对应于时延τi(θ)中所包含的整数个系统采样周期的部分,细延控制量对应于时延τi(θ)中不足一个采样周期的部分;(4)将入射信号按时间序列存储在数据存储器中;(5)根据粗延控制量Cuyani对数据存储器中的入射信号进行粗延处理,得到粗延处理后数据Tempi;(6)根据细延控制量Xiyani,使用内插FIR滤波器系数文件Num1对粗延处理后数据Tempi进行滤波处理,得到滤波处理结果也就是仿真信号FirOuti。
2.根据权利要求1所述的利用插值滤波器进行声纳基阵信号仿真的方法,其特征在于,在步骤(1)中对滤波器系数文件Num的排序操作为将Num中的数据从第一个数据点开始每隔(L-1)点挑出1点,共P点顺次放入Num1中,然后再从第二个数据点开始每隔(L-1)点挑出1点,共P点顺次放入Num1中;循环此操作,直至Num中的第L个数据点开始完成挑选,把最后P点顺次放入Num1最后位置;将Num1代替Num作为滤波器系数文件;其中L为滤波器的内插比。
3.根据权利要求1或2所述的利用插值滤波器进行声纳基阵信号仿真的方法,其特征在于,在步骤(3)中,所述粗延控制量Cuyani=K-求整[τi(θ)*Fs],所述细延控制量Xiyani=P*求整[abs((τi(θ)-Cuyani*Ts)/μ)],其中Fs为系统采样频率,K为系统所能处理的最大时延量,P为滤波器的插值点数,T为系统采样周期,μ为系统的时延精度,abs是求绝对值运算。
4.根据权利要求3所述的利用插值滤波器进行声纳基阵信号仿真的方法,其特征在于,在步骤(5)中,将数据存储器中从Cuyani开始的数据段作为第i个基元的粗延处理数据Tempi。
5.根据权利要求1或4所述的利用插值滤波器进行声纳基阵信号仿真的方法,其特征在于,步骤(6)中的滤波处理过程为由Xiyani作为起始地址,在Num1中找出顺序的P个数据点,作为第i个基元对应的内插滤波器系数;从粗延处理后数据Tempi的第一个数据点开始顺序取出P个数据点与第i个基元对应的内插滤波器系数的P个数据点分别做向量内积计算,将结果作为向量FirOuti的第一个元素;循环此操作,直至从Tempi的第Len个数据点取出P个数据点与第i个基元对应的内插滤波器系数完成内积计算,将结果作为向量FirOuti的第Len个元素;即得到第i个基元的滤波处理结果FirOuti,其长度为Len。
6.根据权利要求5所述的利用插值滤波器进行声纳基阵信号仿真的方法,其特征在于,(Len+P)≤(Length-K),其中,Length为入射信号的长度,即入射信号在数据存储器中的数据点数。
全文摘要
本发明公开了一种利用插值滤波器进行声纳基阵信号仿真的方法,该方法利用滤波器设计工具生成内插FIR滤波器系数文件,并对滤波器系数文件进行重新排序;将基阵中各基元的时延分为粗延控制量和细延控制量;根据粗延控制量对数据存储器中的入射信号进行粗延处理;根据细延控制量,使用重新排序后的内插FIR滤波器系数文件对粗延处理后数据进行滤波处理,得到滤波处理结果也就是仿真信号。本发明将粗、细延两步时延相结合,既可保证足够高的时延精度,又可达到足够大的时延范围;本发明采用重新排列顺序的滤波器系数来简化运算,从而提高了系统的运算速度并节省了硬件存储空间。本发明的方法满足实时性的要求,易于在DSP平台上实时实现。
文档编号G01S15/00GK1566984SQ0313701
公开日2005年1月19日 申请日期2003年6月19日 优先权日2003年6月19日
发明者李蕾, 吴永清, 蔡惠智 申请人:中国科学院声学研究所