zoukankan      html  css  js  c++  java
  • DFT's C

    #include <stdio.h>
    #include <stdlib.h>
    #include<math.h>
    #define pi 3.1415926
    #define N 16//16个点
    
    typedef struct
    {
        double real,imag;
    } complex;//复数结构体
    
    complex dft_out[8020];//单个点计算k
    complex dft_one[8020];//单个点计算n
    double amp[N];//DFT的结果
    
    int main(void)
    {
        int n,k;
        double xn[N];
        int q;
        //制造输入序列
        for(q=0;q<N;q++)
        {
            xn[q]=q;
        }
        //将DFT前的序列输出
        printf("您将要DFT的序列为:
    ");
        for(q=0;q<N;q++)
        {
            printf("%f
    ",xn[q]);
        }
    
        //两级循环
        for(k=0; k<N; k++)//k循环
        {
            for(n=0; n<N; n++)//n循环
            {
                //xn=0.6*sin(n*pi*100)+0.6*sin(n*pi*1000);//原信号
                dft_one[n].real=xn[n]*cos(2*pi/N*n*k);//实部
                dft_one[n].imag=xn[n]*sin(2*pi/N*n*k);//虚部
                dft_out[k].real+=dft_one[n].real;
                dft_out[k].imag+=dft_one[n].imag;//
            }
            amp[k]=sqrt(dft_out[k].real*dft_out[k].real+dft_out[k].imag*dft_out[k].imag);//正余弦合并(根号下平方之和)
            printf("%d  %f
    ",k,amp[k]);
        }
        return 0;
    }

     参考:https://blog.csdn.net/yga_airspace/article/details/86561371

  • 相关阅读:
    Java 中的POJO和JavaBean 的区别
    设计模式的六大原则
    AOP
    Jetbrains 全家桶
    centos7 如何关闭防护墙
    Java 面试题常见范围
    putty readme
    单机环境
    flask-caching缓存
    1.restful 规范与APIView
  • 原文地址:https://www.cnblogs.com/ajiaoa/p/14274674.html
Copyright © 2011-2022 走看看