基于fpga的小波算法ip核的設計方法
【技術領域】
[0001] 本發(fā)明涉及一種IP核設計方法,具體涉及基于FPGA的小波算法IP核的設計方 法,屬于電能質(zhì)量擾動研究的技術領域。
【背景技術】
[0002] 在電能質(zhì)量檢測系統(tǒng)中,最重要的就是對信號的檢測處理技術,即檢測擾動起止 時間,從電能質(zhì)量研究至今,由于研究的側(cè)重點不同,相應的研究方法也不一樣,現(xiàn)主要的 分析方法有:瞬時無功功率法,數(shù)學形態(tài)學,動態(tài)時間測度,高階統(tǒng)計量,熵值計算等時域分 析法;FFT法、希爾伯特-黃變(HHT,Hilbert-Huang)變換,普羅尼(Prony)算法,小波變 換,S變換等時頻域變換分析法;Adaline算法,神經(jīng)網(wǎng)絡,專家系統(tǒng),支持向量機,模糊邏輯 及其他多種算法融合法。
[0003] 在電能質(zhì)量擾動檢測的研究初期,穩(wěn)態(tài)問題為主要研究對象。常用時域仿真分析 法檢測,即在時域上對信號進行分析,主要通過仿真軟件來對電能質(zhì)量進行分析,這種分析 方法在信號的處理檢測前,要事先估計信號中所含頻率分量,但動態(tài)電能質(zhì)量的頻率成分 未知,這限制了仿真步長,從而影響了動態(tài)電能質(zhì)量的分析結(jié)果。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明的目的是為了解決現(xiàn)有技術對于擾動信號分析速度低,效果差,不能有效 的解決暫態(tài)電能質(zhì)量擾動的問題。
[0005] 本發(fā)明的技術方案是:基于FPGA的小波算法IP核的設計方法,采用多分辨率分析 和DB5小波算法,借助DSPBuilder工具實現(xiàn)濾波器模塊設計,并對所設計的濾波器模型進 行仿真,以驗證所提方法的可行性;利用DSPBuilder建立濾波器模塊,最后完成在FPGA中 進行小波算法IP核設計。
[0006] 所述所述小波算法包括前置數(shù)據(jù)處理過程,濾波器處理過程和后置數(shù)據(jù)處理過 程。
[0007] 所述前置數(shù)據(jù)處理部分包含接受數(shù)據(jù)輸入過程和邊界延拓過程。
[0008] 所述數(shù)據(jù)延拓方法為零延拓、周期延拓或?qū)ΨQ周期延。
[0009] 所述濾波器模塊設計步驟包括:
[0010] 設計Simulink模型文件,在Matlab/Simulink軟件環(huán)境中設計模型文件;
[0011] 完成模型文件的設計后,運用Simulink中的圖形仿真工具,對設計的模型文件進 行仿真;
[0012] 在模型文件的設計時添加了SignalCompiler模塊,利用該模塊,將在Simulink中 設計好的.mdl模型文件轉(zhuǎn)換成.vhd格式的VHDL程序;生成的.vhd文件用于RTL級系統(tǒng) 設計;
[0013] 對轉(zhuǎn)換生成的VHDL的程序代碼和RTL設計代碼以及仿真文件在QuartusII軟件 中進行仿真實驗;
[0014] 經(jīng)過仿真實驗驗證了代碼的準確性,進而對VHDL程序代碼進行綜合編譯,布局布 線,生成相應的硬件下載配置文件,將配置文件下載到FPGA器件上完成硬件驗證;
[0015] 所述FPGA中進行小波算法IP核設計包括以下步驟:對頂層模塊進行整合;對 FPGA的硬件資源進行規(guī)劃和軟件編程結(jié)構(gòu)與指令的選擇以達到優(yōu)化;生成IP核。
[0016] 本發(fā)明與現(xiàn)有技術相比具有以下效果:本發(fā)明對于暫態(tài)電能質(zhì)量檢測,基于FPGA 的小波算法具有性能可靠、實時性好、運算速度快、設計周期短、靈活性強及成本低等優(yōu)點, 充分體現(xiàn)了現(xiàn)代電子設計自動化開發(fā)的特點,本發(fā)明的基于FPGA的動態(tài)擾動檢測算法具 有提高設計性能、降低產(chǎn)品研發(fā)成本、縮短設計周期、設計靈活性強、占用FPGA邏輯資源少 等優(yōu)點。
【附圖說明】
[0017] 圖1,本發(fā)明小波算法的流程示意圖;
[0018] 圖2,本發(fā)明DSPBuilder的設計流程框圖;
[0019] 圖3,本實施方式構(gòu)建的低通濾波器示意圖;
[0020] 圖4,本實施方式構(gòu)建的高通濾波器示意圖;
[0021] 圖5,本發(fā)明實施方式的結(jié)構(gòu)映射流程框圖;
[0022] 圖6,本發(fā)明實施方式電壓暫升信號檢測結(jié)果波形圖;
[0023] 圖7,本發(fā)明實施方式的電壓暫降信號檢測結(jié)果波形圖;
[0024] 圖8,本發(fā)明實施方式的電壓中斷信號檢測結(jié)果波形圖;
[0025] 圖9,本發(fā)明實施方式的電壓脈沖信號檢測結(jié)果波形圖;
[0026] 圖10,本發(fā)明實施方式的電壓振蕩信號檢測結(jié)果波形圖。
【具體實施方式】
[0027] 結(jié)合【附圖說明】本發(fā)明的【具體實施方式】,本發(fā)明的基于FPGA的小波算法IP核的設 計方法,采用多分辨率分析和DB5小波算法,借助DSPBuilder工具實現(xiàn)濾波器模塊設計, 并對所設計的濾波器模型進行仿真,以驗證所提方法的可行性;利用DSPBuilder建立濾 波器模塊,最后完成在FPGA中進行小波算法IP核設計。
[0028] 所述所述小波算法包括前置數(shù)據(jù)處理過程,濾波器處理過程和后置數(shù)據(jù)處理過 程。
[0029] 所述前置數(shù)據(jù)處理部分包含接受數(shù)據(jù)輸入過程和邊界延拓過程。
[0030] 所述數(shù)據(jù)延拓方法為零延拓、周期延拓或?qū)ΨQ周期延。考慮到零延拓法誤差較大, 對稱周期延拓法要求使用對稱的小波濾波器組,而周期延拓法對濾波器沒有特殊的要求, 并且誤差亦可接受。因此,本實施方式采用周期延拓法。在數(shù)據(jù)進入該模塊后對其進行周 期延拓。
[0031] 所述濾波器模塊設計步驟包括:
[0032] 1.設計Simulink模型文件,在Matlab/Simulink軟件環(huán)境中設計模型文件,先 建立一個.mdl模型文件,與建立Simulink圖形文件一樣,調(diào)用DSPBuilder模塊或其他 Simulink模塊完成圖形文件的建立,從而完成了系統(tǒng)級或算法級的模塊設計文件。
[0033] 2.完成模型文件的設計后,運用Simulink中的圖形仿真工具,對設計的模型文件 進行仿真,分析文件功能,查看仿真結(jié)果的正確性,完成模型文件仿真過程。
[0034] 3.在模型文件的設計時添加了SignalCompiler模塊,利用該模塊,將在Simulink 中設計好的.mdl模型文件轉(zhuǎn)換成.vhd格式的VHDL程序。生成的.vhd文件用于RTL級系 統(tǒng)設計。
[0035] 4.對轉(zhuǎn)換生成的VHDL的程序代碼和RTL設計代碼以及仿真文件在QuartusII軟 件中進行仿真實驗。
[0036] 5.經(jīng)過仿真實驗驗證了代碼的準確性,進而對VHDL程序代碼進行綜合編譯,布局 布線,生成相應的硬件下載配置文件,將配置文件下載到FPGA器件上完成硬件驗證。
[0037] 使用Matlab的wfilters函數(shù)獲得DB5小波基的分解濾波器的高通、低通系數(shù),如 下式所示:
[0038] Lo_D=[0· 0033 -0· 0126 -0· 0062 0· 0776 -0· 0322-0. 2423 0· 1384 0· 7243 0. 6038 0. 1601]
[0039] Hi_D=[-0· 1601 0· 6038 -0· 7243 0· 1384 0· 2423-0. 0322 -0· 0776 -0· 0062 0.0126 0.0033]
[0040] 為使系統(tǒng)模型的建立和數(shù)據(jù)的運算更方便,需對得到的濾波器系數(shù)進行量化,本 文選取9位二進制數(shù)表示量化系數(shù),并將小波系數(shù)乘以2 9,得到經(jīng)過量化后的小波系數(shù),如 下式所示:
[0041] Lo_D= [1,-3, -2, 20, -8, -62, 35, 185, 155, 41]
[0042] Hi_D= [-41,155, -185, 35, 62, -8, -20, -2, 3, 1]
[0043] 根據(jù)上面得到的量化后的低通和高通濾波器系數(shù),結(jié)合濾波器的設計原理,因為 濾波器的系數(shù)含有十個數(shù)組成員,所以需要進行十階濾波器的設計,分別添加九個延遲單 元、十個增益單元以及十輸入的并行加法器模塊,并對各模塊進行參數(shù)設置。根據(jù)前文對 檢測原理的研究可知,只要小波函數(shù)確定,其高通、低通濾波器的系數(shù)就確定,在實現(xiàn)高通、 低通濾波器的過程中,增益單元的值依次為小波系數(shù)的量化值,所構(gòu)建的低通分解濾波器 和高通分解濾波器,分別如圖3所示、圖4所示。
[0044] 在完成了DB5小波基的高低通分解濾波器的設計以后,分別將其生成子模塊,再 根據(jù)Mallat算法將其夠加成檢測系統(tǒng)
[0045] 所述FPGA中進行小波算法IP核設計包括以下步驟:
[0046] 對頂層模塊進行整合:除了調(diào)用4. 3小節(jié)中設計好的濾波器模塊之外,從圖1我們 可以看到,經(jīng)過濾波器處理以后數(shù)據(jù)還要經(jīng)過右移9位來取到真實值,由于在DSPBuilder 中設計濾波器時,對濾波器的系數(shù)進行了量化,將其向左移動了九位。因此需對數(shù)據(jù)做這樣 的處理才能夠得到真實值。在完成了小波算法模塊各個部分的準備之后,就要對其進行整 體的設計;對該文件進行分析和綜合,沒有錯誤和警告以后就可以使用QuartusII內(nèi)的工 具將語言轉(zhuǎn)換為可調(diào)用的器件模塊,在頂層模塊中連接好電路;
[0047] 對FPGA的硬件資源進行規(guī)劃和軟件編程結(jié)構(gòu)與指令的選擇以達到優(yōu)化:采用 FPGA實現(xiàn)小波算法,需要對FPGA的硬件資源進行規(guī)劃和軟件編程結(jié)構(gòu)與指令的選擇以達 到優(yōu)化。下面通過硬件加速核以及RTL級兩個方面對本文所采用的小波算法進行實時性優(yōu) 化。
[0048] 選定