使用fftw3 3進行余弦變換

2022-07-24 19:54:14 字數 1471 閱讀 6713

使用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

輸入資料:

+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

資料銷毀!

myfft

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檔案中新增如...