日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

FFTW(快速傅里叶变换)中文参考

發布時間:2024/8/26 综合教程 81 生活家
生活随笔 收集整理的這篇文章主要介紹了 FFTW(快速傅里叶变换)中文参考 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

說FFTW(Fastest Fourier Transform in the West)是世界上最快的FFT。為了詳細了解FFTW以及為編程方便,特將用戶手冊看了一下,并結合手冊制作了以下FFTW中文參考。其中大部分是原文重點內容的翻譯,并加入了一些注解。

一、 簡介

先看一下使用FFTW編程的方法:

 1       #include <fftw3.h>
 2      ...
 3      {
 4          fftw_complex *in, *out;
 5          fftw_plan p;
 6          ...
 7          in = (fftw_complex*) fftw_malloc(sizeof(fftw_complex) * N);
 8          out = (fftw_complex*) fftw_malloc(sizeof(fftw_complex) * N);
 9 
10 
11          // 輸入數據in賦值
12 
13 
14          p = fftw_plan_dft_1d(N, in, out, FFTW_FORWARD, FFTW_ESTIMATE);
15          fftw_execute(p); // 執行變換
16          ...
17          fftw_destroy_plan(p);
18          fftw_free(in); 
19          fftw_free(out);
20      }

大致是先用fftw_malloc分配輸入輸出內存,然后輸入數據賦值,然后創建變換方案(fftw_plan),然后執行變換(fftw_execute),最后釋放資源,還是比較簡單的。

二、 一維復數據的DFT

1. 數據類型

  fftw_complex默認由兩個double組成,在內存中順序排列,實部在 前,虛部在后,即typedef double fftw_complex[2]。FFTW文檔指出如果有一個支持C99標準的C編譯器(如gcc),可以在#include <fftw3.h>前加入#include <complex.h>,這樣一來fftw_complex就被定義為本機復數類型,而且與上述typedef二進制兼容(指內存排列),經 測試不能用在Windows下。C++有一個復數模板類complex<T>,在頭文件<complex>下定義。C++標準委 員會最近同意該類的存儲方式與C99二進制兼容,即順序存儲,實部在前,虛部在后(見報告WG21/N1388),該解決方案在所有主流標準庫實現中都能正確工作。所以實際上可以用complex <double> 來代替fftw_complex,比如有一個復數數組complex<double> *x,則可以將其類型轉換后作為參數傳遞給fftw:reinterpret_cast<fftw_complex*>(x)。測試如下:開 兩個數組fftw_complex x1[2]和complex<double> x2[2],然后賦相同值,在調試模式下可以看到它們的內存排列是相同的。complex<T>類數據賦值的方式不是很直接,必須采用無名對象方式x2[i] = complex <double>(1,2) 或成員函數方式x2[i].real(1);x2[i].imag(2);不能直接寫x2[i].real=1;x2[i].imag=2。 fftw_complex賦值方式比較直接:x1[i][0]=1;x1[i][1]=2。最后,考慮到數據對齊(見后),最好使用 fftw_malloc分配內存,所以可以將其返回的指針轉換為complex <double> *類型使用(比如賦值或讀取等),變換時再將其轉換為fftw_complex*。

2. 函數接口

fftw_plan fftw_plan_dft_1d(int n, fftw_complex *in, fftw_complex *out, int sign, unsigned flags);

如果in和out指針相同為原位運算,否則為非原位運算。n為數據個數,可以為任意正整數,但如果為一些小因子的乘積計算起來可以更有效,不過即使n為素數算法仍然能夠達到O(nlogn)的復雜度。FFTW對N=2a3b5c7d11e13f的變換處理得最好,其中e+f=0/1,其它冪指數可以為任意值。

sign可以為正變換FFTW_FORWARD(-1),也可以為逆變換FFTW_BACKWORD(+1),實際上就是變換公式中指數項的符號。需注意FFTW的逆變換沒有除以N,即數據正變換再反變換后是原始數據的N倍。

flags參數一般情況下為FFTW_MEASURE 或 FFTW_ESTIMATE。FFTW_MEASURE表示FFTW會先計算一些FFT并測量所用的時間,以便為大小為n的變換尋找最優的計算方法。依據 機器配置和變換的大小(n),這個過程耗費約數秒(時鐘clock精度)。FFTW_ESTIMATE則相反,它直接構造一個合理的但可能是次最優的方 案。總體來說,如果你的程序需要進行大量相同大小的FFT,并且初始化時間不重要,可以使用FFTW_MEASURE,否則應使用 FFTW_ESTIMATE。FFTW_MEASURE模式下in和out數組中的值會被覆蓋,所以該方式應該在用戶初始化輸入數據in之前完成。

不知道上述說法是不是這個意思:先用FFTW_MEASURE模式自動選最優方案,速度較慢;然后使用該模式變換數據就會較快。示例代碼為:

 1    int length = 50000;
 2   fftw_complex* din  = (fftw_complex *)fftw_malloc(sizeof(double)*length * 2);
 3   fftw_complex* dout = (fftw_complex *)fftw_malloc(sizeof(double)*length * 2);
 4 
 5 
 6   fftw_plan p   = fftw_plan_dft_1d(length, din, din, FFTW_FORWARD, FFTW_MEASURE);
 7   fftw_execute(p); 
 8 
 9 
10   // 輸入數據din賦值
11   // ...
12 
13 
14   fftw_execute(p);
15 
16 
17   // 讀取變換結果
18   // ...
19 
20 
21   fftw_destroy_plan(p);
22   fftw_free(din);
23   fftw_free(dout);

實驗發現第一個fftw_execute耗費了數秒,而第二個fftw_execute則瞬間完成,說明上述猜想可能是對的。

創建完方案(fftw_plan)后,就可以用fftw_execute對指定的 數據in/out做任意次變換。如果想變換一個相同大小(N相等)但數據不同的另外一個數組in,可以創建一個新方案,FFTW會自動重用上次方案的信 息。這一點其實是非常好的,比如你首先用FFTW_MEASURE模式創建了一個最優的變換方案,只要變換數據的大小不變,你可以用 fftw_plan_dft_1d創建新的方案以對新數據執行變換,同時新變換仍然是最優的。一個fftw_plan只能對固定的in/out進行變換, 但可以在變換后改變in的內容(大小不變)以用同一個方案執行新的變換。

三、 多維復數據的DFT

1      fftw_plan fftw_plan_dft_2d(int n0, int n1,
2                                 fftw_complex *in, fftw_complex *out,
3                                 int sign, unsigned flags);
4      fftw_plan fftw_plan_dft_3d(int n0, int n1, int n2,
5                                 fftw_complex *in, fftw_complex *out,
6                                 int sign, unsigned flags);
7      fftw_plan fftw_plan_dft(int rank, const int *n,
8                              fftw_complex *in, fftw_complex *out,
9                              int sign, unsigned flags);

多維復數據的DFT同一維復數據的DFT用法類似,數組in/out為行優先方式 存儲。fftw_plan_dft是一個通用的復DFT函數,可以執行一維、二維或多維復DFT。比如對于圖像(2維數據),其變換為 fftw_plan_dft_2d(height,width,85),因為原始圖像數據為height×width的矩陣,即第一維(n0)為行數 height。

四、 一維實數據的DFT

函數接口

1 fftw_plan fftw_plan_dft_r2c_1d(int n, double *in, fftw_complex *out, unsigned flags);
2 fftw_plan fftw_plan_dft_c2r_1d(int n, fftw_complex *in, double *out, unsigned flags);

r2c版本:實輸入數據,復Hermitian輸出,正變換。

c2r版本:復Hermitian輸入數據,實輸出數據,逆變換。

n:邏輯長度,不必為物理長度。由于實數據的DFT具有 Hermitian對稱性,所以只需要計算n/2+1(向下取整)個輸出就可以了。比如對于r2c,輸入in有n個數據,輸出out有floor(n /2)+1個數據。對于原位運算,in和out為同一數組(out須強制類型轉換),所以其必須足夠大以容納所有數據,長度為2*(n/2+1),in數 組的前n個數據為輸入數據,后面的數據用來保存輸出。

c2r逆變換在任何情況下(不管是否為原位運算)都破壞輸入數組in,如果有必要可以通過在flags中加入FFTW_PRESERVE_INPUT來阻止,但這會損失一些性能,而其這個標志位目前在多維實DFT中已不被支持。

比如對于n=4,in=[1 2 3 4],out=[10 -2+2i -2 -2-2i],out具有共軛對稱性,out的實際內存為10 0 -2 2 -2 0,共3個復數數據。對于n=5,in=[1 2 3 4 5],out=[15 -2.5+3.44i -2.5+0.81i -2.5-0.81i -2.5-3.44i] ,out的實際內存為15 0 -2.5 3.44 -2.5 0.81,共3個復數數據。

實數據DFT中,首個變換數據為直流分量,為實數;如果n為偶數,由 Nyquist采樣定理,第n/2個變換數據也為實數;所以可以把這兩個數據組合在一起,即將第n/2個變換數據作為第0個變換數據的虛部,這樣一來輸入 數組就和輸出數組相等(n=n/2*2)。一些FFT的實現就是這么做的,但FFTW沒有這么做,因為它并不能很好地推廣到多維DFT中,而且存儲空間的 節省也是非常小以至于可以忽略不計。

一個一維c2r和r2c DFT的替代接口可以在r2r接口中找到,它利用了半復數輸出類型(即實部和虛部分開放在不通的區域里),使輸出數組具有和輸入數組同樣的長度和類型。該接口在多維變換中用處不大,但有時可能會有一些性能的提升。

五、 多維實數據的DFT

1      fftw_plan fftw_plan_dft_r2c_2d(int n0, int n1,
2                                     double *in, fftw_complex *out,
3                                     unsigned flags);
4      fftw_plan fftw_plan_dft_r2c_3d(int n0, int n1, int n2,
5                                     double *in, fftw_complex *out,
6                                     unsigned flags);
7      fftw_plan fftw_plan_dft_r2c(int rank, const int *n,
8                                  double *in, fftw_complex *out,
9                                  unsigned flags);

這是r2c接口(正變換),c2r接口(逆變換)只是簡單的將輸入/輸出類型交換一下。用法大致同1d情況一樣,需要特別注意的是復數據的存放方式。對于n0×n1×n1×…×nd-1的實輸入數組(行優先),經過r2c正變換后,輸出為一個n0×n1×n1×…×(nd-1/2+1)的復數(fftw_complex)數組(行優先),其中除法向下取整。由于復數數據的總長度要大于實數據,所以如果需要進行原位運算則輸入實數組必須擴展以能夠容納所有復數據,即實數組的最后一維必須包含2(floor(nd-1/2)+1)個double元素。比如對于一個2維實正DFT,輸入數組為n0×n1大小,輸出復數組大小為n0×floor(n1/2+1)(由對稱性),其長度大于實輸入數組。所以對于原位運算,輸入數組要擴展到n0×2floor(n1/2+1)。如果n1為偶數,擴展為n0×(n1+2);如果n1為奇數,擴展為n0×(n1+1);這些擴展的內存不需要賦初值,它們只用來存放輸出數據。

比如對于3×3的實正DFT,in=[0 2 4;6 1 3;5 7 4],out=[32 0.5+0.86i 0.5-0.86i;-7+5.2i -1-1.73i -8.5-6.06i;-7-5.2i -8.5+6.06i -1+1.73i];out的實際內存為32,0,0.5,0.86,-7,5.2,-1,-1.73,-7,-5.19,-8.5,6.06;即為 3×2的復數組,換算成double類型為3×4,所以如果要進行原位運算,in數組大小必須為3×4,即最后一維(每行)擴展一個double元素。另 外,如果用這個out數組進行3×3的c2r逆變換,將得到實數據[0 18 36;54 9 27;45 63 36],即原始數據的9(n0×n1)倍,這是因為FFTW的逆變換沒有歸一化。

六、 更多實數據的DFT

通過一個統一的r2r(real-to-real,實數-實數)接口,FFTW支持其它的一些變換類型,這些變換的輸入和輸出數組大小相同。這些r2r變換可以分為3個類型:DFT的實 數據輸入,complex-Hermitian(指復Hermitian對稱)以半復數格式的輸出;DCT/DST(離散正余弦變換);DHT(離散 Hartley變換)。接口如下:

 1      fftw_plan fftw_plan_r2r_1d(int n, double *in, double *out,
 2                                 fftw_r2r_kind kind, unsigned flags);
 3      fftw_plan fftw_plan_r2r_2d(int n0, int n1, double *in, double *out,
 4                                 fftw_r2r_kind kind0, fftw_r2r_kind kind1, unsigned flags);
 5      fftw_plan fftw_plan_r2r_3d(int n0, int n1, int n2,
 6                                 double *in, double *out,
 7                                 fftw_r2r_kind kind0,
 8                                 fftw_r2r_kind kind1,
 9                                 fftw_r2r_kind kind2,
10                                 unsigned flags);
11      fftw_plan fftw_plan_r2r(int rank, const int *n, double *in, double *out, const fftw_r2r_kind *kind, unsigned flags);

這里n為數組的物理尺寸。對于多維變換,數組按行優先方式存儲(與C++標準相同,與Fortran不同)。由于DFT是可分離變換,所以2維/3維/多維的變換是在每個維度上分別進行變換得到的,每個維度都可指定一個kind參數,指定該維的變換類型。


1. 半復數格式DFT(HalfComplex-format)

對于大小為n的1維DFT,輸出格式如下:

r0, r1, r2, ..., rn/2, i(n+1)/2-1, ..., i2, i1

上述(n+1)/2向下取整。rk是第k個輸出的實部,ik是 第k個輸出的虛部。對于一個半復數格式的數組hc[n],第k個元素的實部為hc[k],虛部為[n-k];k==0或n/2(n為偶數)情況除外,這兩 種情況下虛部為0,不存儲。所以對于r2hc(real-half complex,正變換)變換,輸入輸出數組大小都為n,hc2r(half complex- real,逆變換)變換也是如此。除了數據格式的差異,r2hc和hc2r變換的結果與前述r2c和c2r的變換結果是相同的。

對于多維比如2維變換,由可分離性,可以先對行 變換,再對列變換,FFTW_R2HC方式行變換的結果是半復數行,如果采用FFTW_R2HC方式進行列變換,需要進行一些數據處理,r2r變換不會自 動處理,需要手動進行,所以對于多維實數據變換,推薦使用普通的r2c/c2r接口。

2. DCT/DST

DCT可以認為是實偶對稱數據DFT(REDFT,Real-EvenDFT), DST可以認為是實奇對稱數據DFT(RODFT,Real-OddDFT)。REDFTab和RODFTab中的a,b為數據移位標志(1表示移位),這些構成了DCT和DST的I-IV類,比較常用的為DCT-II,FFTW支持所有這些類型的變換。

1 FFTW_REDFT00 (DCT-I): even around j=0 and even around j=n-1.
2 FFTW_REDFT10 (DCT-II, the DCT): even around j=-0.5 and even around j=n-0.5.
3 FFTW_REDFT01 (DCT-III, the IDCT): even around j=0 and odd around j=n.
4 FFTW_REDFT11 (DCT-IV): even around j=-0.5 and odd around j=n-0.5.
5 FFTW_RODFT00 (DST-I): odd around j=-1 and odd around j=n.
6 FFTW_RODFT10 (DST-II): odd around j=-0.5 and odd around j=n-0.5.
7 FFTW_RODFT01 (DST-III): odd around j=-1 and even around j=n-1.
8 FFTW_RODFT11 (DST-IV): odd around j=-0.5 and even around j=n-0.5.

對稱性只是邏輯意義上的,對物理輸入數據沒有任何限制。比如對于n=5的REDFT00 (DCT-I),輸入數據為abcde,它對應n=8的abcdedcb的常規DFT;對于n=4的REDFT10 (DCT-II),輸入數據為abcd,它對應n=8的abcddcba的常規DFT。

所有這些變換都是可逆的。R*DFT00的逆變 換是R*DFT00,R*DFT10的逆變換是R*DFT01(即DCT和IDCT),R*DFT11的逆變換是R*DFT11。如同DFT一樣,這些變 換的結果都沒有歸一化,所以正變換再逆變換后數據變為原始數據的N倍,N為邏輯DFT大小。比如對于REDFT00變換,N=2(n-1);對于 RODFT00,N=2n。

注意n=1的REDFT00對應與N=0的DFT,所以它是未定義的(返回值為NULL的fftw_plan)。

R*DFT01和R*DFT10要比R*DFT11稍微快一些,尤其對于奇數長度數據;而R*DFT00則要慢一些,尤其對于奇數長度數據。

比如對于in=[1 2 3 4],n=4,N=2n=8。Matlab下dct變換的結果為[5 -2.2304 0 -0.15851];FFTW的結果為(FFTW_REDFT10)out=[20 -6.3086 0 -0.4483415],為matlab結果的√8(√N)倍;用out進行逆dct變換(FFTW_REDFT01)的結果為[8 16 24 32],為原始數據的8(N)倍。

再比如對于in=[0 2 4;6 1 3;5 7 4]的二維DCT變換,n=3,N=2n=6。Matlab下dct2的變換結果為out_matlab=[10.667 0 0.4714;-4.0825 -2.5 1.4434;0.4714 -2.5981 -3.1667];FFTW的結果為(fftw_plan_r2r_2d(3, 3, in, out, FFTW_REDFT10, FFTW_REDFT10, FFTW_ESTIMATE)out_fftw=[128 0 4;-34.641 -15 8.66;4 -15.588 -19],這與Matlab的結果同樣是有差別的。將Matlab的結果變換到FFTW結果的步驟為:

1. 將out_matlab乘以√6×√6(即√N×√N);

2. 再將上一步得到的out_matlab的第一行和第一列都乘以√2,因此第一個元素(即左上角的元素)要乘以2。

第一個是歸一化的原因,第二個是FFTW為了將DCT變換與實偶對稱FFT相對應的結果。這些對于DCT變換的應用都影響不大。(見此)

最后對out_fftw進行IDCT變換 (fftw_plan_r2r_2d(3, 3, in, out, FFTW_REDFT01, FFTW_REDFT01, FFTW_ESTIMATE),將得到[0 72 144;216 36 108;180 252 144];它是原始數據in的36(N×N,N=6)倍。

3. 其它

fftw_malloc考慮了數據對齊,以便使 用SIMD指令加速,所以最好不要用C函數malloc替代,而且不要將fftw_malloc、fftw_free和malloc、free、 delete等混用。盡量使用fftw_malloc分配數組,而不是下面的固定數組,因為固定數組是在棧上分配的,而棧空間較小;還因為這種方式沒有考 慮數據對齊,不便應用SIMD指令。

1 fftw_complex data[N0][N1][N2];
2 fftw_plan plan;
3 ...
4 plan = fftw_plan_dft_3d(N0, N1, N2, &data[0][0][0], &data[0][0][0], FFTW_FORWARD, FFTW_ESTIMATE);
5 ...

對于多維數組也盡量使用fftw_malloc(n0*n1*n285*sizeof(double)),不要使用C的malloc。

1 fftw_complex *a_good_array;
2 a_good_array = (fftw_complex*) fftw_malloc(5*12*27* sizeof(fftw_complex));
3 
4 
5 fftw_complex ***a_bad_array;  /* another way to make a 5x12x27 array */ 
6 a_bad_array = (fftw_complex ***) malloc(5 * sizeof(fftw_complex **));

七、 函數參考

1. 復數DFT

 1      fftw_plan fftw_plan_dft_1d(int n,
 2                                 fftw_complex *in, fftw_complex *out,
 3                                 int sign, unsigned flags);
 4      fftw_plan fftw_plan_dft_2d(int n0, int n1,
 5                                 fftw_complex *in, fftw_complex *out,
 6                                 int sign, unsigned flags);
 7      fftw_plan fftw_plan_dft_3d(int n0, int n1, int n2,
 8                                 fftw_complex *in, fftw_complex *out,
 9                                 int sign, unsigned flags);
10      fftw_plan fftw_plan_dft(int rank, const int *n,
11                              fftw_complex *in, fftw_complex *out,
12                              int sign, unsigned flags);

2. 實數DFT

 1      fftw_plan fftw_plan_dft_r2c_1d(int n,
 2                                     double *in, fftw_complex *out,
 3                                     unsigned flags);
 4      fftw_plan fftw_plan_dft_r2c_2d(int n0, int n1,
 5                                     double *in, fftw_complex *out,
 6                                     unsigned flags);
 7      fftw_plan fftw_plan_dft_r2c_3d(int n0, int n1, int n2,
 8                                     double *in, fftw_complex *out,
 9                                     unsigned flags);
10      fftw_plan fftw_plan_dft_r2c(int rank, const int *n,
11                                  double *in, fftw_complex *out,
12                                  unsigned flags);

3. 實數-實數變換

 1      fftw_plan fftw_plan_r2r_1d(int n, double *in, double *out,
 2                                 fftw_r2r_kind kind, unsigned flags);
 3      fftw_plan fftw_plan_r2r_2d(int n0, int n1, double *in, double *out,
 4                                 fftw_r2r_kind kind0, fftw_r2r_kind kind1, unsigned flags);
 5      fftw_plan fftw_plan_r2r_3d(int n0, int n1, int n2,
 6                                 double *in, double *out,
 7                                 fftw_r2r_kind kind0,
 8                                 fftw_r2r_kind kind1,
 9                                 fftw_r2r_kind kind2,
10                                 unsigned flags);
11      fftw_plan fftw_plan_r2r(int rank, const int *n, double *in, double *out, const fftw_r2r_kind *kind, unsigned flags);

4. 實數-實數變換類型

對于大小為n的下列變換,對應的邏輯DFT大小為N,N用來進行歸一化。FFTW的變換沒有歸一化,正變換后再逆變換為原數據的N倍(不是n倍),對于多維變換,為N的乘積(N0*N1*N285)。下表列出了變換類型及其對應的邏輯大小N及逆變換:

 1 FFTW_R2HC computes a real-input DFT with output in halfcomplex format, i.e. real and imaginary parts for a transform of size n stored as:r0, r1, r2, ..., rn/2, i(n+1)/2-1, ..., i2, i1 (Logical N=n, inverse is FFTW_HC2R.)
 2 FFTW_HC2R computes the reverse of FFTW_R2HC, above. (Logical N=n, inverse is FFTW_R2HC.)
 3 FFTW_DHT computes a discrete Hartley transform. (Logical N=n, inverse is FFTW_DHT.)
 4 FFTW_REDFT00 computes an REDFT00 transform, i.e. a DCT-I. (Logical N=2*(n-1), inverse is FFTW_REDFT00.)
 5 FFTW_REDFT10 computes an REDFT10 transform, i.e. a DCT-II (sometimes called the DCT). (Logical N=2*n, inverse is FFTW_REDFT01.)
 6 FFTW_REDFT01 computes an REDFT01 transform, i.e. a DCT-III (sometimes called the IDCT, being the inverse of DCT-II). (Logical N=2*n, inverse is FFTW_REDFT=10.)
 7 FFTW_REDFT11 computes an REDFT11 transform, i.e. a DCT-IV. (Logical N=2*n, inverse is FFTW_REDFT11.)
 8 FFTW_RODFT00 computes an RODFT00 transform, i.e. a DST-I. (Logical N=2*(n+1), inverse is FFTW_RODFT00.)
 9 FFTW_RODFT10 computes an RODFT10 transform, i.e. a DST-II. (Logical N=2*n, inverse is FFTW_RODFT01.)
10 FFTW_RODFT01 computes an RODFT01 transform, i.e. a DST-III. (Logical N=2*n, inverse is FFTW_RODFT=10.)
11 FFTW_RODFT11 computes an RODFT11 transform, i.e. a DST-IV. (Logical N=2*n, inverse is FFTW_RODFT11.)

八、 其它

1. 數據類型

FFTW有三個版本的數據類型:double、float和long double,使用方法如下:

鏈接對應的庫(比如libfftw3-3、libfftw3f-3、或ibfftw3l-3)
包含同樣的頭文件fftw3.h
將所有以小寫"fftw_"開頭的名字替換為"fftwf_"(float版本)或"fftwl_"(long double版本)。比如將fftw_complex替換為fftwf_complex,將fftw_execute替換為fftwf_execute等。
所有以大寫"FFTW_"開頭的名字不變
將函數參數中的double替換為float或long double

最后,雖然long double是C99的標準,但你的編譯器可能根本不支持該類型,或它并不能提供比double更高的精度。

2. 用同一個fftw_plan執行多個數據的變換

前面說過可以利用同一個fftw_plan通過對輸入數據賦不同值來實現不同的變換,實際上還可以利用同一個fftw_plan實現對不同輸入輸出數據的變換,也就是說可以有多個輸入輸出數據數組,各自進行變換,互不影響。當然這要滿足一定的條件:

輸入/輸出數據大小相等。
變換類型、是否原位運算不變。
對split數組(指實虛部分開),實部和虛部的分割方式與方案創建時相同。
數組的對齊方式相同。如果都是用fftw_malloc分配的則此項條件滿足,除非使用 FFTW_UNALIGNED標志。

如果想對新數組,比如大小相等的一批數組執行變換,可以使用以下接口:

 1     void fftw_execute_dft(
 2           const fftw_plan p,
 3           fftw_complex *in, fftw_complex *out);
 4      
 5      void fftw_execute_split_dft(
 6           const fftw_plan p,
 7           double *ri, double *ii, double *ro, double *io);
 8      
 9      void fftw_execute_dft_r2c(
10           const fftw_plan p,
11           double *in, fftw_complex *out);
12      
13      void fftw_execute_split_dft_r2c(
14           const fftw_plan p,
15           double *in, double *ro, double *io);
16      
17      void fftw_execute_dft_c2r(
18           const fftw_plan p,
19           fftw_complex *in, double *out);
20      
21      void fftw_execute_split_dft_c2r(
22           const fftw_plan p,
23           double *ri, double *ii, double *out);
24      
25      void fftw_execute_r2r(
26           const fftw_plan p,
27           double *in, double *out);

這些函數的執行不會修改原始plan,并且可以和fftw_execute混合使用。

3. 多線程FFTW

FFTW可以多線程執行,但是多線程存在線程同步問題,這可能會降低性能。所以除非問題規模非常大,一般并不能從多線程中獲益。

4. FFTW變換公式

一維復DFT正變換

一維復DFT逆變換

一維實DFT正變換(Yk = Yn-k

*


一維實DFT逆變換

REDFT00 (DCT-I)

REDFT10 (DCT-II)

REDFT01 (DCT-III)

REDFT11 (DCT-IV)

RODFT00 (DST-I)

RODFT10 (DST-II)

RODFT01 (DST-III)

RODFT11 (DST-IV)

1d Discrete Hartley Transforms (DHTs)

總結

以上是生活随笔為你收集整理的FFTW(快速傅里叶变换)中文参考的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

91亚洲综合 | 久久男人免费视频 | 在线激情网 | 国产91免费观看 | va视频在线 | 在线观看视频一区二区 | 日韩精品一区二 | 视频在线日韩 | 最新成人av | 99在线精品视频观看 | 欧美中文字幕久久 | www.香蕉| 久久99精品波多结衣一区 | 免费看的国产视频网站 | 久久精品国产亚洲精品2020 | 亚洲午夜久久久久久久久久久 | 国产精品综合久久久久久 | 欧美精品999| av韩国在线 | 欧美一区二区在线 | 国产精品手机在线播放 | 久久综合精品一区 | 手机成人av在线 | 欧美日韩中文在线观看 | 国产大陆亚洲精品国产 | 波多野结衣亚洲一区二区 | 国内久久久 | 亚州av免费 | 国产一区欧美二区 | 最新免费av在线 | 亚洲视频免费在线看 | 亚洲国产精品视频在线观看 | 天天操婷婷 | 欧美伊人网 | 欧美日韩1区 | 欧美日韩免费一区二区三区 | 国产精品三级视频 | 日本久久久久久久久 | 国产天天综合 | 国产黄色一级大片 | 五月天av在线 | 激情视频久久 | 久久久精品99 | 亚洲精品国精品久久99热 | 国产美女网站在线观看 | 黄色软件视频大全免费下载 | 日韩精品专区在线影院重磅 | 97热久久免费频精品99 | 国产做a爱一级久久 | 国产99久久久精品视频 | 色视频在线免费 | 狠狠的干| 久久9999久久| 国产精品美女999 | 亚洲成av人片一区二区梦乃 | 久久在线一区 | 高潮久久久久久 | 久草免费在线视频观看 | 中文在线字幕免费观 | 中文字幕色在线 | 成人一级在线观看 | 欧美精品乱码99久久影院 | 国产原创在线观看 | 激情中文在线 | 午夜黄色影院 | 美女视频久久久 | av在线看网站 | 中文字幕av在线免费 | 国产色一区| 韩日精品中文字幕 | 国产免费又黄又爽 | 日韩狠狠操| 97超碰在线视 | 亚洲午夜久久久久久久久久久 | 国产在线精品区 | 亚洲精品欧美成人 | 亚洲视频免费视频 | 国产原厂视频在线观看 | 正在播放国产91 | av在线永久免费观看 | 国产精品永久免费视频 | 日本三级不卡视频 | 欧美在线一 | 亚洲国产福利视频 | 91精品爽啪蜜夜国产在线播放 | 欧美性超爽 | 国内99视频 | 五月丁婷婷 | 国产成人久久精品77777 | 欧美一区二区在线 | 国产精品初高中精品久久 | 99久久精品免费看国产四区 | 四虎8848免费高清在线观看 | 午夜少妇一区二区三区 | 中国一级片在线观看 | 麻豆视频国产在线观看 | 午夜精品久久久久久久99 | 久久99深爱久久99精品 | 97国产在线观看 | 91夫妻自拍| 九九九九九国产 | 亚洲精品资源在线观看 | 亚洲激精日韩激精欧美精品 | 久久久精品影视 | 一区二区三区视频 | 一区二区三区久久精品 | 亚洲综合爱 | a级国产乱理伦片在线观看 亚洲3级 | 亚洲我射av | 很黄很污的视频网站 | 久久成人精品视频 | 免费精品在线观看 | av片一区二区 | 午夜av不卡 | 国产视频观看 | 日韩欧美在线一区二区 | 97电影在线看视频 | 精品久久久国产 | 色婷婷亚洲精品 | 中文字幕亚洲综合久久五月天色无吗'' | 黄网站色成年免费观看 | 九九九电影免费看 | 欧美一级视频在线观看 | 成人羞羞视频在线观看免费 | 日韩欧在线 | 亚洲精品久久久久中文字幕m男 | 人人精久 | 亚洲综合激情网 | 最新婷婷色 | 91桃色在线观看视频 | 米奇四色影视 | 色偷偷88欧美精品久久久 | 国产视频中文字幕在线观看 | 欧美在线观看小视频 | 99国产精品久久久久久久久久 | 中文字幕一区二区三区在线播放 | 久久久天天操 | 黄色激情网址 | 国产在线观看中文字幕 | 日韩精品一区二区在线观看视频 | 亚洲一级黄色 | 伊人五月婷 | 99久热在线精品视频成人一区 | 日韩免费观看av | 免费在线91| 超级碰碰碰碰 | 亚洲国产综合在线 | 亚洲狠狠婷婷综合久久久 | 免费高清在线视频一区· | 国产一级免费av | 国产视| 91久久精品日日躁夜夜躁国产 | 日韩在线视频一区二区三区 | 91麻豆精品91久久久久同性 | av福利网址导航大全 | 精品国产一区二区三区久久久久久 | 久久视频精品 | 天天操操操操操 | 国产精品女同一区二区三区久久夜 | 麻豆国产精品一区二区三区 | 国产在线观看你懂得 | www.国产视频 | 超碰在线最新网址 | 中文字幕亚洲欧美日韩2019 | 国产成人精品综合久久久 | 亚洲国产成人精品在线观看 | 亚洲精品国产精品久久99热 | 欧美影片 | 日韩av一区二区三区 | 黄在线免费观看 | 丁香六月婷婷综合 | 3d黄动漫免费看 | 97高清免费视频 | 国产精品1区2区3区 久久免费视频7 | 久久观看免费视频 | 久久免费观看视频 | 天天色天天草天天射 | 欧美性大胆 | 日韩中文字 | 一区二区三区视频 | 97超在线 | 久久在视频 | 国产伦精品一区二区三区在线 | 在线免费观看视频一区 | 久久99视频| 精品国产伦一区二区三区观看体验 | 精品毛片一区二区免费看 | 成人97视频| 一区中文字幕电影 | 99中文视频在线 | 九九精品在线观看 | 天天综合网国产 | 又爽又黄在线观看 | 欧美国产精品一区二区 | 在线成人性视频 | 国产精品免费麻豆入口 | 国产精品剧情 | 国产欧美精品一区二区三区四区 | 国产高清中文字幕 | 青春草视频在线播放 | 综合网在线视频 | 在线观看日韩专区 | 亚洲视频 中文字幕 | 欧美精品中文在线免费观看 | 久久久三级视频 | 欧美精品一区二区在线播放 | 国产小视频免费在线网址 | 久久综合婷婷综合 | 国产视频综合在线 | 九九爱免费视频 | 精品久久久久久综合日本 | 99免费精品 | 黄色小说视频在线 | 中国精品少妇 | 国产精品一区二区三区久久 | 成人免费xxx在线观看 | 日韩有码在线播放 | 青青河边草观看完整版高清 | 91免费的视频在线播放 | 欧美99精品| 一区二区中文字幕在线 | 最近日本中文字幕a | 黄色网免费 | 国产91精品久久久久 | 午夜视频在线观看一区二区三区 | 久久综合久久综合久久综合 | 狠狠色丁香婷婷综合久久片 | 日本久久中文字幕 | 四虎永久视频 | 91高清免费 | 亚洲天天在线日亚洲洲精 | 日女人电影| 美女天天操| 亚洲国产大片 | 中文字幕一区二区三 | 一区二区视频在线观看免费 | 国产一区二区三区免费在线 | 国产人成精品一区二区三 | 日本公妇在线观看高清 | 人人超碰97 | 亚洲电影一区二区 | 性色va| 九九热有精品 | 日韩三级视频在线观看 | 九九有精品 | 日韩精品免费一区二区 | 三级动态视频在线观看 | 欧美日bb| 精品国产一区二区三区日日嗨 | 在线观看香蕉视频 | 91免费网站在线观看 | 国产成人免费观看 | 人人射人人爽 | 成人免费一区二区三区在线观看 | 天天曰天天曰 | 日韩av快播电影网 | 久久网站免费 | a视频免费在线观看 | 国语对白少妇爽91 | 亚洲经典视频 | 天天干干 | 五月婷色 | 国产精品乱码久久久久久1区2区 | 九九九九热精品免费视频点播观看 | 99热这里有精品 | 福利精品在线 | 麻豆高清免费国产一区 | 天天操天天操天天操 | 国产精品久久久久999 | 亚洲一区在线看 | 国产精品 日韩精品 | 国产精品视频久久 | 人人爱人人射 | 91免费的视频在线播放 | 国产女人18毛片水真多18精品 | 一区二区三区四区不卡 | 亚州免费视频 | 欧美日韩中文国产一区发布 | 天天色 天天| 在线免费黄色毛片 | 中文字幕三区 | 国产日本高清 | 99精品视频免费 | 在线观看免费黄视频 | 免费99精品国产自在在线 | 久久久福利 | 五月婷婷丁香在线观看 | 日韩二级毛片 | 日韩免费看 | 国产精品理论视频 | 九九热在线精品 | 亚洲欧美一区二区三区孕妇写真 | 国产淫a| 久久综合爱 | 99国产精品一区 | 亚洲精品国偷自产在线99热 | 五月婷婷视频在线观看 | 久草在线手机观看 | 国产精品久久久久久久久久久久久久 | 精品嫩模福利一区二区蜜臀 | 四虎精品成人免费网站 | 天天干,夜夜操 | 蜜臀久久99精品久久久无需会员 | 日韩专区在线播放 | 国产精品福利小视频 | 2017狠狠干| 亚洲精品18日本一区app | 黄色日视频 | 久久九精品 | 2023国产精品自产拍在线观看 | 97国产精品视频 | 日本精品中文字幕在线观看 | 国产精品久久久久久av | 精品国产自在精品国产精野外直播 | www.国产毛片 | 综合精品久久久 | 中文字幕在线观看视频免费 | 在线 高清 中文字幕 | 国产黄色在线网站 | 成年人视频免费在线 | 综合色伊人 | 九色91在线视频 | 在线观看黄色的网站 | 成人h电影在线观看 | 日本美女xx| 国产不卡在线 | 日韩a级黄色 | 91热精品视频 | 国产高清在线a视频大全 | 欧美日韩高清国产 | 国产精品理论片在线观看 | 四虎天堂 | www.午夜色.com | 亚洲国产精品久久久久久 | 婷婷免费在线视频 | 成人在线黄色电影 | 精品国产一区二区三区久久久久久 | 天天操天天射天天添 | 国产精品久一 | 一区二区三区在线免费观看 | 三级大片网站 | 久久看片| 黄色av电影在线 | 国产精品久久久久久久久久免费 | 六月丁香婷婷在线 | 久久国产热视频 | 成av人电影 | 午夜视频一区二区 | 天天婷婷 | 日韩在线免费播放 | 日韩免费在线观看视频 | 久久婷婷国产 | 午夜视频福利 | 中文字幕亚洲欧美 | 激情www| 中文字幕在线观看免费高清完整版 | 激情av在线播放 | 色婷婷激婷婷情综天天 | 亚洲精品资源在线观看 | 久草av在线播放 | 日韩毛片在线一区二区毛片 | 国产热re99久久6国产精品 | www.天天射.com| 日本午夜在线亚洲.国产 | 麻豆视频国产在线观看 | 色综合中文字幕 | 五月天亚洲婷婷 | 欧美韩国日本在线观看 | 久久成人精品电影 | 日韩精品视频在线观看网址 | 久久国产精品免费观看 | 中文字幕欧美三区 | av在线播放网址 | 免费观看一区二区 | 日日爽天天操 | 色在线免费 | 国产精品99久久久久久宅男 | 在线免费黄色av | 玖草影院 | 91看片看淫黄大片 | 亚洲视频第一页 | 国产一级片播放 | 91九色最新地址 | 91精品在线视频 | 91精品在线免费观看 | 激情久久久久久久久久久久久久久久 | 人人干人人添 | 永久免费毛片在线观看 | 久久精品国产亚洲a | 狠狠干狠狠色 | 国产麻豆视频网站 | 久久蜜臀一区二区三区av | 国产精品久一 | 国产日本亚洲高清 | 国产欧美日韩一区 | 色资源二区在线视频 | 天天做日日做天天爽视频免费 | 欧美精品中文 | 黄视频网站大全 | 操操操av| 色射爱| 国产97碰免费视频 | 黄色1级大片 | 午夜一级免费电影 | 激情视频一区二区三区 | 久久久久亚洲天堂 | 成人在线观看资源 | 欧美日本三级 | 国产欧美精品一区aⅴ影院 99视频国产精品免费观看 | 欧美性视频网站 | 中文字幕电影在线 | 激情综合亚洲 | 国产在线一区二区三区播放 | 日韩亚洲国产精品 | a极黄色片 | 国产精品久久久久久久久久久久午夜片 | 97人人网 | 国产r级在线观看 | 天天色天天操天天爽 | 欧美日韩国产一区二区三区 | 国产一二三在线视频 | 久久久av免费 | 中文字幕国产一区 | 国产资源站 | 曰韩在线 | 欧美精品久久久久久久久免 | 欧美极品少妇xbxb性爽爽视频 | 最新成人在线 | 国产一级免费av | 91看国产 | wwxxxx日本 | 毛片永久新网址首页 | 国产精品电影一区二区 | 五月婷婷网站 | 激情伊人 | 欧美日韩国产一二 | 免费视频久久 | 久久久久久久久久久久av | 91精品专区| 国产这里只有精品 | 国产精品毛片一区视频播 | 一级黄色在线免费观看 | 国产一区精品在线 | 黄色录像av| 亚洲激情精品 | 国产爽妇网 | 在线视频电影 | 久久深夜 | 国产精品丝袜久久久久久久不卡 | 激情五月在线观看 | 狠狠操操操 | www.av免费观看 | 国产精品久久一区二区三区不卡 | 黄网站色欧美视频 | 国产一区麻豆 | 精品国产1区二区 | 久久tv | 狠狠色狠狠色综合系列 | 毛片无卡免费无播放器 | 五月激情视频 | 中文字幕国产一区二区 | 亚洲视频电影在线 | 亚洲影视九九影院在线观看 | 永久免费精品视频网站 | 友田真希x88av | 久久久久久久久免费视频 | 黄网av在线 | а中文在线天堂 | 日韩视频一区二区在线 | 狠狠色丁香婷婷综合 | 在线观看黄av | 69av在线播放 | 久久首页 | 欧美最猛性xxxxx(亚洲精品) | 97精产国品一二三产区在线 | 99亚洲视频 | 亚洲无在线 | 国产精品18久久久久白浆 | 日韩av电影中文字幕 | 欧美 亚洲 另类 激情 另类 | 国产麻豆果冻传媒在线观看 | 国产精品18p | www国产一区 | 成人免费亚洲 | 天天舔天天搞 | 手机在线中文字幕 | 人人干天天射 | 精品免费国产一区二区三区四区 | 亚洲电影黄色 | 久久手机免费观看 | 99视频在线精品国自产拍免费观看 | 午夜精品久久久久久久久久久久久久 | 中文字幕在线观看一区二区三区 | 久久激情小说 | 国产日韩在线视频 | 日本3级在线观看 | 天天舔天天射天天操 | 亚洲精品国产自产拍在线观看 | 国产字幕在线观看 | 久久久久在线观看 | 亚洲国产99 | 97色综合 | 精品国精品自拍自在线 | av亚洲产国偷v产偷v自拍小说 | 亚洲午夜精 | www天天操 | 亚洲综合视频在线播放 | 国产精品免费观看久久 | 一区二区观看 | 日韩精品综合在线 | 成人久久电影 | 十八岁免进欧美 | 欧美巨大荫蒂茸毛毛人妖 | 国产一区免费视频 | 天天干天天操 | 亚洲精品视频二区 | 免费午夜在线视频 | 91精品国产麻豆国产自产影视 | 9在线观看免费 | av丝袜天堂 | 操久久免费视频 | 亚洲午夜精品电影 | 西西444www | 91精品毛片 | 午夜久久久久 | 免费观看福利视频 | 五月婷婷爱 | 欧美91av| 99热精品在线 | 国产精品久久久久久久久蜜臀 | 亚洲欧洲中文日韩久久av乱码 | 麻豆免费观看视频 | 狠狠色丁香久久婷婷综合五月 | 国产精品日韩久久久久 | 亚洲久久视频 | a久久久久 | 美女黄色网在线播放 | 九九视频免费观看视频精品 | 色天天久久 | 亚洲免费av网站 | 中文视频在线播放 | 久久69精品久久久久久久电影好 | 天天摸天天舔 | 国产剧情久久 | 日本一区二区三区视频在线播放 | 久久久久国产精品视频 | 免费观看黄色12片一级视频 | 国产在线视频在线观看 | 中文字幕字幕中文 | av一级久久 | 欧美精品成人在线 | 日产乱码一二三区别免费 | 国产中文字幕在线播放 | 91综合视频在线观看 | 久久久久97国产 | 免费色婷婷 | 青春草视频 | 日韩伦理一区二区三区av在线 | 亚洲国产精品成人精品 | 亚洲精品中文字幕在线 | 一本一本久久a久久精品牛牛影视 | 国产日韩欧美自拍 | 亚洲小视频在线 | 成人久久视频 | 麻豆视传媒官网免费观看 | 在线观看av不卡 | 国产亚洲精品久久久久久无几年桃 | 久久久久久久久久免费视频 | av一级网站 | 国内精品久久久久久久97牛牛 | 日日夜夜免费精品视频 | 69视频在线播放 | 久艹在线免费观看 | 丁香婷婷激情五月 | 一区二区三区精品久久久 | 久久综合久久八八 | 99久久99热这里只有精品 | 久久精品男人的天堂 | 国产手机在线观看 | 永久免费在线 | 日韩区在线观看 | 91亚洲免费 | 国产精品久久一区二区三区不卡 | 国产精品免费久久久久影院仙踪林 | 久久久免费看视频 | 国产成人久久av免费高清密臂 | 玖玖玖国产精品 | 久久免费观看视频 | 日日摸日日 | 国产精品99免费看 | 狠狠狠的干 | 97超碰国产精品女人人人爽 | 精品视频免费看 | 中文字幕在线播放日韩 | 91人人网| 国产免费久久精品 | 婷婷六月天天 | 最近乱久中文字幕 | 久久伦理| 免费三级a | www久久九 | 在线电影中文字幕 | 久久99久久99精品 | 久久久高清视频 | 日韩两性视频 | 在线天堂中文www视软件 | 欧洲一区二区在线观看 | 日韩艹 | 成人av资源网 | 免费黄av | 日韩精品一区二区三区免费视频观看 | 国产精品久久久电影 | 国产一二三在线视频 | 国产精品成人av在线 | 香蕉视频在线免费看 | 国产尤物一区二区三区 | 91av视频导航 | 在线观看你懂的网址 | 亚洲手机天堂 | 日韩久久久久久久久久 | 在线免费黄色av | 国产99久久久国产精品 | www黄色软件| av在线一二三区 | 久久精品网站免费观看 | 久久久久久国产精品免费 | 欧美天天射 | 最新av在线播放 | 亚洲毛片一区二区三区 | 久久国产精品99久久久久久丝袜 | 久久xxxx| 国产流白浆高潮在线观看 | 国产成人精品女人久久久 | 超碰在线观看99 | 国产一区播放 | 狠狠色丁香婷婷综合欧美 | 中国黄色一级大片 | 极品国产91在线网站 | 天天射天天干天天 | 欧美视频日韩 | 日本久久久亚洲精品 | 91av视频在线观看 | 久久成人资源 | 中文在线8新资源库 | 国产精品女主播一区二区三区 | 99精品视频免费在线观看 | 夜夜澡人模人人添人人看 | 久久99九九99精品 | 91精品国产91p65 | 国产一区二区高清视频 | 综合天天色| 国产在线一线 | 丁香九月婷婷 | 久久综合色婷婷 | a色视频 | 九九热精品视频在线观看 | 好看av在线 | 国产免费观看视频 | 欧美日韩视频一区二区 | 亚洲国产影院 | 在线99热 | 99国产精品免费网站 | 最新中文字幕在线观看视频 | 久久久黄色免费网站 | 亚洲极色 | 久久久久久久免费观看 | 人人草在线视频 | 日日夜夜操操 | 中文字幕888 | 999成人 | 成人一区二区三区在线观看 | 色综合久久综合中文综合网 | 久久亚洲精品国产亚洲老地址 | 中文字幕免费观看 | 国产一级免费av | 日韩网站在线观看 | 久久精品视频播放 | 视频精品一区二区三区 | 美女国产在线 | 久久综合久久综合这里只有精品 | 国产黄色精品在线观看 | 97天天综合网 | 久青草影院 | 97精品久久 | 97超碰超碰久久福利超碰 | 丁香婷婷激情五月 | 人人干在线观看 | 婷婷中文字幕 | 成人一级免费视频 | 久久99热精品 | 99久久99久久精品国产片 | 六月丁香激情综合色啪小说 | 九九99| av成人免费在线 | 亚洲一二区视频 | 欧美日本一二三 | 久久久精品二区 | 五月婷婷在线视频观看 | 欧美一区二区在线刺激视频 | 日本韩国欧美在线观看 | 日韩欧美视频二区 | 一 级 黄 色 片免费看的 | 丝袜美腿亚洲综合 | 在线日韩中文 | 久久视频精品在线 | 国产96av | 麻豆视屏 | 国产成人一区二区啪在线观看 | 国产色妞影院wwwxxx | 成人av在线网 | 久久亚洲在线 | 在线免费高清视频 | www.亚洲黄| 国产主播大尺度精品福利免费 | 亚洲午夜精品久久久久久久久 | 夜夜爽www | 天天激情站 | 黄色一区二区在线观看 | 亚洲欧美在线视频免费 | 最新av免费在线 | 国产黄色理论片 | 狠狠躁夜夜a产精品视频 | 伊人亚洲综合 | 午夜视频播放 | 天天操综| 在线观看av大片 | 操操操操网 | 成人午夜性影院 | 久草视频网| 久久中文字幕导航 | 黄色片网站 | 中文字幕国产在线 | 热九九精品 | 91视频久久久久久 | 国产精品亚洲成人 | 天天摸日日摸人人看 | 美女视频黄在线观看 | 久久国产色 | 日韩免费网址 | 91久久人澡人人添人人爽欧美 | 黄色一二级片 | 亚洲手机天堂 | 精品黄色在线 | 在线观看亚洲电影 | 99精品一区二区三区 | 黄色三级免费片 | 日韩美视频 | 欧美精品久久久久 | 黄色福利网站 | 超级碰99| 日本女人逼 | 中文字幕亚洲五码 | 日韩欧美成人网 | 亚州人成在线播放 | 中文字幕成人 | 伊人视频 | 日韩最新中文字幕 | 日韩一区二区三区免费视频 | 欧美日韩中 | 超碰激情在线 | 久久久久麻豆 | 欧美激情xxxx性bbbb | 激情网婷婷 | 日韩在线第一区 | 免费看片在线观看 | 亚洲视频在线看 | 在线观看a视频 | 久久精品免费看 | 日韩视频免费观看高清完整版在线 | 激情av综合 | 国产精品成人a免费观看 | 福利片视频区 | 欧美日韩中文字幕综合视频 | 亚洲精品在线播放视频 | 欧美一级日韩三级 | 91精品一区二区三区久久久久久 | 色午夜影院 | 超碰最新网址 | 日韩精品免费在线观看 | 99精品网站 | 三级av免费| 麻豆精品视频在线 | 欧美日韩高清免费 | 国产福利中文字幕 | 91网址在线观看 | 日韩一级黄色大片 | 色综合色综合色综合 | 国产成人在线播放 | 免费三级大片 | 91最新网址在线观看 | 在线观看免费日韩 | 麻豆视频免费看 | 99久热在线精品视频成人一区 | 婷婷深爱五月 | 一级一片免费观看 | 婷婷激情在线观看 | 欧美精品一二三 | 色婷丁香 | 婷婷六月激情 | 中文字幕在线播放第一页 | 久久99精品久久久久久久久久久久 | 日韩av电影中文字幕 | 免费在线黄网 | 在线不卡a | 中文字幕二区三区 | 国产一级精品绿帽视频 | 在线国产福利 | 中文字幕在线观看一区二区三区 | 欧美精品在线视频观看 | 美女久久久久久久 | 国产精品二区在线观看 | 国产一级淫片在线观看 | 日本一区二区三区免费观看 | 日韩三级视频 | 日韩精品久久久久久久电影竹菊 | 91精品国产91久久久久 | 精品国产成人在线影院 | 亚洲第一区在线观看 | 色偷偷网站视频 | 亚洲精品在线观看av | 国产精品门事件 | 久久黄色免费视频 | 欧美韩日精品 | 一本到视频在线观看 | 欧美a级在线 | 久久96国产精品久久99软件 | 精品久久免费看 | 园产精品久久久久久久7电影 | 久久欧洲视频 | 97精品国产97久久久久久 | 在线久久 | 国产精品入口a级 | 欧美一级性生活片 | 98超碰人人| 激情五月av | 亚洲国产综合在线 | 天天射色综合 | 中文字幕在线高清 | 天天操天天玩 | 91网址在线观看 | 园产精品久久久久久久7电影 | 99精品黄色片免费大全 | 激情伊人| 热精品 | av黄色在线观看 | 欧美大片www| 干干操操| 成人免费视频a | 91精品1区 | 尤物九九久久国产精品的分类 | 久久亚洲免费视频 | 在线视频 国产 日韩 | 天天爽夜夜爽精品视频婷婷 | 在线亚洲人成电影网站色www | 九九免费在线看完整版 | 久久免费视频5 | 一区中文字幕在线观看 | 国产精品一区二区在线观看 | 五月激情电影 | 99热这里只有精品在线观看 | 欧美最猛性xxxxx免费 | 狠狠色丁香久久婷婷综合丁香 | 欧美一级免费 | 亚洲伊人天堂 | 国产一级免费观看 | 日韩欧美在线播放 | 成人a视频 | av福利电影 | 麻豆精品在线视频 | 日韩欧美在线免费 | 久久久国产精品麻豆 | 97国产一区二区 | 国产精品黄色影片导航在线观看 | 日韩中文字幕免费视频 | 麻豆视频www| 亚洲一区视频免费观看 | 欧美色图亚洲图片 | 亚洲精品国偷自产在线99热 | 五月天中文在线 | 国产黄色特级片 | 五月天激情视频在线观看 | 免费久久网站 | 国产又粗又猛又黄又爽 | 福利二区视频 | 久久国产精品99国产 | 中文字幕黄网 | 国产亚洲va综合人人澡精品 | av理论电影| 在线精品国产 | 亚洲国产经典视频 | 色综合天天做天天爱 | 九九欧美 | 久久精品网址 | 成人免费大片黄在线播放 | 久久视频免费在线观看 | 免费中文字幕视频 | 国产精品av免费 | 国产一二三在线视频 | 国产精品成人a免费观看 | 在线视频1卡二卡三卡 | 日韩欧美在线影院 | av黄色影院| 欧美久久久影院 | 少妇自拍av | 9色在线视频 | 国产资源精品在线观看 | 国产精品福利在线播放 | h视频在线看 | 夜夜夜夜夜夜操 | 久久成年人网站 | 日韩中文字幕在线观看 | 国产日韩亚洲 | 日韩综合视频在线观看 | 中文字幕的| 狠狠艹夜夜干 | 欧美极品xxxx| 久久婷婷丁香 | 欧美一区二区三区四区夜夜大片 | 久久久久北条麻妃免费看 | 久久精品欧美一区二区三区麻豆 | 91黄视频在线 | 免费网站在线观看人 | 亚洲在线视频播放 | 国产精品久久久久永久免费看 | 久久久久激情视频 | 人人爽人人插 | 亚洲国产网址 | wwwav视频| 国产在线欧美日韩 | 97在线成人 | 日韩性久久 | 国产精品美女久久久久久久久久久 | 色偷偷男人的天堂av | 91视频-88av | 在线免费性生活片 | 狠狠干干| 久久免费视屏 | 激情五月婷婷综合网 | 欧美久久久一区二区三区 | 欧美日在线观看 | 美女视频黄在线 | 精品av在线播放 | 日日色综合 | av三级在线免费观看 | 97在线视频免费看 | 91在线区| 日本精品一区二区三区在线观看 | 激情视频免费在线观看 | 日韩高清国产精品 | 亚洲精品视频免费 | 91人网站| 国内精品久久久久国产 | 久久免费视频这里只有精品 | 最新婷婷色 | 亚洲成av人片在线观看香蕉 | 亚洲电影一区二区 | 成人精品国产免费网站 | 中文字幕在线有码 | 在线观看国产www | bbw av| 夜夜夜精品 | 久久超碰免费 | 精品免费一区二区三区 | 国内精品久久久久久久久久清纯 | 国产精品嫩草影院99网站 | 欧美另类xxx| 日韩理论在线播放 | 婷婷综合 | 欧美尹人 | 国产手机视频在线播放 | 成人永久在线 | 午夜av免费观看 | 美女在线观看av | 中文字幕在线看视频国产中文版 | 欧美亚洲国产日韩 | 欧美精品一区二区免费 | 久久福利在线 | 337p日本欧洲亚洲大胆裸体艺术 | 99在线视频免费观看 | 天天干人人干 | 有码中文在线 | 日韩精品资源 | 亚洲涩涩一区 | 在线观看视频国产 | 九精品 | 中文字幕精品一区久久久久 | 摸bbb搡bbb搡bbbb| 亚洲精品乱码久久久久久写真 | 九色激情网 | 成在人线av | 日本3级在线观看 | 有码中文字幕在线观看 | 在线看日韩 | 五月婷婷一级片 | 婷婷激情站 | 激情五月婷婷 | 天天干天天做天天爱 | 日韩大陆欧美高清视频区 |