文献标识码: A
DOI:10.16157/j.issn.0258-7998.2016.07.013
中文引用格式: 陈妮,何华光,谢开仲. 基于全相位FFT的振弦式传感器频率测量系统设计[J].电子技术应用,2016,42(7):53-56.
英文引用格式: Chen Ni,He Huaguang,Xie Kaizhong. Design of frequency measurement system for vibrating wire sensor based on all phase FFT[J].Application of Electronic Technique,2016,42(7):53-56.
0 引言
建筑物内部的结构变化会引起工程安全上的事故,通过采集和分析建筑物结构的动力学特征参数,可以有效地判断建筑结构的安全情况。振弦式传感器可以将感受到的应力转化为频率信号输出,具有结构简单、精度高、稳定性好的特点,已被广泛应用于“建筑结构安全检测”工程中[1]。
目前,基于振弦式传感器测频系统的频率测量方案分为时域法和频域法两大类[2-3]。基于快速傅里叶变换(Fast Fourier Transformation,FFT)的频域法具有数据处理灵活、测频精度高、系统稳定等优点,并得到越来越广泛的应用。FFT 变换存在两个缺陷:(1)信号时域上的截断会引起频谱泄漏,影响频率估计的精度;(2)信号频率不是FFT频率分辨率的整数倍时存在栅栏效应,会导致频率估计产生较大的误差。学者们提出了多种频率校正算法用于提高频率估计的精度[4-5]。其中,全相位FFT算法具有抑制频谱泄露的能力,在频率估计精度和抗噪声上的性能优异[6],可应用于振弦式传感器测频系统中。
本文介绍了全相位FFT的实现方法,并采用全相位FFT和Rife频率校正算法,设计了一款基于STM32平台的振弦式传感器测频系统。
1 系统组成
1.1 系统结构框图
系统的结构框图如图1所示,主要包含STM32处理器模块、振弦式传感器及其激振电路、信号放大电路、滤波电路、存储器模块等。
振弦式传感器在激振电路的作用下输出一个微弱信号,经过放大电路、滤波电路后由STM32处理器内部ADC进行采样。采集的数据由软件处理后,可以通过WiFi模块上传到上位机。
1.2 放大电路设计
振弦式传感器的输出信号微弱,一般为毫伏级别,需要经过高增益放大电路才能进行后续处理。具体电路如图2所示。
由于传感器安放位置的需要,信号采集电路到测频系统之间的连接导线长度会有不同。传感器输出的微弱信号在几米长和几百米长的导线中传输时,信号衰减程度不一样。为了保证传感器信号满足ADC采样的要求,系统采用仪表放大器PGA206设计了可编程增益放大电路。
前级放大器PGA206通过A0、A1选择不同的放大倍数:1、2、4、8;后两级LF412运算放大器构成增益为400的放大器。因此,整个系统可以选择4种放大倍数:400、800、1 600和3 200。
1.3 滤波电路设计
传感器信号不可避免地存在噪声和干扰,为了提高测量精度,必须要对其进行滤波。传感器输出信号的频率在400 Hz~5 000 Hz 之间,可以采用四阶低通滤波器和四阶高通滤波器构成带通滤波器。系统设计的低通滤波器截止频率为6 000 Hz,高通滤波器截止频率为400 Hz,具体电路如图3所示。
2 系统软件设计
2.1 全相位FFT的实现
全相位FFT综合考虑和分析了包含信号样本中心点的全部截断组合,具有良好的抑制频谱泄露的性能。对于振弦式传感器测频系统,频率为f0的信号s(t)以采样率fs采样2N-1个点,得到离散信号:
利用全相位FFT测量频率的步骤如下:
(1)构建两个N点汉宁窗序列a(n)和b(n)。
(2)将两个窗序列求卷积,得到卷积窗c(n)。
(3)将2N-1个点的卷积窗c(n)进行归一化。
(4)将2N-1个采样点序列与卷积窗c(n)相乘,得到加窗序列。
(5)将序列的每个(-N+i)项和i项折叠相加,得到新的N点序列d(n):{x(0),x(1)+x(-N+1),x(2)+x(-N+2),…,x(-1)+x(N-1)}。
(6)对d(n)进行FFT变换得到全相位FFT频谱。
(7)利用Rife双谱线校正算法估计频率。
全相位FFT得到的是离散谱,进行频率估计时需要进行校正。Rife双谱线校正算法具有公式简单、运算快捷的优点,易于在微处理器上实现。
Rife双谱线校正算法针对传统FFT进行频率校正时,频率校正公式如式(2)所示[7]:
式中,k0为FFT变换后最大谱线离散频率索引值,|X(k0)|为最大谱线的幅度,|X(k0+r)|为k0相邻的次大谱线幅度。r取值为±1,根据次大谱线在最大谱线的位置决定。
2.2 系统软件流程
全相位FFT频率估计是整个系统程序的核心。为减少微处理器的运算量,对全相位FFT的处理步骤作了优化处理。全相位FFT测频步骤中的前3步可以先在MATLAB中实现,形成一个2N-1个元素的数组cn(即归一化后的卷积窗c(n))。相应程序如下:
N=1024; 采样点数
an=hanning(N)′; 构建汉宁窗
bn=hanning(N)′;
cn=conv(an,bn); 得到2N-1点卷积窗
cn=cn/sum(cn); 归一化卷积窗
将cn构成的数组存入微处理器中,再进行往下的步骤,可以减少大量浮点数的运算。具体流程图如图4所示。
系统采用低压反馈式复激振方法对传感器进行激励[9],首先对传感器用低压单脉冲进行预激振。此时,传感器输出的频率信号幅度小、衰减快,使用传统FFT对其测频得到频率f0,测频的相对误差较大。接下来对传感器以f0的频率、持续时间为100 ms的PWM波进行复激振,再延时100 ms等待输出的波形数据比较稳定时采样。复激振时,钢弦达到共振的状态,传感器输出的频率信号幅度大、衰减慢,使用apFFT对其再次测频,即可得到十分精确的信号频率,实现精确测频。具体流程如图5所示。
3 系统测试
3.1 系统工作波形测试
实验室环境下,将振弦传感器接入系统并靠近220 V市电供电线缆,人为引入外部干扰噪声。示波器双踪观察放大电路输出的AMPout波形和经过滤波电路后输出的toADC波形如图6所示。
从图6可以看出,传感器受到市电50 Hz信号与其他外部噪声的干扰,经过放大后的噪声信号峰峰值高达2.4 V。噪声信号经过滤波电路后,噪声信号峰峰值仅剩180 mV。滤波器对于带外噪声的滤波效果较好。
图7为一次测频过程完整的波形。通道1为传感器输出的频率信号经过放大滤波后的波形,通道2为微处理器控制端输出的波形。
对比通道1和通道2的波形图可以看到:微处理器对传感器单脉冲预激振后,传感器输出的频率信号波形很微弱、衰减快。此时经过AD采样、传统FFT计算出来的频率f0虽然十分接近传感器的固有频率,但仍有一定的误差。接下来对传感器以频率为f0的PWM波复激振,可以看到传感器输出信号的幅度很大,持续时间长。此时再经过AD采样、利用全相位FFT及Rife校正算法计算,得到精准度高的频率值f。
3.2 系统测频测试
通过函数信号发生器将幅度为1 mV的正弦波接入系统,测得的数据如表1所示。
从表1可以看出,系统能够以较高的精度实现微弱信号的频率测量,绝对误差小于0.2 Hz。
将连接导线为10 m的振弦式传感器接入系统,传感器未施加外力,系统放大倍数分别为400、1 600的情况下,测量得到的数据如表2所示。
1#测量值是系统放大倍数为400时测量得到的数据,2#测量值是系统放大倍数为1 600时测量得到的数据。由表2可以看出,由于传感器的机械容差,每次测量结果会稍有差异。同时,放大倍数为400时测得的数据波动稍大,且有一次测量错误,这主要是由于系统增益较低,传感器信号在预激振时幅度过小而无法正确计算频率f0,在复激振时由于f0偏离共振频率较大,从而无法使传感器共振,导致系统测量出错。
4 结论
本文以ARM处理器为核心,采用全相位FFT算法对传感器数据进行预处理,再用Rife校正算法估计频率。实验结果表明:系统的频率测量绝对误差小于0.2 Hz。由此可见,采用全相位FFT-Rife校正算法可对振弦式传感器实现精确的频率测量。
参考文献
[1] 王秀丽,马润田.大跨度钢管桁架结构全过程现场健康监测研究[J].施工技术,2015(2):54-57.
[2] 袁广超,徐振宇,田旭东,等.多路振弦传感器的扫频激振技术[J].电子技术应用,2010(5):26-28.
[3] 何华光,谢忠杰,谭柳丹,等.基于M-Rife算法的振弦式传感器精确测频系统设计[J].传感器与微系统,2015(4):69-71.
[4] 刘渝.快速高精度正弦波频率估计综合算法[J].电子学报,1999(6):126-128.
[5] 齐国清,贾欣乐.插值FFT估计正弦信号频率的精度分析[J].电子学报,2004(4):625-629.
[6] 黄翔东,王兆华.全相位FFT相位测量法的抗噪性能[J].数据采集与处理,2011(3):286-291.
[7] RIFE D C,VINCENT G A.Use of the discrete Fourier transform in the measurement of frequencies and levels of tones[J].Bell Syst.Tech.J.,1970,49:197-228.
[8] 黄翔东,王兆华.全相位时移相位差频谱校正法[J].天津大学学报,2008,41(7):815-820.
[9] 贺虎,王万顺.振弦式传感器激振策略优化[J].传感技术学报,2010(1):74-77.