fbpx
维基百科

格策爾演算法

格策爾演算法格茲爾演算法( 英語:Goertzel algorithm )是數位訊號處理的一種運算技巧,此運算技巧提供一個有效率的方式來估計部分區域的離散傅立葉轉換,廣泛的運用在數字電話中的的雙音多頻信號(每個撥號的數字鍵由兩個頻率的音所組成,一個低頻,一個高頻),此演算法在1958年被傑拉德 · 格策爾英语Gerald_Goertzel所提出[1]

格策爾演算法與離散傅立葉轉換的相似處在於他們都可以分析某個特定頻段的離散訊號[2][3][4];相反的,它們的不同處在於,格策爾演算法每次疊代的運算都是使用實數的乘法。雖然說在全頻域的計算上,格策爾演算法會比其他的傅立葉轉換快速演算法的複雜度來的高,但是它能區段式的分析每個小區段的頻率組成,因此可以編寫成較簡單的運算架構,實際應用在處理器內的數值計算會更有效率。

格策爾演算法逆向操作生成出弦波,而這個過程只需花費一個乘法和一個加法運算[5]

演算法 编辑

格策爾演算法把離散傅立葉轉換看成是一組濾波器,將輸入的訊號與濾波器中的脈衝響應做卷積運算,求得濾波器的輸出,即得到頻率域其中一點的頻率 。此演算法利用旋轉因子 的週期性,將離散傅立葉轉換轉換為線性的濾波運算。

因為旋轉因子

 

 

 

 

 

(1)

可得轉換後第k點的頻率為

 

 

 

 

 

(2)

定義 

 

 

 

 

 

(3.A)

可將 理解為由兩個訊號的卷積運算得出的結果

 

 

 

 

 

(3.B)

其中 式輸入的N點訊號,另外一個 則被看作是IIR濾波器的脈衝頻率響應

 

 

 

 

 

(4)

對比(2)和(3)式,可推知(3.A)進行卷積運算,當n=N時,濾波器的輸出 即為 :

 

 

 

 

 

(5)

對(4)進行Z轉換,可得一階IIR轉移函數

 

 

 

 

 

(6)

圖一為此系統的流程圖,其對應的差分方程式為:

 

 

 

 

 

(7)

 
圖一、格策爾一階濾波器系統示意圖

依照此差分方程進行疊代運算,疊代到 時即可依據(5)式得到 。而依照轉移函數(6)式進行運算時,可以先將旋轉因子 儲存起來,每次疊代包含一次複數乘法,則按照(1)式計算N點離散傅立葉轉換時則需要 次實數乘法運算和 次加/減法[6],加/減法與乘法運算皆為 次,當N不大時運算效率不佳,若改為接下來改進的的格策爾演算法(二階),所需的實數乘法次數約為原本的一半。

將式(6)上下同乘以 ,可得第k點的頻率響應轉移函數為

 

 

 

 

 

(8)

 
圖二、格策爾二階濾波器系統圖

此轉移函數所對應的系統流程圖如圖二所示,複數分析(8)式,可得知此二階濾波器有一對共軛的極點與一個零點。圖二中在計算 的轉換結果 時,會有兩個步驟:

  1. 共軛極點疊代計算 依序將輸入訊號 放入濾波器做疊代運算,共作N次疊代,計算量是 次實數乘法與 次實數加/減法
  2. 零點疊代計算 輸入訊號 是N點的訊號從 。加入 的邊界條件,可以按照圖二的流程圖計算出 ,此即為所求的 離散傅立葉轉換 ,此步驟的計算量為4次實數乘法與4次實數加/減法。

綜合以上步驟,總共的計算量為 次實數乘法運算以及 次實數加法運算,而使用此計算演算法只需儲存  兩個參數[7]

相關條目 编辑

參考資料 编辑

  1. ^ Goertzel, G. (January 1958), "An Algorithm for the Evaluation of Finite Trigonometric Series", American Mathematical Monthly65 (1): 34–35, doi:10.2307/2310304
  2. ^ Mock, P. (March 21, 1985), "Add DTMF Generation and Decoding to DSP-μP Designs (页面存档备份,存于互联网档案馆)" (PDF), EDN, ISSN 0012-7515 (页面存档备份,存于互联网档案馆); also found in DSP Applications with the TMS320 Family, Vol. 1, Texas Instruments, 1989.
  3. ^ Chen, Chiouguey J. (June 1996), Modified Goertzel Algorithm in DTMF Detection Using the TMS320C80 DSP (PDF), Application Report, Texas Instruments, SPRA066
  4. ^ Schmer, Gunter (May 2000), DTMF Tone Generation and Detection: An Implementation Using the TMS320C54x (页面存档备份,存于互联网档案馆) (PDF), Application Report, Texas Instruments, SPRA096a
  5. ^ http://haskell.cs.yale.edu/wp-content/uploads/2011/01/AudioProc-TR.pdf.
  6. ^ http://www.docin.com/p-577391532.html
  7. ^ . [2017-06-22]. (原始内容存档于2017-06-22). 

延伸閱讀 编辑

  • Proakis, J. G.; Manolakis, D. G. (1996), Digital Signal Processing: Principles, Algorithms, and Applications, Upper Saddle River, NJ: Prentice Hall, pp. 480–481

外部連結 编辑

  • (英文)
  • 頻域分析數位訊號數理演算法 (页面存档备份,存于互联网档案馆)(英文)
  • 格策爾演算法網站介紹 (页面存档备份,存于互联网档案馆)(英文) 作者: Kevin Bank,2002

格策爾演算法, 或格茲爾演算法, 英語, goertzel, algorithm, 是數位訊號處理的一種運算技巧, 此運算技巧提供一個有效率的方式來估計部分區域的離散傅立葉轉換, 廣泛的運用在數字電話中的的雙音多頻信號, 每個撥號的數字鍵由兩個頻率的音所組成, 一個低頻, 一個高頻, 此演算法在1958年被傑拉德, 格策爾, 英语, gerald, goertzel, 所提出, 與離散傅立葉轉換的相似處在於他們都可以分析某個特定頻段的離散訊號, 相反的, 它們的不同處在於, 每次疊代的運算都是使用實數的乘法, 雖然. 格策爾演算法或格茲爾演算法 英語 Goertzel algorithm 是數位訊號處理的一種運算技巧 此運算技巧提供一個有效率的方式來估計部分區域的離散傅立葉轉換 廣泛的運用在數字電話中的的雙音多頻信號 每個撥號的數字鍵由兩個頻率的音所組成 一個低頻 一個高頻 此演算法在1958年被傑拉德 格策爾 英语 Gerald Goertzel 所提出 1 格策爾演算法與離散傅立葉轉換的相似處在於他們都可以分析某個特定頻段的離散訊號 2 3 4 相反的 它們的不同處在於 格策爾演算法每次疊代的運算都是使用實數的乘法 雖然說在全頻域的計算上 格策爾演算法會比其他的傅立葉轉換快速演算法的複雜度來的高 但是它能區段式的分析每個小區段的頻率組成 因此可以編寫成較簡單的運算架構 實際應用在處理器內的數值計算會更有效率 格策爾演算法逆向操作生成出弦波 而這個過程只需花費一個乘法和一個加法運算 5 目录 1 演算法 2 相關條目 3 參考資料 4 延伸閱讀 5 外部連結演算法 编辑格策爾演算法把離散傅立葉轉換看成是一組濾波器 將輸入的訊號與濾波器中的脈衝響應做卷積運算 求得濾波器的輸出 即得到頻率域其中一點的頻率X k displaystyle X k nbsp 此演算法利用旋轉因子w N k displaystyle omega N k nbsp 的週期性 將離散傅立葉轉換轉換為線性的濾波運算 因為旋轉因子 w N k N e j 2 p N k N 1 displaystyle omega N kN e j 2 pi N kN 1 nbsp 1 可得轉換後第k點的頻率為 X k w N k N m 0 N 1 x m w N k m m 0 N 1 x m w N k N m k 0 1 2 N 1 displaystyle X k omega N kN sum m 0 N 1 x m omega N km sum m 0 N 1 x m omega N k N m qquad quad k 0 1 2 N 1 nbsp 2 定義y k n displaystyle y k n nbsp 為 y k n m 0 N 1 x m w N k n m displaystyle y k n sum m 0 N 1 x m omega N k n m nbsp 3 A 可將y k n displaystyle y k n nbsp 理解為由兩個訊號的卷積運算得出的結果 y k n x n h k n displaystyle y k n x n otimes h k n nbsp 3 B 其中x n displaystyle x n nbsp 式輸入的N點訊號 另外一個h k n displaystyle h k n nbsp 則被看作是IIR濾波器的脈衝頻率響應 h k n w N k n u n displaystyle h k n omega N kn u n nbsp 4 對比 2 和 3 式 可推知 3 A 進行卷積運算 當n N時 濾波器的輸出y k N displaystyle y k N nbsp 即為X k displaystyle X k nbsp X k y k n n N displaystyle X k y k n lfloor n N nbsp 5 對 4 進行Z轉換 可得一階IIR轉移函數 H k z 1 1 w k z 1 displaystyle H k z frac 1 1 omega k z 1 nbsp 6 圖一為此系統的流程圖 其對應的差分方程式為 y k n w N k y k n 1 x n y 1 0 displaystyle y k n omega N k y k n 1 x n qquad y 1 0 nbsp 7 nbsp 圖一 格策爾一階濾波器系統示意圖依照此差分方程進行疊代運算 疊代到n N displaystyle n N nbsp 時即可依據 5 式得到X k displaystyle X k nbsp 而依照轉移函數 6 式進行運算時 可以先將旋轉因子w N k displaystyle omega N k nbsp 儲存起來 每次疊代包含一次複數乘法 則按照 1 式計算N點離散傅立葉轉換時則需要4 N 2 displaystyle 4N 2 nbsp 次實數乘法運算和N 4 N 2 displaystyle N 4N 2 nbsp 次加 減法 6 加 減法與乘法運算皆為4 N 2 displaystyle 4N 2 nbsp 次 當N不大時運算效率不佳 若改為接下來改進的的格策爾演算法 二階 所需的實數乘法次數約為原本的一半 將式 6 上下同乘以1 w N k z 1 displaystyle 1 omega N k z 1 nbsp 可得第k點的頻率響應轉移函數為H k z 1 w N k z 1 1 w N k z 1 1 w N k z 1 1 w N k z 1 1 2 cos 2 p N k z 1 z 2 displaystyle begin alignedat 2 H k z amp frac 1 omega N k z 1 1 omega N k z 1 1 omega N k z 1 amp frac 1 omega N k z 1 1 2 cos 2 pi N k z 1 z 2 end alignedat nbsp 8 nbsp 圖二 格策爾二階濾波器系統圖此轉移函數所對應的系統流程圖如圖二所示 複數分析 8 式 可得知此二階濾波器有一對共軛的極點與一個零點 圖二中在計算x n displaystyle x n nbsp 的轉換結果X k displaystyle X k nbsp 時 會有兩個步驟 共軛極點疊代計算 依序將輸入訊號x 0 x 1 x 2 x n 1 displaystyle x 0 x 1 x 2 x n 1 nbsp 放入濾波器做疊代運算 共作N次疊代 計算量是2 N displaystyle 2N nbsp 次實數乘法與4 N displaystyle 4N nbsp 次實數加 減法 零點疊代計算 輸入訊號x n displaystyle x n nbsp 是N點的訊號從n 0 1 2 3 N 1 displaystyle n 0 1 2 3 N 1 nbsp 加入x N 0 displaystyle x N 0 nbsp 的邊界條件 可以按照圖二的流程圖計算出y k N displaystyle y k N nbsp 此即為所求的x n displaystyle x n nbsp 離散傅立葉轉換X k displaystyle X k nbsp 此步驟的計算量為4次實數乘法與4次實數加 減法 綜合以上步驟 總共的計算量為2 N 4 displaystyle 2N 4 nbsp 次實數乘法運算以及4 N 4 displaystyle 4N 4 nbsp 次實數加法運算 而使用此計算演算法只需儲存w N k displaystyle omega N k nbsp 與cos 2 p N k displaystyle cos 2 pi N k nbsp 兩個參數 7 相關條目 编辑雙音多頻 Chirp Z轉換 頻率偏移調變 FSK 相位偏移調變 PSK 參考資料 编辑 Goertzel G January 1958 An Algorithm for the Evaluation of Finite Trigonometric Series American Mathematical Monthly 65 1 34 35 doi 10 2307 2310304 Mock P March 21 1985 Add DTMF Generation and Decoding to DSP mP Designs 页面存档备份 存于互联网档案馆 PDF EDN ISSN 0012 7515 页面存档备份 存于互联网档案馆 also found in DSP Applications with the TMS320 Family Vol 1 Texas Instruments 1989 Chen Chiouguey J June 1996 Modified Goertzel Algorithm in DTMF Detection Using the TMS320C80 DSP PDF Application Report Texas Instruments SPRA066 Schmer Gunter May 2000 DTMF Tone Generation and Detection An Implementation Using the TMS320C54x 页面存档备份 存于互联网档案馆 PDF Application Report Texas Instruments SPRA096a http haskell cs yale edu wp content uploads 2011 01 AudioProc TR pdf http www docin com p 577391532 html 格策爾介紹網站 英文 2017 06 22 原始内容存档于2017 06 22 延伸閱讀 编辑Proakis J G Manolakis D G 1996 Digital Signal Processing Principles Algorithms and Applications Upper Saddle River NJ Prentice Hall pp 480 481外部連結 编辑格策爾演算法網站介紹 英文 頻域分析數位訊號數理演算法 页面存档备份 存于互联网档案馆 英文 格策爾演算法網站介紹 页面存档备份 存于互联网档案馆 英文 作者 Kevin Bank 2002 取自 https zh wikipedia org w index php title 格策爾演算法 amp oldid 75780847, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。