摘 要:介绍了以TMS320F206为核心的电力参数检测装置的硬件结构以及参数的计算。着重讲述了FIR滤波器设计、谐波分析以及除法与开方运算的实现。 关键词:DSP;FIR滤波器;谐波分析;FFT 随着国民经济的发展,电能用户逐渐增加,特别是非线性负载的应用,使电能的质量问题日趋严重。因此为了保证电网的安全运行和了解电网运行的状况,需要对电网进行实时监测。现在,有关部门已制定了完善的电能质量标准。在供电系统中,对谐波、负荷电流、功率因数等电力参数进行合理的估算并采取相应的措施(如加设滤波和无功补偿、报警)是非常必要的。无人监控也是现代控制的一个潮流,这使得在电力监测系统的设计中必须加以考虑。基于现代电力监控的要求,本文研究了一种基于DSP的电网质量的监控装置。 1 硬件设计简述 本设计电路的基本原理如图1所示。三相电压、电流经过CT,PT转换为标称值为100 V和5 A范围内的电压、电流,再把该信号经过传感器转换为标称值为5 V的电压信号。信号经过过零比较器生成频率相同的方波,以利于测频和实现缺相检测。同时信号经极性变换,进入6通道的A/D转换器。DSP控制6路A/D 的采集,并进行FFT运算和数据处理,以实现对各种参数的检测。DSP将计算后得到的结果保存在掉电不丢失的NVRAM里,根据上行站点的要求通过 RS232或RS485串口直接从系统中读取数据。DSP也根据设定的参数标准,用计算所得的数据与之比较,判断各种参数是否合格,如果不合格则做出相应的动作,如控制电容的投切、向上行站点报警、记录不合格数据等,从而实现无人监控。 图1中CPLD主要完成缺相检测、地址空间分配、形成采样脉冲以及产生其他一些控制信号。键盘和LCD主要用于现场调试与监控。 2 DSP的软件设计 主体程序设计过程为:首先检测是否缺相,接着检测频率,依次再采集电压电流参数,在对采集的数据进行预处理后,进行FIR滤波,计算各个电参数和FFT,最后计算谐波分量并根据标准进行判断。另外,还有各种参数的设定、通讯功能的实现等程序段。 2.1 FIR滤波器设计 抗混叠滤波器是前向通道的重要组成部分,如果没有他,根据香农定理,信号的高频部分通过A/D后,在经过快速傅里叶变换FFT分析时,会产生频谱混叠效应。所以信号在做FFT前要利用低通滤波器来滤波。滤波的方式有2种:一种是在采样前对模拟信号用低通滤波器件进行硬件滤波;另一种就是在A/D转换完毕后,用软件设计数字滤波器进行滤波。为了节约与IIR滤波器相比,FIR滤波器有几个突出的优点: (1)可以在幅度特性随意设计的同时保证严格的线性相位。 (2)由于FIR滤波器的单位脉冲相应是有限长的,因此FIR滤波器没有不稳定性问题。 (3)由于FIR滤波器一般为非递归结构,因此在有限精度运算下,不会出现递归型结构中的振荡等不稳定现象,误差较小。 (4)FIR滤波器可以采用卷积算法,从而提高了运算效率。
鉴于FIR滤波器的种种优点,而且TMS320F206的指令集中有适合作卷积运算的指令MACD,本系统采用了FIR滤波器结构。其结构图如2所示。
其差分方程为:
运算关系式可由图3表示。 只要已知了滤波器的截止频率和滤波阶数,传输系数可以由Matlab仿真得出。根据国家对谐波测量仪器的要求,A级仪器测量范围是0~2500 Hz,即可分析50次谐波。本系统测量范围以A级为标准,所以截止频率选为2.5 kHz。这样很快就能得到截止频率为2.5 kHz的低通滤波器的传输系数。FIR设计的程序代码如下。(这里只列出了对Ua信号的滤波)
主程序:
通过实践证明,当N取8时,滤波器的特性较好。 2.2 参数的计算 在本系统中,软件的主要功能在于计算与判断,有大量的运算,所以CPU是采用TMS320F206 DSP芯片来完成的。他具有增强的指令集便于实现更快的算法和优化的高级语言操作。对于FFT这样的运算,他的速度很快。在这个系统中,要实现128点的 FFT,经过测试,当工作周期为50 ns时,完成一次FFT的时间小于344.35μs。他还具有全新的静态设计技术,使得功耗较小。 2.2.1 谐波分析 设电网电压为u(t),电流为i(t),且都是周期函数,则可用傅里叶级数表示为:
其中:U0,I0是直流分量,Uk,Ik是K次谐波分量的幅值,且有:
从式(2),式(3)看出u(k),i(k)就是u(t),i(t)的傅里叶变换。所以由傅里叶变换求K次谐波分量的公
在实际应用中,总是对离散的数值进行计算,因此在实际中所用的公式是离散傅里叶变换,其公式为:
在现代傅里叶变换理论的发展中,很重要的一个是快速傅里叶变换算法的出现(FFT),他大幅度的减少了计算量,缩短了计算时间,使得离散傅里叶变换算法能在实际中使用。 在实际应用中,数值常常是实数,为了提高效率,常常用一个N点的FFT同时运算2个N点的实序列。 这种方法的基本原理是利用复序列的DFT的奇偶对称特性。设x1(n),x2(n)是彼此独立的2个N点实序列,他们的离散傅里叶变换为X1(k),X2(k)。设一个复序列x(n)=x1(n)+jx2(n),则x(n)经过FFT运算后可以获得x(n)的DFT值X(k)=X1(k)+ jX2(k)。据DFT的奇偶对称特性推出: 在本系统中把各相的电压和电流合成一个复序列,即x(n)=U(n)+jI(n)。 在进行FFT时,需要解决的2个主要问题是反序和蝶形算法。反序是按码位倒置的原理来实现的,他是进行蝶形运算的先决条件,而蝶形算法是FFT的关键。 TMS320F206的指令集中可以进行位反转变址寻址对基2-FFT程序中的数据进行重排序。当选择该寻址方式时,在ARAU中进位传送方向被反转,且当前AR加上或减去AR0内容。这种寻址方式的典型应用需先将AR0设为阵列大小的1/2,且将当前AR值置为数据的基地址。具体实现如下程序:
//地址开始的数据区 在本系统中,反序前后数据位置如图4所示。 在运算完FFT后,按式(6),式(7)可以得到U(n),I(n)的傅里叶变换式,再按式(4),式(5)计算即可得到所需谐波分量的值。并分别计算电压和电流的总谐波畸变率。 2.2.2 其他参数的计算 根据采样得到的电压u(n)、电流i(n),可以计算出电网的其他参数:功率的平均值(有功功率)、交流电压真有效值U、交流电流真有效值I、视在功率S、功率因素cosφ、无功功率Q,他们的计算公式如下。 电压、电流有效值:
视在功率S=U×I;功率因素cosφ;无功功率Q=UIsinφ 2.2.3 频率的测量 本系统采用低频信号精密测频法测量频率f,把经过256倍频的信号传送至DSP,由DSP记数1 s所经历的周期数M,用以下式子计算频率f。 f=M/256 用这种方法测得的频率f误差小于0.01%。 2.3 除法和开方的实现 在F206的指令集中没有除法和开方的程序,而在计算各种公式时,这两种运算是避免不了的,所以必须专门编写子程序来完成这两种运算。 对于除法,本设计中用的是32位的。他的算法原理基本如下所述。 在下面的算法中,是用绝对值来运算,所以在运算之前应该先决定是什么符号。在算法中,被除数是32位的,除数是16位的。 假设被除数为Num(NumH=n3|n2,NumL=n1|n0),除数为Den=d1|d0,输出为Quot(QuotH=q3|q2, QuotL=q1|q0),余数为Rem=r1|r0。程序分2段,第1段用n3|n2除以d1|d0得到的结果为t1|t0|q3|q2,即所得结果的低16位是整个除法结果的高16位值。然后把t1|t0和n1|n0组合成t1|t0|n1|n0作被除数,除以d1|d0,得到的结果为 r1|r0|q1|q0,则最终求得Quot=q3|q2|q1|q0,同时把余数舍去。在程序应用中,因为这个余数的舍弃,在调用除法子程序时要注意精度的问题,为了达到所需要的精度,一定要注意数值的量化问题,以使被舍弃的余数的值足够小,小到不会影响到整个计算结果。程序中是用指令SUBC来实现除法的。对于负的累加器值和/或负的数据存储器值,SUBC指令不能用于除法。若16位被除数所含有效位少于16,则被除数可左移后置于累加器中,左移量由非有效前导0的个数决定。SUBC指令执行的次数则为16减去这一个数目。一位前导0始终有效。具体的除法程序如下。在调用这个子程序时,必须把接口配置好,即当前寄存器必须为AR1,必须把被除数载入累加器中,把除数所在的地址放入AR0,把存储结果的地址放入AR3。
(4)Ytable=1/sqrt(2^n)注意:Ytable的值是读表所得的 (5)Ynorm=sqrt(Xnorm),为了计算Ynorm,需要按下式重复计算16次 初始化值Ynorm(old)=sqrt(0.53931) Ynorm(new)=Ynorm(old)- (Ynorm(old)^2-Xnorm)/2 (6)Y=round(Ynorm*Ytable),为了减少误差最后要采用四舍五入。 这里所用的实质上是牛顿迭代法的思想。因为计算的公式只有当值在0.5~0.999 7时才是正确的,所以在调用程序前必须把值量化为15位二进制,接着再规格化,使得对应的值在0.5~0.999 7之间。所谓规格化是用指令NORM来完成的。根据这一编程思想就可以写出SQRT子程序,至于具体的程序代码在这里就不再一一列出。 3 结 语 本系统由DSP做MCU,因此处理速度非常快。而且因为是软件滤波,有很多功能集成到了CPLD上,因此大大减小了系统的体积。系统还具有精度高、性能稳定等特点。
参考文献 [1] 王世一.数字信号处理[M].北京:北京理工大学出版社,1997. [2] 王立宁,乐光新,詹菲.Matlab与通讯仿真[M].北京:人民邮电出版社,2000. [3] TMS320C2XX高速数字信号处理器原理与应用[S].北京闻亭科技发展有限公司,1998. [4] 李君凯,丁化成.一种新型的电力系统谐波分析仪采样计算方法[J].电测与仪表,2000,(10). |