×
嵌入式 > 嵌入式开发 > 详情

基于FPGA的同频信号相位差测量算法的实现

发布时间:2020-07-07 发布时间:
|

0引言

两个同频信号的相位差测量在工程上有着广泛的应用。近年来,精密测量、雷达定位、目标识别等领域的高速发展对相位差测量精度和速度都提出了很高的要求。目前,理论上比较成熟的相位差测量算法主要利用相关原理和快速傅里叶变换(FFT)原理。但由于硬件环境的复杂性和不稳定性,传统硬件测量的精度往往大大低于软件计算精度,而高性能FPGA芯片的发展为硬件提高相位差测量算法的精度提供了新的方向。

本文首先介绍了两种相位差测量算法,一种是基于直接数字频率合成(DDS)的相关测量法,另一种是基于快速傅里叶变换的FFT测量法。在软件仿真的基础上,利用高性能的FPGA芯片搭建硬件实验平台,完成了两种算法的硬件实现。

1算法原理和理论仿真

1.1相关测量法

首先在接收端利用本振信号与接收信号进行相关,再经过数字低通滤波器滤除高频分量,分别得到两路接收信号的相位信息,最后相减得到相位差。由于噪声与本振信号相关性很小,所以能够很好地加以抑制。设被测信号为:

式中:f0为被测信号频率;φ1,φ2分别为两路信号的相位。两路信号的相位差△φ=φ1-φ2,即为所求。

式中,a1为相关后输出信号的幅度,由于两路本振信号的幅度一致,故相关后输出信号的幅度也可认为相等,通过低通滤波器滤除高频分量后可得:



1.2FFT测量法

假设两路接收信号同式(1),式(2)所示,则信号Si(n)(i=1,2)在经过FFT之后得到离散频谱Si(k),其频率所在点的谱线的实部和虚部分别包含了信号相位的余弦信息和正弦信息。基于快速傅里叶变换的FFT测量法正是利用这两项信息分别求得两路被测信号的相位值,最后相减得到相位差。由于噪声是宽带的,在被测信号频率点处的噪声干扰影响并不大,不会产生很大干扰。FFT是离散傅里叶变换(DFT)的快速算法,根据DFT的原理:

式中:i=1,2;k0可通过在FFT频谱上搜索最大值的方法确定。最后将两路被测信号的相位差值相减即可得到相位差△φ:



1.3理论仿真

在PC环境下用Matlab软件仿真两种相位差测量算法的性能,分别就以下两种情况进行性能仿真:一是白噪声干扰条件下,二是不同数据长度N条件下,这两项指标分别决定了测量算法的高精度和实时性。假设两信号的相位差△φ为30°,被测信号频率f0为1MHz,数字采样频率fs为8MHz。

仿真结果如图1所示,其中图1(a)是在不同信噪比白噪声干扰条件下两种测量法的仿真结果比较;图1(b)是在不同数据长度N条件下两种测量法的仿真结果比较。

仿真结果表明,在较低信噪比高斯白噪声干扰条件下,FFT测量法对白噪声的抑制能力要强于相关测量法,在高信噪比时两种算法均可达到较高测量精度,其性能也趋于一致。在不同信号数据长度N条件下,相关测量法的精度随着N的增加而提高,FFT测量法在N等于2的整数次幂的时候,其测量精度要高于相关测量法,在N不等于2的整数次幂的时候会发生由数据截断引起的频谱泄漏,使其性能变差,这是因为要与硬件实现相统一,对所有数据长度均作2的整数次幂的FFT运算,所以在硬件实现的时候,FFT长度N应该控制在2的整数次幂。



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
五大标准轻松搞定4K超高清电视选购