摘 要: 针对模拟控制正弦信号失真度测试仪体积大、测试精度低和使用不方便的缺点,设计了数字控制正弦信号失真度测试仪。该系统以单片机和FPGA相结合为控制核心,运用快速傅里叶变换(FFT)为主要分析工具,对信号输入电路进行程控衰减、放大与预滤波处理,实现了量程自动转换和数据采样,并且成功避免了频率混叠现象。最后,系统完成了软硬件电路设计后,经过测试,该系统能够对输入信号进行总功率和谱功率的测量和分析,并能正确地判断未知信号的周期性并测量出周期信号的周期,也能正确测量规定频率范围内正弦信号的失真度,在高校实验室有广泛的应用价值。
关键词: 失真度;数字控制;频谱;频率混叠
0 引言
波形失真又称非线性失真,它是由放大电路的非线性引起的。非线性失真又包括谐波失真和互调失真,本文研究的失真均为谐波失真。在无线电计量测试中,许多参数的准确度都涉及失真度测量问题,尤其在信息产生、传递和接收过程中,必须准确分析和处理好失真问题。失真度测试仪就是一种用于测量信号失真度的仪器,在电子产品的生产和检测中有着广泛的应用[1-2]。目前市面上的失真度测试系统仍以模拟测试为主,而数字化测试系统很少而且价格昂贵,因此开发性价比高的数字化失真度测试系统有着重要意义。本文研发了一款基于FPGA与单片机结合的数字失真度测量系统,该系统能够实现精确失真度测试,具有高性能、高可靠性、低成本和易操作等特点,具有较高的应用价值。
1 失真度测试原理及系统方案实现
1.1 失真度测试原理
一个失真的正弦周期振荡信号电压,除有基波电压分量外,还有各次谐波分量存在,把周期失真的正弦信号展开成傅里叶级数,如式(1)所示[3]:
式(1)中f(t)为含有谐波失真的正弦波,A0/2为正弦波中的直流分量,An为第n次谐波的振幅,n为失真正弦波中所含最高谐波次数,为标准正弦波的角频率,n为第n次谐波相对于基波的初相角。
一般地,正弦波的失真用失真度表示,即用所有谐波有效值之和与基波有效值之比的平方根来表示,而基于FFT的失真度仪采用频域分析方法,通过计算傅里叶系数C1,C2,…,C3,最后得到失真度大小。因此,失真度可以由式(2)定义:
根据式(2)可知:如果要求含最高谐振波次数为n次的失真度,只要求出各次谐波的幅值,就可计算出信号的失真度。
1.2 系统方案实现
模拟失真度测试仪主要采用模拟器件实现,造成了体积大,调试和维护不方便。基于以上原因,本文设计了数字失真度测试仪,考虑到成本和设计方面的原因,本系统采用FPGA与单片机相结合的方案。输入信号先经过衰减/放大与滤波处理后,再进行A/D采样等数字化处理,然后由FPGA完成A/D数据存取、FFT算法及频率测量,单片机完成系统的控制、周期性判断、信号功率谱和失真度的计算等。此方案大大降低了单片机的负荷,提高了整个系统的处理速度与测量精度,其系统总体结构框图如图1所示。
2 数字失真度测试仪硬件电路设计
2.1 输入程控电路设计
为了使输入信号的电压范围扩宽,设计了一个具有8挡量程的程控放大器,实现量程自动转换,保证A/D转换器输入电压保持在0.5 V~2 V。此电路由运放、模拟开关和电阻网络组成,具体电路如图2所示[4-6]。
2.2 输入总功率测量电路设计
由真有效值测量芯片AD637直接接入单片机,单片机内部的12位A/D实现A/D转换,然后由单片机完成功率计算。具体电路如图3所示。
2.3 预滤波电路设计
为了使输入信号的频率成分限定在20 Hz~10 kHz范围内,并防止采样频率出现混叠现象,在进行AD采样前要进行预滤波处理。因此,采用开关电容滤波器MAX297进行预滤波电路设计,具体电路如图4所示,其中fc=11 kHz。
2.4 信号整形电路设计
在测量正弦信号的失真度时,需对被测信号进行整形与测频,然后使用DDS产生该频率128倍频A/D采样时钟。因此整形电路如图5所示。
3 数字失真度测试仪软件程序设计
3.1 FPGA程序设计
本系统中FPGA负责数据存取、FFT运算及频率测量等功能,基本框图如图6所示。FPGA的内部结构包括4个部分,通信由FPGA内部总线实现,与外部的通信通过C51系列MCU的标准总线实现,各部分之间通过总线转换模块控制通信。通过设立控制寄存器来控制及反映FPGA内部各模块的工作状态。根据FPGA的程序开发功能,采取“由顶向下”的设计方法,使用VHDL语言设计出数据存取、频率测量和控制模块;然后使用VHDL语言并结合Altera公司提供的IP核(FFT 2.2.1)实现FFT算法[7-8]。
3.2 单片机C851F020程序设计
本系统中单片机采用C8051F020,它主要是实现控制和数据处理中心的作用,实现对程控放大、FPGA、人机接口及DDS电路的控制,同时负责计算信号的总功率和各频率成分的功率、正弦信号失真度,还要负责信号的周期性判断等。
3.3 周期性判断方法
程序设计中将输入信号分为两个频段,一个频段的频率范围为20 Hz~500 Hz,另外一个频段的频率范围为500 Hz~10 kHz。将频率分段后再进行功率谱分析,以判断是否有周期性信号存在。信号周期性判断方案参数具体设置如表1所示。
4 实验结果及分析
4.1 技术指标
技术指标:输入电压信号的范围为5 mV~19.99 V,频率范围为20 Hz~10 kHz,各频率分量功率测量的相对误差绝对值≤10%,要求能准确计算出信号的功率谱及失真度,要能准确判断信号的周期。
4.2 测量结果及分析
在开机状态下,用4位半万用表进行测量,输入信号电压范围及量程自动转换测试结果如表2所示。从表2可以看出,谱功率相对误差最大为5%,完全满足系统设计要求,而且得到了失真度精确测试数据。
输入信号频率范围、频率分辨率、频率分量功率测量相对误差和失真度测量具体结果如表3所示。
总功率和谱功率的具体测试结果如表4所示。其中,计算标准功率时的电压以仪器输出值为准。从表4可以看出,总功率的相对误差绝对值小于10%,达到了设计的要求。
5 结论
本文设计了基于FPGA与单片机相结合的数字控制正弦信号失真度测量仪,该系统相对传统的模拟控制正弦信号失真度测量仪具有以下优势:(1)采用数字化设计后,电路的结构大大简化,可靠性增强,生产容易以及调试方便;(2)数字失真度测试仪只用一套电路便可测量2~5次谐波,并可单独显示各次谐波的失真以及总失真,而且可以根据需要,只需增加取样频率即可测量更高次的谐波,并具有扩展性;(3)具有较高的精度及良好的人机界面。
参考文献
[1] 高吉祥.全国大学生电子设计竞赛培训系列教程:电子仪器仪表设计[M].北京:电子工业出版社,2007.
[2] 黄智伟.全国大学生电子设计竞赛系统设计[M].北京:北京航空航天大学出版社,2006.
[3] 赵茂泰.智能仪器原理及应用[M].北京:电子工业出版社,2004.
[4] 童诗白,华成英.模拟电子技术基础[M].北京:高等教育出版社,2006.
[5] 荣军,张敏,李一鸣,等.基于单片机的恒流源技术研究[J].电子器件,2011,34(1):63-65.
[6] 荣军,张敏,李一鸣,等.一种基于数字控制的直流电流源技术研究[J].微型机与应用,2010,29(23):71-73.
[7] 刘宪力,特日格乐,张清.基于等效和实时采样的数字示波器设计[J].电子设计工程,2009,17(6):69-71.
[8] 丁红斌,秦会斌,孙顺远.基于STM32的虚拟示波器的设计与实现[J].电子器件,2009,32(6):1007-1010.