CN110957995A - 一种分布式故障监测装置iir滤波***及其设计方法 - Google Patents

一种分布式故障监测装置iir滤波***及其设计方法 Download PDF

Info

Publication number
CN110957995A
CN110957995A CN201911028886.XA CN201911028886A CN110957995A CN 110957995 A CN110957995 A CN 110957995A CN 201911028886 A CN201911028886 A CN 201911028886A CN 110957995 A CN110957995 A CN 110957995A
Authority
CN
China
Prior art keywords
data
address
time
stage
cascade
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.)
Granted
Application number
CN201911028886.XA
Other languages
English (en)
Other versions
CN110957995B (zh
Inventor
王善林
宋昌林
苟科磊
诸志强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan Huiyuan Optical Communications Co Ltd
Original Assignee
Sichuan Huiyuan Optical Communications Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sichuan Huiyuan Optical Communications Co Ltd filed Critical Sichuan Huiyuan Optical Communications Co Ltd
Priority to CN201911028886.XA priority Critical patent/CN110957995B/zh
Publication of CN110957995A publication Critical patent/CN110957995A/zh
Application granted granted Critical
Publication of CN110957995B publication Critical patent/CN110957995B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/0201Wave digital filters
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/08Locating faults in cables, transmission lines, or networks
    • G01R31/088Aspects of digital computing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H2017/0298DSP implementation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02EREDUCTION OF GREENHOUSE GAS [GHG] EMISSIONS, RELATED TO ENERGY GENERATION, TRANSMISSION OR DISTRIBUTION
    • Y02E40/00Technologies for an efficient electrical power generation, transmission or distribution
    • Y02E40/40Arrangements for reducing harmonics

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Complex Calculations (AREA)

Abstract

本发明提出了一种分布式故障监测装置IIR滤波***及其设计方法,通过利用FPGA内部RAM资源和DSP资源实现级联结构的IIR滤波器,当有数据输入时,控制***首先从地址映射双端ROM中读出当前时刻需要保存数据的RAM地址,然后控制RAM将输入数据保存在指定的地址空间;再从地址映射双端ROM中读出之前时刻的数据地址,以此读出对应的数据,同时从滤波器系数ROM中读出滤波器系数,并送入DSP单元进行乘累加计算得到滤波输出;本发明充分利用了FPGA内部RAM资源和DSP资源,与传统的滤波器设计相比极大地减少了对FPGA自身LUT和触发器单元的消耗,可有效消除电流信号低频零漂和高频噪声干扰。

Description

一种分布式故障监测装置IIR滤波***及其设计方法
技术领域
本发明涉及滤波设计领域,尤其涉及一种分布式故障监测装置IIR滤波***及其设计方法。
背景技术
随着电力***的不断发展,电力输电规模和跨越距离都不断增大,输电线路通常架设在野外、地处山区、丘陵、江河等多种恶劣地理环境,其在运行过程中经常会遇到雷电、覆冰、强风等复杂的气象条件,容易引发跳闸事故。其中雷击故障是输电线路故障的重要原因,由于雷击导线将引入能量很大的雷电流,引起绝缘子闪络放电或者损坏,进而导致输电线路接地故障而跳闸。为了精确定位故障点和故障原因,需要采集故障时刻行波电流,并将波形数据上传数据分析站进行综合分析,给出故障位置和故障原因。现有的行波采集***通常采用罗氏线圈加积分器方案,由于罗氏线圈、积分器和调理电路通常存在一定的低频零漂,这导致***采样的精度和波形质量在小电流的时候比较差。
对于高频采样通常都是基于FPGA作为控制单元,而传统的基于FPGA的滤波器设计通常都是FIR滤波器,FIR滤波器具有有限长度,实现简单方便,同时FIR滤波器具有线性相位和滤波器系数对称优点;但是FIR滤波器和IIR滤波器相比在具有相同滤波效果条件下,和IIR滤波器相比FIR滤波器通常具有很高的滤波器阶数。而传统的基于FPGA的IIR滤波器设计中,由于FPGA的性质,需要对滤波器系数进行量化处理,再使用FPGA内部LUT和触发器资源,通过硬件描述语言来实现滤波逻辑,这导致FPGA资源大大被消耗;即使利用FPGA内部的DSP单元来实现乘累加运算,而数据和运算结果通过移位寄存器来保存,由于运算结果的位数通常比较大,这样同样会大大消耗FPGA内部触发器资源。
发明内容
本发明的目的在于,克服现有技术的不足,提供一种克服传感器低频零漂对***采样精度和波形质量的影响;同时提供一种基于FPGA的IIR滤波器设计方法,以解决传统IIR滤波器设计消耗大量逻辑资源的问题。
一种分布式故障监测装置IIR滤波***,所述滤波***为多级级联结构,包括接收DSP单元输出数据并发送控制指令至存储单元的控制***,所述存储单元连接DSP单元并接收控制***的读取和存入请求,所述控制***将n时刻及之前时刻的外部输入信号存入存储单元,同时控制存储单元将数据发送至DSP单元进行n时刻当前级联***输出数据计算,所述DSP单元将计算结果返回给控制***,由控制***判断是否为n时刻滤波信号输出,如果n时刻当前级联***输出数据为n时刻滤波信号输出则通过存储单元控制DSP单元输出n时刻滤波信号,否则将n时刻当前级联***输出数据存入存储单元并再次控制存储单元发送数据至DSP单元进行n时刻下级级联***输出数据计算,直至当前级联***为最后一级;所述控制***通过对存储单元进行多次读取和存入操作,并控制DSP单元进行相应计算,从而依次完成n时刻之后时刻的整个时域内的连续滤波信号输出。
进一步的,所述存储单元包括分别存储量化后的每级零点和极点系数、双端RAM读写地址以及输入数据和每一级级联***输出数据的双端RAM、双端ROM、滤波器系数ROM;所述控制***分别与双端ROM、双端RAM和滤波器系数ROM连接。
进一步的,所述n时刻及之前时刻的外部输入信号为滤波***在n时刻得到的输入数据x(n)和之前时刻的延时数据x(n-1)和x(n-2)。
进一步的,在DSP单元每次进行n时刻当前级联***输出数据计算时,控制***还需读取存储单元中存储的当前级联***之前时刻输出数据并发送至DSP单元,当n时刻为初始时刻,控制***将每级级联***输出数据存入存储单元,并作为之后时刻的每级级联***的输出数据参照值。
一种分布式故障监测装置IIR滤波***的滤波设计方法,包括以下步骤:
S1:计算滤波器多级级联***的每级零点和极点系数;
S2:建立滤波器系数ROM表、双端ROM表和双端RAM表并分别存储量化后的每级零点和极点系数、双端RAM读写地址以及输入数据和每一级级联***输出数据;
S3:读取双端RAM表中n时刻和之前时刻存入的上级级联***输出数据以及之前时刻当前级联***输出数据;
S4:读取滤波器系数ROM表中当前级联***零极点系数和滤波器系数;
S5:将每次从双端RAM表和滤波器系数ROM表中读出的数据送入DSP单元进行计算,得到n时刻当前级联***输出数据;
S6:将n时刻当前级联***输出数据写入双端RAM表指定地址空间,并进入下级级联***,重复步骤S3至步骤S5;
S7:在最后一级级联***的当前级联***输出数据后,将其做为n时刻滤波输出,记为y(n)。
进一步的,所述步骤S1多级级联***的每级零点和极点系数计算方法如下:
Figure BDA0002248603470000031
即:
Figure BDA0002248603470000032
所述bk0、bk1、bk2和ak0、ak1、ak2为IIR滤波器每级级联***的零点和极点系数,所述多级级联***的级数为M级,k的取值范围为0到M-1。
进一步的,所述步骤S5中计算当前级联***输出数据的方法如下:
(1)若当前级联***为第一级联***,则根据第一级零点***Q1和第一级极点***P1计算当前级联***输出数据y1(n),其中:第一级零点***计算公式、第一级极点***计算公式和第一级级联***输出数据计算公式如下:
Q1=b00x(n)+b01x(n-1)+b02x(n-2)
P1=a01y1(n-1)+a02y1(n-2)
y1(n)=(Q1+P1)/R;
所述R为量化比例,x(n)是当前时刻输入数据;b00、b01、b02为第一级级联结构零点***系数;a01、a02为第一级级联结构极点***系数;
(2)若当前级联***为第二级联***,则根据Q2和P2计算当前级联***输出数据y2(n),其中:
Q2=b10y1(n)+b11y1(n-1)+b12y1(n-2)
P2=a11y2(n-1)+a12y2(n-2)
y2(n)=(Q2+P2)/R;
所述Q2为第二级零点***,P2为第二级极点***,b10、b11、b12为第二级级联结构零点***系数;a11、a12为第二级级联结构极点***系数;
(3)若当前级联***为第三级联***,则根据Q3和P3计算当前级联***输出数据y3(n),其中:
Q3=b20y2(n)+b21y2(n-1)+b22y2(n-2)
P3=a21y3(n-1)+a22y3(n-2)
y3(n)=(Q3+P3)/R
所述Q3为第三级零点***,P3为第三级极点***,b20、b21、b22为第三级级联结构零点***系数;a21、a22为第二级级联结构极点***系数;
(4)若当前级联***为第N级级联***,所述N的值大于3且小于M时,则根据QN和PN计算当前级联***输出数据yN(n),其中:
QN=bN0yN-1(n)+bN1yN-1(n-1)+bN2yN-1(n-2)
PN=aN1yN(n-1)+aN2yN(n-2)
yN(n)=(QN+PN)/R
所述QN为第N级零点***,PN为第N级极点***,bN0、bN1、bN2为第N级级联结构零点***系数;aN1、aN2为第N级级联结构极点***系数;当N级级联***为最后一级,即k=M时,将N级级联***输出数据yN(n)作为***滤波输出,并记为y(n)。
进一步的,所述滤波器系数ROM表根据级联***级数在地址空间中依次存储每级零点系数和极点系数。
进一步的,所述双端ROM表低地址域存储的是需要对双端RAM进行写入数据的地址,高地址域存储的是对双端RAM进行读取数据的地址。
进一步的,当n为不同值时所述步骤S3中n时刻和之前时刻的上级级联***输出数据和之前时刻当前级联***输出数据以及步骤S6中当前级联***输出数据写入指定地址空间方法如下:
(1)当n时刻为0时刻,即初始时刻,双端RAM表中地址0到地址3(M+1)存储输入数据x(0)和之前时刻延时数据以及各级级联***当前输出数据和其之前时刻延时数据,所述M为滤波***的级数,之前时刻根据M延时0时刻至n-2时刻,取其输入数据,并作为初始时刻步骤S3中n时刻和之前时刻存入的上级级联***输出数据,其中x(0)存储在地址0,地址1存储x(n-1)数据,地址2存储x(n-2)数据,地址3存储第一级级联***输出y1(n)数据,地址4存储第一级***前时刻的输出y1(n-1),地址5存储第一级***前第二时刻的输出y1(n-2),依次存储到地址3(M+1),其中,在地址3k+1到地址3k+3中分别对应存储第k级级联***中的n、n-1到n-2时刻的当前级联***输出数据,即yk(n)、yk(n-1)和yk(n-2),所述k的取值为1到M,所述M为滤波***的级数;
(2)当n为1,即1时刻时,将输入数据x(1)写入双端RAM表中地址1,地址0中存储x(n-1)数据,地址2中存储x(n-2)数据;在地址3k+1到地址3k+3中分别对应存储第k级级联***中的n-1、n、n-2时刻的当前级联***输出数据,即yk(n-1)、yk(n)和yk(n-2),所述k的取值为1到M,所述M为滤波***的级数;
(3)当n为2,即2时刻时,将输入数据x(2)写入双端RAM表中地址2,地址1中存储x(1)数据,地址0中存储x(0)数据;在地址3k+1到地址3k+3中分别对应存储第k级级联***中的n-2、n-1、n时刻的当前级联***输出数据,即yk(n-2)、yk(n-1)和yk(n),所述k的取值为1到M,所述M为滤波***的级数;
(4)以后时刻,依次重复0时刻、1时刻和2时刻的存储方法。
本发明的有益效果:本发明通过充分利用FPGA内部RAM资源和DSP资源,与传统的滤波器设计相比极大地减少了对FPGA自身LUT和触发器单元的消耗,可有效消除电流信号低频零漂和高频噪声干扰。
附图说明
图1为一种分布式故障监测装置IIR滤波***连接示意图
图2为一种分布式故障监测装置IIR滤波***的存储表格示意图;
图3为一种分布式故障监测装置IIR滤波***设计方法的IIR滤波器级联图;
图4为一种分布式故障监测装置IIR滤波***设计方法的逻辑控制框图;
图5为一种分布式故障监测装置IIR滤波***n时刻时序控制原理图;
图6为一种分布式故障监测装置IIR滤波***n+1时刻时序控制原理图;
图7为一种分布式故障监测装置IIR滤波***n+2时刻时序控制原理图;
图8为一种分布式故障监测***结构示意图。
具体实施方式
为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图说明本发明的具体实施方式。
本实施例中,如图1所示的一种分布式故障监测装置IIR滤波***,所述滤波***为多级级联结构,包括接收DSP单元输出数据并发送控制指令至存储单元的控制***,所述存储单元连接DSP单元并接收控制***的读取和存入请求;所述控制***将n时刻及之前时刻的外部输入信号存入存储单元,同时控制存储单元将数据发送至DSP单元进行n时刻当前级联***输出数据计算,所述DSP单元将计算结果返回给控制***,由控制***判断是否为n时刻滤波信号输出,如果n时刻当前级联***输出数据为n时刻滤波信号输出则通过存储单元控制DSP单元输出n时刻滤波信号,否则将n时刻当前级联***输出数据存入存储单元并再次控制存储单元发送数据至DSP单元进行n时刻下级级联***输出数据计算,直至当前级联***为最后一级;所述控制***通过对存储单元进行多次读取和存入操作,并控制DSP单元进行相应计算,从而依次完成n时刻之后时刻的整个时域内的连续滤波信号输出。
具体的,所述存储单元包括分别存储量化后的每级零点和极点系数、双端RAM读写地址以及输入数据和每一级级联***输出数据的双端RAM、双端ROM、滤波器系数ROM;所述控制***分别与双端ROM、双端RAM和滤波器系数ROM连接。
n时刻及之前时刻的外部输入信号为滤波***在n时刻得到的输入数据x(n)和之前时刻的延时数据x(n-1)和x(n-2)。
在初始时刻,控制***根据双端ROM存储的双端RAM地址值将n时刻外部输入信号存入该地址值指定的双端RAM地址空间,并分别读取滤波器系数ROM中的当前级联***滤波系数以及双端RAM中存储的n时刻外部输入信号和之前时刻的当前级联***输出数据,然后传递给DSP单元进行计算,得到第一级级联***输出y1(n),所述之前时刻的当前级联***输出数据为每级级联***在前一时刻进行DSP计算后存储的当前级联***输出数据;在DSP单元每次进行n时刻当前级联***输出数据计算时,控制***还需读取存储单元中存储的当前级联***之前时刻输出数据并发送至DSP单元,当n时刻为初始时刻,控制***将每级级联***输出数据发送至存储单元进行存储,并作为之后时刻的每级级联***的输出数据参照值。
DSP单元发送第一级级联***输出数据y1(n)至控制***进行判断;如果n时刻当前级联***输出数据为n时刻滤波信号输出则在存入n时刻当前级联***输出数据至双端RAM的地址空间后控制双端RAM发送n时刻滤波信号输出至DSP单元,从而输出n时刻滤波信号,否则控制***将n时刻当前级联***输出数据写入双端RAM的地址空间,并进入下级级联***,再次读取双端RAM中的当前和之前时刻的上级级联***输出数据以及之前时刻的当前级联***输出数据,从滤波器系数ROM中读取当前级联***滤波系数,然后传递给DSP单元进行计算,得到下级级联***的n时刻当前级联***输出数据,并由DSP单元发送至控制***进行判断,重复上述过程,直至当前级联***为最后一级。
进一步的,在进行滤波***设计时,根据需要设计的滤波器指标,计算滤波器参数;可根据IIR滤波器差分方程:
Figure BDA0002248603470000071
得到滤波器的传递函数:
Figure BDA0002248603470000072
将上述传递函数转换为级联结构的传递函数:
Figure BDA0002248603470000073
得到IIR滤波器每级级联***的零点和极点参数bk0、bk1、bk2和ak0、ak1、ak2;然后根据级联***零极点参数和级联传递函数得到滤波***的结构。
在另一种实施例中,多级级联***的每级零点和极点系数计算方法如下:
Figure BDA0002248603470000074
即:
Figure BDA0002248603470000075
所述bk0、bk1、bk2和ak0、ak1、ak2为IIR滤波器每级级联***的零点和极点系数,所述多级级联***的级数为M级,k的取值范围为0到M-1,此处M级与上述传递函数所述M表示意义不同。
本实施例以6阶***为例说明实现滤波***所要达到的技术效果,该***可通过分解为3个级联的二阶***实现本方案中的滤波输出。
得到滤波器每级级联参数后,建立如图2所示的三张存储表格,所述存储表格由存储单元中的双端ROM、双端RAM和滤波器系数ROM分别建立双端ROM表、双端RAM表和滤波器系数ROM表,其中滤波器系数ROM保存了量化后的每级零点和极点系数。双端ROM中存储的是对双端RAM读写地址,其中低地址域存储的是需要对双端RAM进行写入数据的地址,高地址域存储的是对双端RAM进行读取数据的地址。双端RAM存储输入数据和每一级级联***输出数据,实现对数据和每级输入数据延时需求
本实施例中所述每级零点和极点系数即IIR滤波器每级级联***的零点和极点参数bk0、bk1、bk2和ak0、ak1、ak2;所述滤波器系数ROM从地址空间0到地址空间14依次存储每级零点系数和极点系数。
双端RAM表存储输入数据和每一级级联***输出数据,其中地址空间为地址0到地址11;数据存储进入双端RAM表时,具体地在地址0到地址2,依次保存当前时刻输入数据x(n)和其延时数据x(n-1)、x(n-2),起始时刻(0时刻)将x(0)存储在0地址,地址1存储x(-2)数据,地址2存储x(-1)数据,对于因果***地址1和地址2数据为0;下一时刻(1时刻)将x(1)存储在1地址,地址0存储x(0)数据,地址2存储x(-1);再下一时刻(2时刻)将x(2)存储在2地址,地址0存储x(0)数据,地址1存储x(1)数据;再下一时刻(3时刻)将x(3)存储在地址0,地址2存储x(2)数据,地址1存储x(1)数据,依次类推。
对于第一级输出存储在地址3到地址5,存储方式和数据输入存储方式一样;第二级输出存储在地址6到地址8,存储方式和地址0到2存储方式一样;第三级输出存储在地址9到地址11,存储方式和地址0到2存储方式一样。
在具体的存储过程中,n时刻之前n-1、n-2时刻第一级输出存储在双端RAM表中的地址,和n时刻第一级输出存储地址作为双端RAM表中n、n-1和n-2时刻存入的上级级联***输出数据存储地址保存在双端ROM表中,在第二级级级联***计算前,通过双端ROM表保存的地址值读取对应地址值的地址空间中的所述上级级联***输出数据。所述双端ROM表低地址域为地址0到11的地址空间,其依次存入双端RAM的写地址值,所述高地址域从地址空间12开始,依次存储双端RAM的读地址值,其前面地址0到11依次存入双端RAM的写地址值,存入的数据依次为:0、5、8、11、1、4、7、10、11、2、3、6、9;从地址空间12开始存储双端RAM的读地址值,存入的数据依次为:0、2、1、3、4、5、3、4、6、7、8、6、7、9、10、1、0、2、5、3、4、5、3、8、6、7、8、6、11、9、2、1、0、4、5、3、4、5、7、8、6、7、8、10、11。
双端ROM表中存储了对输入数据x(n)进行滤波运算时,每个时钟周期需要读写的双端RAM地址值;在进行具体分析存储数据之前先对DSP单元计算方法进行说明:
本实施例中以3级级联***为例,分别说明每级级联***的数据计算方法,具体步骤如下:
对于第一级零点***计算公式:
Q1=b00x(n)+b01x(n-1)+b02x(n-2)
第一级极点***计算公式:
P1=a01y1(n-1)+a02y1(n-2)
第一级级联***输出数据计算方法为:
y1(n)=(Q1+P1)/R,
其中,R为量化比例;x(n)是当前输入数据;b00、b01和b02为第一级级联结构零点***系数;a01和a02为第一级级联结构极点***系数。
对于第二级零点***计算公式:
Q2=b10y1(n)+b11y1(n-1)+b12y1(n-2)
第二级极点***计算公式:
P2=a11y2(n-1)+a12y2(n-2)
第二级级联***输出数据计算方法为:
y2(n)=(Q2+P2)/R
其中,R为量化比例;y1(n)是第一级输出数据;b10、b11和b12为第二级级联结构零点***系数;a11和a12为第二级级联结构极点***系数。
对于第三级零点***计算公式:
Q3=b20y2(n)+b21y2(n-1)+b22y2(n-2)
第三级极点***计算公式:
P3=a21y(n-1)+a22y(n-2)
由于本实施例以3级级联***进行说明,因此当第三级级联***输出数据后,可将第三级级联***输出数据作为滤波***输出数据,即y(n)=(Q3+P3)/R;
其中,R为量化比例;y2(n)是第二级输出数据;b20、b21和b22为第三级级联结构零点***系数;a21和a22为第三级级联结构极点***系数。
根据以上双端RAM表存储方法和DSP单元计算方法,具体分析滤波***在不同时刻下实现存储数据和输出的的实现过程。如图3所示是n时刻滤波***实现滤波输出的具体过程,其不同时刻的存储和输出过程如下:
(1)在0时刻,即n为0时,将输入数据x(0)写入双端RAM表地址0,之后依次读取双端RAM表存储地址0、地址2和地址1中的数据,得到x(0),x(-1),x(-2)三个数据,用于计算零点***Q1;然后读取双端RAM表存储地址3和存储地址4中的数据,得到y1(-1)和y1(-2)两个数据,用于计算极点***P1;最后通过y1(0)=(Q1+P1)/R计算出y1(0),然后将y1(0)写入双端RAM表地址5;之后依次读取数据RAM存储地址5、地址3和地址4中的数据,得到y1(0),y1(-1),y1(-2)三个数据,用于计算零点***Q2;然后读取双端RAM表存储地址6和存储地址7中的数据,得到y2(-1)和y2(-2)两个数据,用于计算极点***P2;最后通过y2(0)=(Q2+P2)/R计算出y2(0),然后将y2(0)写入双端RAM表地址8;之后依次读取双端RAM表存储地址8、地址6和地址7中的数据,得到y2(0),y2(-1),y2(-2)三个数据,用于计算零点***Q3;然后读取双端RAM表存储地址9和存储地址10中的数据,得到y(-1)和y(-2)两个数据,用于计算极点***P3。最后通过y(0)=(Q3+P3)/R计算出y(0),然后将y(0)写入数据RAM地址11,这样完成一次滤波运算,得到输出y(0)。
(2)在1时刻,即n为1时,将输入数据x(1)写入双端RAM表地址1,之后依次读取双端RAM表存储地址1、地址0和地址2中的数据,得到x(1),x(0),x(-1)三个数据,用于计算Q1;然后读取双端RAM表存储地址5和存储地址3中的数据,得到y1(0)和y1(-1)两个数据,用于计算P1;最后通过y1(1)=(Q1+P1)/R计算出y1(1),然后将y1(1)写入数据RAM地址4。之后依次读取双端RAM表存储地址4、地址5和地址3中的数据,得到y1(1),y1(0),y1(-1)三个数据,用于计算Q2;然后读取数据RAM存储地址8和存储地址6中的数据,得到y2(0)和y2(-1)两个数据,用于计算P2;最后通过y2(1)=(Q2+P2)/R计算出y2(1),然后将y2(1)写入双端RAM表地址7。之后依次读取双端RAM表存储地址7、地址8和地址6中的数据,得到y2(1),y2(0),y2(-1)三个数据,用于计算Q3;然后读取双端RAM表存储地址11和存储地址9中的数据,得到y(0)和y(-1)两个数据,用于计算P3;最后通过y(1)=(Q3+P3)/R计算出y(1),然后将y(1)写入双端RAM表地址10,这样完成一次滤波运算,得到输出y(1)。
(3)在2时刻,即n为2时,将输入数据x(2)写入双端RAM表地址2,之后依次读取双端RAM表存储地址2、地址1和地址0中的数据,得到x(2),x(1),x(0)三个数据,用于计算Q1;然后读取双端RAM表存储地址4和存储地址5中的数据,得到y1(1)和y1(0)两个数据,用于计算P1;最后通过y1(2)=(Q1+P1)/R计算出y1(2),然后将y1(2)写入双端RAM表地址3。之后依次读取双端RAM表存储地址3、地址4和地址5中的数据,得到y1(2),y1(1),y1(0)三个数据,用于计算Q2;然后读取双端RAM表存储地址7和存储地址8中的数据,得到y2(1)和y2(0)两个数据,用于计算P2;最后通过y2(2)=(Q2+P2)/R计算出y2(2),然后将y2(2)写入双端RAM表地址6。之后依次读取双端RAM表存储地址6、地址7和地址8中的数据,得到y2(2),y2(1),y2(0)三个数据,用于计算Q3;然后读取双端RAM表存储地址10和存储地址11中的数据,得到y(1)和y(0)两个数据,用于计算P3;最后通过y(2)=(Q3+P3)/R计算出y(2),然后将y(2)写入双端RAM表地址9,这样完成一次滤波运算,得到输出y(2)。
(4)以后时刻,依次重复第0时刻、第1时刻和第2时刻。
根据以上所述的不同时刻数据存储和输出过程,得到本实施例中所述的一种分布式故障监测装置IIR滤波设计方法的控制逻辑,所述控制逻辑由控制***执行,并实现滤波***中的滤波信号处理和输出,其中控制逻辑如图4所示:
(1)在n时刻输入数据为x(n),如图5所示;控制***使能双端ROMA口信号rom_ena,读取地址rom_addra为0,得到当前数据需要写入双端RAM的地址值wr_ram_addr为0;然后使能双端RAM写有效信号ram_wr_en,将数据x(n)写入地址值wr_ram_addr=0的地址空间;同时使能双端ROM B口信号rom_enb,依次读取双端ROM地址空间rom_addrb从12到16中的值;在rom_enb有效的下个时钟周期,同时使能双端RAM读有效信号和滤波器系数ROM读有效信号rd_en,开始依次从双端RAM的地址空间0、2、1、3、4中读取当前时刻数据x(n)、前时刻数据x(n-1)、x(n-2)和之前时刻第一级输出数据y1(n-1)、y1(n-2),并且滤波器系数ROM地址0到4依次读取第一级级联零极点系数和滤波器系数;然后将每次从RAM中和滤波器系数ROM中读出的数据送入DSP单元进行计算,得到第一级级联***输出y1(n)。
控制***再次使能双端ROMA口信号rom_ena,读取地址rom_addra为1,得到当前数据需要写入RAM的地址值wr_ram_addr为5;然后使能RAM写有效信号ram_wr_en,将数据y1(n)写入地址值wr_ram_addr=5的地址空间;同时使能双端ROM B口信号rom_enb,依次读取双端ROM地址空间rom_addrb从17到21中的值;在rom_enb有效的下个时钟周期,同时使能RAM读有效信号和滤波器系数ROM读有效信号rd_en,开始依次从RAM的地址空间5、3、4、6、7中读取当前时刻数据y1(n)、前时刻数据y1(n-1)、y1(n-2)和之前时刻第二级输出数据y2(n-1)、y2(n-2),并且滤波器系数ROM地址5到9依次读取第二级级联零极点系数和滤波器系数;然后将每次从RAM中和滤波器系数ROM中读出的数据送入DSP单元进行计算,得到第二级级联***输出y2(n)。
控制***再次使能双端ROMA口信号rom_ena,读取地址rom_addra为2,得到当前数据需要写入RAM的地址值wr_ram_addr为8;然后使能RAM写有效信号ram_wr_en,将数据y2(n)写入地址值wr_ram_addr=8的地址空间;同时使能双端ROM B口信号rom_enb,依次读取双端ROM地址空间rom_addrb从22到26中的值;在rom_enb有效的下个时钟周期,同时使能RAM读有效信号和滤波器系数ROM读有效信号rd_en,开始依次从RAM的地址空间8、6、7、9、10中读取当前时刻数据y2(n)、前时刻数据y2(n-1)、y2(n-2)和之前时刻第三级输出数据y(n-1)、y(n-2),并且滤波器系数ROM地址10到14依次读取第三级级联零极点系数和滤波器系数;然后将每次从RAM中和滤波器系数ROM中读出的数据送入DSP单元进行计算,得到第三级级联***输出y(n)。
控制***再次使能双端ROMA口信号rom_ena,读取地址rom_addra为3,得到当前数据需要写入RAM的地址值wr_ram_addr为11;然后使能RAM写有效信号ram_wr_en,将数据y(n)写入地址值wr_ram_addr=11的地址空间;同时使能滤波输出有效标志yn_ok完成一次滤波运算。
(2)在n+1时刻输入数据为x(n+1),如图6所示;控制***使能双端ROMA口信号rom_ena,读取地址rom_addra为4,得到当前数据需要写入RAM的地址值wr_ram_addr为1;然后使能RAM写有效信号ram_wr_en,将数据x(n+1)写入地址值wr_ram_addr=1的地址空间;同时使能双端ROM B口信号rom_enb,依次读取双端ROM地址空间rom_addrb从27到31中的值;在rom_enb有效的下个时钟周期,同时使能RAM读有效信号和滤波器系数ROM读有效信号rd_en,开始依次从RAM的地址空间1、0、2、5、3中读取当前时刻数据x(n+1)、前时刻数据x(n)、x(n-1)和之前时刻第一级输出数据y1(n)、y1(n-1),并且滤波器系数ROM地址0到4依次读取第一级级联零极点系数和滤波器系数;然后将每次从RAM中和滤波器系数ROM中读出的数据送入DSP单元进行计算,得到第一级级联***输出y1(n+1)。
控制***再次使能双端ROMA口信号rom_ena,读取地址rom_addra为5,得到当前数据需要写入RAM的地址值wr_ram_addr为4;然后使能RAM写有效信号ram_wr_en,将数据y1(n+1)写入地址值wr_ram_addr=4的地址空间;同时使能双端ROM B口信号rom_enb,依次读取双端ROM地址空间rom_addrb从32到36中的值;在rom_enb有效的下个时钟周期,同时使能RAM读有效信号和滤波器系数ROM读有效信号rd_en,开始依次从RAM的地址空间4、5、3、8、6中读取当前时刻数据y1(n+1)、前时刻数据y1(n)、y1(n-1)和之前时刻第二级输出数据y2(n)、y2(n-1),并且滤波器系数ROM地址5到9依次读取第二级级联零极点系数和滤波器系数;然后将每次从RAM中和滤波器系数ROM中读出的数据送入DSP单元进行计算,得到第二级级联***输出y2(n+1)。
控制***再次使能双端ROMA口信号rom_ena,读取地址rom_addra为6,得到当前数据需要写入RAM的地址值wr_ram_addr为7;然后使能RAM写有效信号ram_wr_en,将数据y2(n+1)写入地址值wr_ram_addr=7的地址空间;同时使能双端ROM B口信号rom_enb,依次读取双端ROM地址空间rom_addrb从37到41中的值;在rom_enb有效的下个时钟周期,同时使能RAM读有效信号和滤波器系数ROM读有效信号rd_en,开始依次从RAM的地址空间7、8、6、11、9中读取当前时刻数据y2(n+1)、前时刻数据y2(n)、y2(n-1)和之前时刻第三级输出数据y(n)、y(n-1),并且滤波器系数ROM表地址10到14依次读取第三级级联零极点系数和滤波器系数;然后将每次从RAM中和滤波器系数ROM中读出的数据送入DSP单元进行计算,得到第三级级联***输出y(n+1)。
控制***再次使能双端ROMA口信号rom_ena,读取地址rom_addra为7,得到当前数据需要写入RAM的地址值wr_ram_addr为10;然后使能RAM写有效信号ram_wr_en,将数据y(n+1)写入地址值wr_ram_addr=10的地址空间;同时使能滤波输出有效标志yn_ok完成一次滤波运算。
(3)在n+2时刻输入数据为x(n+2),如图7所示;控制***使能双端ROMA口信号rom_ena,读取地址rom_addra为8,得到当前数据需要写入RAM的地址值wr_ram_addr为2;然后使能RAM写有效信号ram_wr_en,将数据x(n)写入地址值wr_ram_addr=2的地址空间;同时使能双端ROM B口信号rom_enb,依次读取双端ROM地址空间rom_addrb从42到46中的值;在rom_enb有效的下个时钟周期,同时使能RAM读有效信号和滤波器系数ROM读有效信号rd_en,开始依次从RAM的地址空间2、1、0、4、5中读取当前时刻数据x(n+2)、前时刻数据x(n+1)、x(n)和之前时刻第一级输出数据y1(n+1)、y1(n),并且滤波器系数ROM表地址0到4依次读取第一级级联零极点系数和滤波器系数;然后将每次从RAM中和滤波器系数ROM中读出的数据送入DSP单元进行计算,得到第一级级联***输出y1(n+2)。
控制***再次使能双端ROMA口信号rom_ena,读取地址rom_addra为9,得到当前数据需要写入RAM的地址值wr_ram_addr为3;然后使能RAM写有效信号ram_wr_en,将数据y1(n+2)写入地址值wr_ram_addr=3的地址空间;同时使能双端ROM B口信号rom_enb,依次读取双端ROM地址空间rom_addrb从47到51中的值;在rom_enb有效的下个时钟周期,同时使能RAM读有效信号和滤波器系数ROM读有效信号rd_en,开始依次从RAM的地址空间3、4、5、7、6中读取当前时刻数据y1(n+2)、前时刻数据y1(n+1)、y1(n)和之前时刻第二级输出数据y2(n+1)、y2(n),并且滤波器系数ROM地址5到9依次读取第二级级联零极点系数和滤波器系数;然后将每次从RAM中和滤波器系数ROM中读出的数据送入DSP单元进行计算,得到第二级级联***输出y2(n+2)。
控制***再次使能双端ROMA口信号rom_ena,读取地址rom_addra为10,得到当前数据需要写入RAM的地址值wr_ram_addr为6;然后使能RAM写有效信号ram_wr_en,将数据y2(n+2)写入地址值wr_ram_addr=6的地址空间;同时使能双端ROM B口信号rom_enb,依次读取双端ROM地址空间rom_addrb从52到56中的值;在rom_enb有效的下个时钟周期,同时使能RAM读有效信号和滤波器系数ROM读有效信号rd_en,开始依次从RAM的地址空间6、7、8、10、11中读取当前时刻数据y2(n+2)、前时刻数据y2(n+1)、y2(n)和之前时刻第三级输出数据y(n+1)、y(n),并且滤波器系数ROM表地址10到14依次读取第三级级联零极点系数和滤波器系数;然后将每次从RAM中和滤波器系数ROM中读出的数据送入DSP单元进行计算,得到第三级级联***输出y(n+2)。
控制***再次使能双端ROMA口信号rom_ena,读取地址rom_addra为11,得到当前数据需要写入RAM的地址值wr_ram_addr为9;然后使能RAM写有效信号ram_wr_en,将数据y(n+2)写入地址值wr_ram_addr=9的地址空间;同时使能滤波输出有效标志yn_ok完成一次滤波运算。
(4)之后时刻,依次重复第n时刻、第n+1时刻和第n+2时刻的控制逻辑,即可得到在3级级联***下不断进行的滤波输出。
在另一种多级级联***的实施例中,最后一级级联***输出数据可存入双端RAM表中对应的地址空间,并由控制***控制DSP单元进行输出,作为滤波***在n时刻的滤波输出信号;为适应多级级联***数据存储的需要,可设置多级级联***级数为M,每级级联***零极点系数中k的取值范围可从0到M-1;所述存储单元中双端ROM、双端RAM以及滤波器系数ROM表可根据级数分配更多地址空间;其中在多级级联***中的滤波器系数ROM表从地址0到地址5M-1依次存储每级级联***零极点系数。
多级级联***计算当前级联***输出数据的方法如下:
(1)若当前级联***为第一级联***,则根据第一级零点***Q1和第一级极点***P1计算当前级联***输出数据y1(n),其中:第一级零点***计算公式、第一级极点***计算公式和第一级级联***输出数据计算公式如下:
Q1=b00x(n)+b01x(n-1)+b02x(n-2)
P1=a01y1(n-1)+a02y1(n-2)
y1(n)=(Q1+P1)/R;
所述R为量化比例,x(n)是当前时刻输入数据;b00、b01、b02为第一级级联结构零点***系数;a01、a02为第一级级联结构极点***系数;
(2)若当前级联***为第二级联***,则根据Q2和P2计算当前级联***输出数据y2(n),其中:
Q2=b10y1(n)+b11y1(n-1)+b12y1(n-2)
P2=a11y2(n-1)+a12y2(n-2)
y2(n)=(Q2+P2)/R;
所述Q2为第二级零点***,P2为第二级极点***,b10、b11、b12为第二级级联结构零点***系数;a11、a12为第二级级联结构极点***系数;
(3)若当前级联***为第三级联***,则根据Q3和P3计算当前级联***输出数据y3(n),其中:
Q3=b20y2(n)+b21y2(n-1)+b22y2(n-2)
P3=a21y3(n-1)+a22y3(n-2)
y3(n)=(Q3+P3)/R
所述Q3为第三级零点***,P3为第三级极点***,b20、b21、b22为第三级级联结构零点***系数;a21、a22为第二级级联结构极点***系数;
(4)若当前级联***为第N级级联***,所述N的值大于3且小于M时,则根据QN和PN计算当前级联***输出数据yN(n),其中:
QN=bN0yN-1(n)+bN1yN-1(n-1)+bN2yN-1(n-2)
PN=aN1yN(n-1)+aN2yN(n-2)
yN(n)=(QN+PN)/R
所述QN为第N级零点***,PN为第N级极点***,bN0、bN1、bN2为第N级级联结构零点***系数;aN1、aN2为第N级级联结构极点***系数;当N级级联***为最后一级,即k=M时,将N级级联***输出数据yN(n)作为***滤波输出,并记为y(n)。
在多级级联***的具体实施例中,n时刻和之前时刻的上级级联***输出数据和之前时刻当前级联***输出数据以及当前级联***输出数据写入指定地址空间方法如下:
(1)当n时刻为0时刻,即初始时刻,双端RAM表中地址0到地址3(M+1)存储输入数据x(0)和之前时刻延时数据以及各级级联***当前输出数据和其之前时刻延时数据,所述M为滤波***的级数,之前时刻根据M延时0时刻至n-2时刻,取其输入数据,并作为初始时刻步骤S3中n时刻和之前时刻存入的上级级联***输出数据,其中x(0)存储在地址0,地址1存储x(n-1)数据,地址2存储x(n-2)数据,地址3存储第一级级联***输出y1(n)数据,地址4存储第一级***前时刻的输出y1(n-1),地址5存储第一级***前第二时刻的输出y1(n-2),依次存储到地址3(M+1),其中,在地址3k+1到地址3k+3中分别对应存储第k级级联***中的n、n-1到n-2时刻的当前级联***输出数据,即yk(n)、yk(n-1)和yk(n-2),所述k的取值为1到M,所述M为滤波***的级数;
(2)当n为1,即1时刻时,将输入数据x(1)写入双端RAM表中地址1,地址0中存储x(n-1)数据,地址2中存储x(n-2)数据;在地址3k+1到地址3k+3中分别对应存储第k级级联***中的n-1、n、n-2时刻的当前级联***输出数据,即yk(n-1)、yk(n)和yk(n-2),所述k的取值为1到M,所述M为滤波***的级数;
(3)当n为2,即2时刻时,将输入数据x(2)写入双端RAM表中地址2,地址1中存储x(1)数据,地址0中存储x(0)数据;在地址3k+1到地址3k+3中分别对应存储第k级级联***中的n-2、n-1、n时刻的当前级联***输出数据,即yk(n-2)、yk(n-1)和yk(n),所述k的取值为1到M,所述M为滤波***的级数;
(4)以后时刻,依次重复0时刻、1时刻和2时刻的存储方法。
需要指出的是,在多级级联***中,最后一级级联***输出数据可存入双端RAM表中对应的地址空间,并由控制***控制DSP单元进行输出,作为滤波***在n时刻的滤波输出信号;为适应多级级联***数据存储的需要,可设置多级级联***级数为M,每级级联***零极点系数中k的取值范围可从0到M-1;所述存储单元中双端ROM、双端RAM以及滤波器系数ROM表可根据级数分配更多地址空间。
本实施例所述的滤波***可应用在如图8所示的包括传感单元、FPGA高频采样***、MCU主控单元***和通信单元的一种分布式故障监测***;其中传感单元主要由罗氏线圈、积分器和ADC采样电路组成,完成对前端电流波形的数模转换;所述FPGA高频采样***主要控制高频信号采样和存储控制;所述MCU主控单元***主要实现对***的整体控制,包括电源控制、数据上传控制、通信控制等;所述通信单元主要通过无线网络将波形数据和设备状态等信息上传远程后台。
为了消除传感单元信号带入的低频零漂干扰,在进行ADC采样后对采样信号进行带通滤波,由本发明所述的滤波***滤除低频分量和直流分量,同时对高频分量进行滤除;最后FPGA控制***将滤波后的数据存储在SRAM中,采样结束后通知MCU主控单元,MCU主控单元从SRAM中读出数据后通过通信单元上传到后台。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书界定。

Claims (10)

1.一种分布式故障监测装置IIR滤波***,所述滤波***为多级级联结构,其特征在于,包括接收DSP单元输出数据并发送控制指令至存储单元的控制***,所述存储单元连接DSP单元并接收控制***的读取和存入请求,所述控制***将n时刻及之前时刻的外部输入信号存入存储单元,同时控制存储单元将数据发送至DSP单元进行n时刻当前级联***输出数据计算,所述DSP单元将计算结果返回给控制***,由控制***判断是否为n时刻滤波信号输出,如果n时刻当前级联***输出数据为n时刻滤波信号输出则通过存储单元控制DSP单元输出n时刻滤波信号,否则将n时刻当前级联***输出数据存入存储单元并再次控制存储单元发送数据至DSP单元进行n时刻下级级联***输出数据计算,直至当前级联***为最后一级;所述控制***通过对存储单元进行多次读取和存入操作,并控制DSP单元进行相应计算,从而依次完成n时刻之后时刻的整个时域内的连续滤波信号输出。
2.根据权利要求1所述的一种分布式故障监测装置IIR滤波***,其特征在于,所述存储单元包括分别存储量化后的每级零点和极点系数、双端RAM读写地址以及输入数据和每一级级联***输出数据的双端RAM、双端ROM、滤波器系数ROM;所述控制***分别与双端ROM、双端RAM和滤波器系数ROM连接。
3.根据权利要求1所述的一种分布式故障监测装置IIR滤波***,其特征在于,所述n时刻及之前时刻的外部输入信号为滤波***在n时刻得到的输入数据x(n)和之前时刻的延时数据x(n-1)和x(n-2)。
4.根据权利要求1所述的一种分布式故障监测装置IIR滤波***,其特征在于,在DSP单元每次进行n时刻当前级联***输出数据计算时,控制***还需读取存储单元中存储的当前级联***之前时刻输出数据并发送至DSP单元,当n时刻为初始时刻,控制***将每级级联***输出数据存入存储单元,并作为之后时刻的每级级联***的输出数据参照值。
5.根据权利要求1-4任意一项所述的一种分布式故障监测装置IIR滤波***的滤波设计方法,其特征在于,所述IIR滤波设计方法包括以下步骤:
S1:计算滤波器多级级联***的每级零点和极点系数;
S2:建立滤波器系数ROM表、双端ROM表和双端RAM表并分别存储量化后的每级零点和极点系数、双端RAM读写地址以及输入数据和每一级级联***输出数据;
S3:读取双端RAM表中n时刻和之前时刻存入的上级级联***输出数据以及之前时刻当前级联***输出数据;
S4:读取滤波器系数ROM表中当前级联***零极点系数和滤波器系数;
S5:将每次从双端RAM表和滤波器系数ROM表中读出的数据送入DSP单元进行计算,得到n时刻当前级联***输出数据;
S6:将n时刻当前级联***输出数据写入双端RAM表指定地址空间,并进入下级级联***,重复步骤S3至步骤S5;
S7:在最后一级级联***的当前级联***输出数据后,将其做为n时刻滤波输出,记为y(n)。
6.根据权利要求5所述的一种分布式故障监测装置IIR滤波设计方法,其特征在于,所述步骤S1多级级联***的每级零点和极点系数计算方法如下:
Figure FDA0002248603460000021
即:
Figure FDA0002248603460000022
所述bk0、bk1、bk2和ak0、ak1、ak2为IIR滤波器每级级联***的零点和极点系数,所述多级级联***的级数为M级,k的取值范围为0到M-1。
7.根据权利要求6所述的一种分布式故障监测装置IIR滤波设计方法,其特征在于,所述步骤S5中计算当前级联***输出数据的方法如下:
(1)若当前级联***为第一级联***,则根据第一级零点***Q1和第一级极点***P1计算当前级联***输出数据y1(n),其中:第一级零点***计算公式、第一级极点***计算公式和第一级级联***输出数据计算公式如下:
Q1=b00x(n)+b01x(n-1)+b02x(n-2)
P1=a01y1(n-1)+a02y1(n-2)
y1(n)=(Q1+P1)/R;
所述R为量化比例,x(n)是当前时刻输入数据;b00、b01、b02为第一级级联结构零点***系数;a01、a02为第一级级联结构极点***系数;
(2)若当前级联***为第二级联***,则根据Q2和P2计算当前级联***输出数据y2(n),其中:
Q2=b10y1(n)+b11y1(n-1)+b12y1(n-2)
P2=a11y2(n-1)+a12y2(n-2)
y2(n)=(Q2+P2)/R;
所述Q2为第二级零点***,P2为第二级极点***,b10、b11、b12为第二级级联结构零点***系数;a11、a12为第二级级联结构极点***系数;
(3)若当前级联***为第三级联***,则根据Q3和P3计算当前级联***输出数据y3(n),其中:
Q3=b20y2(n)+b21y2(n-1)+b22y2(n-2)
P3=a21y3(n-1)+a22y3(n-2)
y3(n)=(Q3+P3)/R
所述Q3为第三级零点***,P3为第三级极点***,b20、b21、b22为第三级级联结构零点***系数;a21、a22为第二级级联结构极点***系数;
(4)若当前级联***为第N级级联***,所述N的值大于3且小于M时,则根据QN和PN计算当前级联***输出数据yN(n),其中:
QN=bN0yN-1(n)+bN1yN-1(n-1)+bN2yN-1(n-2)
PN=aN1yN(n-1)+aN2yN(n-2)
yN(n)=(QN+PN)/R
所述QN为第N级零点***,PN为第N级极点***,bN0、bN1、bN2为第N级级联结构零点***系数;aN1、aN2为第N级级联结构极点***系数;当N级级联***为最后一级,即k=M时,将N级级联***输出数据yN(n)作为***滤波输出,并记为y(n)。
8.根据权利要求5所述的一种分布式故障监测装置IIR滤波设计方法,其特征在于,所述滤波器系数ROM表根据级联***级数在地址空间中依次存储每级零点系数和极点系数。
9.根据权利要求5所述的一种分布式故障监测装置IIR滤波设计方法,其特征在于,所述双端ROM表低地址域存储的是需要对双端RAM进行写入数据的地址,高地址域存储的是对双端RAM进行读取数据的地址。
10.根据权利要求5所述的一种分布式故障监测装置IIR滤波设计方法,其特征在于,当n为不同值时所述步骤S3中n时刻和之前时刻的上级级联***输出数据和之前时刻当前级联***输出数据以及步骤S6中当前级联***输出数据写入指定地址空间方法如下:
(1)当n时刻为0时刻,即初始时刻,双端RAM表中地址0到地址3(M+1)存储输入数据x(0)和之前时刻延时数据以及各级级联***当前输出数据和其之前时刻延时数据,所述M为滤波***的级数,之前时刻根据M延时0时刻至n-2时刻,取其输入数据,并作为初始时刻步骤S3中n时刻和之前时刻存入的上级级联***输出数据,其中x(0)存储在地址0,地址1存储x(n-1)数据,地址2存储x(n-2)数据,地址3存储第一级级联***输出y1(n)数据,地址4存储第一级***前时刻的输出y1(n-1),地址5存储第一级***前第二时刻的输出y1(n-2),依次存储到地址3(M+1),其中,在地址3k+1到地址3k+3中分别对应存储第k级级联***中的n、n-1到n-2时刻的当前级联***输出数据,即yk(n)、yk(n-1)和yk(n-2),所述k的取值为1到M,所述M为滤波***的级数;
(2)当n为1,即1时刻时,将输入数据x(1)写入双端RAM表中地址1,地址0中存储x(n-1)数据,地址2中存储x(n-2)数据;在地址3k+1到地址3k+3中分别对应存储第k级级联***中的n-1、n、n-2时刻的当前级联***输出数据,即yk(n-1)、yk(n)和yk(n-2),所述k的取值为1到M,所述M为滤波***的级数;
(3)当n为2,即2时刻时,将输入数据x(2)写入双端RAM表中地址2,地址1中存储x(1)数据,地址0中存储x(0)数据;在地址3k+1到地址3k+3中分别对应存储第k级级联***中的n-2、n-1、n时刻的当前级联***输出数据,即yk(n-2)、yk(n-1)和yk(n),所述k的取值为1到M,所述M为滤波***的级数;
(4)以后时刻,依次重复0时刻、1时刻和2时刻的存储方法。
CN201911028886.XA 2019-10-25 2019-10-25 一种分布式故障监测装置iir滤波***及其设计方法 Active CN110957995B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911028886.XA CN110957995B (zh) 2019-10-25 2019-10-25 一种分布式故障监测装置iir滤波***及其设计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911028886.XA CN110957995B (zh) 2019-10-25 2019-10-25 一种分布式故障监测装置iir滤波***及其设计方法

Publications (2)

Publication Number Publication Date
CN110957995A true CN110957995A (zh) 2020-04-03
CN110957995B CN110957995B (zh) 2023-06-30

Family

ID=69975768

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911028886.XA Active CN110957995B (zh) 2019-10-25 2019-10-25 一种分布式故障监测装置iir滤波***及其设计方法

Country Status (1)

Country Link
CN (1) CN110957995B (zh)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101098416A (zh) * 2006-06-29 2008-01-02 上海高清数字科技产业有限公司 时域自适应均衡器及其包含的判决反馈滤波器
CN101196213A (zh) * 2007-12-26 2008-06-11 北京航空航天大学 一种集成化高温超导磁悬浮储能飞轮磁轴承数字控制***
US20080259998A1 (en) * 2007-04-17 2008-10-23 Cypress Semiconductor Corp. Temperature sensor with digital bandgap
CN101714814A (zh) * 2008-09-30 2010-05-26 安捷伦科技有限公司 用于改善电源中的动态响应的***和方法
WO2012052807A1 (en) * 2010-10-18 2012-04-26 Indian Institute Of Science Filtering discrete time signals using a notch filter
US20130191429A1 (en) * 2012-01-24 2013-07-25 Microsemi Semiconductor Ulc Infinite impulse response filter architecture with idle-tone reduction
CN106125604A (zh) * 2016-06-28 2016-11-16 东华理工大学 一种心电信号预处理***
CN106549650A (zh) * 2016-12-07 2017-03-29 西安电子科技大学 一种基于fpga的高阶fir滤波器的实现方法
CN107241107A (zh) * 2017-06-28 2017-10-10 电子科技大学 一种数字信道化滤波器组实现方法
CN107786184A (zh) * 2016-08-30 2018-03-09 无锡华润矽科微电子有限公司 音频频谱转换处理方法
CN108599736A (zh) * 2018-05-11 2018-09-28 河南大学 一种拥有自由随机结构的无乘法iir数字滤波器的设计方法

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101098416A (zh) * 2006-06-29 2008-01-02 上海高清数字科技产业有限公司 时域自适应均衡器及其包含的判决反馈滤波器
US20080259998A1 (en) * 2007-04-17 2008-10-23 Cypress Semiconductor Corp. Temperature sensor with digital bandgap
CN101196213A (zh) * 2007-12-26 2008-06-11 北京航空航天大学 一种集成化高温超导磁悬浮储能飞轮磁轴承数字控制***
CN101714814A (zh) * 2008-09-30 2010-05-26 安捷伦科技有限公司 用于改善电源中的动态响应的***和方法
WO2012052807A1 (en) * 2010-10-18 2012-04-26 Indian Institute Of Science Filtering discrete time signals using a notch filter
US20130191429A1 (en) * 2012-01-24 2013-07-25 Microsemi Semiconductor Ulc Infinite impulse response filter architecture with idle-tone reduction
CN106125604A (zh) * 2016-06-28 2016-11-16 东华理工大学 一种心电信号预处理***
CN107786184A (zh) * 2016-08-30 2018-03-09 无锡华润矽科微电子有限公司 音频频谱转换处理方法
CN106549650A (zh) * 2016-12-07 2017-03-29 西安电子科技大学 一种基于fpga的高阶fir滤波器的实现方法
CN107241107A (zh) * 2017-06-28 2017-10-10 电子科技大学 一种数字信道化滤波器组实现方法
CN108599736A (zh) * 2018-05-11 2018-09-28 河南大学 一种拥有自由随机结构的无乘法iir数字滤波器的设计方法

Also Published As

Publication number Publication date
CN110957995B (zh) 2023-06-30

Similar Documents

Publication Publication Date Title
CN103762595B (zh) 一种抑制电网谐波和幅值扰动的锁频控制方法及***
CN203287435U (zh) 一种基于stm32f107vct6的微电网谐波与间谐波检测装置
CN104077492A (zh) 一种基于fpga的采样数据内插方法
CN108616280B (zh) 非稳态数据实时采集数据压缩方法
CN102594361B (zh) 音频异步采样率转换处理方法
CN104111373A (zh) 一种用于智能变电站数字化电能的计量方法
CN110957995B (zh) 一种分布式故障监测装置iir滤波***及其设计方法
CN102394657B (zh) 实时电能质量数据压缩算法
CN102928660B (zh) 基于fir数字滤波器的无功功率测量方法
CN107332539A (zh) 一种高速并行多路分数延时滤波器实现方法
CN103095249A (zh) 一种中值滤波电路及方法
CN106972840A (zh) 一种采样率转换方法与装置
CN110677138A (zh) 基于无误差概率计算的fir滤波器
CN203949979U (zh) 一种模拟量合并单元暂态延时测试的前端采集回路
CN115425976A (zh) 一种基于fpga的adc采样数据校准方法及***
CN202435412U (zh) 一种低压电力线载波测试用噪声信号模拟***
CN101110580A (zh) 一种用于电能计量的希尔伯特滤波器
CN113295917A (zh) 一种基于罗氏线圈与lpct组合的保护装置采样单元
CN102710237B (zh) 一种一阶数字低通滤波方法、滤波器及电子设备
CN112035786A (zh) 一种电池管理***的电流算法
CN106855592B (zh) 一种动模试验录波报文回放方法
CN201359632Y (zh) 太阳电池性能测试用自适应量程测试仪
CN110618313A (zh) 一种列车动力***在线能耗检测与预测装置及方法
CN113447745B (zh) 站域虚拟故障录波处理方法
CN109917226A (zh) 基于小波分析的双采样率配网线路故障点定位方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant