TWI448072B - 分頻濾波裝置及其方法 - Google Patents

分頻濾波裝置及其方法 Download PDF

Info

Publication number
TWI448072B
TWI448072B TW098146264A TW98146264A TWI448072B TW I448072 B TWI448072 B TW I448072B TW 098146264 A TW098146264 A TW 098146264A TW 98146264 A TW98146264 A TW 98146264A TW I448072 B TWI448072 B TW I448072B
Authority
TW
Taiwan
Prior art keywords
envelope
value
unit
circuit
frequency division
Prior art date
Application number
TW098146264A
Other languages
English (en)
Other versions
TW201123716A (en
Inventor
Ting Hsuan Chen
Gaung Hui Gu
Ying Chiang Hu
Tsung Min Hsieh
Jun Chao Zhao
Original Assignee
Ind Tech Res Inst
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 Ind Tech Res Inst filed Critical Ind Tech Res Inst
Priority to TW098146264A priority Critical patent/TWI448072B/zh
Priority to US12/868,200 priority patent/US8606836B2/en
Publication of TW201123716A publication Critical patent/TW201123716A/zh
Application granted granted Critical
Publication of TWI448072B publication Critical patent/TWI448072B/zh

Links

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
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J1/00Frequency-division multiplex systems
    • H04J1/02Details
    • H04J1/04Frequency-transposition arrangements
    • H04J1/05Frequency-transposition arrangements using digital techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Algebra (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Complex Calculations (AREA)
  • Circuits Of Receivers In General (AREA)

Description

分頻濾波裝置及其方法
本發明是有關於一種訊號分析裝置,且特別是有關於一種分頻濾波裝置。
在訊號處理的領域中小波轉(wavelet)廣泛的應用在訊號的雜訊處理與濾波,但是小波轉換是基於傅立葉轉換理論應用於線性與穩態的訊號上。對於非線性、非穩態的訊號而言,傅立葉轉換只能代表訊能量的平均分布,無法呈現隨時間變化之訊息。
而希爾伯特-黃轉換(Hilbert-Huang transform:HHT)之經驗模態分解,能針對非穩態與非線性的訊號,分析出隨時間變化之訊號的趨勢,具體分解為不同頻率範圍的多個本質模態函數。而經驗模態分解亦可應用來進行濾波處理。例如,心電圖在測量的過程中經常容易被許多的雜訊干擾,影響到心電圖的判斷或造成特徵萃取的困難。透過HHT可以依據心電圖之不同的本質模態函數,以濾過心電圖的雜訊。此外,經驗模態分解可應用於不同領域的非穩態與非線性的訊號分析應用之中。
目前應用希爾伯特-黃轉換或進行經驗分解模態主要是用一般電腦系統以軟體方式對輸入訊號經訊號處理後執行相關的演算法的程式以實施與驗證。但是,習知以軟體的實施方式,卻有效能與運算時間上的限制。故此,實施希爾伯特-黃轉換或進行經驗分解模態之技術,仍有待改善,以提昇效能及減短運算時間,符合即時處理的需求。
本發明係有關於一種訊號濾波裝置,提出電路架構以作訊號濾波之處理,找出代表訊號趨勢的訊號。此訊號濾波裝置之不同實施例採用有效利用硬體資源的方式計算平均包絡,故能得以節省時間,並將效能提昇。訊號濾波裝置之實施例可用以實施經驗模態分解,或有關的應用方法如進行訊號濾波。
根據本發明之一方面,提出一種分頻濾波裝置,包括:一記憶單元、一極點計算單元以及一包絡計算單元。記憶單元用以儲存樣本資料。極點計算單元,用以依據樣本資料,輸出並儲存樣本資料之複數個極大值及複數個極小值至記憶單元中。包絡計算單元,用以依據這些極大值及極小值,計算一均值包絡線,其中,包絡計算單元,在分別依據極大值及極小值進行對應之一上包絡線及一下包絡線之計算的期間,依據對應到相同位址之上包絡線之數值及下包絡線之數值輸出均值包絡線的數值到記憶單元。
根據本發明之另一方面,提出一種分頻濾波方法,包括以下步驟。依據樣本資料,輸出並儲存樣本資料之複數個極大值及極小值至一記憶單元中。依據這些極大值及極小值藉由一包絡計算單元,計算一均值包絡線,其中,在分別依據極大值及極小值進行對應之一上包絡線及一下包絡線之計算的期間,依據對應到相同位址之上包絡線之數值及下包絡線之數值輸出均值包絡線的數值到記憶單元。
根據本發明之其他方面,上述之一種分頻濾波裝置或一種分頻濾波方法更可依需要,用以實現經驗模態分解或是訊號濾波之用。
為讓本發明之上述內容能更明顯易懂,下文特舉較佳實施例,並配合所附圖式,作詳細說明如下:
於本發明之實施例中,揭露一種訊號濾波裝置,以電路架構以作訊號濾波之處理,找出代表訊號趨勢的訊號。於一實施例中,包絡計算單元實質上同時計算一訊號之上、下包絡與均值包絡,以有效利用各種硬體資源。另一實施例針對包絡計算時部分運算電路之閒置情形,進行包絡週期竊取來利用閒置的部分電路,以提昇包絡計算的時效。又一實施例更針對包絡計算時電路之重覆行為,進行例外檢查機制,以更節省包絡計算時間。
第一實施例
請參考第1圖為依據一第一實施例之訊號濾波裝置的系統方塊圖。如第1圖所示,訊號濾波裝置100包括一極點計算單元110、一包絡計算單元130及一記憶單元150。在第一實施例中,依據直接對應方式(direct mapping)之包絡計算單元130實質上同時計算一訊號之上、下包絡與均值包絡,以有效利用各種硬體資源。
極點計算單元110,用以依據樣本資料,例如是一維訊號(如第2圖的訊號C100)的取樣資料,輸出並儲存樣本資料之極大值(如點P1~P4)及極小值(如點Q1~Q3)至記憶單元150中。包絡計算單元130,用以依據這些極大值及極小值,計算一均值包絡線(如包絡M100)。記憶單元150提供記憶空間供訊號濾波裝置100使用,例如是一個或多個記憶體,或儲存裝置或儲存媒體組成。例如,記憶區域A151、A153可分別用以儲存取樣資料、極值資料,記憶區域A155可用以儲存其他計算結果。
此外,第一實施例之訊號濾波裝置100更可視需求或應用而言,更包括一控制單元170,用來控制極點計算單元110、包絡計算單元130、記憶單元150之間的運作,以達成基於上述極點計算單元110及包絡計算單元130之運算結果的運作。例如,可實施控制單元170判斷經驗模態分解運算條件使訊號濾波裝置100用以針對一訊號的樣本資料分解出本質模態函數。又例如,可實施控制單元170進行濾波處理,並可視訊號濾波裝置100為多尺度濾波器(multi-scale filter)。此外,訊號濾波裝置100例如使用一資料匯流排以作資料與控制或定址的互通管道。
對於極點計算單元110,如第3圖所示,可包括一極大點計算電路311、極小點計算電路313及極點計算控制器315。極值的判斷例如採用多點方式比較,亦即比較斜率。例如以3點方式比較為例,設(x1,y1)、(x2,y2)及(x3,y3)代表一訊號依序的三個點。若y1<y2且(或且y2>y3)之條件成立,則表示y2為極大值,故可據此條件以數位或邏輯電路實施極大點計算電路311。若y1>y2且(或且y2<y3)之條件成立,則表示y2為極小值,故可據此條件以數位或邏輯電路實施極小點計算電路313。極點計算控制器315控制極點計算單元110的極點計算的運作,例如從記憶區域A151讀取取樣資料到極大點計算電路311及極小點計算電路313。另外,有關邊界點極值的決定,在一例子中,可採左邊界極值等於原始訊號邊界點,右邊界極值點(第N點)等於前一個極值(N-1);此外,亦可令邊界極值等於斜率趨勢的延伸與邊界點比較。
上述極點計算單元110的實施方式,若樣本資料的資料量為N個,則極大值與極小值最多分別為N/2個。故此,需要有兩個長度為N/2的記憶空間儲存極值,以及兩個長度為N/2的記憶空間儲存極值的位址。如第3圖所示,記憶區域A151儲存樣本資料,而經極大點計算電路311及極小點計算電路313求得之樣本資料的極大值及極小值以及對應的位址可儲存於記憶區域A153。在一例子中,記憶區域A153更可劃分為最大值的區域A153_1及最小值的區域A153_2,分別儲存相對應的極值及其位址,此外,極大值的總數及極小值的總數亦可記錄於記憶體之中。
上述訊號濾波裝置100之實施方式並非限定本實施例,在第一實施例中,只要包絡計算單元130,在分別依據這些極大值及極小值計算對應之一上包絡線(如包絡C110)及一下包絡線(如包絡C120)的期間,依據對應到相同位址之上包絡線之數值及下包絡線之數值,輸出均值包絡線的數值到記憶單元150,皆可視依據第一實施例之一種實作。上述「相同位址」之上包絡線之數值及下包絡線之數值,如第2圖之虛線區域BLK所示,例如,樣本資料x[9]至x[20]所對應的「相同位址」(如視為9至20)對應之線段P1-P2與Q1-Q2之部分。由此,包絡計算單元130在取得「相同位址」之上包絡線之數值及下包絡線之數值之時,就可以據以計算出均值包絡線的數值。值得注意的是,均值包絡線的數值是在包絡計算單元130分別計算上包絡線(如包絡C110)及下包絡線(如包絡C120)的期間進行計算的,故此,可將包絡計算單元130視為實質上同時計算一訊號之上、下包絡與均值包絡,故可有效利用硬體資源並提昇時效。
如上,在第一實施例中,包絡計算單元130可以用各種方式實施,例如請參考第4圖,其包括包絡計算單元130之一實施例之示意圖。在第4圖中,包絡計算單元400包括一上包絡計算電路411、一下包絡計算電路413及一包絡計算控制器415。上包絡計算電路411及下包絡計算電路413分別取得極點計算單元110所計算的極大值及極小值(如從記憶區域A153中取得),並依一種包絡型式如極點連線的直線式包絡,各自算出包絡線上的數值與對應位址,依序輸出到暫存器中。透過位址對應(address mapping)之機制,將對應到相同位址的上包絡線之數值及下包絡線之數值進行運算,以輸出均值包絡線的數值到記憶單元150。
例如,上包絡計算電路411讀取兩個極點(如第2圖的P1(x1 ,y1 )及P2(x2 ,y2 )),並舉例以極點連線的包絡為例,上包絡計算電路411以電路實現直線方程式的運算:
計算出點P1及P2之間上包絡線上各點的數值,並據以輸出到先進先出(FIFO)的資料暫存器451,並將上包絡線上各點所對應的位址如序號1、2…14(對應到樣本資料位址5、6、7、8、9…18)分別儲存到位址暫存器453。同樣的,下包絡計算電路413讀取如第2圖所示的兩極小值Q1(x1 ,y1 )及Q2(x2 ,y2 ),並如上包絡計算電路411般的計算出點Q1及Q2之間下包絡線上各點的數值,並據以輸出到資料暫存器455,並將下包絡線上的各點所對應的位址如序號1、2…14(對應到樣本資料位址9…22)分別儲存到位址暫存器457。在上、下包絡線計算之時,包絡計算控制器415透過位址映對電路417以例如位址映對位址值的方式或其他比較方式,找出位址暫存器453及457中代表相同位址值所對應的包絡線的數值如C110[9]及C120[9]、C110[10]及C120[10]。如此,包絡計算單元400可進一步藉由運算電路(如加法運算單元及除法運算單元)計算出均極包絡線的數值如:(C110[9]+C120[9])/2、(C110[10]+C120[10])/2。位址映對電路417如包括加法運算單元及暫存器或其他數位電路,用以例如以極點Q1的樣本資料位址如9以將下包絡線上Q1-Q2的各點之序號1、2…14對應到9、10…22。此外,在另一例子中,上包絡計算電路411及下包絡計算電路413可實施為直接輸出與樣本資料位址相對應的位址值(如藉由加法運算),如此包絡計算單元400可不必如第4圖般採用額外的位址映對電路417。此外,上述包絡計算單元400所採用的暫存器亦可實施於記憶單元150之中。
請參考第5A圖,其為包括包絡計算單元130之另一實施例之方塊圖。在第5A圖中,包絡計算單元500實質上與第4圖中的包絡計算單元400同樣是在計算一訊號之上、下包絡之同時,計算均值包絡。包絡計算單元500包括一上包絡計算電路511、一下包絡計算電路513、一包絡計算控制器515及一運算電路519。在上包絡計算電路511及下包絡計算電路513分別從記憶區域A153_1及A153_2取得極值,作上及下包絡線計算的同時,包絡計算控制器515檢查運算的位址是否相同來判斷上及下包絡線的數值是否可直接由運算電路519計算均值包絡線上的數值並儲存到記憶體中如記憶區域A151。例如,包絡計算控制器515包含一檢查電路517以檢查上包絡計算電路511及下包絡計算電路513之運算的位址不相同時,運算較快的電路會進入等待模式來等待慢的電路。
就以上包絡計算電路511及下包絡計算電路513採用如公式1之極點連線作為包絡作為例子,當其中一者在計算兩極點間的斜率時,另一者則需要進入等待模式。請參考第5B圖,此第5A圖中檢查電路517與上包絡計算電路511及下包絡計算電路513之間互動的時序圖。隨著時脈CLK週期性變化,當上包絡計算電路511完成如P1-P2的斜率運算時令指示訊號MaxCLAP為1(高位準),同樣的,當下包絡計算電路513完成如Q1-Q2的斜率運算時令指示訊號MinCLAP為1。當指示訊號MaxCLAP及MinCLAP皆為1時,表示此時上下包絡線運算的位址是相同的(如第2圖中的區域BLK,從點Q1開始),可直接由運算電路519進行均值包絡的數值運算。反之,指示訊號MinCLAP為0(低位準)而MaxCLAP為1時,表示只有下包絡計算電路513在計算斜率,此時,檢查電路517需要輸出等待訊號Maxhold為高位準的脈波,以命令上包絡計算電路511進入等待模式。若指示訊號MinCLAP改變為1而指示訊號MaxCLAP為0時,表示只有上包絡計算電路511在計算斜率,此時,檢查電路517需要輸出等待訊號Minhold為一高位準的脈波,以命令下包絡計算電路513進入等待模式。
此外,在另一應用例子中,若第一實施例之訊號濾波裝置100實施例進行經驗模態分解時,因為依EMD的演算在每次算出均值包絡以後,要將目前的分量訊號(component signal)hi 減去均值包絡mean_envelope以產生新的分量訊號hi+1 ,即hi+1 =hi -mean_envelope,其中第一次進行時的分量訊號即對應到原始訊號的樣本資料。故此,依據第5A圖中運算電路519實施為產生均值包絡的數值之外,更進一步藉由包絡計算單元500讀取記憶區域A153儲存的樣本資料或分量訊號,進行減法運算以產生新的分量訊號的數值並存回到記憶單元150中,其中,可依第5B圖中讀取地址訊號SampleADDRA,依據MaxCLAP及MinCLAP進行位址加1的動作,以達成新的分量訊號的數值的運算。
此外,包絡計算單元130實質上同時計算一訊號之上、下包絡與均值包絡之觀念更可應用於其他的包絡方式,如三次曲線(cubic spline),故並不以極點連線之包絡為限。
第二實施例
第二實施例針對包絡計算時部分運算電路之閒置情形,進行包絡週期竊取來利用閒置的部分電路,以提昇包絡計算的時效。為便於說明,在此針對包絡計算單元130採用極點連線的包絡為例來作說明如何利用包絡週期竊取來利用閒置的部分電路。
首先先了解包絡計算單元的行為。依照上式公式1,以硬體方法實施時,由於除法電路速度相較乘法與加法來的慢,所以可用一計數器來計數,當系統時脈高於除法運算單元的速度時,利用此計數器計數至某值時擷取除法運算單元的輸出結果,這樣的好處是可以讓除法運算單元操作在高的頻率上。例如,原本除法運算單元工作時脈為9MHz(表示9MHz產生一個結果),若系統要操作在100MHz以上,那麼上述的計數器必須計數到12才會擷取到除法運算單元正確的值。此外,可用另一計數器用來控制累加器累加次數,可依序算出線上所有的y值。在公式1中,(x2 -x1 )之值為1的倍數即正整數,且會依序累加,所以可具有如第6A及6B圖的兩種硬體實現方式。
如第6A圖所示,計算電路600A係用以實現公式1,包括減法運算單元611及613、暫存器(REG)621、622至629、除法運算單元630、加法運算單元641及643以及計數器651及653。在第6A圖中,先以(y2 -y1 )除以(x2 -x1 ),求得斜率再累加。當完成斜率運算後可透過累加電路640A以累加方式求出兩個極點間所有的y值。計算電路600A需使用計數器651及653兩者週期時間總和以完成所有y值的計算。此做法會將除法運算單元產生的誤差給累加,但是透過增加除法運算單元的資料寬度可降低誤差。
如第6B圖所示,計算電路600B係用以實現公式1之另一方式,其與計算電路600A的差異在於先以(y2 -y1 )透過累加電路640B累加後再除以(x2 -x1 )。計算電路600B的誤差不會產生累加,但須執行許多次的除法動作,所以需要其中兩個計數器之週期相乘的時間才能完成所有y值的運算。
在了解包絡計算單元的行為以後,以下說明第二實施例之針對包絡計算時部分運算電路之閒置情形進行包絡週期竊取之觀念,如何實現以利用閒置的部分電路。由於計算電路600A在運算速度上較計算電路600B為快,及具有低功率之優點,故針對計算電路600A為例來說明。在第6A圖中,當除法運算單元630完成兩極點之斜率運算後,再由累加電路640A依兩極點之間的距離進行累加動作,需等待兩點之間所有的點累加完後,再進行下一組極值的除法運算。在累加動作還未完成時,除法運算單元630以至相關元件如減法運算單元613、暫存器621及622,皆是處於閒置狀態。因此,在兩極點開始累加的同時除法運算單元630進行下一個斜率運算,此方法將有效的利用每個週期,以達到最大產出量。
第7圖為依據第二實施例之判斷啟動週期竊取之一例的流程圖,其中,假設從送出位址到記憶體讀取資料需3個週期(fetch cycle),完成除法運算需要13個週期,Xn -Xn-1 為累加電路計算需要的週期。為了要達到上述週期竊取動作方式,設置一個計數器700之計數值DIV_Count最大值約為樣本長度的一半,N/2-1,其中,DIV_Count的數值意義為:資料提取週期(0~2)和除法週期(3~N/2-1)的總和;故其值為0~N/2-1。要注意的是:計數器700利用計數值DIV_Count計數到12時送出位址至儲存極值的記憶體或區域去提取資料;當計數值DIV_Count計數到15時表示已讀取到下一筆極值資料,又同時開始上一個斜率所對應的累加運算與下一個斜率運算。依照公式一中x2 -x1 之大小,有三種情況要考慮如下。
請參考第7圖,步驟S710,載入一筆極點。接著,步驟S721或S723依據x2 -x1 之大小判斷是否落入下列三種情況之一,接著由步驟S730設定計數器臨界值,即DIV_Count的最大值以及計數到達最大值後應該設定的起始值。
情況1:若步驟S723之條件不能滿足,即判定時,表示x2 與x1 之間點的運算需要小於14個週期,即小於DIV_Count=15的週期。這樣表示下一筆斜率運算可以接續上一筆之後執行,但DIV_Count計數到15後必須由3開始計數而非0開始,因為當上一筆的斜率對應的累加運算完成時下一筆斜率運算仍未完成。
情況2:若步驟S723之條件能滿足,即判定時,表示x2 與x1 之間點的運算需要小於DIV_Count=14或15個週期。這樣表示下一筆斜率運算可以接續上一筆之後執行,但DIV_Count計數到15後必須由DIV_Count最大值-(x2 -x1 )+1,即2或1開始計數而非0開始。如此,當上一筆的斜率對應的累加運算完成時下一筆斜率運算也完成。
情況3:若步驟S721之條件能滿足,即判定x2 -x1 >15時,表示x2 與x1 之間點的運算需要大於DIV_Count=15個週期。這樣表示下一筆斜率運算可以接續上一筆之後執行,但DIV_Count計數到15後必須由0開始計數到x2 -x1 -1。如此,當上一筆的斜率對應的累加運算完成時下一筆斜率運算也完成並可接續進行對應的累加運算。
接著,步驟S740表示電路運作之計數器700(如第6A圖中的653)的計數值DIV_Count與其臨界值比較。步驟S741檢查上述比較結果是否表示兩者是否相差3個週期。若是,即計數值DIV_Count為12時,則一方面執行步驟S710以預先載入下一筆極點,另一方面繼續對S740之比較結果進行檢查。若步驟S741判斷結果為否,則繼續由步驟S743判斷步驟S740之比較結果是否相差0個週期。如此,步驟S741及S743執行直到此比較結果為0時,則執行步驟S745。在步驟S745中,係依據上述S730中對上述三種情況的判斷結果而對計數器700清除,亦即DIV_Count計數到15後,依三種情況由新的數值開始計數。
設計者可基於上述第7圖之流程圖來設計具週期竊取之判斷電路,並實作於上述第5A圖之包絡計算單元500或第4圖之包絡計算單元400的上及下包絡線運算中。如此,能更快完成包絡線的運算。例如以硬體描述語言如Verilog,將之轉化為電路圖或是用數位或邏輯電路來實現。此外,值得注意的是,上述實施例只是舉例而已,並非限定此實施例之實施方式,只要針對包絡計算時部分運算電路之閒置情形進行包絡週期竊取之任何實作電路,皆可視為依本實施例的實作的例子。而上述第二實施例的週竊取處理,較原有的第一實施例直接對映的作法包絡線的處理時間,可減少約一半的時間,亦即速度可提升約為兩倍。
第三實施例
本實施例更針對包絡計算時電路之重覆行為,進行例外檢查機制,以更節省包絡計算時間。例如以上述公式一為例,當可知當y2 -y1 =0時,除法運算單元經過13個週期後求得斜率為0。若能事先偵測y2 -y1 是否為0就可以節省13個週期的除法時間,僅需再經過3個週期至記憶體擷取下一筆要運算的資料。相似的,當x2 -x1 為2的幕次情況下,僅需簡單的位元移位即可達到除法的目的,因此可以節省除法時間。另外,藉由統計分析電路處理資料的型態,亦可以找到較合適的設計範圍。例如10組瞬時模態分析結果,x2 -x1 為1、2、4及8佔全部情況的25%,而x2 -x1 為16、64、128已小於1%,故前者可列入電路中要去處理的範圍,而後者即可忽略。由此,在最佳的情況下,即y2 -y=0與x2 -x1 為2的幕次時,可以節省39%的除法動作。尤其是前一筆x2 -x1 越小的情況下,相對的求斜率的效率越大。
第8圖為依據第三實施例之進行例外檢查機制之一例的流程圖。步驟S810,預先載入一筆極點。步驟S820,對y2 -y1 與x2 -x1 編碼。步驟S830以進行例外檢查,例外條件如:y2 -y1 是否為0或x2 -x1 是否為2的幕次或是其他能快速將斜率計算出來的條件。若有符合步驟S830之條件的話,則如步驟S831所示,利用上述討論的情況如移位式的調整斜率值。若否,則進行原有的斜率運算,如步驟S833所示。最後,完成斜率計算(S835)。
設計者可基於上述第8圖之流程圖來設計具例外檢查機制之包絡計算單元,並實作於上述第5A圖之包絡計算單元500或第4圖之包絡計算單元400的上及下包絡線運算中。例如第9圖之計算電路之方塊圖示意第6A圖之計算電路600A結合如第8圖所示的例外檢查機制之電路實作。第9圖與第6A圖之電路差異在於加入多工器920及相關的邏輯電路930(或其他適當的運算電路)以作為輔助運算電路,邏輯電路930包括如位元移位電路或其他數位電路以產生對(x2 -x1 )作移位1、2、3位元的運算或是提供數值0的輸出。檢查電路910實現步驟S820判斷例外條件是否符合並輸出控制訊號CTL至多工器920中。舉例而言,CTL=000、001、010、011、100及101之一時分別代表選擇下列之輸出之一:除法運算單元630的輸出、邏輯電路930輸出之(x2 -x1 )>>0、(x2 -x1 )>>1、(x2 -x1 )>>2、(x2 -x1 )>>3及0。如此可見,當檢查電路910判斷出例外條件符合時,藉由控制訊號CTL經由多工器920選擇邏輯電路930的其中一個輸出將可能更快完成斜率的運算。而上述第三實施例的例外處理的機制,較原有的第一實施例直接對映的作法包絡線的處理時間,可減少約一半以上的時間,亦即速度可提升約為兩倍以上。
其他實施例 有效率的使用記憶體的方式
若訊號濾波裝置100用以實施經驗模分解時,需要執行如下的經驗模態的演算法:
前述的實施例,已探討過對極點計算單元(即實現Extrema()之電路)以及包絡計算單元(即實現Envelope()之電路)。上述演算法中涉及疊代的方式對分量訊號,內回圈中的h,進行篩選,直至符合基本模態函數的條件後,得到一模態;之後,外回圈又進一步依據得到之模態,計算出新的org_signal(演算法第12行),再求到下一模態。此部分計算及控制,包括訊號趨勢判斷及基頻判斷,即找出模態之相關控制動作,例如可由訊號濾波裝置100的控制單元170所控制。
由觀察上述經驗模態分解可知,有關模態的取得以及由演算法第3行之h=org_signal,第8行之h=h-mean_envelope及第11行之org_signal=org_signal-h可得知需要額外配置h的記憶空間,以避免第8行執行時org_signal被覆蓋,造成實現第11行之運算時發生錯誤。由觀察得知第10行之oIMFs(:,i)=h,儲存本質模態函數IMF的記憶體如記憶區域A155僅在內回圈執行完後才被設定值,所以可以利用j=0時先備份org_signal至記憶區域A155,於j=iteration-1時讀取出org_signal,並同時處理第10及11行的動作。
如第10圖所示,上述儲存樣本資料的記憶區域A151每次都存入h-mean_envelope的計算結果,但是當j=iteration-1時存入的值為org_signal_h。所以記憶區域A155被寫入兩次,第一次j=0(此時iIter_equZERO=HIGH)備份signal,第二次當j=iteration-1(此時IMFs_Ready=HIGH)才存儲h值。
在第10圖中的電路,使用了多工器1001、1002及1003,可實施於第1圖之控制單元170之中,其中oIMFs代表從儲存IMF的記憶體(記憶區域A155)中所提取的IMF的值,Mean代表均值包絡的數值,IMFs_Ready例如為HIGH(如1)代表目前已得到一IMF。由此,當IMFs_Ready=HIGH時,多工器1001之輸出結果(Data)為oIMFs-(h-Mean)=oIMFs-h+Mean,亦即此為新的IMF值。當IMFs_Ready=LOW時,多工器1001之Data為h-Mean,亦即此為新的分量訊號的數值。而多工器1003之輸出結果(Data)是否要寫入到儲存IMF的記憶體中則由多工器1005輸出的寫入訊號Write決定,其中COND=(WriteIMFs|IMFs_Ready)& WriteMEMB。另外,oIMFs是否要讀取,則是由多工器1005輸出的讀取訊號Read決定。
硬體四捨五入(round)與溢位(overflow)偵測
為了讓硬體定點數(fixed-point)運算更接近浮點數(floating)運算,因此採用四捨五入機制。假設4.5與-4.5,硬體(定點數)直接截斷,其效果為:正數4.5時將變成4;負數-4.5變成-5,在迴圈運算上,增加無四捨五入機制可降低誤差的累加。判斷方法如:正數以(b7 b6 b5 b4 .b3 b2 b1 b0 )示之,由b7 和b3 判斷是否加1,意即整數加上(~b7 & b3 )。如3.510 即0011.10002 ,round(3.5)=4,即round(0011.10002 )=0100.00002 ;如3.37510 即0011.01102 ,round(3.375)=3,即round(0011.01102 )=0011.00002 。又負數以(b7 b6 b5 b4 .b3 b2 b1 b0 )示之,由b7 和b3 b2 b1 b0 判斷是否加1,意即整數加上(~b7 & b3 &(b2 |b1 |b0 ))。如-3.510 即1100.10002 ,round(-3.5)=-4,即round(1100.10002 )=1100.00002 ;如-3.37510 即1100.10102 ,round(-3.375)=-3,即round(1100.10102 )=1101.00002
在硬體運算上有可能造成溢位之情況,所以當運算發生溢位時,可以將結果設定為滿刻度(正飽和或負飽和),如第11圖中多工器1111的兩個輸入01111…111及10000…000,以避免產生無法預測的結果。假設輸入A0~n-1 和B0~n-1 資料寬度為n-bit,在第11圖中,運算單元(ALU)1110輸出C0~n 資料寬度為n+1-bit,溢位判斷可利用輸入A與B的最高有效位元(MSB)和ALU 1100輸出C的n-1位元進行互斥或閘1131和1133的結果來判斷是否溢位產生,再利用A或B的MSB決定正飽和或負飽,從而控制多工器1113之輸出OUT是否要用滿刻度。
綜上所述,雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明。本發明所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作各種之更動與潤飾。因此,本發明之保護範圍當視後附之申請專利範圍所界定者為準。
100...訊號濾波裝置
110...極點計算單元
130...包絡計算單元
150...記憶單元
170...控制單元
A151、A153、A153_1、A153_2、A155...記憶區域
311...極大點計算電路
313...極小點計算電路
315...極點計算控制器
400、500...包絡計算單元
411、511...上包絡計算電路
413、513...下包絡計算電路
415、515‧‧‧包絡計算控制器
417‧‧‧位址映對電路
451、455‧‧‧資料暫存器
453、457‧‧‧位址暫存器
517‧‧‧檢查電路
519‧‧‧運算電路
600A、600B‧‧‧計算電路
611、613‧‧‧減法運算單元
621~629‧‧‧暫存器
630‧‧‧除法運算單元
641、643‧‧‧加法運算單元
640A、640B‧‧‧累加電路
651、653‧‧‧計數器
910‧‧‧檢查電路
930‧‧‧邏輯電路
920、1001、1003、1005、1111、1113‧‧‧多工器
1100‧‧‧運算單元(ALU)
1121、1123‧‧‧及閘
1131、1133‧‧‧互斥或閘
第1圖為依據一第一實施例之訊號濾波裝置的系統方塊圖。
第2圖示意上下包絡的計算時,若兩者位址相同時,可依一實施例進行平均包絡運算之例子。
第3圖為第1圖之極點計算單元之一實施例的方塊圖。
第4圖繪示包絡計算單元之一實施例的方塊圖。
第5A圖繪示包絡計算單元之另一實施例的方塊圖。
第5B圖繪示第5A圖之包絡計算單元的時序圖之一例。
第6A及6B圖為實施極點連接作為包絡的計算電路之兩例子。
第7圖為依據一第二實施例之判斷啟動週期竊取之一例的流程圖。
第8圖為依據一第三實施例之進行例外檢查機制之一例的流程圖。
第9圖之方塊圖示意第6A圖之計算電路600A結合如
第8圖所示的例外檢查機制之電路實作之一例子。
第10圖為示為利用訊號濾波裝置100實施經驗模分解時,有效率的使用記憶體的方式之一例子。
第11圖為溢位偵測電路之一例子。
100...訊號濾波裝置
110...極點計算單元
130...包絡計算單元
150...記憶單元
170...控制單元
A151、A153、A155...記憶區域

Claims (22)

  1. 一種分頻濾波裝置,包括:一記憶單元,儲存樣本資料;一極點計算單元,用以依據該樣本資料,輸出並儲存該樣本資料之複數個極大值及複數個極小值至該記憶單元中;一包絡計算單元,用以依據該些極大值及該些極小值,計算一均值包絡線,其中,該包絡計算單元,在分別依據該些極大值及該些極小值進行對應之一上包絡線及一下包絡線之計算的期間,依據對應到相同位址之該上包絡線之數值及該下包絡線之數值輸出該均值包絡線的數值到該記憶單元;以及一控制單元,用以依據該均值包絡線的數值及該樣本資料,產生一分量訊號之數值,其中該控制單元依據該分量訊號之數值,控制該極點計算單元及該包絡計算單元依據經驗模態分解方式以分解該樣本資料為複數個基本模態函數。
  2. 如申請專利範圍第1項所述之分頻濾波裝置,其中,該包絡計算單元包括:一上包絡計算電路,用以依據該些極大值計算該上包絡線;一下包絡計算電路,用以依據該些極小值計算該下包絡線;一包絡計算控制器,在該上包絡計算電路及該下包絡計算電路分別依據該些極大值及該些極小值計算該上包 絡線及該下包絡線的期間,依據對應到相同位址之該上包絡線之數值及該下包絡線之數值輸出該均值包絡線的數值到該記憶單元。
  3. 如申請專利範圍第2項所述之分頻濾波裝置,其中,該包絡計算單元更包括:一運算電路,用以依據對應到相同位址之該上包絡線之數值及該下包絡線之數值計算該均值包絡線的數值。
  4. 如申請專利範圍第2項所述之分頻濾波裝置,其中,該包絡計算單元包括:一檢查電路,用以依據該上包絡計算電路及該下包絡計算電路輸出之指示訊號,控制該上包絡計算電路及該下包絡計算電路以分別輸出對應到相同位址之該上包絡線之數值及該下包絡線之數值。
  5. 如申請專利範圍第2項所述之分頻濾波裝置,其中,該上包絡計算電路包括:一第一運算單元及一第二運算單元,用以依據該些極大值計算該上包絡線;其中,該第一運算單元輸出一第一運算結果給該第二運算單元後,在該第二運算單依據該第一運算結果以計算出該上包絡線之數值之同時,該包絡計算控制器控制該第一運算單元繼續處理下一第一運算結果。
  6. 如申請專利範圍第5項所述之分頻濾波裝置,其中,該上包絡計算電路更包括:一計數器,用以計算該第一運算單元運算以輸出該第一運算結果之時間;其中,該包絡計算控制器依據該計數器計算之時間,控制該第一運算單元繼續處理下一第一運算結果。
  7. 如申請專利範圍第5項所述之分頻濾波裝置,其中,該第一運算單元包括一除法運算單元。
  8. 如申請專利範圍第7項所述之分頻濾波裝置,其中,該第二運算單元包括一累加電路,其中,該上包絡計算電路係依據極點連線方式以產生該上包絡線之數值。
  9. 如申請專利範圍第5項所述之分頻濾波裝置,其中,該上包絡計算電路更包括:一檢查電路,用以檢查兩極大點之數值是否符合一例外條件;一輔助運算電路,其中,該上包絡計算電路依據該兩極大點之數值是否符合該例外條件,選擇性地藉由該輔助運算電路及該第一運算電路之一以計算得到該第一運算結果。
  10. 如申請專利範圍第2項所述之分頻濾波裝置,其中,該下包絡計算電路包括:一第一運算單元及一第二運算單元,用以依據該些極小值計算該下包絡線;其中,該第一運算單元輸出一第一運算結果給該第二運算單元後,在該第二運算單依據該第一運算結果以計算出該下包絡線之數值之同時,該包絡計算控制器控制該第一運算單元接續進行運算以產生下一第一運算結果。
  11. 如申請專利範圍第10項所述之分頻濾波裝置,其中,該下包絡計算電路更包括:一計數器,用以計算該第一運算單元運算以輸出該第一運算結果之時間;其中,該包絡計算控制器依據該計數器計算之時間,控制該第一運算單元繼續處理下一第一運算結果。
  12. 如申請專利範圍第10項所述之分頻濾波裝置,其中,該第一運算單元包括一除法運算單元。
  13. 如申請專利範圍第12項所述之分頻濾波裝置,其中,該第二運算單元包括一累加電路,其中,該下包絡計算電路係依據極點連線方式以產生該下包絡線之數值。
  14. 如申請專利範圍第10或12項所述之分頻濾波裝置,其中,該下包絡計算電路更包括:一檢查電路,用以檢查兩極小點之數值是否符合一例外條件;一輔助運算電路,其中,該下包絡計算電路依據該兩極小點之數值是否符合該例外條件,選擇性地藉由該輔助運算電路及該第一運算電路之一以計算得到該第一運算結果。
  15. 如申請專利範圍第1項所述之分頻濾波裝置,其中,該極點計算單元包括:一極大點計算電路,用以依據該樣本資料,輸出該樣本資料之該些極大值;一極小點計算電路,用以依據該樣本資料,輸出該樣本資料之該些極小值;一極點計算控制器,用以讀取該樣本資料,並控制該極大點計算電路及該極小點計算電路輸出並儲存該樣本資料之該些極大值及該些極小值至該記憶單元中。
  16. 一種分頻濾波方法,包括:依據樣本資料,輸出並儲存該樣本資料之複數個極大值及複數個極小值至一記憶單元中; 依據該些極大值及該些極小值藉由一包絡計算單元,計算一均值包絡線,其中,在分別依據該些極大值及該些極小值進行對應之一上包絡線及一下包絡線之計算的期間,依據對應到相同位址之該上包絡線之數值及該下包絡線之數值輸出該均值包絡線的數值到該記憶單元;依據該均值包絡線的數值及該樣本資料,產生一分量訊號之數值;以及依據該分量訊號之數值,依據經驗模態分解方式以疊代方式,藉由該依據樣本資料,輸出並儲存該樣本資料之該些極大值及該些極小值至該記憶單元中之步驟及該依據該些極大值及該些極小值藉由該包絡計算單元,計算該均值包絡線之步驟,分解該樣本資料為複數個基本模態函數。
  17. 如申請專利範圍第16項所述之分頻濾波方法,其中,該輸出該均值包絡線的數值之步驟,包括:藉由該包絡計算單元,進行一第一運算,以產生一第一運算結果;藉由該包絡計算單元,進行一第二運算,用以依據該第一運算結果計算出該上包絡線之數值或該下包絡線之數值;其中,在該第二運算單元執行之同時,控制該包絡計算單元進行該第一運算以產生下一第一運算結果。
  18. 如申請專利範圍第17項所述之分頻濾波方法,其中,該輸出該均值包絡線的數值之步驟更包括:計算該第一運算產生該第一運算結果之時間; 依據該計算之時間,控制該包絡計算單元繼續進行第一運算以產生下一第一運算結果。
  19. 如申請專利範圍第17項所述之分頻濾波方法,其中,該第一運算包括一除法運算。
  20. 如申請專利範圍第19項所述之分頻濾波方法,其中,該第二運算包括一累加運算,其中,該包絡計算單元係依據極點連線方式以產生該上包絡線之數值或該下包絡線之數值。
  21. 如申請專利範圍第17項所述之分頻濾波方法,其中,該輸出該均值包絡線的數值之步驟更包括:檢查兩極大點之數值是否符合一例外條件;依據該兩極大點之數值是否符合該例外條件,選擇性地藉由一輔助運算及該第一運算之一以計算得到該第一運算結果。
  22. 如申請專利範圍第21項所述之分頻濾波方法,其中,該第一運算包括一除法運算。
TW098146264A 2009-12-31 2009-12-31 分頻濾波裝置及其方法 TWI448072B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW098146264A TWI448072B (zh) 2009-12-31 2009-12-31 分頻濾波裝置及其方法
US12/868,200 US8606836B2 (en) 2009-12-31 2010-08-25 Apparatus and method for frequency division and filtering

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW098146264A TWI448072B (zh) 2009-12-31 2009-12-31 分頻濾波裝置及其方法

Publications (2)

Publication Number Publication Date
TW201123716A TW201123716A (en) 2011-07-01
TWI448072B true TWI448072B (zh) 2014-08-01

Family

ID=44187525

Family Applications (1)

Application Number Title Priority Date Filing Date
TW098146264A TWI448072B (zh) 2009-12-31 2009-12-31 分頻濾波裝置及其方法

Country Status (2)

Country Link
US (1) US8606836B2 (zh)
TW (1) TWI448072B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8660848B1 (en) * 2010-08-20 2014-02-25 Worcester Polytechnic Institute Methods and systems for detection from and analysis of physical signals
WO2012051320A2 (en) * 2010-10-12 2012-04-19 Worcester Polytechnic Institute Motion and noise artifact detection for ecg data
TW201217993A (en) * 2010-10-20 2012-05-01 Huafan University employing operation on decomposed matrices to reduce operation amount for single matrix per unit time for light-weighting matrix operation process in simpler operation circuit
CN102811034A (zh) 2011-05-31 2012-12-05 财团法人工业技术研究院 信号处理装置及信号处理方法
CN103455977B (zh) * 2012-06-04 2016-12-14 中国科学院深圳先进技术研究院 一种消除内窥镜图像光照不均的方法及系统
US9367079B2 (en) * 2013-03-15 2016-06-14 West Virginia University Compressed sampling and memory
US20150301984A1 (en) * 2014-04-21 2015-10-22 National Taiwan University Signal decomposition system with low-latency empirical mode decomposition and method thereof

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030058964A1 (en) * 2000-10-30 2003-03-27 Angel Ezquerra-Moreu Method for estimating and removing a time-varying DC-offset

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6311130B1 (en) * 1996-08-12 2001-10-30 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Computer implemented empirical mode decomposition method, apparatus, and article of manufacture for two-dimensional signals
US5983162A (en) * 1996-08-12 1999-11-09 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Computer implemented empirical mode decomposition method, apparatus and article of manufacture
TWI309520B (en) 2005-03-07 2009-05-01 Ralink Technology Corp Carrier recovery architectures for mimo ofdm receivers
TWI307227B (en) 2006-01-09 2009-03-01 Via Tech Inc A fft processor, an implement method thereof and an ofdm processor using the same
BRPI0922050A2 (pt) * 2008-11-14 2019-09-24 That Corp proteção de processamento multi-espacial e controle de volume dinâmico
TW201238562A (en) * 2011-03-25 2012-10-01 Univ Southern Taiwan Brain wave control system and method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030058964A1 (en) * 2000-10-30 2003-03-27 Angel Ezquerra-Moreu Method for estimating and removing a time-varying DC-offset

Also Published As

Publication number Publication date
US8606836B2 (en) 2013-12-10
US20110158259A1 (en) 2011-06-30
TW201123716A (en) 2011-07-01

Similar Documents

Publication Publication Date Title
TWI448072B (zh) 分頻濾波裝置及其方法
Yang et al. Approximate compressors for error-resilient multiplier design
Barrois et al. The hidden cost of functional approximation against careful data sizing—A case study
Lin et al. Scalable montgomery modular multiplication architecture with low-latency and low-memory bandwidth requirement
Bosmans et al. A tiny coprocessor for elliptic curve cryptography over the 256-bit NIST prime field
Shen et al. New ping-pong scheduling for low-latency EMD engine design in Hilbert–Huang transform
Shahnovich et al. Hardware implementation of a real-time tone mapping algorithm based on a mantissa-exponent representation
Khan et al. Comparative analysis of different algorithm for design of high-speed multiplier accumulator unit (MAC)
Cumplido et al. On the implementation of an efficient FPGA-based CFAR processor for target detection
CN115390787A (zh) 一种基于数字迭代的全并行基-4除法器结构
Jothin et al. High performance modified static segment approximate multiplier based on significance probability
JP2016045721A (ja) データ格納方法、三値内積演算回路、それを備えた半導体装置、及び、三値内積演算処理プログラム
Gaffar et al. PowerBit-power aware arithmetic bit-width optimization
Zhao et al. An fpga-based hardware accelerator of ransac algorithm for matching of images feature points
Hu et al. 3D waveform oscilloscope implemented on coupled FPGA-GPU embedded system
Wu et al. A fine-grained pipelined implementation of the LINPACK benchmark on FPGAs
Nnolim Design and Implementation of Gain-Offset Correction Algorithm Hardware Architecture for Grayscale and Color Images Contrast Enhancement
Praveena et al. Bus encoded LUT multiplier for portable biomedical therapeutic devices
JPS6128090B2 (zh)
Rémi et al. Multiple Constant Multiplication: From Target Constants to Optimized Pipelined Adder Graphs
Xu et al. Implementation of Harris corner matching based on FPGA
Samman et al. Reconfigurable streaming processor core with interconnected floating-point arithmetic units for multicore adaptive signal processing systems
Verma et al. Area Efficient Hardware Architecture of Skeletonization for 2D Images
Patel et al. Area Efficient Diminished 2n-1 Modulo Adder using Parallel Prefix Adder
Nandini et al. High Speed and Power Optimized Parallel Prefix Modulo Adders using Verilog