1. 程式人生 > >【 FPGA 】FIR 濾波器之 Hilbert Transform 的係數資料(Filter Coefficient Data)

【 FPGA 】FIR 濾波器之 Hilbert Transform 的係數資料(Filter Coefficient Data)

Hilbert Transform

The impulse response for a 10-term approximation to a Hilbert transformer is shown in Figure 3-46. The odd-symmetry and zero-valued coefficients are both exploited to generate an efficient FPGA realization. The coefficient data file for the Hilbert transform must contain the zero-valued entries. For example, the .coe file corresponding to Figure 3-46 is shown in Figure 3-47.

圖3-46顯示了對希爾伯特變壓器進行10項近似的脈衝響應。 奇數對稱和零值係數都被用於生成有效的FPGA實現。 希爾伯特變換的係數資料檔案必須包含零值條目。 例如,圖3-46對應的.coe檔案如圖3-47所示。

In practice, some optimization methods used for designing a Hilbert transform can lead to the presence of small even-numbered coefficients. If the Hilbert Transform filter class is used in the FIR Compiler, you must force these terms to zero.

實際上,用於設計希爾伯特變換的一些優化方法可能導致存在小的偶數係數。 如果在FIR編譯器中使用希爾伯特變換濾波器類,則必須將這些項強制為零。

Just like the half-band filter, the zero-valued entries for a Hilbert transformer can occur at the filter impulse response extremities. However, these values do not contribute to the result.

就像半帶濾波器一樣,希爾伯特變換器的零值條目可以出現在濾波器脈衝響應末端。 但是,這些值對結果沒有貢獻。

This condition is detected when the filter is specified. If the number of taps is such that the zero-valued coefficients form the first and last entry of the impulse response, the filter length is reported as an invalid value. The number of taps N for a Hilbert transformer must obey N=3 + 4n, where n=0,1,2,3,…. For example, a Hilbert transform filter can have 11, 15, 19, and 23 taps, but not 9, 13, 17, or 21 taps.

指定過濾器時會檢測到此條件。 如果抽頭的數量使得零值係數形成脈衝響應的第一個和最後一個條目,則將濾波器長度報告為無效值。 希爾伯特變壓器的抽頭數N必須服從N = 3 + 4n,其中n = 0,1,2,3,.... 例如,希爾伯特變換濾波器可以具有11,15,19和23個抽頭,但不具有9,13,17或21個抽頭。