TWI798455B - 數位訊號處理器及操作方法 - Google Patents

數位訊號處理器及操作方法 Download PDF

Info

Publication number
TWI798455B
TWI798455B TW108121716A TW108121716A TWI798455B TW I798455 B TWI798455 B TW I798455B TW 108121716 A TW108121716 A TW 108121716A TW 108121716 A TW108121716 A TW 108121716A TW I798455 B TWI798455 B TW I798455B
Authority
TW
Taiwan
Prior art keywords
filter
shift register
impulse response
memory
digital signal
Prior art date
Application number
TW108121716A
Other languages
English (en)
Other versions
TW202032373A (zh
Inventor
史帝芬尼 佩提索
Original Assignee
法商曼塔公司
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 法商曼塔公司 filed Critical 法商曼塔公司
Publication of TW202032373A publication Critical patent/TW202032373A/zh
Application granted granted Critical
Publication of TWI798455B publication Critical patent/TWI798455B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/003Modifications for increasing the reliability for protection
    • H03K19/00323Delay compensation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Databases & Information Systems (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Complex Calculations (AREA)
  • Image Processing (AREA)
  • Communication Control (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Electrophonic Musical Instruments (AREA)

Abstract

靈活的數位訊號處理器模組包括濾波器單元,該濾波器單元包括乘法器和加法器,其中乘法器接收來自記憶體和移位暫存器查找表的輸入。數位訊號處理器模組可以透過從記憶體提供合適的濾波器係數和從移位暫存器查找表提供資料值來實現諸如FIR或IIR濾波器的數位濾波器。可選的狀態機可以確保記憶體移位暫存器查找表之定址的同步,以及數位訊號處理器模組的多個實例之間的同步,其中這些是實現特定濾波器所需的。所提出的架構提供了額外的操作模式,其中支持除了濾波器實現之外的操作。

Description

數位訊號處理器及操作方法
本發明涉及數位訊號處理器架構。
數位訊號處理器是專門為數位訊號處理操作(例如數位濾波器,壓縮等)提供專用支持的數位電子模組。
數位訊號處理器功能性可以以多種格式提供,包括獨立的微處理器,作為“封裝中的系統”單元的一部分,或者作為FPGA架構中的專用區塊。
FPGA是一種可程式化邏輯裝置。它們通常係基於標準可程式化邏輯區塊,大量的可程式化邏輯區塊被配置在一起以實現各種功能。
圖1示意性地示出了現有技術中已知的FPGA系統的範例。
如圖1所示,FPGA晶片10包括多個邏輯區塊11。晶片還包括多個輸入/輸出端口12。連接這些邏輯區塊11和輸入/輸出端口12的是多個軌道14。在這些軌道的連接點處設置有多個可程式化選路區域13,其也可以稱為開關盒。在這些可程式化選路區域中,提供了開關,其可以在儲存在與每個開關連接的位元格記憶體中的邏輯值的控制下選擇性地連接任何一對交叉的軌道。位元格記憶體值在系統啟動時從非揮發性記憶體設置。因此,藉由根據需要設置開關記憶體中的值,任何邏輯區塊的任何連接都可以耦合到任何其他邏輯區塊或任何輸入/輸出端口12的連接。類似地,任何一個輸入/輸出端口可以連接到任何一個其他的輸入/輸出端口。因此,藉由適當地配置記憶體單元以定義每個邏輯區塊的操作,以及開關記憶體13以在邏輯區塊之間建立適當的連接,可以實現任何期望的功能。
雖然FPGA的基本原理是基於藉由合適的連接和標準邏輯區塊的合適邏輯值實現任何數位操作的可能性,但在某些情況下這種通用的方法效率非常低,就用於實現給定的功能的晶片表面積以及應用所需的功能的操作中所消耗的能量來說。因此,許多現代FPGA架構包括專用區塊15,其包括專門設計用於支持某些特定功能的電路。
某些FPGA架構提供上述的專用區塊15以支持數位訊號處理操作。
圖2示出了現有技術中已知的數位訊號處理區塊。
如圖2所示,提供了包括兩個輸入211和212的區塊200,每個輸入由繼電器213和214緩衝。輸入211和212向乘法器220提供值,乘法器220藉由另一個繼電器221將其輸出提供給加法器230。加法器藉由另一個繼電器216接收第二輸入215,並藉由另一個繼電器231發出區塊輸出217。取決於實作的細節,可以使用或不使用各種繼電器。
作為如上所述的FPGA架構中的區塊,DSP區塊可以連接到由FPGA的其他區塊所提供的任何合適的邏輯。 特別地,這些通常是如上所述的標準邏輯區塊的其他區塊可以被配置為提供所需操作可能需要的任何邏輯輸入。藉由向一個輸入211或212提供合適的係數值,並將適當定時的一系列資料值提供給另一個輸入,並配置其他邏輯區塊以累加輸出值,可以實現濾波器和其他功能。
例如,可以在Xilinx Virtex 5或Xilinx Virtex 4 FPGA架構的用戶指南中找到此類方法的示例。
特別應當理解,雖然如上所述的現有技術方法在某種程度上提高了DSP架構的效率,但是它們依賴外部邏輯來支持特定DSP操作的實作意味著所得到的電路在所需空間、能量消耗、時脈分配等方面保持在次最佳化。期望提供一種DSP架構,其提供更多整合功能,同時保持高度的多功能性。
根據本發明的第一態樣,提供了一種可程式化數位訊號處理器,包括數位濾波器、移位暫存器查找表和濾波器記憶體,其中移位暫存器查找表被耦合以在第一操作模式中向數位濾波器提供輸入資料,並且濾波器記憶體被耦合以在第一操作模式中向數位濾波器提供濾波器係數,其中濾波器記憶體和移位暫存器查找表的輸出被同步以便產生相應的濾波器係數和輸入資料共同實現所需的濾波器配置。
在第一態樣的開發中,移位暫存器查找表包括移位暫存器,其中移位暫存器被配置為可操作為單個連續移位暫存器,或者可操作為多個可獨立操作的移位暫存器。
在第一態樣的開發中,可程式化數位訊號處理器還包括狀態機,狀態機向移位暫存器查找表和濾波器記憶體提供定址值。在第一態樣的開發中,可程式化定址值包括移位暫存器查找表和濾波器記憶體的單個位址,由此儲存在移位暫存器查找表和濾波器記憶體中的值被建構成使得單個位址在第一操作模式中為數位濾波器引用相應的係數和輸入資料。
在第一態樣的開發中,在第二操作模式中,儲存在移位暫存器查找表中的值被輸出以用於被數位濾波器以外之物進行處理。
在第一態樣的開發中,在第二操作模式中,移位暫存器查找表用作乘法器輸入暫存器。
在第一態樣的開發中,數位濾波器構成有限脈衝響應濾波器的組件。
在第一態樣的開發中,數位濾波器構成無限脈衝響應濾波器的組件,其包括在回饋配置中的第一有限脈衝響應濾波器和第二有限脈衝響應濾波器,其中狀態機提供致能訊號來協調第一有限脈衝響應和第二有限脈衝響應的輸出組合,以實現無限脈衝響應濾波器。
在第一態樣的開發中,數位訊號處理器在包括多個查找表的FPGA架構中實現,每個查找表的配置由在系統啟動時用配置位元流程式化的一個或多個相應記憶體單元來定義,其中濾波器記憶體中的值也由配置位流來程式化。
根據本發明的第二態樣,提供了一種執行數位訊號處理器操作的方法,該方法包括定址移位暫存器查找表以在第一操作模式中將資料輸出到數位訊號處理器,並定址濾波器記憶體以在第一操作模式中向數位濾波器提供係數,並且使用該係數對輸入資料執行數位濾波器操作。
在第二態樣的開發中,該方法還包括以下步驟:建構移位暫存器查找表和濾波器記憶體,使得單個位址值在第一操作模式中為數位濾波器引用對應的係數和輸入資料,以使得在第一操作模式中定址移位暫存器查找表以向數位訊號處理器輸出係數的步驟以及在第一操作模式中定址濾波器記憶體以向數位濾波器提供輸入資料的步驟係使用該單個位址值來執行。
在第二態樣的開發中,數位濾波器操作是有限脈衝響應濾波器操作。
在第二態樣的開發中,數位濾波器操作是無限脈衝響應濾波器操作,其包括基於回饋值的第一有限脈衝響應操作和第二有限脈衝響應操作,該方法包括提供致能訊號的進一步的步驟,該致能訊號協調第一有限脈衝響應操作和第二有限脈衝響應操作的組合結果,以獲得無限脈衝響應濾波器結果。
根據本發明的第三態樣,提供了一種用於電腦的程式,包括適於實現第二態樣的步驟的指令。
圖3示出了根據第一實施例的可程式化數位訊號處理器。
如圖所示,可程式化數位訊號處理器300包括數位濾波器310、移位暫存器查找表320和記憶體330。記憶體可以包括隨機存取記憶體,例如RAM或ROM裝置、級聯暫存器或其他。移位暫存器查找表320被耦合以在第一操作模式中向數位濾波器310提供輸入資料,並且濾波器記憶體330被耦合以在該第一操作模式中向數位濾波器310提供濾波器係數。對濾波器記憶體和移位暫存器查找表的輸出進行同步,以便產生相應的濾波器係數和輸入資料共同實現所需的濾波器配置。
數位濾波器包括:乘法器,被配置為將資料值和係數值相乘,以及加法器,用於累積連續值,可能具有附加的暫存器,基本上如上面參考圖2所描述的。附加延遲、求和、多工或其他分量可以被合併以擴展功能。
如圖所示,移位暫存器查找表320包括移位暫存器,該移位暫存器包括四個正反器321、322、323、324。應當理解,雖然僅示出了四個正反器,但是可以提供任何數量的正反器。由於移位暫存器的長度對應於可以由圖3的DSP的單個實作來處理的係數的最大數量,因此可以基於可以藉由濾波器處理的係數的數量來選擇正反器的數量,亦即濾波器分接頭的數量,濾波器分接頭的數量又是濾波器的基本設計限制,反映了可以執行的濾波器操作的複雜性。在某些實施例中,正反器的合宜的數量可以是32個。
類似地,記憶體330中的位址數量可以等於濾波器可以處理的係數的數量,亦即濾波器分接頭的數量。在其他實施例中,記憶體330中的位址數量的數量可以小於濾波器可以處理的係數的數量,亦即濾波器分接頭的數量。在其他實施例中,記憶體330中的位址數量的數量可以大於濾波器可以處理的係數的數量,亦即濾波器分接頭的數量。
儲存在每個記憶體位址中的資料字的長度可以等於輸入資料匯流排的寬度。24位元輸入匯流排表示24位元係數,以及表示移位暫存器查找表包括24個並行的移位暫存器和多工器。然後,濾波器將在濾波操作中執行兩個24位元值的乘法。
在操作中,用於濾波的二進制資料值之連續串流到達輸入301,當處理如下所述進行時,該連續串流逐次地通過移位暫存器321、322、323、324而被時控。對於加載到移位暫存器321、322、323、324的正反器中的給定的一組值,移位暫存器321、322、323、324的各個正反器,多至濾波器中的分接頭的數量被按順序定址,並且值被傳送到濾波器310以作為資料值。
同時,當移位暫存器321、322、323、324的各個正反器,多至濾波器中的分接頭的數量被定址時,記憶體330被同時定址,由此定址的記憶體位置包含對應於定址的正反器的濾波器係數,並且將得到的輸出傳送到濾波器310以作為一組係數值。
來自移位暫存器的定址值以這樣的方式由濾波器310使用由記憶體330提供的相應係數來處理。累加濾波器的輸出,然後系統繼續定址移位暫存器321、322、323、324的下一個正反器,和記憶體330中的對應位置。
在此基礎上,多至濾波器中的分接頭的數量的移位暫存器中之各個資料值根據其各自的係數組被處理,並且結果在濾波器的輸出處累加。一旦多至濾波器中的分接頭的數量的移位暫存器中之各個正反器已經被定址,移位暫存器就被時控,例如透過啟動時脈匯流排302,使得移位暫存器中的每個正反器的值被傳遞到其鄰居,新的資料值從資料輸入301被時控進入至移位暫存器的第一正反器321,並且移位暫存器中最後的一個正反器上的值被丟棄。
定址多至濾波器中的分接頭的數量的移位暫存器321、322、323、324的各個正反器的過程依次進行,並且透過使用由記憶體330所提供的相應係數的濾波器310所進行的處理隨後針對新的一組值重新開始。
這個過程無限期地繼續,直到輸入通道301上的每個輸入值都已經被處理了。
圖4示出了根據第二實施例的可程式化數位訊號處理器。
如關於圖3所描述的,為記憶體330中的係數值定址以及為移位暫存器查找表420中的資料值定址是以同步的方式執行,使得當從移位暫存器查找表420獲得對應於濾波器的特定分接頭位置的資料時,從記憶體330獲得該分接頭位置的適當係數。應當理解,可以以各種方式實現上述的同步,例如參考映射表或其類似物等一方面為記憶體330提供相應的位址值,另一方面為移位暫存器查找表420提供相應的位址值。
還應當理解,記憶體330移位暫存器查找表420可以被建構成使得相同的位址值指向記憶體330中的對應值和移位暫存器查找表420中的資料值。
這樣,提供了可程式化數位訊號處理器400,其包括數位濾波器310、移位暫存器查找表420和記憶體330,其中移位暫存器查找表420被耦合以在第一模式中向數位濾波器310提供輸入資料,並且濾波器記憶體330被耦合以在第一操作模式中向數位濾波器310提供濾波器係數,其中濾波器記憶體330和移位暫存器查找表420的輸出被同步以便產生相應的濾波器係數以及輸入資料共同實現所需的濾波器配置。
圖4呈現了一種實現同步的方法,其中提供了計數器440,其接收時脈輸入302和分接頭數輸入441。計數器440還提供有輸出當前計數值的輸出。計數器440可以更一般地被看作構成同步狀態機的一部分或全部。計數值作為位址值被饋送到記憶體330和移位暫存器查找表420。在此基礎上,係數值以連續位置加載到記憶體330中,使得當計數值遞增時,選擇對應於連續分接頭位置的連續係數值。同樣地,隨著計數值的增加,多工器425選擇對應於連續分接頭位置的移位暫存器中的連續正反器。因此,計數值用於以同步的方式定址記憶體330和移位暫存器查找表420。計數器被配置為在其達到分接頭數量計數(這取決於實作細節,可以是多至移位暫存器查找表420中的正反器數量的任何數量)時重新開始計數。在某些變型中,計數器可以設置有溢出輸出,其在當計數值達到分接頭數量輸入時,輸出預定值。該輸出可用於協調多個可程式化數位訊號處理器的操作,例如,如下面進一步詳細描述的。
如圖所示,在圖4的配置中,多工器425被實現為兩個子多工器425a和425b,每個子多工器425a和425b接收移位暫存器321~324的一部分輸出。每個子多工器425a和425b可以接收移位暫存器321~324的一半輸出,或者移位暫存器321~324的輸出可以以某種其他方式在兩個子多工器之間分配。兩個子多工器425a和425b的輸出本身由第三子多工器435c選擇,使得這三個子多工器425a、425b、425c在邏輯上等效於圖3的多工器325。另一個多工器426是在移位暫存器321~324中的點處所提供,該點對應於移位暫存器的輸出被發送到一個子多工器或另一個的點處,如正反器322和正反器323之間所示。利用一個選擇值,多工器426將正反器323的輸入耦合到正反器322的輸出,以便在操作中保持單個移位暫存器。利用另一個選擇值,多工器426將正反器323的輸入與正反器322的輸出去耦合,以支持替代輸入,以便提供兩個單獨的移位暫存器,例如,如下面參考圖7所描述的。
如圖所示,圖4的濾波器310還包括如上所述的累加器405,其可以被提供以累加來自濾波器310的連續輸出。透過這種方式,例如,可以透過累積由濾波器310針對各個分接頭位置而輸出的值來實現全有限脈衝響應濾波器,如上所示之使用相應資料值和係數值所獲得的。
這樣,可程式化數位訊號處理器還可以包括狀態機440,其向移位暫存器查找表和記憶體提供定址值,其中單個位址在第一操作模式中為數位濾波器引用相應的係數和輸入資料。
在某些實施例中,諸如參考圖3或4所描述的那些DSP模組可以被實現為FPGA架構中的DSP區塊。每個DSP區塊可以包括一個或多個DSP模組,例如參考圖3或4中描述的那些模組。每個FPGA可以包括任何數量的DSP區塊,以及適合於一般預期的使用FPGA架構的標準邏輯區塊和其他類型的區塊。這樣,數位訊號處理器可以在包括多個查找表的FPGA架構中實現,每個查找表的配置由在系統啟動時用配置位元流程式化的一個或多個相應記憶體單元來定義,其中濾波器記憶體中的值也由配置位流來程式化。
圖5呈現了根據一個實施例的有限脈衝響應濾波器的並行實作。
基於半並行實作的FIR濾波器可以在分接頭數量大於由單個DSP模組所提供的分接頭數量,例如參考圖3或4所描述的,或者頻率要求可以被多個DSP模組更好地滿足,該多個DSP模組被配置為在每個取樣週期計算數個分接頭等情境下使用。
舉例來說,在使用具有3個DSP的12-分接頭濾波器的情況下,可能適用以下分解:
Figure 02_image001
其中n是每個分接頭的指數 Cn是每個分接頭n的係數 Xn是每個分接頭n處的資料值
可以注意到,每個子項呈現相同的結構,並且可以使用一系列3個級聯DSP來實現(子項是4個乘積的加法)。
在此基礎上,如圖5所示,圖5提供了第一DSP模組510,其對應於例如上面參考圖3或4所描述的DSP模組,第二DSP模組520,其對應於例如上面參考圖3或4所描所述的DSP模組,以及第三DSP模組530,其對應於例如上面參考圖3或4所描述的DSP模組。每個DSP模組510、520、530已按照圖式地示出了包括同步元件、移位暫存器查找表元件和記憶體元件,以及濾波器元件的乘法器和加法器。
這三個DSP模組中的每一個被配置為FIR濾波器,例如,如參考圖4的元件400所描述的。三個DSP模組中的每一個被配置為處理濾波器的總分接頭的連續子集,其中該濾波器是要被系統作為一個整體實現,因此在所有三個DSP模組上實現的分接頭總數是最終濾波器的分接頭數。
第一DSP模組510接收資料輸入513。該相同資料從輸入523處的第一DSP模組的移位暫存器查找表的輸出饋送到第二DSP模組520,並且於輸入533處從第二DSP模組的移位暫存器查找表的輸出饋送到第三DSP模組530,以使得各個DSP模組的移位暫存器查找表構成延遲線,使得第二DSP模組520在第一DSP模組510之後n個週期接收資料,並且第三DSP模組520在第一DSP模組510之後2n個週期接收資料。
類似地,第一DSP模組510接收同步訊號515。經由由正反器516和526表示的延遲線,相應的同步訊號525被饋送到第二DSP模組520並且相應的同步訊號535被饋送到第三DSP模組530,使得第二DSP模組520在第一DSP模組510之後一個週期被致能,並且第三DSP模組520在第一DSP模組510之後兩個週期被致能。第一和第二DSP模組510和520的輸出在第二DSP模組的加法器521處相加,並且加法器521和第三DSP模組531的輸出在第三DSP模組的加法器531處相加。加法器531的輸出由模組540在完整的濾波器處理週期期間累加,如上所述,可以使用另一個DSP模組(例如參考圖4所述的元件405)的累積單元來實現。
藉由這種方法,提供合適的係數和同步訊號可以透過連接如上所述的適當數量的DSP模組來實現任意大小的FIR。應當理解,可以以這種方式連接任何期望數量的DSP模組。
圖6呈現出了根據一個實施例的無限脈衝響應濾波器的並行實作。
描述IIR濾波器的通用公式是:
Figure 02_image003
使用A0 =1可以簡化公式。 第一個總和定義了Nb 分接頭的FIR濾波器。這個FIR濾波器可應用於取樣輸入。 第二個總和定義了Na 分接頭的FIR濾波器。這個FIR濾波器可應用於IIR濾波器輸出。這是濾波器的回饋迴路。
在此基礎上,如圖6所示,圖6提供了第一DSP模組610,其對應於例如上面參考圖3或4所描述的DSP模組,第二DSP模組620,其對應於例如上面參考圖3或4所描所述的DSP模組,以及第三DSP模組630,其對應於例如上面參考圖3或4所描述的DSP模組。
這三個DSP模組中的兩個,610和630被配置為FIR濾波器,例如參考圖4的元件400所描述的。
具體地,第一DSP模組610定義Nb 分接頭的FIR濾波器。這個FIR濾波器可應用於取樣輸入601。第三DSP模組630定義Na 分接頭的FIR濾波器。這個FIR濾波器可應用於IIR濾波器輸出。這是濾波器的回饋迴路。FIR濾波器的運行速度足以在每個取樣週期產生一個結果,因此可以以同步方式累積兩個結果。兩個濾波器都已完全地註冊,但它們的工作頻率遠高於取樣頻率,因此可以在1個取樣週期內獲得最終結果。濾波器越大,IIR濾波器的效率越低,因為時脈比率與最大濾波器中的分接頭數量直接相關。為了簡單地解決濾波器同步,在本實施例中應用了以下限制:
由第一DSP模組610實現的直接FIR子濾波器限於可以在單個DSP模組中實現的分接頭的數量,使用例如參考圖4所描述的單個DSP方法,以便在所有的配置中授予相同的管線延遲。
由第三DSP模組630實現的回送FIR子濾波器被限制為第一DSP模組610的分接頭數量的一半,並且同樣使用例如參考圖4所描述的單個DSP方法來實現。為了使第三DSP模組630操作地足夠快以在第一DSP模組610的單個取樣週期期間產生其結果,需要使第三DSP模組630以第一DSP模組610的速率的4倍運行。這可以透過實現具有0常數的交錯係數的上述濾波器來達成。交錯方法解釋了16分接頭限制。
使用移位暫存器查找表和ALU在第二DSP模組620中執行子濾波器求和和同步。
第二DSP模組620從暫存器651和652接收時序資訊以作為同步該訊號的基礎,暫存器651和652分別從第一和第三DSP模組接收係數溢出指示442。來自DSP模組610和630的結果的同步需要在輸出模組610的輸出時提供延遲線以獲得與DSP模組610相同的深度(校正分接頭N對N/2在數量上的差異)。這可以使用DSP模組620的移位暫存器查找表在第二操作模式中完成,其中DSP配置中沒有足夠的專用暫存器。暫存器的具體數量將取決於實現細節,但舉例來說,如果需要3個級別的管線,由於其他訊號具有2*3=6個正反器,並且DSP電路僅提供2個,額外的級別可能由另一個DSP模組的移位暫存器查找表提供。
因此,數位濾波器可以是無限脈衝響應濾波器,其包括在回饋配置中的第一有限脈衝響應和第二有限脈衝響應,其中狀態機提供協調第一有限脈衝響應和第二有限脈衝響應的輸出的組合的同步訊號以實現無限脈衝響應濾波器。
在前面的例子中,已經呈現了許多基於DSP模組的不同配置,例如參考圖3或4所描述的。在這些中的一些中,個別的DSP模組已被用於除了在模組本身中實現濾波器操作之外的目的,而是用於向所提出的系統中的其他DSP模組提供其他的處理、儲存或同步功能。應當理解,例如,如關於圖3或4所描述的DSP模組的組件和配置,以及特別是可自由存取的移位暫存器查找表320的可利用性和記憶體單元330,使得每個這樣的濾波器單元高度地靈活,並且可應用於除濾波操作的實施之外的許多應用。例如,如關於圖3或4所描述的DSP模組可以,例如,用於實現能夠處理大的、複數或有號的值的乘法器、多工器、移位暫存器等。
圖7示出了根據一個實施例的使用濾波器實現的帶符號乘法器。
可以使用如參考圖3或4所描述的一系列序連DSP模組來實現任何期望大小的乘法器。
可以基於以下分解來定義47×47位元乘法器: 考慮到: A[46:0] x B[46:0]= 然後, A={A[46:23],A[22:0]}={A2,A1} B={B[46:23],B[22:0]}={B2,B1} AxB={A2,A1}x{B2,B1}= {A2xB2,A1xB2+A2xB1,A1xB1}= ={P3+(A1xB2+A2xB1+(A1xB1)[46,23])[46,23],(A1x B2+A2xB1+(A1xB1)[46,23])[22,0],(A1xB1)[22,0]}
如前所述,一方面乘法器將資料分成23個最低有效位元的一個集合(基於本範例中的乘法器處理24個有號位元,丟棄一個位元,並保留23個有號位元),而另一方面為24個最高有效位元的一個集合。在相應的一組最高有效位元和最低有效位元的處理之間進行了移位操作,以便可以在下一個相應的DSP模組處組合相應的結果。
如圖所示,該系統包括四個DSP模組710、720、730、740,每個模組實質上地對應於關於圖3或4所描述的配置。具體地,DSP模組710包括移位暫存器查找表711、同步狀態機713,其與例如圖4的同步狀態機相對應,以及乘法器712和加法器714,該乘法器712和該加法器714共同對應於圖3或4的濾波器單元。如圖所示,移位暫存器查找表711的移位暫存器是兩部分的配置,如上面參考圖4所描述的,其中輸入A1被饋送到移位暫存器711a的第一區段,並且第二輸入B1被饋送到移位暫存器711b的第一區段。每個移位暫存器711a、711b將資料饋送到乘法器712的相應輸入。乘法器712的輸出透過加法器714饋送到輸出715。應當理解,因為在第一DSP模組的情況下,加法器714將乘法器的輸出加零,這個分量可以同樣地被略過-在本範例中保留該成分以展示所提出的架構的靈活性。
類似地,DSP模組720包括移位暫存器查找表721、同步狀態機723,對應於例如圖4的同步狀態機,以及乘法器722和加法器724,該乘法器722和該加法器724共同對應於圖3或4的濾波器單元。如圖所示,移位暫存器查找表721的移位暫存器是兩部分的配置,如上面參考圖4所描述的,其例如透過多工器426來操作,其中輸入A1被饋送到移位暫存器721a的第一區段,並且第二輸入B2被饋送到移位暫存器721b的第一區段。每個移位暫存器721a、721b將資料饋送到乘法器722的相應輸入。取決於按照上面所述的分解而做的最高有效位元和最低有效位元之間的移位,加法器724將乘法器722的輸出和前一個DSP模組710的輸出715相加。乘法器722的輸出透過加法器724饋送到輸出725。
類似地,DSP模組730包括移位暫存器查找表731、同步狀態機733,對應於例如圖4的同步狀態機,以及乘法器732和加法器734,該乘法器732和該加法器734共同對應於圖3或4的濾波器單元。如圖所示,移位暫存器查找表731的移位暫存器為如上面參考圖4所描述的兩部分配置,其中輸入A2被饋送到移位暫存器731a的第一區段,並且第二輸入B1被饋送到移位暫存器731b的第一區段。每個移位暫存器731a、731b將資料饋送到乘法器732的相應輸入。加法器734將乘法器732的輸出和前一個DSP模組720的輸出725相加。乘法器732的輸出透過加法器734饋送到輸出735。
類似地,DSP模組740包括移位暫存器查找表741、同步狀態機743,對應於例如圖4的同步狀態機,以及乘法器742和加法器744,該乘法器742和該加法器744共同對應於圖3或4的濾波器單元。如圖所示,移位暫存器查找表741的移位暫存器為如上參考圖4所描述的兩部分配置,其中輸入A2被饋送到移位暫存器741a的第一區段,並且第二輸入B2被饋送到移位暫存器741b的第一區段。每個移位暫存器741a、741b將資料饋送到乘法器742的相應輸入。取決於按照上面所述的分解而做的最高有效位元和最低有效位元之間的移位,加法器744將乘法器742的輸出和前一個DSP模組730的輸出735相加。乘法器742的輸出透過加法器744饋送到輸出745。
取決於適當的時序校正,輸出分量P[22:0] 於輸出715處為可用。取決於適當的時序校正,輸出分量P[45:23] 於輸出735處為可用。取決於適當的時序校正,輸出分量P[93:46] 於輸出745處為可用。
如上所述的相應的移位暫存器711a、711b、721a、721b、731a、731b、741a、741b用於所描述的配置中以對跨越乘法器的訊號提供同步,使得在任何給定的時脈週期中在每個輸出上的值對應於同一組之輸入值A1、B1、A2和B2。舉例來說,移位暫存器711a、711b各個可以為它們各自的訊號提供一個正反器的延遲值,移位暫存器721a、721b可以各自為它們各自的訊號提供兩個正反器的延遲值,移位暫存器731a、731b各個可以為它們各自的訊號提供三個正反器的延遲值,並且移位暫存器741a、741b各個可以為它們各自的訊號提供四個正反器的延遲值。在一些實施例中,DSP單元可以提供專門用於此目的的多個輸入暫存器,其可以代替移位暫存器查找表的移位暫存器或者也可用作為移位暫存器查找表的移位暫存器。例如,在特定DSP單元實作提供兩個輸入暫存器的情況下,第一和第二DSP單元可以僅依賴於這些專門用於同步的輸入暫存器,而第三和第四暫存器可以使用專門用於兩個延遲級別的輸入暫存器,然後使用移位暫存器查找表的移位暫存器來提供第三個DSP模組所需的一個額外延遲級別,以及第四個DSP模組所需的兩個延遲級別。此外,在此基礎上,對於每個DSP模組的A輸入和B輸入,延遲操作可能會用不同地方式處理,具體取決於可用的專用輸入繼電器。
如圖所示,每個DSP模組在乘法器712、722、732、742和加法器714、724、734、744之間以及在加法器714、724、734、744和輸出715、725、735、745之間提供額外的繼電器以用於同步的目的。取決於某些實施例的實作細節,可以省略這些繼電器中的一些或全部,或者可以根據給定的實作的應用要求提供額外的繼電器。
使用DSP單元的SRL來模擬用於乘法計算的時間點之額外所需的暫存器構成了使用參考圖3或4所描述的、在第二操作模式中的DSP模組的範例。
在如圖7所示的上述的第二操作模式中,DSP模組的移位暫存器查找表被用作為乘法器輸入暫存器。
因此,本發明揭露了一種靈活的數位訊號處理器模組,包括濾波器單元,該濾波器單元包括乘法器和加法器,其中乘法器接收來自記憶體和移位暫存器查找表的輸入。數位訊號處理器模組可以透過從記憶體提供合適的濾波器係數和從移位暫存器查找表提供資料值來實現諸如FIR或IIR濾波器的數位濾波器。可選的狀態機可以確保記憶體移位暫存器查找表之定址的同步,以及數位訊號處理器模組的多個實例之間的同步,其中這些是實現特定濾波器所需的。所提出的架構提供了額外的操作模式,其中支持除了濾波器實現之外的操作。
在此基礎上,在第二操作模式中,儲存在移位暫存器查找表中的值被輸出以用於被數位濾波器以外之物進行處理。
圖8呈現了根據一個實施例的執行數位訊號處理器操作的方法。
如圖所示,該方法在進行到步驟810之前的步驟800處開始,在步驟810處,移位暫存器查找表被定址以在第一操作模式下將資料輸出到數位訊號處理器。該方法隨後進行到步驟820,在步驟820處定址濾波器記憶體以在第一操作模式中向數位濾波器提供係數。該方法接著進行到步驟830,在終止於步驟840處之前於步驟830使用該係數對輸入資料執行數位濾波器操作。
對於定義數位濾波器的多個係數中的每一個,可以迭代地執行圖8的方法。
步驟810和820可以以相反的順序執行,即在步驟810之前先執行步驟820,或者該兩步驟可以並行執行。
該方法可以包括建構移位暫存器查找表和濾波器記憶體的另一個步驟,使得單個位址值在第一操作模式中為數位濾波器引用對應的係數和輸入資料,以使得在第一操作模式中定址移位暫存器查找表以向數位訊號處理器輸出係數的步驟,以及在第一操作模式中定址濾波器記憶體以向數位濾波器提供係數的步驟係使用該單個位址值來執行。
在圖8的方法的某些實例中,數位濾波器操作可以是有限脈衝響應濾波器操作。
在圖8的方法的某些實例中,數位濾波器操作可以是無限脈衝響應濾波器操作,其包括基於回饋值的第一有限脈衝響應操作和第二有限脈衝響應操作,該方法包括提供致能訊號的進一步的步驟,該致能訊號協調第一有限脈衝響應操作和第二有限脈衝響應操作的組合結果,以獲得無限脈衝響應濾波器結果。
在一些實施例中,本文所描述的方法和過程可以全部或部分地由計算裝置實現。這些方法和過程可以藉助於電腦應用程式或服務、應用程式設計介面(API)、程式庫和/或其他電腦程式產品,或這些實體的任何組合來實現。特別地,可以提供一種用於電腦的程式,該程式包括適於實現圖8的方法的步驟的指令,或任何上述的揭露之變化。
應當理解,本文所描述的配置和/或方法本質上是示例性的,並且這些具體實施例或範例不應被視為具有限制意義,因為許多變型是可能的。這裡描述的特定例程或方法可以表示任何數量的處理策略中的一個或多個。這樣,示例出的和/或所描述的各種行為可以以所示的和/或所描述的順序來執行、以其他順序來執行、並行來執行,或者省略。
同樣地,可以改變上述過程的順序。
本發明揭露的標的包括各種過程、系統和配置的所有新穎和非顯而易見的組合和子組合,以及本文揭露的其他特徵、功能、行為和/或性質,以及任何和所有它們的等同物。
10:FPGA晶片 11:邏輯區塊 12:輸入/輸出端口 13:可程式化選路區域 14:軌道 15:專用區塊 200:區塊 211、212:輸入 213、214:繼電器 215:第二輸入 216、221、231:另一個繼電器 217:區塊輸出 220、712、722、732、742:乘法器 230、521、531、714、724、734、744:加法器 300:可程式化數位訊號處理器 301:輸入通道 302:時脈輸入 310:數位濾波器 320、420、711、721、731、741:移位暫存器查找表 321、322、323、324、516、526:正反器 325、425、426:多工器 330:記憶體 400:可程式化數位訊號處理器 405:累加器 425a、425b、425c:子多工器 435c:第三子多工器 440:計數器 441:分接頭數輸入 442:係數溢出指示 510、610:第一DSP模組 513:資料輸入 515、525、535:同步訊號 520、620:第二DSP模組 523、533:輸入 530、630:第三DSP模組 540:模組 601:取樣輸入 651、652:暫存器 710、720、730、740:DSP模組 711a、711b、721a、721b、731a、731b、741a、741b:移位暫存器 713、723、733、743:同步狀態機 715、725、735、745:輸出 A1、A2:輸入 B1、B2:第二輸入
現在將參考所附圖式描述本發明的上述和其他優點,其中:
圖1示意性地示出了現有技術中已知的FPGA系統的範例;
圖2示出了現有技術中已知的數位訊號處理區塊;
圖3示出了根據第一實施例的可程式化數位訊號處理器;
圖4示出了根據第二實施例的可程式化數位訊號處理器;
圖5呈現了根據一個實施例的有限脈衝響應濾波器的並行實作;
圖6呈現了根據一個實施例的無限脈衝響應濾波器的並行實作;
圖7示出了根據一個實施例的使用濾波器實現的帶符號乘法器;以及
圖8呈現了根據一個實施例的執行數位訊號處理器操作的方法。
301:輸入通道
302:時脈輸入
310:數位濾波器
321、322、323、324:正反器
330:記憶體
400:可程式化數位訊號處理器
405:累加器
420:移位暫存器查找表
425、426:多工器
425a、425b、425c:子多工器
440:計數器
441:分接頭數輸入
442:係數溢出指示

Claims (13)

  1. 一種可程式化數位訊號處理器,其包括數位濾波器、移位暫存器查找表和濾波器記憶體,其中,該移位暫存器查找表被耦合以在第一操作模式中向該數位濾波器提供輸入資料,並且該濾波器記憶體被耦合以在該第一操作模式中向該數位濾波器提供濾波器係數,其中,該濾波器記憶體和該移位暫存器查找表的輸出被同步以便產生相應的濾波器係數和輸入資料共同實現所需的濾波器配置,其中,該可程式化數位訊號處理器還包括狀態機,該狀態機向該移位暫存器查找表和該濾波器記憶體提供定址值,其中,該定址值包括用於該移位暫存器查找表和該濾波器記憶體的單個位址,藉此儲存在該移位暫存器查找表和該濾波器記憶體中的該值被建構以使得該單個位址在該第一操作模式中為該數位濾波器引用該相應的係數和該輸入資料。
  2. 如申請專利範圍第1項之可程式化數位訊號處理器,其中,該移位暫存器查找表包括移位暫存器,其中該移位暫存器被配置為可操作為單個連續移位暫存器,或者可操作為多個可獨立操作的移位暫存器。
  3. 如申請專利範圍第1項之可程式化數位訊號處理器,其中,在第二操作模式中,儲存在該移位暫存器查找表中的該值被輸出以用於被該數位濾波器以外者進行處理。
  4. 如申請專利範圍第3項之可程式化數位訊號處理器,其中,在該第二操作模式中,該移位暫存器查找表用作乘法器輸入暫存器。
  5. 如申請專利範圍第1項之可程式化數位訊號處理器,其中,該數位濾波器構成有限脈衝響應濾波器的組件。
  6. 如申請專利範圍第1項之可程式化數位訊號處理器,其中,該數位濾波器構成無限脈衝響應濾波器的組件,該無限脈衝響應濾波器包括在回饋配置中的第一有限脈衝響應濾波器和第二有限脈衝響應濾波器,其中該狀態機提供致能訊號來協調該第一有限脈衝響應濾波器和該第二有限脈衝響應濾波器的輸出組合,以實現該無限脈衝響應濾波器。
  7. 如申請專利範圍第1項之可程式化數位訊號處理器,其中,該數位訊號處理器在包括多個查找表的FPGA架構中實現,每個該查找表的配置由在系統啟動時用配置位元流程式化的一個或多個相應記憶體單元來定義,其中該濾 波器記憶體中的該值也由該配置位流來程式化。
  8. 一種執行數位訊號處理器操作的方法,該方法包括:定址移位暫存器查找表以在第一操作模式中將資料輸出到該數位訊號處理器,並定址濾波器記憶體以在該第一操作模式中向該數位濾波器提供係數;以及使用該係數對該輸入資料執行數位濾波器操作,該方法還包括以下步驟:建構該移位暫存器查找表和該濾波器記憶體,使得單個位址值在該第一操作模式中為該數位濾波器引用對應的係數和輸入資料,以使得在第一操作模式中定址移位暫存器查找表以向該數位訊號處理器輸出係數的步驟以及在該第一操作模式中定址濾波器記憶體以向該數位濾波器提供輸入資料的步驟係使用該單個位址值來執行。
  9. 如申請專利範圍第8項之方法,其中,該數位濾波器操作是有限脈衝響應濾波器操作。
  10. 如申請專利範圍第8項之方法,其中該數位濾波器操作是無限脈衝響應濾波器操作,該無限脈衝響應濾波器操作包括基於回饋值的第一有限脈衝響應操作和第二有限脈衝響應操作,該方法包括提供致能訊號的進一步的步驟,該致能訊號協調該第一有限脈衝響應操作和該第二有限脈衝響應操作的組合結果,以獲得無限脈衝響應濾波器結 果。
  11. 一種用於電腦的程式,包括適於實現如申請專利範圍第8項之步驟的指令。
  12. 一種可程式化數位訊號處理器,其包括數位濾波器、移位暫存器查找表和濾波器記憶體,其中,該移位暫存器查找表被耦合以在第一操作模式中向該數位濾波器提供輸入資料,並且該濾波器記憶體被耦合以在該第一操作模式中向該數位濾波器提供濾波器係數,其中,該濾波器記憶體和該移位暫存器查找表的輸出被同步以便產生相應的濾波器係數和輸入資料共同實現所需的濾波器配置,其中,該可程式化數位訊號處理器還包括狀態機,該狀態機向該移位暫存器查找表和該濾波器記憶體提供定址值,其中,該數位濾波器構成無限脈衝響應濾波器的組件,該無限脈衝響應濾波器包括在回饋配置中的第一有限脈衝響應濾波器和第二有限脈衝響應濾波器,其中該狀態機提供致能訊號來協調該第一有限脈衝響應濾波器和該第二有限脈衝響應濾波器的輸出組合,以實現該無限脈衝響應濾波器。
  13. 一種執行數位訊號處理器操作的方法,該方法包括:定址移位暫存器查找表以在第一操作模式中將資料輸出到該數位訊號處理器,並定址濾波器記憶體以在該第一操作模式中向該數位濾波器提供係數;以及使用該係數對該輸入資料執行數位濾波器操作,其中,該數位濾波器操作是無限脈衝響應濾波器操作,該無限脈衝響應濾波器操作包括基於回饋值的第一有限脈衝響應操作和第二有限脈衝響應操作,該方法包括提供致能訊號的進一步的步驟,該致能訊號協調該第一有限脈衝響應操作和該第二有限脈衝響應操作的組合結果,以獲得無限脈衝響應濾波器結果。
TW108121716A 2018-06-22 2019-06-21 數位訊號處理器及操作方法 TWI798455B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP18305800.7A EP3588779B1 (en) 2018-06-22 2018-06-22 Digital signal processor and method of operation
EP18305800.7 2018-06-22

Publications (2)

Publication Number Publication Date
TW202032373A TW202032373A (zh) 2020-09-01
TWI798455B true TWI798455B (zh) 2023-04-11

Family

ID=62874820

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108121716A TWI798455B (zh) 2018-06-22 2019-06-21 數位訊號處理器及操作方法

Country Status (11)

Country Link
US (1) US11354382B2 (zh)
EP (1) EP3588779B1 (zh)
JP (1) JP7486439B2 (zh)
KR (1) KR102663975B1 (zh)
CN (1) CN112425075B (zh)
CA (1) CA3104207A1 (zh)
IL (1) IL279283B1 (zh)
RU (1) RU2769964C1 (zh)
SG (1) SG11202012294QA (zh)
TW (1) TWI798455B (zh)
WO (1) WO2019243443A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118074671A (zh) * 2024-01-30 2024-05-24 深圳市中承科技有限公司 一种几何级数量化数字滤波方法及数字滤波器

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5654909A (en) * 1993-04-15 1997-08-05 Icom Incorporated 90-degree digital phase shift network and linearizer using all-pass digital filters
US6337878B1 (en) * 1999-03-03 2002-01-08 Nxt Wave Communications Adaptive equalizer with decision directed constant modulus algorithm
US20050262177A1 (en) * 2001-10-30 2005-11-24 Zhongnong Jiang Efficient real-time computation of FIR filter coefficients
US20050283510A1 (en) * 2004-06-18 2005-12-22 Michael Hennedy Digital filter using memory to emulate variable shift register
US7248646B1 (en) * 2002-04-19 2007-07-24 Analog Devices Inc. Digital reconfigurable core for multi-mode base-band transmitter
TW201018064A (en) * 2008-06-26 2010-05-01 Chil Semiconductor Corp Power supply circuit and multi-phase control
US20130054663A1 (en) * 2011-08-23 2013-02-28 Nayak Ratnakar Aravind Determining Coefficients For Digital Low Pass Filter Given Cutoff And Boost Values For Corresponding Analog Version
US8468188B1 (en) * 2000-07-11 2013-06-18 Marvell International Ltd. Movable tap finite impulse response filter

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2066540C (en) * 1991-06-13 1998-01-20 Edwin A. Kelley Multiple user digital receiving apparatus and method with time division multiplexing
KR100260747B1 (ko) * 1997-12-29 2000-07-01 윤종용 유한장 임펄스응답 필터 및 그 필터링 방법
US6202074B1 (en) * 1998-08-07 2001-03-13 Telefonaktiebolaget Lm Ericsson Multiplierless digital filtering
DE10003006A1 (de) 2000-01-25 2001-07-26 Bosch Gmbh Robert Anordnung und Verfahren zur Signalverarbeitung und Speicherung
JP2001339279A (ja) 2000-05-29 2001-12-07 Canon Inc フィルタ回路
US6407694B1 (en) * 2000-06-14 2002-06-18 Raytheon Company General purpose filter
KR100378592B1 (ko) * 2000-07-31 2003-03-31 한국전자통신연구원 디지털 이동 통신용 108 탭 1대4 인터폴레이션유한임펄스응답 필터장치
US6820103B2 (en) * 2000-11-03 2004-11-16 Qualcomm Inc. Digital filter with state storage
US6888372B1 (en) * 2002-12-20 2005-05-03 Altera Corporation Programmable logic device with soft multiplier
US7183847B2 (en) * 2004-01-28 2007-02-27 Ntt Docomo, Inc. Multi-band look-up table type predistorter
US7466782B1 (en) * 2004-02-05 2008-12-16 Maxtor Corporation Methods, apparatus and computer program products for determining the timing of bits based on frequency error
US7265576B1 (en) * 2005-06-14 2007-09-04 Xilinx, Inc. Programmable lookup table with dual input and output terminals in RAM mode
RU2316807C2 (ru) 2005-06-14 2008-02-10 Открытое акционерное общество "Научно-конструкторское бюро вычислительных систем" ОАО НКБ ВС Управляющая эвм
US7482951B1 (en) * 2006-05-08 2009-01-27 The United States Of America As Represented By The Secretary Of The Air Force Auditory attitude indicator with pilot-selected audio signals
US7459932B1 (en) * 2007-05-24 2008-12-02 Altera Corporation Programmable logic device having logic modules with improved register capabilities
RU2399093C2 (ru) 2008-08-05 2010-09-10 Виктор Анатольевич Кущенко Процессор образов кущенко в.а.
JP5365369B2 (ja) * 2009-06-26 2013-12-11 富士通株式会社 送信装置、歪み補償装置及び歪み補償方法
US8509721B2 (en) * 2009-11-09 2013-08-13 Research In Motion Limited Hysteresis nonlinear state machine with overlapping thresholds for automatic frequency control
KR101599909B1 (ko) 2012-02-29 2016-03-04 고쿠리츠켄큐카이하츠호진 카가쿠기쥬츠신코키코 화상처리용 디지털 필터 및 문자열 경사 착시 생성 장치
US9848793B2 (en) * 2013-02-15 2017-12-26 Masdar Institute Of Science And Technology Machine-based patient-specific seizure classification system
TWI536731B (zh) * 2013-08-20 2016-06-01 瑞昱半導體股份有限公司 預失真方法、預失真裝置以及機器可讀媒體

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5654909A (en) * 1993-04-15 1997-08-05 Icom Incorporated 90-degree digital phase shift network and linearizer using all-pass digital filters
US6337878B1 (en) * 1999-03-03 2002-01-08 Nxt Wave Communications Adaptive equalizer with decision directed constant modulus algorithm
US8468188B1 (en) * 2000-07-11 2013-06-18 Marvell International Ltd. Movable tap finite impulse response filter
US20050262177A1 (en) * 2001-10-30 2005-11-24 Zhongnong Jiang Efficient real-time computation of FIR filter coefficients
US7248646B1 (en) * 2002-04-19 2007-07-24 Analog Devices Inc. Digital reconfigurable core for multi-mode base-band transmitter
US20050283510A1 (en) * 2004-06-18 2005-12-22 Michael Hennedy Digital filter using memory to emulate variable shift register
TW201018064A (en) * 2008-06-26 2010-05-01 Chil Semiconductor Corp Power supply circuit and multi-phase control
US20130054663A1 (en) * 2011-08-23 2013-02-28 Nayak Ratnakar Aravind Determining Coefficients For Digital Low Pass Filter Given Cutoff And Boost Values For Corresponding Analog Version

Also Published As

Publication number Publication date
US20210117497A1 (en) 2021-04-22
KR102663975B1 (ko) 2024-05-07
JP2021530138A (ja) 2021-11-04
CN112425075B (zh) 2024-10-01
RU2769964C1 (ru) 2022-04-11
SG11202012294QA (en) 2021-01-28
EP3588779B1 (en) 2021-02-24
WO2019243443A1 (en) 2019-12-26
IL279283B1 (en) 2024-10-01
CA3104207A1 (en) 2019-12-26
JP7486439B2 (ja) 2024-05-17
US11354382B2 (en) 2022-06-07
KR20210043495A (ko) 2021-04-21
TW202032373A (zh) 2020-09-01
EP3588779A1 (en) 2020-01-01
IL279283A (en) 2021-01-31
CN112425075A (zh) 2021-02-26

Similar Documents

Publication Publication Date Title
US7353243B2 (en) Reconfigurable filter node for an adaptive computing machine
JP5356537B2 (ja) 前置加算器段を備えたデジタル信号処理ブロック
US6438570B1 (en) FPGA implemented bit-serial multiplier and infinite impulse response
Kumm et al. Dynamically reconfigurable FIR filter architectures with fast reconfiguration
TWI798455B (zh) 數位訊號處理器及操作方法
US6532273B1 (en) Efficient polyphase decimation filter
US8612503B2 (en) Methods and apparatuses for flexible and high performance digital signal processing
JP4388141B2 (ja) ディジタルフィルタ用共有リソース
US9748928B1 (en) Dynamically programmable digital signal processing blocks for finite-impulse-response filters
Moeller et al. Field programmable gate array based radar front-end digital signal processing
Ye et al. A low cost and high speed CSD-based symmetric transpose block FIR implementation
JP2003264451A (ja) デジタルフィルタ
JP2004128858A (ja) Firデジタルフィルタ
KR19990004501A (ko) 비대칭 주파수 응답 특성을 갖는 fir필터
Yoon et al. An efficient variable-length tap FIR filter chip
JP4243473B2 (ja) Firディジタルフィルタ
Ciric et al. Family of folded bit-serial multipliers
JP2001345678A (ja) Firフィルタ
JP2000315937A (ja) ディジタルフィルタ
Hassan et al. High Speed Programmable FIR Filters for FPGA
WO2006003667A1 (en) Field programmable gate array (fpga) based wave pipelined array multiplier (wparam)
JP2004297735A (ja) ディジタルフィルタ回路
JPH0993084A (ja) 入力加重型トランスバーサルフィルタ