TW200842699A - Signal processing - Google Patents
Signal processing Download PDFInfo
- Publication number
- TW200842699A TW200842699A TW97110966A TW97110966A TW200842699A TW 200842699 A TW200842699 A TW 200842699A TW 97110966 A TW97110966 A TW 97110966A TW 97110966 A TW97110966 A TW 97110966A TW 200842699 A TW200842699 A TW 200842699A
- Authority
- TW
- Taiwan
- Prior art keywords
- value
- processor
- data
- function
- coefficient
- Prior art date
Links
- 238000012545 processing Methods 0.000 title claims description 29
- 230000006870 function Effects 0.000 claims description 63
- 238000000034 method Methods 0.000 claims description 46
- 238000004364 calculation method Methods 0.000 claims description 44
- 230000008569 process Effects 0.000 claims description 17
- 239000000463 material Substances 0.000 claims description 12
- 238000004891 communication Methods 0.000 claims description 9
- 238000001914 filtration Methods 0.000 claims description 8
- 230000005428 wave function Effects 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 3
- 239000004065 semiconductor Substances 0.000 claims description 3
- 235000010627 Phaseolus vulgaris Nutrition 0.000 claims 1
- 244000046052 Phaseolus vulgaris Species 0.000 claims 1
- 238000003491 array Methods 0.000 claims 1
- 238000009795 derivation Methods 0.000 abstract 1
- 238000004422 calculation algorithm Methods 0.000 description 23
- 238000010586 diagram Methods 0.000 description 11
- 230000001186 cumulative effect Effects 0.000 description 8
- 230000008901 benefit Effects 0.000 description 7
- 230000009466 transformation Effects 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 5
- 238000009825 accumulation Methods 0.000 description 3
- 238000007792 addition Methods 0.000 description 3
- 206010011469 Crying Diseases 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000007620 mathematical function Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 241000219112 Cucumis Species 0.000 description 1
- 235000015510 Cucumis melo subsp melo Nutrition 0.000 description 1
- 241000237536 Mytilus edulis Species 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000017525 heat dissipation Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 235000020638 mussel Nutrition 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000011273 social behavior Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 229910000859 α-Fe Inorganic materials 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/15—Correlation function computation including computation of convolution operations
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Complex Calculations (AREA)
- Image Processing (AREA)
Description
200842699 訾 九、發明說明: 【發明所屬之技術領域】 本發明係有關於-種信號處理器,及一種信號處理方 法0 【先前技術】 許多現存及新生的系統可使用根據說明基本系統的數 學被適當地程式化之現代的數位處理器加以分析。例如, ::於分析線性非時變系統,諸如電路、光學裝置、機械機 構、及許多其他系統’此種分析今天是越來越有用。 在數學及諸如今曰科學及工程的多數分支之許多廣泛 =它=中’名詞,,變換,,被用以指一種方程式分析 技術。史換的概念回溯至數學的泛函 齡沾办m ‘ 八王要處理函 數的工間的研九,其中,一特別 為苴夂赵 双,、百另一函數以做 。攸而’變換可被用於單獨的方程式或整組 式’其中’變換的過程係在 ^ 在-不同的域中的另一方程t :不的原來方程式至 T叼力方私式之一對一的映射❶ 執行變換的動機通常是直接 以用它們;f來的> _ & 有斗夕方程式,其難 法被更輕易地解答,,變換可被執::=二表示 積分變換之通 後一逆變換被執行以將解映射回原來的域卜解,然 常的形式被定義為·· (1) g(a^)/m(a9t)dt a
八中,κ(α,·〇通常被稱為變換的,,積分核” 3019-9547-PF 5 200842699 拉普拉斯(Laplace)變換係由方 類的一子集且其通常特別有用。、給定一J疋義的變換種 之一簡單的數學或函數敘述,拉普拉: 函數敘述,其可簡化對系統行為的分析。的 一般的形式被定義為·· 曰 欠換之 ⑵ z(/(〇}=Je f(t)dt ο
二0、取代、⑽…,時,積分及 界限由方程式⑴被重新定義。僅當s夠大且特定 ==可使用普拉斯變換,但這些條 有足夠的彈性以使竭可具有實際上發現的幾 乎何有用的函數之函數形式。 , 特疋函數,例如,不是單一已知函數的變 、,但可被表示為兩個函數的積,其各自分別係已知函數 /Γί;或^的變換的結果。也就是, ⑶ F(s)^mg(S) 其中,g(t)必須滿足與f(t)相同的條件。由在F(s)、f(t) 及g⑴間的此關聯,了列的關係適用: ) ^(*y) - L{ |/(^ _ T)g(r)dT} ο 其通 4 被稱為,,摺積定理,,(THE CONVOLUTION THEOREM)。 可觀察到摺積定理導致僅一個變數的積分之變換。因 ^僅Μ ’變數的積分之數值近似的技術可被應用。 下歹】的等式適用於積分表示法及黎曼和(Riemann sum) 表示法之間:
3019-9547-PF 6 200842699 ⑶ )f(t - r)g(T)dr = f{〇t_k )g(c )Δτ
0 k=Q 其中’各及〇係在第々個子區間中被任意選擇。實際 上,在方程式(5 )之等式的右手邊係由使用非常小的Δτ並且 了解到存在有取決於選擇的數值技術之某一階的誤差項及 △ τ的值而被接近。從而: ⑹ SS / ^ct-k )s(ck )Δτ = 2] f{ctk )g{ck )Ατ + 0(Arm) k=Q /:=0 • 其中,m係可由總和表示的準確性的階(且也係可被預期的 精確度的數目)且〇係傳統數學中的大〇記號。 如上暗示,在可由使用摺積得益的變換之重要應用中 有現存的及可能的用途。例如,一個此種應用係結合在數 位k號處理(DSP)中執行的數位濾波使用摺積。 可被表示為一數學函數的任何濾波可通過使用數位渡 波器被實現,且這是現代DSP實施的一項基礎。例如,從 一信號被取樣的資料值之數位濾波容許移除信號之不想要 •的部分或是擷取信號之有用的部分。有限脈衝響應(fir) 及無限脈衝響應(HR)係被使用於今曰DSP應用中之兩種 主要類型的數位濾波器,且較常見的是FIR濾波器。 因為不需要内部回饋,其會例·如使得一丨IR瀘波器不 確定地響應一脈衝,FIR濾波器通過被認為有利於使用。 其名稱中之,,有限,,也意味著Fir濾波器的另一項優點。 來自此一濾波器的脈衝最終固定為零,且在使用的迭代加 總計算中的誤差未傳播。也就是,誤差項在整個計算過程 中保持固定。這是勝過丨IR濾波器的一項明顯的優點,例
3019-9547-PF 7 200842699 如’在11R濾波器中,對於各個額外的迭代輸出總和,誤 差可能會增加。 不幸地’對於許多應用,數位濾波器的主要限制係在 於其速度受到用於數值計算的處理器的速度之限制。例 如’若需要高渡波速度’這會使得完成數位濾波器需要的 硬體〒貝或者就是無法達成。對於差不多所有的應用,且 對於夕數電子系統通常為真,即使用的速度越高,其變得 φ 越難以處理一致的效應,諸如抑制電磁雜訊及散熱。 因此,改善我們用以執行數值摺積計算的系統將使得 我們可用更间的速度、更經濟地、且在基本及外圍系統中 /、有減^之不利效應’執行有關當前及新的信號處理的工 【發明内容】 一種包括多電腦處理器之摺積 本發明的一實施例使用
計算的系統。 的中間值加到現在的中間值 中 邏輯被提供以將資料 本發明之第一特徵提供 函數之摺積的系統。處理器 最後處理器且其各自包括一 導數之一係數值及表示資料 現在的中間值。在第一處理 提供以接收一前面的中間值 先w執行的計算,及將前面 在最後處理器之外的處理器 一種用於計算資料函數及濾 的陣列被提供,其包括第一 邏輯,用以將根據濾波函數 函數之一資料值相乘以產生 器之外的處理器中,一邏輯 ,其表示在處理器的另一個
3019-9547-PF 8 200842699 及現在的中間值送至另一個處理器。一邏輯被進_步提供 以保存j自最後處理器的一前面的中間值,若有的話,; 做為-前面的部分值,及將此前面的部分值加至來 處理器的現在的中間值以產生一結果值。從而,處理写的 陣列接2-系列的資料值並產生—系列的結果值,其整體 地表示資料函數及濾波函數的摺積。 第一特徵的一實施例提供一信號處理器,其具有用於 從-待處理的信號提供表示信號的資料值之裝置,及用於 ^慮,函數計算表示信號的資料之摺積的該系統。舉例而 言’實施例係一數位濾波器。 本發明的第一特徵也提供一種用於計算在資料函數及 滤波函數的摺積中之結果值的方法。一序列的係數值被得 到,其係根據錢函數㈣數。對於表示諸函數的 ^值’係數值被使用在包括一第一及最後處理器之電腦的 處理器的管線中,以將係數值之一及資料值相乘以產生現 在的":值。除了在第一處理器中’表示在處理器的另一 個中先前執行的計装 T异之刚面的中間值被加到現在的中間 值。除了在最後處理器中’資料值及現在的中間值被送至 一隨後的處理器。一箭 月J面的邛勿值,若有的話,被加到來 自最後處理器之現在的中間值以產生-結果值,其中,此 前面的部分值係來自最後處理器之一先前的中間值。並 且’結果值被輸出至利用此程序的一數位信號處理器。 特徵的一實施例也提供一種處理一信號的方法, 匕括攸-待處理的信號提供表示該信號的資料值,及用於
3019-9547-PF 9 200842699 以濾波函數計算資料值之摺積的該程序。 本發明的第二特徵提供用於計算資料函數及滤波函數 的摺積的-種過程及對應系'统。—序列的係數值被獲得, 其係根據濾、波函數的莫| θ ^ 反山数的v數,且一序列的資料值被獲得,盆 係表示資料函數。對於各個此種賴值,相對於各個此種 係數值7在包括一第一及最後處理器之電腦的處理器的管 線中:係數值及資料值被相乘以產生一現在的中間值。除
^第:處理H中,表示在處理器的另—個中先前執行的 开月』面的中間值被加到現在的中間值。除了在最後處 理器2,資料值及現在的中間值被送至—隨後的該處理 裔。一前面的部分值,若有的話,被加到來自最後處理器 見,的中間值以產生_結果值,其中,前面的部分值係 來自取後處理為之_先前的中間值。這些結果值被輸出至 利用此過程的一數位信號處理器。 /第一特徵的一實施例提供一種信號處理方法及對應的 糸統,包括從一待處理的信號提供表示該信號的資料值, j用於以濾波函數計算資料值之摺積的該過程。舉例而 言,過程係一信號濾波過程。 i本lx明的第二特徵提供一種改良的系統,用以計算在 二中至^處理器將表示濾波函數的一係數值及表示資料 函數的一賣料值相乘的類型之摺積。此改良包括係數值係 根據渡波函數的導數。 第二特徵的一實施例提供一種信號處理器,具有從一 待處理的指號提供表示該信號的資料值之裝置,及用於以
3019-9547-PF 200842699 遽波函數计算表示該信號的資料之摺積的兮/ 言,實施例傣一數位濾波器。 、^系統。舉例而 本發明的第三特徵也提供一種改良的過程,# 在係數值係表示一濾波函數,資料值係表示一々用於計算 且係數值及資料值有相乘以產生整體上表二料函數, 之類型的電腦的處理器中的摺積。 、的結果值 其係根據濾波函數的導數。 ’、數值’ ❿啼第/特徵的—實施例從-待處理的信號提供表示辟 ^ ,SI ^ _ 卞异貝枓值的摺積之該 過红。舉例而s,過程係一信號濾波過程。 本發明也提供一種電腦程式,其當在電腦的處理器之 陣列中運行時使得陣列執行本發明的第_、第二或第三特 徵的過程。電腦的陣列可位於單一半導體晶粒上。電腦程 式可位於 載體上,-Α» 其了為在一電腦中的一記錄媒體、或 一電號、或一記憶裝置。 • 如在此說明且如在圖式的圖中繪示者,考慮到實現本 發明的模式的說明及最佳實施例之產業利用性,對於熟知 此技藝者’本發明之這些及其他目的及優點將變得更加清 楚。 本表月之目的及優點由下面的詳細說明,結合附圖, 將更加明瞭。 【實施方式】 本表明之較佳實施例係一種以.多電腦處理器執行的
3019-9547-PF 11 200842699 且特別是在 一般的參考 摺積計算之系統。如在此之不同圏式中說明, 圖1的圖式中’本發明之較佳實施例係描述為 簡單地說,本發明係一種改良的擅積系統1〇, 二地接近資料函數及滤波函數的摺積的解。使用數值技術 執仃摺積計算本來就傾向需要大量的乘法及加法運算。 發明容相兩個特別的方式大幅地減少執行此:
的整體時間。首先,W許平行地完成 _斤而 “ 爭歹J地其',本發明容許使用新種類的演算 法⑷糾Hhm),其使用濾波值及可用較少資料位元表示的 ^值’如此’考慮處理器之固有的限制,其可被 地執行。 < 圖1係描述被使用在電腦處理器14的陣列12中之發 明的摺積系統10的圖式。注意摺積系统ι〇本身,支撐陣 列12的外部元件一般被省略或描繪。不過,熟知此技^者 _ 將理解此種元件將出現在實際操作的實施例中且它們事實 上通常可為常見的。例如,圖!省略有關提供陣列Μ電力 的所有細節且包括一般形式的外部輸入裝置16、輸入匯流 排18、輸出匯流排20、及外部輸出裝置22。為了簡化表 不,一般的計算的初始化及終止最初也未討論,且程式指 令及摺積係數值被當作已經載入至處理器14。輸入裝置^ 在此被視為僅關於提供摺積將據以執行的輸入資料值且輪 出裝置22在此被視為僅關於接收摺積此以執行的輪出資 料值。輸入資料值係待處理(例如濾波)的信號之樣本。輪
3019-9547-PF 12 200842699 出貧料值係被處理(例如濾波)的信號樣本。 在輸入裝置16開始且在輸出裝置22結束,圖1文體 上也顯不一流動路徑24。不過,應瞭解與此不同的排列也 疋非#可能的。例如,其他的開始及停止位置是可能的, 與描述的流動路徑24不同的路徑也是可能的(且在替代的 貫施例中甚至是很可能的),且可改用單一之組合的I/O裝
置(未顯示),例如,具有與陣列12通信之輸入及輸出通道 者0 發明人目前較好的摺積系統10的硬體平台係在單一 晶粒26中具有處理器14的陣列12,諸如inteiiaSys
Corporation of Cupertino, California SEAforth-24A 或SEAforth 4GA裝置。SEAfc)rth_24A在此被使用於多數 例子中(且在這些例早由 者 抑 子中的處理态14可恰當地被稱為,,核 心”或”節點”)。要推一牛伯4 % a 進 v使讨褅谷易,整組處理器14 的構件被單獨地稱為處理器14a_x,如圖所示,且各自具 有使其可與出現的其他處理器14相互通信之匯流排 雖,圖1所示的各處理器具有將其相互連接至其 的處理4 14之匯流排28,從流動路徑24的路線,可看出 並非所有的匯流排28都必需被使用。事實上 摺積系統10的實施例可、ά祛上& —、 在此颂不的 刃貫%例可被替代地實施為一 列通信的處理器(我們稱為處理器的”管線”): 串 圖2(習知技術)係圖1中的處理器η SEAf orth-24A處理哭沾’亦即是 A處理益的核心的主要内部特 理器…常係—獨立運行的電 :=各處 G祜异術邏輯單
3019-9547-PF 13 200842699 元(ALU 30)、一些唯讀記憶體(R〇M 32)、一些隨機存取記 憶體(RAM 34)、一指令解碼邏輯區段° 資料堆疊4。、及一迴返堆疊42。同樣被包括的係一 18: Ά暫存器U暫存器44)、一9位元” B”暫存器(W 存™ 46) 9位元程式計數暫存器(P暫存器48)、及一 18位元I/O控制及狀態暫存器(I〇cs暫存器5〇)。進一步 被包括的係四通料(整體料52,分別料心,。^ 了邊緣及角落節點的情況,淳52各自連接至一各自的匯流 排、28(且具有18條資料線、—讀取線、及—寫人線_未單 獨被顯示)。 在SEAforth-24A裝置中的節點以特別嚴謹且有效的 方式非同步地操作通信及處理,使得此裝置高度適於與發 明的摺積系統1G之實施例—起使用。不過,應記住使用此 特別的裝置,或者甚至接近其功能的硬體是不需要的。同 樣地’可能需要防範關於資料實際上如何在陣列12中的處 ♦理器”14間通信的誤解。例如,當考慮裝置間的通信時,可 使用推或拉的象徵,但應記住通信實際上是裝置 間的一種合作行為。 圖3a—C係描述使用處理器14之向内、向外、及内部 通信的圖1的部分圖式。圖3a顯示資料如何通過輸入裝置 6及處理器14a之間與處理器} 4a及處理器^ 之間。圖 匕b顯示資料如何通過處理器…及處理器ΐ4χ之間與處理 器14χ及輸出裝置 之間。且圖3 c顯示資料如何通過處 理器14i及處理器i4j之間。
3019-9547-PF 14 200842699 圖3a-c中的各處理器14被表示為具有—般的關鍵資 讯保存元件。SEAforth_24A裝置以RAM、r〇m、暫存器為特 點,其均可被使用於以程式的方式執行計算。在此,其特 別表示一般的資訊保存元件,其將被討論,可為ram、r〇m'、 暫存器及埠的任—個。在處理器14a的情況中,信號資料 π件60係重要資訊保存元件。在處理器Ubi的情況中, 信號資料元件60、積分核濾波元件62、及計算的元件64 • 之每一個係各自的重要資訊保存元件。且在處理器14x的 情況中,結果元件66係重要資訊保存元件。 現在隨著圖3a繼續進行,這顯示資料如何可進入陣列 12。在此例示之摺積系統1〇的實施例中,處理器^乜專用 於從輸入裝置14接收資料並且將其提供給處理器Ub。如 此,處理器14a可從輸入裝置16接收並儲存資料字且然後 使用信號資料元件60以提供這些資料字的實例給處理器 14b,僅受到其RAM 34的性能及其是否已適當地程式化的 限制。 在SEAf orth-24A裝置中的通信及處理均為非同步,故 一旦處理器14a使得資料可被處理器14b利用,手邊工作 的處理概念上”流動,,通過陣列12的剩餘部分。 圖3b顯示資料如何可從陣列12被擷取。處理器ΐ4χ 在此係被專用於從處理器l4w接收資料且將其提供給輸出 裝置22。如此,處理器14x從處理器Uw接收並儲存資料 字,且然後使用其結果元件66以提供資料字給輸出裝置 22,再次全部僅受到其RAM34的性能及其是否已適當地程
3019-9547-PF 15 200842699 μ 式化的限制。 七圖3C顯示信號資料元件60及計算的元件64通常如何 *動在處理器、14b — w之間,並且也顯示總和如何可被累積 儲存在各處理器14中且然後在摺積計算的過程中一起通 ^如如詳述,處理器14b-¥的每一個在此可執行有助於 整體計算的運算。在處理器14b的情況中,此運算使用— 新的輸入身料值(在其信號資料元彳6〇中)及一預先儲存 •的摺積係數值(在其積分核濾、波元件62中)。在ιΜ寺別的例 子中’因為從較早的計算級並沒有什麼是”部分的,,,故 處理器Ub不需要-計算的元件64。不過,為了程式的簡 化處理态可具有載入零的一計算元件64。同樣地, 對於母個節點多摺積係數被處理(目前被討論)的應用,處 理器14b可具有並使用一計算元件64。 接著,在處理器14C-W的情況中,經由使用預先儲存 的摺積係數值、沿著流動路徑24來自其各自之前面的處理 馨器14的輸入資料值、及也來自前面的處理器“的一中間 值,各自執行有助於整個摺積計算的運算。摺積係數值被 保存在各自的積分核濾、波元件62中,輸入資料值被暫時保 存在各自的信號資料元件6G中4中間值被暫時保存在各 自的計算元件64中。 圖2及圖3a-c可被用以更一般地觀看咖〇咐_24八 裝置令的處理If 14a-x料及暫存器如何可如剛才說明一 樣被使用。例如,處理器14a使用其埠52d以將輪入資料 值向右傳遞至處理器14b,其可將之放入其資料堆疊4〇。
3019-9547-PF 16 200842699 然後,處理器14b使用現在在其資料堆疊4〇中的輸入資料 值及已經在其資料堆疊4〇巾的摺積係數值執行有助於摺 積的運算’且然、後處理@ 14b由此將中間資料值放在其蜂 52d。 然後,類似的操作可在處理器14b_w中沿著流動路徑 24發生。雖然在SEAf〇rth_24A裝置中的節點非同步地操 作,處理器14bi中的操作在此全部在概念上可被視為平 行地發生。因此,實質上與剛才對處理器Ub說明者同時, 類似的操作可在處理器14i及Uj中發生,例如,只有這 些將使用各自的摺積係數值,處理中間資料值,及使用它 們沿著流動路徑24的埠52。同樣實質上同時,處理器uw 將在其埠52c使得輸出資料值可用於處理$ 14χ以如上述 操作。不過,再次應注意RAM、R〇M、暫存器、及埠全部可 被以程式的方式使用在漏Qrth_24A裝置中且此前面的 例子僅係處理器14可被程式化以達成相同結果的許多方 式之一 ° 圖4a-f係概述在諸如圖j者之處理器14的陣列Μ中 的摺積計算級的方塊圖。通常,級在此需要: (1)平行地將資料樣本值及摺積係數值相乘; (2 ) 5十算來自級(1)的乘積的總和; (3) 通過陣列12(亦即,通過管線)移位資料樣本值, 接收進入第一節點的下一資料樣本值並且丟棄來自 最後節點的資料樣本值;及 (4) 依需求重覆(亦即,如現在更詳細地說明)。
3019-9547-PF 17 200842699 因為SEAf orth-24A裝置以RAM、R0M、暫存器、及埠 為特點,其全部可被用於以程式的方式執行的計算,且因 為發明的摺積系統10可與具有較小、較大、或其Z性能及 結構之其他裝置一起使用,圖4a_f中的資料儲存元件在b此 一般被稱為”箱”(bins)。要簡化下面的討論,例子在此 使2相同數目(具體而言,各自為22個)的權積係數值、樣 本資料值、及在只際擅積计异中被使用的處理器H。這些 鲁 #式在許多”真實世界”的應用中可能是罕見的,所以對 於替代情況的考慮現在被討論,且在任何情況中,一曰下 面被完全認識,使用其他等式對於熟知此技藝者係簡單的。 圖4a顯示正式的計算在其已經準備開始的級。摺積係 數值(cd··· Cn ;總共n + 1個值,其中,在圖j及3a —c中的 SEAforth-24A裝置中,n = 21)已被載入至箱中(整體被稱為 c箱72,明確地說係c箱零被載入至其他箱中(整 體被稱為d箱74,明確地說係d箱74(。.1〇,且其他箱(整 • 體被稱為r箱76,明確地說係r箱了心...2^)具有最初不 重要的内容。在圖4a-f及下面的討論中,索引開始於零, 且c代表”係數” ,” d”代表,,資料” ,” a”代表” 累積的”中間值,及” r”代表,,結果”。 圖4b顯示第一資料樣本值在其已被接收進入d箱 74((〇的下一級。計算以被儲存在r箱76(())的第一結果值(η) 通過官線的整個長度實質上同時且平行地如圖所示進行。 圖4c顯示前面的資料樣本值(dQ)在其已被移動至d箱
74(u且第二資料樣本值(dl)已被接收進入d箱74(〇)的下一 3019-9547-PF 18 200842699 級。計算以現在被儲存在r |g 76n)的第二結果值(ri)通 管線的整個長度實質上同時且平行地如圖所示再次進行。 在圖4c及圖4d之間係、刀|級,其在概念上係报像剛 說明的級。 圖4d顯不最後的資料樣本值(dn)在其已被接收進入d 箱74(。)的級。計算再次以現在被儲存在犷箱76⑷的—結果 值(rn)如圖所示進行。 藝 圖4e顯示下一級。現在已部分地處理全部的万"個資 料樣本值(d〇".dn),最後的資料樣本值(dn)已被移動進入己 箱74⑴且零的值被放進4箱”⑴。計算繼續進行且一結果 值(rn+1)被儲存在r箱76(n+1)中。 在圖4e及圖4f之間係另外的刀―之級,其概念上彳艮像 剛說明的級。 圖4f顯不最後資料樣本值(dn)在其最終地結束被處理 的級。在在此的計算之後,第(/7幼_7)個結果值被儲存在『 .1 76UH)中且處理完成。Γ箱76(^"現在保存根據 資料樣本值(do..· d„)及/70摺積係數值c〇在此執行的 摺積計算之完全的結果。 圖5a-f係概述根據再次出現在諸如圖1者之處理器 14的陣列12中之一新的演算法的摺積計算級的方塊圖。 簡單地說,新的演算法使用濾波函數的導數。為了強調此 點’在此使用的摺積係數值係不同地標示為c,。…c,①(其 中,在圖1及3a-c的SEAfor1:h-24A裝置中,m=2i ;、、主音 當對在此的索引使用不同的參考時使用的理由現在被討 3019-9547-PF 19 200842699 論)。 圖5a顯示正式的計算在其已經準備開始的級。導數擅 積係數值(c,。…c’ 〇0已被載入至箱中(整體被稱為c,箱 82,明確地說係c’箱82U.10,零被載入至其他箱中(整 體被稱為d箱84,明確地說係d箱84(。·.. π)),且星一,, 干 Ρ相 86及一組結果箱(整體被稱為r箱88,明確地說係r箱 88(〇m)具有最初不重要的内容。有點像前面的例子,索 引開始於零,且,,c,’,代表,,係數,,的導數,” d,,再次 代表”資料” ,” a”再次代表,,累積的,,中間值,” 代表”部分’’(跟有助於結果的,,部分,,一樣),且” 代 表結果”。 圖5b顯不第一資料樣本值(d。)在其被接收進入廿箱 84m的下一級。計算以被提供至p箱86的第一部分值(^) 通過管線的整個長度實質上同時且平行地如圖所示進行。 不過,不像使用圖4a-f中所示的傳統摺積演算法之變化 形,先前的部分值在此被加至現在的部分值,且然後 這被儲存在『箱⑽⑷中。因為在此早期的級沒有什麼是,, 先前的’’,不過,零被加到第一部分值(p〇以計算被儲存 在r箱88m中的第一結果值(r。)。 圖5c顯示前面的資料樣本值(d。)在其已被移動至d箱 84⑴且第二f料樣本值(di)已被接收進入d肖84(。)的下_ 級。計算以現在被提供i 86的第二部分值(ρ〗)通過管 線的整個長度實質±同時且平行地如圖所示再次進行。先 前的部分值(p〇)被加至現在的部分值(ρι),且然後這被儲存
3019-9547-PF 20 200842699 做為在r箱88⑴中的一第二結果值(n)。 在圖5c及圖5d之間係思-之級,其在概念上报像剛說 明的級。 圖5d顯示最後的資料樣本值(d〇在其已被接收進入^ 相84((υ的級。計算再次以現在被儲存在Γ箱88⑷的—第双 個結果值(r m )如圖所不進行。 圖5e顯示下一級。現在已部分地處理全部的瓜"個資 φ 料樣本值(d{r"d〇,最後的資料樣本值(d〇已被移動進入d 箱84⑴且零的值被放進己箱“⑷。計算繼續進行且一結果 值(rm+1)被儲存在r箱88(m+1)中。 在圖5e及圖5f之間係另外的w級,其概念上很像 剛說明的級。 圖5f顯不最後資料樣本值(I)在其最終地結束被處理 的級。在在此的計算之後,第(__加結果值(〜)被儲 存在I·箱88⑴中且處理完成。Γ箱88(。2m ”現在保存根 釀據心個資料樣本值(de...d〇及心個導數摺積係數值 (C’ 〇在此執行的摺積計算之完全的結果。 總結而言,從上述,現在應清楚發明的摺積系統1〇容 許平行地而非串列地完成必須的計算之重要的部分。例 如,在剛才說明之簡化的例子中,22個處理器14平行地 執打計算。注意,在SEAf〇rth_24A裝置中的所有Μ個處 理器14也可被使用,但因為處理器Ua及處理器ι4χ將必 須具有二功能以適用於計算及1/〇。 如同在本段開始處提到,發明的摺積系統10也容許使
3019-9547-PF 21 200842699 用新種類的演算法’現在討論其特徵。圖^係描述使用 =現的二方法執行的摺積之圖式…,這些圖提供 出現在圖4a-f及圖5a_f者的概念簡介。 圖6a顯示表示使用傳統指積係數的第一圖形 (trace)92及表示使用導數 指積係數(deviation ⑶物㈣⑽⑽⑴仏咖的第二圖形把亦即’可 被:種類的演算法使用者且其可被使用於本發明。圖6b顯 :一據以使用至今出現的二方法執行之輸入資料的 早一圖形94(在此的另一圖形 一主 94現在被討論)。圖6c顯 不表不至今被討論的二方法之結果的單—圖形96。在圖 顯示的特別例中,圖形92係由下列方程式表示: ⑺ w(〇 = 10cos2 2 圖幵/ 92係由u’ (t)表示。圖形94 # Α He 口 $ 94係由下列方程式表示 int (8) v(r) = 〇.8cos =94’…⑴表示。在此,t係以步階大小。,01 ^義n至1的間隔中’"以i的步階大小從uc, 且“糸通過滤波函數的資料點的數目(在此例為2_。整 =而言’圖6a-c顯示非常相同的結果如何可使用至今討論 的方法的任一個被達成’該結果被顯示為在此的圖形i 其他方法也可能使用新種類的演算法。例如,再次夫 閱圖6a-c,導數資料函數,例如被表示為圖形μ者,及 -傳統濾波函數’例如被表示為圖形92者,可被使 圖形96中的結果將再次相同。文獻中暗示其他人考慮此方
3019-9547-PF 22 200842699 法,雖然未以在此揭露的新方式被實施。函數導數的使用 也可更邏輯地被採用。例如,使用資料及濾波函數的導數 係理論上可能。再進一步,使用資料及濾波函數之任一個 或二者的較高階導數也是理論上可能。實際來看,這些方 法可能具有有限的現實世界的效用,但它們仍然被本:明 的精神包含。在圖6a-c中,資料及濾波函數的的導數係由 圖形92’及94’丨示,且具有仍為在圖形96中者的結果。 • ㈣得函數導數須要的作用力導致在任何方法中舍使 ^數時的一些重要的考慮。在摺積計算中,使用二料 ,值的數目通常會超過被使用的係數值的數目。因此, 獲得渡波函數的導齡新杂亦 的導數所需要的少。,ΓΓ用力通常比獲得資料函數 資料函數的導數處可不需要特別的作用力以獲得 少。再者,因為火 特別的情況,但這可能相當稀 4 β i ”、、田對通常不同的資料樣本值執行多重摺積 計算時,濾波係數值麵赍B 4 叮夕重晶積 傷肖力係可多次使用戈同的’獲得渡波係數值的作 在許多應用中’此i用力分期償還,,的作用力。更確切地, 被輸入做為程 在設計方面且濾、波值可 黯⑽-24A_置二數(例如’即使被儲存在像 π裝置之ROM 32中)。 再繼續參閱圖 具有明顯較小的振C’可看出當圖形92, *圖形94, 振幅範圍。實際來:田乾圍:,圖形92及圖形W具有大的 可使用較少的位元示圖形92’ &圖形94,中的值 是數位處理器的固^ :考慮可利用工具的本質,也就 又1時,可理解此點的重要性。雖然
3019-9547-PF 23 200842699 SEAf orth - 24A裝置實際上在許多其他適合的裝置中是相當 優秀’在此我們會繼續使用它來說明關於發明的摺積系統 1 0通常如何能幫助克服某些現代數位處理器中之固有的限 制。 例如’圖形92中的摺積濾波值可能必須使用丨8位元 的值表示,而用於本發明在圖形92,中之接近的值可使用 9位元或更少位元的值表示。類似地,可認為用於圖形μ 中的資料樣本值可能必須使用18位元的值表示,而用於本 發明在圖形94,中之接近的值可使用9位元或更少位元的 值表示j本發明觀察到使用全部9位元的值會增加本發明 的摺積系統10大約4倍(4X)的速度。 關於它們可直接執行運算的值的多少,數位處理器固 有地受到限制。例如,英特爾公司在mi年提出的權4 處理器處理4位元的值,而現在個人電腦中的處理器則直 接處理32或64位元的值。另外,女沾枯 且力外大的值的乘法通常係可 在今天多數處理器中進行的最慢的運算之一。本發明人觀 察到乘法運算會占有摺積演算法6〇_9〇%的執行時間。 SEAf orth-24A裝置並非這也數位虚輝哭 < 一双徂慝理态的一般原理的 例外。其使用Forth語言且依靠以盔您味 罪u無付號值的18位元(或 是符號值的17位元)表示的數字值, 值次者如同以無符號值 的9位元(或是符號值的8位元+ 凡)表不。例如,若一值需要 1 0位元,則其因此必須盥呈雲1 ,s . Β_ /、而要18位元—樣被有效地處 理。再芩閱圖2,可再次看刭名π Λ ρ 。 丹人有到在SEAf0rth_24A裝置中的各 處理器14具有一 18位元的A暫存 仔态44、一 9位元的β暫
3019-9547-PF 24 200842699 存器46、在_ 32及RAM 34中的18位元的寬字元、及 18位元的寬埠μ 〇 在此將處理器14中之Forth語言的二個18位元的值 相乘的等價物需要下面序列的三十六個運算碼(其 中,·表示HOP或非運算指令且” +*,,表示加號-星號 或按位元相乘指令):
• 相反地,在此將處理器14中之Forth語言的一 18位元的 值及一 9位元的值相乘的等價物需要下面序列的十八個運 算碼: 在此將處理器14中之Forth語言的二個9位元的值相乘的 等價物需要下面序列的九個運算碼·· (11) 很清楚地,從計算負擔及可達到的速度的觀點,計算方程 • 式(9)是最不喜好的工作,而計算方程式(11)是最喜好的工 作。這可被說成是分別以lx、2x及4x的速度進行。 上述的概念基礎之更嚴格的證明”現在被提出。可由 發明的摺積系統1 0使用之新種類的演算法使用導數表示 (derivative representation)取代積分核的直接表示 (direct representation)(通常參閱例如方程式q)及先 前技術)。下面實質上是方程式(5)的重述: (12) r{t) = jf(t - T)g(r)dr = limA_〇2/(c^)g(c,)Ar 〇 k=0 3019-9547-PF 25 200842699 其中’ /T卜r)表示積分核。不過,假定積分核改由/,「卜〇 表示。這將導致下式: ⑽ r (’)= j/’〇-〇g(r)^r = lim“。t/’D咖) 〇 *=〇 現在假設積分核係一特別的低通濾波器或是可由一低 通濾波器表示,則下面的近似是合理的: (14) / {ct__k) = f(ct^k)-/(ct_k_A7k ) 且因此:
t lim X \f{ct_k) ~ ^ )Ατ = ^^/(^ )Ar __ ^ ^^ 灸=〇 Λ=〇 (15) 在此,很容易看到方程式(14)等號右邊的第一總和為 广㈠不疋這麼明顯的是等號右邊的第二項就正好是來自 正好一個時步々以前之先前的摺積值,且這可用下面方式 表示: δτ^2)Σ f (ct-k-AT )s(ck )Δτ = r(t -At) 因此,下面的關係在使用直接積分核關係的摺積與使 用直接積分核關係之導數的摺積間成立: (1?) Γ,(〇 = Κ〇-^-Δ,)^,(〇 = ,.(〇 + Γ(ί_ΔΓ) 此—項重要的觀察係瞭解使用直接表示的摆積正好 乂 指積及先别计鼻的摺積相加的和。 的。 …和加上任何已被計,算者相等是-樣 中使用之新種類 • · Cn)可被用以 將此應用於可在發明的摺積系 的演算法的背景中,直接據波係數1
3019-9547-PF 26 200842699 以下面方式計算導數係數值(c ’
C η +
Cl - Co ; C, 2 = C2 - Cl ; i) : C’ =Co
C
Cn C 1 且C’…=0 - Cn。不過,Sc。的值非零,則我們輕易地 得到c’。= CD _ 〇 = Cfl。類似地’若c。係零,則我們輕 易地得到c,。= 0 — 0 = 0’且沒有理由將導數據波值與 零的值結合,因為其無助於累積的中間值(a。)。此種推論 可被延伸至任何直接遽波值或是任何為零的直接遽波值之 導數’因為若其將無助於在肖節點計算之累積#中間值, 則其不需要將濾波係數值與一特別的節點結合。但是,除 了第一節點之外,在各節點的部分和仍必須被說明。” 現在回到為何指Sπ被使用於圖4a_f及指數續使用 =圖4a-f,這被完成以強調在使用直接型演算法及導數型 演算法間的關鍵區別。如同可在最後段中看到,其中万個 直接渡波係數值U。... en)可被使用,需要個導數係 數值(C ° . . c η+1)。從而,例如,若一個人將21個處 =應用於使用直接型演算法的應用卜對於使用導數型 演算法之相同應用’將需要22個處理器。或者,若一個人 將22個處理器應詩使用直接型演算法的應用中,對於使 用導數型演算法之相同應用,將需要23個處理器。在圖】 及3a c中的SEAf orth-24A裝置的情況中,這將需要留下 個處理益不用或者將1/〇功能結合至一處理器中,使得 23個處理ϋ可被導數型演算法使用。這在使用—η處理 器的裝置(例如SEAf ort卜24Α)時可能造成輕微的問題,但 其在使用一 40處理器的裝置(例如SEAf〇rth_4〇A)時更不
3019-9547-PF 27 200842699 成問題,且其在使用 得平常。 80 、 96 、 128個等的裝置時迅速地變 另外注意在此的討論係由使用相同數目的摺積係數值 及樣本資料值而被簡化。若當使用直接型演算法時有22個 樣本資料值要處理,則當制導數型演算法時將需要⑴固 樣本資料值要處理。當然,22個實㈣資料值可被使用並 且:填塞”零的第23個值。不過,更通常地,因為大量的,
可能接近無限的樣本資料值將被使用在多數真實生活中的 應用,所以這將不成問題。 / 間k ’使料數表轉代直接表示的好處在於表示 ¥數的振幅所需要的值通常係遠小於用以表示直接遽波号 _的值。依據SEAf orth_24A裝置所透露者,再次使用 它做為-個例子,在於取代需要全部18位元的資料字以表 不:振幅值’通常9位元的資料字即已足夠。使9位元的 表不可被視為足夠有兩項要求。首先是係數值被表示為9 位元的無符號值(或8位元的符號值)。第二個條件是在連 縯的直接據波係數間的^係由9位元的無符號值(或8位 兀的付諕值)表示。在典型的低通濾波器的情況中,諸如被 制在圖6a-c的例子中者,因為最高有效位元被保留做為 们纽凡’導數值將必須僅由8位元表示。做為一般的規 /#右有問題的值係無符號值或可被做為無符號值,且然 後右在連績的直接係數間的差係小於5〗2單位,導數逼近 疋適爾的方法。否則,在連續的直接係數值間的差必 小於256單位。 ^
3019-9547-PF 28 200842699 。在此使 圖7係例示的直接濾波器700的編碼的列表 14係 用的程式語言係Forth,目標硬體處理器 SEAforth-24A 裝置。 " 項目702係使,,ίο”等同於i〇CS鲂六抑Γ 」、暫存is 50的編譯指 令。這將具體指定資料從何處讀取及被寫入至何處。注音, 在SEAf 〇rth-24A裝置中的I〇cs暫存器5〇可同時^體^定 讀取及寫人不同埠52。為了避免混淆,當讀取下面說明時, 熟悉較不精密的裝置者應該切記此點。 項目m係使” r #同於係數值的編譯指令。在 此’” 係僅是用以做為例子的—值。這將是在此處理 器14的c箱72中者。 項目706係在Forth語言中的註解。 項目708係在Forth語言中的位置標記。 項目710係初始化處理器14以接著進行摺積計算的一 序列的Forth指令。具體而言,1〇被載入至資料堆疊的頂 部;然後,從那裡被取出進入B暫存器4 6,使其指向聰 暫存器5L然後’ η被載人至資料堆疊的頂部;且一非運 具指令將填補在此使用# 18位元的指令字以包含此指令 序列。 項目712具體指定在其巾三個情況被條件編譯處理的 迴圈的起點。這取決於是否為管線中之第一(處理器ub)、 中間(處理器14c-v的任—個)、或最後(處理_ uw)而為 處理器14設計程式。也參閱圖3a-c。 員目714在此具體指定最典型情況之指令的編譯之起
3019-9547-PF 29 200842699 點,即主處理器14係處理考 处理态14c-v中之一者的情況。 [注思’右相關的話,阁 一 圖7-8中的指令字右側的註解使 用表示資料堆疊及迴返堆疊 p且旧一仃条構,其中,向右的元 素係在個別的堆疊中之早^ 取上方。在下面說明中的附加說明 顯示這轉變成一前-後及南士 ― 便及向左的7〇素係最上方的架構,其係 在許多Forth原文書中遇至,丨的加 的木構。以此方式,二架構被 提供以使本例更容易瞭解。] 項目716係另-序列的Forth指令。具體而言,一資 料樣本值(s)係從B暫存器46指向處被讀取並且被推至資 料堆疊(h--sh)上;然後,一累積值(a)也被讀取並被推至 資料堆疊(sh—ash)上;然後,資料堆疊上之上方元素被取 出並且被推至迴返堆疊(1) ·· ash —— shR ·· —— a)的上部上;然 後,在為料堆豐上的上部元素被複製及推至資料堆疊⑺·· sh--ssh R : a —a)上。 接著是項目718,其中,資料堆疊上的上方元素被取 • 出並且被推至迴返堆疊(D ·· ssh--sh R : a--sa)的上部上; 然後,執行一大的相乘(“MULT” ,定義被提供在 SEAforth-24A裝置的BI0S中)。資料堆疊的上兩個元素在 此被用以做為乘數及被乘數,且當使被乘數就像資料堆疊 (D ·· sh —a’ h R : sa--sa)中的第二元素一樣時,上方元素 被結果(a ’ )取代。 接著是項目720,其中,在迴返堆疊上的上方元素被 取出並且被推至資料堆疊(D:a,h--sa,hR:sa —一3)上; 資料堆疊的上方元素被取出並被寫入至B暫存器46指向
3019-9547-PF 30 200842699 〇>:Sa’ hi’ hR:a —3)處;迴返堆疊的上方元素被取 出並士被推至資料堆疊(D:a,卜aa,…卜)上·且一 非運异指令填補被使用的18位元指令字。 接著是項目722’其中’資料堆7疊的上兩個元素被加 在一起’上方元素被新的累積和(a,,)取代且第二元辛被 下-㈣低的元素(D:aa,h — a,,卜r:—)取代。、
接著是項目724,結束主處理器14係處理器ΐ4。—v中 之一者的情況之碼的條件編譯。 瞭解圖7中顯示的另兩個條件編譯現在應該很簡單。 因為沒有W的累積值要被讀取及相#,處理器⑽ 況較為單純。且因為現在的資料樣本值不需要被寫入至” 隨後的’,4理器’處理器14v的情況也多少較為簡單。 目726係對於所有處理器14bi被編譯 令序列’其中’資料堆疊的上方元素被 B暫存器46指向(D: a,,卜 被罵入至 到項目712。 …)處;且然後迴圈回 圖8a-b係例示的導數 圖8a顯示執行概念上類似 外)圖7的函數之編碼且圖 法使用的額外的編碼。 濾波器822的編碼列表,其中, 於(除了 9位元對18位元的計算 8b顯示由以導數為基礎的演算 如同可在圖8a中看到, 的直接濾波器700中相同。 其中,9個加號星號(‘‘+*,, (取代使用MULT定義被執行 在此許多碼實質上與上面討論 不過,有一個例外是項目802, )運算被用以執行一小的相乘 的大的相乘)。
3019-9547-PF 31 200842699 項目8 0 4係將迴返堆聂由 且中的部分值(ρ)初始化至零的 一序列的Forth指令。呈體而丄 /、體而g,在此,一常值被放在資 料堆疊(D : h--ph R :—)上;妙 /M _ . ;上,然後,從該處被推至迴返堆 豐(D· ph h R · — p)的頂邱 u . 4上,及兩個非運算指令被用以 填寫指令字。[注意’這個特別的方法被選擇以使得與直接 遽波器7GG的概纽較變成容易,且熟練的程式設計師瞭 解有更有效及確切的方式可用以處理此點]。 然後’項目806操作使用現在的部分值(P)之額外的加 法。現在的部分值(p)從迴返堆疊取出並且推至資料堆義 (D、,’ h—-pa,,hR:p—)上;第一個非運算指令取: 在下-指令之前的時間;資料堆疊的上兩個元素被加在一 起,其中,上方元素被下一部分值(p’ )及累積和(a,,) 的和取代,且第二元素被下一個較低的元素〇 : pa,h--P’ hR:—)取代;且第二個非運算指令填塞以位 元的指令字。 • 然後,項目808保留迴返堆疊中的累積和(a,,)以傲 為下一部分值(p,)。累積和(a,,)被複製(D ·· 3 h p a hR .);下一部分值(p,)從資料堆疊 被取出並且被推至迴返堆疊(D ·· a,,a, ,h r ·〜, 上,且二個非運算指令填滿18位元的指令字。 現在回到圖8b,這顯示當使用導數型演算法時被用 於”積分器”步驟的額外的碼。注意,在此特別的例子中, 此碼將在額外的處理器14中運行。 項目810係Forth語言中的註解且項目812係F〇r让
3019-9547-PF 32 200842699 語言中的位置標記。經由將適當的編譯器指令加到圖8a中 的碼,此碼可被條件地編譯,或者其可被個別地編譯。 項目814係一序列的Forth指令,其首先將IQ的值給 B暫存器46,且其次將值$3F(埠位址)給a暫存器44。
項目816係另一序列的Forth指令。具體而言,係使 貧料堆疊歸零者。諸堆疊上的上方元素被複製並且被推 至貧料堆疊上,且然後這被再次完成(其與該上方元素是什 麼無關)。然後,二個最上方的元素從資料堆疊被取出,被 互斥或運算,且結果(零)被推回至資料堆疊上。 項目818具體指定迴圈的起點。 項目820係另一序列的Forth指令。具體而古,一播
口 UL 攸B暫存器4 6指向處被讀取且被推至資料堆疊上;然後, 在貪料堆疊上的上二個元素被相加並取代上方元素(且第 二元素被下一個較低的元素取代);然後,資料堆疊上的上 方元素被複製並且被推至資料堆疊上;且然後上方元素從 資料堆疊被取出並且被寫入至A暫存器44指向處。這個: 淨結果係和被輸出,同時一複製品也為了迴圈的下一欠執 行被保存(累積)。 人 項目822係迴圈在那裡回到項目818處。 跟可被看到的一樣,本發明之摺積系統10使用的導數 型演算法需要非常少的額外碼。 雖然不同的實施例已說明如上,應瞭解其僅係以例子 被提出,本發明之寬度及範疇不應被任何上述例示的實施 例限定,而僅應根據下面的申請專利範圍及其均等物
3019-9547-PF 33 200842699 義。 【圖式簡單說明】 圖1係描述被使用在電腦處理器的陣列中之發明的摺 積系統的圖式; 圖2 (習知技術)係圖1中的處理器之一,特別是在此 的許多例如中使用的IntellaSys corp〇rati〇n 〇f
Cupertino, California 的 SEAf〇rth一24A 處理器中的核心 的主要内部特點的圖式; / 圖3a-c係描述使用圖丨中的處理器之向内 '向外、及 内部通信的部分圖式,其中圖? _ ^圖顯不貧料如何通過輸入 裝置及第一處理器之間鱼篥一虑审 、弟處理斋及第二處理器之間, 圖3b顯示資料如何通過第二 w 禾主敢後處理盗及一最後處理 器之間與最後處理器及輸出#罟 J ®装置之間,且圖3c顯示資料如 何通過被使用於陣财心的二例示的處理、 圖4 a - f係概述在諸如圖1去 計算級的方塊圖; 者之處理’的陣列中的摆積 係概述根據再次出現在諸如μ者之處理器的 列中之一新的演算法的摺積計算級的方塊圖; 圖广係描述使用出現在圖4a_f及圖5a_f中的二方 法執仃的摺積之圖式,1 传數的筮, /、 圖6a』不表示使用傳統摺積 錢的弟一圖形及表示使用導數摺積係數的第 6b顯示表示摺積據 y ^ 用導數^的輸入㈣之第—圖形及表示使 用¥數#唬貧料之第二圖形 口 bC颂不表不討論的方法
3019-9547-PF 34 200842699 之結果的單一圖形; 中, 8b顯 在圖式的不同圖中, 或類似的元件或步驟。 圖7係適於在直接濾波器中使用的編碼的列表.及 圖8a-b係適於在導數渡波器中使用的編碼的^表,其 圖8a顯示執行概念上類似於圖了的函數之編碼且圖 示由以導數為基礎的演算法使用的額外的編碼。 同樣的參考符號被用以標示同樣
【主要元件符號說明】 10 :摺積系統; 12 :陣列; 14 ·處理器; 1 6 ··外部輸入裝置; 18 :輸入匯流排; 20 :輸出匯流排;
22 ·外部輪出裝置; 2 4 ·流動路徑; 2 6 ·晶粒; 28 :匯流排; 3Q: #術邏輯單元; 3 2 ’唯§買記憶體; 34 ·隨機存取記憶體; 36:指令解碼邏輯區段; 38 :指令區;
3019-9547-PF 35 200842699 40 : 資料堆疊 j 42 : 迴返堆疊 9 44、 46 、 48 、 50 :暫存 3S · σπ , 52 : 琿; 60 : 信號資料 元 件; 62 : 積分核滤 波 元件; 64 : 計算的元 件 66 : 結果元件 9 Ί2、 74 、 76 、 82 ' 84、 86 ^ 88 :箱; 92 > 92, 、94 94’ 、 96 : 圖形; 700 、822 :濾 波 器。 3019-9547-PF 36
Claims (1)
- 200842699 十、申請專利範圍: 統,包括·· :十#貝料函數及濾波函數之摺積的系 處理器的陣列,包括第一及最後的該處 , 該處理器包括: ° τ 干次料λ2心將根據濾波函數的導數之—係數值及表 不貝科函數之一資料值相乘以產生一現在的中間值. 處理器之外的該處理器中,—邏輯,用以接 收一刖面的中間值,1 扞的4曾 z、表不在该處理器的另一個中先前執 ㈣“的中間值加到該現在的中間值;及 該取錢理n之外的該處理, 該資料值及兮《 AA 用將 " 、 間值送至另一個該處理器;及 值,若ΓΓ/用以保存來自該最後處理器的前面的中間 八值力s 士:話以做為一前面的部分值’及將該前面的部 :° “該最後處理器的該現在社 果值;及 ν'α 其中’該處理器的陣列接收一系列的該資料值並產生 擅積。的該結果值,其整體地表示資料函數及渡波函數的 如申請專利範圍第1項的系統’其中,該處理器平 盯地執行處理。 卞 Γ1牛L如申請專利範圍第1項的系統,其中,該處理器非 同步地執行處理。 F 4·如申請專利範圍第1項的系統,其中,該處理器非 3019-9547-PF 37 200842699 同步地互相通信。 •如申請專利範圍第卜2、3、或4項的系統,豆中, 倍數的該處理器佔用單—的該半導體晶粒。 理m如:明專利乾圍帛5項的系統,其中,所有的該處 理為的陣列佔用該半導體晶粒。申請專利範圍第116項中任一項的系統,其 中’該處理H各自更包括—渡波儲存元件以保存該係數值。 8'如申請專利範圍第…項中任一項的系統,更包 括-邏輯’用以從系統的外部將該資料值接收進人該第一 處理器。 .如申請專利範圍第i至8項中任一項的系統,更包 括一邏輯’用以將該最後處理器的該結果值m统的外 部。 ίο.如申請專利範圍第】至9項中任一項的系統,其 中,保存該前面的該中間值之該邏輯係位於該最後處理器 中。 ° 11. 種用於计异在資料函數及濾、波函數的摺積中之 結果值的方法,該方法包括·· (a) 得到一序列的係數值,其係根據濾波函數的導數; (b) 對於表示資料函數的一資料值: (Ο對於各該係數值,在包括一第一及最後的該處理 态之電腦的處理器的管線中: (A )將該係數值及該資料值相乘以產生一現在的 中間值; 3019-9547-PF 38 200842699 (B) 除了在該第一處理器中,將表示在該處理器 的另個中先前執行的計算之前面的中間值加到該現在的 中間值;及 (C) 除了在該最後處理器中,將該資料值及該現 在的中間值送至一隨後的該處理器;及 (1 〇將一前面的部分值,若有的話,加到來自該最後 處理器之該現在的中間值以產生一結果值,其中,該前面 修的部分值係來自該最後處理器之一先前的中間值;及 (1 1 1 )將結果值輸出至利用此過程的一數位信號處理 器。 12. —種用於計算資料函數及濾波函數之摺積的方 法,該方法包括: (〇 =到一序列的係數值’其係根據濾波函數的導數; (b)彳于到一序列的表示資料函數的資料值: (C)對於各該資料值: 鲁 (1)對於各該係數值,在包括第—及最後的該處理器 之電腦的處理器的管線中: (A) 冑該係數值及該貧料值相乘以產生-現在的 中間值; j (B) 除了在該第一處理器中,將表示在該處理器 ^另―個中先前執行的計算之前面的中間值加到該現在的 中間值;及 (C) 除了在該最後處理器中,將該資料值及該現 的中間值送至一隨後的該處理器;及 3019-9547-PF 39 200842699 (i i)將一前面的部分值,若有 處理器之該現在的中間值以產生—結::到來自繼 的部分值係來自該最後處理器之前由其中’該刖面 无則的中間值; ⑷累積該(C)的該結果值以做為摺積;及 器。(e)將摺積輪出至利用此方法的一數位信號處理13·如申請專利範圍第12項的方法, (c)(1)(A)係在複數該處理器中對於複數該資料 執行0 、, 其中,該 值同時地 14·如申請專利範圍第12項的方法,其中,該 (c)⑴⑴係在複數該處理旨巾料該序㈣絲值同時 地執行。 1 5· —種用於計算摺積的系統,其中: 至少一處理器,將表示一濾波函數的一係數值乘上表 示一資料函數的一資料值;其中: 該係數值係根據濾波函數的導數。 16·如申請專利範圍第15項的系統,更包括複數該處 理益’其將多個該係數值平行地乘上多個該資料值。 17· —種用於在電腦的處理器中計算摺積的方法,其 中: 係數值係表示一濾波函數; 資料值係表示一資料函數;及 將該係數值及該資料值相乘以產生結果值,其係整體 3019-9547-PF 40 200842699 地表示摺積;及 其中: 該係數值係根據濾波函數的一導數。 處理1|8中Z請專利範圍第17項的方法,更包括在複數該 19 、;複數該資料值同時執行該相乘。 …種信號處理器’包括如申請專利範圍第1至10 一、广,I6項中任一項的系統,及用於從-信號提供表 不#唬的該資料值之裝置。 .2〇· 一種處理信號的方法,包括從一俨號導出表亍仁 號的資料值並且新撼“宙 ㈣U ¥出表不^ 波 中任-項處;=申晴專利範圍第11至14、17,項 位滤L1器如中請專利範圍第19項的信號處理器,其係—數 申叫專利乾圍第20 $的方法,其將-信號濾 23 一種電腦程式,♦ + ^ B4# r 田在電腦的處理器之陣列中運行 牯使侍陣列執行申請專利 哥订 -項的方法。 關m至14、2G、22項中任 體 25如:載體’载有如申請專利範圍第23項的程式。 在其上記錄程式 24項的栽體,其係一記錄媒 3019-9547-PF 41
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US91062607P | 2007-04-06 | 2007-04-06 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW200842699A true TW200842699A (en) | 2008-11-01 |
Family
ID=39827918
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW97110966A TW200842699A (en) | 2007-04-06 | 2008-03-27 | Signal processing |
Country Status (4)
Country | Link |
---|---|
JP (1) | JP2009010925A (zh) |
CN (1) | CN101652770A (zh) |
TW (1) | TW200842699A (zh) |
WO (1) | WO2008124061A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10546211B2 (en) | 2016-07-01 | 2020-01-28 | Google Llc | Convolutional neural network on programmable two dimensional image processor |
US10122346B2 (en) * | 2017-03-03 | 2018-11-06 | Synaptics Incorporated | Coefficient generation for digital filters |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6567564B1 (en) * | 1996-04-17 | 2003-05-20 | Sarnoff Corporation | Pipelined pyramid processor for image processing systems |
US7158141B2 (en) * | 2002-01-17 | 2007-01-02 | University Of Washington | Programmable 3D graphics pipeline for multimedia applications |
JP2005217837A (ja) * | 2004-01-30 | 2005-08-11 | Sony Corp | サンプリングレート変換装置およびその方法、並びに、オーディオ装置 |
-
2008
- 2008-03-27 TW TW97110966A patent/TW200842699A/zh unknown
- 2008-04-03 JP JP2008097204A patent/JP2009010925A/ja active Pending
- 2008-04-04 CN CN200880011407A patent/CN101652770A/zh active Pending
- 2008-04-04 WO PCT/US2008/004402 patent/WO2008124061A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2008124061A1 (en) | 2008-10-16 |
CN101652770A (zh) | 2010-02-17 |
JP2009010925A (ja) | 2009-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Aksoy et al. | Search algorithms for the multiple constant multiplications problem: Exact and approximate | |
Parrish et al. | Tensor hypercontraction. II. Least-squares renormalization | |
Jyothi et al. | ASIC implementation of distributed arithmetic based FIR filter using RNS for high speed DSP systems | |
CN103999078B (zh) | 具有包含用于fir滤波的矢量卷积函数的指令集的矢量处理器 | |
US7814297B2 (en) | Algebraic single instruction multiple data processing | |
JPH07507411A (ja) | 2の累乗である係数を用いるディジタルフィルタ | |
JP2012505455A (ja) | Simd積和演算動作を行うための装置及び方法 | |
Meher | Systolic designs for DCT using a low-complexity concurrent convolutional formulation | |
EP1299797A2 (en) | Extending the range of computational fields of integers | |
TW530260B (en) | Arithmetic circuit and arithmetic method | |
WO2014101632A1 (zh) | 一种基于蒙哥马利模乘的数据处理方法 | |
US9069686B2 (en) | Digital signal processor having instruction set with one or more non-linear functions using reduced look-up table with exponentially varying step-size | |
TW200842699A (en) | Signal processing | |
TW528986B (en) | Method and apparatus for calculating a reciprocal | |
Mehendale et al. | Area-delay tradeoff in distributed arithmetic based implementation of FIR filters | |
EP3480710A1 (en) | Computer architectures and instructions for multiplication | |
KR20080091049A (ko) | 신호 프로세싱 | |
TW457418B (en) | Data error correction device | |
US9176735B2 (en) | Digital signal processor having instruction set with one or more non-linear complex functions | |
Berthomieu et al. | Relaxed algorithms for $ p $-adic numbers | |
US9069685B2 (en) | Digital signal processor having instruction set with one or more non-linear functions using reduced look-up table | |
US12164883B2 (en) | Method of data processing, corresponding MAC circuit, DSP system and computer program product | |
WO2022252876A1 (en) | A hardware architecture for memory organization for fully homomorphic encryption | |
Li et al. | Efficient Nonrecursive Bit‐Parallel Karatsuba Multiplier for a Special Class of Trinomials | |
TW453063B (en) | Transverse correlator structure for a rake receiver |