发明内容
本发明就是为了解决运算过程复杂度高、测量精度低、不适合基于C语言在任何嵌入式芯片编程的问题,提出一种基于互相关信号相位分解的时延估计方法,先求解相位偏移,再往0时刻方向进行整周期移相,求得互相关信号的起振点,从而得到接收信号的时延。
为实现上述发明目的,本发明采取以下技术方案:
一种基于互相关信号相位分解的时延估计方法,将接收信号传播延时分解为K个整周期和ψ的相位偏移,通过设置标准单周期正弦波信号,求得互相关信号与所述标准单周期正弦波信号间的相关系数的极值,再往0时刻方向进行整周期移相,求得互相关信号的第一个起振点,从而得到接收信号的时延。
优选地,包括以下步骤:
S1、对接收信号与理想发射信号进行互相关运算得到互相关信号,构建单周期函数信号,并对单周期函数信号进行步进移相,求解互相关信号和单周期函数信号的相关系数的极值,极值处相位即为接收信号传播延时的精确相位偏移ψ;
S2、对求得的精确相位偏移为ψ的单周期函数信号进行整周期移相,确定具体的移相周期数K,从而求得互相关信号的第一个起振位置点,从而求得接收信号传播延时。
优选地,步骤S1中,求解互相关信号和标准单周期正弦波信号的相关系数极值处的精确相位偏移ψ,具体包括以下步骤:
A1、选取时长为Ts的理想发射信号x(t);
A2、获取接收波信号y(t);
A3、进行互相关运算,生成互相关信号f(τ)的序列f(mT);
A4、寻找f(mT)为最大值时的Tmax;
A5、获取离Tmax最近的整周期点,记为Km;
A6、构成标准单周期正弦波信号g(τ)的步进移相的单周期函数序列g((mT)θ(i)(j));
A7、求取序列g((mT)θ(i)(j))与步进移相的互相关信号序列f((mT)θ(i)(j))的相关系数ρgf(Km,θ(i));
A8、求取ρgf(Km,θ(i))最小值时的θ(i),即为精确相位偏移值ψ;
其中,步骤A1与步骤A2无先后顺序区别。
优选地,所述互相关信号,如下式所示:
式中,τ表示互相关信号时域自变量;
优选地,所述标准单周期正弦波信号g(τ)如下式所示:
式中,θ为待求解相位偏移自变量,ω为超声激励信号的角频率,Km为f(mT)序列最大值处零点方向最近的整周期点。
优选地,所述单周期正弦信号g(τ)与互相关信号f(τ)的相关系数,如下式所示:
优选地,所述互相关信号离散形式序列f(mT)计算方式如下:
其中,x(t)和y(t)由同一个脉冲触发信号P(nT)进行数字化采样,分别形成x(nT)和y(nT):
式中,Nx为接收信号起振后第一个采样点序列值,Ns为发射激励信号最后一个采样点序列值,Nr为接收信号最后一个采样点序列值;x(t)表示激励信号;y(t)表示接收波信号。
优选地,选取步进量Δθ=θ(i)-θ(i-1),寻找f(mT)序列中满足
的所有点,记为(mT)
θ(i)(j),代入标准单周期正弦波信号g(τ),得步进移相的单周期正弦波信号序列g((mT)
θ(i)(j))。
优选地,计算ψ的方法如下:
优选地,步骤S2中,对在相关系数极值的相位ψ处的单周期正弦波信号进行整周期移相,确定具体的移相周期数Kx,具体包括以下步骤:
B1、从K
m开始,将
往0时刻方向进行整周期移相至k个周期;
B2、寻找互相关信号离散形式序列f(mT)中满足
的所有点位置序列;
B3、求取所述位置序列的整周期移相的单周期值序列g((mT)k(j));
B4、获取所述位置序列的整周期移相测量值序列f((mT)k(j));
B5、计算单周期值序列g((mT)
k(j))与测量值序列f((mT)
k(j))的相关系数
B6、相关系数
是否小于设定值ε,若是,转B8;若否,进入下一步;
B7、k值减1,转B1;
B8、判定k-1为互相关信号周期Kx,根据当前k-1计算互相关信号的时延估计结果Tx。
优选地,选择k=K
m,K
m-1,K
m-2…,将
往0时刻方向进行整周期移相,寻找f(mT)序列中满足
的所有点,记为(mT)
k(j),代入
得单周期正弦波信号序列g((mT)
k(j))。
优选地,求解
Kx=Kmin,从而得到
式中Ks为Ts包含的整周期个数,Ts为参与互相关运算选取的理想发射信号时间长度。
与现有技术相比,本发明的有益效果为:
本发明通过先利用单周期函数进行精确步进移相,求取互相关信号序列与单周期函数序列相关系数的最大值处的步进相位,获取精确相位;再进行整周期移相,对互相关信号的第一个周期进行整周期匹配,以此判定互相关信号第一个周期的出现位置,从而求取时延估计结果。整个计算过程利用了互相关运算,运算过程复杂度低,非常适合基于C语言在任何嵌入式芯片编程实现。
进一步地,本发明通过获取第一个互相关信号的出现位置,与超声波接收信号的起振速度没有关系,算法有广泛的场景适应性,不需要考虑测量的温度、浓度和距离等因素,在实施过程中免去了标定过程。
进一步地,本发明通过第一步的精确移相,能够获取高精度的测量结果,测量精度高达10-8秒数量级。
具体实施方式
采用互相关进行接收信号的时延计算的系统很多,本发明以超声波测量系统进行说明,但并不限于此,以此类推。
超声波测量系统模型如图1所示,换能器S为超声波源发生器,通过发射激励信号x(t)发射超声波,通过介质传到换能器R,换能器R将接收到的超声波转换成电信号形成接收波信号y(t)。x(t)和y(t)由同一个脉冲触发信号P(nT)进行数字化采样,分别形成x(nT)和y(nT),即满足x(t)和y(t)在0时刻产生第一个脉冲触发信号的条件,其中T为脉冲触发周期,即为采样周期。
压电式超声波换能器接收端的等效电路图如图2所示,图中Xi是超声波接收端的动态阻抗,C0是超声波接收端的静态电容,R是动态电阻。根据动态电路时域分析,如果发射端超声波为一频率恒定的正弦信号,那么接收信号具有指数形式的起振过程,可以表示为:
其中ω为超声激励信号的角频率,A和B分别为发射和接收信号的幅度,Tx为超声波测量目标TOF(time of flight飞行时间),c为换能器起振参数,Ts为发射激励信号时间长度,Tr为接收信号结束时间点。
应用经典互相关算法对上述发射激励信号和接收信号进行互相关运算,由于x(t)和y(t)均为有限时长脉冲信号,互相关运算公式定义为:
式中,τ表示互相关信号时域自变量。
假设接收信号时长大于发射激励信号时长,即满足Tr-Tx>Ts,得到分段积分结果:
其中Ts为选取的参与互相关运算的理想发射信号时长,Tx为待求的实际时延
当τ∈[Tx-Ts,Tr-Ts)时,求解得:
其中F
1,F
2,F
3,F
4,F
5,F
6为常系数。如果满足
即T
s是激励波形周期的整数倍,容易证明得,
说明f(τ)在τ=T
x处为局部极值点。根据f(τ)的解析形式得出以下结论:
1)y(t)从Tx开始起振,f(τ)从Γx=Tx-Ts处开始起振,刚好相差Ts,其中f(τ)的起振点记为Γx;
2)f(τ)与y(t)的频率相同;
3)f(τ)在τ=Tx为局部极值点;
如图3所示,上部分为接收信号波形,下部分为互相关计算波形,计算得到的互相关波形比接收波形在时间轴上往前移了Ts的长度。
经典互相关算法,应用于带起振过程超声信号TOF即Tx的求解时,由寻求f(τ)的极值点转变为在f(τ)中求解偏移Ts处的局部极值点。
由于超声波压电换能器特性参数无法直接获取,同时在测试过程中由于测试距离、工作电压和震动介质等因素的变化,换能器的起振过程无法准确标定,因此上述超声波收发信号的连续数学模型无法在实际测量计算中直接应用,必须基于数字化的测试结果进行离散互相关极值算法进行TOF(time of flight飞行时间)求解,下面对离散互相关算法进行分析。
互相关算法的离散形式为:
x(t)和y(t)由同一个脉冲触发信号P(nT)数字化采样后,经过由式⑴得:
Nx为接收信号起振后第一个采样点序列值,Ns为发射激励信号最后一个采样点序列值,Nr为接收信号最后一个采样点序列值。
接收信号中的起振点不一定刚好落在采样点上,如图4所示,为起振点落在两个相邻采样点之间的情况:
分别计算起振点前后两个采样点的互相关值,并求他们的差值:
t1和t2分别为前后采样点离起振点的时间差的绝对值。由于NrT-NxT>NsT>>t1,t2,可以忽略Δf(MT)中sint1和sint2的乘积项,易得Δf(MT)>0。如果采样率很高,T很小,那么Δf(MT)越接近0。
以上推导说明,当采用离散互相关算法通过极值判断获取时间差估计的方法,极值一定靠近(M+1)T采样点,计算结果总会落在实际时延的外侧,即计算结果比实际值偏大,测量结果直接受限于系统的采样率。为了提高测量精度,只能提高采样率,从而增加了系统成本。
基于此,本发明采用以下方法进行延时估计。
对接收信号与理想发射信号进行互相关运算得到互相关信号,设置单周期函数信号,求得互相关信号与所述单周期函数信号间的相关系数的极值,再往0时刻方向进行整周期移相,求得互相关信号的第一个起振点,从而得到接收信号的时延。即把待测传播延时分解为K个整周期和ψ的相位偏移。
具体地,包括以下步骤:
S1、对接收信号与理想发射信号进行互相关运算得到互相关信号,构建单周期函数信号,并对单周期函数信号进行步进移相,求解互相关信号和单周期函数信号的相关系数的极值,极值处相位即为接收信号传播延时的精确相位偏移ψ;
S2、对求得的精确相位偏移为ψ的单周期函数信号进行整周期移相,确定具体的移相周期数K,从而求得互相关信号的第一个起振位置点,从而求得接收信号传播延时。
本发明的一个实施例中,步骤S1中,先选取时长为Ts的理想发射信号x(t),使得Ts<Tx并且Ts<Tr-Tx,作为互相关运算的数据源获取接收波信号y(t),对两者进行互相关运算,得到互相关信号f(τ):
其中,x(t)和y(t)由同一个脉冲触发信号P(nT)数字化采样后,得到公式:
式中,Nx为接收信号起振后第一个采样点序列值,Ns为发射激励信号最后一个采样点序列值,Nr为接收信号最后一个采样点序列值。
若互相关之后的波形f(τ)的起振点记为Γx,根据图3及相关分析可得Γx=Tx-Ts,因此求解Tx可以转化为求解f(τ)的起振点,即Tx=Γx+Ts。
设:
其中Kx为待求解周期整数,
表示从0时刻开始最接近Γ
x的整周期点,ψ为待求解自该整周期点的偏移相位差。记K
s为T
s包含的整周期个数,则:
构造单周期函数信号:
式中θ为待求解相位偏移自变量,ω为超声激励信号的角频率,Km为f(mT)序列最大值处零点方向最近的整周期点。
计算单周期函数信号g(τ)与互相关信号f(τ)的相关系数ρgf(θ):
求解相关系数的极值,得到精确相位ψ,即:
ψ=argmax0→2πρgf(Km,θ) (15);
步骤S2中,进行整周期移相,确定具体的K
x。将求得的精确相位偏移为ψ的单周期函数信号在
区间从K
m往0时刻方向进行整周期移相,通过选择合适的阈值ε判断是否为互相关后信号的第一个波形,从而求得第一个起振波形位置点。即求解下式中k的最小值:
Kx=Kmin (17);
把Kx代入公式(12),即可得到Tx。
因为,互相关信号起振点Γ
x后第一个半周期不是正弦波,从第一个周期的
到第二个周期的
有较好正弦波特征,为提高判别率,故整周期移相选择单周期函数在
区间信号,故上述整周期移相判别原则(16)获得的是互相关后波形信号第二个周期的整周期偏移值,故准确起振点为该值减1(式(17))。
本发明的一个实施例中,延时估计测量采用离散方式进行,步骤S1中,包括如下步骤:
1)在发射信号中选取时长为Ts的信号,使得Ts<Tx并且Ts<Tr-Tx,作为互相关运算的数据源;
2)按照式(9)进行互相关计算,求得f(mT)序列;
3)在f(mT)寻找最大值的位置时刻Tmax;
4)按照式(13)构造单周期函数;
5)选取步进量Δθ=θ(i)-θ(i-1),寻找f(mT)序列中满足
的所有点,记为(mT)
θ(i)(j),代入公式(13),得步进移相的单周期函数序列g((mT)
θ(i)(j));
6)计算g((mT)θ(i)(j))与f((mT)θ(i)(j))的相关系数ρgf(Km,θ(i));
7)求取相关系数ρgf(Km,θ(i))最小值时的θ(i),即为精确相位值ψ。
步骤S2中,包括如下步骤:
1)选择k=K
m,K
m-1,K
m-2…,将
往0时刻方向进行整周期移相k个周期;
2)寻找f(mT)序列中满足
的所有点位置序列,记为(mT)
k(j),代入式(13),得整周期移相的单周期函数序列g((mT)
k(j));
3)计算g((mT)
k(j))与f((mT)
k(j))的相关系数
若
则该k-1即为互相关信号起振周期K
x;根据式(12)求得T
x。
本发明的一个具体实施例中,步骤S1中的流程图如图6所示,包括以下步骤:
A1、选取时长为Ts的理想发射信号x(t);
A2、获取接收波信号y(t);
A3、进行互相关运算,生成互相关信号f(τ)的序列f(mT);
A4、寻找f(mT)为最大值时的Tmax;
A5、获取离Tmax最近的整周期点,记为Km;
A6、构成步进移相的单周期函数g(τ)的序列g((mT)θ(i)(j));
A7、求取序列g((mT)θ(i)(j))与步进移相的互相关信号序列f((mT)θ(i)(j))的相关系数ρgf(Km,θ(i));
A8、求取ρgf(Km,θ(i))最小值时的θ(i),即为精确相位值ψ;
其中,步骤A1、A2没有先后的分别。
步骤S2中的流程图如图7所示,包括以下步骤:
B1、从K
m开始将
往0时刻方向进行整周期移相至k个周期;
B2、寻找互相关信号序列f(mT)中满足
的所有点位置序列;
B3、求取所述所有点位置序列的整周期移相的单周期值序列g((mT)k(j));B4、获取所述所有点位置序列的整周期移相的互相关函数序列f((mT)k(j));
B5、计算整周期移相的单周期值序列g((mT)
k(j))与整周期移相的互相关离散形式函数序列f((mT)
k(j))的相关系数
B6、相关系数
是否小于设定值ε,若是,转B8;若否,进入下一步;
B7、k值减1,转B1;
B8、判定k-1为互相关信号周期Kx,根据当前k-1计算互相关信号的时延估计结果Tx。
如果找到一个整周期位置的相关系数,其相关系数小于所述设定阈值ε,就说明此位置点已经不是正弦波了,那么上一个就是第一个起振整周期。
本发明的一个具体实施例中,如图6所示,本发明的一种基于互相关信号相位分解的时延估计方法,包括以下步骤:
D1、根据理想发射信号与接收信号求得互相关信号;
D2、对单周期函数信号进行步进移相,得到步进移相单周期函数信号:
D3、求取各步进移相单周期函数信号与所述互相关信号的相关系数序列最大值;
D4、求解相关系数序列最大值处的精确相位偏移;
D5、将精确相位偏移单周期信号往零时刻方向进行整周期移相;
D6、求取互相关信号与整周期移相后的相关系数,如果所述相关系数小于设定阈值,上一个整周期即为互相关信号起振周期;此处的相关系数为每个整周期位置处的相关系数;
D7、根据互相关信号起振周期、理想发射信号时长、精确相位偏移,求得接收信号实际传播延时。
本发明的一个具体实施例中,对本估计方法进行测试验证,具体地,
为了仔细研究换能器在不同工作条件下起振情况对传播时延计算的影响,设计三种自变量条件的对比实验,分别为液体质量浓度、液体温度和测量距离。
该测试方案采用型号为DYW-1M-01EA的插入式管道流量计用换能器,属于超声波液体换能器,中心频率1MHz,电容量2800pF,最小阻抗25Ω。设定换能器驱动电路工作电压12V,换能器驱动信号由FPGA通过直接频率合成DDS方法产生1MHz的方波信号,经由驱动电路放大后输入发射端换能器;接收端换能器接收信号后,经过信号调理和采样率为20MHz的AD芯片高速采样,数据输入FPGA以及STM32内核芯片进行传播时延算法估计。
测量时,将换能器发射和接收端刚性固定后,置于体积为1000ml的圆柱形溶液中,容器直径6cm。
2、测试项目
分别将温度、质量浓度和距离作为自变量进行分组测试,具体测试条件如表1所示。
表1测试项目表
按照表1测试点,进行波形测试,在每个测试点测量5组数据,共获取165组数据,每组数据包含1400个采样点,波形时长为70us,内含一个完整的接收信号波形。
1、测试结果分析
在图3中起振波形起振点到最大值点之间,具备9-10个幅度为指数增长的正弦波。前5个起振波极值相对于最大值的比值变化趋势,能反应不同测量条件下超声波起振情况,如图8、9、10所示,图中标号为1-5所示曲线,分别为第1-5个起振波形极值相对该波形最大值的比值变化曲线,可以观察到在测量范围内液体质量浓度越高起振越快,探头距离越大起振越快,而温度对起振过程影响不大。
a)传播时延计算算法比较
以上测试分析结果说明,在超声波换能器型号、工作电压等因素确定的条件下,超声波的起振波随着液体质量浓度、测试距离的不同而发生变化,而起振波受测试温度的影响较小。根据前文所述,在不考虑起振差异的情况下,直接应用传统互相关算法进行传播时延的计算,会导致较大的误差,下面分别用传统互相关算法和本文提出的互相关精确相位步进和整周期匹配法对测试数据进行相对传播时延估计。
相对传播延时,不是直接计算每次测试的绝对传播时延,而是选取某次测试的接收波形作为参考波形,将所有测试接收波形的起振点移至该参考波形的起振点,计算相对传播时延,其本质是各次测试波形相对于参考波形的测试误差。在质量浓度测试组中选取0g/L的接收波形作为参考波形,在距离测试组中选取9cm的测试波形作为参考波形,在温度测试组中选取31℃的测试波形作为参考波形。
针对三种数据测试组,分别进行传统互相关算法进行相对传播时延估计,如图11所示。在变化质量浓度情况下,应用传统互相关运算进行传播时延估计,由于起振波形的差异导致估计误差达到10-6s量级,接近甚至超过了超声波整周期,这在实际测试中不能接受。在变化距离测试中也会导致10-7us量级误差。
利用本发明提出的互相关相位分析法对三组测试数据组进行传播延时误差估计,如图12所示,该方法对三种数据测试组呈现较为一致的测量结果,测量误差精确到10-8s数量级,在不同浓度、不同距离情况下比传统互相关算法提高了两个数量级精度,极大的提高了算法在不同测量条件下的测量适应性。由此得出,从超声波起振情况不同导致传统互相关算法传播延时估计误差问题入手,通过理论和实测,证实了实际测量中测量条件比如液体浓度和测量距离导致起振速度不同,应用传统互相关算法引起较大的测量误差。在此基础上,本发明的互相关精确相位步进和整周期匹配法,简化了测量设备在每次进行超声波传播延时测量前的测量标定,给出了较为精确的测量结果。同时本方法时间复杂度仅为O(n3),方便于在嵌入式微处理器实现,极大降低了超声波测量设备的制造成本。
以上内容是结合具体的/优选的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,其还可以对这些已描述的实施例做出若干替代或变型,而这些替代或变型方式都应当视为属于本发明的保护范围。