CN104330673A - 一种适用于采样点数为复合数的fft实现方法 - Google Patents
一种适用于采样点数为复合数的fft实现方法 Download PDFInfo
- Publication number
- CN104330673A CN104330673A CN201410653971.6A CN201410653971A CN104330673A CN 104330673 A CN104330673 A CN 104330673A CN 201410653971 A CN201410653971 A CN 201410653971A CN 104330673 A CN104330673 A CN 104330673A
- Authority
- CN
- China
- Prior art keywords
- fft
- lib
- array
- data
- carry out
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Supply And Distribution Of Alternating Current (AREA)
Abstract
本发明提供一种适用于采样点数为复合数的FFT实现方法,应用于以数字信号处理器为核心的电能质量监测装置中,适用于采样点数为复合数的情况。DSP读取N个采样数据,分解组合为行列的阵列,使用C28x_FixedPoint_Lib.lib库文件对每一行个数据进行基2FFT计算,再乘以对应的旋转因子,最后对所得阵列的每一列个数据进行基FFT计算,即实现了N点FFT分析。本发明无需对采样数据进行插值或者补零处理,充分保留原始数据所含信息,也无需修改硬件装置,就可直接对采样数据进行FFT分析,计算结果具有较好的精度。
Description
技术领域
本发明属于电力系统自动化领域,涉及一种电能质量数据处理方法,具体为涉及一种适用于采样点数为复合数的FFT实现方法。
背景技术
电能质量的好坏是电力系统安全稳定运行的重要指标。近年来,越来越多的非线性负荷和冲击负荷投入电网,使得电力系统的电能质量问题越加严重。且许多精密仪器对电能质量的要求也越来越高。这些都促使电能质量监测成为电力系统自动化领域的一个重要研究方向。
目前,通常将数字信号处理器(DSP)作为电能质量监测装置的核心控制器,DSP不但具有强大的数字信号处理能力,而且还具有较为完善的事件管理和嵌入式控制功能,因此被广泛应用于在处理速度、处理精度方面要求较高的电能质量监测领域。
快速傅里叶变换(FFT)是电能质量监测领域的主流算法,该算法在以DSP为核心的电能质量装置中运行,对所采集的原始数据计算分析,得到电能质量的各个指标。传统的FFT算法为基2FFT,适用于采样点数为 的序列。但是随着智能电网的发展,出现了采样点数为复合数的情况,IEC 61850-9-1标准中规定的采样点数有多个,比如80点、200点,并不满足,如仍采用传统FFT进行电能质量分析,则计算结果会出现较大误差。针对此种情况,如何进行准确地计算分析是急需解决的问题。
发明内容
为了解决传统FFT不能对采样点数为复合数的数据进行分析的问题,本发明提供了一种适用于采样点数为复合数的FFT实现方法。由于该方法是应用于电能质量监测领域,故该方法是在以DSP为核心的电能质量监测装置中实现的。
本发明采用以下方式是实现上述目的:
一种适用于采样点数为复合数的FFT实现方法,应用于以数字信号处理器为核心的电能质量监测装置中,适用于采样点数为复合数的情况,包括以下步骤:
步骤一、DSP读取N点原始数据,原始数据为经过AD芯片的数字电压或电流信号,N为复合数,并不满足2的整数次幂,但可将其分解为;
步骤二、对原始数据重新组合,将N点数据分解并重新组合为行列的阵列;
步骤三、将阵列中的每一行个数据使用基2FFT进行计算,使用C28x_FixedPoint_Lib.lib库文件进行基2FFT计算,计算结果为维数相同的复数阵列;
步骤四、将步骤三所得结果阵列中的每一个值乘以旋转因子;
步骤五、将步骤四所得阵列中每一列个数据进行基FFT计算。
进一步,所述的数字信号处理器为TMS320F2812型。
进一步,所述步骤三中C28x_FixedPoint_Lib.lib库文件在本方法中的使用包括如下步骤:
步骤一、将该库文件C28x_FixedPoint_Lib.lib添加至所建工程中;
步骤二、配置配套的头文件fft.h和CMD文件,CMD的作用是为FFT计算用到的计算缓冲区和旋转因子两个数据段分配合适的存储空间;
步骤三、选择复数FFT(CFFT)作为计算方法,CFFT虽为复数FFT但同样适用于原始数据为实数的情况,只需将虚部置零即可;
步骤四、将原始数据写入计算缓冲区,经过实部位倒序和虚部位倒序后再将该缓冲区地址赋值给FFT计算指针;
步骤五、调用fft.init(&fft)和fft.calc(&fft)函数即可完成FFT计算;由于FFT具有原址运算的特点,所以计算结果仍存储在计算缓冲区内。
与现有技术相比,本发明的有益效果为:
本发明适合采样点数为复合数的情况,使用本方法进行电能质量分析,无需对采样数据进行插值或者补零处理,充分保留原始数据所含信息,也无需修改硬件装置,就可直接对采样数据进行FFT分析,计算结果具有较好的精度。
附图说明
图1为本发明的总体流程图;
图2为电能质量监测装置示意图;
图3为本发明中C28x_FixedPoint_Lib.lib使用流程图;
图4为80点的FFT流程图。
具体实施方式
假设电能质量监测装置一个周波的采样序列为,,…, ,共有N个采样点。当N不是2的整数次幂时,可将N分解为,此时可将该序列用阵列的形式表示:
N点离散傅里叶变换(DFT)的计算式为:,其中,,定义和的序号映射为:
,
此时N点DFT计算式可表示为:
其中,根据的对称性和周期性,,,则N点DFT计算式可等效变换为:注意中括号内部的计算式实际为采样阵列中第行的点DFT的表达式,用 表示。对采样阵列中每一行的点进行DFT运算得到如下阵列:
再将乘以旋转因子,得到阵列:
则N点DFT计算式可等效变换为。所以再对阵列中每一列进行点DFT运算,即完成了N点的DFT运算。
当和分别为某数的整数次幂时,如,上述DFT计算过程就可简化为以和为基的FFT计算。由于之前定义了序号映射,所以FFT系数可根据读出。
由于电能质量监测装置的采样点数通常为偶数,且DSP作为核心处理器,自带有基2FFT库文件,所以本方法适合于采样点数为的情况。对于采样点数不满足2的整数次幂,却可以分解为的情况,可以采用本方法。
下面结合附图用具体实施例来进一步详细描述本发明。
如图1所示,在电能质量监测装置中使用该方法,可按照如下步骤进行:
步骤一、DSP读取N点原始数据,原始数据为经过AD芯片的数字电压或电流信号,N为复合数,并不满足2的整数次幂,但可将其分解为;
步骤二、对原始数据重新组合,将N点数据分解并重新组合为行列的阵列。以N=10为例,分解为5行2列。第一行为,,第二行为,,以此类推;
步骤三、将阵列中的每一行个数据使用基2FFT进行计算,此时可以使用TI公司提供的C28x_FixedPoint_Lib.lib库文件进行基2FFT计算,计算结果为维数相同的复数阵列;
步骤四、将步骤三所得结果阵列中的每一个值乘以旋转因子;
步骤五、将步骤四所得阵列中每一列个数据进行基FFT计算。
通过以上步骤即可完成对采样点数为复合数的原始数据的FFT分析,FFT计算结果为复数,通过对各个复数分析可以得到原始信号中各个成份的幅值、相位、频率等信息。
如图2所示,电能质量监测装置是以TMS320F2812为核心处理器的,该DSP具有强大的数据处理能力和丰富的外设供使用,能满足复杂算法运算的要求;电网中的电压、电流信号经过信号调理电路转换为AD芯片可以接受的小电压信号,进入模数转换电路,最终转换为离散的数字信号序列;DSP通过本方法对采样信号进行分析处理,得出电能质量各个指标;键盘模块和显示模块可供使用者就地了解电能质量信息;DSP计算结果通过通信模块进入以太网最终传送至数据中心;大容量存储模块可实现对数据的保护和存储。
C28x_FixedPoint_Lib.lib的使用是本方法的重要一步。
如图3所示,为保证C28x_FixedPoint_Lib.lib的正确运行,步骤如下:
步骤一、将该库文件C28x_FixedPoint_Lib.lib添加至所建工程中;
步骤二、配置配套的头文件fft.h和CMD文件,CMD的作用是为FFT计算用到的计算缓冲区和旋转因子两个数据段分配合适的存储空间;
步骤三、选择复数FFT(CFFT)作为计算方法,CFFT虽为复数FFT但同样适用于原始数据为实数的情况,只需将虚部置零即可;
步骤四、将原始数据写入计算缓冲区,经过实部位倒序和虚部位倒序后再将该缓冲区地址赋值给FFT计算指针;
步骤五、调用fft.init(&fft)和fft.calc(&fft)函数即可完成FFT计算。由于FFT具有原址运算的特点,所以计算结果仍存储在计算缓冲区内。
以IEC 61850标准规定的采样点数80点为例,说明针对采样点数为复合数的FFT实现方法。
如图4所示, DSP读取80点采样数据并对该数据分解重组为5行16列的阵列,每一行的16点数据可使用基2FFT进行准确计算分析,故选择TI提供的库文件C28x_FixedPoint_Lib.lib对每一行数据进行FFT分析,此时得到一个新的阵列,维数相同,元素均为复数。该阵列的每个元素再乘以对应的旋转因子,之后再对阵列中每一列数据进行5点DFT计算。需要说明的是由于5点数据量少且无法再分解,故可以直接应用DFT计算,DSP的运算速度可完全满足算法要求。当每一列的数据为、或更多个时,则应该编写基5FFT算法对该列数据进行计算分析。至此80点FFT计算完成,对所得计算结果的实部和虚部分析可得各个频率分量的幅值和相位信息,继而可得到谐波畸变率、三相不平衡度、频率等电能质量指标。
本发明的优选方式是:
电能质量监测装置采用DSP作为核心处理器,DSP为德州仪器(TI)公司推出的32位定点DSP芯片TMS320X2812,该芯片为目前性价比最高的DSP芯片之一。
基2FFT库文件采用TI公司推出的C28x_Fixed Point_Lib.lib,通过调用该库文件及相关源文件即可高效实现对长度为的序列进行FFT计算。
以上所述仅为本发明的较佳实施例,并不是对本发明的限定,在本说明书中涉及到其它技术内容以及技术术语应当按照本领域的公知常识和惯用的技术手段理解和实施,也可以通过合理的分析推理设置实施。
Claims (3)
1.一种适用于采样点数为复合数的FFT实现方法,其特征在于:应用于以数字信号处理器为核心的电能质量监测装置中,适用于采样点数为复合数 的情况,包括以下步骤:
步骤一、DSP读取N点原始数据,原始数据为经过AD芯片的数字电压或电流信号,N为复合数,并不满足2的整数次幂,但可将其分解为;
步骤二、对原始数据重新组合,将N点数据分解并重新组合为行列的阵列;
步骤三、将阵列中的每一行个数据使用基2FFT进行计算,使用C28x_FixedPoint_Lib.lib库文件进行基2FFT计算,计算结果为维数相同的复数阵列;
步骤四、将步骤三所得结果阵列中的每一个值乘以旋转因子;
步骤五、将步骤四所得阵列中每一列个数据进行基FFT计算。
2.根据权利要求1所述的一种适用于采样点数为复合数的FFT实现方法,其特征在于:所述的数字信号处理器为TMS320F2812型。
3.根据权利要求1所述的一种适用于采样点数为复合数的FFT实现方法,其特征在于:所述步骤三中C28x_FixedPoint_Lib.lib库文件在本方法中的使用包括如下步骤:
步骤一、将该库文件C28x_FixedPoint_Lib.lib添加至所建工程中;
步骤二、配置配套的头文件fft.h和CMD文件,CMD的作用是为FFT计算用到的计算缓冲区和旋转因子两个数据段分配合适的存储空间;
步骤三、选择复数FFT(CFFT)作为计算方法,CFFT虽为复数FFT但同样适用于原始数据为实数的情况,只需将虚部置零即可;
步骤四、将原始数据写入计算缓冲区,经过实部位倒序和虚部位倒序后再将该缓冲区地址赋值给FFT计算指针;
步骤五、调用fft.init(&fft)和fft.calc(&fft)函数即可完成FFT计算;由于FFT具有原址运算的特点,所以计算结果仍存储在计算缓冲区内。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410653971.6A CN104330673A (zh) | 2014-11-18 | 2014-11-18 | 一种适用于采样点数为复合数的fft实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410653971.6A CN104330673A (zh) | 2014-11-18 | 2014-11-18 | 一种适用于采样点数为复合数的fft实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104330673A true CN104330673A (zh) | 2015-02-04 |
Family
ID=52405436
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410653971.6A Pending CN104330673A (zh) | 2014-11-18 | 2014-11-18 | 一种适用于采样点数为复合数的fft实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104330673A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201035054Y (zh) * | 2007-05-30 | 2008-03-12 | 华南理工大学 | 基于双cpu模式的便携式电能质量监测分析仪 |
CN101154215A (zh) * | 2006-09-27 | 2008-04-02 | 上海杰得微电子有限公司 | 基23频域取样快速傅立叶变换的方法与硬件结构 |
CN101196873A (zh) * | 2007-12-19 | 2008-06-11 | 沖电气(新加坡)技术中心 | 3780点离散傅利叶变换处理器 |
CN101211333A (zh) * | 2006-12-30 | 2008-07-02 | 北京邮电大学 | 一种信号处理方法、装置和系统 |
CN101763338A (zh) * | 2010-01-08 | 2010-06-30 | 浙江大学 | 一种点数可变的混合基fft/ifft实现装置及其方法 |
CN101937423A (zh) * | 2009-07-01 | 2011-01-05 | 中兴通讯股份有限公司 | 一种流水式fft/ifft的处理系统 |
CN102799564A (zh) * | 2012-06-28 | 2012-11-28 | 电子科技大学 | 基于多核dsp平台的fft并行方法 |
CN102830282A (zh) * | 2012-09-04 | 2012-12-19 | 国电南京自动化股份有限公司 | 一种2560点分组基2快速傅里叶变换方法 |
-
2014
- 2014-11-18 CN CN201410653971.6A patent/CN104330673A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101154215A (zh) * | 2006-09-27 | 2008-04-02 | 上海杰得微电子有限公司 | 基23频域取样快速傅立叶变换的方法与硬件结构 |
CN101211333A (zh) * | 2006-12-30 | 2008-07-02 | 北京邮电大学 | 一种信号处理方法、装置和系统 |
CN201035054Y (zh) * | 2007-05-30 | 2008-03-12 | 华南理工大学 | 基于双cpu模式的便携式电能质量监测分析仪 |
CN101196873A (zh) * | 2007-12-19 | 2008-06-11 | 沖电气(新加坡)技术中心 | 3780点离散傅利叶变换处理器 |
CN101937423A (zh) * | 2009-07-01 | 2011-01-05 | 中兴通讯股份有限公司 | 一种流水式fft/ifft的处理系统 |
CN101763338A (zh) * | 2010-01-08 | 2010-06-30 | 浙江大学 | 一种点数可变的混合基fft/ifft实现装置及其方法 |
CN102799564A (zh) * | 2012-06-28 | 2012-11-28 | 电子科技大学 | 基于多核dsp平台的fft并行方法 |
CN102830282A (zh) * | 2012-09-04 | 2012-12-19 | 国电南京自动化股份有限公司 | 一种2560点分组基2快速傅里叶变换方法 |
Non-Patent Citations (1)
Title |
---|
李全利等: "CCS上FFT运算的实现", 《自动化技术与应用》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Maaß et al. | Data processing of high-rate low-voltage distribution grid recordings for smart grid monitoring and analysis | |
CN101807795B (zh) | 一种电能计量仿真系统构成方法及其装置 | |
CN106505557B (zh) | 一种遥测错误辨识方法及装置 | |
CN111624544A (zh) | 一种台区户变关系识别方法及相关装置 | |
CN103257271A (zh) | 一种基于stm32f107vct6的微电网谐波与间谐波检测装置及检测方法 | |
CN107463706B (zh) | 一种基于Hadoop的海量录波数据存储和解析方法及系统 | |
CN203287435U (zh) | 一种基于stm32f107vct6的微电网谐波与间谐波检测装置 | |
CN106645974A (zh) | 用于确定风机与电网谐振的方法及系统 | |
CN102253269A (zh) | 基于云计算的电力实时数据一体化处理系统及设计方法 | |
CN103884931A (zh) | 一种变电站母线负荷特性测试记录装置 | |
CN112051446A (zh) | 一种电力系统宽频测量的混合基fft实现方法及装置 | |
CN116316538A (zh) | 主配协同配网供电安全能力分析方法、系统、设备及介质 | |
CN102928660A (zh) | 基于fir数字滤波器的无功功率测量方法 | |
CN112182499B (zh) | 一种基于时序电量数据的低压配电网拓扑结构辨识方法 | |
CN204515103U (zh) | 电气性能参数测试系统 | |
CN105259409A (zh) | 一种基于过零时域特性的电力信号频率计算方法 | |
CN110784468B (zh) | 基于CoAP的协议转换方法及装置 | |
CN203981771U (zh) | 一种仪表 | |
CN105301340B (zh) | 一种仪表 | |
CN104062501B (zh) | 双变压器变电站谐波状态估计方法 | |
CN104330673A (zh) | 一种适用于采样点数为复合数的fft实现方法 | |
CN115051912A (zh) | 一种停电用户定位方法、装置、设备、介质 | |
CN107240957B (zh) | 一种基于大数据流式计算用于电网监测预警的方法 | |
Guddanti et al. | Better data structures for co-simulation of distribution system with gridlab-d and python | |
CN102121953A (zh) | 基于虚拟仪器的电力系统谐波测量方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150204 |
|
WD01 | Invention patent application deemed withdrawn after publication |