CN105373676A - 基于fpga的小波算法ip核的设计方法 - Google Patents
基于fpga的小波算法ip核的设计方法 Download PDFInfo
- Publication number
- CN105373676A CN105373676A CN201510903530.1A CN201510903530A CN105373676A CN 105373676 A CN105373676 A CN 105373676A CN 201510903530 A CN201510903530 A CN 201510903530A CN 105373676 A CN105373676 A CN 105373676A
- Authority
- CN
- China
- Prior art keywords
- design
- fpga
- wavelet algorithm
- kernel
- wavelet
- 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
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
基于FPGA的小波算法IP核的设计方法,它涉及一种IP核设计方法。本发明的目的是为了解决现有技术对于扰动信号分析速度低,效果差,不能有效的解决暂态电能质量扰动的问题。本发明采用多分辨率分析和DB5小波算法,借助DSP?Builder工具实现滤波器模块设计,并对所设计的滤波器模型进行仿真,以验证所提方法的可行性;利用DSP?Builder建立滤波器模块,最后完成在FPGA中进行小波算法IP核设计。本发明缩短设计周期、设计灵活性强、占用FPGA逻辑资源少。
Description
技术领域
本发明涉及一种IP核设计方法,具体涉及基于FPGA的小波算法IP核的设计方法,属于电能质量扰动研究的技术领域。
背景技术
在电能质量检测系统中,最重要的就是对信号的检测处理技术,即检测扰动起止时间,从电能质量研究至今,由于研究的侧重点不同,相应的研究方法也不一样,现主要的分析方法有:瞬时无功功率法,数学形态学,动态时间测度,高阶统计量,熵值计算等时域分析法;FFT法、希尔伯特–黄变(HHT,Hilbert-Huang)变换,普罗尼(Prony)算法,小波变换,S变换等时频域变换分析法;Adaline算法,神经网络,专家系统,支持向量机,模糊逻辑及其他多种算法融合法。
在电能质量扰动检测的研究初期,稳态问题为主要研究对象。常用时域仿真分析法检测,即在时域上对信号进行分析,主要通过仿真软件来对电能质量进行分析,这种分析方法在信号的处理检测前,要事先估计信号中所含频率分量,但动态电能质量的频率成分未知,这限制了仿真步长,从而影响了动态电能质量的分析结果。
发明内容
本发明的目的是为了解决现有技术对于扰动信号分析速度低,效果差,不能有效的解决暂态电能质量扰动的问题。
本发明的技术方案是:基于FPGA的小波算法IP核的设计方法,采用多分辨率分析和DB5小波算法,借助DSPBuilder工具实现滤波器模块设计,并对所设计的滤波器模型进行仿真,以验证所提方法的可行性;利用DSPBuilder建立滤波器模块,最后完成在FPGA中进行小波算法IP核设计。
所述所述小波算法包括前置数据处理过程,滤波器处理过程和后置数据处理过程。
所述前置数据处理部分包含接受数据输入过程和边界延拓过程。
所述数据延拓方法为零延拓、周期延拓或对称周期延。
所述滤波器模块设计步骤包括:
设计Simulink模型文件,在Matlab/Simulink软件环境中设计模型文件;
完成模型文件的设计后,运用Simulink中的图形仿真工具,对设计的模型文件进行仿真;
在模型文件的设计时添加了SignalCompiler模块,利用该模块,将在Simulink中设计好的.mdl模型文件转换成.vhd格式的VHDL程序;生成的.vhd文件用于RTL级系统设计;
对转换生成的VHDL的程序代码和RTL设计代码以及仿真文件在QuartusII软件中进行仿真实验;
经过仿真实验验证了代码的准确性,进而对VHDL程序代码进行综合编译,布局布线,生成相应的硬件下载配置文件,将配置文件下载到FPGA器件上完成硬件验证;
所述FPGA中进行小波算法IP核设计包括以下步骤:对顶层模块进行整合;对FPGA的硬件资源进行规划和软件编程结构与指令的选择以达到优化;生成IP核。
本发明与现有技术相比具有以下效果:本发明对于暂态电能质量检测,基于FPGA的小波算法具有性能可靠、实时性好、运算速度快、设计周期短、灵活性强及成本低等优点,充分体现了现代电子设计自动化开发的特点,本发明的基于FPGA的动态扰动检测算法具有提高设计性能、降低产品研发成本、缩短设计周期、设计灵活性强、占用FPGA逻辑资源少等优点。
附图说明
图1,本发明小波算法的流程示意图;
图2,本发明DSPBuilder的设计流程框图;
图3,本实施方式构建的低通滤波器示意图;
图4,本实施方式构建的高通滤波器示意图;
图5,本发明实施方式的结构映射流程框图;
图6,本发明实施方式电压暂升信号检测结果波形图;
图7,本发明实施方式的电压暂降信号检测结果波形图;
图8,本发明实施方式的电压中断信号检测结果波形图;
图9,本发明实施方式的电压脉冲信号检测结果波形图;
图10,本发明实施方式的电压振荡信号检测结果波形图。
具体实施方式
结合附图说明本发明的具体实施方式,本发明的基于FPGA的小波算法IP核的设计方法,采用多分辨率分析和DB5小波算法,借助DSPBuilder工具实现滤波器模块设计,并对所设计的滤波器模型进行仿真,以验证所提方法的可行性;利用DSPBuilder建立滤波器模块,最后完成在FPGA中进行小波算法IP核设计。
所述所述小波算法包括前置数据处理过程,滤波器处理过程和后置数据处理过程。
所述前置数据处理部分包含接受数据输入过程和边界延拓过程。
所述数据延拓方法为零延拓、周期延拓或对称周期延。考虑到零延拓法误差较大,对称周期延拓法要求使用对称的小波滤波器组,而周期延拓法对滤波器没有特殊的要求,并且误差亦可接受。因此,本实施方式采用周期延拓法。在数据进入该模块后对其进行周期延拓。
所述滤波器模块设计步骤包括:
1.设计Simulink模型文件,在Matlab/Simulink软件环境中设计模型文件,先建立一个.mdl模型文件,与建立Simulink图形文件一样,调用DSPBuilder模块或其他Simulink模块完成图形文件的建立,从而完成了系统级或算法级的模块设计文件。
2.完成模型文件的设计后,运用Simulink中的图形仿真工具,对设计的模型文件进行仿真,分析文件功能,查看仿真结果的正确性,完成模型文件仿真过程。
3.在模型文件的设计时添加了SignalCompiler模块,利用该模块,将在Simulink中设计好的.mdl模型文件转换成.vhd格式的VHDL程序。生成的.vhd文件用于RTL级系统设计。
4.对转换生成的VHDL的程序代码和RTL设计代码以及仿真文件在QuartusII软件中进行仿真实验。
5.经过仿真实验验证了代码的准确性,进而对VHDL程序代码进行综合编译,布局布线,生成相应的硬件下载配置文件,将配置文件下载到FPGA器件上完成硬件验证。
使用Matlab的wfilters函数获得DB5小波基的分解滤波器的高通、低通系数,如下式所示:
Lo_D=[0.0033-0.0126-0.00620.0776-0.0322-0.24230.13840.72430.60380.1601]
Hi_D=[-0.16010.6038-0.72430.13840.2423-0.0322-0.0776-0.00620.01260.0033]
为使系统模型的建立和数据的运算更方便,需对得到的滤波器系数进行量化,本文选取9位二进制数表示量化系数,并将小波系数乘以29,得到经过量化后的小波系数,如下式所示:
Lo_D=[1,-3,-2,20,-8,-62,35,185,155,41]
Hi_D=[-41,155,-185,35,62,-8,-20,-2,3,1]
根据上面得到的量化后的低通和高通滤波器系数,结合滤波器的设计原理,因为滤波器的系数含有十个数组成员,所以需要进行十阶滤波器的设计,分别添加九个延迟单元、十个增益单元以及十输入的并行加法器模块,并对各模块进行参数设置。根据前文对检测原理的研究可知,只要小波函数确定,其高通、低通滤波器的系数就确定,在实现高通、低通滤波器的过程中,增益单元的值依次为小波系数的量化值,所构建的低通分解滤波器和高通分解滤波器,分别如图3所示、图4所示。
在完成了DB5小波基的高低通分解滤波器的设计以后,分别将其生成子模块,再根据Mallat算法将其够加成检测系统
所述FPGA中进行小波算法IP核设计包括以下步骤:
对顶层模块进行整合:除了调用4.3小节中设计好的滤波器模块之外,从图1我们可以看到,经过滤波器处理以后数据还要经过右移9位来取到真实值,由于在DSPBuilder中设计滤波器时,对滤波器的系数进行了量化,将其向左移动了九位。因此需对数据做这样的处理才能够得到真实值。在完成了小波算法模块各个部分的准备之后,就要对其进行整体的设计;对该文件进行分析和综合,没有错误和警告以后就可以使用QuartusII内的工具将语言转换为可调用的器件模块,在顶层模块中连接好电路;
对FPGA的硬件资源进行规划和软件编程结构与指令的选择以达到优化:采用FPGA实现小波算法,需要对FPGA的硬件资源进行规划和软件编程结构与指令的选择以达到优化。下面通过硬件加速核以及RTL级两个方面对本文所采用的小波算法进行实时性优化。
选定AlteraDE2开发板作为硬件平台,开发板上资源主要有:8MBSDRAM、4MBFLASH、50MHzCycloneIIFPGA芯片。通过优化占用最小资源。通过FPGA进行系统设计的初期,是很难清晰地界定每个模块的功能选择、边界划分及各模块的具体性能,通常要到系统设计中期进行一些修改以达到某些功能,而FPGA中可使用的资源较为丰富,而且具有一定的冗余,因此可以利用FPGA中的一些特定的硬件资源来对软件代码中的瓶颈部分进行加速,以补偿初期设计的不足。而且FPGA具有可编程性,可以针对一些特定的应用来分配特定的硬件单元,仅调整所需使用的片内硬件单元,无需任何板级改动,为设计和使用带来很大的灵活性和便捷性。另外,还可以通过特定的定制硬件来获得比通用微处理器更出色的性能。
由于FPGA器件所具有的高速度、高可靠性、高精度、高集成度等特点,其芯片的时钟延迟一般都在ns级,所以实时性也得到显著体现。其次,在FPGA内部对小波算法的实现过程中,由于采用了数据线流水结构处理,可在RTL级对小波算法进行优化。在进入详细设计阶段,设计者需要详细设计出层次分解的底层部件,达到系统优化设计的最直接方法就是产生一个寄存器传输级(RTL)模型,然后使用综合工具将其转换为门电路;
生成IP核:以DB5小波为IP核设计对象,将小波算法进行结构化映射,结构化映射是高性能IP核设计的首要问题,好的映射结构会使性能得到很大程度的提升。设计采用的基本流程如下:首先在系统级对DB5小波算法进行描述,并将其映射到结构。将设计分成控制通道和数据通道两部分,选用硬件描述语言(VHDL)进行两通道设计。然后对其进行综合与后端设计。后端设计包括静态时序分析、布局布线、版图设计等,根据后端设计返回的物理设计信息适当调整系统级设计,如此反复迭代直到设计的IP核达到优良的性能。结构化映射设计流程如图5所示。
对DB5小波算法进行模块化与功能化设计,并给以相应优化,将DB5小波算法模块加入到设计软件中,即可实现DB5小波检测模块的IP核设计。具体的DB5小波算法IP核设计过程如下:首先,在QuartusII设计好的小波工程文件中,应用Tools选项中SOPCBuilder工具,利用ComponentEditor创建新的模块。在图中添加小波算法模块的VHDL语言文件,添加文件后,QuartusII中的分析器会对文件进行综合、编译分析,编译分析;
结构化映射是首先从系统级描述算法,然后将设计综合,最后对其进行综合和后端设计。通过静态时序分析、布局布线、版图设计等,提取相关的物理设计信息返回至设计系统级进行调整,这样一个反复迭代的过程直到设计的IP核达到优良的性能。
从图6的adress信号和q信号可以看出在第960个采样点处开始,电压波形信号采样值开始增大,从检测结果output中可以看出在第966个采样点处检测结果出现模极大值。从而可以得到电压暂升信号的开始时刻,依据同样的原理和方法可以得到暂升的结束时刻。而modelsim的检测结果更加清晰直观的验证了FPGA下小波算法对暂升信号检测的正确性和可行性。
图7的adress信号和q信号可以看出在第960个采样点处开始,电压波形信号采样值开始减小,从检测结果output中可以看出在第964个采样点处检测结果出现模极大值。从而可以得到电压暂降信号的开始时刻,依据同样的原理和方法可以得到暂降的结束时刻。而modelsim的检测结果更加清晰直观的验证了FPGA下小波算法对暂降信号检测的正确性和可行性。
图8的adress信号和q信号可以看出在第960个采样点处开始,电压波形信号采样值开始为0,从检测结果output中可以看出在第964个采样点处检测结果出现模极大值。从而可以得到电压中断信号的开始时刻,依据同样的原理和方法可以得到中断的结束时刻。而modelsim的检测结果更加清晰直观的验证了FPGA下小波算法对中断信号检测的正确性和可行性。
从图9的adress信号和q信号可以看出在第1028到1030个采样点处结束出现了尖峰脉冲,从检测结果output中可以看出在第1030到1032个采样点处出现极大值。从而可以得到电压脉冲信号的开始时刻和结束时刻,而modelsim的检测结果更加清晰直观的验证了FPGA下小波算法对振荡信号检测的正确性和可行性。
从图10的adress信号和q信号可以看出在第1026个采样点处开始,电压波形信号采样值开始为0,从检测结果output中可以看出在第1030个采样点处检测结果出现模极大值。从而可以得到电压振荡信号的开始时刻,依据同样的原理和方法可以得到振荡的结束时刻。而modelsim的检测结果更加清晰直观的验证了FPGA下小波算法对振荡信号检测的正确性和可行性。
表1是用两种方法检测扰动起始时间的测量结果误差分析对比表,表2用两种方法检测扰动结束时间的测量结果误差分析对比表。从两个表中可以看出使用DSPBuilder实现的小波算法检测结果的精度比运用DSP实现的小波算法检测结果精度高一些。
表1扰动起始时间检测结果对比
在DSP处理芯片上通过软件编程实现的小波算法,由于DSP上的指令是顺序执行的,程序的执行需要时间,使得检测系统的实时性差。通过程序运行可计算出所需时间,DSP程序在配置时占用的时间较长,当只对DSP进行简单配置所需时间大约为几十微秒,DSP所用时间将增加到几毫秒到几十毫秒,采用DB5小波对采样信号进行分解计算所需要的时间大约为几十毫秒到几百毫秒。另外软件程序的分辨率取决于采样频率的大小,时间分辨率会给扰动检测的时间带来误差。
这些问题的解决要从算法上着手,对检测暂态扰动的算法进行优化,这种优化可以是软件上的,也可以是硬件上的。本文采用硬件滤波器方式实现小波算法的方法就是从硬件方面来考虑的,该方法试图利用硬件的高集成度、高速、高可靠性及串、并行工作方式等结构特点,来提高了小波变换算法的实时性。在FPGA中信号的延时时间不到1ms,由于采用的系统时钟一般为几百兆赫兹的,且程序的执行是并行进行的,所以程序执行的时间大约为几个毫妙,系统的实时性得到显著提高。高的运行时钟同时也提高了系统的频率分辨率,改善了测量的准确度。
表2扰动结束时间检测结果对比
Claims (6)
1.基于FPGA的小波算法IP核的设计方法,其特征在于:采用多分辨率分析和DB5小波算法,借助DSPBuilder工具实现滤波器模块设计,并对所设计的滤波器模型进行仿真,以验证所提方法的可行性;利用DSPBuilder建立滤波器模块,最后完成在FPGA中进行小波算法IP核设计。
2.根据权利要求1所述基于FPGA的小波算法IP核的设计方法,其特征在于:所述所述小波算法包括前置数据处理过程,滤波器处理过程和后置数据处理过程。
3.根据权利要求2所述基于FPGA的小波算法IP核的设计方法,其特征在于:所述前置数据处理部分包含接受数据输入过程和边界延拓过程。
4.根据权利要求3所述基于FPGA的小波算法IP核的设计方法,其特征在于:所述数据延拓方法为零延拓、周期延拓或对称周期延。
5.根据权利要求1所述基于FPGA的小波算法IP核的设计方法,其特征在于:所述滤波器模块设计步骤包括:
设计Simulink模型文件,在Matlab/Simulink软件环境中设计模型文件;
完成模型文件的设计后,运用Simulink中的图形仿真工具,对设计的模型文件进行仿真;
在模型文件的设计时添加了SignalCompiler模块,利用该模块,将在Simulink中设计好的.mdl模型文件转换成.vhd格式的VHDL程序;生成的.vhd文件用于RTL级系统设计;
对转换生成的VHDL的程序代码和RTL设计代码以及仿真文件在QuartusII软件中进行仿真实验;
经过仿真实验验证了代码的准确性,进而对VHDL程序代码进行综合编译,布局布线,生成相应的硬件下载配置文件,将配置文件下载到FPGA器件上完成硬件验证。
6.根据权利要求1所述基于FPGA的小波算法IP核的设计方法,其特征在于:所述FPGA中进行小波算法IP核设计包括以下步骤:对顶层模块进行整合;对FPGA的硬件资源进行规划和软件编程结构与指令的选择以达到优化;生成IP核。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510903530.1A CN105373676A (zh) | 2015-12-09 | 2015-12-09 | 基于fpga的小波算法ip核的设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510903530.1A CN105373676A (zh) | 2015-12-09 | 2015-12-09 | 基于fpga的小波算法ip核的设计方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105373676A true CN105373676A (zh) | 2016-03-02 |
Family
ID=55375871
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510903530.1A Pending CN105373676A (zh) | 2015-12-09 | 2015-12-09 | 基于fpga的小波算法ip核的设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105373676A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112526208A (zh) * | 2020-12-23 | 2021-03-19 | 武汉第二船舶设计研究所(中国船舶重工集团公司第七一九研究所) | 一种基于高耦合度迭代模型的电能质量测量系统及方法 |
-
2015
- 2015-12-09 CN CN201510903530.1A patent/CN105373676A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112526208A (zh) * | 2020-12-23 | 2021-03-19 | 武汉第二船舶设计研究所(中国船舶重工集团公司第七一九研究所) | 一种基于高耦合度迭代模型的电能质量测量系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103488840B (zh) | 一种印制电路板级传导电磁干扰建模的系统和方法 | |
CN105301984B (zh) | 一种基于fpga的电力电子仿真系统及方法 | |
CN105302685A (zh) | 一种软硬件协同仿真测试方法和装置 | |
CN106844900B (zh) | 电磁暂态仿真系统的搭设方法 | |
CN103258067B (zh) | 一种可配置片上系统中保持架构、软件及硬件一致性的方法 | |
Berto et al. | Potentials and pitfalls of FPGA application in inverter drives-a case study | |
Zheng et al. | An event-driven real-time simulation for power electronics systems based on discrete hybrid time-step algorithm | |
CN1996263A (zh) | 一种实时位真仿真开发系统及其方法 | |
Bailey et al. | A mixed-signal risc-v signal analysis soc generator with a 16-nm finfet instance | |
CN103969508A (zh) | 一种实时高精密的电力谐波分析方法及装置 | |
CN110362881B (zh) | 基于极限学习机的微波功率器件非线性模型方法 | |
CN108205605A (zh) | 数字化多道脉冲幅度分析器配置成形时间的系统设计方法 | |
Coussy et al. | GAUT–a free and open source high-level synthesis tool | |
Zheng et al. | MPSoC-based dynamic adjustable time-stepping scheme with switch event oversampling technique for real-time HIL simulation of power converters | |
CN105373676A (zh) | 基于fpga的小波算法ip核的设计方法 | |
CN109491854B (zh) | 一种基于FPGA的SoC原型验证方法 | |
De Cuyper et al. | A digital platform for real-time simulation of power converters with high switching frequency | |
Liang et al. | A hardware in the loop design methodology for FPGA system and its application to complex functions | |
US8645927B2 (en) | Methods and apparatus for simulation speedup | |
Kiffe et al. | Advanced preprocessing and correction-methods for automated generation of FPGA-based simulation of power electronics | |
Luo et al. | Time-efficient fault detection and diagnosis system for analog circuits | |
CN107786204A (zh) | 数模转换器参数测试系统及方法 | |
Singh et al. | FPGA-based hardware-accelerated design of linear prediction analysis for real-time speech signal | |
CN111596567A (zh) | 一种交直流电力系统电磁暂态仿真装置 | |
Stievano et al. | Behavioral modeling of digital devices via composite local linear state–space relations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160302 |
|
WD01 | Invention patent application deemed withdrawn after publication |