2011-07-12 67 views
7

您是否知道一些實現IIR過濾器的C++庫?我需要類似於Matlab的濾波器(B,A,X)函數。雖然沒有必要,但我更願意實施IIR直接表格2.用於IIR過濾器的C++庫

回答

12

有八度,一個開源的MatLab克隆,你可以使用它的實現(但它可能會要求你使用它的特殊矩陣類型)。

在搜索 「C++ IIR濾波器」 認定一羣其他項目,如:

也有關於該主題的各種書籍,對於例如:

通常,實現IIR濾波器非常簡單。計算機硬件的數值魯棒性和有效使用更加困難,但它們需要了解您的特定應用(例如重採樣等),因此不適合庫實現。

+0

自2005年以來,SPUC不再維護,但感謝dspfilterscpp! –

0

您可以嘗試在sourceforge上的SPUC項目。他們確實有一些DSP功能,但幾乎沒有文檔。

+0

自2005年以來未維護 –

+2

@Andrejs:但我會想象使用C++進行IIR過濾的變化不大。也許在這裏和那裏有一些優化..但理論上沒有太大的變化.. – Sriram

+0

@Sriram,這是真的,但C++有一個新版本,對標準庫算法和容器進行了重大更改。另外,有些信號緩衝區數據結構可能會因移動構造函數而受益。 –

2

您也可以嘗試GNURadio(gnuradio.org),其中包含軟件定義無線電(包括iir濾波器)的各種組件。它最初是所有的C++,現在它是一堆使用Python綁定的C++編寫的模塊,但您仍然應該能夠直接使用C++代碼。