日韩中文字幕久久久97都市激情,久久91网,亚洲天堂最新,国产精品嫩草影院九色,亚洲午夜精品一本二本,精品少妇一区二区三区蜜桃,av一道本

一種基于fpga的多通道數字濾波器的制造方法

文檔序號:7527593閱讀:385來源:國知局
一種基于fpga的多通道數字濾波器的制造方法
【專利摘要】本發明公開了一種基于FPGA的多通道數字濾波器,將低通濾波器內核與外部多路數據通道、分頻計數器、開關計數器和上升沿檢測器封裝。該分頻計數器將上升沿有效的外部輸入提示信號ND到或因計數滿1000將輸出拉高電平后,將計數值復位至0。開關計數器對分頻計數器的輸出進行計數,且根據該開關計數器的輸出驅動通道的切換。本發明相比現有技術具有以下優點:本發明的一種基于FPGA的多通道數字濾波器,將濾波功能設計為一個固定的核,不同路的信號通過不同時間閥片來輪詢使用內核,通過分頻計數器、開關技術器實現多路信號對濾波核的共用,并對低通濾波器內核的數據先放大計算后再縮小,以保持計算過程中的精度不丟失。
【專利說明】—種基于FPGA的多通道數字濾波器

【技術領域】
[0001]本發明涉及濾波器,尤其涉及的是一種基于FPGA的多通道數字濾波器。

【背景技術】
[0002]諸如電力、圖像處理、雷達、氣象領域中很多電子系統需要將多路信號進行濾波處理,這些信號的濾波往往計算量大、速度要求高、延時要小。隨著數字濾波系統對寬帶、高速、實時信號處理要求越來越高,對濾波器的處理速度、帶寬等性能要求也隨之提高。以前多用數字處理器DSP芯片編程實現,它們主要的數學運算單元是乘累加器(MAC)。MAC能在一個機器時鐘周期內完成一次乘累加運算,同時硬件上配備不同等級的流水結構和哈佛結構,能夠實現高速實時的數字信號處理。但由于其一個時鐘周期只能進行一個計算,因此所有的計算均是串行處理,對于單路的信號處理尚可以接受,對于多路的信號處理,勢必帶來很長時間的延時,很容易就超過了系統的采樣周期,使系統設計無法實現。所以必須尋找一種新型的技術或器件能夠實現并行運算,也就是說在一個芯片中可以實現多個類似DSP芯片的功能單元,而FPGA用作數字信號處理的運算,其中的乘累加運算可以實現大多數數字信號處理算法,而強大的并行處理能力,則能夠大大提高乘累加運算的效能。FPGA具有靈活的可編程邏輯,突破了并行處理與水平級數的限制,可以很好的實現信號處理的實時性。同時,開發程序的可移植性好,可以縮短開發周期;由于軟件是燒至內部邏輯單元,所以不易破解,保密性強;但即便FPGA可以實現并行計算,一個芯片中可以實現多個相同的功能單元,但如果在多路數據處理時,每一路均單獨使用一路處理單元,往往一塊芯片僅能實現很有限的幾路信號,基于這種情況,必須得使用“時間換空間”的設計策略,使其既能夠實現快速處理,又能在同一塊芯片上實現多路的計算。


【發明內容】

[0003]本發明的目的在于克服現有技術的不足,提供了一種基于FPGA的多通道數字濾波器,利用FPGA內部資源,實現低通濾波器內核,再通過多通道封裝技術將內核打包成具有多通道濾波功能的濾波器。
[0004]本發明是通過以下技術方案實現的:一種基于FPGA的多通道數字濾波器,LP_Filter內核與外部多路數據通道、分頻計數器、開關計數器和上升沿檢測器封裝,每個數據通道內設周期為1000的時間閥片,外部的數字輸入信號在通道內傳輸經兩級FIFO寄存器處理,經一級FIFO寄存器處理為一步時延輸入信號,經兩級FIFO寄存器處理為兩步時延輸入信號,該數字輸入信號、一步時延輸入信號、兩步時延輸入信號均通過三態開關接入低通濾波器LP_Filter內核;該分頻計數器將上升沿有效的外部輸入提示信號ND到或因計數滿1000將輸出拉高電平后,將計數值復位至0,從新計數;該開關計數器對分頻計數器的輸出進行計數,且根據該開關計數器的輸出驅動通道的切換;該上升沿檢測器接受開關計數器的信號,判斷是否產生一個上升的上升沿電平,并通知下級功能模塊讀取數據。
[0005]作為上述方案的進一步優化,低通濾波器LP_Filter內核中集成第一加法器、第二加法器、第三加法器、第四加法器、第五加法器,第一乘法器、第二乘法器、第三乘法器、第一移位寄存器和第二移位寄存器,數字輸入信號Xn經低通濾波器LP_Filter內核處理后輸出數字輸出信號yn,其信號處理步驟如下:
[0006]I)、數字輸入信號Xn和兩步時延數字輸入信號xn_2經第一加法器合成為33位寬度的數字信號Xtl2;
[0007]2)、兩個一步時延數字輸入信號Xlri經第二加法器合成為33位寬度的數字信號
xIl ?
[0008]3)、數字信號Xtl2和X η經第三加法器合成為34位寬度的數字信號X 012;
[0009]4)、數字信號Xtll2經第一乘法器與濾波系數C Χ(ι合成為69位寬度的數字信號X 69;
[0010]5)數字信號X69經第一移位寄存器截斷處理為32位寬度的數字信號X 32;
[0011]6)兩步時延數字輸出信號yn_2和濾波系數Cy2經第三乘法器合成為67位寬度的數字信號y21;
[0012]7) 一步時延數字輸出信號yn_i和濾波系數Cyl經第二乘法器合成為67位寬度的數字信號y11;
[0013]8)數字信號y21和y n經第四加法器合成為68位寬度的數字信號y 68;
[0014]9)數字信號y68經第二移位寄存器截斷處理為32位寬度的數字信號y 32;
[0015]10)經截斷處理的數字信號y32和X 32經第五加法器合成為32位寬度的輸出數字輸出信號yn。
[0016]本發明的一種基于FPGA的多通道數字濾波器,為了實現多個通道的數據共用一個濾波器內核,將多個通道的輸入數據與輸出結果用多路開關的方式接入至上述的低通濾波內核中,并給出一段固定的延時。延時用計數器實現,延時計數器將時鐘CLK信號作為計數源信號,當外部給出新的采樣數據時,通過ND信號通知計數器開始計數,當計數值達到1000時就將輸出信號給出1us的上升沿信號,以驅動下一級的多路開關驅動信號;多路開關驅動信號也是一個計數器,其計數信號源為上一級計數器的輸出,每當輸入信號有上升沿跳變時便將輸出信號做加I操作,如果輸出達到2時就復位至0,其輸出去驅動輸入輸出口線上的多路開關,以使各個信號在多組數據通道間轉換。因為數字濾波器的計算過程需要用到過去幾個采樣點的數據,所以必須將過去幾個點的數據進行存儲并在下次計算時應用,此處應用了 2級的FIFO (先入先出寄存器),每當新的數據打入后,先前的數據就移出,以此來實現舊數據的存儲與移動。當所有多組濾波數據均計算完畢后就給出RDY信號,通知外部其它單元數據已經計算完畢,可以讀取數據,進行下一步的應用或計算。
[0017]本發明相比現有技術具有以下優點:本案中設計的一種基于FPGA的多通道數字濾波器采用這種獨特的設計思路,將濾波功能設計為一個固定的核,而不同路的信號通過不同的時間閥片來輪詢使用這個核,通過分頻計數器、開關技術器實現多路信號對濾波核的共用,在時間與空間均滿足要求的情況下實現設計思路。而由于濾波器的系數以及輸入量很可能是些比較小的小數值,為了保持計算過程中的精度不丟失,對低通濾波器LP_Filter內核的數據先放大計算后再縮小的處理方式。

【專利附圖】

【附圖說明】
[0018]圖1是本發明的一種基于FPGA的多通道數字濾波器的結構原理圖。
[0019]圖2為圖1中的低通濾波器LP_Filter內核的數據處理方法原理圖。

【具體實施方式】
[0020]下面對本發明的實施例作詳細說明,本實施例在以本發明技術方案為前提下進行實施,給出了詳細的實施方式和具體的操作過程,但本發明的保護范圍不限于下述的實施例。
[0021]參見圖1和圖2,為三路通道的優選實施例的一種基于FPGA的多通道數字濾波器,低通濾波器LP_Filter內核與外部三路數據通道、分頻計數器Tcounter、開關計數器Scounter和上升沿檢測器LPF_0K封裝,每個數據通道內設周期為1000的時間閥片。
[0022]外部的數字輸入信號X_a、X_b、X_c輸入為數字輸入信為xa、xb、x。,經兩級FIFO寄存器處理,經一級FIFO寄存器處理為一步時延輸入信號xal、xbl、xel,經兩級FIFO寄存器處理為兩步時延輸入信號xa2、xb2> xe2,該數字輸入信號、一步時延輸入信號、兩步時延輸入信號均通過三態開關接入低通濾波器LP_Filter內核。數字輸入信號為xa、xb、x。通過三態開關S3接至內核的數字輸入信號xn(l。一步時延輸入信號xal、xbl> xel通過三態開關S3接至內核的一步時延數字輸入信號xnl;兩步時延輸入信號X a2> xb2> Xd通過三態開關S3接至內核的兩步時延輸入信號xn2。
[0023]分頻計數器Tcounter對時鐘CLK信號進行計數,其RESET信號由外部輸入提示信號ND與自身的輸出O相或后產生,該分頻計數器Tcounter將上升沿有效的外部輸入提示信號ND到或因計數滿1000將輸出拉高電平后,將計數值復位至0,從新計數。
[0024]該開關計數器Scounter對分頻計數器Tcounter的輸出進行計數,輸出為0、1、或2,且根據該開關計數器的輸出驅動通道的切換。當外部輸入提示信號ND提示有新的數據接入,開關計數器Scounter輸出復位為0,以使濾波數據通道從a通道,然后b通道,然后c通道。即:
[0025]當b(0:l) = bOO 時,則接 a 通道;
[0026]當b (0:1) =b01 時,則接 b 通道;
[0027]當b(0:l) =b 10 時,則接 c 通道。
[0028]通過以上的數據通道及其驅動方式,則將a、b、c三個通道的數據各自通過1000個時鐘周期的時間,濾波后經由各自通道輸出。
[0029]上升沿檢測器LPF_0K接受開關計數器的信號,判斷是否產生一個上升的上升沿電平,并通知下級功能模塊讀取數據。當上升沿檢測器LPF_0K模塊接收來自開關計數器Scounter的b (O:1),當b (O:1) = blO時,輸出1uS寬度的上升沿電平,用來通知下級功能模塊讀取數據。
[0030]參見圖2,低通濾波器LP_Filter內核中集成第一加法器、第二加法器、第三加法器、第四加法器、第五加法器,第一乘法器、第二乘法器、第三乘法器、第一移位寄存器和第二移位寄存器,低通濾波器LP_Filter內核數據處理的實質為:將多個信號輸入值和以前的多個輸出值與固定的系數相乘后進行迭加,用FPGA里的乘法單元以及加法單元來實現,而為了保持計算過程中的小數精度不丟失,對數據先放大計算后再縮小。數字輸入信號Xn經低通濾波器LP_Filter內核處理后輸出數字輸出信號yn,其信號處理步驟如下:
[0031]I)、數字輸入信號Xn和兩步時延數字輸入信號xn_2經第一加法器合成為33位寬度的數字信號Xtl2;
[0032]2)、兩個一步時延數字輸入信號Xlri經第二加法器合成為33位寬度的數字信號xH?
[0033]3)、數字信號^和X η經第三加法器合成為34位寬度的數字信號X 012;
[0034]4)、數字信號Xtll2經第一乘法器與濾波系數C Χ(ι合成為69位寬度的數字信號X 69;
[0035]5)數字信號X69經第一移位寄存器截斷處理為32位寬度的數字信號X 32;
[0036]6)兩步時延數字輸出信號yn_2和濾波系數Cy2經第三乘法器合成為67位寬度的數字信號y21;
[0037]7) 一步時延數字輸出信號yn_i和濾波系數Cyl經第二乘法器合成為67位寬度的數字信號y11;
[0038]8)數字信號y21和y n經第四加法器合成為68位寬度的數字信號y 68;
[0039]9)數字信號y68經第二移位寄存器截斷處理為32位寬度的數字信號y 32;
[0040]10)經截斷處理的數字信號y32和X 32經第五加法器合成為32位寬度的輸出數字輸出信號yn。輸出數字輸出信號yn通過三態開關S3接至Y_a、Y_b、Y_c。
[0041]本案中設計的一種基于FPGA的多通道數字濾波器采用這種獨特的設計思路,將濾波功能設計為一個固定的核,而不同路的信號通過不同的時間閥片來輪詢使用這個核,通過分頻計數器、開關技術器實現多路信號對濾波核的共用,在時間與空間均滿足要求的情況下實現設計思路。而由于濾波器的系數以及輸入量很可能是些比較小的小數值,為了保持計算過程中的精度不丟失,對低通濾波器LP_Filter內核的數據先放大計算后再縮小的處理方式。利用FPGA內部資源,實現低通濾波器內核,再通過多通道封裝技術將內核打包成具有多通道濾波功能的濾波器。
[0042]以上所述僅為本發明的較佳實施例而已,并不用以限制本發明,凡在本發明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發明的保護范圍之內。
【權利要求】
1.一種基于FPGA的多通道數字濾波器,其特征包括:將低通濾波器LP_Filter內核與外部多路數據通道、分頻計數器、開關計數器和上升沿檢測器封裝,每個數據通道內設周期為1000的時間閥片,外部的數字輸入信號在通道內傳輸經兩級FIFO寄存器處理,經一級FIFO寄存器處理為一步時延輸入信號,經兩級FIFO寄存器處理為兩步時延輸入信號,該數字輸入信號、一步時延輸入信號、兩步時延輸入信號均通過三態開關接入低通濾波器LP_Filter 內核; 該分頻計數器將上升沿有效的外部輸入提示信號ND到或因計數滿1000將輸出拉高電平后,將計數值復位至0,從新計數;該開關計數器對分頻計數器的輸出進行計數,且根據該開關計數器的輸出驅動通道的切換;該上升沿檢測器接受開關計數器的信號,判斷是否產生一個上升的上升沿電平,并通知下級功能模塊讀取數據。
2.根據權利要求1所述的一種基于FPGA的多通道數字濾波器,其特征包括:低通濾波器LP_Filter內核中集成第一加法器、第二加法器、第三加法器、第四加法器、第五加法器,第一乘法器、第二乘法器、第三乘法器、第一移位寄存器和第二移位寄存器,數字輸入信號Xn經低通濾波器LP_Filter內核處理后輸出數字輸出信號y n,其信號處理步驟如下: 1)、數字輸入信號Xn和兩步時延數字輸入信號Xn_2經第一加法器合成為33位寬度的數子?目號X(|2; 2)、兩個一步時延數字輸入信號Xlri經第二加法器合成為33位寬度的數字信號X11; 3)、數字信號&2和Xη經第三加法器合成為34位寬度的數字信號X 012; 4)、數字信號Xtll2經第一乘法器與濾波系數CΧ(ι合成為69位寬度的數字信號X 69; 5)數字信號X69經第一移位寄存器截斷處理為32位寬度的數字信號X32; 6)兩步時延數字輸出信號yn_2和濾波系數Cy2經第三乘法器合成為67位寬度的數字信號 y2i; 7)一步時延數字輸出信號yn_i和濾波系數Cyl經第二乘法器合成為67位寬度的數字信號yn; 8)數字信號y21和yη經第四加法器合成為68位寬度的數字信號y 68; 9)數字信號y68經第二移位寄存器截斷處理為32位寬度的數字信號y32; 10)經截斷處理的數字信號y32和X32經第五加法器合成為32位寬度的輸出數字輸出信號yn。
【文檔編號】H03H17/02GK104467740SQ201410820113
【公開日】2015年3月25日 申請日期:2014年12月24日 優先權日:2014年12月24日
【發明者】李瑜, 尹陸軍, 嚴良占 申請人:安徽天沃電氣技術有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1