亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? fft8g_h.c

?? 幾個FFT算法
?? C
?? 第 1 頁 / 共 3 頁
字號:
/*Fast Fourier/Cosine/Sine Transform    dimension   :one    data length :power of 2    decimation  :frequency    radix       :8, 4, 2    data        :inplace    table       :not usefunctions    cdft: Complex Discrete Fourier Transform    rdft: Real Discrete Fourier Transform    ddct: Discrete Cosine Transform    ddst: Discrete Sine Transform    dfct: Cosine Transform of RDFT (Real Symmetric DFT)    dfst: Sine Transform of RDFT (Real Anti-symmetric DFT)function prototypes    void cdft(int, int, double *);    void rdft(int, int, double *);    void ddct(int, int, double *);    void ddst(int, int, double *);    void dfct(int, double *);    void dfst(int, double *);-------- Complex DFT (Discrete Fourier Transform) --------    [definition]        <case1>            X[k] = sum_j=0^n-1 x[j]*exp(2*pi*i*j*k/n), 0<=k<n        <case2>            X[k] = sum_j=0^n-1 x[j]*exp(-2*pi*i*j*k/n), 0<=k<n        (notes: sum_j=0^n-1 is a summation from j=0 to n-1)    [usage]        <case1>            cdft(2*n, 1, a);        <case2>            cdft(2*n, -1, a);    [parameters]        2*n            :data length (int)                        n >= 1, n = power of 2        a[0...2*n-1]   :input/output data (double *)                        input data                            a[2*j] = Re(x[j]),                             a[2*j+1] = Im(x[j]), 0<=j<n                        output data                            a[2*k] = Re(X[k]),                             a[2*k+1] = Im(X[k]), 0<=k<n    [remark]        Inverse of             cdft(2*n, -1, a);        is             cdft(2*n, 1, a);            for (j = 0; j <= 2 * n - 1; j++) {                a[j] *= 1.0 / n;            }        .-------- Real DFT / Inverse of Real DFT --------    [definition]        <case1> RDFT            R[k] = sum_j=0^n-1 a[j]*cos(2*pi*j*k/n), 0<=k<=n/2            I[k] = sum_j=0^n-1 a[j]*sin(2*pi*j*k/n), 0<k<n/2        <case2> IRDFT (excluding scale)            a[k] = (R[0] + R[n/2]*cos(pi*k))/2 +                    sum_j=1^n/2-1 R[j]*cos(2*pi*j*k/n) +                    sum_j=1^n/2-1 I[j]*sin(2*pi*j*k/n), 0<=k<n    [usage]        <case1>            rdft(n, 1, a);        <case2>            rdft(n, -1, a);    [parameters]        n              :data length (int)                        n >= 2, n = power of 2        a[0...n-1]     :input/output data (double *)                        <case1>                            output data                                a[2*k] = R[k], 0<=k<n/2                                a[2*k+1] = I[k], 0<k<n/2                                a[1] = R[n/2]                        <case2>                            input data                                a[2*j] = R[j], 0<=j<n/2                                a[2*j+1] = I[j], 0<j<n/2                                a[1] = R[n/2]    [remark]        Inverse of             rdft(n, 1, a);        is             rdft(n, -1, a);            for (j = 0; j <= n - 1; j++) {                a[j] *= 2.0 / n;            }        .-------- DCT (Discrete Cosine Transform) / Inverse of DCT --------    [definition]        <case1> IDCT (excluding scale)            C[k] = sum_j=0^n-1 a[j]*cos(pi*j*(k+1/2)/n), 0<=k<n        <case2> DCT            C[k] = sum_j=0^n-1 a[j]*cos(pi*(j+1/2)*k/n), 0<=k<n    [usage]        <case1>            ddct(n, 1, a);        <case2>            ddct(n, -1, a);    [parameters]        n              :data length (int)                        n >= 2, n = power of 2        a[0...n-1]     :input/output data (double *)                        output data                            a[k] = C[k], 0<=k<n    [remark]        Inverse of             ddct(n, -1, a);        is             a[0] *= 0.5;            ddct(n, 1, a);            for (j = 0; j <= n - 1; j++) {                a[j] *= 2.0 / n;            }        .-------- DST (Discrete Sine Transform) / Inverse of DST --------    [definition]        <case1> IDST (excluding scale)            S[k] = sum_j=1^n A[j]*sin(pi*j*(k+1/2)/n), 0<=k<n        <case2> DST            S[k] = sum_j=0^n-1 a[j]*sin(pi*(j+1/2)*k/n), 0<k<=n    [usage]        <case1>            ddst(n, 1, a);        <case2>            ddst(n, -1, a);    [parameters]        n              :data length (int)                        n >= 2, n = power of 2        a[0...n-1]     :input/output data (double *)                        <case1>                            input data                                a[j] = A[j], 0<j<n                                a[0] = A[n]                            output data                                a[k] = S[k], 0<=k<n                        <case2>                            output data                                a[k] = S[k], 0<k<n                                a[0] = S[n]    [remark]        Inverse of             ddst(n, -1, a);        is             a[0] *= 0.5;            ddst(n, 1, a);            for (j = 0; j <= n - 1; j++) {                a[j] *= 2.0 / n;            }        .-------- Cosine Transform of RDFT (Real Symmetric DFT) --------    [definition]        C[k] = sum_j=0^n a[j]*cos(pi*j*k/n), 0<=k<=n    [usage]        dfct(n, a);    [parameters]        n              :data length - 1 (int)                        n >= 2, n = power of 2        a[0...n]       :input/output data (double *)                        output data                            a[k] = C[k], 0<=k<=n    [remark]        Inverse of             a[0] *= 0.5;            a[n] *= 0.5;            dfct(n, a);        is             a[0] *= 0.5;            a[n] *= 0.5;            dfct(n, a);            for (j = 0; j <= n; j++) {                a[j] *= 2.0 / n;            }        .-------- Sine Transform of RDFT (Real Anti-symmetric DFT) --------    [definition]        S[k] = sum_j=1^n-1 a[j]*sin(pi*j*k/n), 0<k<n    [usage]        dfst(n, a);    [parameters]        n              :data length + 1 (int)                        n >= 2, n = power of 2        a[0...n-1]     :input/output data (double *)                        output data                            a[k] = S[k], 0<k<n                        (a[0] is used for work area)    [remark]        Inverse of             dfst(n, a);        is             dfst(n, a);            for (j = 1; j <= n - 1; j++) {                a[j] *= 2.0 / n;            }        .*/void cdft(int n, int isgn, double *a){    void bitrv2(int n, double *a);    void bitrv2conj(int n, double *a);    void cftfsub(int n, double *a);    void cftbsub(int n, double *a);        if (n > 4) {        if (isgn >= 0) {            bitrv2(n, a);            cftfsub(n, a);        } else {            bitrv2conj(n, a);            cftbsub(n, a);        }    } else if (n == 4) {        cftfsub(n, a);    }}void rdft(int n, int isgn, double *a){    void bitrv2(int n, double *a);    void cftfsub(int n, double *a);    void cftbsub(int n, double *a);    void rftfsub(int n, double *a);    void rftbsub(int n, double *a);    double xi;        if (isgn >= 0) {        if (n > 4) {            bitrv2(n, a);            cftfsub(n, a);            rftfsub(n, a);        } else if (n == 4) {            cftfsub(n, a);        }        xi = a[0] - a[1];        a[0] += a[1];        a[1] = xi;    } else {        a[1] = 0.5 * (a[0] - a[1]);        a[0] -= a[1];        if (n > 4) {            rftbsub(n, a);            bitrv2(n, a);            cftbsub(n, a);        } else if (n == 4) {            cftfsub(n, a);        }    }}void ddct(int n, int isgn, double *a){    void bitrv2(int n, double *a);    void cftfsub(int n, double *a);    void cftbsub(int n, double *a);    void rftfsub(int n, double *a);    void rftbsub(int n, double *a);    void dctsub(int n, double *a);    void dctsub4(int n, double *a);    int j;    double xr;        if (isgn < 0) {        xr = a[n - 1];        for (j = n - 2; j >= 2; j -= 2) {            a[j + 1] = a[j] - a[j - 1];            a[j] += a[j - 1];        }        a[1] = a[0] - xr;        a[0] += xr;        if (n > 4) {            rftbsub(n, a);            bitrv2(n, a);            cftbsub(n, a);        } else if (n == 4) {            cftfsub(n, a);        }    }    if (n > 4) {        dctsub(n, a);    } else {        dctsub4(n, a);    }    if (isgn >= 0) {        if (n > 4) {            bitrv2(n, a);            cftfsub(n, a);            rftfsub(n, a);        } else if (n == 4) {            cftfsub(n, a);        }        xr = a[0] - a[1];        a[0] += a[1];        for (j = 2; j < n; j += 2) {            a[j - 1] = a[j] - a[j + 1];            a[j] += a[j + 1];        }        a[n - 1] = xr;    }}void ddst(int n, int isgn, double *a){    void bitrv2(int n, double *a);    void cftfsub(int n, double *a);    void cftbsub(int n, double *a);    void rftfsub(int n, double *a);    void rftbsub(int n, double *a);    void dstsub(int n, double *a);    void dstsub4(int n, double *a);    int j;    double xr;        if (isgn < 0) {        xr = a[n - 1];        for (j = n - 2; j >= 2; j -= 2) {            a[j + 1] = -a[j] - a[j - 1];            a[j] -= a[j - 1];        }        a[1] = a[0] + xr;        a[0] -= xr;        if (n > 4) {            rftbsub(n, a);            bitrv2(n, a);            cftbsub(n, a);        } else if (n == 4) {            cftfsub(n, a);        }    }    if (n > 4) {        dstsub(n, a);    } else {        dstsub4(n, a);    }    if (isgn >= 0) {        if (n > 4) {            bitrv2(n, a);            cftfsub(n, a);            rftfsub(n, a);        } else if (n == 4) {            cftfsub(n, a);        }        xr = a[0] - a[1];        a[0] += a[1];        for (j = 2; j < n; j += 2) {            a[j - 1] = -a[j] - a[j + 1];            a[j] -= a[j + 1];        }        a[n - 1] = -xr;    }}void dfct(int n, double *a){    void ddct(int n, int isgn, double *a);    void bitrv1(int n, double *a);    int j, k, m, mh;    double xr, xi, yr, yi, an;        m = n >> 1;    for (j = 0; j < m; j++) {        k = n - j;        xr = a[j] + a[k];        a[j] -= a[k];        a[k] = xr;    }    an = a[n];    while (m >= 2) {        ddct(m, 1, a);        bitrv1(m, a);        mh = m >> 1;        xi = a[m];        a[m] = a[0];        a[0] = an - xi;        an += xi;        for (j = 1; j < mh; j++) {            k = m - j;            xr = a[m + k];            xi = a[m + j];            yr = a[j];            yi = a[k];            a[m + j] = yr;            a[m + k] = yi;            a[j] = xr - xi;            a[k] = xr + xi;        }        xr = a[mh];        a[mh] = a[m + mh];        a[m + mh] = xr;        m = mh;    }    xi = a[1];    a[1] = a[0];    a[0] = an + xi;    a[n] = an - xi;    bitrv1(n, a);}void dfst(int n, double *a){    void ddst(int n, int isgn, double *a);    void bitrv1(int n, double *a);    int j, k, m, mh;    double xr, xi, yr, yi;        m = n >> 1;    for (j = 1; j < m; j++) {        k = n - j;        xr = a[j] - a[k];        a[j] += a[k];        a[k] = xr;    }    a[0] = a[m];    while (m >= 2) {        ddst(m, 1, a);        bitrv1(m, a);        mh = m >> 1;        for (j = 1; j < mh; j++) {            k = m - j;            xr = a[m + k];            xi = a[m + j];            yr = a[j];            yi = a[k];            a[m + j] = yr;            a[m + k] = yi;            a[j] = xr + xi;            a[k] = xr - xi;        }        a[m] = a[0];        a[0] = a[m + mh];        a[m + mh] = a[mh];        m = mh;    }    a[1] = a[0];    a[0] = 0;    bitrv1(n, a);}/* -------- child routines -------- */#include <math.h>#ifndef M_PI_2#define M_PI_2      1.570796326794896619231321691639751442098584699687#endif#ifndef WR5000  /* cos(M_PI_2*0.5000) */#define WR5000      0.707106781186547524400844362104849039284835937688#endif#ifndef WR2500  /* cos(M_PI_2*0.2500) */#define WR2500      0.923879532511286756128183189396788286822416625863#endif#ifndef WI2500  /* sin(M_PI_2*0.2500) */#define WI2500      0.382683432365089771728459984030398866761344562485#endif#ifndef RDFT_LOOP_DIV  /* control of the RDFT's speed & tolerance */#define RDFT_LOOP_DIV 64#endif#ifndef DCST_LOOP_DIV  /* control of the DCT,DST's speed & tolerance */#define DCST_LOOP_DIV 64#endifvoid bitrv2(int n, double *a){    int j0, k0, j1, k1, l, m, i, j, k;    double xr, xi, yr, yi;        l = n >> 2;    m = 2;    while (m < l) {        l >>= 1;        m <<= 1;    }    if (m == l) {        j0 = 0;        for (k0 = 0; k0 < m; k0 += 2) {            k = k0;            for (j = j0; j < j0 + k0; j += 2) {                xr = a[j];                xi = a[j + 1];                yr = a[k];                yi = a[k + 1];                a[j] = yr;                a[j + 1] = yi;                a[k] = xr;                a[k + 1] = xi;                j1 = j + m;                k1 = k + 2 * m;                xr = a[j1];                xi = a[j1 + 1];                yr = a[k1];                yi = a[k1 + 1];                a[j1] = yr;                a[j1 + 1] = yi;                a[k1] = xr;                a[k1 + 1] = xi;                j1 += m;                k1 -= m;                xr = a[j1];                xi = a[j1 + 1];                yr = a[k1];                yi = a[k1 + 1];                a[j1] = yr;                a[j1 + 1] = yi;                a[k1] = xr;                a[k1 + 1] = xi;                j1 += m;                k1 += 2 * m;                xr = a[j1];                xi = a[j1 + 1];                yr = a[k1];                yi = a[k1 + 1];                a[j1] = yr;                a[j1 + 1] = yi;                a[k1] = xr;                a[k1 + 1] = xi;                for (i = n >> 1; i > (k ^= i); i >>= 1);            }            j1 = j0 + k0 + m;            k1 = j1 + m;            xr = a[j1];            xi = a[j1 + 1];            yr = a[k1];            yi = a[k1 + 1];            a[j1] = yr;            a[j1 + 1] = yi;            a[k1] = xr;            a[k1 + 1] = xi;            for (i = n >> 1; i > (j0 ^= i); i >>= 1);        }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
9191成人精品久久| 成人免费精品视频| 国产一区 二区 三区一级| 国产精品影视天天线| 91免费国产视频网站| 91精品国产综合久久久久久漫画 | 亚洲香蕉伊在人在线观| 爽爽淫人综合网网站| 国产一区激情在线| 色综合久久久网| 日韩写真欧美这视频| 国产精品美女一区二区在线观看| 一区二区三区欧美久久| 免费在线看成人av| www.综合网.com| 欧美一区二区三区免费在线看| 国产日韩欧美高清| 亚洲444eee在线观看| 国产91富婆露脸刺激对白| 欧美午夜免费电影| 国产丝袜在线精品| 午夜一区二区三区在线观看| 国产精品69毛片高清亚洲| 欧美亚洲高清一区二区三区不卡| 久久午夜免费电影| 亚洲大型综合色站| 成人久久久精品乱码一区二区三区| 欧美网站一区二区| 国产精品沙发午睡系列990531| 天堂av在线一区| 99精品久久只有精品| 精品久久久久av影院| 亚洲主播在线播放| 国产99精品国产| 日韩欧美一级在线播放| 亚洲一区二区三区四区在线免费观看 | 免费视频一区二区| 一本一道久久a久久精品| 26uuu另类欧美| 天堂蜜桃一区二区三区| 91老司机福利 在线| 国产欧美一区二区三区在线老狼| 亚洲成av人片在www色猫咪| 不卡一二三区首页| 久久久精品免费网站| 美女视频黄免费的久久| 欧美日韩在线综合| 一区二区三区 在线观看视频| 国产成人综合网| 精品三级在线看| 奇米精品一区二区三区在线观看一| 色婷婷亚洲综合| 亚洲欧洲99久久| 高清成人在线观看| xf在线a精品一区二区视频网站| 天堂资源在线中文精品| 在线观看成人小视频| 亚洲少妇中出一区| 成人av集中营| 欧美韩国日本一区| 国产91丝袜在线18| 亚洲国产精品t66y| 国产成人在线电影| 国产亚洲精品bt天堂精选| 久久66热re国产| 欧美成人高清电影在线| 全国精品久久少妇| 欧美一级夜夜爽| 日本午夜精品一区二区三区电影 | 亚洲一区二区三区四区五区黄| 99在线视频精品| 国产精品天天看| 国产999精品久久久久久| 国产视频一区在线播放| 国产麻豆一精品一av一免费 | 国产麻豆精品视频| 久久蜜桃一区二区| 国产.精品.日韩.另类.中文.在线.播放| 精品国产免费久久| 国产精品99久久久| 国产欧美一区二区三区网站| 成人午夜精品在线| 亚洲色图色小说| 欧美亚洲国产一区二区三区| 午夜欧美2019年伦理| 在线电影国产精品| 久久精品国产成人一区二区三区| 欧美大尺度电影在线| 韩国av一区二区三区四区| 久久久久国产精品麻豆ai换脸| 国产精品亚洲а∨天堂免在线| 国产欧美日韩三区| 色综合久久88色综合天天6| 亚洲国产欧美在线人成| 91精品国产入口| 久久国产欧美日韩精品| 国产欧美一区二区精品仙草咪| 成人免费毛片a| 一个色在线综合| 91精品国产91热久久久做人人| 久久97超碰国产精品超碰| 国产调教视频一区| 91久久一区二区| 日本sm残虐另类| 国产人成亚洲第一网站在线播放| 99久久伊人精品| 天堂在线一区二区| 国产人成一区二区三区影院| 日本丶国产丶欧美色综合| 日韩av中文在线观看| 久久久天堂av| 日本欧美一区二区三区| 亚洲国产精品影院| 欧美老肥妇做.爰bbww视频| 蜜桃传媒麻豆第一区在线观看| 久久色在线观看| 国产成人亚洲综合a∨婷婷图片| 中文字幕欧美日韩一区| 欧美日韩在线免费视频| 韩国中文字幕2020精品| 日韩毛片视频在线看| 欧美日韩精品一区二区| 国产精品一区二区男女羞羞无遮挡| 国产精品国产三级国产普通话99| 亚洲国产va精品久久久不卡综合| 97精品久久久午夜一区二区三区| 同产精品九九九| 国产精品拍天天在线| 欧美老肥妇做.爰bbww视频| 国产激情91久久精品导航| 亚洲国产欧美日韩另类综合| 久久亚洲二区三区| 欧美亚洲尤物久久| 国产精品一区二区久久精品爱涩 | youjizz久久| 欧美成人猛片aaaaaaa| av影院午夜一区| 久久不见久久见中文字幕免费| 亚洲免费在线播放| 国产婷婷色一区二区三区四区 | 亚洲国产精品久久人人爱蜜臀| 精品国产亚洲在线| 一区二区三区在线高清| 久久久99精品免费观看| 制服丝袜一区二区三区| 91免费国产在线观看| 国产精品一区二区在线播放| 天天av天天翘天天综合网| 国产精品久久久久毛片软件| 精品日韩av一区二区| 欧美日韩一级大片网址| 一本一道久久a久久精品综合蜜臀| 韩国精品一区二区| 日本不卡不码高清免费观看 | 在线播放91灌醉迷j高跟美女| av电影天堂一区二区在线| 国产综合色视频| 免费视频最近日韩| 亚洲成人动漫在线免费观看| 中文字幕中文字幕一区二区| 久久久欧美精品sm网站| 制服视频三区第一页精品| 在线免费观看日韩欧美| 99久久精品国产一区二区三区 | 欧美极品另类videosde| 欧美大片国产精品| 69成人精品免费视频| 欧美日韩精品免费观看视频| 懂色av噜噜一区二区三区av| 精品一区二区影视| 日韩电影免费在线| 天天做天天摸天天爽国产一区 | 欧美四级电影网| 粉嫩高潮美女一区二区三区| 免费观看日韩av| 亚洲一区二区三区在线播放| 久久精品亚洲一区二区三区浴池| 在线成人高清不卡| 91蜜桃传媒精品久久久一区二区| 精品在线观看免费| 男人的天堂久久精品| 一区二区三区日韩欧美| 国产精品久久免费看| 欧美一级国产精品| 欧美日韩精品一二三区| 91丝袜美女网| 成熟亚洲日本毛茸茸凸凹| 激情综合色播五月| 日韩高清在线观看| 亚洲成人动漫一区| 亚洲人亚洲人成电影网站色| 国产欧美精品区一区二区三区| 精品成人免费观看| 欧美一区二区人人喊爽| 欧美日产国产精品| 91麻豆精品国产91久久久资源速度 | 欧美成va人片在线观看| 日韩欧美国产综合| 精品国产亚洲一区二区三区在线观看| 精品少妇一区二区三区视频免付费 |