您的位置:控制工程论坛网论坛 » 传感器 » 高精度数字失真度测量仪的设计

dingjia

dingjia   |   当前状态:离线

总积分:99  2024年可用积分:0

注册时间: 2008-09-07

最后登录时间: 2010-12-10

空间 发短消息加为好友

高精度数字失真度测量仪的设计

dingjia  发表于 2008/11/16 21:45:12      589 查看 0 回复  [上一主题]  [下一主题]

手机阅读

通信系统中采用的许多算法和技术都是在线性系统的前提下研究和设计的,一定频率的信号通过这些网络后,往往会产生新的频率分量,称之为该网络的线性失真。失真度分析采取的常用方法有基波抑制法和谐波分析法两种。

基波抑制法通常用在模拟失真度测量仪中,原理是采用具有频率选择性的无源网络(如谐振电桥、双T陷波网络等)抑制基波,由信号总功率和抑制基波后的信号功率计算出失真度。理想的基波抑制器应完全滤除基波,又不衰减任何其他频率。但实际上,基波抑制器对基波衰减抑制只能达到-60 dB~-80 dB,对谐波却损耗0.5 dB~1.0 dB。这种方式的失真度仪的性能主要依赖于硬件设计,调试和校准工作烦琐,一般只能实现固定1个或几个频率的失真度测量,其测量误差随着失真度降低而加大,并且随着器件老化,电路的稳定性和可靠性降低。

谐波分析法类似于频谱分析,通常是借助数字方式的以FFF(快速傅里叶变换)为基础的算法,或者采用模拟方式的选频测量方法,从而获得基波和各次谐波的功率,计算出失真度。模拟选频方式的失真度分析仪性能高,但硬件电路复杂。数字方式的失真度分析对硬件的设计要求降低,其性能主要决定于A/D转换的精度和数字信号处理算法。仅仅采用FFT来分析失真度是远远不够的,因为测量精度与其运算量、存储空间的大小和测量速度存在明显的矛盾。 针对以上失真度测量方法的不足,本文以数字谐波分析法为基础,提出了基于DFT(离散傅里叶变换)和过零检测法的失真度分析算法,不仅可满足高精度和任意频率的测试需求,还可降低硬件设计复杂度。

1失真度算法研究

1.1算法分析

失真度定义为:


式中:u1,u2,…,uM分别为被测频率的基频、二次谐波、…、M次谐波分量的幅度有效值;E1,E2,…,EM为基频和谐波分量的能量,一般M=5或7。

从失真度定义来分析,要测量信号的失真度,只须设法将被测信号的基波与谐波分离,分别测出它们各自的功率或电压有效值,代入式(1)即可。

DFT在DSP中通常用于对平稳信号的频谱估计,在应用中,将输入信号截短,得到的行向量X=x(n)与一个相同长度的正弦信号W=w(n)相乘积分,可得到向量X中含有正弦信号W的分量。所以,如果向量W的频率等于失真度测量的各个频率分量和它们的正交分量,则可以计算出输入信号中包含第m次谐波的能量Em:


将式(2)值代人式(1)就可得到失真度值。

在工程测量中,被测信号的频率往往未知,而DFT计算时是确定的频率,所以应给W提供准确的频率,而且W的频率预测越准确,能量计算也越精确。

为了准确找到基频,对采样信号采用过零检测法来测量频率,为避免噪声干扰,设置零幅度带,每通过零幅度带即为过零一次。被测信号频率由fx=N/T得到,T为时间基准,N为T内过零点数。过零检测法测频虽准确度较高,但是在标准的时间基准T中如10 ms、0.1 s、1 s等,由于被测信号与门控信号不可能同步锁定,所以存在固有的±1量化误差。本系统中如果选用1 s做时间基准的话,实时性不够。因此综合考虑实时性、存储量、处理速度之间的关系,选择T=0.1 s作为时间基准。这时±1误差被扩大10倍,为±10 Hz。为解决±1量化误差,使用以过零测频为中心,固定带宽(30 Hz)内最大值能量搜索办法(二分法)寻找基频能量最大值,经过5~7次迭代可得到准确的基频。然后直接使用此基频得到各次谐波的准确频率,并将基频和谐波频率提供给W,使用DFT就可直接估计基频和各高次谐波能量,完成失真度计算。

1.2仿真结果分析

使用MATLAB对上述算法进行仿真。设输入信号基频为1 kHz,并在±30 Hz范围内随机变动,信噪比20 dB,采样速率为44×103次采样/s,计算到7次谐波能量,基频能量二分法搜索带宽为30 Hz。最大值搜索时,当能量变化小于0.1%时终止,序列运算长度1 024个采样点,使用平方汉宁(Hanning)窗减少频谱泄漏。按这些条件,对500次具有随机频偏和失真特性的输入信号进行算法仿真。结果如图1所示。

仿真结果表明,采用上述条件时,频率计算误差控制在1 Hz以下(见图1(a));失真度误差能控制在1%以下(见图1(b))。如果终止条件更严格,测量精度可以更高。通过仿真还发现,当基频搜索时能量变化小于0.01%时终止,失真度测量误差可小于0.1%(见图1(d))。为使失真度算法更有效率,本系统采用能量变化小于0.1%时终止。

2数字失真度测量仪硬件结构

该系统硬件结构如图2所示。测量仪主要由信号调理、低通滤波、数据采集系统、主控制器AVR单片机(Atmega64L)、DSP(数字信号处理器)等模块组成。

2.1信号调理和低通滤波模块

信号调理和低通滤波的功能是对信号的幅度进行调理和滤波。信号的输入范围是不定的,小信号信噪比较低,大信号会引起A/D转换器对信号进行限幅而失真,所以采用数控可变增益放大器对信号输出电压范围进行调整,将信号的幅度控制在A/D转换器的满幅度附近。保证A/D转换器采集到的波形数据最大值仅占A/D转换器不失真输入范围的80%。低通滤波为20 kHz低通滤波器,其0.1 dB带宽为18 kHz,能有效滤除高频信号,同时保证较好的带内平坦度。

2.2数据采集模块

作为测量仪器要得到高精度的测量结果,要求A/D转换器的精度必须足够高。系统采用了TI公司的24 bit工业A/D转换器ADS1271,它可以得到低的漂移、极低的量化噪声。经ADS1271采样后的数据由DOUT引脚串行输出,与TMS320C6713的多通道缓冲串口McBSP直接相连。McBSP可支持字长为24 bit的数据,可直接接收A/D转换器输出的24 bit串行数据,并自动将接收数据中的数据位调整为DSP需要的格式。A/D转换器采样速率为44×103次采样/s。A/D转换器的采样脉冲信号由DSP的定时器提供。

2.3数据处理模块

DSP模块以TMS320C6713芯片为核心。该芯片是TI公司推出的一款高性能浮点DSP,内核包含了8个功能单元,采用先进的VLIW(甚长指令字)结构,使得DSP在单周期内能够执行多条指令。在225 MHz的时钟频率下,其最高执行速度可以达到1350×106次浮点运算/s。它还集成了丰富的片内外设单元,本系统主要用到的有HPI、EDMA和定时器。

主机接口为HPI,外部主机可以直接访问内部的存储器和存储器映像存储器,TMS320C6713的HPI通过EDMA控制器实现对DSP存储空间的访问,本系统中Atmega64L是主机,可以直接配置TMS320C6713的EDMA定时器,节省TMS320C6713的查询周期。ED-MA(增强型直接存储器访问)是C621x/C671x/C64x系列DSP特有的访问方式,其启动可以由内部或外部事件触发,本系统采用外部触发。

2.4外围设备

失真度测试系统的控制和结果显示通过标准RS-232接口完成。因此该数字失真度测量仪可以作为一个独立测量模块集合在其他综合测试仪中。

2.5控制模块

主控制器使用Atmega64L单片机,完成系统的控制。DSP的处理结果由主控制器通过HPI接口获得,并缓存在内存中;当外部命令读取测试结果时,再通过RS-232接口发送出去。控制模块还完成系统的低功耗控制、DSP运行模式等控制。

3软件实现

图3是TMS320C6713芯片的软件流程图。该芯片受Atmega64L控制。Atmega64L根据RS-232接口获得指令,然后根据指令参数来控制仪器的运行。TMS320C6713可执行两种操作:一种是自动测量,首先对采集数据使用过零法粗测频率,然后把粗测频率作为参数传递给失真度测量程序,由失真度计算程序完成测量;另一种是定频测量,把Atmega64L传递来的频率参数直接传递给失真度测量程序完成失真度的测量,而不需要事先测量频率。

失真度测量程序设有一个入口参数fmiddle,以此参数为中心频率在带宽30 Hz内使用最大值搜索法找寻准确的基频频率并完成失真度计算,返回值是实际测量的基频频率、信号电平、失真度。

DSP处理完数据后,把测试结果缓存在内存中,单片机根据指令通过HPI接口读取测试结果。

4性能分析

测量速度是决定仪器实用性的重要因素。每计算一次失真度,基频能量二分法最大值搜索时一般需要5~7次迭代,每次迭代含3次向量乘法(2次乘法,2次加法),取10次迭代需要30次向量乘累加操作、生成30个W向量;剩余6次谐波计算需要6个W向量,合计36个W向量。

W向量的生成如果采用直接调用库函数,运送量太大,而采用迭代方法实现的效率更高。由三角变换公式:

只需调用库函数运算得到cos ωT,sin ωT这两个基本函数值,就可得到整个W向量,每个点生成需4次乘法和2加法。因此系统采用1024点完成失真度计算一次共需:1024×4×36+1024×6×36=368 640次运算,对于1350×106条指令/s的DSP来说,耗时约0.3 ms。加上数据存储,小运算量消耗时间,除去操作控制时间,总耗时控制在1 ms内,能满足实时要求。

实验结果表明,频率测量范围为20 Hz~20 kHz,频率误差±1 Hz;经校准后,电平测量范围10mV~10 V,误差±0.4 dB;失真度在频率100 Hz~3 kHz区间,测量范围-5 dB~-45 dB,测量误差±0.2 dB。

5结束语

本文提出了一种基于DFT的失真度测量算法,并通过TMS320C6713实现了数字失真度测量仪。该失真度测量仪硬件设计简单,易调试,测量结果准确,具有自动测量和选频测量特性,不仅可作为单一失真度测量仪,还可作为失真度分析模块与其他性能分析模块通过标准总线相连,组成综合测试仪,可避免重复设计,节约成本,应用前景广泛。

1楼 0 0 回复