自SP++(Signal Processing in C++)發表以來,獲得了網友的大力支持,許多網友經過博客、QQ和Email提出了不少有意義的意見與建議,本人不勝感激。這給我注入了很大的動力,通過一個多月的努力,改正了其中的一些Bug,調整了某些不足之下。現將新版本的SP++(即SP++1.0)發表於本站。ios
注1:爲了節省資源,方便網友查尋,將新的程序覆蓋了舊的程序,建議使用舊程序的朋友改用新程序。web
注2:這是一個庫函數,涉及到一些文件包含,爲了不重複(尤爲是一些低層的類,好比Vector和Matrix等),沒有將某一算法中用到的全部文件都貼在該算法中,有些頭文件在其它算法中,讀者能夠經過博客中提供的搜索功能進行查找。算法
下載安裝包的使用方法以下:函數
一,將SP++壓縮包解壓到某一路徑下,如D:\Program Files\SP++。spa
二,打開CodeBlocks,在Settings->Compler and Debugger對話框中選中Search directories選項,在Compiler中加入D:\Program Files\SP++\include,以下圖所示:code
三,同第二步,在Linker中加入D:\Program Files\SP++\lib,以下圖所示:orm
四,在Settings->Compler and Debugger對話框中選中Linker settings選項,在Link libraries中加入D:\Program Files\SP++\libfftw3f.a與D:\Program Files\SP++\libfftw3.a,以下圖所示:ci
五,在 CodeBlocks 中創建 C++ 工程,例如SP++Test,代碼以下:資源
/***************************************************************************** * fir_test.cpp * * FIR class testing. * * Zhang Ming, 2010-03 *****************************************************************************/ #define BOUNDS_CHECK #include <iostream> #include <fir.h> using namespace std; using namespace itlab; int main() { string wType = "Hamming"; // string fType = "lowpass"; // double fs = 1000, // fpass = 200, // apass = -3, // fstop = 300, // astop = -20; // FIR fir( fType, wType ); // fir.setParams( fs, fpass, apass, fstop, astop ); // string fType = "highpass"; // double fs = 1000, // fstop = 200, // astop = -20, // fpass = 300, // apass = -3; // FIR fir( fType, wType ); // fir.setParams( fs, fstop, astop, fpass, apass ); // string fType = "bandpass"; // double fs = 1000, // fstop1 = 100, // astop1 = -20, // fpass1 = 200, // fpass2 = 300, // apass1 = -3, // fstop2 = 400, // astop2 = -20; // FIR fir( fType, wType ); // fir.setParams( fs, fstop1, astop1, fpass1, fpass2, apass1, fstop2, astop2 ); string fType = "bandstop"; double fs = 1000, fpass1 = 100, apass1 = -3, fstop1 = 200, fstop2 = 300, astop1 = -20, fpass2 = 400, apass2 = -3; FIR fir( fType, wType ); fir.setParams( fs, fpass1, apass1, fstop1, fstop2, astop1, fpass2, apass2 ); fir.design(); fir.dispInfo(); cout << endl; return 0; }
運行結果以下:博客