本发明涉及电力系统谐波检测领域,尤其是一种基于查表的谐波检测方法。
背景技术:
检测谐波电流是有源电力滤波器的关键环节,检测速度与精度直接影响滤波效果。目前已有的检测算法,速度与精度都不算高。
基于查表的谐波检测方法能够节省DSP(Digital Signal Processing,数字信号处理器)的RAM(random access memory,随机存取存储器空间),提高检测速度,消除计算积量误差从而提高检测精度。
技术实现要素:
本发明所要解决的技术问题在于,提供一种节省DSP的RAM空间、提高检测速度、消除计算积量误差的谐波检测方法。
为解决上述技术问题,本发明提供一种基于查表的谐波检测方法,包括如下步骤:
步骤1,将三相电流信号Ila、Ilb和Ilc进行AD转换,由模拟量变为数字量Ilad、Ilbd和Ilcd,数字量Ilad、Ilbd和Ilcd即为采样值;
步骤2,采用滑窗傅里叶变换的方法将数字量Ilad、Ilbd和Ilcd转化为傅里叶系数;
步骤3,采用傅里叶反变换将步骤2得到的傅里叶系数变成各谐波的瞬时值。
本发明步骤2包括如下步骤:
步骤2-1,设计一张表格,在表格中设置N个点,前N/2个点与后N/2个点的正弦余弦值的和为零,表格储存在ROM(Read Only Memory image,只读内存镜像)中;
步骤2-2,计算k时刻提取的n次余弦量和n次正弦量;
步骤2-3,根据步骤2得到的k时刻提取的n次余弦量和n次正弦量计算得到k+1时刻提取的n次余弦量和n次正弦量,从而得到k+1时刻的第n次谐波的幅值。
步骤2-2中,通过如下公式计算k时刻提取的直流量A0(k):
其中,u(mT)为m时刻的采样值,T是采样周期,N是基波周期的采样点数;
通过如下公式计算k时刻提取的n次余弦量An(k):
其中,ω是基波频率。
步骤2-2中,通过如下公式计算k时刻提取的n次正弦量Bn(k):
将公式(4)代入到公式(2)和公式(3)中,得到如下公式:
通过如下公式分别计算k+1时刻提取的n次余弦量An(k+1)和k+1时刻提取的n次正弦量Bn(k+1):
其中,表示m时刻次数n的余弦值,表示m时刻次数n的正弦值,由公式(5)、(6)、(7)和(8)得到如下公式:
当u(kt)中只含奇次谐波时,公式(5)和公式(6)简化为:
公式(11)和公式(12)简化为:
其中,u((k+1)T)表示k+1时刻的采样值,u(k-N/2+1)为上半个周期的采样值,表示k+1时刻次数n的正弦值,表示k+1时刻次数n的余弦值,表示k-N/2+1时刻次数n的正弦值,表示k-N/2+1时刻次数n的余弦值,
根据公式(17)公式(15)和公式(16)分别简化为如下公式:
上半个周期的采样值u(k-N/2+1)存储在RAM中,使用的时候进行读取。
通过查询步骤2-1设置的表格得到函数cos()与函数sin()的值,计算时取当前的负值。
步骤2-3中,用第k时刻的值(即An(k)或Bn(k))加上当前计算值,再减去上半个周期的计算值或最终得到k+1时刻的第n次谐波的幅值。
本发明的有益效果为:利用滑窗计算方法,节省DSP的RAM空间、提高检测速度、消除计算积量误差。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
图1是本发明的运算过程示意图。
具体实施方式
实施例1
如图1所示,三相电流信号Ila、Ilb、Ilc经过AD转换的过程,由模拟量变为数字量Ilad、Ilbd、Ilcd;之后经过滑窗傅里叶变换的方法,转化为傅里叶系数;之后经过傅里叶反变换的过程,变成各谐波的瞬时值。
滑窗傅里叶变换的方法如下:
步骤1、预先设计表格,表格里面设置N个点,前N/2个点与后N/2个点的正弦余弦值的和刚好为零,正弦、余弦值查表;
后面公式中用到的值在表格中都得到相应体现,因为很多值是用查表方法直接得到,所以避免了DSP直接计算引起的累计误差。
步骤2、
将(4)分别带入(2)与(3),得到(5)与(6)。
由(5)(6)(7)(8)可以得出,
若u(kt)中只含奇次谐波,(5)(6)可以简化为
(11)(12)可以简化为,
根据(17),(15)(16)可简化为(18)(19)
由(15)(16)可以看出,若需要k+1时刻的第n次谐波的幅值,可以利用第k时刻的值加上当前计算值,再减去上半个周期的计算值得到,因此可以利用滑窗计算来完成。
由(17)(18)(19)可知,当前的角度与上半个周期的角度相差180°,所以上半个周期计算的正弦与余弦值为当前的负值。An(k)中包含了计算An(k+1)时需要减去为了让An(k+1)不产生累加误差,An(k)包含的值与An(k+1)计算的必须一致,这样才可以消除累计误差。
可采用如下方法:u(k-N/2+1)上半个周期的值可以存储在RAM中,使用的时候进行读取;cos可以采用查表的方法得到,cos表格采用N个点,负半波的值刚好是正半波的负值,计算可以取当前的负值,如公式(18)(19)所示。这样An(k)计算的采用的余弦值与计算An(k+1)的余弦值是完全一致的,因此消除了累计的误差。而且计算上半个周期的正弦与余弦值只需要采用当前的余弦值,不需要再进行查表或者进行计算,提高了查表与运算的效率。
实施例2
计算出的傅里叶系数An(k),Bn(k)使用反傅里叶变换可以得出当前k时刻n次的瞬时值,如式20所示:
计算所得的Yn(k+1)是k+1时刻的n次谐波的瞬时值,用于有源滤波器的补偿电流指令,根据式(20)每次谐波都可以进行独立选择进行计算,因此每次谐波可以独立的进行补偿,极大的提高了有源滤波器的补偿性能。
尽管本发明就优选实施方式进行了示意和描述,但本领域的技术人员应当理解,只要不超出本发明的权利要求所限定的范围,可以对本发明进行各种变化和修改。