使用fftw3-3進行余弦變換
余弦變換的主要型式也有4種。
基於fftw3-3,定義兩個函式:
其原型如下:
source code
inline兩個函式的引數說明如下:void dct(
long
,long
,double
*,double
**,int);
inline
void idct(
long
,long
,double
*,double
**,int
);
第乙個引數表示資料的行數
第二個引數表示資料的列數
第三個引數表示輸入的資料
第四個引數表示輸出的資料
第五個引數表示余弦變換的型式,可選1,2,3,4,當其不為這四個數字時,預設為2。也就是最常用的二型余弦變換
示例如下:
source code
#include結果如下:#include
#include
int main(
)
source code
輸入資料:myfft+0.665991
+0.652206
+0.687226
+0.318864
+0.628899
+0.208088
+0.152283
+0.909624
+0.334874
+0.426312
+0.057722
+0.228220
+0.020685
+0.132605
+0.686059
執行變換:
+7.751730
+0.727275
+0.424047
-2.557367
-0.560205
+0.711645
+0.542580
-1.220559
+0.473374
-0.005986
+3.560370
-3.475942
+3.334425
-0.617914
+0.826475
執行逆變換:
+0.665991
+0.652206
+0.687226
+0.318864
+0.628899
+0.208088
+0.152283
+0.909624
+0.334874
+0.426312
+0.057722
+0.228220
+0.020685
+0.132605
+0.686059
資料銷毀!
FFTW使用小結
fftw fastest fourier transform in the west,是由 mit 的 matteo frigo 博士和 steven g.johnson 博士開發的乙個完全免費的軟體包。fftw 最初的 release 版本於 1997 年發布,最新的 release 版本 fft...
windows Qt下使用fftw庫
環境 win7 qt 5.1.0 正如官網所述 需要在cmd下執行以下命令生成lib庫 lib def libfftw3 3.def lib def libfftw3f 3.def lib def libfftw3l 3.def 生成 libfftw3 3.lib libfftw3 3f.lib l...
FFTW庫安裝與使用
fftw是乙個用c語言編寫 支援一維和多維變換 支援任意大小輸入 支援實數和複數的數字傅利葉變換軟體庫。該庫由mit的matteo frigo和steven g.johnson編寫。使用cmake工具,可以呼叫find package函式查詢fftw3庫,故在cmakelists.txt檔案中新增如...