一种高精度数字鉴相方法与流程

文档序号:15018408发布日期:2018-07-25 00:07阅读:3415来源:国知局

本发明涉及信号处理与分析技术领域,尤其涉及一种数字鉴相方法。



背景技术:

鉴相器用于测量两路信号的相位差,广泛应用于激光相位测距、干涉测向、电机控制、锁相环、激光位移干涉仪等领域。鉴相器分为模拟鉴相器和数字鉴相器,其中模拟鉴相器采用分立元件,线性鉴相范围窄,测量精度低。而数字鉴相器又分为数字电路鉴相器和数字算法鉴相器,其中数字算法鉴相器通过采样得到离散的数字信号,采用数字信号处理算法测量相位差。数字算法鉴相器使用CPU、MPU或者DSP等处理器做为核心处理单元,电路简单、抗干扰能力强、测量精度高,在高精度鉴相应用中具有明显的优势。

典型的数字鉴相算法有数字相关鉴相法、FFT谱分析鉴相法、过零检测鉴相法等。数字相关鉴相法的原理为两个同频率的正弦信号的零延时互相关函数值与其相位差的余弦值成正比。由于噪声与有效信号的相关性很小,所以该方法有很好的噪声抑制能力。数字相关鉴相法的缺陷为根据反余弦函数计算相位差,在相位差接近0时,灵敏度很低;由于余弦函数为偶函数,该算法无法分辨相位差的正负号;同时该方法只能测量正弦信号相位差,对其它周期信号或者非周期信号无法测量。FFT谱分析鉴相法对信号进行傅里叶级数分析,得到信号的基波参数。步骤为:通过FFT得到信号的幅度谱和相位谱,幅度谱的峰值频率做为信号的基波频率,再由相位谱中查找基波频率对应的相位,做为基波相位。谱分析鉴相法的缺点是只能对正弦波形的周期信号进行初相位测量,无法对非周期信号进行测量,同时FFT采用有限序列计算信号频谱,不可避免会产生频谱泄露,从而带来相位测量误差。要减小相位差测量误差,就必须提高频率分辨率。当采样频率一定时,只能通过增加数据长度来提高FFT的频率分辨率,计算量大。过零检测鉴相法是通过测量两信号过零点的时间差计算相位差,过零检测鉴相法原理简单可以采用电路来实现,也可采用算法来实现。信号在过零点附近具有较大的斜率,所以过零点检测具有较高的灵敏度。但是,受AD偏置误差、运放输入失调等因素的影响,信号的零位通常会出现误差,零位误差引起过零检测的误差。另外,受AD采样间隔、AD量化误差以及信号噪声的影响,直接由AD采样得到的过零点时,过零点的时间分辨率和精度都较差。



技术实现要素:

本发明提供一种高精度数字鉴相方法,以消除传统过零检测鉴相方法中零位误差和AD量化误差引起的鉴相误差。

为了实现上述目的,本发明提供的技术方案是:使用双通道同步采样单元对两路模拟信号同步采样,并通过数模转换得到两路数字信号,通过对信号整体求平均值初步确定交流信号零点位置,并在初步确定的零点位置前后取一段线性段的信号数据作为过零段,采用直线拟合算法由该过零段得到信号的过零点,并以所得过零点的位置做为参照,以两个相邻过零点的中心位置为信号的波峰位置,由信号两相邻波峰位置的间隔为信号周期,并以两路信号波峰位置的时间差,计算得到两路信号的相位差。

上述方法具体包含以下步骤:

1、采用双通道同步采样单元对两路模拟信号进行同步采样,并经过模数转换得到两路数字信号;

2、对两路数字信号分别求平均值,初步确定交流信号零点位置对应幅值,在两路信号零点幅值位置前后取一定长度的线性段为过零段;

3、对过零段进行直线拟合,并计算拟合直线与时间轴的交点,得到信号的过零点;

4、由过零段直线拟合得到的两个相邻过零点的中点做为信号波峰位置,测量两个相邻波峰位置的时间差作为信号周期T;

5、测量两路数字信号波峰位置的时间差,得到两路信号的延时ΔT,再根据信号周期T,由公式:

计算得到两路信号的相位差。

进一步的,步骤3中的直线拟合方法是:采用方法为一元线性回归法,回归方程为:

y=ax+b,

根据一元线性回归理论,可以得道拟合直线的系数:

其中,

式中,n为线性段采样点数量。

进一步的,步骤3中的直线拟合方法是建立超定线性方程组并求解得到拟合直线的最小二乘解,从而确定拟合直线的两个系数,拟合直线用y=ax+b表示,对信号过零段中的任意一点都可以列出一个线性方程:

yi=axi+b,

其中yi为信号电压,xi为采样时刻。

由此得到一个超定线性方程组,用矩阵形式表示为AX=B,对于由n个点组成的过零段,其中,系数矩阵A和常数项向量B分别为:

X为拟合系数a和b构成的列矩阵,即

通过变换ATAX=ATB得到正定线性方程组,求解该正定方程组,可以得到拟合直线的最小二乘解。

与现有技术相比,本发明的有益效果如下:

1.本算法以信号的峰值为信号特征点,测量两路信号的周期与延时。峰值是模拟信号最基本的特征,对非正弦波形式的周期信号也适用,和其他鉴相算法相比,具有更强的适用性。

2.采用过零点来定位信号波峰点,信号在过零点的斜率最大,所以算法具有较高的灵敏度。

3.过零点定位采用信号过零附近的一段信号进行直线拟合,得到过零直线的最小二乘解,再由过零直线得到信号过零点。最小二乘解对噪声的容忍能力很强,同时该算法的时间分辨率不受AD的采样率限制,因此在低信噪比和低采样率的条件下,过零点定位和峰值点定位的精度也较高,保证了鉴相的精度。

4.通过峰值点定位,可以补偿系统的偏置误差。不需要对电路的偏置以及AD的偏置误差进行标定。

5.该算法的鉴相范围是[-π,π],并在整个鉴相区间具有相同的灵敏度。对比相关鉴相法,相关鉴相法只有在相位差为±π/2附近时是线性的,灵敏度高;当相位差接近0和π时灵敏度很低。

6.本发明方法对于正弦信号以外的周期信号也适用。

附图说明

图1是以本发明所述鉴相方法构建的数字算法鉴相器的原理框图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

本发明提供的一种高精度数字鉴相方法,使用双通道同步采样单元对两路模拟信号同步采样,并通过数模转换得到两路数字信号,通过对信号整体求平均值初步确定交流信号零点位置,并在初步确定的零点位置前后取一段线性段的信号数据作为过零段,采用直线拟合算法由该过零段得到信号的过零点,并以所得过零点的位置做为参照,以两个相邻过零点的中心位置为信号的波峰位置,由信号两相邻波峰位置的间隔为信号周期,并以两路信号波峰位置的时间差,计算两路信号的相位差。

参见图1,本发明所述高精度数字鉴相方法构建的数字算法鉴相器,由双通道同步采样单元1、过零检测单元2、波峰定位单元3、周期计算单元4、延时计算单元5以及鉴相输出单元6构成,双通道同步采样单元1、过零检测单元2和波峰定位单元3依次相接,波峰定位单元3产生的信号波峰位置同时输出到周期计算单元4和延时计算单元5,周期计算单元4和延时计算单元5分别输出信号周期T和两路信号之间的延时ΔT至鉴相输出单元6。所说的双通道同步采样单元使用独立的AD芯片实现,也可以使用ARM、MCU、DSP等芯片内置的AD模块实现。

其基本工作过程是,使用双通道同步采样单元1对两路模拟信号进行同步采样,并通过模数转换得到两路数字信号。

过零检测单元2,采用信号整体求平均的方法,初步确定零点位置,并在初步确定的零点位置前后一定范围取线性段,对线性段做线性拟合,精确确定零点位置。

波峰定位单元3,由精确确定的相邻零点位置取中间值,作为信号波峰位置。信号波峰位置输出到周期计算单元4和延时计算单元5。

周期计算单元4,以两相邻波峰位置的时间间隔为信号周期T。

延时计算单元5,由两路信号的波峰位置对应时间差确定两路信号之间的延时ΔT。

鉴相输出单元6,根据周期计算单元4和延时计算单元5分别输出的信号周期T和两路信号之间的延时ΔT,由公式:

计算得到两路信号的相位差,并输出。

一种高精度数字鉴相方法具体包含以下步骤:

1、采用双通道同步采样单元对两路模拟信号进行同步采样,并经过模数转换得到两路数字信号;

2、对两路数字信号分别求平均值,初步确定交流信号零点位置对应幅值,在两路信号零点幅值位置前后取一定长度的线性段为过零段;

3、对过零段进行直线拟合,并计算拟合直线与时间轴的交点,得到信号的过零点;

直线拟合方法之一是:采用方法为一元线性回归法,回归方程为:

y=ax+b,

根据一元线性回归理论,可以得道拟合直线的系数:

其中,

式中,n为线性段采样点数量。

直线拟合方法之二是建立超定线性方程组并求解得到拟合直线的最小二乘解,从而确定拟合直线的两个系数,拟合直线用y=ax+b表示,对信号过零段中的任意一点都可以列出一个线性方程:

yi=axi+b,

其中yi为信号电压,xi为采样时刻。

由此得到一个超定线性方程组,用矩阵形式表示为AX=B,对于由n个点组成的过零段,系数矩阵A和常数项向量B分别为:

X为拟合系数a和b构成的列矩阵,表示为:

通过变换ATAX=ATB得到正定线性方程组,求解该正定方程组,可以得到拟合直线的最小二乘解。

4、由过零段直线拟合得到的两个相邻过零点的中点做为信号波峰位置,测量两个相邻波峰位置的时间差作为信号周期T;

5、测量两路数字信号波峰位置的时间差,得到两路信号的延时ΔT,再根据信号周期T,由公式:

计算得到两路信号的相位差。

以上应用了具体个例对本发明进行阐述,只是用于帮助理解本发明,并不用以限制本发明。对于本发明所属技术领域的技术人员,依据本发明的思想,还可以做出若干简单推演、变形或替换。

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