以FPGA
为核心实现继电保护装置:暂态信号可定制实时时频精细分析算法及实现
林伟
摘要:提出了不同于Mallat
算法频域分段方式的“暂态信号可定制实时时频精细分析算法”,用大量高阶FIR
带通滤波器的通带覆盖整个(0
,fs/2
)频带,过滤暂态信号,既对频带进行了精细化的、可灵活设置的、有重点的划分,又实现了全频带的高时域分辨率,同时保持了输出数据的时频关联特性,为暂态信号的时频关联分析提供了更精确、更灵活的数据预处理工具,为暂态保护中新特征量的发现、新特征量提取算法的研究提供了新的基础、新的思路。基于FPGA
设计了一个对(0
,fs/2
)频带进行32
分段、各频段阻带衰减45dB
的2
通道范例模块,用Simulink
生成500kHz
的故障暂态信号采样值序列作为仿真数据源,用MATLAB
、 ISim
工具分别对算法、范例模块进行了仿真,初步验证了本算法的性能,验证了其在继电保护装置中的实用性。为本算法在继电保护算法设计中的应用策略提出了建议,对相关的后续工作进行了展望。
关键词:暂态保护
小波变换 Mallat
算法
时频分析
继电保护 FPGA
0
引言
小波变换是当前对电力系统暂态故障信号进行时频分析最重要的数学工具之一,Mallat
算法是小波变换得以实用化的基本手段[1]
。
Mallat
算法
的基本特征决定了其固有的缺陷:对(0
,fs/2
)(fs=
采样频率)频带的划分方式是比较粗略的,对高频区域无法细分,只有在分解层数增加的情况下,才能对最低频区域进行比较精细的划分,但代价却是时域分辨率的指数级下降。同时,对于不需测量、必将导致干扰的特定频段,也无法排除其影响。
本文借鉴小波变换Mallat
算法的频域分段、时频关联思想,提出了不同于Mallat
算法频域分段方式的“暂态信号可定制实时时频精细分析算法”。本算法以FPGA
超强的并行运算能力为基础,践行“以硬件资源换性能”的原则[2]
,用大量高阶FIR
带通滤波器的通带覆盖整个(0
,fs/2
)频带,既对频带进行了精细化的、可灵活设置的、有重点的划分,又实现了在所分析的全部频段内的高时域分辨率,同时保持了输出数据的时频关联特性。本文为暂态信号的时频关联分析提供了更精确、更灵活、实用化的数据预处理工具,为暂态保护中新特征量的发现、新特征量提取算法的研究提供了新的基础、新的思路。
1
暂态信号可定制时频精细实时分析算法
1.1
本算法在继电保护装置系统架构中的位置、所承担的任务
本算法可以被纳入以
FPGA
为核心的继电保护装置[2]
的算法架构中,是参考文献
[2]
图2
“保护算法模块的基本架构”中的“特征量计算子模块”所执行算法的一部分,实现对暂态信号采样值序列的部分预处理功能,实时提供包含精细化的时频关联信息的暂态信号信息流,为计算故障信号特征量(继电保护装置动作的关键依据)提供基础数据。
1.2
算法结构
本算法的结构非常简单,就是几十个(视市场竞争情况可以多至几百个)并行运行、同时处理同一暂态信号采样值序列的带通滤波器,每个滤波器负责将暂态信号处于某一频段内的频率成分实时过滤出来,发往后续的子模块。在最简单的情况下,各个滤波器的通带范围前后衔接,各通带连在一起,覆盖整个(0
,fs/2
)频带,如1.3
节所示。较复杂的情况参见1.4
节。
1.3
设计实例
作为对本算法的验证,笔者用MATLAB
写了一个算法模块,用于实时处理采样频率
fs=500kHz
的采样值序列。模块中包含了
32
个
互相独立的带通滤波器,各滤波器在fdatool
界面下用等纹波法设计,通带带宽相同,为500kHz/2/32=7.8125kHz
,前后衔接覆盖整个(0
,fs/2
)频带,过渡带宽度=4kHz
,通带纹波≈1dB
,阻带衰减≈45dB
,系数精度取16
位,设计得到的滤波器阶数为
212
阶
。
其中第10
个滤波器(中心频率74.21875kHz
)的fdatool
设计页面如图1
所示。各滤波器的通带边界参数如图2
所示。
本模块运行时,实时接收暂态信号采样值序列,实时输出暂态信号中分别位于32
个频段内的各路频率成分,以供后续的算法模块使用。
图1
第10
个滤波器的fdatool
设计页面
图2
各滤波器的通带边界参数
1.4
算法结构的进一步说明 --
可定制特性
由于各带通滤波器的运行互不干涉,所以各通带的带宽、各通带在(0
,fs/2
)频带中的位置是可以自由设置的(包括互相包含、部分重合、前后分离等各种方案,第1.3
节中的例子属于特例),以适应各种运行环境下的故障信号特征。例如,在某种特定的电网结构下,如果故障仿真、对现场故障录波数据的研究表明某个频段的信号需要特别予以关注,则可以增加在此频段内划分出的通带数量(增加带通滤波器的数量),用更多的硬件资源实现对关键频段的更精细观察;反之,如果故障仿真、现场故障录波数据研究表明不需要关注某个频段的信号,则完全可以在设计带通滤波器时跳过这一频段,以节省硬件资源。也就是说,本算法中的待分析频段的设置、划分是完全可定制的。
基于笔者目前的认识 --
如同小波基的选择一样 --
具体的通带设置方案的确定,需要依据保护装置所需处理的故障信号的特征。希望广大理论工作者能找到更具一般性的通带设置方案设计原则。
2
算法设计实例及MATLAB
仿真验证
为验证本算法的性能,笔者利用MATLAB-Simulink
工具搭建了一个简单的分布参数电网模型,针对一种典型故障情况进行了仿真,将得到的2
路暂态故障信号采样值序列作为待处理数据,在MATLAB
环境下编写实现本算法的程序,对数据处理过程进行了仿真。
2.1
仿真模型的搭建
用Simulink
搭建了一个与参考文献[3]P176
图7-38
所举例题几乎完全相同的分布参数电网模型,区别仅在于将故障改为A
相单相瞬时接地故障、将故障点的位置移到了距离E2
电源1km
处,模型架构如图3
所示,数据采样频率为500kHz
。
然后编写MATLAB
代码,将1.3
节所述32
个带通滤波器的系数向量(归算为16
位整数、与后续的FPGA
实现方式相匹配)代入filter
函数、形成32
个带通滤波器,用于处理仿真生成的故障波形数据。[
程序很简单,不在这里提供了,希望参考此代码的坛友请给我发邮件]
图3
仿真用分布参数电网模型架构图
2.2
算法仿真
仿真得到的单相接地故障前后的三相电压、电流波形分别如图4
、图5
所示。将故障前后的A
相电压、电流采样数据提取出来,送入上述模块的数据输入端,分别打印32
个滤波器的输出信号波形,A
相电压处理后的波形如图6
、图7
所示。
图4
仿真得到的A
相单相瞬时接地故障前后的三相电压波形
图5
仿真得到的A
相单相瞬时接地故障前后的三相电流波形
图6 A
相电压在故障时刻前后的波形数据被算法设计实例处理后得到的第1~16
个频带的数据波形
图7 A
相电压在故障时刻前后的波形数据被算法设计实例处理后得到的第17~32
个频带的数据波形
![论文03的附图01.jpg](//g.co188.com/img/topics/new_topics/images/blank.gif)
![论文03的附图02.jpg](//g.co188.com/img/topics/new_topics/images/blank.gif)
![论文03的附图03.jpg](//g.co188.com/img/topics/new_topics/images/blank.gif)
![论文03的附图04.jpg](//g.co188.com/img/topics/new_topics/images/blank.gif)
![论文03的附图05.jpg](//g.co188.com/img/topics/new_topics/images/blank.gif)
![论文03的附图06.jpg](//g.co188.com/img/topics/new_topics/images/blank.gif)
![论文03的附图07.jpg](//g.co188.com/img/topics/new_topics/images/blank.gif)
![论文03的附图08.jpg](//g.co188.com/img/topics/new_topics/images/blank.gif)
![论文03的附图09.jpg](//g.co188.com/img/topics/new_topics/images/blank.gif)
![论文03的附图10.jpg](//g.co188.com/img/topics/new_topics/images/blank.gif)
全部回复(1 )
只看楼主 我来说两句 抢板凳回复 举报