一种基于动态长度帧处理的分数时延方法与流程

文档序号:18266982发布日期:2019-07-27 09:15阅读:475来源:国知局
一种基于动态长度帧处理的分数时延方法与流程

本发明属于信号处理技术领域,尤其涉及一种基于动态长度帧处理的分数时延方法。



背景技术:

数字信号的精确时延在通信、同步技术、阵列信号处理、语音信号处理等领域都有着广泛的应用。特别是在阵列信号处理中,数字波束形成、宽带信号源模拟、自适应时延估计以及目标回波的时域分析等领域都涉及到信号的精确时延问题。

目前常用的分数数字延迟设计方法主要有两种:(1)时域直接实现。这种主要有过密采样和时域内插两种形式。过密采样是在接收信号过程中,通过提高对模拟信号的采样频率来实现。而采样频率的提高会使运算量和硬件开销大幅度地增加;时域内插方法是对采样信号先补零和内插,再使用滤波器对信号进行滤波处理,最后得到延时结果。虽然与过密采样相比,这些操作降低了数据处理量,但如果其中一步操作不当,极易产生信号畸变等现象。(2)设计分数时延滤波器。通过设计合适的fir数字滤波器或全通iir数字滤波器来逼近在整个频率范围内幅度响应恒定,在相位上表现为一个分数时延的理想分数时延滤波器的特性,由此实现输入信号所期望的分数时延滤波器。这种方法实现的滤波器,在接收信号是窄带信号时具有高的时延精度。但在接收信号带宽较大时,滤波器的设计结果往往不是十分理想。当延时需要可变时,由于滤波器复杂的设计过程,计算量会增加很多。而全通iir型的延时滤波器在设计过程中还需要考虑滤波器稳定性问题。



技术实现要素:

发明目的:针对上述现有方法存在的问题和不足,本发明提供了一种基于动态长度帧处理的分数时延方法。该方法在传统频域线性相位加权法的基础上,采用动态帧长帧处理和帧间数据融合的处理方式。与传统频域线性相位加权法相比,对数据进行了分段,并且对不同段数据进行动态长度的分帧处理。利用每段数据的频谱特性,得到对应此段数据的性能最优的单帧长度;通过对每段数据相邻单帧重叠数据的取均值,提高了延时数据估计的性能;通过将整体延时分为分数延时和整数延时两步进行,提高了数据延时的精度,具有很高的实用价值。

技术方案:为实现本发明的目的,本发明所采用的技术方案是:一种基于动态长度帧处理的分数时延方法,包括如下步骤:

(1)获取待延时信号的采样数据序列s(n),n=0,1,…,l-1,所述的n为采样点序号,l为采样点个数,获取s(n)的延时时间t_delay;

(2)参数初始化,初始化单次处理数据段长度k,线谱检测幅度门限g,线谱判决窗长τ,单帧长度门限a,并将t_delay分为整数部分t_delay_1和分数部分t_delay_2;

(3)对采样数据序列s(n)进行分段处理,得到分段数据序列sj(l),j=0,1,…,q-1;l=0,1,…,k-1,j为分段序号,q为处理数据段数,l为单段数据序列的采样序号。分段时,单段数据长度取为k,数据分段滑动步长为b,b根据分数延时长度确定;q,l,b,k之间满足l=(q-1)*b+k。

(4)设置当前处理数据段序号j=0;

(5)对sj(l)的功率谱pj(k),k=0,1,…,k-1进行线谱检测,得到线谱频率序号,利用线谱频率序号计算出最优帧长度fft_nj,并根据fft_nj来设置滑动步长nj,nj=round(fft_nj/2),round()为四舍五入取整运算;

(6)通过分数延时时间t_delay_2和最优帧长度fft_nj,产生频域相位加权序列w_delayj(w),w=0,1,…,fft_nj-1;

(7)对sj(l)进行重叠分帧,再用频域线性加权法对每帧数据进行分数延时处理,然后进行帧间数据融合,得到分数延时序列f_dj(p),0≤p≤b-1;

(8)递增j,重复步骤(5)~(8),直至全部数据段处理完毕;

(9)将q段分数延时序列f_dj(p)连接合并,得到s(n)的分数延时序列f_d1(q),0≤q≤q*b-1;

(10)对信号f_d1(q)进行序号移位整数延时操作,移位后数据补零,得到采样数据序列s(n)延时序列s_d(n_d),0≤n_d≤q*b+t_delay_1-1,这里,(q-1)*b+k=l。进一步解释,当延时是整数时,q*b=l,当延时有分数部分时,q*b=l-1。

其中,在步骤(1)中,采用如下方法获取待延时信号采样数据序列s(n):从传感器接收l个采样点的采集数据作为待延时的数据序列s(n);或从存储器中提取l个采样点数据作为待延时的数据序列s(n),t_delay根据实际需要确定。

其中,在步骤(2)中,设置初始化单帧长度门限a,单次处理数据段长度k,线谱判决窗长τ,线谱检测幅度门限g,其中,a为取值小于k/2的正整数,τ为取值大于8的奇数,g为取值大于3的实数,得到需要延时的时间长度t_delay之后,计算如下值:

t_delay_1=ceil(t_delay),t_delay_2=t_delay-round(t_delay)

t_f=ceil(t_delay_2),t_e=floor(t_delay_2)

其中,round()为四舍五入取整运算,ceil()为向上取整运算,floor()为向下取整运算。

其中,在步骤(3)中,对(1)中得到的采样数据序列s(n)进行分段处理,取每段长为k,滑动步长b=k+t_e-t_f,则可得到分段数据序列sj(l),所述的sj(l)=s(jb+l),j=0,1,…,q-1;l=0,1,…,k-1,j为分段序号,l为各段数据序列采样点序号,q为数据分段数,q,l,k之间满足l=(q-1)*b+k。

其中,在步骤(5)中,采用如下步骤对信号sj(l)进行处理,找到最优帧长度fft_nj,并设置滑动步长nj。

(5-1)计算得到sj(l)的离散傅里叶变换为yj(k):

其中,k为yj(k)的离散频率索引,ρ表示虚数单位,即该式可通过快速傅里叶变换实现;

(5-2)根据yj(k)计算sj(l)的功率谱pj(k):

││代表取模值运算。

(5-3)采用对极大值点的局部异常值检测的方法对功率谱pj(k)进行线谱检测,包含步骤如下:

(5-3-1)找出pj(k)的所有极大值点对应的频率序号,记为km,极大值点的计算公式如下:

pj(km)>pj(km-1)和pj(km)≥pj(km+1)

(5-3-2)对每个km,如果pj(km)≥g*(std({pj(km-(τ-1)/2),pj(km-(τ-1)/2+1),…,pj(km+(τ-1)/2)})),则判定该频点为功率谱pj(k)的线谱频点,将该频点的频率序号记录到当前数据段线谱频率序号集合rj中,得到:

rj={km|pj(km)>pj(km-1)&pj(km)≥pj(km+1)&pj(km)≥g*(std({pj(km-(τ-1)/2),pj(km-(τ-1)/2+1),…,pj(km+(τ-1)/2)}))},

其中,&表示逻辑与关系,std()是取数据集合均方根的运算,τ是线谱判决窗长,g为线谱检测幅度门限。

(5-4)获得线谱频率序号集合rj之后,利用quinn插值校正算法对频率估计结果进行校正,并计算最优的分帧长度fft_nj,具体操作如下:

(5-4-1)取集合rj中线谱频率序号的最小值a=min(rj),并定义α1=re(yj(a-1)/yj(a))和α2=re(yj(a+1)/yj(a)),式中,min(rj)表示取集合rj中线谱频率序号的最小值,re(x)表示取x的实部,yj(a)表示sj(n)频谱yj(k)的离散频率索引k=a时的元素值;分别计算频率估计相对偏差δ的表达式为离散频率校正结果就为μj=a+δ;

(5-4-2)在单帧长度门限a和预处理数据段长度k之间寻找最优分帧长度,具体操作如下:

由(5-4-1)步可知,离散频率μj对应的小数周期采样点数为γj=k/μj。

取ψj=abs(∈*γj-round(∈*γj)),式中,∈为正整数,且满足a≤∈*γj≤k,abs()为取模函数。在满足上述条件的∈中找到ψj取最小值时的正整数∈,则最优分帧长度fft_nj=round(∈*γj)。

(5-5)根据fft_nj来设置滑动步长nj,nj=round(fft_nj/2),round()为四舍五入取整运算。

其中,在步骤(6)中,产生频域加权序列w_delayj(w),w=0,1,…,fft_nj-1,方法如下:

式中,t_delay_2为分数延时时间,ceil()为向上取整运算,floor()为向下取整运算。

其中,在步骤(7)中,采用如下方法对sj(l)进行重叠分帧,再用频域线性加权法对每帧数据利进行分数延时处理,然后进行帧间数据融合,得到分数延时序列f_dj(p),0≤p≤k-1。具体操作如下:

(7-1)利用(5)步得到的最优帧长度fft_nj和滑动步长nj,对数据sj(l)进行分帧处理,操作如下:

(7-1-1)取每帧数据的长度为fft_nj,每帧之间的滑动步长为nj;

(7-1-2)由于单次处理数据长度为k,将数据sj分成的帧数φj=k_sum+1,其中,

k_sum=ceil((k-fft_nj)/nj)

式中,nj为滑动步长,ceil()为向上取整运算;

(7-1-3)对于前k_sum帧数据,每帧取得数据xi(m)为:

xi(m)=sj(i*nj+m),i=0,1,…,ksum-1,m=0,1,…,

式中,i为帧序号,nj为滑动步长,m为各帧数据序列的采样序号;

(7-1-4)对于最后一帧数据,如果长度不足fft_nj,为了提高延时精度,在sj(l)最后一个数据开始向前取fft_nj个数据,凑成长度为fft_nj的最后一帧数据xk_sum(m),即:

xk_sum(m)=sj(k-fft_nj+m),m=0,1,…,fft_nj-1

式中,k_sum为最后一帧的帧序号,k为单次处理数据段长度,m为最后一帧数据序列的采样序号。

(7-2)设置当前处理帧序号i=0;

(7-3)对第i帧数据进行频域线性加权延时处理,包括步骤如下:

(7-3-1)按帧长fft_nj计算xi(m)的离散傅里叶变换为h(w):

其中,w为h(w)的离散频率索引,ρ表示虚数单位,即该式可通过快速傅里叶变换实现;

(7-3-2)频域信号h(w)用加权序列w_delayj(w)加权,再离散傅里叶反变换,得到单帧延时序列xdelay_tempi(m),m=0,1,…,fft_nj-1,即:

其中,ρ表示虚数单位,即

(7-4)i=i+1,返回(7-3-1)逐帧处理数据xi(m),直至处理完所有φj帧数据。

(7-5)对得到的相邻单帧延时数据的重叠部分进行均值处理,并将各帧数据合并,得到sj(l)分数延时后序列f_dj(p),0≤p≤b-1,包含步骤如下:

(7-5-1)对于(7-1)~(7-4)步得到的单帧延时序列xdelay_tempi(m),当帧序号i满足0≤i≤k_sum-1时,首先去除xdelay_tempi的前t_f个数据和后fft_nj-nj-t_f个数据,得到xdelayi(f),0≤f≤nj-1,即:

xdelayi(f)=xdelay_tempi(f+t_f),0≤f≤nj-1;0≤i≤k_sum-1

再将每帧xdelay_tempi(m)与前一帧数据xdelay_tempi-1(m)的重叠部分进行均值处理,利用处理结果对xdelayi(f)的对应数据重新赋值,即:

其中,0≤f≤fft_nj-nj-1;1≤i≤k_sum-1;

(7-5-2)对最后一帧单帧延时数据xdelay_tempk_sum(m),令z=fft_nj+t_f-k+(k_sum)*nj+1,k为单次处理数据段长度,直接去除此帧xdelay_tempk_sum的前z-1个数据,得到xdelayk_sum(f),0≤f≤fft_nj+t_e-z,即:

xdelayk_sum(f)=xdelay_tempk_sum(z+f-1),0≤f≤fft_nj+t_e-z;

(7-5-3)再将所有xdelayi(f)按顺序首尾相连,即得到了sj(l)分数延时后的数据f_dj(p),0≤p≤b-1,即:

其中,在步骤(9)中,将q段分数延时序列f_dj(p)合并,得到s(n)分数延时序列f_d1(q),0≤q≤q*b-1,具体操作如下:

f_d1(q)=f_dj(q-j*b),0≤j≤q-1;j*b≤q≤(j+1)*b-1。

其中,在步骤(10)中,对信号f_d1(n)进行序号移位整数延时操作,移位后数据补零,得到整体数据延时序列s_d(n_d),0≤n_d≤q*b+t_delay_1-1,即:

上式中,t_delay_1为整数延时时间,得到的s_d(n_d)序列就是采样序列s(n)的延时结果。

有益效果:与现有技术相比,本发明的技术方案具有以下有益技术效果:

(1)本发明的信号延时方法在对信号进行延时处理时在传统频域线性相位加权法的基础上,采用动态帧长帧处理和帧间数据融合的处理方式,对不同的数据段,动态选取数据处理帧长,提高了对非平稳数据的延时精度。

(2)本发明的信号延时方法在对每段数据进行分帧序列长度选取时充分利用了信号本身的频谱信息。在动态选取分帧序列长度时考虑了分帧长度对于延时性能的影响,通过对信号主要频率分量的提取和分析,在分帧长度和延时性能之间进行优化均衡,得到了性能较优的单帧长度。

(3)本发明的信号延时方法在对信号进行分帧处理时,考虑到了不同帧数据进行合并时,数据帧交界处延时误差较大的问题。通过采用重叠分帧的方法,相邻帧与帧数据之间存在着可控长度的数据重叠,合并时对相邻数据帧重叠部分进行均值处理,提高了分帧延时方法的性能。

(4)本发明的信号延时方法在对信号进行延时处理时,将延时时间分成了整数延时部分和分数延时部分,提高了运算精度,与直接进行延时运算相比,具有更好的延时性能。

附图说明

图1为本发明方法的流程示意图;

图2、3为实施例1中对频域加权序列的幅度和相位图像;

图4为实施例1中最终延时处理结果与延时前数据曲线对比;

图5为实施例1中最终延时处理结果与理想延时曲线对比。

具体实施方式

本发明公开了一种基于动态长度帧处理的分数时延方法,该方法包括如下步骤:

(1)获取待延时信号的采样数据序列s(n),n=0,1,…,l-1,所述的n为采样点序号,l为采样点个数,获取s(n)的延时时间t_delay;

(2)参数初始化,初始化单次处理数据段长度k,线谱检测幅度门限g,线谱判决窗长τ,单帧长度门限a,并将t_delay分为整数部分t_delay_1和分数部分t_delay_2;

(3)对采样数据序列s(n)进行分段处理,得到分段数据序列sj(l),j=0,1,…,q-1;l=0,1,…,k-1,j为分段序号,q为处理数据段数,l为单段数据序列的采样序号。分段时,单段数据长度取为k,数据分段滑动步长为b,b根据分数延时长度确定;q,l,b,k之间满足l=(q-1)*b+k。

(4)设置当前处理数据段序号j=0;

(5)对sj(l)的功率谱pj(k),k=0,1,…,k-1进行线谱检测,得到线谱频率序号,利用线谱频率序号计算出最优帧长度fft_nj,并根据fft_nj来设置滑动步长nj,nj=round(fft_nj/2),round()为四舍五入取整运算;

(6)通过分数延时时间t_delay_2和最优帧长度fft_nj,产生频域相位加权序列w_delayj(w),w=0,1,…,fft_nj-1;

(7)对sj(l)进行重叠分帧,再用频域线性加权法对每帧数据进行分数延时处理,然后进行帧间数据融合,得到分数延时序列f_dj(p),0≤p≤b-1;

(8)递增j,重复步骤(5)~(8),直至全部数据段处理完毕;

(9)将q段分数延时序列f_dj(p)连接合并,得到s(n)的分数延时序列f_d1(q),0≤q≤q*b-1;

(10)对信号f_d1(q)进行序号移位整数延时操作,移位后数据补零,得到采样数据序列s(n)延时序列s_d(n_d),0≤n_d≤q*b+t_delay_1-1。这里,(q-1)*b+k=l。进一步解释,当延时是整数时,q*b=l,当延时有分数部分时,q*b=l-1。

其中,在步骤(1)中,采用如下方法获取待延时信号采样数据序列s(n):从传感器接收l个采样点的采集数据作为待延时的数据序列s(m);或从存储器中提取l个采样点数据作为待延时的数据序列s(n),t_delay根据实际需要确定。

其中,在步骤(2)中,设置初始化单帧长度门限a,单次处理数据段长度k,线谱判决窗长τ,线谱检测幅度门限g,其中,a为取值小于k/2的正整数,τ为取值大于8的奇数,g为取值大于3的实数,得到需要延时的时间长度t_delay之后,计算如下值:

t_delay_1=ceil(t_delay),t_delay_2=t_delay-round(t_delay)

t_f=ceil(t_delay_2),t_e=floor(t_delay_2)

其中,round()为四舍五入取整运算,ceil()为向上取整运算,floor()为向下取整运算。

其中,在步骤(3)中,对(1)中得到的采样数据序列s(n)进行分段处理,取每段长为k,滑动步长b=k+t_e-t_f,则可得到分段数据序列sj(l),所述的sj(l)=s(jb+l),j=0,1,…,q-1;l=0,1,…,k-1,j为分段序号,l为各段数据序列采样点序号,q为数据分段数,q,l,k之间满足l=(q-1)*b+k。

其中,在步骤(5)中,采用如下步骤对信号sj(l)进行处理,找到最优帧长度fft_nj,并设置滑动步长nj。

(5-1)计算得到sj(l)的离散傅里叶变换为yj(k):

其中,k为yj(k)的离散频率索引,ρ表示虚数单位,即该式可通过快速傅里叶变换实现;

(5-2)根据yj(k)计算sj(l)的功率谱pj(k):

││代表取模值运算。

(5-3)采用对极大值点的局部异常值检测的方法对功率谱pj(k)进行线谱检测,包含步骤如下:

(5-3-1)找出pj(k)的所有极大值点对应的频率序号,记为km,极大值点的计算公式如下:

pj(km)>pj(km-1)和pj(km)≥pj(km+1)

(5-3-2)对每个km,如果pj(km)≥g*(std({pj(km-(τ-1)/2),pj(km-(τ-1)/2+1),…,pj(km+(τ-1)/2)})),则判定该频点为功率谱pj(k)的线谱频点,将该频点的频率序号记录到当前数据段线谱频率序号集合rj中,得到:

rj={km|pj(km)>pj(km-1)&pj(km)≥pj(km+1)&pj(km)≥g*(std({pj(km-

(τ-1)/2),pj(km-(τ-1)/2+1),…,pj(km+(τ-1)/2)}))},

其中,&表示逻辑与关系,std()是取数据集合均方根的运算,τ是线谱判决窗长,g为线谱检测幅度门限。

(5-4)获得线谱频率序号集合rj之后,利用quinn插值校正算法对频率估计结果进行校正,并计算最优的分帧长度fft_nj,具体操作如下:

(5-4-1)取集合rj中线谱频率序号的最小值a=min(rj),并定义α1=re(yj(a-1)/yj(a))和α2=re(yj(a+1)/yj(a)),式中,min(rj)表示取集合rj中线谱频率序号的最小值,re(x)表示取x的实部,yj(a)表示sj(n)频谱yj(k)的离散频率索引k=a时的元素值;分别计算频率估计相对偏差δ的表达式为离散频率校正结果就为μj=a+δ;

(5-4-2)在单帧长度门限a和预处理数据段长度k之间寻找最优分帧长度,具体操作如下:

由(5-4-1)步可知,离散频率μj对应的小数周期采样点数为γj=k/μj。

取ψj=abs(∈*γj-round(∈*γj)),式中,∈为正整数,且满足a≤∈*γj≤k,abs()为取模函数。在满足上述条件的∈中找到ψj取最小值时的正整数∈,则最优分帧长度fft_nj=round(∈*γj)。

(5-5)根据fft_nj来设置滑动步长nj,nj=round(fft_nj/2),round()为四舍五入取整运算。

其中,在步骤(6)中,产生频域加权序列w_delayj(w),w=0,1,…,fft_nj-1,方法如下:

式中,t_delay_2为分数延时时间,ceil()为向上取整运算,floor()为向下取整运算。

其中,在步骤(7)中,采用如下方法对sj(l)进行重叠分帧,再用频域线性加权法对每帧数据利进行分数延时处理,然后进行帧间数据融合,得到分数延时序列f_dj(p),0≤p≤k-1。具体操作如下:

(7-1)利用(5)步得到的最优帧长度fft_nj和滑动步长nj,对数据sj(l)进行分帧处理,操作如下:

(7-1-1)取每帧数据的长度为fft_nj,每帧之间的滑动步长为nj;

(7-1-2)由于单次处理数据长度为k,将数据sj分成的帧数φj=k_sum+1,其中,

k_sum=ceil((k-fft_nj)/nj)

式中,nj为滑动步长,ceil()为向上取整运算;

(7-1-3)对于前k_sum帧数据,每帧取得数据xi(m)为:

xi(m)=sj(i*nj+m),i=0,1,…,isum-1,m=0,1,…,

式中,i为帧序号,nj为滑动步长,m为各帧数据序列的采样序号;

(7-1-4)对于最后一帧数据,有时长度不足fft_nj,为了提高延时精度,在sj(l)最后一个数据开始向前取fft_nj个数据,凑成长度为fft_nj的最后一帧数据xk_sum(m),即:

xk_sum(m)=sj(k-fft_nj+m),m=0,1,…,fft_nj-1

式中,k_sum为最后一帧的帧序号,k为单次处理数据段长度,m为最后一帧数据序列的采样序号。

(7-2)设置当前处理帧序号i=0;

(7-3)对第i帧数据进行频域线性加权延时处理,包括步骤如下:

(7-3-1)按帧长fft_nj计算xi(m)的离散傅里叶变换为h(w):

其中,w为h(w)的离散频率索引,ρ表示虚数单位,即该式可通过快速傅里叶变换实现;

(7-3-2)频域信号h(w)用加权序列w_delayj(w)加权,再离散傅里叶反变换,得到单帧延时序列xdelay_tempi(m),m=0,1,…,fft_nj-1,即:

其中,ρ表示虚数单位,即

(7-4)i=i+1,返回(7-3-1)逐帧处理数据xi(m),直至处理完所有φj帧数据。

(7-5)对得到的相邻单帧延时数据的重叠部分进行均值处理,并将各帧数据合并,得到sj(l)分数延时后序列f_dj(p),0≤p≤b-1,包含步骤如下:

(7-5-1)对于(7-1)~(7-4)步得到的单帧延时序列xdelay_tempi(m),当帧序号i满足0≤i≤k_sum-1时,首先去除xdelay_tempi的前t_f个数据和后fft_nj-nj-t_f个数据,得到xdelayi(f),0≤f≤nj-1,即:

xdelayi(f)=xdelay_tempi(f+t_f),0≤f≤nj-1;0≤i≤k_sum-1

再将每帧xdelay_tempi(m)与前一帧数据xdelay_tempi-1(m)的重叠部分进行均值处理,利用处理结果对xdelayi(f)的对应数据重新赋值,即:

其中,0≤f≤fft_nj-nj-1;1≤i≤k_sum-1;

(7-5-2)对最后一帧单帧延时数据xdelay_tempk_sum(m),令z=fft_nj+t_f-k+(k_sum)*nj+1,k为单次处理数据段长度,直接去除此帧xdelay_tempk_sum的前z-1个数据,得到xdelayk_sum(f),0≤f≤fft_nj+t_e-z,即:

xdelayk_sum(f)=xdelay_tempk_sum(z+f-1),0≤f≤fft_nj+t_e-z;

(7-5-3)再将所有xdelayi(f)按顺序首尾相连,即得到了sj(l)分数延时后的数据f_dj(p),0≤p≤b-1,即:

其中,在步骤(9)中,将q段分数延时序列f_dj(p)合并,得到s(n)分数延时序列f_d1(q),0≤q≤q*b-1,具体操作如下:

f_d1(q)=f_dj(q-j*b),0≤j≤q-1;j*b≤q≤(j+1)*b-1。

其中,在步骤(10)中,对信号f_d1(n)进行序号移位整数延时操作,移位后数据补零,得到整体数据延时序列s_d(n_d),0≤n_d≤q*b+t_delay_1-1,即:

上式中,t_delay_1为整数延时时间,得到的s_d(n_d)序列就是采样序列s(n)的延时结果。

实施例1:

仿真信号参数分别设置为:设采样频率fs为2000hz,采样函数为:

cos(2*pi*fc1*t)+sin(2*pi*fc2*t)

其中,fc1=21.786hz,fc2=45.337hz,总采样点数l=1999,获取预处理数据序列s(n);延时时间设置为t_delay=8.3567。

根据(2)步,初始化单次处理数据段长度k=1000;线谱判决窗长τ=31;线谱检测幅度门限g=5;单帧长度门限a=100。

根据(3)步,对采样数据序列s(n)进行分段处理,滑动步长为b=999,得到分段数据序列sj(l),j=0,1;l=0,1,…,999,j为分段序号,l为各段数据序列采样点序号,此时数据分段数q=2。

根据(4)步,设置当前处理数据段序号j=0,并且将t_delay分为整数部分t_delay_1=8和分数部分t_delay_2=0.3567。

根据(5)步,通过对1000点的s0(l)的功率谱p(k)的线谱检测,得到的线谱频率序号集合r=[11,23],经过频率校正后,最小离散频率校正结果μ=10.8679,此时最优帧长度fft_nj=102,滑动步长nj=61。

根据(6)步,当分数延时为0.3567个采样点时,计算可得频域加权延时序列w_delay0(w)如图2,图3所示。

根据(7-1)步,对数据s0(l)进行分帧处理,取帧长fft_nj=102,滑动步长nj=51,则可得到分帧序列xi(m),i=0,1,…,18;m=0,1,…,101,i为分帧序号,m为各帧数据序列采样点序号,此时数据s0(l)分帧数p=19。

根据(7-2)步,设置当前处理帧序号i=0。

根据(7-3)步,对第i帧数据xi(m)用w_delay(w)进行频域加权延时处理,得到帧延时序列xdelay_tempi(m)。

根据(7-4)步,递增i,重复步骤(7-3),直至计算出全部p帧数据序列的延时结果。

根据(7-5)步,对得到的各帧延时数据xdelay_tempi(m)进行相邻帧间数据融合,得到分数延时后序列f_d0(p)。

根据(8)步,j=j+1=1,对数据序列s1(l)重复步骤(5)~(7)步的处理,直至2个数据段处理完毕。

根据(9)步,将2段分数延时序列f_dj(p)合并,得到整体分数延时序列f_d1(q)。

根据(10)步,对信号f_d1(q)进行整数延时,得到最终延时序列s_d(n_d)如图4,5所示,可以看出此段数据延时结果十分理想。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1