设为首页收藏本站

中国电力科技论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 1317|回复: 3

原创论文 以FPGA为核心实现继电保护装置:暂态信号可定制实时时频精细分析算法及实现2

[复制链接]
林伟 发表于 2014-10-14 06:06:36 | 显示全部楼层 |阅读模式
本帖最后由 林伟 于 2014-10-14 06:08 编辑

2 算法设计实例及MATLAB仿真验证


为验证本算法的性能,笔者利用MATLAB-Simulink工具搭建了一个简单的分布参数电网模型,针对一种典型故障情况进行了仿真,将得到的2路暂态故障信号采样值序列作为待处理数据,在MATLAB环境下编写实现本算法的程序,对数据处理过程进行了仿真。


2.1 仿真模型的搭建


Simulink搭建了一个与参考文献[3]P1767-38所举例题几乎完全相同的分布参数电网模型,区别仅在于将故障改为A相单相瞬时接地故障、将故障点的位置移到了距离E2电源1km处,模型架构如图3所示,数据采样频率为500kHz


然后编写MATLAB代码,将1.3节所述32个带通滤波器的系数向量(归算为16位整数、与后续的FPGA实现方式相匹配)代入filter函数、形成32个带通滤波器,用于处理仿真生成的故障波形数据。[程序很简单,不在这里提供了,希望参考此代码的坛友请给我发邮件]


论文03的附图03.jpg


3  仿真用分布参数电网模型架构图


2.2 算法仿真


仿真得到的单相接地故障前后的三相电压、电流波形分别如图4、图5所示。将故障前后的A相电压、电流采样数据提取出来,送入上述模块的数据输入端,分别打印32个滤波器的输出信号波形,A相电压处理后的波形如图6、图7所示。


论文03的附图04.jpg


4  仿真得到的A相单相瞬时接地故障前后的三相电压波形


论文03的附图05.jpg


5  仿真得到的A相单相瞬时接地故障前后的三相电流波形


论文03的附图06.jpg


6  A相电压在故障时刻前后的波形数据被算法设计实例处理后得到的第1~16个频带的数据波形


论文03的附图07.jpg


7  A相电压在故障时刻前后的波形数据被算法设计实例处理后得到的第17~32个频带的数据波形


2.3 对仿真结果的说明


6、图7中突变点区域的波形之所以看上去不如多级Mallat分解提取到的小波系数波形那样“集中”,原因在于这里输出的是在时域上未经“压缩”的信号 这正是本算法在时域上的高分辨率特征的体现 -- 这里提供的是Mallat算法无法提供所有各频段时域细节


6、图7中突变点区域的波形之所以看上去不如DB5小波单级Mallat分解提取到的小波系数波形那样“模极大值突出”,原因在于DB5小波Mallat算法高通滤波器的通带几乎覆盖了整个(0fs/2)频段,累加了远为宽广的频带范围内的能量。这种“累加”,可以把更多频率范围内的模极大值重叠在一起,使其更突出。但是,从另一个角度看,这也是一种“混杂”,使后续模块无法看的暂态信号各频段内的分量故障点处的模极大值之间的数量、位置关系等各种关系。也就是说,Mallat算法无法区分暂态信号在各细分频段内的时域特征。这一区别正是本算法在频域上的高分辨率特征的体现。


2.4 暂态信号可定制实时时频精细分析算法与小波分析算法的关系


由上述算法分析、仿真工作可知,从算法执行的结果来看,暂态信号可定制实时时频精细分析算法可以被看做小波分析算法在时间、频率两个维度上的精细化、可定制化发展


3 基于FPGA的范例模块设计及仿真验证


为验证本算法的实用性,笔者基于FPGA设计了一个滤波器性能参数1.3节的例子相同、各滤波器并行运行同时处理2通道数据的范例模块,在ISim仿真环境下同时读取上述2路暂态故障信号采样值序列,对其功能进行了仿真验证,对其输出延迟、运算速度、芯片资源占用情况进行了验证。


3.1 FPGA范例模块的设计


1.3节的例子述及的32FIR带通滤波器Xilinx公司的集成开发软件ISE 14.5利用FPGA芯片提供的可配置的基础DSP硬核、片内RAM块、逻辑资源、连线资源生成,需调用其提供的用于生成FIR滤波器的IP核。


由于需要处理2路采样值,所以调用IP时设置FIR输入的运算数据通道数为2;由于设计的原始数据采样频率为500kHz,所以调用IP时设置的输入数据速率为500kHz。滤波系数位宽为16,输入、输出数据位宽分别为3248。驱动整个模块运行的时钟主频为200MHz


3.2 FPGA范例模块的仿真


仿真工具采用ISE集成开发环境中提供的ISim仿真器。编写简单的测试模块,从外部向本模块提供时钟信号、运算启动信号,以模拟实际装置中外部环境对本模块的施加的基本驱动信号。仿真过程中,调用仿真器支持的系统函数对所关注的信号进行打印,将打印结果整理后贴到excel中,由excel绘制其波形。


在仿真模式下模块的工作过程:收到运算启动信号后,带通滤波器1子模块1依次读取2块待处理数据缓冲区(分别存储2.2节得到的故障前后A相电压、电流采样数据)中存储的第1个数据,每次读出的缓冲区nn=12)的数据同时送入32个处理通道(滤波器)的数据输入口,然后是各缓冲区的第2个数据、第3个数据......。各通道的滤波后数据流在一定延迟(与阶数有关)后出现数据输出端口,供后续模块使用。


3.3 仿真结果


32个带通滤波器的输出信号波形如图8、图9所示。对比图6、图7可知,范例模块完全实现了1.3节所述例子的算法功能


论文03的附图08.jpg


8  A相电压在故障时刻前后的波形数据被FPGA范例模块处理后得到的第1~16个频带的数据波形


论文03的附图09.jpg


9  A相电压在故障时刻前后的波形数据被FPGA范例模块处理后得到的第17~32个频带的数据波形


3.4 模块的输出延迟、运算速度、芯片资源占用情况


如图10所示,自开始仿真后,第2路采样值滤波的第1个有效数据输出是在432us时刻。所以,完成2路采样值处理时间延迟220us以内。


论文03的附图10.jpg


10  FPGA范例模块仿真波形截图


ISE环境下对本模块进行综合、布局、布线,在采用Xilinx中等性能产品系列中速度最慢、运算资源最少的芯片xc7k70t-3fbg676的情况下,最终得到的结果是可以运行在200MHz以上,满足3.1节中调用IP时的要求。片内主要硬件资源的占用比例Slice Registers15%Slice LUTs17%occupied Slices30%RAM块,48%DSP硬核,40%


必须指出的是,本文所做工作的目的在于验证可行性、性能优势,而非寻找最优解。后续参与此方向研究的专家,尤其是经验更丰富的FPGA应用研发设计师,在保护算法设计师提供的约束条件的协助下,应该能找到性能、成本更趋近于最优解的具体实施方案。

 楼主| 林伟 发表于 2014-10-14 06:25:14 | 显示全部楼层
敝文《以FPGA为核心实现继电保护装置的片内系统架构及保护算法实现策略》已经发布在本版,请参阅,

欢迎积极参与讨论!
 楼主| 林伟 发表于 2014-11-5 20:44:06 | 显示全部楼层
敝文《以FPGA为核心实现继电保护装置:算法实现--从DSP到FPGA、从FPGA到DSP》已经在本坛发布。

这一篇比较适合习惯于用DSP的继电保护技术人员阅读,请参阅。

欢迎积极参与讨论!
 楼主| 林伟 发表于 2014-12-15 05:24:05 | 显示全部楼层
天津大学王成山教授今年1、2月份在《中国电机工程学报》上发表了两篇论文:《基于FPGA的配电网暂态实时仿真研究(一):功能模块实现》、《基于FPGA的配电网暂态实时仿真研究(二):系统架构与算例验证》。

尽管王教授的工作针对的是配电网暂态实时仿真,在算法特征上与继电保护算法有一定程度的区别,但这两篇论文在基于FPGA的电力系统计算方面做了很多工作,验证了用FPGA实现比较复杂的算法的可行性,对于评估“以FPGA为核心实现继电保护装置”这一技术方向具有重要的借鉴意义。

建议对此感兴趣的网友查阅王教授的这两篇论文。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|中国电力科技网 ( 鲁ICP备09062776号  

GMT+8, 2024-4-18 12:55

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表