基本信息
源码名称:CZT变换(chirp z-transform)
源码大小:0.15M
文件格式:.rar
开发语言:C/C++
更新时间:2019-08-08
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍
CZT变换(chirp z-transform) 相比DFT,CZT是完成频谱细化的一种思路,本文主要记录CZT的C代码实现。




void CZT(comp* x, int  N, comp A, comp W, comp* xCZT, int  M)

{

    int i;

    int L;

 

    comp* h;

    comp* g;

    comp* pComp;

    comp tmp,tmp1,tmp2;

 

    i=1;

    do

    {

        i*=2;

    } while (i<N M-1);

    L = i;

 

    h = (comp*)calloc(L,sizeof(comp));

    g = (comp*)calloc(L,sizeof(comp));

    pComp = (comp*)calloc(L,sizeof(comp));

 

    for (i = 0; i<N; i )

    {

        tmp1 = cpow(A,-i);

        tmp2 = cpow(W, i*i/2.0);

        tmp = cmul(tmp1,tmp2);

        g[i] = cmul(tmp,x[i]);

    }

    for (i = N;i<L; i )

    {

        g[i] =czero();

    }

 

    FFT(g,L,1);

 

    for (i = 0;i<=M-1;i )

    {

        h[i] = cpow(W, -i*i/2.0);

    }

    for (i=M; i<=L-N;i )

    {

        h[i] =czero();

    }

    for (i = L-N 1; i<=L;i )

    {

        h[i] = cpow(W,-(L-i)*(L-i)/2.0);

    }