电建论坛

 找回密码
 注册
查看: 1955|回复: 5

[技术交流] 原创论文:以FPGA为核心实现继电保护装置:暂态保护--多种小波基实时处理多路采样值1

[复制链接]
发表于 2014-9-10 06:35:40 | 显示全部楼层 |阅读模式



以FPGA为核心实现继电保护装置:暂态保护--多种小波基实时处理多路采样值


林伟


摘要:设计了一个小波系数计算模块,提供8个数据通道,分别采用8种不同的小波基,各通道同时对7路采样值进行2级Mallat分解,输出8x7x2路小波系数,仿真验证了运算的正确性、数据处理速度的优势。为继电保护算法设计师提供了一种具体的、可验证的、可直接使用的技术手段,用实例证明了FPGA可以用于比较复杂的数据分析、可以承担继电保护装置的核心运算任务。为运用此类模块开发继电保护新算法提供了策略上的建议。


关键词:继电保护  暂态保护  FPGA  小波分析  Mallat算法


1  引言


众所周知,在电力暂态信号分析中,目前小波基的选择还没有统一的理论模型[1],实际应用中主要通过用小波分析方法处理信号的结果与理论结果、现场运行结果的误差来判定小波基的好坏、选择小波基。由于各种小波基在多个考量维度上各有优劣,所以,在硬件运算能力受限的前提下,继电保护算法设计师必须面对如何在各种参数之间取舍的问题。


笔者曾经提出“以硬件资源换性能”的理念[2]。针对上述问题,如果基于此理念、充分利用FPGA丰富的并行运算硬件资源进行算法冗余,用M种小波基N路高速采样值进行多分辨率实时分析,获取U阶输出的MxN路小波系数,然后结合电力系统故障分析理论,对其进行综合运用、生成动作信号,这类动作信号在可靠性、选择性、灵敏性方面将很可能优于基于单一小波基运算得到的动作信号;并且,在快速性方面,也必将因为FPGA的运算速度优势而领先以DSP为核心生成的动作信号。


本文述及的工作是由笔者设计、仿真验证的一个实现2阶输出的8x7路小波系数计算的模块,以证明上述基础思路在实现手段上的可行性、能达到的运算速度,为继电保护算法设计师提供了一种具体的、可验证的、可直接使用的技术手段,协助其拓展保护算法研究的思路;同时,用实例证明了FPGA作为性能优异的运算引擎,可以用于比较复杂的数据分析、可以承担继电保护装置的核心运算任务;进而,期待以此使部分业内专家消除对FPGA技术的疑虑,促进更多资源投入到这一充满创新机会的领域。


2  模块的总体结构


本模块是参考文献2“图2 保护算法模块的基本架构”中的“特征量计算子模块”的一部分,总体结构如图1所示。





图1  8x7路2阶Mallat分解小波分析模块总体结构


图中,7块数据缓冲区中各存储有1路待处理采样值(N=7),顺序输出各自存储的采样值数据到8个并行运行的小波运算子模块(M=8)。每个小波运算子模块采用1种特定的小波基,依据Mallat算法[1],对收到的7路采样值进行2级分解(U=2)。整个模块最后输出8x7x2路小波系数。


3  小波运算子模块的关键参数、相关的考虑


3.1 小波基的选取

在8个小波运算子模块中共采用了基于MATLAB生成的8种小波基,分别为db5、db20、db45、sym37、coif5、meyer、bior6.8、rbio6.8(以MATLAB中的函数参数命名)。选取这些小波基是出于以下考虑:db5是众多相关文献采用的小波基,db45是被广泛讨论的dbN类别下MATLAB 能产生的最高阶小波基,db20是两者中间过渡阶数的小波基,sym37、coif5、bior6.8、rbio6.8都是在各自类别下MATLAB 能产生的最高阶小波基,meyer小波只有一种阶数,却是这8种小波基中阶数最高的。

可见,这里选取了MATLAB能产生的所有种类的小波基,以尽量体现各种小波基在信号特征提取方面的特点。并且,尽可能选择高阶小波基 -- 从算法实现角度来看,基于高阶滤波器的方案能实现,低阶的更不在话下。同时,充分展示FPGA在高速并行运算中的优异性能。


3.2 FIR滤波器的设计参数


Mallat算法的主要组元 -- FIR滤波器由Xilinx公司的集成开发软件ISE 14.5利用FPGA芯片提供的可配置的基础DSP硬核、片内RAM块、逻辑资源、连线资源生成,需调用其提供的用于生成FIR滤波器的IP核。


由于需要处理7路采样值,所以调用IP时设置FIR输入的运算数据通道数为7;由于设计的原始数据采样频率为500kHz且设置FIR工作在降频输出模式(这正是图1中没有画出下采样处理环节的原因),所以调用IP时设置的第1级输入/输出数据速率为500kHz/250kHz、第2级为250kHz/125kHz。滤波系数位宽为16,第1级滤波器输入/输出数据位宽分别为32/48,第2级滤波器输入/输出数据位宽分别为48/48。驱动整个模块运行的时钟主频为200MHz


4  仿真验证


4.1 仿真数据源的设计

待分析的数据源为带间断点的高频正弦波离散采样值序列,数据量为1024个32位二进制补码数,存储在图1所示的7块独立的片内缓冲区中。


间断点出现在采样值序列中的第750、550、350点的位置,以各个位置是否有间断点作为“1”、“0”,按照二进制编码方式形成1~7种编码,以直观区分、代指7路输入采样值:Ua、Ub、Uc、Ia、Ib、Ic、Uo。各间断点均为第二类间断点(对应于500kHz采样频率,信号波动频率在2.5kHz、5kHz之间切换),图2给出了Uo(111)的波形作为示例





图2 仿真数据源波形示例:Uo(“间断点编码”为111)


4.2  仿真


仿真工具采用ISE中提供的ISim仿真器。编写简单的测试模块,从外部向本模块提供时钟信号、运算启动信号,以模拟实际装置中外部环境对本模块的施加的基本驱动信号。仿真过程中,调用仿真器支持的系统函数对所关注的信号进行打印。

在仿真模式下模块的工作过程(请参考图1给出的结构图):收到运算启动信号后,小波运算子模块1依次读取7块待处理数据缓冲区中存储的第1个数据,每次读出的缓冲区n(n=1、2、……、7)的数据同时送入8个处理通道的数据输入口,然后是各缓冲区的第2个数据、第3个数据......。各通道的输出数据流在一定延迟(与阶数有关)后出现在第1层分解的输出口,将各通道中的高通FIR输出数据流送到模块的输出端口,将低通FIR输出数据流送入第2层分解的高通FIR输入端口;若干个数据的延迟后,在其输出端口得到第2层分解的结果。



字数受限,待续......



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

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

欢迎积极参与讨论!
 楼主| 发表于 2014-9-11 06:37:44 | 显示全部楼层
个人认为,FPGA代替DSP,如同DSP代替MCU,将是不可避免的。其间,运算能力的巨大差距将是最具决定性的因素。

如果您是有影响力的业内人士,如果您基本认可本文的观点,希望您能做出努力,推动这方面的研发工作,以期为我国继电保护技术的发展提供一个新的机会;同时,避免国外企业抢先进入、建立严密的专利体系可能带来的被动局面。
 楼主| 发表于 2014-9-29 22:33:09 | 显示全部楼层
有位网友告知:挑战杯竞赛中已经有人做出了相关的尝试。

笔者查到这一项目名称是:一种基于FPGA的新型微机继电保护装置,但没找到原文。

从挑战杯官网的介绍(在其官网搜索FPGA即能找到)来看,这个项目应该能够作为“FPGA可以适用于继电保护装置”的一个实例,具有重要的参考价值 -- 在此向这位网友表示感谢!

这一成果结合本人提出的“以硬件资源换性能”的设计原则、用FPGA实现继电保护算法的总体策略,相信会有助于大家深入理解本人着重强调的“FPGA技术之于保护算法开发的开创性意义”、“FPGA必将淘汰DSP”的命题、深入理解本人提出的“将更多资源投入到这一充满创新机会的领域”这一倡议。

希望有影响力的业内人士能藉此充分认识到这一倡议的重要性、紧迫性。
 楼主| 发表于 2014-10-2 22:59:34 | 显示全部楼层
多谢帮忙!
发表于 2019-5-17 17:12:06 | 显示全部楼层
好好学习下,谢谢分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|电力建设网站 ( 苏ICP备16030970号-1 )|网站地图

GMT+8, 2024-4-28 07:21 , Processed in 0.205294 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

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