可左右滑动选省市

一种基于频域滤波的优化方法发明专利

更新时间:2024-07-01
一种基于频域滤波的优化方法发明专利 专利申请类型:发明专利;
地区:辽宁-大连;
源自:大连高价值专利检索信息库;

专利名称:一种基于频域滤波的优化方法

专利类型:发明专利

专利申请号:CN202110745429.3

专利申请(专利权)人:大连理工大学
权利人地址:辽宁省大连市高新园区凌工路2号

专利发明(设计)人:陈喆,殷福亮,赵研

专利摘要:本发明公开了一种基于频域滤波的优化方法,具体包括:对需要进行滤波的时域长序列信号x(n)进行时域加窗处理获得时域加窗后的分段信号x1(n),x2(n),...,xDA(n);根据用户的滤波要求自行设计滤波器函数对信号进行频域加窗处理获得时域滤波器函数h(n);对获取的分段信号x1(n),x2(n),...,xDA(n)和时域滤波器函数h(n)进行FFT计算线性卷积处理从而获得滤波后的分段信号y1(n),y2(n),...,yDA(n);对分段信号y1(n),y2(n),...,yDA(n)进行叠接相加法还原信号处理从而获得滤波后的时域输出信号y(n)。

主权利要求:
1.一种基于频域滤波的优化方法,其特征在于包括:
对需要进行滤波的时域长序列信号x(n)进行时域加窗处理获得时域加窗后的分段信号x1(n),x2(n),…,xDA(n);
根据用户的滤波要求自行设计理想滤波器函数、通过窗函数对理想滤波器函数进行频域加窗处理获得时域滤波器函数h(n);
对获取的分段信号x1(n),x2(n),…,xDA(n)和时域滤波器函数h(n)进行FFT计算线性卷积处理从而获得滤波后的分段信号y1(n),y2(n),…,yDA(n);
对分段信号y1(n),y2(n),…,yDA(n)进行叠接相加法还原信号处理从而获得滤波后的时域输出信号y(n);
先对原始长序列信号做q点重叠预处理的分段处理,根据q点确定过渡带长度,设计出防止系统产生时域截断的窗函数w0(n),通过所设计的时域窗函数w0(n)对每段信号进行加窗处理,得到时域加窗后的分段信号x1(n),x2(n),…,xDA(n);
根据滤波要求先对预设的频率范围做出频率的预处理,再求出满足要求的理想滤波器jw
的频率响应函数Hd(e ),由IFFT变换可计算理想滤波器的时域函数为hd(n),根据实际需要的最小阻带衰减确定窗函数w(n)的类型,根据实际要求的过度带宽确定窗函数阶数M的大小,由此唯一确定窗函数w(n),获得实际滤波器函数为对理想滤波器函数加窗,即为hd(n)与w(n)在时域相乘;
所述FFT计算线性卷积处理过程为:将时域长序列信号分段的时域加窗后的信号x1(n),jw
x2(n),…,xDA(n)做FFT变换,再分别和所述时域滤波器函数h(n)的FFT变换H(e )相乘,将所得的结果做IFFT反变换,再对输出结果取有效点,即取yk(n)的前N+M‑1个数据作为输出结果,由此可求得滤波后的信号;
所述叠接相加法还原信号处理过程为:通过原理得到信号各个分段信号yk(n)的有效数据点数为N‑2q+1,过渡带点数为H点,yk(n)需要满足在过渡带部分有q点进行重叠,其余H‑q点累加在数据点上,由此计算出过渡带表达式和每段数据的总体的重叠部分点数,再对信号做F点的叠接相加,即将每一段的信号yk(n)的后F项与后一段的信号yk+1(n)的前F项对应相加,然后按照顺序排列,即可得到卷积后的结果y(n);
所述时域加窗处理的q点重叠预处理过程为:第一次先导入输入信号x(n)的前q点数据作为数据的起始数据,再从输入信号x(n)导入数据点数为p的数据作为本段的后p点数据,获得第一次需要进行处理的数据段,长度为N=q+p点;再进行之后的每次数据段处理时,均将前一段的后q点作为本段数据的前q点,再读入输入信号x(n)的p点数据作为本段的后p点数据,获得第k次需要进行处理的数据段,长度仍为N=q+p点,重复进行如上操作;
所述时域加窗处理的q点重叠预处理,获得进入后续处理的DA段的数据段,此数据的每个数据段均具有如下特征:每段的前q点数据与上一段数据的后q点数据为重复数据;每段的后p点数据为从输入信号x(n)连续读入的p个数据点,每段数据长度为N点,将此分段数据作为输入做频域加窗处理;每段长度为q的重复数据和p点的输入数据,共有N=p+q点;
所述时域加窗处理的窗函数,需要满足时域加窗的两个条件,需要用到过渡带较为缓变的窗函数,通过重叠的拼接算法补偿时域加窗对输入信号带来的轻微的畸变,在实际操作中通过重叠的拼接算法补偿时域加窗带来的影响。 说明书 : 一种基于频域滤波的优化方法技术领域[0001] 本发明涉及信号处理技术领域,尤其涉及一种基于频域滤波的优化方法。背景技术[0002] 在实际的通信系统中,检测到的信号是时域信号,而有的时候从时域分析信号及其困难,需要转换为频域进行分析。可以在频域上设计出一种滤波方法,将时域中不需要的频率分量滤除,得到滤波后的信号。实际中可通过频域滤波去除信号中的干扰信号。频域滤波方法就是利用FFT技术,将要进行滤波的原始信号变换到频域中,根据滤波要求,将需要滤除的部分加窗滤除,在经过IFFT反变换即可得到滤波后的信号。[0003] 目前,传统的频域滤波即是将信号做FFT到频域上,将所需要滤波的频率范围所对应的点数的值增大或减小相应的倍数。传统频域滤波由于频域直接对频率响应进行操作,相当于截断,会使时域信号发生展宽现象。由于实际中的信号一般为时域长序列信号,为了实现计算机处理数据的实时处理,会对长序列信号进行分段,直接截断会使频域信号发生展宽现象,进而影响频域的滤波。并且,传统频域的滤波设计出的滤波器会受过渡带影响,使得在特定频率上的滤波效果变差。同时,传统滤波对于复杂的滤波器设计较为麻烦。故传统频域滤波存在着一定的缺陷,如精度不高,灵活性差,效率低等缺点。[0004] 与本发明相关的现有技术如下:[0005] 现有技术方案一:[0006] 在王颜发表的“频域滤波产生的时域端点效应及避免方法”[1]即文献[1],提到了传统频域滤波的缺点,即所滤波后的时域信号会出现一端被截断,被截去的部分又在另一端出现的现象,会产生严重失真。并提供了两种优化滤波的方法,第一种方法为时域信号的起始端和末尾端补零,第二种方法为拓宽滤波器频谱。[0007] 该方案提供了两种处理方法,对于第一种方法,起始端补零会对原始信号产生影响,需要对其输出信号做一系列处理,较为麻烦。而且补零操作未做出明确计算,若补零过多,则计算复杂,若补零过少,不能有效避免失真。对于第二种方法,拓宽滤波器频谱,即使用较为缓变的窗函数,只提供了加宽过渡带的低通滤波器频谱,并未考虑实际中处理滤波时复杂的滤波情况,只能过滤低频,不能过滤任意频率分量。此外,两种方法对于处理时域长序列信号时,将会具有及其巨大的计算量。[0008] 现有技术方案二:[0009] 在刘艳良发表的“实时频域滤波干扰抑制补偿技术研究”[2]即文献[2],采用时域加窗和重叠处理的方法对频域滤波的缺点进行弥补。时域加窗需要加低旁瓣的窗函数,以平滑在块边缘处的不连续性,从而减小频谱泄漏。重叠处理是补偿由于加窗带来的处理增益损失并增强信号的关联。需要增加一路处理信号的通道,两路信号有N/2点长度的延迟。对两路信号均做分段处理,每段长度为N,对两路的每段信号均做频域滤波,利用门限设置直接将频域对应点置零后做反变换,得到两路滤波后的信号,每段信号均只保留中间N/2个样点,把前后的N/4个样点抛弃,将对应的两路N/2个样点信号拼接成N点信号,再将各段拼接成输出信号。[0010] 该方案在进行拼接时,增加了一路处理延时信号的通道,使得计算量提高了1倍,大大降低了系统的运行速度。同时在进行频域滤波时,直接置零滤除对应频率相当于频域的截断,会使得时域信号进行展宽,引起滤波后的信号发生失真。[0011] 与本发明相关的文献如下:[0012] [1]王颜.频域滤波产生的时域端点效应及避免方法[J].科技视界,2020(22):7‑10.[0013] [2]刘艳良,刘海见,孔军辉.实时频域滤波干扰抑制补偿技术研究[J].信息通信,2013(05):19‑21.发明内容[0014] 根据现有技术存在的问题,本发明公开了一种基于频域滤波的优化方法,具体包括如下步骤:时域加窗处理过程、频域加窗处理过程、FFT计算线性卷积过程和叠接相加法还原信号过程。[0015] 所述的时域加窗处理的输入为需要进行滤波的时域长序列信号x(n),其输出为时域加窗后的分段信号x1(n),x2(n),…,xDA(n);所述的频域加窗处理可根据用户的滤波要求自行设计滤波器函数,输出为所设计的时域滤波器函数h(n);所述的FFT计算线性卷积的两个输入端分别为上述的时域加窗处理输出端和频域加窗处理输出端,其输出为滤波后的分段信号y1(n),y2(n),…,yDA(n);所诉的叠接相加法还原信号端输入为FFT计算线性卷积的输出端,其输出为滤波后的时域输出信号y(n)。[0016] 所述时域加窗处理过程为:设计出了防止系统产生时域截断的窗函数,先对原始长序列信号做分段的q点重叠预处理,通过所设计的时域窗函数对每段信号进行加窗处理,得到时域加窗后的分段信号x1(n),x2(n),…,xDA(n)。[0017] 所述的时域加窗处理的q点重叠预处理,即第一次先导入输入信号x(n)的前q点数据作为数据的起始数据,再从输入信号x(n)导入数据点数为p的数据作为本段的后p点数据,故得到第一次需要进行处理的数据段,长度为N=q+p点;再进行之后的每次数据段处理时,均将前一段的后q点作为本段数据的前q点,再读入输入信号x(n)的p点数据作为本段的后p点数据,即得到第k次需要进行处理的数据段,长度仍为N=q+p点,重复进行如上操作。[0018] 所述的时域加窗处理的q点重叠预处理,可以得到进入后续处理的DA段的数据段,此数据的每个数据段均有如下特点:一是每段的前q点数据与上一段数据的后q点数据为重复数据;二是每段的后p点数据为从输入信号x(n)连续读入的p个数据点,每段数据长度为N点,将此分段数据作为输入做频域加窗等处理;三是每段长度为q的重复数据和p点的输入数据,共有N=p+q点。[0019] 所述的时域加窗处理的窗函数,需要满足时域加窗的两个条件,即第一个条件是需要用到过渡带较为缓变的窗函数;第二个条件是通过重叠的拼接算法补偿时域加窗对输入信号带来的轻微的畸变,在实际操作中可以通过重叠的拼接算法补偿时域加窗带来的影响。故本发明取时域窗函数满足条件为前一个窗函数的过渡带和后一个窗函数的过渡带函数相加为1,使得加窗前的信号和加窗再进行重叠拼接后的信号几乎保持不变,使拼接后的信号的失真程度明显减少。[0020] 所述的时域加窗处理的窗函数的设计中,为了所述的叠接相加法还原信号能够还原出原始数据,还需要满足加窗函数的过渡带也为q点,同时,做后续的叠接相加法的重叠点数也为q点。故设计叠接相加法所需要的窗函数,设计时域窗函数为[0021][0022] 频域加窗处理过程为:所述的频域加窗处理,实际上是在频域上设计出满足系统要求的理想滤波器函数,再对理想滤波器函数加窗,使其变成可实现的滤波器。[0023] 所述的频域加窗处理,可以自行设计可实现的高性能滤波器,首先,根据系统的滤波要求,先对频率范围做出频率的预处理,再求出满足要求的理想滤波器的频率响应函数jwHd(e ),由IFFT变换可计算理想滤波器的时域函数为hd(n)。由系统要求的最小阻带衰减可确定窗函数w(n)的类型,由系统要求的过度带宽可确定窗函数阶数M的大小,由此可唯一确定窗函数w(n)。这样即可求出实际滤波器函数的时域表达式为[0024] h(n)=hd(n)w(n),n=0,1,…,N‑1(2)[0025] 所述的频域加窗处理的频率的预处理,是为了应对系统的复杂的滤波要求,本发明取g段进行讨论,具体如表1所示。[0026] 表1系统滤波要求频率范围表[0027][0028] 系统所允许的过度带应满足所有的过渡带要求,故应取过渡带中频率最小的过渡带为[0029] △f=min{f21‑f12,f31‑f32,…,f1‑f(g‑1)2}(3)[0030] 对上述的输入频率做预处理,以防止过渡带出现在需要的频率范围内,影响滤波器性能。将上述表1的频率做如下的预处理命令[0031][0032] 由此频率设计出的滤波器的过渡带会集中在fi0附近,且过渡带频率范围取△f,由于过渡带取所有频率范围中最小的频率范围,会使得过渡带的集合满足[0033][0034] 所述的频域加窗处理的理想滤波器的时域函数,可先根据上述系统的滤波要求,写出理想的频率响应函数为[0035][0036] 再求出理想的时域表达式[0037][0038] 其中,τ为线性相位所必须的移位,应满足τ=M/2。[0039] 所述的频域加窗处理的窗函数的确定,首先根据系统所要求的最小阻带衰减确定所选的窗函数类型,本发明提供几种常见的窗函数基本参数,如表2所示。[0040] 表2常见窗函数基本参数表[0041] 窗函数 ‑60dB过渡带宽c值(2π/M) 阻带最小衰减(dB)矩形窗 1.998 ‑21巴特列特 3.830 ‑25汉宁窗 3.977 ‑44海明窗 3.950 ‑53布拉克曼窗 5.525 ‑74[0042] 在本发明中,取过渡带宽为主瓣归一化的幅度下降到‑60dB的带宽,如表2所示。根据系统要求的阻带衰减的大小查询表2,可确定选取的窗函数w(n)的类型,以及窗函数所对应的‑60dB过渡带宽的值[0043][0044] 其中,c为表2中所选窗函数所对应的‑60dB过渡带宽的数值,单位为2π/M。由(2)式可知,所设计出的滤波器函数的过度带B应小于系统所允许的过渡带宽△f,即过渡带的数字频率应满足[0045][0046] M为滤波器的阶数,由此可计算出M满足[0047][0048] 其中,M为滤波器的阶数取整数。故由系统要求的阻带最小衰减可确定窗函数的类型及c值,由(10)式可确定窗函数阶数,这样可以唯一确定窗函数的时域表达式w(n)。将M带入到(7)式,即可求出理想滤波器的时域表达式hd(n),再将w(n)和hd(n)带入到(2)式即可求出实际滤波器的时域表达式h(n)。[0049] FFT计算线性卷积过程为[0050] 所述的FFT计算线性卷积,即是系统将时域长序列信号分段的时域加窗后的信号jwx1(n),x2(n),…,xDA(n)做FFT变换,再分别和上述h(n)的FFT变换H(e )相乘,将所得的结果做IFFT反变换,即可求得滤波后的信号。要想求N点序列长度的xk(n)和M点序列长度的h(n)的线性卷积,需要输出yk(n)的长度L满足[0051] L≥N+M‑1(11)同时,FFT运算需要满足点数为2的整数次幂的倍数,所以L必须取满足[0052] L=2k≥N+M‑1(12)[0053] 所述的FFT计算线性卷积,使用N点序列长度的xk(n)和M点序列长度的h(n)的线性卷积,应得到N+M‑1点长度的信号,由于系统补零至2的整数次幂的倍数,所以在输出信号yk(n)的尾后均为补零数据0值,故需要取yk(n)的前N+M‑1个数据作为输出结果。[0054] 叠接相加法还原信号处理过程为[0055] 所述的叠接相加法还原信号,是通过时域加窗时的q点重叠数据进行叠接相加,作用是尽量不失真还原出滤波后的信号。在时域加窗时,采用了数据重叠处理的方法,每段输入信号xk(n)进行了N点的加窗处理,故卷积后所得的N+M‑1点的yk(n)相当于时域窗函数的过渡带进行展宽,即有效数据点数不变,应为N‑2q+1,过渡带点数由q‑1点展宽至H点。[0056] 设yk(n)的前后过渡带部分点数均为H,根据上述时域加窗部分的讨论,时域加窗部分xk(n)需要满足q点数据重叠,才能还原出原始信号。故yk(n)也需要满足在过渡带部分有q点进行重叠,其余H‑q点累加在数据点上,用于防止截断会影响滤波性能。可以得到过渡带的表达式为[0057][0058] 每段数据的总体的重叠部分点数为[0059] F=q+H‑q+H‑q=2H‑q=M‑1+q(14)[0060] 由此可以得到N、M和q必须满足数据长度N+M‑1大于2倍的叠接部分长度F,即N+M‑1>M‑1+q,化简可得出需要满足[0061] p≥M‑1+q(15)[0062] 所述的叠接相加法还原信号,即按照FFT求线性卷积的方法将每段信号xk(n)与h(n)做线性卷积,得到N+M‑1点的输出信号yk(n)。将每一段的信号yk(n)的后F项与后一段的信号yk+1(n)的前F项对应相加,然后按照顺序排列,即可得到卷积后的结果y(n)。[0063] 由于采用了上述技术方案,本发明提供的一种基于频域滤波的优化方法,该方法,具有如下有益效果:[0064] 1、本发明在做长序列卷积时,对长序列做了时域加窗处理和后续的叠接相加处理,在进行时域加窗的处理时,不是对信号直接加窗,而是先对信号做出了重叠q点的预处理,由此分段信号做时域q点过渡带加窗,后续再通过q点叠接相加还原出原始的信号。这样做抵消了传统FFT滤波引起的截断效应,防止信号失真。[0065] 2、本发明设计频域滤波器函数时,对输入频率做出了预处理,即取用户未限制的频率范围的中心频率做频域加窗,并求出了最小过渡带,使得所设计滤波器的过渡带严格限制在用户规定的频率范围之外。同时,参数的设置只需要输入几段预设的频率范围和最小阻带衰减,本发明即可自动选择窗函数类型和求出最小窗函数阶数,设计出最小阶数的窗函数,再得到后续所输出的滤波器函数。[0066] 3、本发明在使用叠接相加算法合并信号时,为了满足有效数据点严格按照时域加窗分析的q点重叠,先分析了时域窗函数经过频域加窗后的过渡带变化,求出了滤波后的各个分段信号的各个点数的成分,使得分段信号的整体信号做了F点重叠相加。附图说明[0067] 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。[0068] 图1为本发明中频域滤波改进方法总体框图。[0069] 图2为本发明中叠接相加原理图。[0070] 图3为本发明中时域加窗的窗函数图。[0071] 图4为本发明中FFT计算线性卷积框图。[0072] 图5为本发明中测试中理想滤波器与实际滤波器幅频响应对比图。[0073] 图6为本发明中测试中理想滤波器与实际滤波器幅频响应1200Hz‑1600Hz局部对比图。具体实施方式[0074] 为使本发明的技术方案和优点更加清楚,下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚完整的描述:[0075] 如图1所示的一种基于频域滤波的优化方法,具体包括如下步骤:[0076] 时域加窗处理过程、频域加窗处理过程、FFT计算线性卷积过程、叠接相加还原信号过程。装置的输入信号为需要进行滤波的时域长序列信号x(n),频域加窗的的窗口函数可根据滤波要求自行设计,输出信号y(n)为滤波后的时域输出信号。[0077] 1、时域加窗处理过程的具体方式为:[0078] 对于长序列信号进行传统频域滤波时,这对于计算机的存储量要求过大,而且需要等到长序列信号完全输入到计算机才能实现滤波,不能实现信号的“实时处理”,这需要我们对长序列信号进行截断,再经过滤波处理后进行拼接还原出滤波后的信号。[0079] 长序列信号在时域上对信号进行截短时,需要使用正确的窗函数,以减少对信号产生的影响。时域加窗的窗函数应该满足两个条件:[0080] (1)需要用到过渡带较为缓变的窗函数。直接截断会导致频域频谱进行展宽,会引起滤波后的信号失真,故需要使用过渡带较为缓变的窗函数,减少截断对于信号的影响。[0081] (2)时域加窗虽然会减少频谱泄露,但会使输入信号发生轻微的畸变,在实际操作中可以通过重叠的拼接算法补偿时域加窗带来的影响。[0082] 时域加窗后,需要使用叠接相加法还原信号。叠接相加算法原理由图2所示,通过时域加窗将原始长序列信号分段,在将前一段信号的后过渡带与后一段信号的前过渡带叠接相加,若保证过渡带相加后的幅度值与原始信号的幅度值相等,即满足前一个窗函数的过渡带和后一个窗函数的过渡带函数相加为1,即可使得加窗前的信号和加窗再进行重叠拼接后的信号几乎保持不变,使拼接后的信号的失真程度明显减少。[0083] 本发明中,为了可以不失真的还原出原始信号,窗函数需要满足上述时域加窗的两个条件,用所设计的时域窗函数w0(n)截取数据,再用叠接相加法还原信号。而使用叠接相加法还原信号时,需要我们对原始数据做q点的重叠分段的预处理。[0084] 做重叠分段的预处理,第一段取前q点数据作为起始数据点,之后每个数据段的后p点均为从输入信号x(n)导入的p点数据,而前q点则为前一数据段的后q点数据,得到每个数据段的长度为N=q+p点。由此可以得到进入后续处理的DA段的数据段,此数据的每个数据段均有如下特点:[0085] (1)每段的前q点数据与上一段数据的后q点数据为重复数据;[0086] (2)每段的后p点数据为从输入信号x(n)连续读入的p个数据点,每段数据长度为N点,将此分段数据作为输入做频域加窗等处理;[0087] (3)每段长度为q的重复数据和p点的输入数据,共有N=p+q点。[0088] 这样的q点重叠分段的预处理的方法可以得到DA段的数据段,将此长度为N的每段数据均乘以预设计的窗函数w0(n)进行时域加窗处理,即可得到DA段的数据段为x1(n),x2(n),…,xDA(n),此分段为时域加窗后的分段,以供后续的频域加窗处理等。[0089] 为了使用叠接相加法还原出原始数据,窗函数即要满足上述两个条件,还需要满足加窗函数的过渡带也为q点。故设计叠接相加法所需要的窗函数,设计时域窗函数为[0090][0091] 即将每段数据的前q点和后q点分别与上述窗函数的前后过渡带相乘,由于前q点和后q点的数据相同,过渡带函数叠加为1。故使用叠接相加法,将加窗后的前一段的后q点与后一段的前q点叠加,可还原出原始信号对应的q点数据;而中间的p‑q个点加窗后相当于乘以1,与原始数据相同,故由此数据重叠处理方法产生的数据段数,可通过q点的重叠使用叠接相加法使时域加窗的信号还原出原始信号。时域加窗的叠接相加法还原数据原理如图3所示。[0092] 2、频域加窗处理过程的具体方式为:[0093] 由于系统的滤波要求复杂多变,需要对于不同频率范围的信号做不同的处理,故需要在不同的频率上设计不同的滤波器。本发明取g段进行讨论,设在f11Hz~f12Hz时,系统的频率幅度响应变为原来的A1倍;在f21Hz~f22Hz时,系统的频率幅度响应变为原来的A2倍;依此类推,在fg1Hz~fg2Hz时,系统的频率幅度响应变为原来的Ag倍;具体如表1所示。[0094] 表1系统滤波要求频率范围表[0095][0096][0097] 可根据具体滤波要求自行增加频率范围的个数g,以及设定的幅度衰减系数值Ag,为了更为方便的较大的频率衰减的波动范围,将设置的幅度衰减系数取分贝值表示,转换关系公式为[0098] dB=20log10(A)(2)[0099] 观察可知,系统所允许的过度带取上述未做要求的频率范围,即f21‑f12,f31‑f22,…,fg1‑f(g‑1)2。在进行频域加窗处理时,系统所允许的过度带应满足所有的过渡带要求,故应取上述过渡带中频率最小的过渡带为△f,用于确定滤波器的阶数。[0100] 为了满足在系统在用户规定的频率范围严格满足条件,过渡带的频率范围不能出现在要求的频率范围即f11Hz~f12Hz,f21Hz~f22Hz,…,fg1Hz~fg2Hz之中,这需要对设计的滤波器频率范围做预处理,以防止过渡带出现在需要的频率范围内,影响滤波器性能。在设计滤波器时,可以发现过渡带会出现在滤波器的骤变频率的附近,且均匀分布在此频率的两侧,故取上述频率为[0101][0102] 由此频率设计出的滤波器的过渡带会集中在fi0附近,且过渡带频率范围取△f,由于过渡带取所有频率范围中最小的频率范围,会使得过渡带的集合满足[0103][0104] 即使得过渡带限制在了用户规定的频率范围之外,保证了系统性能。[0105] 根据上述系统的滤波要求可写出理想的频率响应函数为[0106][0107] 其中,w为系统频率f所对应的数字频率, fs为系统的抽样频率。由公式[0108][0109] 可求出理想的时域表达式[0110][0111] 其中,τ为线性相位所必须的移位,应满足τ=M/2。[0112] 根据系统所要求的最小阻带衰减确定所选的窗函数类型,本发明提供几种常见的窗函数基本参数,如表2所示。[0113] 表2常见窗函数基本参数表[0114] 窗函数 ‑60dB过渡带宽c值(2π/M) 阻带最小衰减(dB)矩形窗 1.998 ‑21巴特列特 3.830 ‑25汉宁窗 3.977 ‑44海明窗 3.950 ‑53布拉克曼窗 5.525 ‑74[0115] 传统过渡带宽取主瓣归一化的幅度下降到‑3dB的带宽,也有取主瓣两个过零点之间的带宽。在本发明中,取过渡带宽为主瓣归一化的幅度下降到‑60dB的带宽,如表2所示,可以提高系统的准确性。根据系统要求的阻带衰减的大小查询表2,可确定选取的窗函数w(n)的类型,以及窗函数所对应的‑60dB过渡带宽的值[0116][0117] 其中,c为表2中所选窗函数所对应的‑60dB过渡带宽的数值,单位为2π/M。由(1)式可知,实际的滤波器函数等于理想滤波器函数与窗函数在时域相乘,即实际的滤波器函数的频率响应等于理想滤波器函数的频率响应与窗函数的频率响应在频域相乘做卷积,由此可得实际的滤波器函数的频率响应会出现与窗函数的频率响应卷积而形成的过渡带,且过度带的宽度应等于窗函数的带宽B。上述要求中得到系统所允许的过渡带宽度为△f,所设计出的滤波器函数的过度带B应小于系统所允许的过渡带宽△f,即过渡带的数字频率应满足[0118][0119] M为滤波器的阶数,由此可计算出M满足[0120][0121] 其中,M为滤波器的阶数取整数。故由系统要求的阻带最小衰减可确定窗函数的类型及c值,由(10)式可确定窗函数最小阶数,这样可以唯一确定窗函数的时域表达式w(n)。将M带入到(7)式,即可求出理想滤波器的时域表达式hd(n),根据公式[0122] h(n)=hd(n)w(n),n=0,1,…,N‑1(11)即可求出实际滤波器的时域表达式h(n),将其用作频域加窗的滤波器函数,最后通过FFT变换即可计算出实际滤波器函数jw的频域表达式H(e )。[0123][0124] 3、FFT计算线性卷积过程的具体方式为:[0125] 具体操作步骤如下:首先,取时域长序列信号时域加窗后的一段信号xk(n),把N点序列长度的xk(n)和M点序列长度的h(n)尾后补零至L点,这样可以方便FFT运算,也可以减少栅栏效应。再将补零后的序列x′k(n)和h′(n)做L点的FFT变换,把X′k(k)和H′(k)对应点相乘得到Y′k(k),最后将y′k(k)做IFFT反变换得到滤波后的信号yk(n)。由于N点序列长度的xk(n)和M点序列长度的h(n)的线性卷积会得到N+M‑1点长度的信号,所以在输出信号y1(n)的L点长度中,只有前N+M‑1点长为有用信号,其尾后均为补零数据0值,故需要取y1(n)的前N+M‑1个数据作为输出结果。原理框图如图4所示。重复上述操作即可求出滤波后的N+M‑1点的输出信号y1(n),y2(n),…,yDA(n)。[0126] 4、叠接相加法还原信号过程的具体方式为:[0127] 整个系统在时域上看相当于将输入的长序列信号与h(n)做线性卷积,与长序列做卷积时,为了满足实时处理信号的要求,可以使用叠接相加法求长序列与h(n)的卷积,将长序列分段进行卷积运算后重新合并成卷积后的序列。[0128] 在本发明中,将时域长序列信号分段,每段序列长度为N点,共分为DA段。每段数据经过FFT计算线性卷积,得到的每段数据yk(n)为输入数据经过时域加窗分段后的N点数据xk(n)与h(n)的卷积,长度为N+M‑1点。本发明中,在时域加窗时,采用了数据重叠处理的方法,每段输入信号xk(n)进行了N点的加窗处理,故卷积后所得的N+M‑1点的yk(n)相当于时域窗函数的过渡带进行展宽,即有效数据点数不变,应为N‑2q+1,过渡带点数由q‑1点展宽至H点。[0129] 设yk(n)的前后过渡带部分点数均为H,根据上述时域加窗部分的讨论,时域加窗部分xk(n)需要满足q点数据重叠,才能还原出原始信号。故yk(n)也需要满足在过渡带部分有q点进行重叠,其余H‑q点累加在数据点上,用于防止截断会影响滤波性能。可以得到过渡带的表达式为[0130][0131] 由此可以得到重叠部分为三部分:[0132] (1)第一部分为本段的后过渡带靠近有效数据点的上端部分与下一段的前过渡带靠近有效数据点的上端部分重叠,即时域加窗所需要重叠的q点数据;[0133] (2)第二部分为本段的后过渡带靠近尾后数据的下端部分与下一段的有效数据点重叠,即本段过渡带的多余的H‑q点累加在下一段数据点上;[0134] (3)第三部分为本段的有效数据点与下一段的前过渡带靠近起始数据的下端部分重叠,即下一段过度带多余的H‑q点累加到本段上的数据;[0135] 故可以得到每段数据的总体的重叠部分点数为[0136] F=q+H‑q+H‑q=2H‑q=M‑1+q(16)[0137] 由此可以得到N、M和q必须满足数据长度N+M‑1大于2倍的叠接部分长度F,即N+M‑1>M‑1+q,化简可得出需要满足[0138] p≥M‑1+q(17)[0139] 具体方法如下:按照FFT求线性卷积的方法将每段信号xk(n)与h(n)做线性卷积,得到N+M‑1点的输出信号yk(n)。将每一段的信号yk(n)的后F项与后一段的信号yk+1(n)的前F项对应相加,然后按照顺序排列,即可得到卷积后的结果y(n)。[0140] 叠接相加法公式为[0141][0142] 其中,k为分段数目,k=1,2,3…,DA;N为分段后每段的序列点数;F为每段数据的重叠部分点数。按照此方法即可求得最后滤波后的时域信号y(n)。[0143] 为了验证本发明的有效性,需要检测所设计滤波器对于所有频率的滤波效果是否满足要求,故采用线性调频信号LMF,作为系统的输入信号通过整个系统。在本发明中,取抽样频率fs=8000Hz,系统滤波要求参考取值为f11=0Hz,f12=500Hz,f21=1200Hz,f22=1600Hz,f31=2000Hz,f32=2500Hz,f31=3000Hz,f32=4000Hz,A1=‑82,A2=‑73,A3=‑76,A4=‑69。所允许的最小阻带衰减为‑44dB。可计算得系统所允许的过渡带△f为400Hz,由此可得数据点数M=64,其他数据点数参考取值为N=128,L=256,q=32,p=96,F=95。通过时域加窗的窗函数w0(n)可得到时域输入信号的分段信号的分段为x1(n),x2(n),…,xH(n),做jwFFT变换到频域信号。利用上述FFT计算线性卷积的方法分别与H(e )相乘进行滤波,得到滤波后的时域信号为y1(n),y2(n),…,y(n),最后利用F点的叠接相加法求得最后滤波后的时域信号y(n)。[0144] 根据输出的滤波后的时域信号y(n)画出各个频率变化的频率响应图,如图5所示,其中虚线表示用户预设的理想滤波器的频率响应,实线表示系统实际所设计的滤波器频率响应曲线。在上述所要求的频率范围内,即0Hz‑500Hz,1200Hz‑1600Hz,2000Hz‑2500Hz,3000Hz‑4000Hz,实际滤波器的幅频响应与理想滤波器的幅频响应几乎重合,1200Hz‑1600Hz效果图如图6所示,由图6可观察到,所设计实际滤波器可以完全取代预设的理想滤波器,满足了用户的基本滤波要求,且具有良好的滤波性能。[0145] 以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。[0146] 本发明的技术方案中,以下替代方案同样能完成发明目的:[0147] (1)本发明中,再设计时域窗函数时,使用了汉宁窗口过渡带作为基础设计时域窗函数,亦可使用其他满足前后过渡带相加得1的窗口设计。[0148] (2)本发明中,在设计频域滤波器函数时,采用窗函数采用‑60dB带宽去计算滤波器的阶数,也可采用其他带宽的定义计算。[0149] (3)在本发明中,采用了FFT快速算法计算线性卷积,计算线性卷积亦可在时域上直接计算,即通过程序采用翻折移位进行计算线性卷积。[0150] (4)本发明中,在使用叠接相加法时,将过渡带部分重叠q点累加,其余H‑q点采取累加至数据点上,亦可采取过渡带部分重叠q点累加,其余H‑q点数据舍去。[0151] 以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

专利地区:辽宁

专利申请日期:2021-07-01

专利公开日期:2024-06-18

专利公告号:CN113541648B

电话咨询
读内容
搜本页
回顶部