本发明涉及一种改进的窗函数分数延时滤波器设计方法、装置及其存储介质,属于雷达系统设计或信号处理技术领域。
背景技术:
实现数字信号的分数延时是雷达信号处理、语音信号处理、水声信号处理等领域的关键技术。当数字信号的延时量是采样周期的整数倍时,即整数延时,只需通过数据移位即可;但是,数字信号的采样率不能无限制提升,因此很难实现数字信号的任意精确延时。当延时为采样间隔的分数倍时,就需要使用数字技术实现离散信号的分数延时。分数延时滤波器就是在数字域上实现任意精度延时的典型方法,该方法避免使用模拟电路或光学器件转换,大大简化了数字信号延时的实现方式。
假设数字信号需要的延时为γ,单位是s,信号的采样率为fs,单位是hz,则信号的数字延时d=γ·fs,d的单位是采样点数,例如d=1代表延迟1个采样点,d=31.1代表延迟31.1个采样点。根据分析可以将d分为整数延时部分i与分数延时d,即d=i d,i和d的单位均为采样点数。
理想分数延时滤波器的频响公式为:hid(ejω)=e-jωd,其中,ω表示归一化角频率,其取值范围为-π≤ω<π,d为数字信号的数字延时。根据理想分数延时滤波器的频响可知,其幅频响应为:|hid(ejω)|=1或20log10|hid(ejω)|=0db,其相位频率响应为arg[hid(ejω)]=θid=-dω=-(i d)ω,其群延时响应为
由于理想分数延时滤波器的长度是无限长,物理上不可实现,所以需要设计可实现的分数延时滤波器。评价分数延时滤波器设计质量好坏的标准是实际分数延时滤波器的频响与理想分数延时滤波器频响的误差大小,该误差越小代表滤波器设计质量越好,而滤波器频响特性包括幅频响应特性和群延时响应特性。因此,设计分数延时滤波器的目标就是设计数字滤波器并使其频响尽可能逼近理想分数延时滤波器。
目前,在实际工程中,为了生成物理上可实现的分数延时滤波器,一般使用矩形窗对sinc函数加窗,生成分数延时滤波器。然而,矩形窗函数的频谱旁瓣过高,使用矩形窗函数设计分数延时滤波器将导致分数延时滤波器的幅频响应和群延时特性存在“抖动”现象,偏离理想分数延时滤波器的频响,其质量不够好,延时效果不理想。
技术实现要素:
为了解决现有技术中分数延时滤波器的“抖动”现象,本发明提出了一种改进的窗函数分数延时滤波器设计方法、装置及其存储介质,通过设计一种优化的窗函数,使用窗函数的闭式解获得分数延时滤波器的系数,完成窗函数分数延时滤波器设计,有效提升滤波器频响特性中幅频响应和群延时响应的平坦程度,解决“抖动”现象。
为解决上述技术问题,本发明采用了如下技术手段:
第一方面,本发明提出了一种改进的窗函数分数延时滤波器设计方法,具体包括如下步骤:
步骤a、获取分数延时滤波器的设计输入;
步骤b、将信号延时转化为数字延时,获得信号的整数延时和分数延时;
步骤c、通过数据移位实现整数延时;
步骤d、通过改进的窗函数的闭式解计算分数延时滤波器的设计输出,获得改进的窗函数分数延时滤波器;
步骤e、通过改进的窗函数分数延时滤波器实现分数延时。
结合第一方面,进一步的,所述步骤a中的设计输入包括信号采样率fs、信号延时时长γ和数字滤波器长度n,其中,fs的单位是hz,γ的单位是秒。
结合第一方面,进一步的,步骤b中的数字延时的计算公式为:
d=γ·fs=i d(1)
其中,d为数字延时,i为整数延时,i=floor(d),d为分数延时。
结合第一方面,进一步的,改进的窗函数的具体公式如下:
其中,w(n)为窗函数,n为滤波器序号,n=0,1,……,n-1。
结合第一方面,进一步的,分数延时滤波器的设计输出为:
其中,h(n)为滤波器系数。
第二方面,本发明提出了一种改进的窗函数分数延时滤波器设计装置,所述装置包括:
滤波器配置模块:用于配置分数延时滤波器的设计输入;
延时转换模块:用于将信号延时转化为数字延时,获得信号的整数延时和分数延时;
窗函数模块,用于通过改进的窗函数的闭式解计算分数延时滤波器的设计输出,获得改进的窗函数分数延时滤波器;
整数延时模块:用于通过数据移位实现整数延时;
分数延时模块:用于通过改进的窗函数分数延时滤波器实现分数延时。
结合第二方面,进一步的,所述设计输入包括信号采样率fs、信号延时时长γ和数字滤波器长度n。
结合第二方面,进一步的,所述改进的窗函数的具体公式如下:
其中,w(n)为窗函数,n为滤波器序号,n=0,1,……,n-1。
第三方面,本发明提出了一种改进的窗函数分数延时滤波器设计装置,包括处理器及存储介质;
所述存储介质用于存储指令;
所述处理器用于根据所述指令进行操作以执行第一方面所述方法的步骤。
第四方面,本发明提出了计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面所述方法的步骤。
采用以上技术手段后可以获得以下优势:
本发明提出了一种改进的窗函数分数延时滤波器设计方法、装置及其存储介质,相比较传统矩形窗法得到的分数延时滤波器,本发明具有以下优势:1、本发明不仅能够有效提升滤波器频响特性中幅频响应的平坦程度,并且还能够提升滤波器频响特性中群延时响应的平坦程度;2、本发明中的窗函数是通过实验和比对获得的优化公式,窗函数公式与分数延时参数没有关系,只与滤波器阶数有关,因此无需频繁更新窗函数,大大简化了计算过程;3、本发明具备闭式解,可用数学公式直接写出,无需复杂的优化流程。
本发明的窗函数分数延时滤波器频响与理想分数延时滤波器频响的误差更小,滤波器设计质量更好,简单灵活,且不存在“抖动”现象,具备良好的工程运用前景。
附图说明
图1为本发明一种改进的窗函数分数延时滤波器设计方法的步骤流程图。
图2为本发明实施例中滤波器幅频响应仿真结果示意图。
图3为本发明实施例中滤波器群延时响应仿真结果示意图。
图4为本发明一种改进的窗函数分数延时滤波器设计装置的结构示意图。
图中,1是滤波器配置模块,2是延时转换模块,3是窗函数模块,4是整数延时模块,5是分数延时模块。
具体实施方式
下面结合附图对本发明的技术方案作进一步说明:
本发明提出了一种改进的窗函数分数延时滤波器设计方法,如图1所示,具体包括如下步骤:
步骤a、获取分数延时滤波器的设计输入,本发明中的设计输入包括信号采样率fs、信号延时时长γ和数字滤波器长度n,其中,fs的单位是hz,γ的单位是秒。
步骤b、将信号延时转化为数字延时,获得信号的整数延时和分数延时。数字延时d的计算公式为:
d=γ·fs=i d(5)
其中,i为整数延时,即i是d向下取整,i=floor(d),d为分数延时。
步骤c、通过数据移位实现整数延时。
步骤d、通过改进的窗函数的闭式解计算分数延时滤波器的设计输出,获得改进的窗函数分数延时滤波器。
为了解决传统矩形加窗法的“抖动”现象,本发明通过查阅大量文献、进行仿真实验比对,设计了一个改进的窗函数,即经过优化的低通滤波器,并得到了该窗函数的闭式解,具体公式如下:
其中,w(n)为窗函数,n为滤波器序号,n=0,1,……,n-1。
目前国内外文献中都未使用到本发明的窗函数,且本发明窗函数与分数延时参数没有关系,只与滤波器阶数有关,因此无需频繁更新窗函数,大大简化了计算过程。
进一步的,本发明给出了一组与分数延时d有关的数字滤波器系数:
其中,h(n)为滤波器系数。
步骤e、通过改进的窗函数分数延时滤波器实现分数延时。
在同样的设计输入下,传统矩形加窗法得到的分数延时滤波器的滤波器系数为:
其中,h'(n)为传统矩形加窗法对应的滤波器系数。
矩形窗函数w′(n)为:
为了验证本发明的效果,本发明实施例中提供了一个对比实验:
对比实验的滤波器长度n=64,采样率fs=3ghz、延时时长γ=3.4167×10-9s=3.4167ns,经计算可知,数字延时d=10.25,整数延时i=10,分数延时d=0.25。本发明实施例分别利用本发明方法设计的分数延时滤波器、传统矩形窗法设计的分数延时滤波器和理想分数延时滤波器进行信号处理,得到滤波器幅频响应仿真结果和群延时响应仿真结果,分别如图2、3所示。
从图2中可以看出,针对分数延时d=0.25,传统的矩形窗法滤波器幅频响应在归一化角频率ω≤0.9π的区域内存在抖动,而本发明设计的滤波器幅频响应在归一化角频率ω≤0.9π的区域内保持了基本平坦,与理想分数延时滤波器的频响一致,因此本发明中的方法较传统的矩形窗法滤波器性能更优。
从图3中可以看出,针对分数延时d=0.25,传统的矩形窗法滤波器的群延时响应在全频段都存在较大抖动,而本发明设计的滤波器的群延时响应在归一化角频率ω≤0.9π的区域内与理想值一致,且保持了基本平坦没有群延时抖动,因此本发明中的方法较传统的矩形窗法滤波器性能更优。
本发明还提出了一种改进的窗函数分数延时滤波器设计装置,如图4所示,包括滤波器配置模块1、延时转换模块2、窗函数模块3、整数延时模块4和分数延时模块5,其中,滤波器配置模块主要用于配置分数延时滤波器的设计输入,具体的,设计输入包括信号采样率fs、信号延时时长γ和数字滤波器长度n;延时转换模块主要用于将信号延时转化为数字延时,获得信号的整数延时和分数延时;窗函数模块主要用于通过改进的窗函数的闭式解计算分数延时滤波器的设计输出,获得改进的窗函数分数延时滤波器;整数延时模块主要用于通过数据移位实现整数延时;分数延时模块主要用于通过改进的窗函数分数延时滤波器实现分数延时。
本发明窗函数模块中改进的窗函数的具体公式如下:
其中,w(n)为窗函数,n为滤波器序号,n=0,1,……,n-1。
本发明还提出了一种改进的窗函数分数延时滤波器设计装置,包括处理器及存储介质;其中,存储介质用于存储指令;处理器用于根据所述指令进行操作以执行本发明中的窗函数分数延时滤波器设计方法的步骤。
本发明还提出了计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明中的窗函数分数延时滤波器设计方法的步骤。
本发明不仅能够有效提升滤波器频响特性中幅频响应的平坦程度,并且还能够提升滤波器频响特性中群延时响应的平坦程度,同时计算过程简单灵活,无需复杂优化流程,具备良好的工程运用前景。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
1.一种改进的窗函数分数延时滤波器设计方法,其特征在于,包括如下步骤:
步骤a、获取分数延时滤波器的设计输入,所述设计输入包括信号延时;
步骤b、将信号延时转化为数字延时,获得信号的整数延时和分数延时;
步骤c、通过数据移位实现整数延时;
步骤d、通过改进的窗函数的闭式解计算分数延时滤波器的设计输出,获得改进的窗函数分数延时滤波器;
步骤e、通过改进的窗函数分数延时滤波器实现分数延时。
2.根据权利要求1所述的一种改进的窗函数分数延时滤波器设计方法,其特征在于,所述步骤a中的设计输入包括信号采样率fs、信号延时时长γ和数字滤波器长度n,其中,fs的单位是hz,γ的单位是秒。
3.根据权利要求2所述的一种改进的窗函数分数延时滤波器设计方法,其特征在于,步骤b中的数字延时的计算公式为:
d=γ·fs=i d
其中,d为数字延时,i为整数延时,i=floor(d),d为分数延时。
4.根据权利要求3所述的一种改进的窗函数分数延时滤波器设计方法,其特征在于,改进的窗函数的具体公式如下:
其中,w(n)为窗函数,n为滤波器序号,n=0,1,……,n-1。
5.根据权利要求4所述的一种改进的窗函数分数延时滤波器设计方法,其特征在于,分数延时滤波器的设计输出为:
其中,h(n)为滤波器系数。
6.一种改进的窗函数分数延时滤波器设计装置,其特征在于,所述装置包括:
滤波器配置模块:用于配置分数延时滤波器的设计输入;
延时转换模块:用于将信号延时转化为数字延时,获得信号的整数延时和分数延时;
窗函数模块,用于通过改进的窗函数的闭式解计算分数延时滤波器的设计输出,获得改进的窗函数分数延时滤波器;
整数延时模块:用于通过数据移位实现整数延时;
分数延时模块:用于通过改进的窗函数分数延时滤波器实现分数延时。
7.根据权利要求6所述的一种改进的窗函数分数延时滤波器设计装置,其特征在于,所述设计输入包括信号采样率fs、信号延时时长γ和数字滤波器长度n。
8.根据权利要求6所述的一种改进的窗函数分数延时滤波器设计装置,其特征在于,所述改进的窗函数的具体公式如下:
其中,w(n)为窗函数,n为滤波器序号,n=0,1,……,n-1。
9.一种改进的窗函数分数延时滤波器设计装置,其特征在于,包括处理器及存储介质;
所述存储介质用于存储指令;
所述处理器用于根据所述指令进行操作以执行根据权利要求1~5任一项所述方法的步骤。
10.计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1~5任一项所述方法的步骤。
技术总结